Commit before simplifying actions

This commit is contained in:
2026-04-29 20:58:13 +01:00
parent cfe34555b3
commit 199f1b11b5
6 changed files with 354 additions and 333 deletions
+2
View File
@@ -147,6 +147,8 @@ crMoveImpulses cr p = case crMvType cr of
MvWalking {} -> [MvTurnToward p, MvForward] MvWalking {} -> [MvTurnToward p, MvForward]
JitMvType {_mvTurnJit = x} -> [MvTurnToward p, MvForward, RandomTurn x] JitMvType {_mvTurnJit = x} -> [MvTurnToward p, MvForward, RandomTurn x]
StartStopMvType {} -> [MvTurnToward p, MvForward] StartStopMvType {} -> [MvTurnToward p, MvForward]
BeeMvType {} | cr ^?! crType . beeRandomMovement -> [MvForward]
BeeMvType {} -> [MvTurnToward p, MvForward]
performTurnToA :: Creature -> Point2 -> ActionUpdate performTurnToA :: Creature -> Point2 -> ActionUpdate
performTurnToA cr p performTurnToA cr p
+1 -1
View File
@@ -91,7 +91,7 @@ beeCrit =
defaultCreature defaultCreature
& crName .~ "beeCrit" & crName .~ "beeCrit"
& crHP .~ HP 100 & crHP .~ HP 100
& crType .~ BeeCrit 0 Nothing 0 0 0 & crType .~ BeeCrit 0 Nothing 0 0 0 False
& crFaction .~ ColorFaction yellow & crFaction .~ ColorFaction yellow
& crStance . carriage .~ Flying 15 & crStance . carriage .~ Flying 15
+5
View File
@@ -80,6 +80,11 @@ crMvForward' lw cr = case crMvType cr of
| otherwise = s | otherwise = s
in crMvBy (V2 speed 0) lw cr in crMvBy (V2 speed 0) lw cr
& crType . startStopMv %~ ((`mod` (n*2)) . (+1)) & crType . startStopMv %~ ((`mod` (n*2)) . (+1))
BeeMvType s _ n ->
let speed | cr ^?! crType . startStopMv > n = 0
| otherwise = s
in crMvBy (V2 speed 0) lw cr
& crType . startStopMv %~ ((`mod` (n*2)) . (+1))
NoMvType -> cr NoMvType -> cr
MvWalking s -> crMvBy (V2 s 0) lw cr MvWalking s -> crMvBy (V2 s 0) lw cr
+1 -1
View File
@@ -17,7 +17,7 @@ crMvType cr = case _crType cr of
BarrelCrit {} -> defaultAimMvType BarrelCrit {} -> defaultAimMvType
LampCrit {} -> defaultAimMvType LampCrit {} -> defaultAimMvType
SlimeCrit {} -> NoMvType SlimeCrit {} -> NoMvType
BeeCrit {} -> StartStopMvType 0.2 0.1 25 BeeCrit {} -> BeeMvType 0.2 0.1 25
HiveCrit{} -> NoMvType HiveCrit{} -> NoMvType
defaultAimMvType :: CrMvType defaultAimMvType :: CrMvType
+6
View File
@@ -36,6 +36,11 @@ data CrMvType
, _mvTurnSpeed :: Float , _mvTurnSpeed :: Float
, _mvPulseTime :: Int , _mvPulseTime :: Int
} }
| BeeMvType
{ _mvSpeed :: Float
, _mvTurnSpeed :: Float
, _mvPulseTime :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data Pulse = PulseStatus data Pulse = PulseStatus
@@ -86,6 +91,7 @@ data CreatureType
, _startStopMv :: Int , _startStopMv :: Int
, _beeAggro :: Int , _beeAggro :: Int
, _meleeCooldown :: Int , _meleeCooldown :: Int
, _beeRandomMovement :: Bool
} }
| HiveCrit | HiveCrit
{ _hiveChildren :: IS.IntSet { _hiveChildren :: IS.IntSet
+339 -331
View File
File diff suppressed because it is too large Load Diff