Files
loop/src/Dodge/Creature/ArmourChase.hs
T

52 lines
1.4 KiB
Haskell

module Dodge.Creature.ArmourChase (
armourChaseCrit,
flockArmourChaseCrit,
) where
import Control.Lens
import Dodge.Creature.ChaseCrit
import Dodge.Data.Creature
import Dodge.Data.FloatFunction
import Dodge.Default
import Dodge.Item.Consumable
import Dodge.Item.Equipment
import qualified IntMapHelp as IM
flockArmourChaseCrit :: Creature
flockArmourChaseCrit =
defaultCreature
{ _crName = "armourChaseCrit"
, _crHP = 300
, _crInv =
IM.fromList
[ (0, frontArmour)
, (1, medkit 200)
]
, _crActionPlan =
ActionPlan
{ _apImpulse = []
, _apAction = []
, _apStrategy = FollowImpulses
, _apGoal = [Kill 0]
}
, _crMeleeCooldown = 0
, _crGroup = ShieldGroup
, _crMvType = defaultChaseMvType
}
& crType . humanoidAI .~ FlockArmourChaseAI
armourChaseCrit :: Creature
armourChaseCrit =
chaseCrit
{ _crName = "armourChaseCrit"
, --, _crUpdate = defaultImpulsive []
_crInv =
IM.fromList
[ (0, frontArmour)
, (1, medkit 200)
]
, _crMvType = defaultChaseMvType{_mvTurnRad = FloatConst 0.05}
}
& crEquipment . at OnChest ?~ 0
& crInvEquipped . at 0 ?~ OnChest