Files
loop/src/Dodge/Data/CreatureEffect.hs
T
2025-10-15 20:40:16 +01:00

39 lines
1001 B
Haskell

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.CreatureEffect where
import Data.Aeson
import Data.Aeson.TH
data CrImp = NoCrImp | TurnTowardCr Float -- turn amount
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data WdCrBl
= WdCrTrue
| WdCrBlfromCrBl CrBl
| WdCrNegate WdCrBl
| WdCrLOSTarget
| WdCrSafeDistFromTarget Float
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrBl = CrCanShoot | CrIsAiming | CrIsAnimate
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrAc = CrTurnAround
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data CrWdAc
= CrWdBFSThenReturn Int
| ChooseMovementSpreadGun
| ChooseMovementLtAuto
deriving (Eq, Ord, Show, Read) --Generic, Flat)
deriveJSON defaultOptions ''CrImp
deriveJSON defaultOptions ''CrBl
deriveJSON defaultOptions ''WdCrBl
deriveJSON defaultOptions ''CrAc
deriveJSON defaultOptions ''CrWdAc