diff --git a/src/Dodge/Creature/ChaseCrit.hs b/src/Dodge/Creature/ChaseCrit.hs index 24dff2dde..2748eded0 100644 --- a/src/Dodge/Creature/ChaseCrit.hs +++ b/src/Dodge/Creature/ChaseCrit.hs @@ -5,7 +5,7 @@ module Dodge.Creature.ChaseCrit ( ) where --import Dodge.Data.Equipment.Misc ---import Control.Lens +import Control.Lens import Dodge.Data.Creature import Dodge.Default --import Dodge.Item.Equipment @@ -27,12 +27,11 @@ invisibleChaseCrit = chaseCrit :: Creature chaseCrit = defaultCreature - { _crName = "chaseCrit" - , _crHP = HP 150 - , _crInv = mempty - , _crFaction = ColorFaction green - , _crVocalization = chaseCritVocalization - } + & crName .~ "chaseCrit" + & crHP .~ HP 150 + & crFaction .~ ColorFaction green + & crVocalization .~ chaseCritVocalization + & crStance . strideLength .~ 30 chaseCritVocalization :: Vocalization chaseCritVocalization = Vocalization (50, 200) 0 diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index 672dee84a..ed2c263c1 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -45,6 +45,7 @@ followImpulse cr w imp = case imp of Bark sid -> (soundStart (CrMouth cid) cpos sid Nothing, resetCrVocCoolDown w cr) Move p -> crup $ crMvBy p (w ^. cWorld . lWorld) cr MoveForward x -> crup $ crMvForward x (w ^. cWorld . lWorld) cr + MoveNoStride p -> crup $ crMvByNoStride p (w ^. cWorld . lWorld) cr Turn a -> crup $ cr & crDir +~ a TurnToward p a -> crup $ creatureTurnToward p a cr TurnTo p -> crup $ creatureTurnTo p cr diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index 3d804016a..1c0bbb0f7 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -3,6 +3,7 @@ module Dodge.Creature.Impulse.Movement ( creatureTurnTowardDir, crMvAbsolute, crMvBy, + crMvByNoStride, crMvForward, creatureTurnTo, ) where @@ -26,6 +27,14 @@ crMvBy :: Creature crMvBy p lw cr = crMvAbsolute lw (rotateV (_crDir cr) p) cr +crMvByNoStride :: + -- | Movement translation vector, will be made relative to creature direction + Point2 -> + LWorld -> + Creature -> + Creature +crMvByNoStride p lw cr = crMvAbsoluteNoStride lw (rotateV (_crDir cr) p) cr + crMvAbsolute :: LWorld -> Point2 -> Creature -> Creature crMvAbsolute lw p' cr = advanceStepCounter (magV p) cr @@ -34,6 +43,11 @@ crMvAbsolute lw p' cr = where p = strengthFactor (getCrMoveSpeed lw cr) *.* p' +crMvAbsoluteNoStride :: LWorld -> Point2 -> Creature -> Creature +crMvAbsoluteNoStride lw p' cr = cr & crPos . _xy +~ p + where + p = strengthFactor (getCrMoveSpeed lw cr) *.* p' + strengthFactor :: Int -> Float strengthFactor i | i > 50 = 1 diff --git a/src/Dodge/Creature/State/WalkCycle.hs b/src/Dodge/Creature/State/WalkCycle.hs index 593519364..947a8a3c7 100644 --- a/src/Dodge/Creature/State/WalkCycle.hs +++ b/src/Dodge/Creature/State/WalkCycle.hs @@ -10,7 +10,7 @@ import Sound.Data updateWalkCycle :: Int -> World -> World updateWalkCycle cid w - | Just cr <- w ^? cWorld . lWorld . creatures . ix 0 + | Just cr <- w ^? cWorld . lWorld . creatures . ix cid , Walking x ff <- cr ^. crStance . carriage , x >= cr ^. crStance . strideLength = w diff --git a/src/Dodge/Creature/Update.hs b/src/Dodge/Creature/Update.hs index cc314772a..95ee11ebf 100644 --- a/src/Dodge/Creature/Update.hs +++ b/src/Dodge/Creature/Update.hs @@ -47,6 +47,7 @@ updateCreature' cr = LampCrit{} -> updateLampoid cr BarrelCrit bt -> updateBarreloid bt cr AvatarDead -> id + ChaseCrit {} -> crUpdate updateHumanoid cr _ -> crUpdate updateHumanoid cr {- | this seems to work, but I am not sure about the ordering: diff --git a/src/Dodge/Data/ActionPlan.hs b/src/Dodge/Data/ActionPlan.hs index 4193f586d..cebb622fa 100644 --- a/src/Dodge/Data/ActionPlan.hs +++ b/src/Dodge/Data/ActionPlan.hs @@ -27,6 +27,7 @@ data ActionPlan data Impulse = Move Point2 | MoveForward Float + | MoveNoStride Point2 | Turn Float | RandomTurn Float | RandomImpulse RandImpulse -- (State StdGen Impulse) diff --git a/src/Dodge/Default/Creature.hs b/src/Dodge/Default/Creature.hs index 56a9a8558..6b0edecb2 100644 --- a/src/Dodge/Default/Creature.hs +++ b/src/Dodge/Default/Creature.hs @@ -108,7 +108,7 @@ defaultAimingCrit :: Creature defaultAimingCrit = defaultCreature yourDefaultStrideLength :: Float -yourDefaultStrideLength = 40 +yourDefaultStrideLength = 35 --defaultState :: CreatureState --defaultState = diff --git a/src/Dodge/Humanoid.hs b/src/Dodge/Humanoid.hs index e43058b06..7c69b93df 100644 --- a/src/Dodge/Humanoid.hs +++ b/src/Dodge/Humanoid.hs @@ -179,26 +179,8 @@ updateHumanoid cr = case cr ^?! crType of -- , WaitThen 1 $ (DoImpulses [ChangeStrategy WatchAndWait]) -- ] -humanoidAIList :: - [World -> Creature -> Creature] -> - Creature -> - World -> - World -humanoidAIList - = impulsiveAIBefore . chainCreatureUpdates - ----- bit of a hack to get new random generators after each creature's update ---defaultImpulsive :: --- [World -> Creature -> Creature] -> --- Creature -> --- World -> --- World ---defaultImpulsive --- = fmap (fmap updateRandGen) . crUpdate . impulsiveAIBefore . chainCreatureUpdates --- where --- updateRandGen w = --- let (_, g) = randomR (0, 1 :: Int) (_randGen w) --- in w & randGen .~ g +humanoidAIList :: [World -> Creature -> Creature] -> Creature -> World -> World +humanoidAIList = impulsiveAIBefore . chainCreatureUpdates chooseMovementPistol :: Creature -> World -> Action chooseMovementPistol cr w = diff --git a/src/Dodge/RandImpulse.hs b/src/Dodge/RandImpulse.hs index dc1a2b3a0..7cd3fb579 100644 --- a/src/Dodge/RandImpulse.hs +++ b/src/Dodge/RandImpulse.hs @@ -7,4 +7,4 @@ import RandomHelp doRandImpulse :: RandImpulse -> State StdGen Impulse doRandImpulse ri = case ri of RandImpulseList xs -> takeOne xs - RandImpulseCircMove r -> Move <$> randInCirc r + RandImpulseCircMove r -> MoveNoStride <$> randInCirc r diff --git a/src/Dodge/Room/Room.hs b/src/Dodge/Room/Room.hs index 0dd270bda..ebcd2b179 100644 --- a/src/Dodge/Room/Room.hs +++ b/src/Dodge/Room/Room.hs @@ -399,9 +399,9 @@ critsRoom :: Int -> State LayoutVars (Tree Room) critsRoom i = join $ takeOne --- [ return <$> roomCCrits i --- , return <$> critsPillarRoom i - [ return <$> glassSwitchBackCrits i + [ return <$> roomCCrits i + , return <$> critsPillarRoom i + , return <$> glassSwitchBackCrits i ] -- cor <- shuffleLinks corridor diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index 4b6d3cd53..c05512b10 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -1,5 +1,6 @@ module Dodge.Room.Tutorial where +--import Dodge.Room.LongDoor import Dodge.Layout import Dodge.Item.Held.Utility import Control.Monad @@ -42,6 +43,10 @@ tutAnoTree = do foldMTRS [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox , corDoor +-- , corDoor +-- , tToBTree "t" . return . cleatOnward <$> slowDoorRoom +-- , corDoor +-- , corDoor , tutHub , tutLight , tutDrop diff --git a/tags b/tags index 9c730d535..0e4c5f7fb 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 90;" 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 +Aiming src/Dodge/Data/Creature/Stance.hs 36;" 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 @@ -66,7 +66,7 @@ Arcing src/Dodge/Data/Item/Params.hs 17;" C ArmourySS src/Dodge/Data/Scenario.hs 112;" C Asleep src/Dodge/Data/Creature/Perception.hs 54;" C AsteroidStrike src/Dodge/Data/Scenario.hs 33;" C -AtEase src/Dodge/Data/Creature/Stance.hs 40;" C +AtEase src/Dodge/Data/Creature/Stance.hs 37;" C AtomicWaste src/Dodge/Data/Scenario.hs 26;" C AttachParams src/Dodge/Data/Item/Use.hs 45;" t AttachType src/Dodge/Data/Item/Combine.hs 91;" 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 @@ -144,7 +144,7 @@ BlockedLink src/Dodge/Data/Room.hs 50;" C BloomLayer src/Picture/Data.hs 25;" C BloomNoZWrite src/Picture/Data.hs 26;" C Blunt src/Dodge/Data/Damage.hs 21;" C -Boosting src/Dodge/Data/Creature/Stance.hs 32;" C +Boosting src/Dodge/Data/Creature/Stance.hs 29;" C BottomMenuOption src/Dodge/Data/Universe.hs 77;" C BounceBullet src/Dodge/Data/Bullet.hs 30;" C Bound_box_screen src/Dodge/Data/Config.hs 81;" C @@ -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 @@ -218,7 +218,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 @@ -337,18 +337,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 @@ -368,7 +368,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 @@ -441,7 +441,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 @@ -449,7 +449,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 @@ -458,13 +458,13 @@ FloatFOV src/Dodge/Data/FloatFunction.hs 13;" C FloatFloat src/Dodge/Data/FloatFunction.hs 11;" t FloatID src/Dodge/Data/FloatFunction.hs 12;" C FloatLessCheck src/Dodge/Data/FloatFunction.hs 14;" C -Floating src/Dodge/Data/Creature/Stance.hs 30;" C +Floating src/Dodge/Data/Creature/Stance.hs 27;" C 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 -FootForward src/Dodge/Data/Creature/Stance.hs 35;" t +Flying src/Dodge/Data/Creature/Stance.hs 28;" C +FollowImpulses src/Dodge/Data/ActionPlan.hs 159;" C +FootForward src/Dodge/Data/Creature/Stance.hs 32;" t FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" C ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 14;" t @@ -498,12 +498,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 @@ -568,9 +568,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 @@ -598,7 +598,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 @@ -629,7 +629,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 @@ -646,7 +646,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 @@ -666,8 +666,8 @@ 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 -LeftForward src/Dodge/Data/Creature/Stance.hs 35;" C +LeadTarget src/Dodge/Data/ActionPlan.hs 136;" C +LeftForward src/Dodge/Data/Creature/Stance.hs 32;" C LeftwardDT src/Dodge/Data/DoubleTree.hs 86;" C LeftwardLDT src/Dodge/Data/DoubleTree.hs 44;" C Lethargic src/Dodge/Data/Creature/Perception.hs 55;" C @@ -681,7 +681,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 @@ -691,9 +691,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 @@ -730,7 +730,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 @@ -753,8 +753,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 @@ -783,6 +783,7 @@ Mouse_position src/Dodge/Data/Config.hs 73;" C Move src/Dodge/Data/ActionPlan.hs 28;" C MoveEquipment src/Dodge/Data/RightButtonOptions.hs 22;" C MoveForward src/Dodge/Data/ActionPlan.hs 29;" C +MoveNoStride src/Dodge/Data/ActionPlan.hs 30;" C MultGunAI src/Dodge/Data/Creature/Misc.hs 51;" C Mute src/Dodge/Data/Creature/Misc.hs 21;" C Muzzle src/Dodge/Data/Muzzle.hs 9;" t @@ -803,8 +804,8 @@ 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 -MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C +MvForward src/Dodge/Data/ActionPlan.hs 36;" C +MvTurnToward 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 @@ -825,7 +826,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 @@ -931,7 +932,7 @@ Opaque src/Dodge/Data/Wall.hs 44;" C OpticScope src/Dodge/Data/Item/Scope.hs 14;" C OptionScreen src/Dodge/Data/Universe.hs 82;" C OptionScreenFlag src/Dodge/Data/Universe.hs 72;" t -OutAction src/Dodge/Creature/Action.hs 47;" t +OutAction src/Dodge/Creature/Action.hs 44;" t OutLink src/Dodge/Data/Room.hs 44;" C OutsideTerminal src/Dodge/Data/Input.hs 30;" C OutwardShockwave src/Dodge/Data/Shockwave.hs 14;" C @@ -971,9 +972,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 @@ -1003,7 +1004,7 @@ Polyhedra src/Polyhedra/Data.hs 13;" t Polyhedron src/Polyhedra/Data.hs 13;" C PosInf src/Dodge/Data/CardinalPoint.hs 36;" C PosRooms src/Dodge/Tree/Shift.hs 28;" t -Posture src/Dodge/Data/Creature/Stance.hs 38;" t +Posture src/Dodge/Data/Creature/Stance.hs 35;" t PrWdLsId src/Dodge/Data/Prop.hs 83;" C PrWdLsLs src/Dodge/Data/Prop.hs 82;" t PrWdLsSetColor src/Dodge/Data/Prop.hs 85;" C @@ -1092,19 +1093,19 @@ 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 +RandomImpulse src/Dodge/Data/ActionPlan.hs 33;" C +RandomTurn src/Dodge/Data/ActionPlan.hs 32;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C RecRoomSS src/Dodge/Data/Scenario.hs 103;" C 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 @@ -1124,7 +1125,7 @@ Revenge src/Dodge/Data/Scenario.hs 6;" C RewindLeftClick src/Dodge/Data/World.hs 75;" C RezBaySS src/Dodge/Data/Scenario.hs 105;" C RightButtonState src/Dodge/Data/RightButtonOptions.hs 15;" t -RightForward src/Dodge/Data/Creature/Stance.hs 35;" C +RightForward src/Dodge/Data/Creature/Stance.hs 32;" C RightwardDT src/Dodge/Data/DoubleTree.hs 93;" C RightwardLDT src/Dodge/Data/DoubleTree.hs 52;" C Rocket src/Dodge/Data/Projectile.hs 34;" C @@ -1167,7 +1168,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 @@ -1186,7 +1187,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 @@ -1203,7 +1204,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,13 +1267,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 13;" C -Standing src/Dodge/Data/Creature/Stance.hs 29;" C -StartSentinelPost src/Dodge/Data/ActionPlan.hs 139;" C +Standing src/Dodge/Data/Creature/Stance.hs 26;" 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 @@ -1282,7 +1283,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,10 +1375,10 @@ Trie src/SimpleTrie.hs 10;" t 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 -TurnToward src/Dodge/Data/ActionPlan.hs 33;" C +Turn src/Dodge/Data/ActionPlan.hs 31;" C +TurnTo src/Dodge/Data/ActionPlan.hs 37;" C +TurnToPoint src/Dodge/Data/ActionPlan.hs 78;" C +TurnToward src/Dodge/Data/ActionPlan.hs 34;" C TurnTowardCr src/Dodge/Data/CreatureEffect.hs 11;" C Turret src/Dodge/Data/Machine.hs 51;" t TurretInt src/Dodge/Data/Item/Location.hs 19;" t @@ -1409,12 +1410,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 @@ -1449,7 +1450,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 @@ -1465,8 +1466,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 @@ -1504,9 +1505,9 @@ 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 -_aimStance src/Dodge/Data/Creature/Stance.hs 39;" f +_actAction src/Dodge/Data/ActionPlan.hs 70;" f +_actLabel src/Dodge/Data/ActionPlan.hs 69;" f +_aimStance src/Dodge/Data/Creature/Stance.hs 36;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 27;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 32;" f @@ -1517,7 +1518,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 @@ -1530,7 +1531,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 @@ -1708,7 +1709,7 @@ _creatureGroups src/Dodge/Data/LWorld.hs 97;" f _creatures src/Dodge/Data/LWorld.hs 96;" f _csLinks src/Dodge/Data/RoomCluster.hs 10;" f _currentArc src/Dodge/Data/Item/Params.hs 17;" f -_currentFoot src/Dodge/Data/Creature/Stance.hs 27;" f +_currentFoot src/Dodge/Data/Creature/Stance.hs 25;" f _cwGen src/Dodge/Data/CWorld.hs 25;" f _cwTiles src/Dodge/Data/CWorld.hs 27;" f _cwgGameRooms src/Dodge/Data/CWorld.hs 37;" f @@ -1747,27 +1748,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 @@ -1819,7 +1820,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 @@ -1899,8 +1900,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 @@ -1922,7 +1923,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 @@ -1941,7 +1942,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 @@ -1975,7 +1976,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 @@ -2019,7 +2020,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 @@ -2072,10 +2073,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 @@ -2267,8 +2268,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 @@ -2290,7 +2291,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 @@ -2323,7 +2324,7 @@ _ssItems src/Dodge/Data/SelectionList.hs 30;" f _ssOffset src/Dodge/Data/SelectionList.hs 31;" f _ssShownItems src/Dodge/Data/SelectionList.hs 32;" f _ssShownLength src/Dodge/Data/SelectionList.hs 33;" f -_strideAmount src/Dodge/Data/Creature/Stance.hs 26;" f +_strideAmount src/Dodge/Data/Creature/Stance.hs 25;" f _strideLength src/Dodge/Data/Creature/Stance.hs 20;" f _stuckCrID src/Dodge/Data/Projectile.hs 50;" f _stuckCrOffset src/Dodge/Data/Projectile.hs 50;" f @@ -2344,8 +2345,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 @@ -2398,7 +2399,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 @@ -2420,7 +2421,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 @@ -2470,8 +2471,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 @@ -2528,7 +2529,7 @@ addDepth src/Picture/Base.hs 133;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f addDoorWall src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 53;" f -addEdges src/Dodge/Path.hs 132;" f +addEdges src/Dodge/Path.hs 134;" f addGib4 src/Dodge/Prop/Gib.hs 52;" f addGibAt src/Dodge/Prop/Gib.hs 63;" f addGibAtDir src/Dodge/Prop/Gib.hs 69;" f @@ -2543,8 +2544,8 @@ addGirderNS' src/Dodge/Room/Modify/Girder.hs 55;" f addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f addIndefiniteArticle src/StringHelp.hs 17;" f -addNodes src/Dodge/Path.hs 125;" f -addPane src/Dodge/Placement/PlaceSpot.hs 178;" f +addNodes src/Dodge/Path.hs 127;" f +addPane src/Dodge/Placement/PlaceSpot.hs 183;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f addPointPolygon src/Geometry/Polygon.hs 134;" f addPolyWall src/Dodge/LevelGen/StaticWalls.hs 141;" f @@ -2560,7 +2561,7 @@ addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f advanceScrollAmount src/Dodge/Update.hs 419;" f advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f -advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 46;" f +advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 60;" f aimDelaySweep src/Dodge/Render/Picture.hs 287;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimTurn src/Dodge/Creature/YourControl.hs 181;" f @@ -2590,7 +2591,7 @@ angleBetween src/Geometry.hs 158;" f angleVV src/Geometry/Vector.hs 58;" f angleVV3 src/Geometry/Vector3D.hs 122;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f -anythingHitCirc src/Dodge/Base/Collide.hs 348;" f +anythingHitCirc src/Dodge/Base/Collide.hs 355;" f applyCME src/Dodge/HeldUse.hs 369;" f applyClip src/Dodge/Debug.hs 96;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f @@ -2699,7 +2700,7 @@ battery src/Dodge/Item/Ammo.hs 63;" f 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 67;" f +bfsNodePoints src/Dodge/Path.hs 69;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 225;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f bgunSound src/Dodge/HeldUse.hs 514;" f @@ -2770,13 +2771,13 @@ bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f burstRifle src/Dodge/Item/Held/Cane.hs 30;" f buttonFlip src/Dodge/Button/Event.hs 17;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 702;" f -cChasm src/Dodge/Room/Tutorial.hs 108;" f +cChasm src/Dodge/Room/Tutorial.hs 113;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f calcTexCoord src/Tile.hs 19;" f -canSee src/Dodge/Base/Collide.hs 334;" f -canSeeIndirect src/Dodge/Base/Collide.hs 341;" f +canSee src/Dodge/Base/Collide.hs 341;" f +canSeeIndirect src/Dodge/Base/Collide.hs 348;" f cancelExamineInventory src/Dodge/Item/BackgroundEffect.hs 23;" f capacitor src/Dodge/Item/Ammo.hs 69;" f cardEightVec src/Dodge/Base/CardinalPoint.hs 17;" f @@ -2804,13 +2805,13 @@ chaseCritAwarenessUpdate src/Dodge/Creature/Perception.hs 65;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 120;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 37;" f -chasmSimpleMaze src/Dodge/Room/Tutorial.hs 175;" f -chasmTest src/Dodge/Creature/Update.hs 132;" f +chasmSimpleMaze src/Dodge/Room/Tutorial.hs 180;" f +chasmTest src/Dodge/Creature/Update.hs 133;" f chasmWallToSurface src/Dodge/Base/Collide.hs 120;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f -checkDeath src/Dodge/Creature/Update.hs 70;" f -checkDeath' src/Dodge/Creature/Update.hs 73;" f +checkDeath src/Dodge/Creature/Update.hs 71;" f +checkDeath' src/Dodge/Creature/Update.hs 74;" f checkEndGame src/Dodge/Update.hs 768;" f checkErrorGL src/Shader/Compile.hs 255;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -2828,15 +2829,15 @@ chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 35;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 76;" f -chooseMovementPistol src/Dodge/Humanoid.hs 203;" f -chooseMovementPistol' src/Dodge/Humanoid.hs 208;" f +chooseMovementPistol src/Dodge/Humanoid.hs 185;" f +chooseMovementPistol' src/Dodge/Humanoid.hs 190;" f chooseMovementSpreadGun src/Dodge/CreatureEffect.hs 59;" f circHitWall src/Dodge/Base/Collide.hs 242;" f circInPolygon src/Geometry/Polygon.hs 102;" f -circOnAnyCr src/Dodge/Base/Collide.hs 297;" f +circOnAnyCr src/Dodge/Base/Collide.hs 293;" f circOnSeg src/Geometry.hs 101;" f circOnSegNoEndpoints src/Geometry.hs 91;" f -circOnSomeWall src/Dodge/Base/Collide.hs 291;" f +circOnSomeWall src/Dodge/Base/Collide.hs 287;" f circle src/Picture/Base.hs 180;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 56;" f circleSolid src/Picture/Base.hs 164;" f @@ -2937,7 +2938,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 131;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 385;" f cornerList src/Preload/Render.hs 198;" f -corpseOrGib src/Dodge/Creature/Update.hs 111;" f +corpseOrGib src/Dodge/Creature/Update.hs 112;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorN src/Dodge/Room/Corridor.hs 52;" f @@ -2965,9 +2966,11 @@ crIsArmouredFrom src/Dodge/Creature/Test.hs 108;" f crMass src/Dodge/Creature/Mass.hs 5;" f crMaterial src/Dodge/Creature/Material.hs 8;" f crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f -crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 29;" f -crMvBy src/Dodge/Creature/Impulse/Movement.hs 21;" f -crMvForward src/Dodge/Creature/Impulse/Movement.hs 43;" f +crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 38;" f +crMvAbsoluteNoStride src/Dodge/Creature/Impulse/Movement.hs 46;" f +crMvBy src/Dodge/Creature/Impulse/Movement.hs 22;" f +crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 30;" f +crMvForward src/Dodge/Creature/Impulse/Movement.hs 57;" f crMvType src/Dodge/Creature/MoveType.hs 6;" f crNearPoint src/Dodge/Creature/Test.hs 131;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f @@ -2979,7 +2982,7 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 867;" f crStratConMatches src/Dodge/Creature/Test.hs 80;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f -crUpdate src/Dodge/Creature/Update.hs 59;" f +crUpdate src/Dodge/Creature/Update.hs 60;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f @@ -3004,9 +3007,9 @@ createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f creatureShootLaser src/Dodge/HeldUse.hs 842;" f creatureShootPulseLaser src/Dodge/HeldUse.hs 873;" f -creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 54;" f -creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 75;" f -creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 64;" f +creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 68;" f +creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 89;" f +creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 78;" f critInDeadEnd src/Dodge/Room/Room.hs 243;" f critsPillarRoom src/Dodge/Room/Room.hs 390;" f critsRoom src/Dodge/Room/Room.hs 398;" f @@ -3417,10 +3420,10 @@ drawWlIDs src/Dodge/Debug/Picture.hs 393;" f drawZoneCirc src/Dodge/Debug/Picture.hs 301;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 294;" f -dropAll src/Dodge/Creature/Update.hs 129;" f -dropExcept src/Dodge/Creature/Action.hs 166;" f +dropAll src/Dodge/Creature/Update.hs 130;" f +dropExcept src/Dodge/Creature/Action.hs 163;" f dropInventoryPath src/Dodge/HeldUse.hs 1351;" f -dropItem src/Dodge/Creature/Action.hs 173;" f +dropItem src/Dodge/Creature/Action.hs 170;" f dropper src/Dodge/Item/Scope.hs 76;" f drumMag src/Dodge/Item/Ammo.hs 34;" f dsZoneSize src/Dodge/Zoning/Cloud.hs 42;" f @@ -3562,7 +3565,7 @@ floorItemSPic src/Dodge/Render/ShapePicture.hs 120;" f floorWire src/Dodge/Wire.hs 13;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 554;" f -foldMTRS src/Dodge/Room/Tutorial.hs 53;" f +foldMTRS src/Dodge/Room/Tutorial.hs 58;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f followImpulse src/Dodge/Creature/Impulse.hs 39;" f @@ -3625,8 +3628,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 324;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 311;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 329;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 316;" f getDebugMouseOver src/Dodge/Update.hs 376;" f getDistortions src/Dodge/Render.hs 435;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1264;" f @@ -3638,11 +3641,11 @@ getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMenuMouseContext src/Dodge/Update.hs 388;" f -getNodePos src/Dodge/Path.hs 32;" f +getNodePos src/Dodge/Path.hs 33;" 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 307;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 312;" f getRootItemBounds src/Dodge/Render/HUD.hs 100;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3713,10 +3716,10 @@ handleResizeEvent src/Dodge/Event.hs 53;" f handleTextInput src/Dodge/Event/Input.hs 19;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f hardQuit src/Dodge/Concurrent.hs 32;" f -hasButtonLOS src/Dodge/Base/Collide.hs 311;" f +hasButtonLOS src/Dodge/Base/Collide.hs 312;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f -hasLOS src/Dodge/Base/Collide.hs 304;" f -hasLOSIndirect src/Dodge/Base/Collide.hs 320;" f +hasLOS src/Dodge/Base/Collide.hs 305;" f +hasLOSIndirect src/Dodge/Base/Collide.hs 321;" f hat src/Dodge/Item/Equipment.hs 76;" f head src/DoubleStack.hs 14;" f headLamp src/Dodge/Item/Equipment.hs 79;" f @@ -3860,6 +3863,7 @@ isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f isCornerLink src/Dodge/RoomLink.hs 65;" f isElectrical src/Dodge/Machine/Update.hs 84;" f +isFlyable src/Dodge/Base/Collide.hs 328;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 197;" f isInLnk src/Dodge/PlacementSpot.hs 161;" f isJust' src/MaybeHelp.hs 29;" f @@ -3880,7 +3884,7 @@ isUnusedLnkType src/Dodge/PlacementSpot.hs 190;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 174;" f isValidCommand src/Dodge/Debug/Terminal.hs 134;" f isVowel src/StringHelp.hs 8;" f -isWalkable src/Dodge/Base/Collide.hs 327;" f +isWalkable src/Dodge/Base/Collide.hs 335;" f isoMatrix src/MatrixHelper.hs 30;" f isotriBWH src/Geometry/Polygon.hs 22;" f itDim src/Dodge/Item/InvSize.hs 21;" f @@ -3956,7 +3960,7 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f keyPic src/Dodge/Item/Draw/SPic.hs 459;" f keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f -lChasm src/Dodge/Room/Tutorial.hs 117;" f +lChasm src/Dodge/Room/Tutorial.hs 122;" f lConnect src/Dodge/Render/Connectors.hs 42;" f lConnectMulti src/Dodge/Render/Connectors.hs 46;" f lShape src/Dodge/Placement/Instance/LightSource.hs 90;" f @@ -4119,9 +4123,9 @@ makeIntInterval src/Dodge/Zoning/Base.hs 35;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f makeParagraph src/Justify.hs 6;" f -makePathBetween src/Dodge/Path.hs 42;" f -makePathBetweenPs src/Dodge/Path.hs 64;" f -makePathUsing src/Dodge/Path.hs 35;" f +makePathBetween src/Dodge/Path.hs 43;" f +makePathBetweenPs src/Dodge/Path.hs 66;" f +makePathUsing src/Dodge/Path.hs 36;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f makeRect src/Grid.hs 82;" f makeSelectionListPictures src/Dodge/Render/List.hs 66;" f @@ -4208,7 +4212,7 @@ mglCreate src/GLHelp.hs 8;" f mglDelete src/GLHelp.hs 14;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 16;" f midBounds src/Dodge/Room/Foreground.hs 151;" f -midChasm src/Dodge/Room/Tutorial.hs 138;" f +midChasm src/Dodge/Room/Tutorial.hs 143;" f midPad src/Padding.hs 27;" f midPadL src/Padding.hs 33;" f midPoint src/Geometry.hs 83;" f @@ -4270,17 +4274,17 @@ muout src/Dodge/RoomLink.hs 144;" f muzFlareAt src/Dodge/HeldUse.hs 678;" f muzzlePos src/Dodge/HeldUse.hs 769;" f muzzleRandPos src/Dodge/HeldUse.hs 778;" f -mvButton src/Dodge/Placement/PlaceSpot.hs 186;" f -mvCr src/Dodge/Placement/PlaceSpot.hs 189;" f -mvFS src/Dodge/Placement/PlaceSpot.hs 196;" f +mvButton src/Dodge/Placement/PlaceSpot.hs 191;" f +mvCr src/Dodge/Placement/PlaceSpot.hs 194;" f +mvFS src/Dodge/Placement/PlaceSpot.hs 201;" f mvGust src/Dodge/Update.hs 784;" f -mvLS src/Dodge/Placement/PlaceSpot.hs 268;" f +mvLS src/Dodge/Placement/PlaceSpot.hs 273;" f mvP src/Dodge/Wall/Move.hs 54;" f mvPointAlongAtSpeed src/Dodge/Base.hs 121;" f mvPointMeleeTarg src/Dodge/Creature/Boid.hs 319;" f mvPointToward src/Dodge/Base.hs 136;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f -mvProp src/Dodge/Placement/PlaceSpot.hs 183;" f +mvProp src/Dodge/Placement/PlaceSpot.hs 188;" f mvPs src/Dodge/Wall/Move.hs 58;" f myIntersectLineLine src/Geometry/Intersect.hs 198;" f myIntersectSegSeg src/Geometry/Intersect.hs 176;" f @@ -4325,7 +4329,8 @@ 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 271;" f -obstructPathsCrossing src/Dodge/Path.hs 148;" f +obstructPathsCrossing src/Dodge/Path.hs 150;" f +obstructPathsCrossing' src/Dodge/Path.hs 163;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f @@ -4363,7 +4368,7 @@ overPosObj src/Shape.hs 277;" f overPosSH src/Shape.hs 261;" f overPosSP src/ShapePicture.hs 41;" f overlapCircWalls src/Dodge/Base/Collide.hs 231;" f -overlapCircWallsClosest src/Dodge/Base/Collide.hs 277;" f +overlapCircWallsClosest src/Dodge/Base/Collide.hs 273;" f overlapSegCrs src/Dodge/Base/Collide.hs 61;" f overlapSegWalls src/Dodge/Base/Collide.hs 213;" f overrideInternal src/Dodge/Creature/ReaderUpdate.hs 179;" f @@ -4373,7 +4378,7 @@ p src/ShortShow.hs 48;" f pContID src/Dodge/LevelGen/PlacementHelper.hs 15;" f pairInPolys src/Dodge/Room/Path.hs 45;" f pairPolyPointsIntersect src/Geometry/ConvexPoly.hs 70;" f -pairsToGraph src/Dodge/Path.hs 120;" f +pairsToGraph src/Dodge/Path.hs 122;" f pairsToIncidence src/Dodge/Graph.hs 20;" f pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 58;" f @@ -4381,7 +4386,7 @@ parseItem src/Dodge/Debug/Terminal.hs 62;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f passthroughLockKeyLists src/Dodge/Floor.hs 120;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f -pathEdgeObstructed src/Dodge/Path.hs 45;" f +pathEdgeObstructed src/Dodge/Path.hs 46;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseGame src/Dodge/Update/Input/InGame.hs 525;" f pauseMenu src/Dodge/Menu.hs 59;" f @@ -4395,11 +4400,11 @@ pedestalRoom src/Dodge/Room/Containing.hs 50;" f penThing src/Dodge/Bullet.hs 210;" f perMat src/MatrixHelper.hs 49;" f perceptionUpdate src/Dodge/Creature/Perception.hs 24;" f -performAction src/Dodge/Creature/Action.hs 93;" f -performActions src/Dodge/Creature/Action.hs 39;" f -performAimAt src/Dodge/Creature/Action.hs 49;" f -performPathTo src/Dodge/Creature/Action.hs 62;" f -performTurnToA src/Dodge/Creature/Action.hs 80;" f +performAction src/Dodge/Creature/Action.hs 90;" f +performActions src/Dodge/Creature/Action.hs 36;" f +performAimAt src/Dodge/Creature/Action.hs 46;" f +performPathTo src/Dodge/Creature/Action.hs 59;" f +performTurnToA src/Dodge/Creature/Action.hs 77;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f pesNearCirc src/Dodge/Zoning/Pathing.hs 43;" f pesNearPoint src/Dodge/Zoning/Pathing.hs 33;" f @@ -4422,22 +4427,23 @@ pjRemoteSetDirection src/Dodge/Projectile/Update.hs 172;" f plBlock src/Dodge/Placement/PlaceSpot/Block.hs 18;" f plDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 22;" f plLineBlock src/Dodge/Placement/PlaceSpot/Block.hs 50;" f -plMachine src/Dodge/Placement/PlaceSpot.hs 199;" f -plMachine' src/Dodge/Placement/PlaceSpot.hs 243;" f +plMachine src/Dodge/Placement/PlaceSpot.hs 204;" f +plMachine' src/Dodge/Placement/PlaceSpot.hs 248;" f plNew src/Dodge/Base/NewID.hs 19;" f plNewID src/Dodge/Base/NewID.hs 7;" f plNewUpID src/Dodge/Base/NewID.hs 13;" f plNewUsing src/Dodge/Base/NewID.hs 27;" f plRRpt src/Dodge/LevelGen/PlacementHelper.hs 33;" f plSlideDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 78;" f -plTurret src/Dodge/Placement/PlaceSpot.hs 212;" f -placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 257;" f +plTurret src/Dodge/Placement/PlaceSpot.hs 217;" f +placeChasm src/Dodge/Placement/PlaceSpot.hs 159;" f +placeMachineWalls src/Dodge/Placement/PlaceSpot.hs 262;" f placePlainPSSpot src/Dodge/Placement/PlaceSpot.hs 42;" f placeSpot src/Dodge/Placement/PlaceSpot.hs 33;" f placeSpotID src/Dodge/Placement/PlaceSpot.hs 104;" f placeSpotRoomRand src/Dodge/Placement/PlaceSpot.hs 89;" f placeSpotUsingLink src/Dodge/Placement/PlaceSpot.hs 67;" f -placeWallPoly src/Dodge/Placement/PlaceSpot.hs 172;" f +placeWallPoly src/Dodge/Placement/PlaceSpot.hs 177;" f plainRegex src/Dodge/DisplayInventory.hs 189;" f playIfFree src/Sound.hs 137;" f playPositionalSoundQueue src/Sound.hs 145;" f @@ -4466,13 +4472,13 @@ pointInOrOnPolygon src/Geometry/Polygon.hs 78;" f pointInPoly src/Geometry/Polygon.hs 86;" f pointIsInCone src/Geometry.hs 375;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f -pointTowardsImpulse src/Dodge/Path.hs 72;" f +pointTowardsImpulse src/Dodge/Path.hs 74;" f pointerToItem src/Dodge/Item/Location.hs 39;" f 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 125;" f +poisonSPic src/Dodge/Creature/Update.hs 126;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 506;" f pokeArrayOff src/Shader/Poke.hs 517;" f @@ -4511,8 +4517,8 @@ pokeWall src/Shader/Poke.hs 78;" f pokeWallsWindows src/Shader/Poke.hs 50;" f poly3 src/Picture/Base.hs 84;" f poly3Col src/Picture/Base.hs 88;" f -polyChasm src/Dodge/Room/Tutorial.hs 159;" f -polyChasmC src/Dodge/Room/Tutorial.hs 168;" f +polyChasm src/Dodge/Room/Tutorial.hs 164;" f +polyChasmC src/Dodge/Room/Tutorial.hs 173;" f polyCirc src/Shape.hs 46;" f polyCircx src/Shape.hs 51;" f polyCornerDist src/Geometry/Polygon.hs 61;" f @@ -4700,7 +4706,7 @@ removeAimPosture src/Dodge/Creature/YourControl.hs 159;" f removeAmmoFromMag src/Dodge/HeldUse.hs 907;" f removeDot src/ShortShow.hs 44;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f -removeLights src/Dodge/Room/Tutorial.hs 224;" f +removeLights src/Dodge/Room/Tutorial.hs 229;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 58;" f removeWallsInPolygon src/Dodge/LevelGen/StaticWalls.hs 182;" f renderDataResizeUpdate src/Preload/Update.hs 26;" f @@ -4726,8 +4732,8 @@ restrictLinkType src/Dodge/RoomLink.hs 34;" f restrictOutLinks src/Dodge/RoomLink.hs 47;" f restrictRMInLinksPD src/Dodge/Room/Link.hs 25;" f resumeSound src/Dodge/SoundLogic.hs 48;" f -retreatActionsPistol src/Dodge/Humanoid.hs 249;" f -retreatFireLauncher src/Dodge/Humanoid.hs 270;" f +retreatActionsPistol src/Dodge/Humanoid.hs 231;" f +retreatFireLauncher src/Dodge/Humanoid.hs 252;" f retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 9;" f reversePair src/Dodge/LevelGen.hs 85;" f rewinder src/Dodge/Item/Held/Utility.hs 36;" f @@ -4838,7 +4844,7 @@ scaleSH src/Shape.hs 269;" f scalp src/Dodge/Creature/Picture.hs 93;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/Update.hs 122;" f +scorchSPic src/Dodge/Creature/Update.hs 123;" f screenBox src/Dodge/Base/Window.hs 53;" f screenPolygon src/Dodge/Base/Window.hs 17;" f screenPolygonBord src/Dodge/Base/Window.hs 27;" f @@ -4881,7 +4887,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 333;" f +sensorTut src/Dodge/Room/Tutorial.hs 338;" 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 @@ -4908,7 +4914,7 @@ setOutLinks src/Dodge/RoomLink.hs 50;" f setOutLinksByType src/Dodge/RoomLink.hs 75;" f setOutLinksPD src/Dodge/RoomLink.hs 95;" f setRBCreatureTargeting src/Dodge/Creature/State.hs 290;" f -setRoomInt src/Dodge/Room/Tutorial.hs 60;" f +setRoomInt src/Dodge/Room/Tutorial.hs 65;" f setSelWhileDragging src/Dodge/Update/Input/InGame.hs 337;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 87;" f setShaderSource src/Shader/Compile.hs 290;" f @@ -4918,7 +4924,7 @@ setTargetMv src/Dodge/Creature/ReaderUpdate.hs 82;" f setTile src/Dodge/Layout.hs 66;" f setTiles src/Dodge/Layout.hs 63;" f setToggle src/Dodge/Prop/Update.hs 44;" f -setTreeInts src/Dodge/Room/Tutorial.hs 67;" f +setTreeInts src/Dodge/Room/Tutorial.hs 72;" f setViewDistance src/Dodge/Update/Camera.hs 236;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewport src/Dodge/Render.hs 440;" f @@ -5043,11 +5049,11 @@ smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 466;" f smallPillar src/Dodge/Room/Pillar.hs 37;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f -smallSnailInt2 src/Dodge/Path.hs 60;" f +smallSnailInt2 src/Dodge/Path.hs 62;" f smg src/Dodge/Item/Held/Stick.hs 58;" f smokeReducer src/Dodge/Item/Scope.hs 162;" f -snailAround src/Dodge/Path.hs 57;" f -snapToGrid src/Dodge/Path.hs 160;" f +snailAround src/Dodge/Path.hs 59;" f +snapToGrid src/Dodge/Path.hs 174;" f sndV2 src/Geometry/Data.hs 73;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f someCrits src/Dodge/LockAndKey.hs 120;" f @@ -5144,7 +5150,7 @@ stopPushing src/Dodge/Block.hs 105;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f -strengthFactor src/Dodge/Creature/Impulse/Movement.hs 37;" f +strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f strictify src/MaybeHelp.hs 37;" f strideRot src/Dodge/Item/HeldOffset.hs 71;" f stringToList src/Picture/Base.hs 313;" f @@ -5237,7 +5243,7 @@ thingsHit src/Dodge/WorldEvent/ThingsHit.hs 36;" f thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 119;" f thingsHitZ src/Dodge/WorldEvent/ThingsHit.hs 44;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f -throwItem src/Dodge/Creature/Action.hs 210;" f +throwItem src/Dodge/Creature/Action.hs 206;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 192;" f tilesToLine src/Shader/AuxAddition.hs 66;" f @@ -5356,13 +5362,13 @@ tryUseParent src/Dodge/Creature/State.hs 145;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turret src/Dodge/Placement/Instance/Turret.hs 37;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 21;" f -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 344;" f +tutAnoTree src/Dodge/Room/Tutorial.hs 41;" f +tutDrop src/Dodge/Room/Tutorial.hs 77;" f +tutHub src/Dodge/Room/Tutorial.hs 236;" f +tutLight src/Dodge/Room/Tutorial.hs 201;" f +tutRezBox src/Dodge/Room/Tutorial.hs 349;" f tutRoomTree src/Dodge/Floor.hs 21;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 368;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 373;" f tweenAngles src/Geometry/Vector.hs 190;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 81;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 29;" f @@ -5469,7 +5475,7 @@ updatePastWorlds src/Dodge/Update.hs 424;" f updatePreload src/Preload/Update.hs 20;" f updateProjectile src/Dodge/Projectile/Update.hs 25;" f updateProp src/Dodge/Prop/Update.hs 11;" f -updatePulse src/Dodge/Creature/Update.hs 146;" f +updatePulse src/Dodge/Creature/Update.hs 147;" f updatePulseBall src/Dodge/Update.hs 449;" f updatePulseLaser src/Dodge/Update.hs 612;" f updatePulseLasers src/Dodge/Update.hs 444;" f @@ -5578,7 +5584,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f walkNozzle src/Dodge/HeldUse.hs 809;" f -walkableNodeNear src/Dodge/Path.hs 50;" f +walkableNodeNear src/Dodge/Path.hs 52;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f @@ -5664,7 +5670,7 @@ yIntercepts' src/Dodge/Zoning/Base.hs 76;" f yV2 src/Geometry/Vector.hs 205;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 13;" f -youDropItem src/Dodge/Creature/Action.hs 195;" f +youDropItem src/Dodge/Creature/Action.hs 192;" f yourAugmentedItem src/Dodge/Render/HUD.hs 238;" f yourControl src/Dodge/Creature/YourControl.hs 28;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 110;" f @@ -5673,7 +5679,7 @@ yourInv src/Dodge/Base/You.hs 28;" f yourRootItem src/Dodge/Base/You.hs 22;" f yourSelectedItem src/Dodge/Base/You.hs 16;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f -zChasm src/Dodge/Room/Tutorial.hs 126;" f +zChasm src/Dodge/Room/Tutorial.hs 131;" f zConnect src/Dodge/Render/Connectors.hs 17;" f zConnectCol src/Dodge/Render/Connectors.hs 28;" f zConnectColMidX src/Dodge/Render/Connectors.hs 31;" f