93 lines
2.2 KiB
Haskell
93 lines
2.2 KiB
Haskell
{-# LANGUAGE StrictData #-}
|
|
{-# LANGUAGE DeriveGeneric #-}
|
|
module Dodge.Data.Item.HeldUse where
|
|
import GHC.Generics
|
|
import Data.Aeson
|
|
import Dodge.Combine.Data
|
|
import Dodge.Data.CamouflageStatus
|
|
data HeldUse = HeldDoNothing
|
|
| HeldUseAmmoParams
|
|
| HeldOverNozzlesUseGasParams
|
|
| HeldPJCreation
|
|
| HeldPJCreationX Int
|
|
| HeldFireRemoteShell
|
|
| HeldExplodeRemoteShell Int Int
|
|
| HeldDetectorEffect Detector
|
|
| HeldTeslaArc
|
|
| HeldLaser
|
|
| HeldCircleLaser
|
|
| HeldDualLaser
|
|
| HeldTractor
|
|
| HeldForceField
|
|
| HeldShatter
|
|
deriving (Eq,Ord,Show,Read,Generic)
|
|
instance ToJSON HeldUse where
|
|
toEncoding = genericToEncoding defaultOptions
|
|
instance FromJSON HeldUse
|
|
data Cuse = CDoNothing
|
|
| CHeal Int
|
|
deriving (Eq,Ord,Show,Read,Generic)
|
|
instance ToJSON Cuse where
|
|
toEncoding = genericToEncoding defaultOptions
|
|
instance FromJSON Cuse
|
|
data Euse = EDoNothing
|
|
| EDetector Detector
|
|
| EMagShield
|
|
| EWristShield
|
|
| EHeadLamp
|
|
| ECamouflage CamouflageStatus
|
|
|
|
| EonWristShield
|
|
|
|
| EoffWristShield
|
|
deriving (Eq,Ord,Show,Read,Generic)
|
|
instance ToJSON Euse where
|
|
toEncoding = genericToEncoding defaultOptions
|
|
instance FromJSON Euse
|
|
data Luse = LDoNothing
|
|
| LRewind
|
|
| LShrink
|
|
| LBlink
|
|
| LUnsafeBlink
|
|
| LBoost
|
|
deriving (Eq,Ord,Show,Read,Generic)
|
|
instance ToJSON Luse where
|
|
toEncoding = genericToEncoding defaultOptions
|
|
instance FromJSON Luse
|
|
data HeldMod = HeldModNothing
|
|
| PoisonSprayerMod
|
|
| FlameSpitterMod
|
|
| FlameThrowerMod
|
|
| LauncherMod
|
|
| TeslaMod
|
|
| CircleLaserMod
|
|
| LasWideMod Int
|
|
| DualBeamMod
|
|
| LasMod
|
|
| LauncherXMod Int
|
|
| ShatterMod
|
|
| AmmoCheckMod
|
|
| AmmoUseCheckMod
|
|
| AmmoHammerTimeUseOneMod
|
|
| BangCaneMod
|
|
| VolleyGunMod
|
|
| AutoRifleMod
|
|
| BangRodMod
|
|
| ElephantGunMod
|
|
| AutoAmrMod
|
|
| MachineGunMod
|
|
| ModWithDirectedTeleport HeldMod
|
|
| BangStickMod
|
|
| PistolMod
|
|
| AutoPistolMod
|
|
| MachinePistolMod
|
|
| BurstRifleMod
|
|
| MiniGunMod Int
|
|
| SmgMod
|
|
| RevolverXMod
|
|
| BangConeMod
|
|
deriving (Eq,Ord,Show,Read,Generic)
|
|
instance ToJSON HeldMod where
|
|
toEncoding = genericToEncoding defaultOptions
|
|
instance FromJSON HeldMod
|