106 lines
2.7 KiB
Haskell
106 lines
2.7 KiB
Haskell
module Dodge.Creature.ChaseCrit (
|
|
smallChaseCrit,
|
|
invisibleChaseCrit,
|
|
crabCrit,
|
|
chaseCrit,
|
|
hoverCrit,
|
|
slinkCrit,
|
|
slimeCrit,
|
|
beeCrit,
|
|
hiveCrit,
|
|
) where
|
|
|
|
import qualified Quaternion as Q
|
|
import Linear
|
|
import Dodge.Data.FloatFunction
|
|
import Control.Lens
|
|
import Dodge.Data.Creature
|
|
import Dodge.Default
|
|
--import Dodge.Item.Equipment
|
|
import Picture
|
|
|
|
smallChaseCrit :: Creature
|
|
smallChaseCrit =
|
|
chaseCrit
|
|
{ _crHP = HP 1
|
|
, _crInv = mempty
|
|
}
|
|
|
|
invisibleChaseCrit :: Creature
|
|
invisibleChaseCrit =
|
|
chaseCrit
|
|
-- & crInv . at 0 ?~ wristInvisibility
|
|
-- & crEquipment . at OnLeftWrist ?~ 0
|
|
|
|
chaseCrit :: Creature
|
|
chaseCrit =
|
|
defaultCreature
|
|
& crName .~ "chaseCrit"
|
|
& crHP .~ HP 150
|
|
& crFaction .~ ColorFaction green
|
|
|
|
crabCrit :: Creature
|
|
crabCrit = defaultCreature
|
|
& crName .~ "chaseCrit"
|
|
& crHP .~ HP 350
|
|
& crType .~ CrabCrit
|
|
{ _meleeCooldownL = 0
|
|
, _meleeCooldownR = 0
|
|
, _dodgeCooldown = 0
|
|
, _lFootPos = 0
|
|
, _rFootPos = 0
|
|
}
|
|
& crFaction .~ ColorFaction red
|
|
& crPerception . cpVision . viFOV .~ FloatFOV pi
|
|
|
|
slinkCrit :: Creature
|
|
slinkCrit = defaultCreature
|
|
& crName .~ "slinkCrit"
|
|
& crHP .~ HP 1000
|
|
& crType .~ SlinkCrit
|
|
{ _meleeCooldown = 0
|
|
, _slinkSpine = replicate 15 (V3 0 0 2, Q.axisAngle (V3 0 1 0) (pi/15))
|
|
, _slinkHeadPos = (V3 20 0 15, Q.axisAngle (V3 0 1 0) (pi/2))
|
|
}
|
|
& crFaction .~ ColorFaction red
|
|
& crPerception . cpVision . viFOV .~ FloatFOV pi
|
|
|
|
slimeCrit :: Creature
|
|
slimeCrit = defaultCreature
|
|
& crName .~ "slimeCrit"
|
|
& crHP .~ HP 1000
|
|
& crType .~ SlimeCrit r 0 0 (V2 r 0) False 0
|
|
& crFaction .~ ColorFaction (light green)
|
|
& crPerception . cpVision . viFOV .~ FloatFOV pi
|
|
& crActionPlan .~ SlimeIntelligence
|
|
& crStance . carriage .~ Crawling
|
|
where
|
|
r = 50
|
|
|
|
hoverCrit :: Creature
|
|
hoverCrit =
|
|
defaultCreature
|
|
& crName .~ "hoverCrit"
|
|
& crHP .~ HP 150
|
|
& crType .~ HoverCrit 0
|
|
& crFaction .~ ColorFaction blue
|
|
& crStance . carriage .~ Flying 15
|
|
|
|
beeCrit :: Creature
|
|
beeCrit =
|
|
defaultCreature
|
|
& crName .~ "beeCrit"
|
|
& crHP .~ HP 100
|
|
& crType .~ BeeCrit 0 Nothing 0 0
|
|
& crFaction .~ ColorFaction yellow
|
|
& crStance . carriage .~ Flying 15
|
|
|
|
hiveCrit :: Creature
|
|
hiveCrit =
|
|
defaultCreature
|
|
& crName .~ "hiveCrit"
|
|
& crHP .~ HP 100000
|
|
& crType .~ HiveCrit mempty 0
|
|
& crStance . carriage .~ Rooted
|
|
& crFaction .~ ColorFaction yellow
|