38 lines
959 B
Haskell
38 lines
959 B
Haskell
{-# 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
|
|
| CrOpenAutoDoor
|
|
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
|