diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index 14cc31564..2f06c818e 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -25,7 +25,7 @@ import Linear -- note SwitchToItem doesn't necessarily update the root item correctly followImpulse :: Int -> World -> Impulse -> World followImpulse cid w = \case - UpdateRandGen -> w & randGen %~ (snd . (randomR (0::Int,0))) + UpdateRandGen -> w & randGen %~ (snd . randomR (0::Int,1)) ImpulseNothing -> w RandomImpulse rimp -> let (newimp, newgen) = runState (doRandImpulse rimp) (_randGen w) @@ -43,11 +43,8 @@ followImpulse cid w = \case ChangePosture post -> crup $ crStance . posture .~ post UseItem -> undefined -- SwitchToItem i -> crup $ crManipulation . manObject .~ SelectedItem (NInt i) (NInt i) mempty - Melee cid' -> - hitCr cid' $ - crup - ( crMvAbsolute (w ^. cWorld . lWorld) (10 *.* normalizeV (posFromID cid' -.- cpos)) . (crType . meleeCooldown .~ 20) - ) + Melee tid -> + hitCr tid $ crup $ meleeMovement w tid . (crType . meleeCooldown .~ 20) MeleeL cid' -> hitCrd (-pi/2) cid' $ crup @@ -100,6 +97,16 @@ followImpulse cid w = \case , Inertial 0 (posFromID i) (50 * unitVectorAtAngle (cr ^. crDir + a)) (CrMeleeO cid) ] +meleeMovement :: World -> Int -> Creature -> Creature +meleeMovement w tid cr = case cr ^. crType of + HoverCrit {} -> fromMaybe cr $ do + txy <- w ^? cWorld . lWorld . creatures . ix tid . crPos . _xy + return $ crMvAbsolute (w ^. cWorld . lWorld) (5 *^ normalizeV (cr ^. crPos . _xy - txy)) cr + ChaseCrit {} -> fromMaybe cr $ do + txy <- w ^? cWorld . lWorld . creatures . ix tid . crPos . _xy + return $ crMvAbsolute (w ^. cWorld . lWorld) (5 *^ normalizeV (txy - cr ^. crPos . _xy)) cr + _ -> cr + setBeeRandomMovement :: Int -> World -> World setBeeRandomMovement cid w = fromMaybe w $ do mff <- w ^? cWorld . lWorld . creatures . ix cid . crType . beeRandomMovement diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index 87035d180..0a2e0b7a7 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -28,20 +28,12 @@ p is the movement translation vector, will be made relative to creature directio crMvBy :: Point2 -> LWorld -> Creature -> Creature crMvBy p lw cr = crMvAbsolute lw (rotateV (_crDir cr) p) cr -crWalk :: - -- | Movement translation vector, will be made relative to creature direction - Point2 -> - LWorld -> - Creature -> - Creature +-- | p is the movement translation vector, made relative to creature direction +crWalk :: Point2 -> LWorld -> Creature -> Creature crWalk p lw cr = crWalkAbsolute lw (rotateV (_crDir cr) p) cr -crMvByNoStride :: - -- | Movement translation vector, will be made relative to creature direction - Point2 -> - LWorld -> - Creature -> - Creature +-- | p is the movement translation vector, made relative to creature direction +crMvByNoStride :: Point2 -> LWorld -> Creature -> Creature crMvByNoStride p lw cr = crMvAbsoluteNoStride lw (rotateV (_crDir cr) p) cr crMvAbsolute :: LWorld -> Point2 -> Creature -> Creature @@ -50,7 +42,7 @@ crMvAbsolute lw p' cr = & crPos . _xy +~ p & crMvDir .~ argV (p + cr ^. crOldPos . _xy - cr ^. crOldOldPos . _xy) where - p = strengthFactor (getCrMoveSpeed lw cr) *.* p' + p = strengthFactor (getCrMoveSpeed lw cr) *^ p' crWalkAbsolute :: LWorld -> Point2 -> Creature -> Creature crWalkAbsolute lw p' cr diff --git a/src/Dodge/Creature/Perception.hs b/src/Dodge/Creature/Perception.hs index d795147c0..e15a65ea0 100644 --- a/src/Dodge/Creature/Perception.hs +++ b/src/Dodge/Creature/Perception.hs @@ -132,14 +132,10 @@ decreaseAwareness (Cognizant 0) = Just $ Suspicious 1000 decreaseAwareness (Cognizant x) = Just $ Cognizant $ x - 50 {- | Given a fixed group of creatures, direct attention to those of them that - - are in view. +are in view. +The ints are ids of creatures that may attract this creature's attention -} -basicAttentionUpdate :: - -- | Creatures that may attract this creature's attention - [Int] -> - World -> - Creature -> - Creature +basicAttentionUpdate :: [Int] -> World -> Creature -> Creature basicAttentionUpdate cids w cr = cr & crPerception . cpAttention .~ AttentiveTo (IM.mapMaybe (newExtraAwareness cr w) $ IM.fromList $ zip cids cids) diff --git a/src/Dodge/Creature/ReaderUpdate.hs b/src/Dodge/Creature/ReaderUpdate.hs index 8c3735906..dfd5e1362 100644 --- a/src/Dodge/Creature/ReaderUpdate.hs +++ b/src/Dodge/Creature/ReaderUpdate.hs @@ -45,7 +45,7 @@ tryMeleeAttack cr tcr | _meleeCooldown (_crType cr) == 0 && Just (_crID tcr) == cr ^? crActionPlan . apStrategy . meleeTarget && dist tpos cpos < crRad (cr ^. crType) + crRad (tcr ^. crType) + 5 - && abs (_crDir cr - argV (tpos -.- cpos)) < pi / 4 = + && abs (_crDir cr - argV (tpos - cpos)) < pi / 4 = cr & crActionPlan . apAction .~ DoImpulses [Melee $ _crID tcr] `DoActionThen` DoReplicate 10 NoAction diff --git a/src/Dodge/Creature/Update.hs b/src/Dodge/Creature/Update.hs index 94dba678c..d6ae0dcd6 100644 --- a/src/Dodge/Creature/Update.hs +++ b/src/Dodge/Creature/Update.hs @@ -70,9 +70,8 @@ updateLivingCreature cr = case cr ^. crType of CrabCrit{} -> crUpdate cid . performActions cid . crabCritInternal cid AutoCrit{} -> crUpdate cid SwarmCrit{} -> crUpdate cid - HoverCrit{} -> \w -> - crUpdate cid . performActions cid . hoverCritHoverSound cr $ - over (cWorld . lWorld . creatures . ix cid) (hoverCritInternal w) w + HoverCrit{} -> crUpdate cid . performActions cid . hoverCritHoverSound cr . + updateHoverCrit cid SlinkCrit{} -> slinkCritUpdate cid SlimeCrit{} -> slimeCritUpdate cid BeeCrit{} -> crUpdate cid . performActions cid . updateBeeFromPheremones cr cid . updateBeeCrit cr cid @@ -151,6 +150,9 @@ updateAggroBee cr cid w -- do bees need to be able to see slime targets? -- if no path can be made, reset harvest action +-- this should all be simplified +-- should count how many are mounted on an individual slime, try for a different +-- slime if too many updateCalmBee :: Creature -> Int -> World -> World updateCalmBee cr cid w | Just hcr <- gethive @@ -160,7 +162,7 @@ updateCalmBee cr cid w | Just x <- cr ^? crType . beeSlime , x < 0.5 , Just ReturnToHive <- cr ^? crActionPlan . apStrategy - = w & tocr . crActionPlan . apAction .~ NoAction + = w & tocr . crActionPlan . apStrategy .~ Search | Just hcr <- gethive , Just _ <- cr ^? crStance . carriage . mountID , Just x <- cr ^? crType . beeSlime @@ -169,7 +171,7 @@ updateCalmBee cr cid w & tocr . crStance . carriage .~ Flying 0 & tocr . crActionPlan . apStrategy .~ ReturnToHive | Just mid <- cr ^? crStance . carriage . mountID - , mountshakeoff mid = w -- & tocr . crActionPlan . apStrategy .~ Search + , mountshakeoff mid = w & tocr . crStance . carriage .~ Flying 0 & tocr . crActionPlan . apStrategy .~ Search | Just hcr <- gethive @@ -193,11 +195,13 @@ updateCalmBee cr cid w & tocr . crActionPlan . apAction .~ NoAction | Just (tcr,_) <- gettarg = w & tocr . crActionPlan . apAction .~ PathTo (tcr ^. crPos . _xy) NoAction + | Just (SearchTimed 0) <- cr ^? crActionPlan . apStrategy = w & tocr . crActionPlan . apStrategy .~ Search | Just PathTo{} <- cr ^? crActionPlan . apAction = w + & tocr . crActionPlan . apStrategy . searchTimer %~ (max 0 . subtract 1) | otherwise = w & tocr . crActionPlan . apAction .~ PathTo (cxy + p) NoAction - & randGen .~ g - & tocr . crActionPlan . apStrategy .~ Search + & randGen .~ g + & tocr . crActionPlan . apStrategy .~ SearchTimed 200 where (p,g) = runState (randOnCirc 150) (w ^. randGen) cxy = cr ^. crPos . _xy diff --git a/src/Dodge/Data/ActionPlan.hs b/src/Dodge/Data/ActionPlan.hs index 78593529a..8c14b16fc 100644 --- a/src/Dodge/Data/ActionPlan.hs +++ b/src/Dodge/Data/ActionPlan.hs @@ -151,6 +151,7 @@ data Strategy | Flee -- | MeleeStrike | Search + | SearchTimed {_searchTimer :: Int} | ReturnToHive | HarvestFrom {_harvestTarget :: Int} | StrategyInt {_strategyInt :: Int} diff --git a/src/Dodge/Humanoid.hs b/src/Dodge/Humanoid.hs index 563fa2fda..f7104413a 100644 --- a/src/Dodge/Humanoid.hs +++ b/src/Dodge/Humanoid.hs @@ -1,35 +1,32 @@ module Dodge.Humanoid ( updateChaseCrit, crabCritInternal, - hoverCritInternal, + updateHoverCrit, ) where -import Data.Foldable import Dodge.Creature import Dodge.Data.World import LensHelp updateChaseCrit :: Int -> World -> World -updateChaseCrit cid w = - (tocr . crVocalization %~ updateVocTimer) - . (tocr . crType . meleeCooldown %~ max 0 . subtract 1) - . (tocr %~ searchIfDamaged) - . (tocr %~ targetYouWhenCognizant w) - . (tocr %~ perceptionUpdate [0] w) - . (tocr %~ chaseCritMv w) - . (tocr %~ setMvPosToTargetCr w) - . (tocr %~ setViewPos w) - . (tocr %~ overrideMeleeCloseTarget w) - . (tocr %~ doStrategyActions) - $ w +updateChaseCrit cid w = w + & (tocr %~ doStrategyActions) + & (tocr %~ overrideMeleeCloseTarget w) + & (tocr %~ setViewPos w) + & (tocr %~ setMvPosToTargetCr w) + & (tocr %~ chaseCritMv w) + & (tocr %~ perceptionUpdate [0] w) + & (tocr %~ targetYouWhenCognizant w) + & (tocr %~ searchIfDamaged) + & (tocr . crType . meleeCooldown %~ max 0 . subtract 1) + & (tocr . crVocalization %~ updateVocTimer) where tocr = cWorld . lWorld . creatures . ix cid - crabCritInternal :: Int -> World -> World crabCritInternal cid w = --- (crVocalization %~ updateVocTimer) - (tocr %~ (crType . meleeCooldownL %~ max 0 . subtract 1)) + -- (crVocalization %~ updateVocTimer) + (tocr %~ (crType . meleeCooldownL %~ max 0 . subtract 1)) . (tocr %~ (crType . meleeCooldownR %~ max 0 . subtract 1)) . (tocr %~ (crType . dodgeCooldown %~ max 0 . subtract 1)) . (tocr %~ searchIfDamaged) @@ -38,27 +35,25 @@ crabCritInternal cid w = . crabActionUpdate cid . (tocr %~ setMvPosToTargetCr w) . (tocr %~ setViewPos w) --- . overrideMeleeCloseTarget w + -- . overrideMeleeCloseTarget w $ (tocr %~ doStrategyActions) w where tocr = cWorld . lWorld . creatures . ix cid -hoverCritInternal :: World -> Creature -> Creature -hoverCritInternal w cr = - foldl' - (\c f -> f w c) - cr - [ const doStrategyActions - , overrideMeleeCloseTarget - , setViewPos - , setMvPosToTargetCr - , hoverCritMv - , perceptionUpdate [0] - , targetYouWhenCognizant - , const searchIfDamaged - , const (crType . meleeCooldown %~ max 0 . subtract 1) - , const (crVocalization %~ updateVocTimer) - ] +updateHoverCrit :: Int -> World -> World +updateHoverCrit cid w = w + & tocr %~ doStrategyActions + & tocr %~ overrideMeleeCloseTarget w + & tocr %~ setViewPos w + & tocr %~ setMvPosToTargetCr w + & tocr %~ hoverCritMv w + & tocr %~ perceptionUpdate [0] w + & tocr %~ targetYouWhenCognizant w + & tocr %~ searchIfDamaged + & tocr . crType . meleeCooldown %~ (max 0 . subtract 1) + & tocr . crVocalization %~ updateVocTimer + where + tocr = cWorld . lWorld . creatures . ix cid updateVocTimer :: Vocalization -> Vocalization updateVocTimer VocTimer{_vcTime = x, _vcMaxTime = y} | x < y = VocTimer (x + 1) y diff --git a/src/Dodge/TestString.hs b/src/Dodge/TestString.hs index f4d133001..2053d892e 100644 --- a/src/Dodge/TestString.hs +++ b/src/Dodge/TestString.hs @@ -43,7 +43,7 @@ tocrs :: (IM.IntMap Creature tocrs = uvWorld . cWorld . lWorld . creatures testStringInit :: Universe -> [String] -testStringInit u = u ^.. tocrs . each . crActionPlan . apStrategy . to show +testStringInit _ = mempty -- u ^.. tocrs . each . crActionPlan . apStrategy . to show -- u ^.. tocrs . ix 1 . crPos . _xy . to show -- <> u ^.. tocrs . ix 1 . crType . slimeCompression . to show -- <> u ^.. tocrs . ix 1 . crType . slimeCompression . to norm . to show diff --git a/tags b/tags index 88fd6fefc..ebfefc689 100644 --- a/tags +++ b/tags @@ -12,7 +12,7 @@ .++~ src/LensHelp.hs 33;" o .+.+~ src/LensHelp.hs 23;" o .:~ src/LensHelp.hs 14;" o -<$> src/Dodge/Data/ActionPlan.hs 164;" o +<$> src/Dodge/Data/ActionPlan.hs 168;" o <$> src/Dodge/Data/CWorld.hs 52;" o <$> src/Dodge/Data/Camera.hs 38;" o <$> src/Dodge/Data/Creature.hs 93;" o @@ -36,19 +36,19 @@ AUTOPISTOL src/Dodge/Data/Item/Combine.hs 148;" C AUTORIFLE src/Dodge/Data/Item/Combine.hs 157;" C AZURE src/Color/Data.hs 20;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 30;" C -Action src/Dodge/Data/ActionPlan.hs 70;" t +Action src/Dodge/Data/ActionPlan.hs 71;" t ActionPlan src/Dodge/Data/ActionPlan.hs 14;" t ActionPlan src/Dodge/Data/ActionPlan.hs 17;" C ActionUpdate src/Dodge/Creature/Action.hs 51;" t AddGoal src/Dodge/Data/ActionPlan.hs 48;" C -AimAt src/Dodge/Data/ActionPlan.hs 71;" C +AimAt src/Dodge/Data/ActionPlan.hs 72;" C AimStance src/Dodge/Data/AimStance.hs 10;" t Aiming src/Dodge/Data/Creature/Stance.hs 38;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C -AllRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C +AllRoomClipBoundaries src/Dodge/Data/Config.hs 124;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 18;" C -Ambush src/Dodge/Data/ActionPlan.hs 136;" C +Ambush src/Dodge/Data/ActionPlan.hs 137;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 34;" C AmmoExtractPosition src/Dodge/Data/Muzzle.hs 21;" t AmmoMagSF src/Dodge/Data/ComposedItem.hs 25;" C @@ -59,7 +59,6 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 33;" C AmmoPerShot src/Dodge/Data/Muzzle.hs 62;" t AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 32;" C AmmoType src/Dodge/Data/AmmoType.hs 8;" t -ArbitraryAction src/Dodge/Data/ActionPlan.hs 125;" C ArcNodeType src/Dodge/Data/LWorld.hs 160;" t ArcShad src/Picture/Data.hs 33;" C ArcStep src/Dodge/Data/ArcStep.hs 12;" t @@ -215,7 +214,7 @@ ChasmObstacle src/Dodge/Data/PathGraph.hs 51;" C ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C Circ_collision_test src/Dodge/Data/Config.hs 99;" C Climate src/Dodge/Data/Scenario.hs 32;" C -CloseToMelee src/Dodge/Data/ActionPlan.hs 146;" C +CloseToMelee src/Dodge/Data/ActionPlan.hs 147;" C Close_shape_culling src/Dodge/Data/Config.hs 93;" C Cloud src/Dodge/Data/Cloud.hs 13;" t CloudType src/Dodge/Data/Cloud.hs 21;" t @@ -274,8 +273,6 @@ CrMvType src/Dodge/Data/Creature/Misc.hs 25;" t CrOpenAutoDoor src/Dodge/Data/CreatureEffect.hs 21;" C CrSound src/Dodge/Data/SoundOrigin.hs 15;" C CrTurnAround src/Dodge/Data/CreatureEffect.hs 24;" C -CrWdAc src/Dodge/Data/CreatureEffect.hs 27;" t -CrWdBFSThenReturn src/Dodge/Data/CreatureEffect.hs 28;" C CrWeaponFailSound src/Dodge/Data/SoundOrigin.hs 21;" C CrWeaponO src/Dodge/Data/Damage.hs 33;" C CrWeaponSound src/Dodge/Data/SoundOrigin.hs 19;" C @@ -342,17 +339,17 @@ DisplayTerminal src/Dodge/Data/HUD.hs 27;" C Display_debug src/Dodge/Data/Config.hs 79;" C Distortion src/Dodge/Data/Distortion.hs 11;" t DivineRetribution src/Dodge/Data/Scenario.hs 35;" C -DoActionIf src/Dodge/Data/ActionPlan.hs 93;" C -DoActionIfElse src/Dodge/Data/ActionPlan.hs 97;" C -DoActionThen src/Dodge/Data/ActionPlan.hs 108;" C -DoActionWhile src/Dodge/Data/ActionPlan.hs 84;" C -DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 102;" C -DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 88;" C -DoImpulses src/Dodge/Data/ActionPlan.hs 79;" C -DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 127;" C +DoActionIf src/Dodge/Data/ActionPlan.hs 94;" C +DoActionIfElse src/Dodge/Data/ActionPlan.hs 98;" C +DoActionThen src/Dodge/Data/ActionPlan.hs 109;" C +DoActionWhile src/Dodge/Data/ActionPlan.hs 85;" C +DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 103;" C +DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 89;" C +DoImpulses src/Dodge/Data/ActionPlan.hs 80;" C +DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 128;" C DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 18;" C -DoReplicate src/Dodge/Data/ActionPlan.hs 112;" C -DoReplicatePartial src/Dodge/Data/ActionPlan.hs 116;" C +DoReplicate src/Dodge/Data/ActionPlan.hs 113;" C +DoReplicatePartial src/Dodge/Data/ActionPlan.hs 117;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C Door src/Dodge/Data/Door.hs 29;" t DoorDoNothing src/Dodge/Data/Door.hs 45;" C @@ -360,7 +357,7 @@ DoorLerp src/Dodge/Data/Door.hs 46;" C DoorLerpWithTimer src/Dodge/Data/Door.hs 47;" C DoorPart src/Dodge/Data/Wall/Structure.hs 13;" C DoorUpdate src/Dodge/Data/Door.hs 44;" t -DoubleRes src/Dodge/Data/Config.hs 113;" C +DoubleRes src/Dodge/Data/Config.hs 114;" C DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 9;" t DrawForceField src/Dodge/Data/Wall.hs 37;" C DrawnWall src/Dodge/Data/Wall.hs 33;" C @@ -379,7 +376,7 @@ Ears src/Dodge/Data/Creature/Perception.hs 45;" C East src/Dodge/Data/CardinalPoint.hs 8;" C East8 src/Dodge/Data/CardinalPoint.hs 30;" C EdgeObstacle src/Dodge/Data/PathGraph.hs 49;" t -EighthRes src/Dodge/Data/Config.hs 113;" C +EighthRes src/Dodge/Data/Config.hs 114;" C Eldritch src/Dodge/Data/Scenario.hs 34;" C ElectricSensor src/Dodge/Data/Machine/Sensor.hs 14;" C ElectricSpark src/Dodge/Data/Spark.hs 19;" C @@ -402,7 +399,7 @@ EquipmentAllocation src/Dodge/Data/RightButtonOptions.hs 17;" t EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C Escape src/Dodge/Data/Scenario.hs 10;" C Essential src/Shape/Data.hs 30;" C -EvadeAim src/Dodge/Data/ActionPlan.hs 76;" C +EvadeAim src/Dodge/Data/ActionPlan.hs 77;" C ExamineInventory src/Dodge/Data/HUD.hs 16;" C Explore src/Dodge/Data/Scenario.hs 4;" C Explosion src/Dodge/Data/SoundOrigin.hs 39;" C @@ -441,7 +438,7 @@ FlameSound src/Dodge/Data/SoundOrigin.hs 29;" C FlameletBall src/Dodge/Data/EnergyBall/Type.hs 12;" C Flamer src/Dodge/Data/SoundOrigin.hs 27;" C Flaming src/Dodge/Data/Damage.hs 21;" C -Flank src/Dodge/Data/ActionPlan.hs 135;" C +Flank src/Dodge/Data/ActionPlan.hs 136;" C FlareType src/Dodge/Data/Muzzle.hs 28;" t FlashBall src/Dodge/Data/EnergyBall/Type.hs 15;" C Flashing src/Dodge/Data/Damage.hs 23;" C @@ -449,7 +446,7 @@ FlatFaces src/Shape/Data.hs 12;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 14;" C FlechetteTrajectory src/Dodge/Data/Bullet.hs 44;" C FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 51;" C -Flee src/Dodge/Data/ActionPlan.hs 150;" C +Flee src/Dodge/Data/ActionPlan.hs 151;" C Flesh src/Dodge/Data/Material.hs 17;" C FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 14;" C FloatBO src/Shader/Data.hs 85;" t @@ -463,14 +460,14 @@ Floating src/Dodge/Data/Creature/Stance.hs 26;" C Floor src/Data/Tile.hs 11;" t FloorItem src/Dodge/Data/FloorItem.hs 11;" t Flying src/Dodge/Data/Creature/Stance.hs 27;" C -FollowImpulses src/Dodge/Data/ActionPlan.hs 140;" C +FollowImpulses src/Dodge/Data/ActionPlan.hs 141;" C FootForward src/Dodge/Data/Creature/Stance.hs 35;" t FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" C ForceField src/Dodge/Data/Material.hs 19;" C ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 12;" t FromEdge src/Dodge/Data/Room.hs 53;" C -FullRes src/Dodge/Data/Config.hs 113;" C +FullRes src/Dodge/Data/Config.hs 114;" C FullShadowFidelity src/Shape/Data.hs 20;" C FullSize src/Dodge/Data/Item/Params.hs 26;" C FullyVisible src/Dodge/Data/CamouflageStatus.hs 6;" C @@ -499,8 +496,8 @@ GenFloat src/Dodge/Data/GenFloat.hs 9;" t GenParams src/Dodge/Data/GenParams.hs 13;" t GenWorld src/Dodge/Data/GenWorld.hs 24;" t GenericFaction src/Dodge/Data/Creature/State.hs 13;" C -GeoObjShads src/Dodge/Data/Config.hs 117;" C -GetTo src/Dodge/Data/ActionPlan.hs 148;" C +GeoObjShads src/Dodge/Data/Config.hs 118;" C +GetTo src/Dodge/Data/ActionPlan.hs 149;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C Gib src/Dodge/Data/Prop.hs 22;" C Gibbed src/Dodge/Data/Creature.hs 68;" C @@ -508,7 +505,7 @@ GibsDeath src/Dodge/Data/Creature.hs 70;" C Glass src/Dodge/Data/Material.hs 14;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C GlassDebris src/Dodge/Data/Prop.hs 25;" C -Goal src/Dodge/Data/ActionPlan.hs 157;" t +Goal src/Dodge/Data/ActionPlan.hs 161;" t GoesOnBack src/Dodge/Data/Equipment/Misc.hs 12;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 11;" C GoesOnHead src/Dodge/Data/Equipment/Misc.hs 10;" C @@ -532,10 +529,10 @@ HOMINGMODULE src/Dodge/Data/Item/Combine.hs 102;" C HOSE src/Dodge/Data/Item/Combine.hs 55;" C HP src/Dodge/Data/Creature.hs 64;" C HUD src/Dodge/Data/HUD.hs 29;" t -HalfRes src/Dodge/Data/Config.hs 113;" C +HalfRes src/Dodge/Data/Config.hs 114;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C HardQuit src/Dodge/Data/Universe.hs 68;" C -HarvestFrom src/Dodge/Data/ActionPlan.hs 153;" C +HarvestFrom src/Dodge/Data/ActionPlan.hs 156;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeldItemType src/Dodge/Data/Item/Combine.hs 141;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 15;" C @@ -579,7 +576,7 @@ Important src/Shape/Data.hs 31;" C Impulse src/Dodge/Data/ActionPlan.hs 26;" t ImpulseNothing src/Dodge/Data/ActionPlan.hs 50;" C ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" C -ImpulsesList src/Dodge/Data/ActionPlan.hs 78;" C +ImpulsesList src/Dodge/Data/ActionPlan.hs 79;" C InDivineZone src/Dodge/Data/Scenario.hs 22;" C InDream src/Dodge/Data/Scenario.hs 19;" C InInv src/Dodge/Data/Item/Location.hs 29;" C @@ -600,7 +597,7 @@ Institution src/Dodge/Data/Scenario.hs 42;" t Int2 src/Geometry/Data.hs 21;" t IntID src/Dodge/Data/Universe.hs 120;" t Intention src/Dodge/Data/Creature.hs 72;" t -IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C +IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 124;" C IntroScanSF src/Dodge/Data/ComposedItem.hs 22;" C IntroScanType src/Dodge/Data/Item/Combine.hs 45;" t InvInt src/Dodge/Data/Item/Location.hs 16;" t @@ -610,7 +607,7 @@ InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 61;" C InventoryHeadSI src/Dodge/Data/SelectionList.hs 60;" C InventoryPathing src/Dodge/Data/Item/Combine.hs 39;" t InventorySound src/Dodge/Data/SoundOrigin.hs 11;" C -Investigate src/Dodge/Data/ActionPlan.hs 142;" C +Investigate src/Dodge/Data/ActionPlan.hs 143;" C Invisible src/Dodge/Data/CamouflageStatus.hs 7;" C InwardShockwave src/Dodge/Data/Shockwave.hs 13;" C IsolationUnitSS src/Dodge/Data/Scenario.hs 101;" C @@ -640,7 +637,7 @@ JoystickSF src/Dodge/Data/ComposedItem.hs 27;" C Just' src/MaybeHelp.hs 11;" C JustStartedPlaying src/Sound/Data.hs 22;" C KEYCARD src/Dodge/Data/Item/Combine.hs 178;" C -Kill src/Dodge/Data/ActionPlan.hs 159;" C +Kill src/Dodge/Data/ActionPlan.hs 163;" C LASER src/Dodge/Data/Item/Combine.hs 35;" C LDP src/Dodge/Data/SelectionList.hs 14;" C LDParams src/Dodge/Data/SelectionList.hs 14;" t @@ -669,7 +666,7 @@ LaundrySS src/Dodge/Data/Scenario.hs 115;" C LayVars src/Dodge/Data/MetaTree.hs 30;" C Layer src/Picture/Data.hs 20;" t LayoutVars src/Dodge/Data/MetaTree.hs 30;" t -LeadTarget src/Dodge/Data/ActionPlan.hs 121;" C +LeadTarget src/Dodge/Data/ActionPlan.hs 122;" C LeftForward src/Dodge/Data/Creature/Stance.hs 35;" C LeftwardDT src/Dodge/Data/DoubleTree.hs 27;" C Lethargic src/Dodge/Data/Creature/Perception.hs 53;" C @@ -683,7 +680,7 @@ LimitedBreathableAtmosphere src/Dodge/Data/Scenario.hs 38;" C LimitedFood src/Dodge/Data/Scenario.hs 39;" C LimitedWater src/Dodge/Data/Scenario.hs 40;" C LinearShockwave src/Dodge/Data/LinearShockwave.hs 11;" t -LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 158;" C +LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 162;" C LivingComplex src/Dodge/Data/Scenario.hs 68;" C LoadReady src/Dodge/Data/Universe.hs 101;" C LoadWaiting src/Dodge/Data/Universe.hs 100;" C @@ -693,8 +690,8 @@ LoadingScreen src/Dodge/Data/Universe.hs 93;" C LocDT src/Dodge/Data/DoubleTree.hs 42;" C LocationDT src/Dodge/Data/DoubleTree.hs 42;" t LoneWolf src/Dodge/Data/Creature/State.hs 24;" C -LookAround src/Dodge/Data/ActionPlan.hs 144;" C -Lure src/Dodge/Data/ActionPlan.hs 137;" C +LookAround src/Dodge/Data/ActionPlan.hs 145;" C +Lure src/Dodge/Data/ActionPlan.hs 138;" C MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 147;" C MAGENTA src/Color/Data.hs 17;" C MAGNET src/Dodge/Data/Item/Combine.hs 69;" C @@ -835,7 +832,7 @@ NewInt src/NewInt.hs 16;" t NewIntMap src/NewInt.hs 22;" t NewIntSet src/NewInt.hs 19;" t NewSideEffect src/Dodge/Data/Universe.hs 63;" C -NoAction src/Dodge/Data/ActionPlan.hs 122;" C +NoAction src/Dodge/Data/ActionPlan.hs 123;" C NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C NoBeamCombine src/Dodge/Data/Beam.hs 41;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -849,17 +846,17 @@ NoItTargeting src/Dodge/Data/Item.hs 44;" C NoItemScroll src/Dodge/Data/Item.hs 39;" C NoItemZone src/Dodge/Data/Machine/Sensor.hs 31;" C NoLightFlare src/Dodge/Data/Muzzle.hs 31;" C -NoLighting src/Dodge/Data/Config.hs 120;" C +NoLighting src/Dodge/Data/Config.hs 121;" C NoMouseContext src/Dodge/Data/Input.hs 14;" C NoMvType src/Dodge/Data/Creature/Misc.hs 26;" C -NoObjShads src/Dodge/Data/Config.hs 118;" C +NoObjShads src/Dodge/Data/Config.hs 119;" C NoParams src/Dodge/Data/Item/Params.hs 13;" C NoRightButtonState src/Dodge/Data/RightButtonOptions.hs 14;" C -NoRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C +NoRoomClipBoundaries src/Dodge/Data/Config.hs 124;" C NoSF src/Dodge/Data/ComposedItem.hs 30;" C NoSIDisplayMod src/Dodge/Data/SelectionList.hs 57;" C NoShadowFidelity src/Shape/Data.hs 21;" C -NoShadows src/Dodge/Data/Config.hs 119;" C +NoShadows src/Dodge/Data/Config.hs 120;" C NoSoundFilter src/Dodge/Data/WorldEffect.hs 23;" C NoSubInventory src/Dodge/Data/HUD.hs 15;" C NoTrigger src/Dodge/Data/TriggerType.hs 11;" C @@ -993,9 +990,9 @@ PathBetweenDebugV2s src/Dodge/Data/Universe.hs 54;" C PathBetweenLeftRightClick src/Dodge/Data/Universe.hs 53;" C PathFromEdge src/Dodge/Data/Room.hs 81;" t PathShowType src/Dodge/Data/Universe.hs 52;" t -PathTo src/Dodge/Data/ActionPlan.hs 75;" C +PathTo src/Dodge/Data/ActionPlan.hs 76;" C Pathing src/Dodge/Data/Config.hs 90;" C -Patrol src/Dodge/Data/ActionPlan.hs 138;" C +Patrol src/Dodge/Data/ActionPlan.hs 139;" C PauseTimeMessage src/Dodge/Data/World.hs 88;" C PausedTimeFlow src/Dodge/Data/World.hs 84;" C Payload src/Dodge/Data/Payload.hs 9;" t @@ -1081,7 +1078,7 @@ PutWall src/Dodge/Data/GenWorld.hs 53;" C PutWorldUpdate src/Dodge/Data/GenWorld.hs 57;" C Pyroelectric src/Dodge/Data/Material.hs 22;" C QFloat src/Geometry/Data.hs 50;" t -QuarterRes src/Dodge/Data/Config.hs 113;" C +QuarterRes src/Dodge/Data/Config.hs 114;" C QuicksaveSlot src/Dodge/Data/SaveSlot.hs 8;" C RAM src/Dodge/Data/Item/Combine.hs 75;" C RCommands src/Dodge/Terminal.hs 165;" C @@ -1101,9 +1098,9 @@ RProps src/Dodge/Layout/Generate.hs 14;" C RadarBlip src/Dodge/Data/RadarBlip.hs 12;" t RadarSweep src/Dodge/Data/RadarSweep.hs 17;" t RadialDistortion src/Dodge/Data/Distortion.hs 11;" C -RandImpulse src/Dodge/Data/ActionPlan.hs 54;" t -RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 56;" C -RandImpulseList src/Dodge/Data/ActionPlan.hs 55;" C +RandImpulse src/Dodge/Data/ActionPlan.hs 55;" t +RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 57;" C +RandImpulseList src/Dodge/Data/ActionPlan.hs 56;" C RandPS src/Dodge/Data/GenWorld.hs 55;" C RandomImpulse src/Dodge/Data/ActionPlan.hs 33;" C RandomTurn src/Dodge/Data/ActionPlan.hs 32;" C @@ -1123,12 +1120,13 @@ ReplaceEquipment src/Dodge/Data/RightButtonOptions.hs 29;" C RequireDeadCreatures src/Dodge/Data/Machine/Sensor.hs 36;" C RequireEquipment src/Dodge/Data/Machine/Sensor.hs 35;" C RequireHealth src/Dodge/Data/Machine/Sensor.hs 34;" C -ResFactor src/Dodge/Data/Config.hs 113;" t +ResFactor src/Dodge/Data/Config.hs 114;" t ResearchFacility src/Dodge/Data/Scenario.hs 62;" C ResourceFailure src/Dodge/Data/Scenario.hs 29;" C RespawnDelay src/Dodge/Data/World.hs 66;" C RetailFacility src/Dodge/Data/Scenario.hs 67;" C RetiredProjectile src/Dodge/Data/Projectile.hs 38;" C +ReturnToHive src/Dodge/Data/ActionPlan.hs 155;" C Revenge src/Dodge/Data/Scenario.hs 6;" C RewindLeftClick src/Dodge/Data/World.hs 80;" C RezBaySS src/Dodge/Data/Scenario.hs 105;" C @@ -1140,7 +1138,7 @@ RocketHoming src/Dodge/Data/Projectile.hs 41;" t RocketSmoke src/Dodge/Data/Projectile.hs 54;" t RocketSmoke src/Dodge/Data/Cloud.hs 23;" C Room src/Dodge/Data/GenWorld.hs 128;" t -RoomClipping src/Dodge/Data/Config.hs 123;" t +RoomClipping src/Dodge/Data/Config.hs 124;" t RoomInt src/Dodge/Tree/Shift.hs 27;" t RoomLink src/Dodge/Data/Room.hs 24;" t RoomLinkType src/Dodge/Data/Room.hs 47;" t @@ -1179,7 +1177,8 @@ SaveSlotNum src/Dodge/Data/SaveSlot.hs 10;" C Scope src/Dodge/Data/Item/Scope.hs 11;" t ScreenLayer src/Dodge/Data/Universe.hs 81;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t -Search src/Dodge/Data/ActionPlan.hs 152;" C +Search src/Dodge/Data/ActionPlan.hs 153;" C +SearchTimed src/Dodge/Data/ActionPlan.hs 154;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 25;" t SeeAbove src/Dodge/Data/Wall.hs 32;" C @@ -1198,16 +1197,17 @@ SelfTree src/Dodge/Data/MetaTree.hs 21;" t SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SensorType src/Dodge/Data/Machine/Sensor.hs 12;" t SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 30;" C -SentinelAt src/Dodge/Data/ActionPlan.hs 160;" C +SentinelAt src/Dodge/Data/ActionPlan.hs 164;" C +SetBeeRandomMovement src/Dodge/Data/ActionPlan.hs 52;" C SetLSCol src/Dodge/Data/WorldEffect.hs 28;" C -SetStrategyAction src/Dodge/Data/ActionPlan.hs 147;" C +SetStrategyAction src/Dodge/Data/ActionPlan.hs 148;" C SetTrigger src/Dodge/Data/WorldEffect.hs 27;" C SetTriggerAndSetLSCol src/Dodge/Data/WorldEffect.hs 29;" C ShadNum src/Picture/Data.hs 30;" t Shader src/Shader/Data.hs 51;" t ShaderTexture src/Shader/Data.hs 102;" t ShadowFidelity src/Shape/Data.hs 20;" t -ShadowRendering src/Dodge/Data/Config.hs 116;" t +ShadowRendering src/Dodge/Data/Config.hs 117;" t Shape src/Shape/Data.hs 50;" t ShapeProp src/Dodge/Data/Prop.hs 14;" C ShapeType src/Shape/Data.hs 11;" t @@ -1217,10 +1217,11 @@ ShellSound src/Dodge/Data/SoundOrigin.hs 28;" C ShieldGroup src/Dodge/Data/Creature/State.hs 30;" C Shockwave src/Dodge/Data/Shockwave.hs 16;" t ShockwaveDirection src/Dodge/Data/Shockwave.hs 13;" t -ShootAt src/Dodge/Data/ActionPlan.hs 139;" C +ShootAt src/Dodge/Data/ActionPlan.hs 140;" C ShortShow src/ShortShow.hs 6;" c ShortString src/ShortShow.hs 16;" t Show_bound_box src/Dodge/Data/Config.hs 94;" C +Show_cr_hitboxes src/Dodge/Data/Config.hs 111;" C Show_dda_test src/Dodge/Data/Config.hs 97;" C Show_far_wall_detect src/Dodge/Data/Config.hs 100;" C Show_mouse_click_pos src/Dodge/Data/Config.hs 109;" C @@ -1240,7 +1241,7 @@ Shrunk src/Dodge/Data/Item/Params.hs 26;" C SideCluster src/Dodge/Data/RoomCluster.hs 13;" C SideEffect src/Dodge/Data/Universe.hs 62;" t SimpleEdge src/Dodge/Data/PathGraph.hs 43;" t -SixteenthRes src/Dodge/Data/Config.hs 113;" C +SixteenthRes src/Dodge/Data/Config.hs 114;" C Size src/Shape/Data.hs 24;" t SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C @@ -1285,12 +1286,13 @@ StabOrthReduce src/Dodge/Projectile/Create.hs 17;" C StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C Stance src/Dodge/Data/Creature/Stance.hs 17;" t StandaloneWall src/Dodge/Data/Wall/Structure.hs 12;" C -StartSentinelPost src/Dodge/Data/ActionPlan.hs 123;" C +StartSentinelPost src/Dodge/Data/ActionPlan.hs 124;" C StartStopMvType src/Dodge/Data/Creature/Misc.hs 34;" C StayInArea src/Dodge/Data/Scenario.hs 13;" C Stone src/Dodge/Data/Material.hs 13;" C StorageSS src/Dodge/Data/Scenario.hs 94;" C -Strategy src/Dodge/Data/ActionPlan.hs 134;" t +Strategy src/Dodge/Data/ActionPlan.hs 135;" t +StrategyInt src/Dodge/Data/ActionPlan.hs 157;" C SubInventory src/Dodge/Data/HUD.hs 14;" t Superfluous src/Shape/Data.hs 34;" C Surface src/Shape/Data.hs 38;" t @@ -1399,7 +1401,7 @@ TriggerType src/Dodge/Data/TriggerType.hs 7;" t TurbineBaySS src/Dodge/Data/Scenario.hs 110;" C Turn src/Dodge/Data/ActionPlan.hs 31;" C TurnTo src/Dodge/Data/ActionPlan.hs 37;" C -TurnToPoint src/Dodge/Data/ActionPlan.hs 77;" C +TurnToPoint src/Dodge/Data/ActionPlan.hs 78;" C TurnToward src/Dodge/Data/ActionPlan.hs 34;" C TurnTowardCr src/Dodge/Data/CreatureEffect.hs 9;" C Turret src/Dodge/Data/Machine.hs 64;" t @@ -1477,7 +1479,7 @@ WHITE src/Color/Data.hs 24;" C WIRE src/Dodge/Data/Item/Combine.hs 87;" C WRISTARMOUR src/Dodge/Data/Item/Combine.hs 126;" C WRIST_ECG src/Dodge/Data/Item/Combine.hs 138;" C -WaitThen src/Dodge/Data/ActionPlan.hs 80;" C +WaitThen src/Dodge/Data/ActionPlan.hs 81;" C Walk src/Dodge/Data/ActionPlan.hs 28;" C Walking src/Dodge/Data/Creature/Stance.hs 24;" C Wall src/Dodge/Data/Wall.hs 17;" t @@ -1494,15 +1496,15 @@ WallSound src/Dodge/Data/SoundOrigin.hs 26;" C WallStructure src/Dodge/Data/Wall/Structure.hs 11;" t WallWire src/Dodge/Data/Room.hs 59;" C Walls_info src/Dodge/Data/Config.hs 89;" C -Wander src/Dodge/Data/ActionPlan.hs 145;" C +Wander src/Dodge/Data/ActionPlan.hs 146;" C War src/Dodge/Data/Scenario.hs 28;" C WarmTime src/Dodge/Data/Item/Params.hs 19;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C -WarningCry src/Dodge/Data/ActionPlan.hs 143;" C +WarningCry src/Dodge/Data/ActionPlan.hs 144;" C WasMouseGameRotating src/Dodge/Data/Input.hs 53;" C WasNotMouseGameRotating src/Dodge/Data/Input.hs 54;" C -WatchAndWait src/Dodge/Data/ActionPlan.hs 141;" C +WatchAndWait src/Dodge/Data/ActionPlan.hs 142;" C WdBl src/Dodge/Data/WorldEffect.hs 56;" t WdBlBtOn src/Dodge/Data/WorldEffect.hs 62;" C WdBlConst src/Dodge/Data/WorldEffect.hs 59;" C @@ -1541,7 +1543,7 @@ ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 93;" C ZombieFaction src/Dodge/Data/Creature/State.hs 14;" C \: src/Geometry/Polygon.hs 238;" o __Just' src/MaybeHelp.hs 11;" f -_acAction src/Dodge/Data/ActionPlan.hs 78;" f +_acAction src/Dodge/Data/ActionPlan.hs 79;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 19;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 25;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 30;" f @@ -1552,7 +1554,7 @@ _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 31;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 27;" f _alphaDivideShader src/Data/Preload/Render.hs 20;" f _alteRifleSwitch src/Dodge/Data/Item/Params.hs 18;" f -_ambushTarget src/Dodge/Data/ActionPlan.hs 136;" f +_ambushTarget src/Dodge/Data/ActionPlan.hs 137;" f _ampBullet src/Dodge/Data/Item/Use.hs 50;" f _ampCreateGas src/Dodge/Data/Item/Use.hs 52;" f _ampPayload src/Dodge/Data/Item/Use.hs 51;" f @@ -1564,7 +1566,6 @@ _apInt src/Dodge/Data/Item/Use.hs 45;" f _apProjectiles src/Dodge/Data/Item/Use.hs 44;" f _apStrategy src/Dodge/Data/ActionPlan.hs 20;" f _aps src/Dodge/Data/Muzzle.hs 22;" f -_arbitraryAction src/Dodge/Data/ActionPlan.hs 125;" f _arcNode src/Dodge/Data/LWorld.hs 116;" f _asDir src/Dodge/Data/ArcStep.hs 14;" f _asObject src/Dodge/Data/ArcStep.hs 15;" f @@ -1786,28 +1787,28 @@ _dmVector src/Dodge/Data/Damage.hs 16;" f _dmVector src/Dodge/Data/Damage.hs 19;" f _dmVector src/Dodge/Data/Damage.hs 22;" f _dmVector src/Dodge/Data/Damage.hs 28;" f -_doActionIfAction src/Dodge/Data/ActionPlan.hs 95;" f -_doActionIfCondition src/Dodge/Data/ActionPlan.hs 94;" f -_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 99;" f -_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 100;" f -_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 98;" f -_doActionThenFirst src/Dodge/Data/ActionPlan.hs 109;" f -_doActionThenSecond src/Dodge/Data/ActionPlan.hs 110;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 86;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 91;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 85;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 90;" f -_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 89;" f -_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 104;" f -_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 103;" f -_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 105;" f +_doActionIfAction src/Dodge/Data/ActionPlan.hs 96;" f +_doActionIfCondition src/Dodge/Data/ActionPlan.hs 95;" f +_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 100;" f +_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 101;" f +_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 99;" f +_doActionThenFirst src/Dodge/Data/ActionPlan.hs 110;" f +_doActionThenSecond src/Dodge/Data/ActionPlan.hs 111;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 87;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 92;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 86;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 91;" f +_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 90;" f +_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 105;" f +_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 104;" f +_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 106;" f _doCID src/Dodge/Data/Damage.hs 32;" f -_doImpulsesList src/Dodge/Data/ActionPlan.hs 79;" f +_doImpulsesList src/Dodge/Data/ActionPlan.hs 80;" f _doMID src/Dodge/Data/Damage.hs 35;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 114;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 119;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 113;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 118;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 115;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 120;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 114;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 119;" f _dodgeCooldown src/Dodge/Data/Creature/Misc.hs 70;" f _doors src/Dodge/Data/LWorld.hs 125;" f _drFootPrint src/Dodge/Data/Door.hs 37;" f @@ -1859,7 +1860,7 @@ _flPos src/Dodge/Data/Flame.hs 14;" f _flTimer src/Dodge/Data/Flame.hs 13;" f _flVel src/Dodge/Data/Flame.hs 15;" f _flames src/Dodge/Data/LWorld.hs 110;" f -_flankTarget src/Dodge/Data/ActionPlan.hs 135;" f +_flankTarget src/Dodge/Data/ActionPlan.hs 136;" f _flares src/Dodge/Data/LWorld.hs 113;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f _flboName src/Shader/Data.hs 86;" f @@ -1921,7 +1922,7 @@ _guTime src/Dodge/Data/Gust.hs 15;" f _guVel src/Dodge/Data/Gust.hs 14;" f _gusts src/Dodge/Data/LWorld.hs 102;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f -_harvestTarget src/Dodge/Data/ActionPlan.hs 153;" f +_harvestTarget src/Dodge/Data/ActionPlan.hs 156;" f _heldPos src/Dodge/Data/Input.hs 43;" f _heldWorldPos src/Dodge/Data/Input.hs 45;" f _highlightItems src/Dodge/Data/CWorld.hs 36;" f @@ -1954,7 +1955,7 @@ _imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f _impulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" f -_impulsesListList src/Dodge/Data/ActionPlan.hs 78;" f +_impulsesListList src/Dodge/Data/ActionPlan.hs 79;" f _incEdgeZoning src/Dodge/Data/World.hs 57;" f _incEdges src/Dodge/Data/CWorld.hs 31;" f _incGraph src/Dodge/Data/CWorld.hs 29;" f @@ -1982,7 +1983,7 @@ _items src/Dodge/Data/LWorld.hs 97;" f _itsInt src/Dodge/Data/Item.hs 40;" f _itsMax src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f -_killTarget src/Dodge/Data/ActionPlan.hs 159;" f +_killTarget src/Dodge/Data/ActionPlan.hs 163;" f _lAimPos src/Dodge/Data/LWorld.hs 148;" f _lClock src/Dodge/Data/LWorld.hs 143;" f _lFootPos src/Dodge/Data/Creature/Misc.hs 71;" f @@ -2001,7 +2002,7 @@ _ldpPos src/Dodge/Data/SelectionList.hs 15;" f _ldpScale src/Dodge/Data/SelectionList.hs 16;" f _ldpSize src/Dodge/Data/SelectionList.hs 18;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 17;" f -_leadTargetBy src/Dodge/Data/ActionPlan.hs 121;" f +_leadTargetBy src/Dodge/Data/ActionPlan.hs 122;" f _lightSources src/Dodge/Data/LWorld.hs 138;" f _lightUBO src/Data/Preload/Render.hs 43;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f @@ -2033,7 +2034,7 @@ _lyGen src/Dodge/Data/MetaTree.hs 31;" f _machines src/Dodge/Data/LWorld.hs 126;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f _magnets src/Dodge/Data/LWorld.hs 129;" f -_mainAction src/Dodge/Data/ActionPlan.hs 129;" f +_mainAction src/Dodge/Data/ActionPlan.hs 130;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f _mapInvItmID src/Dodge/Data/HUD.hs 20;" f _mapInvOffset src/Dodge/Data/HUD.hs 18;" f @@ -2087,7 +2088,7 @@ _meleeCooldown src/Dodge/Data/Creature/Misc.hs 74;" f _meleeCooldown src/Dodge/Data/Creature/Misc.hs 93;" f _meleeCooldownL src/Dodge/Data/Creature/Misc.hs 68;" f _meleeCooldownR src/Dodge/Data/Creature/Misc.hs 69;" f -_meleeTarget src/Dodge/Data/ActionPlan.hs 146;" f +_meleeTarget src/Dodge/Data/ActionPlan.hs 147;" f _mgField src/Dodge/Data/Magnet.hs 23;" f _mgPos src/Dodge/Data/Magnet.hs 22;" f _moEff src/Dodge/Data/Universe.hs 111;" f @@ -2148,10 +2149,10 @@ _opTexture src/Dodge/Data/Wall.hs 34;" f _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 18;" f _opticPos src/Dodge/Data/Item/Scope.hs 14;" f _opticZoom src/Dodge/Data/Item/Scope.hs 17;" f -_partialAction src/Dodge/Data/ActionPlan.hs 117;" f +_partialAction src/Dodge/Data/ActionPlan.hs 118;" f _pastWorlds src/Dodge/Data/World.hs 38;" f -_pathFailAction src/Dodge/Data/ActionPlan.hs 75;" f -_pathToPoint src/Dodge/Data/ActionPlan.hs 75;" f +_pathFailAction src/Dodge/Data/ActionPlan.hs 76;" f +_pathToPoint src/Dodge/Data/ActionPlan.hs 76;" f _pauseTimeMesage src/Dodge/Data/World.hs 89;" f _pauseTimeMesageColor src/Dodge/Data/World.hs 90;" f _pbOrigin src/Dodge/Data/PlasmaBall.hs 16;" f @@ -2342,13 +2343,14 @@ _scurPos src/Dodge/Data/SelectionList.hs 26;" f _scurSize src/Dodge/Data/SelectionList.hs 27;" f _seDist src/Dodge/Data/PathGraph.hs 44;" f _seObstacles src/Dodge/Data/PathGraph.hs 45;" f +_searchTimer src/Dodge/Data/ActionPlan.hs 154;" f _seenLocations src/Dodge/Data/LWorld.hs 140;" f _selLocation src/Dodge/Data/LWorld.hs 141;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 20;" f _sensType src/Dodge/Data/Machine/Sensor.hs 21;" f _sensorCoding src/Dodge/Data/GenParams.hs 14;" f -_sentinelDir src/Dodge/Data/ActionPlan.hs 160;" f -_sentinelPos src/Dodge/Data/ActionPlan.hs 160;" f +_sentinelDir src/Dodge/Data/ActionPlan.hs 164;" f +_sentinelPos src/Dodge/Data/ActionPlan.hs 164;" f _sfColor src/Shape/Data.hs 41;" f _sfShadowImportance src/Shape/Data.hs 42;" f _sfSize src/Shape/Data.hs 43;" f @@ -2371,7 +2373,7 @@ _siPayload src/Dodge/Data/SelectionList.hs 52;" f _siPictures src/Dodge/Data/SelectionList.hs 46;" f _siWidth src/Dodge/Data/SelectionList.hs 48;" f _sideEffect src/Loop/Data.hs 13;" f -_sideImpulses src/Dodge/Data/ActionPlan.hs 128;" f +_sideImpulses src/Dodge/Data/ActionPlan.hs 129;" f _silhouetteEBO src/Data/Preload/Render.hs 30;" f _skOldPos src/Dodge/Data/Spark.hs 14;" f _skPos src/Dodge/Data/Spark.hs 13;" f @@ -2415,6 +2417,7 @@ _ssShownLength src/Dodge/Data/SelectionList.hs 35;" f _ssboName src/Shader/Data.hs 97;" f _ssboPtr src/Shader/Data.hs 98;" f _startStopMv src/Dodge/Data/Creature/Misc.hs 91;" f +_strategyInt src/Dodge/Data/ActionPlan.hs 157;" f _strideAmount src/Dodge/Data/Creature/Misc.hs 61;" f _strideAmount src/Dodge/Data/Creature/Misc.hs 65;" f _stuckCrID src/Dodge/Data/Projectile.hs 50;" f @@ -2438,8 +2441,8 @@ _taColor src/Dodge/Data/TeslaArc.hs 19;" f _taOrigin src/Dodge/Data/TeslaArc.hs 20;" f _taTimer src/Dodge/Data/TeslaArc.hs 17;" f _targetCr src/Dodge/Data/Creature.hs 73;" f -_targetID src/Dodge/Data/ActionPlan.hs 72;" f -_targetSeenAt src/Dodge/Data/ActionPlan.hs 73;" f +_targetID src/Dodge/Data/ActionPlan.hs 73;" f +_targetSeenAt src/Dodge/Data/ActionPlan.hs 74;" f _tbPos src/Dodge/Data/TractorBeam.hs 12;" f _tbStartPos src/Dodge/Data/TractorBeam.hs 13;" f _tbTime src/Dodge/Data/TractorBeam.hs 15;" f @@ -2496,7 +2499,7 @@ _tuDir src/Dodge/Data/Machine.hs 68;" f _tuFireTime src/Dodge/Data/Machine.hs 67;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 66;" f _tuWeapon src/Dodge/Data/Machine.hs 65;" f -_turnToPoint src/Dodge/Data/ActionPlan.hs 77;" f +_turnToPoint src/Dodge/Data/ActionPlan.hs 78;" f _uInt src/Dodge/Data/Item/Use.hs 31;" f _uScope src/Dodge/Data/Item/Use.hs 34;" f _uValue src/Dodge/Data/Item/Use.hs 33;" f @@ -2568,8 +2571,8 @@ _vxShadNum src/Picture/Data.hs 16;" f _wCam src/Dodge/Data/World.hs 59;" f _wSoundFilter src/Dodge/Data/World.hs 43;" f _wTime src/Dodge/Data/Item/Params.hs 20;" f -_waitThenAction src/Dodge/Data/ActionPlan.hs 82;" f -_waitThenTimer src/Dodge/Data/ActionPlan.hs 81;" f +_waitThenAction src/Dodge/Data/ActionPlan.hs 83;" f +_waitThenTimer src/Dodge/Data/ActionPlan.hs 82;" f _wallDamages src/Dodge/Data/LWorld.hs 124;" f _wallVBO src/Data/Preload/Render.hs 50;" f _walls src/Dodge/Data/LWorld.hs 123;" f @@ -2651,7 +2654,7 @@ addToTrunk src/TreeHelp.hs 159;" f addWarningTerminal src/Dodge/Room/Warning.hs 98;" f addZ src/Geometry/Vector3D.hs 90;" f adjustIMZone src/Dodge/Base.hs 81;" f -advanceScrollAmount src/Dodge/Update.hs 498;" f +advanceScrollAmount src/Dodge/Update.hs 500;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f aimDelaySweep src/Dodge/Render/Picture.hs 291;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f @@ -2684,7 +2687,7 @@ anyUnusedSpot src/Dodge/PlacementSpot.hs 68;" f anythingHitCirc src/Dodge/Base/Collide.hs 357;" f apply src/Quaternion.hs 78;" f applyCME src/Dodge/HeldUse.hs 397;" f -applyClip src/Dodge/Debug.hs 176;" f +applyClip src/Dodge/Debug.hs 179;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 15;" f applyEventIO src/Loop.hs 90;" f applyGravityPU src/Dodge/Projectile/Update.hs 41;" f @@ -2693,8 +2696,8 @@ applyInvLock src/Dodge/HeldUse.hs 455;" f applyMagnetsToBul src/Dodge/Bullet.hs 32;" f applyPosition src/Sound.hs 113;" f applyRecoil src/Dodge/HeldUse.hs 486;" f -applyResFactor src/Dodge/Data/Config.hs 126;" f -applyResFactorF src/Dodge/Data/Config.hs 135;" f +applyResFactor src/Dodge/Data/Config.hs 127;" f +applyResFactorF src/Dodge/Data/Config.hs 136;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 83;" f applySidePush src/Dodge/HeldUse.hs 584;" f applySoundCME src/Dodge/HeldUse.hs 476;" f @@ -2789,7 +2792,6 @@ batteryPack src/Dodge/Item/Equipment.hs 38;" f beeCrit src/Dodge/Creature/ChaseCrit.hs 89;" f beep3QuickS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 710;" f beltMag src/Dodge/Item/Ammo.hs 38;" f -bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 326;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 131;" f bgunSound src/Dodge/HeldUse.hs 540;" f bingate src/Dodge/Item/Scope.hs 115;" f @@ -2872,7 +2874,7 @@ calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcTexCoord src/Tile.hs 19;" f canSee src/Dodge/Base/Collide.hs 343;" f canSeeIndirect src/Dodge/Base/Collide.hs 350;" f -canSpring src/Dodge/Update.hs 1001;" f +canSpring src/Dodge/Update.hs 1003;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f capacitor src/Dodge/Item/Ammo.hs 67;" f card8Vec src/Dodge/Base/CardinalPoint.hs 32;" f @@ -2902,22 +2904,22 @@ chaseCorpse src/Dodge/Creature/Picture.hs 303;" f chaseCrit src/Dodge/Creature/ChaseCrit.hs 35;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f chaseUpperBody src/Dodge/Creature/Picture.hs 180;" f -chasmRotate src/Dodge/Creature/State/WalkCycle.hs 144;" f -chasmSimpleMaze src/Dodge/Room/Tutorial.hs 412;" f +chasmRotate src/Dodge/Creature/State/WalkCycle.hs 149;" f +chasmSimpleMaze src/Dodge/Room/Tutorial.hs 414;" f chasmSpitTerminal src/Dodge/Room/Tutorial.hs 345;" f chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 126;" f chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f -checkDeath src/Dodge/Creature/Update.hs 363;" f -checkDeath' src/Dodge/Creature/Update.hs 366;" f -checkEndGame src/Dodge/Update.hs 887;" f +checkDeath src/Dodge/Creature/Update.hs 377;" f +checkDeath' src/Dodge/Creature/Update.hs 380;" f +checkEndGame src/Dodge/Update.hs 889;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f checkGLError src/GLHelp.hs 17;" f checkInvSlotsYou src/Dodge/Inventory/CheckSlots.hs 18;" f checkInventorySelectionExists src/Dodge/DisplayInventory.hs 93;" f -checkTermDist src/Dodge/Update.hs 411;" f +checkTermDist src/Dodge/Update.hs 413;" f checkWallLeft src/Dodge/LevelGen/StaticWalls/Deprecated.hs 29;" f checkWallRight src/Dodge/LevelGen/StaticWalls.hs 54;" f checkWallRight src/Dodge/LevelGen/StaticWalls/Deprecated.hs 59;" f @@ -2925,7 +2927,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f chestPQ src/Dodge/Creature/HandPos.hs 180;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f -chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 173;" f +chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 178;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 69;" f circHitWall src/Dodge/Base/Collide.hs 262;" f @@ -3035,7 +3037,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 159;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 411;" f cornerList src/Preload/Render.hs 236;" f -corpseOrGib src/Dodge/Creature/Update.hs 409;" f +corpseOrGib src/Dodge/Creature/Update.hs 423;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorN src/Dodge/Room/Corridor.hs 58;" f @@ -3045,9 +3047,9 @@ crAwayFromPost src/Dodge/Creature/Test.hs 83;" f crBlips src/Dodge/RadarSweep.hs 88;" f crCamouflage src/Dodge/Creature/Picture.hs 80;" f crCanSeeCr src/Dodge/Creature/Test.hs 50;" f -crCrSpring src/Dodge/Update.hs 1008;" f +crCrSpring src/Dodge/Update.hs 1010;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f -crDeathEffects src/Dodge/Creature/Update.hs 387;" f +crDeathEffects src/Dodge/Creature/Update.hs 401;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f @@ -3071,12 +3073,13 @@ crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 47;" f crMvAbsoluteNoStride src/Dodge/Creature/Impulse/Movement.hs 64;" f crMvBy src/Dodge/Creature/Impulse/Movement.hs 28;" f crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 39;" f -crMvForward src/Dodge/Creature/Impulse/Movement.hs 92;" f +crMvForward src/Dodge/Creature/Impulse/Movement.hs 96;" f crMvForward' src/Dodge/Creature/Impulse/Movement.hs 75;" f crMvType src/Dodge/Creature/MoveType.hs 7;" f crNearPoint src/Dodge/Creature/Test.hs 129;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f crOnSeg src/Dodge/WorldEvent/ThingsHit.hs 244;" f +crOnSeg' src/Dodge/Creature/State/WalkCycle.hs 145;" f crPainEffect src/Dodge/Creature/State.hs 50;" f crPathing src/Dodge/Creature/Action.hs 128;" f crRad src/Dodge/Creature/Radius.hs 7;" f @@ -3084,10 +3087,10 @@ crRightHandWall src/Dodge/Creature/HandPos.hs 76;" f crSafeDistFromTarg src/Dodge/Creature/Test.hs 72;" f crSetRoots src/Dodge/Inventory/Location.hs 56;" f crShape src/Dodge/Creature/Shape.hs 8;" f -crSpring src/Dodge/Update.hs 996;" f +crSpring src/Dodge/Update.hs 998;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f -crUpdate src/Dodge/Creature/Update.hs 356;" f +crUpdate src/Dodge/Creature/Update.hs 370;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f crVocalResetTime src/Dodge/Creature/Vocalization.hs 69;" f @@ -3102,7 +3105,7 @@ crabCorpse src/Dodge/Creature/Picture.hs 322;" f crabCrit src/Dodge/Creature/ChaseCrit.hs 42;" f crabCritInternal src/Dodge/Humanoid.hs 29;" f crabFeet src/Dodge/Creature/Picture.hs 232;" f -crabRoom src/Dodge/Room/Tutorial.hs 466;" f +crabRoom src/Dodge/Room/Tutorial.hs 468;" f crabUpperBody src/Dodge/Creature/Picture.hs 156;" f craftInfo src/Dodge/Item/Info.hs 168;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 41;" f @@ -3121,9 +3124,9 @@ createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f creatureShootLaser src/Dodge/HeldUse.hs 860;" f creatureShootPulseLaser src/Dodge/HeldUse.hs 891;" f -creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 95;" f -creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 116;" f -creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 105;" f +creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 99;" f +creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 120;" f +creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 109;" f critDeadEnd src/Dodge/Room/Room.hs 261;" f critInDeadEnd src/Dodge/Room/Room.hs 257;" f critsPillarRoom src/Dodge/Room/Room.hs 417;" f @@ -3210,20 +3213,20 @@ deadUpperBody src/Dodge/Creature/Picture.hs 389;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 778;" f debrisSPic src/Dodge/Prop/Draw.hs 17;" f debrisSize src/Dodge/Block/Debris.hs 131;" f -debugEvent src/Dodge/Debug.hs 43;" f -debugEvent' src/Dodge/Debug.hs 49;" f -debugEvents src/Dodge/Debug.hs 28;" f -debugGet src/Dodge/Debug.hs 121;" f -debugItem src/Dodge/Debug.hs 85;" f +debugEvent src/Dodge/Debug.hs 44;" f +debugEvent' src/Dodge/Debug.hs 50;" f +debugEvents src/Dodge/Debug.hs 29;" f +debugGet src/Dodge/Debug.hs 124;" f +debugItem src/Dodge/Debug.hs 87;" f debugMenu src/Dodge/Menu.hs 122;" f debugMenuOptions src/Dodge/Menu.hs 128;" f -debugMouseClickPos src/Dodge/Debug.hs 191;" f -debugOn src/Dodge/Data/Config.hs 177;" f -debugPutDraw src/Dodge/Debug.hs 142;" f -debugPutItems src/Dodge/Debug.hs 125;" f -debugPutN src/Dodge/Debug.hs 131;" f -debugShowPath src/Dodge/Debug.hs 151;" f -debugWritableValues src/Dodge/Debug.hs 164;" f +debugMouseClickPos src/Dodge/Debug.hs 194;" f +debugOn src/Dodge/Data/Config.hs 178;" f +debugPutDraw src/Dodge/Debug.hs 145;" f +debugPutItems src/Dodge/Debug.hs 128;" f +debugPutN src/Dodge/Debug.hs 134;" f +debugShowPath src/Dodge/Debug.hs 154;" f +debugWritableValues src/Dodge/Debug.hs 167;" f decodeSensorType src/Dodge/Terminal.hs 81;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 62;" f decomposeTree src/Dodge/Tree/Compose.hs 59;" f @@ -3242,7 +3245,7 @@ defEquipment src/Dodge/Default.hs 24;" f defHeldItem src/Dodge/Default/Item.hs 9;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f defSPic src/Dodge/Item/Draw/SPic.hs 311;" f -defaultAimMvType src/Dodge/Creature/MoveType.hs 23;" f +defaultAimMvType src/Dodge/Creature/MoveType.hs 24;" f defaultAimingCrit src/Dodge/Default/Creature.hs 106;" f defaultAudition src/Dodge/Default/Creature.hs 91;" f defaultAutoWall src/Dodge/Default/Wall.hs 32;" f @@ -3253,9 +3256,9 @@ defaultButton src/Dodge/Default.hs 45;" f defaultCWCam src/Dodge/Default/World.hs 75;" f defaultCWGen src/Dodge/Default/World.hs 65;" f defaultCWorld src/Dodge/Default/World.hs 90;" f -defaultChaseMvType src/Dodge/Creature/MoveType.hs 32;" f +defaultChaseMvType src/Dodge/Creature/MoveType.hs 33;" f defaultClusterStatus src/Dodge/Default/Room.hs 37;" f -defaultConfig src/Dodge/Data/Config.hs 152;" f +defaultConfig src/Dodge/Data/Config.hs 153;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 64;" f defaultCrystalWall src/Dodge/Default/Wall.hs 35;" f @@ -3323,7 +3326,7 @@ displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f displayPulse src/Dodge/Inventory/SelectionList.hs 192;" f -displayTerminalLineString src/Dodge/Update.hs 583;" f +displayTerminalLineString src/Dodge/Update.hs 585;" f dist src/Geometry/Vector.hs 193;" f dist3 src/Geometry/Vector3D.hs 102;" f distributeAmmoToItem src/Dodge/WorldEffect.hs 150;" f @@ -3348,12 +3351,11 @@ doConLoop' src/Loop.hs 230;" f doCrBl src/Dodge/CreatureEffect.hs 30;" f doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f doCrImp src/Dodge/CreatureEffect.hs 13;" f -doCrWdAc src/Dodge/CreatureEffect.hs 39;" f doDamage src/Dodge/Creature/State.hs 44;" f doDeathToggle src/Dodge/WorldEffect.hs 99;" f doDeathTriggers src/Dodge/WorldEffect.hs 92;" f -doDebugGet src/Dodge/Debug.hs 145;" f -doDebugPut src/Dodge/Debug.hs 134;" f +doDebugGet src/Dodge/Debug.hs 148;" f +doDebugPut src/Dodge/Debug.hs 137;" f doDebugTest src/Dodge/Update/Input/DebugTest.hs 23;" f doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 38;" f doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 66;" f @@ -3389,7 +3391,7 @@ doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f doSectionSize src/Dodge/DisplayInventory.hs 215;" f doSideEffects appDodge/Main.hs 118;" f -doSlimeRadChange src/Dodge/Creature/Update.hs 266;" f +doSlimeRadChange src/Dodge/Creature/Update.hs 280;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 272;" f doTabComplete src/Dodge/Terminal.hs 241;" f doTestDrawing src/Dodge/Render.hs 40;" f @@ -3403,7 +3405,7 @@ doWdBl src/Dodge/WorldBool.hs 10;" f doWdCrBl src/Dodge/CreatureEffect.hs 18;" f doWdP2f src/Dodge/WdP2f.hs 10;" f doWdWd src/Dodge/WorldEffect.hs 35;" f -doWorldEvents src/Dodge/Update.hs 507;" f +doWorldEvents src/Dodge/Update.hs 509;" f doWorldPos src/Dodge/WorldPos.hs 10;" f door src/Dodge/Room/Door.hs 14;" f doorBetween src/Dodge/Placement/Instance/Door.hs 34;" f @@ -3439,18 +3441,19 @@ drawCombineInventory src/Dodge/Render/HUD.hs 190;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f drawCoord src/Dodge/Debug/Picture.hs 396;" f drawCountMod src/Render.hs 231;" f -drawCrInfo src/Dodge/Debug.hs 215;" f -drawCrInfo' src/Dodge/Debug.hs 210;" f +drawCrInfo src/Dodge/Debug.hs 218;" f +drawCrInfo' src/Dodge/Debug.hs 213;" f drawCrabCrit src/Dodge/Creature/Picture.hs 139;" f drawCreature src/Dodge/Creature/Picture.hs 37;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f +drawCreatureRad src/Dodge/Debug.hs 295;" f drawCross src/Dodge/Render/Label.hs 25;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 73;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f drawDDATest src/Dodge/Debug/Picture.hs 304;" f drawDamSensor src/Dodge/Machine/Draw.hs 38;" f -drawDebug src/Dodge/Debug.hs 253;" f +drawDebug src/Dodge/Debug.hs 256;" f drawDrag src/Dodge/Render/Picture.hs 204;" f drawDragDrop src/Dodge/Render/Picture.hs 233;" f drawDragPickup src/Dodge/Render/Picture.hs 242;" f @@ -3553,7 +3556,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f -dropAll src/Dodge/Creature/Update.hs 447;" f +dropAll src/Dodge/Creature/Update.hs 461;" f dropInventoryPath src/Dodge/HeldUse.hs 1380;" f dropItem src/Dodge/Creature/Action.hs 180;" f dropper src/Dodge/Item/Scope.hs 82;" f @@ -3643,7 +3646,7 @@ faceEdges src/Polyhedra.hs 62;" f facesToVF src/Polyhedra/Geodesic.hs 70;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f fdiv src/ShortShow.hs 41;" f -feedSlime src/Dodge/Update.hs 1079;" f +feedSlime src/Dodge/Update.hs 1081;" f feet src/Dodge/Creature/Picture.hs 218;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f @@ -3696,7 +3699,7 @@ foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 886;" f foldMTRS src/Dodge/Room/Tutorial.hs 108;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 111;" f -followImpulse src/Dodge/Creature/Impulse.hs 25;" f +followImpulse src/Dodge/Creature/Impulse.hs 26;" f foot1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 882;" f foot2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 758;" f foot3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 896;" f @@ -3721,7 +3724,7 @@ fstV2 src/Geometry/Data.hs 70;" f fuelPack src/Dodge/Item/Equipment.hs 44;" f functionalUpdate src/Dodge/Update.hs 278;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f -fuseSlimes src/Dodge/Update.hs 1098;" f +fuseSlimes src/Dodge/Update.hs 1100;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f fuseWallsWith src/Dodge/LevelGen/StaticWalls.hs 172;" f g src/ShortShow.hs 48;" f @@ -3734,7 +3737,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f gameRoomsFromRooms src/Dodge/Layout.hs 170;" f gameplayMenu src/Dodge/Menu.hs 152;" f gameplayMenuOptions src/Dodge/Menu.hs 155;" f -gasEffect src/Dodge/Update.hs 912;" f +gasEffect src/Dodge/Update.hs 914;" f gasType src/Dodge/HeldUse.hs 1144;" f gassesNearPoint src/Dodge/Zoning/Cloud.hs 12;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 23;" f @@ -3758,9 +3761,9 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 543;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f -getCrsFromRooms src/Dodge/Room/Tutorial.hs 623;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 610;" f -getDebugMouseOver src/Dodge/Update.hs 473;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 625;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 612;" f +getDebugMouseOver src/Dodge/Update.hs 475;" f getDistortions src/Dodge/Render.hs 448;" f getEdgesCrossing src/Dodge/Path.hs 39;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1293;" f @@ -3770,13 +3773,13 @@ getLaserDamage src/Dodge/HeldUse.hs 728;" f getLaserPhaseV src/Dodge/HeldUse.hs 725;" f getLinksOfType src/Dodge/RoomLink.hs 40;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f -getMenuMouseContext src/Dodge/Update.hs 485;" f +getMenuMouseContext src/Dodge/Update.hs 487;" f getNodePos src/Dodge/Path.hs 36;" f getPJStabiliser src/Dodge/HeldUse.hs 1280;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f -getRoomsFromInts src/Dodge/Room/Tutorial.hs 606;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 608;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3900,7 +3903,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 201;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 80;" f -hoverCritHoverSound src/Dodge/Creature/Update.hs 333;" f +hoverCritHoverSound src/Dodge/Creature/Update.hs 347;" f hoverCritInternal src/Dodge/Humanoid.hs 46;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f @@ -4167,7 +4170,7 @@ listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f -loadAmmoTut src/Dodge/Room/Tutorial.hs 470;" f +loadAmmoTut src/Dodge/Room/Tutorial.hs 472;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMuzzle src/Dodge/HeldUse.hs 654;" f @@ -4297,7 +4300,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 572;" f maybeOpenConsole src/Dodge/Update.hs 135;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f -maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 151;" f +maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 156;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f mcBackgroundSound src/Dodge/Machine/Update.hs 152;" f mcColor src/Dodge/Machine/Draw.hs 74;" f @@ -4417,18 +4420,18 @@ muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 702;" f muzzlePos src/Dodge/HeldUse.hs 787;" f muzzleRandPos src/Dodge/HeldUse.hs 796;" f -muzzleWallCheck src/Dodge/Update.hs 349;" f +muzzleWallCheck src/Dodge/Update.hs 351;" f mvButton src/Dodge/Placement/PlaceSpot.hs 170;" f mvCr src/Dodge/Placement/PlaceSpot.hs 173;" f mvFS src/Dodge/Placement/PlaceSpot.hs 176;" f -mvGust src/Dodge/Update.hs 903;" f +mvGust src/Dodge/Update.hs 905;" f mvLS src/Dodge/Placement/PlaceSpot.hs 215;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f mvPointToward src/Dodge/Base.hs 136;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f mvProp src/Dodge/Placement/PlaceSpot.hs 167;" f -mvTurnToward src/Dodge/Creature/Impulse/Movement.hs 129;" f +mvTurnToward src/Dodge/Creature/Impulse/Movement.hs 133;" f myIntersectLineLine src/Geometry/Intersect.hs 197;" f myIntersectSegSeg src/Geometry/Intersect.hs 175;" f nRays src/Geometry.hs 182;" f @@ -4455,7 +4458,7 @@ nodeNear src/Dodge/Path.hs 94;" f nodesNear src/Dodge/Path.hs 100;" f nonConvexChasm src/Dodge/Room/Tutorial.hs 303;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f -normalGait src/Dodge/Creature/State/WalkCycle.hs 168;" f +normalGait src/Dodge/Creature/State/WalkCycle.hs 173;" f normalTo8 src/Shader/Poke.hs 475;" f normalizeAngle src/Geometry/Vector.hs 136;" f normalizeAnglePi src/Dodge/Base.hs 154;" f @@ -4505,7 +4508,7 @@ outwardIntegers src/Dodge/Base.hs 181;" f overCol src/Picture/Base.hs 303;" f overColObj src/Shape.hs 275;" f overColSH src/Shape.hs 243;" f -overDebugEvent src/Dodge/Debug.hs 37;" f +overDebugEvent src/Dodge/Debug.hs 38;" f overLnkPosDir src/Dodge/RoomLink.hs 115;" f overLnkType src/Dodge/RoomLink.hs 106;" f overPos src/Picture/Base.hs 298;" f @@ -4530,7 +4533,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 85;" f parseItem src/Dodge/Debug/Terminal.hs 62;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f -passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 688;" f +passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 690;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f @@ -4539,7 +4542,7 @@ pauseMenu src/Dodge/Menu.hs 57;" f pauseMenuOptions src/Dodge/Menu.hs 64;" f pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 219;" f -pbFlicker src/Dodge/Update.hs 568;" f +pbFlicker src/Dodge/Update.hs 570;" f pbsHit src/Dodge/WorldEvent/ThingsHit.hs 143;" f peZoneSize src/Dodge/Zoning/Pathing.hs 49;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f @@ -4601,7 +4604,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f -poisonSPic src/Dodge/Creature/Update.hs 443;" f +poisonSPic src/Dodge/Creature/Update.hs 457;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 518;" f pokeArrayOff src/Shader/Poke.hs 530;" f @@ -4637,8 +4640,8 @@ pokeWall src/Shader/Poke.hs 80;" f pokeWallsWindows src/Shader/Poke.hs 52;" f poly3 src/Picture/Base.hs 76;" f poly3Col src/Picture/Base.hs 80;" f -polyChasm src/Dodge/Room/Tutorial.hs 390;" f -polyChasmC src/Dodge/Room/Tutorial.hs 402;" f +polyChasm src/Dodge/Room/Tutorial.hs 392;" f +polyChasmC src/Dodge/Room/Tutorial.hs 404;" f polyCirc src/Shape.hs 48;" f polyCircx src/Shape.hs 53;" f polyCornerDist src/Geometry/Polygon.hs 69;" f @@ -4711,10 +4714,10 @@ ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f pulseChecker src/Dodge/Item/Equipment.hs 84;" f pushAgainst src/Dodge/Creature/State/WalkCycle.hs 77;" f pushCaverns src/Dodge/Room/LongDoor.hs 192;" f -pushCr src/Dodge/WallCreatureCollisions.hs 42;" f +pushCr src/Dodge/WallCreatureCollisions.hs 43;" f pushL src/DoubleStack.hs 20;" f -pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 126;" f -pushOutFromWall' src/Dodge/WallCreatureCollisions.hs 115;" f +pushOutFromCorners src/Dodge/WallCreatureCollisions.hs 124;" f +pushOutFromWall' src/Dodge/WallCreatureCollisions.hs 113;" f pushR src/DoubleStack.hs 24;" f pushScreen src/Dodge/Menu/PushPop.hs 9;" f pushYouOutFromWalls src/Dodge/Update.hs 345;" f @@ -4734,7 +4737,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f putShape src/Dodge/Room/Foreground.hs 134;" f -putSingleLight src/Dodge/Room/Tutorial.hs 504;" f +putSingleLight src/Dodge/Room/Tutorial.hs 506;" f putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f putStrLnAppend src/Dodge/LevelGen.hs 84;" f putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f @@ -4758,7 +4761,7 @@ rLauncherX src/Dodge/Item/Held/Launcher.hs 30;" f rToOnward src/Dodge/Cleat.hs 21;" f radToCompass src/Dodge/Inventory/SelectionList.hs 111;" f radToDeg src/Geometry/Vector.hs 131;" f -radiusSpring src/Dodge/Update.hs 985;" f +radiusSpring src/Dodge/Update.hs 987;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f randDirPS src/Dodge/PlacementSpot.hs 58;" f @@ -4780,7 +4783,7 @@ randPeakedParam src/RandomHelp.hs 149;" f randProb src/RandomHelp.hs 87;" f randSpark src/Dodge/Spark.hs 70;" f randSparkExtraVel src/Dodge/Spark.hs 93;" f -randWallReflect src/Dodge/Update.hs 754;" f +randWallReflect src/Dodge/Update.hs 756;" f randomChallenges src/Dodge/Room/Start.hs 64;" f randomCompass src/Dodge/Layout.hs 61;" f randomFourCornerRoom src/Dodge/Room/Procedural.hs 248;" f @@ -4849,7 +4852,7 @@ renderShadows src/Render.hs 116;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 73;" f resetPLUse src/Dodge/PlacementSpot.hs 94;" f -resetStride src/Dodge/Creature/State/WalkCycle.hs 163;" f +resetStride src/Dodge/Creature/State/WalkCycle.hs 168;" f resetTerminal src/Dodge/WorldEffect.hs 158;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f @@ -4976,7 +4979,7 @@ scaleSH src/Shape.hs 271;" f scalp src/Dodge/Creature/Picture.hs 377;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/Update.hs 440;" f +scorchSPic src/Dodge/Creature/Update.hs 454;" f screenBox src/Dodge/Base/Window.hs 54;" f screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f @@ -5004,7 +5007,7 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f -segmentArea src/Dodge/Creature/Update.hs 314;" f +segmentArea src/Dodge/Creature/Update.hs 328;" f selNumPos src/Dodge/Render/HUD.hs 475;" f selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f @@ -5022,12 +5025,13 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f sensorSPic src/Dodge/Machine/Draw.hs 89;" f -sensorTut src/Dodge/Room/Tutorial.hs 632;" f +sensorTut src/Dodge/Room/Tutorial.hs 634;" f sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f +setBeeRandomMovement src/Dodge/Creature/Impulse.hs 103;" f setChannelPos src/Sound.hs 152;" f setClickWorldPos src/Dodge/Update.hs 110;" f -setClip src/Dodge/Debug.hs 239;" f +setClip src/Dodge/Debug.hs 242;" f setDepth src/Picture/Base.hs 120;" f setDirPS src/Dodge/PlacementSpot.hs 51;" f setFallback src/Dodge/PlacementSpot.hs 127;" f @@ -5040,7 +5044,7 @@ setLinkType src/Dodge/RoomLink.hs 79;" f setLinkTypePD src/Dodge/RoomLink.hs 86;" f setMusicVolume src/Sound.hs 164;" f setMvPosToTargetCr src/Dodge/Creature/ReaderUpdate.hs 60;" f -setOldPos src/Dodge/Update.hs 599;" f +setOldPos src/Dodge/Update.hs 601;" f setOutLinks src/Dodge/RoomLink.hs 49;" f setOutLinksByType src/Dodge/RoomLink.hs 76;" f setOutLinksPD src/Dodge/RoomLink.hs 96;" f @@ -5050,7 +5054,7 @@ setSelWhileDragging src/Dodge/Update/Input/InGame.hs 360;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f -setSlimeDir src/Dodge/Creature/Update.hs 245;" f +setSlimeDir src/Dodge/Creature/Update.hs 259;" f setSoundVolume src/Sound.hs 159;" f setTile src/Dodge/Layout.hs 78;" f setTiles src/Dodge/Layout.hs 68;" f @@ -5133,7 +5137,7 @@ showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 87;" f showManObj src/Dodge/TestString.hs 110;" f -showMuzzlePositions src/Dodge/Debug.hs 292;" f +showMuzzlePositions src/Dodge/Debug.hs 301;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f showTimeFlow src/Dodge/TestString.hs 127;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f @@ -5144,7 +5148,7 @@ shufflePair src/RandomHelp.hs 166;" f shuffleRoomPos src/Dodge/Layout.hs 103;" f shuffleTail src/RandomHelp.hs 78;" f sigmoid src/Dodge/Base.hs 151;" f -simpleCrSprings src/Dodge/Update.hs 990;" f +simpleCrSprings src/Dodge/Update.hs 992;" f simpleTermMessage src/Dodge/Terminal.hs 275;" f sineRaisePitchOneSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 816;" f sineRaisePitchTwoSecS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 854;" f @@ -5172,12 +5176,12 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideWindow src/ListHelp.hs 81;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 68;" f -slimeCritUpdate src/Dodge/Creature/Update.hs 210;" f -slimeEatSound src/Dodge/Update.hs 1117;" f -slimeFood src/Dodge/Update.hs 1072;" f -slimeSuck src/Dodge/Update.hs 1056;" f +slimeCritUpdate src/Dodge/Creature/Update.hs 224;" f +slimeEatSound src/Dodge/Update.hs 1119;" f +slimeFood src/Dodge/Update.hs 1074;" f +slimeSuck src/Dodge/Update.hs 1058;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 56;" f -slinkCritUpdate src/Dodge/Creature/Update.hs 317;" f +slinkCritUpdate src/Dodge/Creature/Update.hs 331;" f slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f @@ -5244,8 +5248,8 @@ splashScreen src/Dodge/Initialisation.hs 10;" f splitBezierquad src/Geometry/Bezier.hs 15;" f splitExtra src/Justify.hs 21;" f splitLookupTrie src/SimpleTrie.hs 39;" f -splitSlimeCrit src/Dodge/Creature/Update.hs 283;" f -splitSlimeCrit' src/Dodge/Creature/Update.hs 273;" f +splitSlimeCrit src/Dodge/Creature/Update.hs 297;" f +splitSlimeCrit' src/Dodge/Creature/Update.hs 287;" f splitTrunk src/TreeHelp.hs 181;" f splitTrunkAt src/TreeHelp.hs 169;" f spreadAroundCenter src/Dodge/Base.hs 173;" f @@ -5259,7 +5263,7 @@ sqPlatformChasm src/Dodge/Room/Tutorial.hs 267;" f sqSpitChasm src/Dodge/Room/Tutorial.hs 282;" f square src/Geometry/Polygon.hs 56;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f -squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 129;" f +squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 127;" f squashNormalizeV src/Geometry/Vector.hs 166;" f ssLookupDown src/Dodge/SelectionSections.hs 96;" f ssLookupGE' src/Dodge/SelectionSections.hs 150;" f @@ -5283,7 +5287,7 @@ stackText src/Picture/Base.hs 180;" f stackedInventory src/Dodge/Creature.hs 318;" f startCr src/Dodge/Creature.hs 83;" f startCrafts src/Dodge/Room/Start.hs 94;" f -startDeathTimer src/Dodge/Creature/Update.hs 396;" f +startDeathTimer src/Dodge/Creature/Update.hs 410;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f startInvList src/Dodge/Creature.hs 97;" f startInventory src/Dodge/Creature.hs 100;" f @@ -5319,7 +5323,7 @@ subInvX src/Dodge/ListDisplayParams.hs 53;" f subMap src/TreeHelp.hs 121;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f subtree src/TreeHelp.hs 72;" f -succB src/Dodge/Debug.hs 159;" f +succB src/Dodge/Debug.hs 162;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f swapInOutLinks src/Dodge/RoomLink.hs 99;" f swapIndices src/ListHelp.hs 50;" f @@ -5430,12 +5434,12 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 118;" f tmDistributeLines src/Dodge/Room/Room.hs 474;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 55;" f -tmScreenMousePos src/Dodge/Update.hs 465;" f +tmScreenMousePos src/Dodge/Update.hs 467;" f toBinary src/Dodge/Inventory/SelectionList.hs 154;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 158;" f -toDeathCarriage src/Dodge/Creature/Update.hs 402;" f +toDeathCarriage src/Dodge/Creature/Update.hs 416;" f toFloatVAs src/Shader/Compile.hs 66;" f toLabel src/Dodge/Cleat.hs 16;" f toMultiset src/Multiset.hs 64;" f @@ -5533,11 +5537,11 @@ turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f tutDrop src/Dodge/Room/Tutorial.hs 120;" f -tutHub src/Dodge/Room/Tutorial.hs 530;" f -tutLight src/Dodge/Room/Tutorial.hs 434;" f -tutRezBox src/Dodge/Room/Tutorial.hs 643;" f +tutHub src/Dodge/Room/Tutorial.hs 532;" f +tutLight src/Dodge/Room/Tutorial.hs 436;" f +tutRezBox src/Dodge/Room/Tutorial.hs 645;" f tutRoomTree src/Dodge/Floor.hs 20;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 668;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 670;" f tweenAngles src/Geometry/Vector.hs 198;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f @@ -5570,7 +5574,7 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f updateAggroBee src/Dodge/Creature/Update.hs 116;" f -updateAimPos src/Dodge/Update.hs 398;" f +updateAimPos src/Dodge/Update.hs 400;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 44;" f updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 488;" f @@ -5579,55 +5583,55 @@ updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f updateBeeCrit src/Dodge/Creature/Update.hs 111;" f updateBeeFromPheremones src/Dodge/Creature/Update.hs 104;" f -updateBeePheremone src/Dodge/Update.hs 783;" f +updateBeePheremone src/Dodge/Update.hs 785;" f updateBounds src/Dodge/Update/Camera.hs 262;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f -updateBullets src/Dodge/Update.hs 669;" f -updateCalmBee src/Dodge/Creature/Update.hs 152;" f +updateBullets src/Dodge/Update.hs 671;" f +updateCalmBee src/Dodge/Creature/Update.hs 154;" f updateCamera src/Dodge/Update/Camera.hs 33;" f updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f updateChaseCrit src/Dodge/Humanoid.hs 12;" f updateCloseObjects src/Dodge/Inventory.hs 126;" f -updateCloud src/Dodge/Update.hs 916;" f -updateClouds src/Dodge/Update.hs 780;" f +updateCloud src/Dodge/Update.hs 918;" f +updateClouds src/Dodge/Update.hs 782;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f updateCreature src/Dodge/Creature/Update.hs 47;" f -updateCreatureGroups src/Dodge/Update.hs 641;" f -updateCreatureSoundPositions src/Dodge/Update.hs 620;" f -updateCreatureStride src/Dodge/Update.hs 377;" f -updateCreatureStrides src/Dodge/Update.hs 374;" f -updateDebris src/Dodge/Update.hs 683;" f +updateCreatureGroups src/Dodge/Update.hs 643;" f +updateCreatureSoundPositions src/Dodge/Update.hs 622;" f +updateCreatureStride src/Dodge/Update.hs 379;" f +updateCreatureStrides src/Dodge/Update.hs 376;" f +updateDebris src/Dodge/Update.hs 685;" f updateDebrisChunk src/Dodge/Prop/Moving.hs 16;" f updateDebugMessageOffset src/Dodge/Update.hs 104;" f -updateDelayedEvents src/Dodge/Update.hs 1124;" f +updateDelayedEvents src/Dodge/Update.hs 1126;" f updateDisplaySections src/Dodge/DisplayInventory.hs 116;" f updateDistortion src/Dodge/Distortion.hs 8;" f -updateDistortions src/Dodge/Update.hs 662;" f +updateDistortions src/Dodge/Update.hs 664;" f updateDoor src/Dodge/Door.hs 22;" f -updateDoors src/Dodge/Update.hs 403;" f -updateDust src/Dodge/Update.hs 964;" f -updateDusts src/Dodge/Update.hs 791;" f +updateDoors src/Dodge/Update.hs 405;" f +updateDust src/Dodge/Update.hs 966;" f +updateDusts src/Dodge/Update.hs 793;" f updateEdge src/Dodge/Path.hs 45;" f updateEdgeWallObs src/Dodge/Update/WallDamage.hs 39;" f updateEdgesWall src/Dodge/Update/WallDamage.hs 23;" f updateEdgesWall' src/Dodge/Update/WallDamage.hs 36;" f updateEnergyBall src/Dodge/EnergyBall.hs 32;" f -updateEnergyBalls src/Dodge/Update.hs 771;" f +updateEnergyBalls src/Dodge/Update.hs 773;" f updateEnterRegex src/Dodge/Update/Input/InGame.hs 515;" f updateExpBarrel src/Dodge/Barreloid.hs 21;" f updateFlame src/Dodge/Flame.hs 19;" f -updateFlames src/Dodge/Update.hs 768;" f +updateFlames src/Dodge/Update.hs 770;" f updateFloatingCamera src/Dodge/Update/Camera.hs 38;" f updateFunctionKey src/Dodge/Update/Input/InGame.hs 372;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 368;" f -updateGas src/Dodge/Update.hs 938;" f -updateGusts src/Dodge/Update.hs 900;" f +updateGas src/Dodge/Update.hs 940;" f +updateGusts src/Dodge/Update.hs 902;" f updateHiveCrit src/Dodge/Creature/Update.hs 83;" f -updateIMl src/Dodge/Update.hs 635;" f -updateIMl' src/Dodge/Update.hs 638;" f +updateIMl src/Dodge/Update.hs 637;" f +updateIMl' src/Dodge/Update.hs 640;" f updateInGameCamera src/Dodge/Update/Camera.hs 86;" f updateInitialPressInGame src/Dodge/Update/Input/InGame.hs 438;" f updateInt2Map src/Dodge/Zoning/Base.hs 94;" f @@ -5640,35 +5644,35 @@ updateKeysInTerminal src/Dodge/Update/Input/InGame.hs 391;" f updateKeysTextInputTerminal src/Dodge/Update/Input/InGame.hs 414;" f updateLampoid src/Dodge/Lampoid.hs 13;" f updateLaser src/Dodge/Laser/Update.hs 12;" f -updateLasers src/Dodge/Update.hs 514;" f +updateLasers src/Dodge/Update.hs 516;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLivingCreature src/Dodge/Creature/Update.hs 61;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f updateMachine src/Dodge/Machine/Update.hs 24;" f -updateMagnets src/Dodge/Update.hs 406;" f +updateMagnets src/Dodge/Update.hs 408;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 238;" f -updateMouseContext src/Dodge/Update.hs 419;" f -updateMouseContextGame src/Dodge/Update.hs 424;" f +updateMouseContext src/Dodge/Update.hs 421;" f +updateMouseContextGame src/Dodge/Update.hs 426;" f updateMouseHeldInGame src/Dodge/Update/Input/InGame.hs 100;" f updateMouseInGame src/Dodge/Update/Input/InGame.hs 90;" f updateMouseReleaseInGame src/Dodge/Update/Input/InGame.hs 201;" f -updateObjCatMaybes src/Dodge/Update.hs 653;" f -updateObjMapMaybe src/Dodge/Update.hs 646;" f -updatePastWorlds src/Dodge/Update.hs 503;" f -updatePlasmaBall src/Dodge/Update.hs 528;" f -updatePlasmaBalls src/Dodge/Update.hs 676;" f +updateObjCatMaybes src/Dodge/Update.hs 655;" f +updateObjMapMaybe src/Dodge/Update.hs 648;" f +updatePastWorlds src/Dodge/Update.hs 505;" f +updatePlasmaBall src/Dodge/Update.hs 530;" f +updatePlasmaBalls src/Dodge/Update.hs 678;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f -updatePulse src/Dodge/Creature/Update.hs 455;" f -updatePulseBall src/Dodge/Update.hs 548;" f -updatePulseLaser src/Dodge/Update.hs 723;" f -updatePulseLasers src/Dodge/Update.hs 523;" f +updatePulse src/Dodge/Creature/Update.hs 469;" f +updatePulseBall src/Dodge/Update.hs 550;" f +updatePulseLaser src/Dodge/Update.hs 725;" f +updatePulseLasers src/Dodge/Update.hs 525;" f updateRBList src/Dodge/Inventory/RBList.hs 22;" f updateRadarBlip src/Dodge/RadarBlip.hs 11;" f -updateRadarBlips src/Dodge/Update.hs 665;" f +updateRadarBlips src/Dodge/Update.hs 667;" f updateRadarSweep src/Dodge/RadarSweep.hs 40;" f -updateRadarSweeps src/Dodge/Update.hs 774;" f +updateRadarSweeps src/Dodge/Update.hs 776;" f updateRandNode src/TreeHelp.hs 111;" f updateRenderSplit appDodge/Main.hs 104;" f updateRightParentSF src/Dodge/Item/Grammar.hs 190;" f @@ -5678,17 +5682,17 @@ updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f updateSection src/Dodge/DisplayInventory.hs 262;" f updateSectionsPositioning src/Dodge/DisplayInventory.hs 241;" f updateShockwave src/Dodge/Shockwave/Update.hs 8;" f -updateShockwaves src/Dodge/Update.hs 765;" f +updateShockwaves src/Dodge/Update.hs 767;" f updateSingleNodes src/TreeHelp.hs 100;" f updateSound src/Sound.hs 73;" f updateSounds src/Sound.hs 68;" f updateSpark src/Dodge/Spark.hs 20;" f -updateSparks src/Dodge/Update.hs 777;" f -updateTerminal src/Dodge/Update.hs 586;" f -updateTeslaArc src/Dodge/Update.hs 693;" f -updateTeslaArcs src/Dodge/Update.hs 690;" f +updateSparks src/Dodge/Update.hs 779;" f +updateTerminal src/Dodge/Update.hs 588;" f +updateTeslaArc src/Dodge/Update.hs 695;" f +updateTeslaArcs src/Dodge/Update.hs 692;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f -updateTractorBeams src/Dodge/Update.hs 762;" f +updateTractorBeams src/Dodge/Update.hs 764;" f updateTurret src/Dodge/Machine/Update.hs 55;" f updateUniverse src/Dodge/Update.hs 83;" f updateUniverseFirst src/Dodge/Update.hs 94;" f @@ -5699,7 +5703,7 @@ updateUseInputOnScreen src/Dodge/Update/Input/ScreenLayer.hs 24;" f updateVocTimer src/Dodge/Humanoid.hs 63;" f updateWallDamages src/Dodge/Update/WallDamage.hs 15;" f updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f -updateWheelEvents src/Dodge/Update.hs 493;" f +updateWheelEvents src/Dodge/Update.hs 495;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f upperBody src/Dodge/Creature/Picture.hs 397;" f @@ -5774,9 +5778,8 @@ walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 86;" f walkNozzle src/Dodge/HeldUse.hs 827;" f walkableNodeNear src/Dodge/Path.hs 90;" f wallBlips src/Dodge/RadarSweep.hs 99;" f -wallBuffer src/Dodge/WallCreatureCollisions.hs 99;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f -wallMovement src/Dodge/WallCreatureCollisions.hs 68;" f +wallMovement src/Dodge/WallCreatureCollisions.hs 70;" f wallToSurface src/Dodge/Base/Collide.hs 204;" f wallsFromRooms src/Dodge/Layout.hs 158;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f @@ -5830,9 +5833,9 @@ wlIsOpaque src/Dodge/Base/Wall.hs 6;" f wlIsSeeThrough src/Dodge/Base/Wall.hs 11;" f wlOpaqueDraw src/Dodge/Render/Walls.hs 53;" f wlSeeThroughDraw src/Dodge/Render/Walls.hs 56;" f -wlWlCrush' src/Dodge/WallCreatureCollisions.hs 89;" f +wlWlCrush' src/Dodge/WallCreatureCollisions.hs 91;" f wlZoneSize src/Dodge/Zoning/Wall.hs 51;" f -wlsCrush' src/Dodge/WallCreatureCollisions.hs 80;" f +wlsCrush' src/Dodge/WallCreatureCollisions.hs 82;" f wlsFromIXs src/Dodge/Zoning/Wall.hs 34;" f wlsHit src/Dodge/WorldEvent/ThingsHit.hs 187;" f wlsHitRadial src/Dodge/WorldEvent/ThingsHit.hs 199;" f @@ -5882,13 +5885,13 @@ zeroOneSmooth src/Dodge/Creature/HandPos.hs 61;" f zeroZ src/Geometry/Vector.hs 9;" f zipArcs src/Dodge/Tesla.hs 52;" f zipCount src/Dodge/Tree/Shift.hs 142;" f -zonableCreature src/Dodge/Update.hs 614;" f +zonableCreature src/Dodge/Update.hs 616;" f zoneCloud src/Dodge/Zoning/Cloud.hs 33;" f -zoneClouds src/Dodge/Update.hs 575;" f +zoneClouds src/Dodge/Update.hs 577;" f zoneCreature src/Dodge/Zoning/Creature.hs 56;" f -zoneCreatures src/Dodge/Update.hs 610;" f +zoneCreatures src/Dodge/Update.hs 612;" f zoneDust src/Dodge/Zoning/Cloud.hs 57;" f -zoneDusts src/Dodge/Update.hs 580;" f +zoneDusts src/Dodge/Update.hs 582;" f zoneExtract src/Dodge/Zoning/Base.hs 58;" f zoneGas src/Dodge/Zoning/Cloud.hs 36;" f zoneIncPe src/Dodge/Zoning/Pathing.hs 66;" f