diff --git a/src/Dodge/Creature/Action.hs b/src/Dodge/Creature/Action.hs index 8d8b1628d..fdb292e97 100644 --- a/src/Dodge/Creature/Action.hs +++ b/src/Dodge/Creature/Action.hs @@ -62,17 +62,17 @@ performAimAt cr w tcid p = ([TurnToward tpos aimSp], Just $ AimAt tcid tpos) performPathTo :: Creature -> World -> Point2 -> OutAction performPathTo cr w p | dist cpos p <= crRad (cr ^. crType) = ([], Nothing) - | isWalkable cpos p w = ([MvTurnToward p, MvForward, RandomTurn jit], Just (PathTo p)) - | otherwise = case pointTowardsImpulse p cpos w of + | isWalkable cpos p w = ([MvTurnToward 0 cpos p p, MvForward, RandomTurn jit], Just (PathTo p)) + | otherwise = case pointTowardsImpulse cpos p w of Just q -> ( - [ MvTurnToward q + [ MvTurnToward 1 cpos p q , MvForward , RandomTurn jit ] , Just (PathTo p) ) - _ -> ([], Nothing) + _ -> ([ChangeStrategy Flee], Nothing) where cpos = cr ^. crPos . _xy jit = _mvTurnJit $ crMvType cr @@ -80,7 +80,7 @@ performPathTo cr w p performTurnToA :: Creature -> Point2 -> OutAction performTurnToA cr p | angleVV cdirv dirv < 0.1 = ([], Nothing) - | otherwise = ([MvTurnToward p, RandomTurn jit], Just (TurnToPoint p)) + | otherwise = ([MvTurnToward 2 p p p, RandomTurn jit], Just (TurnToPoint p)) where cpos = cr ^. crPos . _xy cdirv = unitVectorAtAngle (_crDir cr) diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index 4ab5cd751..672dee84a 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -67,7 +67,7 @@ followImpulse cr w imp = case imp of tcr <- w ^? cWorld . lWorld . creatures . ix i return $ followImpulse cr w (doCrImp f tcr) MvForward -> crup $ crMvForward speed (w ^. cWorld . lWorld) cr - MvTurnToward p -> + MvTurnToward _ _ _ p -> crup $ creatureTurnToward p (turnRad $ safeAngleVV (p -.- cpos) (unitVectorAtAngle cdir)) cr where diff --git a/src/Dodge/Creature/ReaderUpdate.hs b/src/Dodge/Creature/ReaderUpdate.hs index c4ec90d70..76877cfb4 100644 --- a/src/Dodge/Creature/ReaderUpdate.hs +++ b/src/Dodge/Creature/ReaderUpdate.hs @@ -119,7 +119,6 @@ flockACC w cr = fromMaybe cr $ do chaseCritMv :: World -> Creature -> Creature chaseCritMv w cr = case _apStrategy (_crActionPlan cr) of - StrategyActions _ _ -> cr WarningCry -> cr MeleeStrike -> cr CloseToMelee cid diff --git a/src/Dodge/Data/ActionPlan.hs b/src/Dodge/Data/ActionPlan.hs index 220ea2f16..4193f586d 100644 --- a/src/Dodge/Data/ActionPlan.hs +++ b/src/Dodge/Data/ActionPlan.hs @@ -31,7 +31,7 @@ data Impulse | RandomTurn Float | RandomImpulse RandImpulse -- (State StdGen Impulse) | TurnToward Point2 Float - | MvTurnToward Point2 + | MvTurnToward Int Point2 Point2 Point2 -- the Int is just a label | MvForward | TurnTo Point2 | UseItem diff --git a/src/Dodge/Data/Creature.hs b/src/Dodge/Data/Creature.hs index dafc1c031..0128cfbe5 100644 --- a/src/Dodge/Data/Creature.hs +++ b/src/Dodge/Data/Creature.hs @@ -78,6 +78,7 @@ data Intention = Intention , _mvToPoint :: Maybe Point2 , _viewPoint :: Maybe Point2 } + deriving (Show) --deriving (Eq, Show, Read) --Generic, Flat) diff --git a/src/Dodge/Debug.hs b/src/Dodge/Debug.hs index 7be9b111c..87311f904 100644 --- a/src/Dodge/Debug.hs +++ b/src/Dodge/Debug.hs @@ -153,6 +153,7 @@ drawCrInfo u = foldMap f . IM.elems $ w ^. cWorld . lWorld . creatures , g "crAction" $ cr ^? crActionPlan . apAction , g "crImpulse" $ cr ^? crActionPlan . apImpulse , g "crName" $ cr ^? crName + , g "crIntention" $ cr ^? crIntention ] setClip :: String -> Universe -> Universe diff --git a/src/Dodge/Debug/Picture.hs b/src/Dodge/Debug/Picture.hs index 5b28256af..11a9bc298 100644 --- a/src/Dodge/Debug/Picture.hs +++ b/src/Dodge/Debug/Picture.hs @@ -209,7 +209,7 @@ drawPathBetween u = concat $ do let nodepos = (`getNodePos` w) nodelist = makePathBetween sp ep w return . setLayer DebugLayer $ - color rose (foldMap (arrowPath . mapMaybe nodepos) nodelist) + color rose (foldMap (arrowPath . mapMaybe nodepos) nodelist) <> drawCrossCol green sp <> drawCrossCol cyan ep <> foldMap (color green . arrow sp) (nodepos =<< walkableNodeNear w sp) diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 1757b54cd..4a5cad413 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -247,7 +247,8 @@ tutHub = do . (rmInPmnt .:~ (0, a)) . addDoorAtNthLinkToggleTerminal 1 ss j =<< roomNgon 6 100 - bcor <- treeAttachDeep (return door) <$> blockedCorridor + --bcor <- treeAttachDeep (return door) <$> blockedCorridor + bcor <- treeAttachDeep (return door) <$> return (return $ cleatOnward door) r1 <- r burstRifle <&> rmPmnts .:~ t r2 <- r (drumMag & itConsumables ?~ 90) --r2 <- r (tinMag & itConsumables ?~ 500) diff --git a/tags b/tags index 3323eb689..e0d5655dc 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 180;" o +<$> src/Dodge/Data/ActionPlan.hs 181;" o <$> src/Dodge/Data/CWorld.hs 47;" o <$> src/Dodge/Data/Camera.hs 39;" o <$> src/Dodge/Data/Creature.hs 89;" o @@ -36,18 +36,18 @@ AUTOPISTOL src/Dodge/Data/Item/Combine.hs 146;" C AUTORIFLE src/Dodge/Data/Item/Combine.hs 155;" C AZURE src/Color/Data.hs 23;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 27;" C -Action src/Dodge/Data/ActionPlan.hs 66;" t -ActionNothing src/Dodge/Data/ActionPlan.hs 71;" C +Action src/Dodge/Data/ActionPlan.hs 67;" t +ActionNothing src/Dodge/Data/ActionPlan.hs 72;" C ActionPlan src/Dodge/Data/ActionPlan.hs 16;" t -AddGoal src/Dodge/Data/ActionPlan.hs 45;" C -AimAt src/Dodge/Data/ActionPlan.hs 72;" C +AddGoal src/Dodge/Data/ActionPlan.hs 46;" C +AimAt src/Dodge/Data/ActionPlan.hs 73;" C AimStance src/Dodge/Data/AimStance.hs 11;" t Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C AllRoomClipBoundaries src/Dodge/Data/Config.hs 108;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C -Ambush src/Dodge/Data/ActionPlan.hs 154;" C +Ambush src/Dodge/Data/ActionPlan.hs 155;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 33;" C AmmoExtractPosition src/Dodge/Data/Muzzle.hs 21;" t AmmoMagSF src/Dodge/Data/ComposedItem.hs 24;" C @@ -58,7 +58,7 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 32;" C AmmoPerShot src/Dodge/Data/Muzzle.hs 61;" t AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C AmmoType src/Dodge/Data/AmmoType.hs 5;" t -ArbitraryAction src/Dodge/Data/ActionPlan.hs 143;" C +ArbitraryAction src/Dodge/Data/ActionPlan.hs 144;" C ArcNodeType src/Dodge/Data/LWorld.hs 157;" t ArcShad src/Picture/Data.hs 38;" C ArcStep src/Dodge/Data/ArcStep.hs 14;" t @@ -102,7 +102,7 @@ BULLETSYNTH src/Dodge/Data/Item/Combine.hs 93;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 156;" C BackdropCursor src/Dodge/Data/SelectionList.hs 21;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C -Bark src/Dodge/Data/ActionPlan.hs 40;" C +Bark src/Dodge/Data/ActionPlan.hs 41;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 73;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t @@ -207,8 +207,8 @@ CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 19;" t CardinalPoint src/Dodge/Data/CardinalPoint.hs 5;" t CardinalPointBetween src/Dodge/Data/CardinalPoint.hs 12;" t Carriage src/Dodge/Data/Creature/Stance.hs 24;" t -ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C -ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C +ChangePosture src/Dodge/Data/ActionPlan.hs 43;" C +ChangeStrategy src/Dodge/Data/ActionPlan.hs 45;" C ChaseAI src/Dodge/Data/Creature/Misc.hs 40;" C ChaseCrit src/Dodge/Data/Creature/Misc.hs 70;" C ChaseCritters src/Dodge/Data/Creature/State.hs 18;" C @@ -217,7 +217,7 @@ ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 31;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 30;" C Circ_collision_test src/Dodge/Data/Config.hs 85;" C Climate src/Dodge/Data/Scenario.hs 32;" C -CloseToMelee src/Dodge/Data/ActionPlan.hs 163;" C +CloseToMelee src/Dodge/Data/ActionPlan.hs 164;" C Close_shape_culling src/Dodge/Data/Config.hs 79;" C Cloud src/Dodge/Data/Cloud.hs 14;" t CloudType src/Dodge/Data/Cloud.hs 22;" t @@ -336,18 +336,18 @@ DisplayTerminal src/Dodge/Data/HUD.hs 29;" C Display_debug src/Dodge/Data/Config.hs 68;" C Distortion src/Dodge/Data/Distortion.hs 12;" t DivineRetribution src/Dodge/Data/Scenario.hs 35;" C -DoActionIf src/Dodge/Data/ActionPlan.hs 102;" C -DoActionIfElse src/Dodge/Data/ActionPlan.hs 106;" C -DoActionThen src/Dodge/Data/ActionPlan.hs 119;" C -DoActionWhile src/Dodge/Data/ActionPlan.hs 93;" C -DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 111;" C -DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 97;" C -DoActions src/Dodge/Data/ActionPlan.hs 116;" C -DoImpulses src/Dodge/Data/ActionPlan.hs 86;" C -DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 145;" C +DoActionIf src/Dodge/Data/ActionPlan.hs 103;" C +DoActionIfElse src/Dodge/Data/ActionPlan.hs 107;" C +DoActionThen src/Dodge/Data/ActionPlan.hs 120;" C +DoActionWhile src/Dodge/Data/ActionPlan.hs 94;" C +DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 112;" C +DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 98;" C +DoActions src/Dodge/Data/ActionPlan.hs 117;" C +DoImpulses src/Dodge/Data/ActionPlan.hs 87;" C +DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 146;" C DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C -DoReplicate src/Dodge/Data/ActionPlan.hs 126;" C -DoReplicatePartial src/Dodge/Data/ActionPlan.hs 130;" C +DoReplicate src/Dodge/Data/ActionPlan.hs 127;" C +DoReplicatePartial src/Dodge/Data/ActionPlan.hs 131;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C Door src/Dodge/Data/Door.hs 34;" t DoorClosed src/Dodge/Data/Door.hs 23;" C @@ -367,7 +367,7 @@ DrWdWd src/Dodge/Data/WorldEffect.hs 67;" t DrawForceField src/Dodge/Data/Wall.hs 47;" C DrawnWall src/Dodge/Data/Wall.hs 43;" C DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C -DropItem src/Dodge/Data/ActionPlan.hs 39;" C +DropItem src/Dodge/Data/ActionPlan.hs 40;" C DudPayload src/Dodge/Data/Payload.hs 13;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Data/Cloud.hs 29;" t @@ -440,7 +440,7 @@ FlameSound src/Dodge/Data/SoundOrigin.hs 29;" C FlameletBall src/Dodge/Data/EnergyBall/Type.hs 14;" C Flamer src/Dodge/Data/SoundOrigin.hs 27;" C Flaming src/Dodge/Data/Damage.hs 25;" C -Flank src/Dodge/Data/ActionPlan.hs 153;" C +Flank src/Dodge/Data/ActionPlan.hs 154;" C FlareType src/Dodge/Data/Muzzle.hs 28;" t FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C Flashing src/Dodge/Data/Damage.hs 27;" C @@ -448,7 +448,7 @@ FlatFaces src/Shape/Data.hs 17;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 16;" C FlechetteTrajectory src/Dodge/Data/Bullet.hs 45;" C FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 52;" C -Flee src/Dodge/Data/ActionPlan.hs 167;" C +Flee src/Dodge/Data/ActionPlan.hs 168;" C Flesh src/Dodge/Data/Material.hs 11;" C FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 16;" C FloatConst src/Dodge/Data/FloatFunction.hs 17;" C @@ -462,7 +462,7 @@ FlockArmourChaseAI src/Dodge/Data/Creature/Misc.hs 48;" C Floor src/Data/Tile.hs 11;" t FloorItem src/Dodge/Data/FloorItem.hs 15;" t Flying src/Dodge/Data/Creature/Stance.hs 31;" C -FollowImpulses src/Dodge/Data/ActionPlan.hs 158;" C +FollowImpulses src/Dodge/Data/ActionPlan.hs 159;" C FootForward src/Dodge/Data/Creature/Stance.hs 35;" t FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" C ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t @@ -497,12 +497,12 @@ GenParams src/Dodge/Data/GenParams.hs 15;" t GenWorld src/Dodge/Data/GenWorld.hs 24;" t GenericFaction src/Dodge/Data/Creature/State.hs 15;" C GeoObjShads src/Dodge/Data/Config.hs 102;" C -GetTo src/Dodge/Data/ActionPlan.hs 165;" C +GetTo src/Dodge/Data/ActionPlan.hs 166;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C Gib src/Dodge/Data/Prop.hs 43;" C Glass src/Dodge/Data/Material.hs 11;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C -Goal src/Dodge/Data/ActionPlan.hs 173;" t +Goal src/Dodge/Data/ActionPlan.hs 174;" t GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C GoesOnHead src/Dodge/Data/Equipment/Misc.hs 12;" C @@ -567,9 +567,9 @@ ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 34;" t Important src/Shape/Data.hs 35;" C Impulse src/Dodge/Data/ActionPlan.hs 27;" t -ImpulseNothing src/Dodge/Data/ActionPlan.hs 47;" C -ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 46;" C -ImpulsesList src/Dodge/Data/ActionPlan.hs 83;" C +ImpulseNothing src/Dodge/Data/ActionPlan.hs 48;" C +ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 47;" C +ImpulsesList src/Dodge/Data/ActionPlan.hs 84;" C InDivineZone src/Dodge/Data/Scenario.hs 22;" C InDream src/Dodge/Data/Scenario.hs 19;" C InInv src/Dodge/Data/Item/Location.hs 27;" C @@ -597,7 +597,7 @@ InventoryChange src/Dodge/Data/World.hs 32;" C InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 14;" C InventoryPathing src/Dodge/Data/Item/Combine.hs 39;" t InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C -Investigate src/Dodge/Data/ActionPlan.hs 160;" C +Investigate src/Dodge/Data/ActionPlan.hs 161;" C Invisible src/Dodge/Data/CamouflageStatus.hs 7;" C InwardShockwave src/Dodge/Data/Shockwave.hs 14;" C IsolationUnitSS src/Dodge/Data/Scenario.hs 101;" C @@ -628,7 +628,7 @@ JoystickSF src/Dodge/Data/ComposedItem.hs 26;" C Just' src/MaybeHelp.hs 13;" C JustStartedPlaying src/Sound/Data.hs 24;" C KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C -Kill src/Dodge/Data/ActionPlan.hs 175;" C +Kill src/Dodge/Data/ActionPlan.hs 176;" C LASER src/Dodge/Data/Item/Combine.hs 36;" C LDT src/Dodge/Data/DoubleTree.hs 34;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C @@ -645,7 +645,7 @@ LSParam src/Dodge/Data/LightSource.hs 16;" t LWorld src/Dodge/Data/LWorld.hs 95;" t LabLink src/Dodge/Data/Room.hs 46;" C LabSS src/Dodge/Data/Scenario.hs 97;" C -LabelAction src/Dodge/Data/ActionPlan.hs 67;" C +LabelAction src/Dodge/Data/ActionPlan.hs 68;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 24;" t Laboratory src/Dodge/Data/Scenario.hs 61;" C @@ -665,7 +665,7 @@ LaundrySS src/Dodge/Data/Scenario.hs 115;" C LayVars src/Dodge/Data/MetaTree.hs 29;" C Layer src/Picture/Data.hs 22;" t LayoutVars src/Dodge/Data/MetaTree.hs 29;" t -LeadTarget src/Dodge/Data/ActionPlan.hs 135;" C +LeadTarget src/Dodge/Data/ActionPlan.hs 136;" C LeftForward src/Dodge/Data/Creature/Stance.hs 35;" C LeftwardDT src/Dodge/Data/DoubleTree.hs 86;" C LeftwardLDT src/Dodge/Data/DoubleTree.hs 44;" C @@ -680,7 +680,7 @@ LimitedFood src/Dodge/Data/Scenario.hs 39;" C LimitedWater src/Dodge/Data/Scenario.hs 40;" C LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t -LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 174;" C +LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 175;" C LivingComplex src/Dodge/Data/Scenario.hs 68;" C LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C LoadingScreen src/Dodge/Data/Universe.hs 73;" C @@ -690,9 +690,9 @@ LocationDT src/Dodge/Data/DoubleTree.hs 101;" t LocationLDT src/Dodge/Data/DoubleTree.hs 61;" t LoneWolf src/Dodge/Data/Creature/State.hs 26;" C LongAI src/Dodge/Data/Creature/Misc.hs 50;" C -LookAround src/Dodge/Data/ActionPlan.hs 162;" C +LookAround src/Dodge/Data/ActionPlan.hs 163;" C LtAutoAI src/Dodge/Data/Creature/Misc.hs 44;" C -Lure src/Dodge/Data/ActionPlan.hs 155;" C +Lure src/Dodge/Data/ActionPlan.hs 156;" C MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 145;" C MAGENTA src/Color/Data.hs 20;" C MAGNET src/Dodge/Data/Item/Combine.hs 68;" C @@ -729,7 +729,7 @@ MagnetTrajectoryType src/Dodge/Data/Bullet.hs 53;" C MagnetUpdate src/Dodge/Data/Magnet.hs 13;" t MagnetUpdateTimer src/Dodge/Data/Magnet.hs 13;" C MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C -MakeSound src/Dodge/Data/ActionPlan.hs 43;" C +MakeSound src/Dodge/Data/ActionPlan.hs 44;" C MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 30;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 34;" C ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" t @@ -752,8 +752,8 @@ MdWdId src/Dodge/Data/WorldEffect.hs 46;" C MdWdWd src/Dodge/Data/WorldEffect.hs 45;" t MedBaySS src/Dodge/Data/Scenario.hs 100;" C Medium src/Shape/Data.hs 30;" C -Melee src/Dodge/Data/ActionPlan.hs 41;" C -MeleeStrike src/Dodge/Data/ActionPlan.hs 168;" C +Melee src/Dodge/Data/ActionPlan.hs 42;" C +MeleeStrike src/Dodge/Data/ActionPlan.hs 169;" C Memory src/Dodge/Data/Creature/Memory.hs 13;" t MenuOption src/Dodge/Data/Universe.hs 99;" t MenuOptionDisplay src/Dodge/Data/Universe.hs 94;" t @@ -802,8 +802,9 @@ MuzzleStopper src/Dodge/Data/Muzzle.hs 57;" C MuzzleTesla src/Dodge/Data/Muzzle.hs 43;" C MuzzleTractor src/Dodge/Data/Muzzle.hs 44;" C MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 55;" C -MvForward src/Dodge/Data/ActionPlan.hs 35;" C +MvForward src/Dodge/Data/ActionPlan.hs 36;" C MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C +MvTurnTowardTest src/Dodge/Data/ActionPlan.hs 35;" C MvWalking src/Dodge/Data/Creature/Misc.hs 30;" C NAILBOX src/Dodge/Data/Item/Combine.hs 78;" C NInt src/NewInt.hs 17;" C @@ -824,7 +825,7 @@ NewInt src/NewInt.hs 17;" t NewIntMap src/NewInt.hs 23;" t NewIntSet src/NewInt.hs 20;" t NewSideEffect src/Dodge/Data/Universe.hs 65;" C -NoAction src/Dodge/Data/ActionPlan.hs 138;" C +NoAction src/Dodge/Data/ActionPlan.hs 139;" C NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -970,9 +971,9 @@ PathEdge src/Dodge/Data/PathGraph.hs 40;" t PathEdgeNodes src/Dodge/Data/PathGraph.hs 33;" t PathFromEdge src/Dodge/Data/Room.hs 77;" t PathShowType src/Dodge/Data/Universe.hs 54;" t -PathTo src/Dodge/Data/ActionPlan.hs 76;" C +PathTo src/Dodge/Data/ActionPlan.hs 77;" C Pathing src/Dodge/Data/Config.hs 76;" C -Patrol src/Dodge/Data/ActionPlan.hs 156;" C +Patrol src/Dodge/Data/ActionPlan.hs 157;" C PausedTimeFlow src/Dodge/Data/World.hs 79;" C Payload src/Dodge/Data/Payload.hs 11;" t PenetrateBullet src/Dodge/Data/Bullet.hs 31;" C @@ -1091,9 +1092,9 @@ RProps src/Dodge/Layout/Generate.hs 13;" C RadarBlip src/Dodge/Data/RadarBlip.hs 14;" t RadarSweep src/Dodge/Data/RadarSweep.hs 19;" t RadialDistortion src/Dodge/Data/Distortion.hs 13;" C -RandImpulse src/Dodge/Data/ActionPlan.hs 50;" t -RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 52;" C -RandImpulseList src/Dodge/Data/ActionPlan.hs 51;" C +RandImpulse src/Dodge/Data/ActionPlan.hs 51;" t +RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 53;" C +RandImpulseList src/Dodge/Data/ActionPlan.hs 52;" C RandPS src/Dodge/Data/GenWorld.hs 58;" C RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C @@ -1103,7 +1104,7 @@ RectRoomType src/Dodge/Data/Room.hs 33;" C ReducedRocketSmoke src/Dodge/Data/Projectile.hs 55;" C ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C Religion src/Dodge/Data/Scenario.hs 47;" C -Reload src/Dodge/Data/ActionPlan.hs 166;" C +Reload src/Dodge/Data/ActionPlan.hs 167;" C RemoteDetonatorSF src/Dodge/Data/ComposedItem.hs 27;" C RemoteScreenSF src/Dodge/Data/ComposedItem.hs 25;" C RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 35;" C @@ -1166,7 +1167,7 @@ SaveSlotNum src/Dodge/Data/SaveSlot.hs 12;" C Scope src/Dodge/Data/Item/Scope.hs 13;" t ScreenLayer src/Dodge/Data/Universe.hs 81;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t -Search src/Dodge/Data/ActionPlan.hs 169;" C +Search src/Dodge/Data/ActionPlan.hs 170;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 23;" t SeeAbove src/Dodge/Data/Wall.hs 42;" C @@ -1185,7 +1186,7 @@ SelfTree src/Dodge/Data/MetaTree.hs 20;" t SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SensorType src/Dodge/Data/Machine/Sensor.hs 14;" t SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 33;" C -SentinelAt src/Dodge/Data/ActionPlan.hs 176;" C +SentinelAt src/Dodge/Data/ActionPlan.hs 177;" C SetLSCol src/Dodge/Data/WorldEffect.hs 26;" C SetTrigger src/Dodge/Data/WorldEffect.hs 24;" C ShadNum src/Picture/Data.hs 35;" t @@ -1202,7 +1203,7 @@ ShellSound src/Dodge/Data/SoundOrigin.hs 28;" C ShieldGroup src/Dodge/Data/Creature/State.hs 32;" C Shockwave src/Dodge/Data/Shockwave.hs 17;" t ShockwaveDirection src/Dodge/Data/Shockwave.hs 14;" t -ShootAt src/Dodge/Data/ActionPlan.hs 157;" C +ShootAt src/Dodge/Data/ActionPlan.hs 158;" C ShortShow src/ShortShow.hs 6;" c ShortString src/ShortShow.hs 16;" t Show_bound_box src/Dodge/Data/Config.hs 80;" C @@ -1266,12 +1267,12 @@ StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C Stance src/Dodge/Data/Creature/Stance.hs 17;" t StandaloneWall src/Dodge/Data/Wall/Structure.hs 13;" C Standing src/Dodge/Data/Creature/Stance.hs 29;" C -StartSentinelPost src/Dodge/Data/ActionPlan.hs 139;" C +StartSentinelPost src/Dodge/Data/ActionPlan.hs 140;" C StayInArea src/Dodge/Data/Scenario.hs 13;" C Stone src/Dodge/Data/Material.hs 11;" C StorageSS src/Dodge/Data/Scenario.hs 94;" C -Strategy src/Dodge/Data/ActionPlan.hs 152;" t -StrategyActions src/Dodge/Data/ActionPlan.hs 164;" C +Strategy src/Dodge/Data/ActionPlan.hs 153;" t +StrategyActions src/Dodge/Data/ActionPlan.hs 165;" C SubInventory src/Dodge/Data/HUD.hs 16;" t Superfluous src/Shape/Data.hs 38;" C Surface src/Shape/Data.hs 41;" t @@ -1281,7 +1282,7 @@ SwapEquipment src/Dodge/Data/RightButtonOptions.hs 26;" C Swarm src/Dodge/Data/Creature/State.hs 27;" C SwarmAI src/Dodge/Data/Creature/Misc.hs 46;" C SwarmCrit src/Dodge/Data/Creature/Misc.hs 71;" C -SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C +SwitchToItem src/Dodge/Data/ActionPlan.hs 39;" C TAPE src/Dodge/Data/Item/Combine.hs 56;" C TARGETING src/Dodge/Data/Item/Combine.hs 22;" C TCBase src/Dodge/Data/Terminal.hs 51;" C @@ -1374,8 +1375,8 @@ TriggerSF src/Dodge/Data/ComposedItem.hs 22;" C TriggerType src/Dodge/Data/TriggerType.hs 7;" t TurbineBaySS src/Dodge/Data/Scenario.hs 110;" C Turn src/Dodge/Data/ActionPlan.hs 30;" C -TurnTo src/Dodge/Data/ActionPlan.hs 36;" C -TurnToPoint src/Dodge/Data/ActionPlan.hs 77;" C +TurnTo src/Dodge/Data/ActionPlan.hs 37;" C +TurnToPoint src/Dodge/Data/ActionPlan.hs 78;" C TurnToward src/Dodge/Data/ActionPlan.hs 33;" C TurnTowardCr src/Dodge/Data/CreatureEffect.hs 11;" C Turret src/Dodge/Data/Machine.hs 51;" t @@ -1408,12 +1409,12 @@ UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C UseHeld src/Dodge/Data/Item/Use.hs 31;" C UseInt src/Dodge/Data/Item/Use.hs 33;" C UseInvItem src/Dodge/Data/WorldEffect.hs 35;" C -UseItem src/Dodge/Data/ActionPlan.hs 37;" C +UseItem src/Dodge/Data/ActionPlan.hs 38;" C UseItemWidth src/Dodge/Data/SelectionList.hs 39;" C UseMapper src/Dodge/Data/Item/Use.hs 39;" C UseNothing src/Dodge/Data/Item/Use.hs 34;" C UseScope src/Dodge/Data/Item/Use.hs 36;" C -UseSelf src/Dodge/Data/ActionPlan.hs 140;" C +UseSelf src/Dodge/Data/ActionPlan.hs 141;" C UseToggle src/Dodge/Data/Item/Use.hs 38;" C UseUpTo src/Dodge/Data/Muzzle.hs 63;" C UseValue src/Dodge/Data/Item/Use.hs 35;" C @@ -1448,7 +1449,7 @@ WHITE src/Color/Data.hs 27;" C WIRE src/Dodge/Data/Item/Combine.hs 86;" C WRISTARMOUR src/Dodge/Data/Item/Combine.hs 124;" C WRIST_ECG src/Dodge/Data/Item/Combine.hs 136;" C -WaitThen src/Dodge/Data/ActionPlan.hs 89;" C +WaitThen src/Dodge/Data/ActionPlan.hs 90;" C Walking src/Dodge/Data/Creature/Stance.hs 25;" C Wall src/Dodge/Data/Wall.hs 20;" t WallArcNode src/Dodge/Data/LWorld.hs 158;" C @@ -1464,8 +1465,8 @@ War src/Dodge/Data/Scenario.hs 28;" C WarmTime src/Dodge/Data/Item/Params.hs 21;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C -WarningCry src/Dodge/Data/ActionPlan.hs 161;" C -WatchAndWait src/Dodge/Data/ActionPlan.hs 159;" C +WarningCry src/Dodge/Data/ActionPlan.hs 162;" C +WatchAndWait src/Dodge/Data/ActionPlan.hs 160;" C WdBl src/Dodge/Data/WorldEffect.hs 52;" t WdBlBtOn src/Dodge/Data/WorldEffect.hs 58;" C WdBlConst src/Dodge/Data/WorldEffect.hs 55;" C @@ -1503,8 +1504,8 @@ YELLOW src/Color/Data.hs 18;" C ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 92;" C ZombieFaction src/Dodge/Data/Creature/State.hs 16;" C __Just' src/MaybeHelp.hs 13;" f -_actAction src/Dodge/Data/ActionPlan.hs 69;" f -_actLabel src/Dodge/Data/ActionPlan.hs 68;" f +_actAction src/Dodge/Data/ActionPlan.hs 70;" f +_actLabel src/Dodge/Data/ActionPlan.hs 69;" f _aimStance src/Dodge/Data/Creature/Stance.hs 39;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 27;" f @@ -1516,7 +1517,7 @@ _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 33;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 29;" f _alphaDivideShader src/Data/Preload/Render.hs 18;" f _alteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" f -_ambushTarget src/Dodge/Data/ActionPlan.hs 154;" f +_ambushTarget src/Dodge/Data/ActionPlan.hs 155;" f _ampBullet src/Dodge/Data/Item/Use.hs 52;" f _ampCreateGas src/Dodge/Data/Item/Use.hs 54;" f _ampPayload src/Dodge/Data/Item/Use.hs 53;" f @@ -1529,7 +1530,7 @@ _apInt src/Dodge/Data/Item/Use.hs 47;" f _apProjectiles src/Dodge/Data/Item/Use.hs 46;" f _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _aps src/Dodge/Data/Muzzle.hs 22;" f -_arbitraryAction src/Dodge/Data/ActionPlan.hs 143;" f +_arbitraryAction src/Dodge/Data/ActionPlan.hs 144;" f _arcNode src/Dodge/Data/LWorld.hs 113;" f _asDir src/Dodge/Data/ArcStep.hs 16;" f _asObject src/Dodge/Data/ArcStep.hs 17;" f @@ -1746,27 +1747,27 @@ _dmPos src/Dodge/Data/Damage.hs 27;" f _dmVector src/Dodge/Data/Damage.hs 20;" f _dmVector src/Dodge/Data/Damage.hs 23;" f _dmVector src/Dodge/Data/Damage.hs 26;" f -_doActionIfAction src/Dodge/Data/ActionPlan.hs 104;" f -_doActionIfCondition src/Dodge/Data/ActionPlan.hs 103;" f -_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 108;" f -_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 109;" f -_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 107;" f -_doActionThenFirst src/Dodge/Data/ActionPlan.hs 120;" f -_doActionThenSecond src/Dodge/Data/ActionPlan.hs 121;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 95;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 100;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 94;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 99;" f -_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 98;" f -_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 113;" f -_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 112;" f -_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 114;" f -_doActionsList src/Dodge/Data/ActionPlan.hs 117;" f -_doImpulsesList src/Dodge/Data/ActionPlan.hs 87;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 128;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 133;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 127;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 132;" f +_doActionIfAction src/Dodge/Data/ActionPlan.hs 105;" f +_doActionIfCondition src/Dodge/Data/ActionPlan.hs 104;" f +_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 109;" f +_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 110;" f +_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 108;" f +_doActionThenFirst src/Dodge/Data/ActionPlan.hs 121;" f +_doActionThenSecond src/Dodge/Data/ActionPlan.hs 122;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 96;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 101;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 95;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 100;" f +_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 99;" f +_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 114;" f +_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 113;" f +_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 115;" f +_doActionsList src/Dodge/Data/ActionPlan.hs 118;" f +_doImpulsesList src/Dodge/Data/ActionPlan.hs 88;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 129;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 134;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 128;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 133;" f _doors src/Dodge/Data/LWorld.hs 122;" f _drClosePos src/Dodge/Data/Door.hs 42;" f _drDeath src/Dodge/Data/Door.hs 44;" f @@ -1818,7 +1819,7 @@ _flPos src/Dodge/Data/Flame.hs 15;" f _flTimer src/Dodge/Data/Flame.hs 14;" f _flVel src/Dodge/Data/Flame.hs 16;" f _flames src/Dodge/Data/LWorld.hs 108;" f -_flankTarget src/Dodge/Data/ActionPlan.hs 153;" f +_flankTarget src/Dodge/Data/ActionPlan.hs 154;" f _flares src/Dodge/Data/LWorld.hs 111;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 16;" f _floorItems src/Dodge/Data/LWorld.hs 129;" f @@ -1898,8 +1899,8 @@ _imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" f _imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f -_impulseUseTarget src/Dodge/Data/ActionPlan.hs 46;" f -_impulsesListList src/Dodge/Data/ActionPlan.hs 84;" f +_impulseUseTarget src/Dodge/Data/ActionPlan.hs 47;" f +_impulsesListList src/Dodge/Data/ActionPlan.hs 85;" f _input src/Dodge/Data/World.hs 43;" f _isWarming src/Dodge/Data/Item/Params.hs 23;" f _ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" f @@ -1921,7 +1922,7 @@ _items src/Dodge/Data/LWorld.hs 98;" 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 175;" f +_killTarget src/Dodge/Data/ActionPlan.hs 176;" f _lAimPos src/Dodge/Data/LWorld.hs 145;" f _lClock src/Dodge/Data/LWorld.hs 140;" f _lInvLock src/Dodge/Data/LWorld.hs 146;" f @@ -1940,7 +1941,7 @@ _ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f _ldtLeft src/Dodge/Data/DoubleTree.hs 36;" f _ldtRight src/Dodge/Data/DoubleTree.hs 37;" f _ldtValue src/Dodge/Data/DoubleTree.hs 35;" f -_leadTargetBy src/Dodge/Data/ActionPlan.hs 136;" f +_leadTargetBy src/Dodge/Data/ActionPlan.hs 137;" f _lightSources src/Dodge/Data/LWorld.hs 135;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f @@ -1974,7 +1975,7 @@ _lyGen src/Dodge/Data/MetaTree.hs 30;" f _machines src/Dodge/Data/LWorld.hs 123;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f _magnets src/Dodge/Data/LWorld.hs 126;" f -_mainAction src/Dodge/Data/ActionPlan.hs 147;" f +_mainAction src/Dodge/Data/ActionPlan.hs 148;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" f _mapInvItmID src/Dodge/Data/HUD.hs 22;" f _mapInvOffset src/Dodge/Data/HUD.hs 20;" f @@ -2018,7 +2019,7 @@ _mdTimer src/Dodge/Data/Modification.hs 19;" f _mdUpdate src/Dodge/Data/Modification.hs 18;" f _mdUpdate src/Dodge/Data/Modification.hs 27;" f _meleeCooldown src/Dodge/Data/Creature/Misc.hs 70;" f -_meleeTarget src/Dodge/Data/ActionPlan.hs 163;" f +_meleeTarget src/Dodge/Data/ActionPlan.hs 164;" f _mgField src/Dodge/Data/Magnet.hs 25;" f _mgPos src/Dodge/Data/Magnet.hs 24;" f _moEff src/Dodge/Data/Universe.hs 101;" f @@ -2071,10 +2072,10 @@ _opTexture src/Dodge/Data/Wall.hs 44;" f _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 20;" f _opticPos src/Dodge/Data/Item/Scope.hs 16;" f _opticZoom src/Dodge/Data/Item/Scope.hs 19;" f -_partialAction src/Dodge/Data/ActionPlan.hs 131;" f +_partialAction src/Dodge/Data/ActionPlan.hs 132;" f _pastWorlds src/Dodge/Data/World.hs 38;" f _pathGraph src/Dodge/Data/CWorld.hs 28;" f -_pathToPoint src/Dodge/Data/ActionPlan.hs 76;" f +_pathToPoint src/Dodge/Data/ActionPlan.hs 77;" f _pbID src/Dodge/Data/PulseLaser.hs 24;" f _pbPos src/Dodge/Data/PulseLaser.hs 22;" f _pbTimer src/Dodge/Data/PulseLaser.hs 23;" f @@ -2266,8 +2267,8 @@ _sensAmount src/Dodge/Data/Machine/Sensor.hs 22;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 24;" f _sensType src/Dodge/Data/Machine/Sensor.hs 23;" f _sensorCoding src/Dodge/Data/GenParams.hs 16;" f -_sentinelDir src/Dodge/Data/ActionPlan.hs 176;" f -_sentinelPos src/Dodge/Data/ActionPlan.hs 176;" f +_sentinelDir src/Dodge/Data/ActionPlan.hs 177;" f +_sentinelPos src/Dodge/Data/ActionPlan.hs 177;" f _sfColor src/Shape/Data.hs 44;" f _sfShadowImportance src/Shape/Data.hs 45;" f _sfSize src/Shape/Data.hs 46;" f @@ -2289,7 +2290,7 @@ _siPayload src/Dodge/Data/SelectionList.hs 49;" f _siPictures src/Dodge/Data/SelectionList.hs 43;" f _siWidth src/Dodge/Data/SelectionList.hs 45;" f _sideEffect src/Loop/Data.hs 13;" f -_sideImpulses src/Dodge/Data/ActionPlan.hs 146;" f +_sideImpulses src/Dodge/Data/ActionPlan.hs 147;" f _silhouetteEBO src/Data/Preload/Render.hs 27;" f _skOldPos src/Dodge/Data/Spark.hs 17;" f _skPos src/Dodge/Data/Spark.hs 16;" f @@ -2343,8 +2344,8 @@ _taArcSteps src/Dodge/Data/TeslaArc.hs 19;" f _taColor src/Dodge/Data/TeslaArc.hs 20;" f _taTimer src/Dodge/Data/TeslaArc.hs 18;" f _targetCr src/Dodge/Data/Creature.hs 77;" f -_targetID src/Dodge/Data/ActionPlan.hs 73;" f -_targetSeenAt src/Dodge/Data/ActionPlan.hs 74;" f +_targetID src/Dodge/Data/ActionPlan.hs 74;" f +_targetSeenAt src/Dodge/Data/ActionPlan.hs 75;" f _tbPos src/Dodge/Data/TractorBeam.hs 14;" f _tbStartPos src/Dodge/Data/TractorBeam.hs 15;" f _tbTime src/Dodge/Data/TractorBeam.hs 17;" f @@ -2397,7 +2398,7 @@ _tuDir src/Dodge/Data/Machine.hs 55;" f _tuFireTime src/Dodge/Data/Machine.hs 54;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 53;" f _tuWeapon src/Dodge/Data/Machine.hs 52;" f -_turnToPoint src/Dodge/Data/ActionPlan.hs 78;" f +_turnToPoint src/Dodge/Data/ActionPlan.hs 79;" f _uInt src/Dodge/Data/Item/Use.hs 33;" f _uScope src/Dodge/Data/Item/Use.hs 36;" f _uValue src/Dodge/Data/Item/Use.hs 35;" f @@ -2419,7 +2420,7 @@ _unputTerminal src/Dodge/Data/GenWorld.hs 43;" f _useExactly src/Dodge/Data/Muzzle.hs 62;" f _useMapperLines src/Dodge/Data/Item/Use.hs 40;" f _useMapperPoints src/Dodge/Data/Item/Use.hs 41;" f -_useSelf src/Dodge/Data/ActionPlan.hs 141;" f +_useSelf src/Dodge/Data/ActionPlan.hs 142;" f _useToggle src/Dodge/Data/Item/Use.hs 38;" f _useUpTo src/Dodge/Data/Muzzle.hs 63;" f _uvCanContinue src/Dodge/Data/Universe.hs 39;" f @@ -2469,8 +2470,8 @@ _vxPos src/Picture/Data.hs 14;" f _vxShadNum src/Picture/Data.hs 18;" f _wCam src/Dodge/Data/World.hs 55;" f _wTime src/Dodge/Data/Item/Params.hs 22;" f -_waitThenAction src/Dodge/Data/ActionPlan.hs 91;" f -_waitThenTimer src/Dodge/Data/ActionPlan.hs 90;" f +_waitThenAction src/Dodge/Data/ActionPlan.hs 92;" f +_waitThenTimer src/Dodge/Data/ActionPlan.hs 91;" f _wallDamages src/Dodge/Data/LWorld.hs 121;" f _wallShader src/Data/Preload/Render.hs 48;" f _wallVBO src/Data/Preload/Render.hs 47;" f @@ -2591,7 +2592,7 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anythingHitCirc src/Dodge/Base/Collide.hs 348;" f applyCME src/Dodge/HeldUse.hs 369;" f -applyClip src/Dodge/Debug.hs 99;" f +applyClip src/Dodge/Debug.hs 96;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyEventIO src/Loop.hs 89;" f applyGravityPU src/Dodge/Projectile/Update.hs 40;" f @@ -2699,7 +2700,7 @@ batteryPack src/Dodge/Item/Equipment.hs 46;" f belowNumX src/Dodge/Combine/Graph.hs 86;" f beltMag src/Dodge/Item/Ammo.hs 39;" f bfsNodePoints src/Dodge/Path.hs 57;" f -bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f +bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 225;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f bgunSound src/Dodge/HeldUse.hs 514;" f bindFBO src/Render.hs 245;" f @@ -3077,15 +3078,15 @@ deadUpperBody src/Dodge/Creature/Picture.hs 113;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f debrisSPic src/Dodge/Prop/Draw.hs 20;" f debrisSize src/Dodge/Block/Debris.hs 77;" f -debugEvent src/Dodge/Debug.hs 37;" f -debugEvents src/Dodge/Debug.hs 22;" f -debugItem src/Dodge/Debug.hs 40;" f +debugEvent src/Dodge/Debug.hs 36;" f +debugEvents src/Dodge/Debug.hs 21;" f +debugItem src/Dodge/Debug.hs 39;" f debugMenu src/Dodge/Menu.hs 124;" f debugMenuOptions src/Dodge/Menu.hs 130;" f -debugMouseClickPos src/Dodge/Debug.hs 113;" f +debugMouseClickPos src/Dodge/Debug.hs 111;" f debugOn src/Dodge/Data/Config.hs 152;" f -debugShowPath src/Dodge/Debug.hs 72;" f -debugWritableValues src/Dodge/Debug.hs 87;" f +debugShowPath src/Dodge/Debug.hs 71;" f +debugWritableValues src/Dodge/Debug.hs 84;" f decodeSensorType src/Dodge/Terminal.hs 72;" f decomposeSelfTree src/Dodge/Tree/Compose.hs 61;" f decomposeTree src/Dodge/Tree/Compose.hs 58;" f @@ -3252,7 +3253,7 @@ doRoomShift src/Dodge/Room/Link.hs 33;" f doScopeZoom src/Dodge/Update/Scroll.hs 91;" f doSectionSize src/Dodge/DisplayInventory.hs 211;" f doSideEffects appDodge/Main.hs 124;" f -doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 172;" f +doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 171;" f doTestDrawing src/Dodge/Render.hs 41;" f doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f @@ -3291,7 +3292,7 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlock src/Dodge/Block/Draw.hs 7;" f -drawBoundingBox src/Dodge/Debug/Picture.hs 355;" f +drawBoundingBox src/Dodge/Debug/Picture.hs 356;" f drawBullet src/Dodge/Render/ShapePicture.hs 133;" f drawButton src/Dodge/Button/Draw.hs 10;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f @@ -3302,19 +3303,19 @@ drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 269;" f drawCombineInventory src/Dodge/Render/HUD.hs 182;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f -drawCoord src/Dodge/Debug/Picture.hs 383;" f -drawCrInfo src/Dodge/Debug.hs 137;" f -drawCrInfo' src/Dodge/Debug.hs 132;" f +drawCoord src/Dodge/Debug/Picture.hs 384;" f +drawCrInfo src/Dodge/Debug.hs 135;" f +drawCrInfo' src/Dodge/Debug.hs 130;" f drawCreature src/Dodge/Render/ShapePicture.hs 69;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 198;" f drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 72;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f -drawDDATest src/Dodge/Debug/Picture.hs 310;" f +drawDDATest src/Dodge/Debug/Picture.hs 311;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f -drawDebug src/Dodge/Debug.hs 174;" f -drawDoorPaths src/Dodge/Debug/Picture.hs 260;" f +drawDebug src/Dodge/Debug.hs 172;" f +drawDoorPaths src/Dodge/Debug/Picture.hs 261;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f drawDrag src/Dodge/Render/Picture.hs 200;" f drawDragDrop src/Dodge/Render/Picture.hs 229;" f @@ -3327,7 +3328,7 @@ drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 127;" f drawExamineInventory src/Dodge/Render/HUD.hs 198;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f -drawFarWallDetect src/Dodge/Debug/Picture.hs 277;" f +drawFarWallDetect src/Dodge/Debug/Picture.hs 278;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f @@ -3335,8 +3336,8 @@ drawGapPlus src/Dodge/Render/Picture.hs 280;" f drawGib src/Dodge/Prop/Draw.hs 39;" f drawHUD src/Dodge/Render/HUD.hs 51;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 19;" f -drawInspectWall src/Dodge/Debug/Picture.hs 252;" f -drawInspectWalls src/Dodge/Debug/Picture.hs 240;" f +drawInspectWall src/Dodge/Debug/Picture.hs 253;" f +drawInspectWalls src/Dodge/Debug/Picture.hs 241;" f drawInventory src/Dodge/Render/HUD.hs 58;" f drawItemChildrenConnect src/Dodge/Render/HUD.hs 329;" f drawItemConnections src/Dodge/Render/HUD.hs 319;" f @@ -3360,13 +3361,13 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f drawMouseCursor src/Dodge/Render/Picture.hs 85;" f drawMouseOver src/Dodge/Render/HUD.hs 109;" f -drawMousePosition src/Dodge/Debug/Picture.hs 373;" f +drawMousePosition src/Dodge/Debug/Picture.hs 374;" f drawMovingShape src/Dodge/Prop/Draw.hs 81;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f drawOptions src/Dodge/Render/MenuScreen.hs 22;" f drawPathBetween src/Dodge/Debug/Picture.hs 201;" f -drawPathEdge src/Dodge/Debug/Picture.hs 265;" f -drawPathing src/Dodge/Debug/Picture.hs 405;" f +drawPathEdge src/Dodge/Debug/Picture.hs 266;" f +drawPathing src/Dodge/Debug/Picture.hs 406;" f drawPlus src/Dodge/Render/Picture.hs 165;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f @@ -3407,15 +3408,15 @@ drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 212;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f drawWall src/Dodge/Wall/Draw.hs 7;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f -drawWallSearchRays src/Dodge/Debug/Picture.hs 319;" f -drawWallsNearCursor src/Dodge/Debug/Picture.hs 229;" f +drawWallSearchRays src/Dodge/Debug/Picture.hs 320;" f +drawWallsNearCursor src/Dodge/Debug/Picture.hs 230;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f -drawWallsNearYou src/Dodge/Debug/Picture.hs 220;" f +drawWallsNearYou src/Dodge/Debug/Picture.hs 221;" f drawWeapon src/Dodge/Creature/Volition.hs 15;" f -drawWlIDs src/Dodge/Debug/Picture.hs 391;" f -drawZoneCirc src/Dodge/Debug/Picture.hs 299;" f +drawWlIDs src/Dodge/Debug/Picture.hs 392;" f +drawZoneCirc src/Dodge/Debug/Picture.hs 300;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f -drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 292;" f +drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 293;" f dropAll src/Dodge/Creature/Update.hs 129;" f dropExcept src/Dodge/Creature/Action.hs 166;" f dropInventoryPath src/Dodge/HeldUse.hs 1351;" f @@ -3447,7 +3448,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f ebFlicker src/Dodge/EnergyBall.hs 70;" f ebtToDamage src/Dodge/EnergyBall.hs 93;" f edgeFormatting src/Dodge/Combine/Graph.hs 131;" f -edgeToPic src/Dodge/Debug/Picture.hs 414;" f +edgeToPic src/Dodge/Debug/Picture.hs 415;" f effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnRemove src/Dodge/Equipment.hs 19;" f eitType src/Dodge/Data/EquipType.hs 15;" f @@ -3624,8 +3625,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 533;" f getCommand src/Dodge/Terminal.hs 52;" f getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f -getCrsFromRooms src/Dodge/Room/Tutorial.hs 323;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 310;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 324;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 311;" f getDebugMouseOver src/Dodge/Update.hs 376;" f getDistortions src/Dodge/Render.hs 435;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f @@ -3641,7 +3642,7 @@ getNodePos src/Dodge/Path.hs 30;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f -getRoomsFromInts src/Dodge/Room/Tutorial.hs 306;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 307;" f getRootItemBounds src/Dodge/Render/HUD.hs 100;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3669,7 +3670,7 @@ glassSwitchBackCrits src/Dodge/Room/Room.hs 106;" f glauncherPic src/Dodge/Item/Draw/SPic.hs 400;" f glushortSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f -goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f +goToTarget src/Dodge/Creature/ReaderUpdate.hs 149;" f grahamEliminate src/Geometry/Polygon.hs 163;" f grahamScan src/Geometry/Polygon.hs 154;" f grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f @@ -4019,7 +4020,7 @@ linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f listConfig src/Dodge/Menu.hs 239;" f listControls src/Dodge/Menu.hs 251;" f listCursorChooseBorderScale src/Dodge/Render/List.hs 135;" f -listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f +listGuard src/Dodge/Creature/ReaderUpdate.hs 195;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 302;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 43;" f @@ -4323,7 +4324,7 @@ numSelfTree' src/Dodge/Tree/Compose.hs 110;" f numShads src/Picture/Data.hs 42;" f numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 184;" f -obstacleColor src/Dodge/Debug/Picture.hs 270;" f +obstacleColor src/Dodge/Debug/Picture.hs 271;" f obstructPathsCrossing src/Dodge/Path.hs 138;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f @@ -4354,7 +4355,7 @@ outwardIntegers src/Dodge/Base.hs 181;" f overCol src/Picture/Base.hs 308;" f overColObj src/Shape.hs 273;" f overColSH src/Shape.hs 241;" f -overDebugEvent src/Dodge/Debug.hs 31;" f +overDebugEvent src/Dodge/Debug.hs 30;" f overLnkPosDir src/Dodge/RoomLink.hs 115;" f overLnkType src/Dodge/RoomLink.hs 105;" f overPos src/Picture/Base.hs 303;" f @@ -4365,7 +4366,7 @@ overlapCircWalls src/Dodge/Base/Collide.hs 231;" f overlapCircWallsClosest src/Dodge/Base/Collide.hs 277;" f overlapSegCrs src/Dodge/Base/Collide.hs 61;" f overlapSegWalls src/Dodge/Base/Collide.hs 213;" f -overrideInternal src/Dodge/Creature/ReaderUpdate.hs 180;" f +overrideInternal src/Dodge/Creature/ReaderUpdate.hs 179;" f overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 35;" f overwriteLabel src/Dodge/Tree/Compose.hs 31;" f p src/ShortShow.hs 48;" f @@ -4710,7 +4711,7 @@ renderLayer src/Render.hs 234;" f renderLightingNoShadows src/Render.hs 48;" f renderListAt src/Dodge/Render/List.hs 192;" f renderShadows src/Render.hs 117;" f -replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f +replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 167;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f @@ -4858,7 +4859,7 @@ seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 576;" f seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 588;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f -searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 213;" f +searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 212;" f secondColumnLDP src/Dodge/ListDisplayParams.hs 43;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 198;" f sectionsSizes src/Dodge/DisplayInventory.hs 201;" f @@ -4880,7 +4881,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 197;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f sensorSPic src/Dodge/Machine/Draw.hs 81;" f -sensorTut src/Dodge/Room/Tutorial.hs 332;" f +sensorTut src/Dodge/Room/Tutorial.hs 333;" f sensorTypeDamages src/Dodge/Machine/Update.hs 234;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f @@ -4888,7 +4889,7 @@ sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f setAimPosture src/Dodge/Creature/YourControl.hs 145;" f setChannelPos src/Sound.hs 150;" f setClickWorldPos src/Dodge/Update.hs 101;" f -setClip src/Dodge/Debug.hs 160;" f +setClip src/Dodge/Debug.hs 158;" f setClusterID src/Dodge/Combine/Graph.hs 116;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -5058,7 +5059,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f -soundPic src/Dodge/Debug/Picture.hs 360;" f +soundPic src/Dodge/Debug/Picture.hs 361;" f soundStart src/Dodge/SoundLogic.hs 118;" f soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f @@ -5150,7 +5151,7 @@ stripZ src/Geometry/Vector3D.hs 97;" f subInvX src/Dodge/ListDisplayParams.hs 46;" f subMap src/TreeHelp.hs 119;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f -succB src/Dodge/Debug.hs 82;" f +succB src/Dodge/Debug.hs 79;" f swapAnyExtraSelection src/Dodge/Inventory/Swap.hs 57;" f swapInOutLinks src/Dodge/RoomLink.hs 98;" f swapIndices src/ListHelp.hs 50;" f @@ -5187,7 +5188,7 @@ targCorner src/Dodge/Targeting/Draw.hs 35;" f targetCursorPic src/Dodge/Targeting/Draw.hs 41;" f targetYouCognizant src/Dodge/Creature/ChooseTarget.hs 14;" f targetYouLOS src/Dodge/Creature/ChooseTarget.hs 8;" f -targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 202;" f +targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 201;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetingScope src/Dodge/Item/Scope.hs 38;" f teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 528;" f @@ -5357,9 +5358,9 @@ tutAnoTree src/Dodge/Room/Tutorial.hs 40;" f tutDrop src/Dodge/Room/Tutorial.hs 72;" f tutHub src/Dodge/Room/Tutorial.hs 231;" f tutLight src/Dodge/Room/Tutorial.hs 196;" f -tutRezBox src/Dodge/Room/Tutorial.hs 343;" f +tutRezBox src/Dodge/Room/Tutorial.hs 344;" f tutRoomTree src/Dodge/Floor.hs 21;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 367;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 368;" f tweenAngles src/Geometry/Vector.hs 190;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f @@ -5564,10 +5565,10 @@ verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 24;" f vgunMuzzles src/Dodge/HeldUse.hs 341;" f -viewBoundaries src/Dodge/Debug/Picture.hs 328;" f -viewClipBounds src/Dodge/Debug/Picture.hs 337;" f +viewBoundaries src/Dodge/Debug/Picture.hs 329;" f +viewClipBounds src/Dodge/Debug/Picture.hs 338;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f -viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f +viewTarget src/Dodge/Creature/ReaderUpdate.hs 154;" f violet src/Color.hs 21;" f visibleWalls src/Dodge/Base/Collide.hs 217;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f @@ -5591,7 +5592,7 @@ wasdM src/Dodge/WASD.hs 9;" f wasdMovement src/Dodge/Creature/YourControl.hs 169;" f wasdWithAiming src/Dodge/Creature/YourControl.hs 126;" f watchCombinations src/Dodge/Combine/Combinations.hs 16;" f -watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 185;" f +watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 184;" f weakenMatS src/Dodge/Material/Sound.hs 18;" f weaponBehindPillar src/Dodge/Room/Room.hs 186;" f weaponBetweenPillars src/Dodge/Room/Room.hs 202;" f