Add crab crit, rethink Action datatype slightly

This commit is contained in:
2026-04-07 15:29:02 +01:00
parent 35d169b585
commit f0e568e694
25 changed files with 606 additions and 465 deletions
+6 -5
View File
@@ -15,7 +15,7 @@ data ActionPlan
= Inanimate
| ActionPlan
{ -- _apImpulse :: [Impulse] -- done per frame
_apAction :: [Action] -- updated per frame, likely persist across frames
_apAction :: Action -- updated per frame, likely persist across frames
, _apStrategy :: Strategy -- current strategy
, _apGoal :: [Goal] -- particular ordered goals
}
@@ -68,8 +68,9 @@ data Action
, _targetSeenAt :: Point2
}
| PathTo { _pathToPoint :: Point2, _pathFailAction :: Action }
| EvadeAim {_enemyPos :: Point2, _enemyDir :: Float, _acTimer :: Int}
| TurnToPoint { _turnToPoint :: Point2 }
| ImpulsesList { _impulsesListList :: [[Impulse]] }
| ImpulsesList { _impulsesListList :: [[Impulse]], _acAction :: Action }
| DoImpulses { _doImpulsesList :: [Impulse] }
| WaitThen
{ _waitThenTimer :: Int
@@ -98,7 +99,7 @@ data Action
, _doActionWhileThenCondition :: WdCrBl
, _doActionWhileThenThen :: Action
}
| DoActions { _doActionsList :: [Action] }
-- | DoActions { _doActionsList :: [Action] }
| DoActionThen
{ _doActionThenFirst :: Action
, _doActionThenSecond :: Action
@@ -140,9 +141,9 @@ data Strategy
| CloseToMelee {_meleeTarget :: Int}
| StrategyActions Strategy [Action]
| GetTo Point2
| Reload
-- | Reload
| Flee
| MeleeStrike
-- | MeleeStrike
| Search
deriving (Eq, Ord, Show) --Generic, Flat)
--deriving (Eq, Ord, Show, Read) --Generic, Flat)
+5
View File
@@ -58,6 +58,11 @@ data CreatureType
, _footForward :: FootForward
, _strideAmount :: Float
}
| CrabCrit {_meleeCooldown :: Int
, _footForward :: FootForward
, _strideAmount :: Float
, _dodgeCooldown :: Int
}
| HoverCrit {_meleeCooldown :: Int}
| SwarmCrit
| AutoCrit