From d3de40d432d89190c47036ee8ccd0c1b652ac7b9 Mon Sep 17 00:00:00 2001 From: justin Date: Fri, 6 Jun 2025 15:32:36 +0100 Subject: [PATCH] Add file --- src/Dodge/Creature/MoveType.hs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/Dodge/Creature/MoveType.hs diff --git a/src/Dodge/Creature/MoveType.hs b/src/Dodge/Creature/MoveType.hs new file mode 100644 index 000000000..ae4fdcf6e --- /dev/null +++ b/src/Dodge/Creature/MoveType.hs @@ -0,0 +1,32 @@ +module Dodge.Creature.MoveType (crMvType) where + +import Dodge.Data.FloatFunction +import Dodge.Data.Creature + +crMvType :: Creature -> CrMvType +crMvType cr = case _crType cr of + Avatar {_avMoveSpeed = s} -> MvWalking s + AvatarDead -> defaultAimMvType + ChaseCrit {} -> defaultChaseMvType + SwarmCrit -> defaultChaseMvType + AutoCrit -> defaultAimMvType + BarrelCrit {} -> defaultAimMvType + LampCrit {} -> defaultAimMvType + +defaultAimMvType :: CrMvType +defaultAimMvType = + CrMvType + { _mvSpeed = 3 + , _mvTurnRad = FloatConst 0.2 + , _mvTurnJit = 0.05 + , _mvAimSpeed = FloatAbsCheckGreaterLess (pi / 8) 0.2 0.01 + } + +defaultChaseMvType :: CrMvType +defaultChaseMvType = + CrMvType + { _mvSpeed = 2 + , _mvTurnRad = FloatAbsCheckGreaterLess (pi / 4) 0.2 0.05 + , _mvTurnJit = 0.2 + , _mvAimSpeed = FloatAbsCheckGreaterLess (pi / 8) 0.2 0.01 + }