119 lines
3.0 KiB
Haskell
119 lines
3.0 KiB
Haskell
module Dodge.Default.Creature where
|
|
|
|
import Control.Lens
|
|
import qualified Data.Map.Strict as M
|
|
import Dodge.Data.Creature
|
|
import Dodge.Data.FloatFunction
|
|
import Geometry.Data
|
|
--import qualified IntMapHelp as IM
|
|
--import Picture
|
|
--import MaybeHelp
|
|
|
|
defaultCreature :: Creature
|
|
defaultCreature =
|
|
Creature
|
|
{ _crPos = V3 0 0 0
|
|
, _crOldPos = V3 0 0 0
|
|
, _crOldOldPos = V3 0 0 0
|
|
-- , _crZ = 0
|
|
-- , _crZVel = 0
|
|
, _crDir = 0
|
|
, _crMvDir = 0
|
|
-- , _crMvAim = 0
|
|
-- , _crTwist = 0
|
|
, _crID = 1
|
|
, _crType = ChaseCrit 0 LeftForward 0
|
|
-- , _crRad = 10
|
|
, _crHP = HP 100
|
|
-- , _crMaxHP = 150
|
|
, _crInv = mempty
|
|
, _crManipulation = Manipulator SelNothing
|
|
-- , _crInvCapacity = 25
|
|
, _crDamage = []
|
|
-- , _crCorpse = MakeDefaultCorpse
|
|
-- , _crMaterial = Flesh
|
|
, _crPain = 0
|
|
-- , _crInvEquipped = mempty
|
|
, _crEquipment = M.empty
|
|
-- , _crInvHotkeys = mempty
|
|
-- , _crHotkeys = M.empty
|
|
, _crStance =
|
|
Stance
|
|
{ _carriage = Walking
|
|
, _posture = AtEase
|
|
}
|
|
, _crVocalization = VocReady
|
|
, _crActionPlan = ActionPlan NoAction (StrategyActions WatchAndWait [StartSentinelPost]) [LiveLongAndProsper]
|
|
, _crPerception = defaultPerceptionState
|
|
, _crMemory = defaultCreatureMemory
|
|
, _crFaction = NoFaction
|
|
, _crIntention = defaultIntention
|
|
, _crGroup = LoneWolf
|
|
, _crName = "DEFAULTCRNAME"
|
|
-- , _crStatistics = CreatureStatistics 50 50 50
|
|
, _crDeathTimer = Nothing
|
|
, _crWallTouch = mempty
|
|
}
|
|
|
|
--defaultCreatureSkin :: CreatureType
|
|
--defaultCreatureSkin = Humanoid (greyN 0.9) (lightx4 green) (greyN 0.3) InanimateAI
|
|
|
|
defaultInanimate :: Creature
|
|
defaultInanimate = defaultCreature & crActionPlan .~ Inanimate
|
|
|
|
defaultCreatureMemory :: Memory
|
|
defaultCreatureMemory =
|
|
Memory
|
|
{ _soundsToInvestigate = []
|
|
, _nodesSearched = []
|
|
}
|
|
|
|
defaultInvSize :: Int
|
|
defaultInvSize = 20
|
|
|
|
defaultPerceptionState :: Perception
|
|
defaultPerceptionState =
|
|
Perception
|
|
{ _cpVigilance = Lethargic
|
|
, _cpAttention = AttentiveTo mempty
|
|
, _cpAwareness = mempty
|
|
, _cpVision = defaultVision
|
|
, _cpAudition = defaultAudition
|
|
}
|
|
|
|
defaultVision :: Vision
|
|
defaultVision =
|
|
Eyes
|
|
{ _viFOV = FloatFOV 0.8
|
|
, _viDist = FloatDistLinearNearFar 500 10 1
|
|
}
|
|
|
|
defaultAudition :: Audition
|
|
defaultAudition =
|
|
Ears
|
|
{ _auDist = FloatID
|
|
}
|
|
|
|
defaultIntention :: Intention
|
|
defaultIntention =
|
|
Intention
|
|
{ _targetCr = Nothing
|
|
, _mvToPoint = Nothing
|
|
, _viewPoint = Nothing
|
|
}
|
|
|
|
|
|
defaultAimingCrit :: Creature
|
|
defaultAimingCrit = defaultCreature
|
|
|
|
yourDefaultStrideLength :: Float
|
|
yourDefaultStrideLength = 35
|
|
|
|
--defaultState :: CreatureState
|
|
--defaultState =
|
|
-- CrSt
|
|
-- { _csDamage = []
|
|
---- , _csSpState = GenCr
|
|
---- , _csDropsOnDeath = DropAll
|
|
-- }
|