{-# 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