diff --git a/src/Dodge/Creature/Action.hs b/src/Dodge/Creature/Action.hs index 702f61d5d..40189989d 100644 --- a/src/Dodge/Creature/Action.hs +++ b/src/Dodge/Creature/Action.hs @@ -147,6 +147,8 @@ crMoveImpulses cr p = case crMvType cr of MvWalking {} -> [MvTurnToward p, MvForward] JitMvType {_mvTurnJit = x} -> [MvTurnToward p, MvForward, RandomTurn x] StartStopMvType {} -> [MvTurnToward p, MvForward] + BeeMvType {} | cr ^?! crType . beeRandomMovement -> [MvForward] + BeeMvType {} -> [MvTurnToward p, MvForward] performTurnToA :: Creature -> Point2 -> ActionUpdate performTurnToA cr p diff --git a/src/Dodge/Creature/ChaseCrit.hs b/src/Dodge/Creature/ChaseCrit.hs index a49ab4806..0ecd15d9c 100644 --- a/src/Dodge/Creature/ChaseCrit.hs +++ b/src/Dodge/Creature/ChaseCrit.hs @@ -91,7 +91,7 @@ beeCrit = defaultCreature & crName .~ "beeCrit" & crHP .~ HP 100 - & crType .~ BeeCrit 0 Nothing 0 0 0 + & crType .~ BeeCrit 0 Nothing 0 0 0 False & crFaction .~ ColorFaction yellow & crStance . carriage .~ Flying 15 diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index db5d0befa..f14a80c5e 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -80,6 +80,11 @@ crMvForward' lw cr = case crMvType cr of | otherwise = s in crMvBy (V2 speed 0) lw cr & crType . startStopMv %~ ((`mod` (n*2)) . (+1)) + BeeMvType s _ n -> + let speed | cr ^?! crType . startStopMv > n = 0 + | otherwise = s + in crMvBy (V2 speed 0) lw cr + & crType . startStopMv %~ ((`mod` (n*2)) . (+1)) NoMvType -> cr MvWalking s -> crMvBy (V2 s 0) lw cr diff --git a/src/Dodge/Creature/MoveType.hs b/src/Dodge/Creature/MoveType.hs index 73c20bbcd..0d437f32d 100644 --- a/src/Dodge/Creature/MoveType.hs +++ b/src/Dodge/Creature/MoveType.hs @@ -17,7 +17,7 @@ crMvType cr = case _crType cr of BarrelCrit {} -> defaultAimMvType LampCrit {} -> defaultAimMvType SlimeCrit {} -> NoMvType - BeeCrit {} -> StartStopMvType 0.2 0.1 25 + BeeCrit {} -> BeeMvType 0.2 0.1 25 HiveCrit{} -> NoMvType defaultAimMvType :: CrMvType diff --git a/src/Dodge/Data/Creature/Misc.hs b/src/Dodge/Data/Creature/Misc.hs index ab5b1ada0..ff86888ef 100644 --- a/src/Dodge/Data/Creature/Misc.hs +++ b/src/Dodge/Data/Creature/Misc.hs @@ -36,6 +36,11 @@ data CrMvType , _mvTurnSpeed :: Float , _mvPulseTime :: Int } + | BeeMvType + { _mvSpeed :: Float + , _mvTurnSpeed :: Float + , _mvPulseTime :: Int + } deriving (Eq, Ord, Show, Read) --Generic, Flat) data Pulse = PulseStatus @@ -86,6 +91,7 @@ data CreatureType , _startStopMv :: Int , _beeAggro :: Int , _meleeCooldown :: Int + , _beeRandomMovement :: Bool } | HiveCrit { _hiveChildren :: IS.IntSet diff --git a/tags b/tags index 5b3d8a061..0e9bb1f47 100644 --- a/tags +++ b/tags @@ -12,7 +12,7 @@ .++~ src/LensHelp.hs 33;" o .+.+~ src/LensHelp.hs 23;" o .:~ src/LensHelp.hs 14;" o -<$> src/Dodge/Data/ActionPlan.hs 164;" o +<$> src/Dodge/Data/ActionPlan.hs 165;" o <$> src/Dodge/Data/CWorld.hs 52;" o <$> src/Dodge/Data/Camera.hs 38;" o <$> src/Dodge/Data/Creature.hs 93;" o @@ -36,19 +36,20 @@ AUTOPISTOL src/Dodge/Data/Item/Combine.hs 148;" C AUTORIFLE src/Dodge/Data/Item/Combine.hs 157;" C AZURE src/Color/Data.hs 20;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 30;" C -Action src/Dodge/Data/ActionPlan.hs 70;" t +Action src/Dodge/Data/ActionPlan.hs 71;" t +ActionIntelligence src/Dodge/Data/ActionPlan.hs 17;" C ActionPlan src/Dodge/Data/ActionPlan.hs 14;" t -ActionPlan src/Dodge/Data/ActionPlan.hs 17;" C +ActionPlan src/Dodge/Data/ActionPlan.hs 18;" C ActionUpdate src/Dodge/Creature/Action.hs 51;" t -AddGoal src/Dodge/Data/ActionPlan.hs 48;" C -AimAt src/Dodge/Data/ActionPlan.hs 71;" C +AddGoal src/Dodge/Data/ActionPlan.hs 49;" C +AimAt src/Dodge/Data/ActionPlan.hs 72;" C AimStance src/Dodge/Data/AimStance.hs 10;" t Aiming src/Dodge/Data/Creature/Stance.hs 38;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C AllRoomClipBoundaries src/Dodge/Data/Config.hs 123;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 18;" C -Ambush src/Dodge/Data/ActionPlan.hs 136;" C +Ambush src/Dodge/Data/ActionPlan.hs 137;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 34;" C AmmoExtractPosition src/Dodge/Data/Muzzle.hs 21;" t AmmoMagSF src/Dodge/Data/ComposedItem.hs 25;" C @@ -59,7 +60,7 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 33;" C AmmoPerShot src/Dodge/Data/Muzzle.hs 62;" t AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 32;" C AmmoType src/Dodge/Data/AmmoType.hs 8;" t -ArbitraryAction src/Dodge/Data/ActionPlan.hs 125;" C +ArbitraryAction src/Dodge/Data/ActionPlan.hs 126;" C ArcNodeType src/Dodge/Data/LWorld.hs 160;" t ArcShad src/Picture/Data.hs 33;" C ArcStep src/Dodge/Data/ArcStep.hs 12;" t @@ -74,11 +75,11 @@ AttachType src/Dodge/Data/Item/Combine.hs 92;" t Attention src/Dodge/Data/Creature/Perception.hs 58;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 59;" C Audition src/Dodge/Data/Creature/Perception.hs 45;" t -AutoCrit src/Dodge/Data/Creature/Misc.hs 94;" C +AutoCrit src/Dodge/Data/Creature/Misc.hs 101;" C AutoTrigger src/Dodge/Data/TriggerType.hs 8;" C -AvPosture src/Dodge/Data/Creature/Misc.hs 98;" C -Avatar src/Dodge/Data/Creature/Misc.hs 48;" C -AvatarPosture src/Dodge/Data/Creature/Misc.hs 98;" t +AvPosture src/Dodge/Data/Creature/Misc.hs 105;" C +Avatar src/Dodge/Data/Creature/Misc.hs 53;" C +AvatarPosture src/Dodge/Data/Creature/Misc.hs 105;" t Awareness src/Dodge/Data/Creature/Perception.hs 63;" t BANGCONE src/Dodge/Data/Item/Combine.hs 150;" C BANGROD src/Dodge/Data/Item/Combine.hs 159;" C @@ -104,11 +105,11 @@ BULLETSYNTH src/Dodge/Data/Item/Combine.hs 94;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 158;" C BackdropCurs src/Dodge/Data/SelectionList.hs 23;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C -Bark src/Dodge/Data/ActionPlan.hs 41;" C -BarrelCrit src/Dodge/Data/Creature/Misc.hs 95;" C +Bark src/Dodge/Data/ActionPlan.hs 42;" C +BarrelCrit src/Dodge/Data/Creature/Misc.hs 102;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C -BarrelType src/Dodge/Data/Creature/Misc.hs 110;" t -Barreloid src/Dodge/Data/Creature/Misc.hs 106;" C +BarrelType src/Dodge/Data/Creature/Misc.hs 117;" t +Barreloid src/Dodge/Data/Creature/Misc.hs 113;" C BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C BasicBulletTrajectory src/Dodge/Data/Bullet.hs 42;" C BasicBulletTrajectoryType src/Dodge/Data/Bullet.hs 49;" C @@ -122,7 +123,8 @@ BeamSimple src/Dodge/Data/Beam.hs 48;" C BeamSplitterSF src/Dodge/Data/ComposedItem.hs 50;" C BeamType src/Dodge/Data/Beam.hs 44;" t BecomePowerful src/Dodge/Data/Scenario.hs 9;" C -BeeCrit src/Dodge/Data/Creature/Misc.hs 83;" C +BeeCrit src/Dodge/Data/Creature/Misc.hs 88;" C +BeeMvType src/Dodge/Data/Creature/Misc.hs 39;" C BeePheremone src/Dodge/Data/Cloud.hs 47;" t BeltBulletAmmo src/Dodge/Data/AmmoType.hs 11;" C BezierTrajectory src/Dodge/Data/Bullet.hs 43;" C @@ -206,16 +208,16 @@ CardinalCover src/Dodge/Data/CardinalPoint.hs 38;" t CardinalPoint src/Dodge/Data/CardinalPoint.hs 6;" t CardinalPointBetween src/Dodge/Data/CardinalPoint.hs 20;" t Carriage src/Dodge/Data/Creature/Stance.hs 23;" t -ChangePosture src/Dodge/Data/ActionPlan.hs 45;" C -ChangeStrategy src/Dodge/Data/ActionPlan.hs 47;" C -ChaseCrit src/Dodge/Data/Creature/Misc.hs 58;" C +ChangePosture src/Dodge/Data/ActionPlan.hs 46;" C +ChangeStrategy src/Dodge/Data/ActionPlan.hs 48;" C +ChaseCrit src/Dodge/Data/Creature/Misc.hs 63;" C ChaseCritters src/Dodge/Data/Creature/State.hs 16;" C ChasmObstacle src/Dodge/Data/PathGraph.hs 51;" C ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 30;" C Circ_collision_test src/Dodge/Data/Config.hs 99;" C Climate src/Dodge/Data/Scenario.hs 32;" C -CloseToMelee src/Dodge/Data/ActionPlan.hs 146;" C +CloseToMelee src/Dodge/Data/ActionPlan.hs 147;" C Close_shape_culling src/Dodge/Data/Config.hs 93;" C Cloud src/Dodge/Data/Cloud.hs 13;" t CloudType src/Dodge/Data/Cloud.hs 21;" t @@ -282,15 +284,15 @@ CrWeaponSound src/Dodge/Data/SoundOrigin.hs 19;" C CrWlID src/Dodge/Data/CrWlID.hs 10;" t Cr_awareness src/Dodge/Data/Config.hs 85;" C Cr_status src/Dodge/Data/Config.hs 84;" C -CrabCrit src/Dodge/Data/Creature/Misc.hs 62;" C +CrabCrit src/Dodge/Data/Creature/Misc.hs 67;" C CraftType src/Dodge/Data/Item/Combine.hs 50;" t Crawling src/Dodge/Data/Creature/Stance.hs 25;" C CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C Creature src/Dodge/Data/Creature.hs 35;" t CreaturePart src/Dodge/Data/Wall/Structure.hs 16;" C -CreatureShape src/Dodge/Data/Creature/Misc.hs 100;" t -CreatureType src/Dodge/Data/Creature/Misc.hs 47;" t +CreatureShape src/Dodge/Data/Creature/Misc.hs 107;" t +CreatureType src/Dodge/Data/Creature/Misc.hs 52;" t Crushing src/Dodge/Data/Damage.hs 19;" C CryoReleaseCloud src/Dodge/Data/Cloud.hs 24;" C CryostatisSS src/Dodge/Data/Scenario.hs 91;" C @@ -342,17 +344,17 @@ DisplayTerminal src/Dodge/Data/HUD.hs 27;" C Display_debug src/Dodge/Data/Config.hs 79;" C Distortion src/Dodge/Data/Distortion.hs 11;" t DivineRetribution src/Dodge/Data/Scenario.hs 35;" C -DoActionIf src/Dodge/Data/ActionPlan.hs 93;" C -DoActionIfElse src/Dodge/Data/ActionPlan.hs 97;" C -DoActionThen src/Dodge/Data/ActionPlan.hs 108;" C -DoActionWhile src/Dodge/Data/ActionPlan.hs 84;" C -DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 102;" C -DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 88;" C -DoImpulses src/Dodge/Data/ActionPlan.hs 79;" C -DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 127;" C +DoActionIf src/Dodge/Data/ActionPlan.hs 94;" C +DoActionIfElse src/Dodge/Data/ActionPlan.hs 98;" C +DoActionThen src/Dodge/Data/ActionPlan.hs 109;" C +DoActionWhile src/Dodge/Data/ActionPlan.hs 85;" C +DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 103;" C +DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 89;" C +DoImpulses src/Dodge/Data/ActionPlan.hs 80;" C +DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 128;" C DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 18;" C -DoReplicate src/Dodge/Data/ActionPlan.hs 112;" C -DoReplicatePartial src/Dodge/Data/ActionPlan.hs 116;" C +DoReplicate src/Dodge/Data/ActionPlan.hs 113;" C +DoReplicatePartial src/Dodge/Data/ActionPlan.hs 117;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C Door src/Dodge/Data/Door.hs 29;" t DoorDoNothing src/Dodge/Data/Door.hs 45;" C @@ -365,7 +367,7 @@ DoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 9;" t DrawForceField src/Dodge/Data/Wall.hs 37;" C DrawnWall src/Dodge/Data/Wall.hs 33;" C DroneAmmo src/Dodge/Data/AmmoType.hs 13;" C -DropItem src/Dodge/Data/ActionPlan.hs 40;" C +DropItem src/Dodge/Data/ActionPlan.hs 41;" C DropShadowSI src/Dodge/Data/SelectionList.hs 59;" C DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C @@ -402,14 +404,14 @@ EquipmentAllocation src/Dodge/Data/RightButtonOptions.hs 17;" t EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C Escape src/Dodge/Data/Scenario.hs 10;" C Essential src/Shape/Data.hs 30;" C -EvadeAim src/Dodge/Data/ActionPlan.hs 76;" C +EvadeAim src/Dodge/Data/ActionPlan.hs 77;" C ExamineInventory src/Dodge/Data/HUD.hs 16;" C Explore src/Dodge/Data/Scenario.hs 4;" C Explosion src/Dodge/Data/SoundOrigin.hs 39;" C ExplosionPayload src/Dodge/Data/Payload.hs 9;" C Explosive src/Dodge/Data/Damage.hs 25;" C ExplosiveBall src/Dodge/Data/EnergyBall/Type.hs 14;" C -ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 112;" C +ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 119;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 16;" C ExtraMenuOption src/Dodge/Data/Universe.hs 76;" t Eyes src/Dodge/Data/Creature/Perception.hs 39;" C @@ -441,7 +443,7 @@ FlameSound src/Dodge/Data/SoundOrigin.hs 29;" C FlameletBall src/Dodge/Data/EnergyBall/Type.hs 12;" C Flamer src/Dodge/Data/SoundOrigin.hs 27;" C Flaming src/Dodge/Data/Damage.hs 21;" C -Flank src/Dodge/Data/ActionPlan.hs 135;" C +Flank src/Dodge/Data/ActionPlan.hs 136;" C FlareType src/Dodge/Data/Muzzle.hs 28;" t FlashBall src/Dodge/Data/EnergyBall/Type.hs 15;" C Flashing src/Dodge/Data/Damage.hs 23;" C @@ -449,7 +451,7 @@ FlatFaces src/Shape/Data.hs 12;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 14;" C FlechetteTrajectory src/Dodge/Data/Bullet.hs 44;" C FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 51;" C -Flee src/Dodge/Data/ActionPlan.hs 150;" C +Flee src/Dodge/Data/ActionPlan.hs 151;" C Flesh src/Dodge/Data/Material.hs 17;" C FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 14;" C FloatBO src/Shader/Data.hs 85;" t @@ -463,7 +465,7 @@ Floating src/Dodge/Data/Creature/Stance.hs 26;" C Floor src/Data/Tile.hs 11;" t FloorItem src/Dodge/Data/FloorItem.hs 11;" t Flying src/Dodge/Data/Creature/Stance.hs 27;" C -FollowImpulses src/Dodge/Data/ActionPlan.hs 140;" C +FollowImpulses src/Dodge/Data/ActionPlan.hs 141;" C FootForward src/Dodge/Data/Creature/Stance.hs 35;" t FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" C ForceField src/Dodge/Data/Material.hs 19;" C @@ -500,7 +502,7 @@ GenParams src/Dodge/Data/GenParams.hs 13;" t GenWorld src/Dodge/Data/GenWorld.hs 24;" t GenericFaction src/Dodge/Data/Creature/State.hs 13;" C GeoObjShads src/Dodge/Data/Config.hs 117;" C -GetTo src/Dodge/Data/ActionPlan.hs 148;" C +GetTo src/Dodge/Data/ActionPlan.hs 149;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C Gib src/Dodge/Data/Prop.hs 22;" C Gibbed src/Dodge/Data/Creature.hs 68;" C @@ -508,7 +510,7 @@ GibsDeath src/Dodge/Data/Creature.hs 70;" C Glass src/Dodge/Data/Material.hs 14;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C GlassDebris src/Dodge/Data/Prop.hs 25;" C -Goal src/Dodge/Data/ActionPlan.hs 157;" t +Goal src/Dodge/Data/ActionPlan.hs 158;" t GoesOnBack src/Dodge/Data/Equipment/Misc.hs 12;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 11;" C GoesOnHead src/Dodge/Data/Equipment/Misc.hs 10;" C @@ -535,13 +537,13 @@ HUD src/Dodge/Data/HUD.hs 29;" t HalfRes src/Dodge/Data/Config.hs 113;" C HammerTrigger src/Dodge/Data/TriggerType.hs 10;" C HardQuit src/Dodge/Data/Universe.hs 68;" C -HarvestFrom src/Dodge/Data/ActionPlan.hs 153;" C +HarvestFrom src/Dodge/Data/ActionPlan.hs 154;" C HeavySmokeFlare src/Dodge/Data/Muzzle.hs 33;" C HeldItemType src/Dodge/Data/Item/Combine.hs 141;" t HeldPlatformSF src/Dodge/Data/ComposedItem.hs 15;" C HiddenGoal src/Dodge/Data/Scenario.hs 14;" C HighlightSI src/Dodge/Data/SelectionList.hs 58;" C -HiveCrit src/Dodge/Data/Creature/Misc.hs 89;" C +HiveCrit src/Dodge/Data/Creature/Misc.hs 96;" C HomeUsingRemoteScreen src/Dodge/Data/Projectile.hs 43;" C HomeUsingTargeting src/Dodge/Data/Projectile.hs 44;" C Hospital src/Dodge/Data/Scenario.hs 69;" C @@ -563,9 +565,9 @@ HotkeyR src/Dodge/Data/Equipment/Misc.hs 34;" C HotkeyV src/Dodge/Data/Equipment/Misc.hs 38;" C HotkeyX src/Dodge/Data/Equipment/Misc.hs 36;" C HotkeyZ src/Dodge/Data/Equipment/Misc.hs 35;" C -HoverCrit src/Dodge/Data/Creature/Misc.hs 69;" C +HoverCrit src/Dodge/Data/Creature/Misc.hs 74;" C Huge src/Shape/Data.hs 24;" C -Humanoid src/Dodge/Data/Creature/Misc.hs 101;" C +Humanoid src/Dodge/Data/Creature/Misc.hs 108;" C IMSI src/Dodge/Data/SelectionList.hs 41;" t IMSS src/Dodge/Data/SelectionList.hs 39;" t INTROSCAN src/Dodge/Data/Item/Combine.hs 32;" C @@ -576,10 +578,10 @@ ITEMSCAN src/Dodge/Data/Item/Combine.hs 24;" C ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 30;" t Important src/Shape/Data.hs 31;" C -Impulse src/Dodge/Data/ActionPlan.hs 26;" t -ImpulseNothing src/Dodge/Data/ActionPlan.hs 50;" C -ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" C -ImpulsesList src/Dodge/Data/ActionPlan.hs 78;" C +Impulse src/Dodge/Data/ActionPlan.hs 27;" t +ImpulseNothing src/Dodge/Data/ActionPlan.hs 51;" C +ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 50;" C +ImpulsesList src/Dodge/Data/ActionPlan.hs 79;" C InDivineZone src/Dodge/Data/Scenario.hs 22;" C InDream src/Dodge/Data/Scenario.hs 19;" C InInv src/Dodge/Data/Item/Location.hs 29;" C @@ -610,7 +612,7 @@ InventoryHeadFilterSI src/Dodge/Data/SelectionList.hs 61;" C InventoryHeadSI src/Dodge/Data/SelectionList.hs 60;" C InventoryPathing src/Dodge/Data/Item/Combine.hs 39;" t InventorySound src/Dodge/Data/SoundOrigin.hs 11;" C -Investigate src/Dodge/Data/ActionPlan.hs 142;" C +Investigate src/Dodge/Data/ActionPlan.hs 143;" C Invisible src/Dodge/Data/CamouflageStatus.hs 7;" C InwardShockwave src/Dodge/Data/Shockwave.hs 13;" C IsolationUnitSS src/Dodge/Data/Scenario.hs 101;" C @@ -640,7 +642,7 @@ JoystickSF src/Dodge/Data/ComposedItem.hs 27;" C Just' src/MaybeHelp.hs 11;" C JustStartedPlaying src/Sound/Data.hs 22;" C KEYCARD src/Dodge/Data/Item/Combine.hs 178;" C -Kill src/Dodge/Data/ActionPlan.hs 159;" C +Kill src/Dodge/Data/ActionPlan.hs 160;" C LASER src/Dodge/Data/Item/Combine.hs 35;" C LDP src/Dodge/Data/SelectionList.hs 14;" C LDParams src/Dodge/Data/SelectionList.hs 14;" t @@ -654,7 +656,7 @@ LabLink src/Dodge/Data/Room.hs 50;" C LabSS src/Dodge/Data/Scenario.hs 97;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C Laboratory src/Dodge/Data/Scenario.hs 61;" C -LampCrit src/Dodge/Data/Creature/Misc.hs 96;" C +LampCrit src/Dodge/Data/Creature/Misc.hs 103;" C Large src/Shape/Data.hs 25;" C LasBeamCombine src/Dodge/Data/Beam.hs 38;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C @@ -669,7 +671,7 @@ LaundrySS src/Dodge/Data/Scenario.hs 115;" C LayVars src/Dodge/Data/MetaTree.hs 30;" C Layer src/Picture/Data.hs 20;" t LayoutVars src/Dodge/Data/MetaTree.hs 30;" t -LeadTarget src/Dodge/Data/ActionPlan.hs 121;" C +LeadTarget src/Dodge/Data/ActionPlan.hs 122;" C LeftForward src/Dodge/Data/Creature/Stance.hs 35;" C LeftwardDT src/Dodge/Data/DoubleTree.hs 27;" C Lethargic src/Dodge/Data/Creature/Perception.hs 53;" C @@ -683,7 +685,7 @@ LimitedBreathableAtmosphere src/Dodge/Data/Scenario.hs 38;" C LimitedFood src/Dodge/Data/Scenario.hs 39;" C LimitedWater src/Dodge/Data/Scenario.hs 40;" C LinearShockwave src/Dodge/Data/LinearShockwave.hs 11;" t -LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 158;" C +LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 159;" C LivingComplex src/Dodge/Data/Scenario.hs 68;" C LoadReady src/Dodge/Data/Universe.hs 101;" C LoadWaiting src/Dodge/Data/Universe.hs 100;" C @@ -693,8 +695,8 @@ LoadingScreen src/Dodge/Data/Universe.hs 93;" C LocDT src/Dodge/Data/DoubleTree.hs 42;" C LocationDT src/Dodge/Data/DoubleTree.hs 42;" t LoneWolf src/Dodge/Data/Creature/State.hs 24;" C -LookAround src/Dodge/Data/ActionPlan.hs 144;" C -Lure src/Dodge/Data/ActionPlan.hs 137;" C +LookAround src/Dodge/Data/ActionPlan.hs 145;" C +Lure src/Dodge/Data/ActionPlan.hs 138;" C MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 147;" C MAGENTA src/Color/Data.hs 17;" C MAGNET src/Dodge/Data/Item/Combine.hs 69;" C @@ -732,7 +734,7 @@ MagnetTrajectoryType src/Dodge/Data/Bullet.hs 52;" C MagnetUpdate src/Dodge/Data/Magnet.hs 11;" t MagnetUpdateTimer src/Dodge/Data/Magnet.hs 11;" C MakeAutoSF src/Dodge/Data/ComposedItem.hs 36;" C -MakeSound src/Dodge/Data/ActionPlan.hs 46;" C +MakeSound src/Dodge/Data/ActionPlan.hs 47;" C MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 33;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 36;" C MakeTempLightFade src/Dodge/Data/WorldEffect.hs 37;" C @@ -761,9 +763,9 @@ MdWdId src/Dodge/Data/WorldEffect.hs 50;" C MdWdWd src/Dodge/Data/WorldEffect.hs 49;" t MedBaySS src/Dodge/Data/Scenario.hs 100;" C Medium src/Shape/Data.hs 26;" C -Melee src/Dodge/Data/ActionPlan.hs 42;" C -MeleeL src/Dodge/Data/ActionPlan.hs 43;" C -MeleeR src/Dodge/Data/ActionPlan.hs 44;" C +Melee src/Dodge/Data/ActionPlan.hs 43;" C +MeleeL src/Dodge/Data/ActionPlan.hs 44;" C +MeleeR src/Dodge/Data/ActionPlan.hs 45;" C Memory src/Dodge/Data/Creature.hs 79;" t MenuOption src/Dodge/Data/Universe.hs 109;" t MenuOptionDisplay src/Dodge/Data/Universe.hs 104;" t @@ -789,10 +791,10 @@ MouseGameRotate src/Dodge/Data/Input.hs 29;" C MouseInGame src/Dodge/Data/Input.hs 16;" C MouseMenu src/Dodge/Data/Input.hs 17;" C Mouse_position src/Dodge/Data/Config.hs 86;" C -Move src/Dodge/Data/ActionPlan.hs 27;" C +Move src/Dodge/Data/ActionPlan.hs 28;" C MoveEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C -MoveForward src/Dodge/Data/ActionPlan.hs 29;" C -MoveNoStride src/Dodge/Data/ActionPlan.hs 30;" C +MoveForward src/Dodge/Data/ActionPlan.hs 30;" C +MoveNoStride src/Dodge/Data/ActionPlan.hs 31;" C Muzzle src/Dodge/Data/Muzzle.hs 9;" t MuzzleBlink src/Dodge/Data/Muzzle.hs 55;" C MuzzleDetector src/Dodge/Data/Muzzle.hs 54;" C @@ -813,8 +815,8 @@ MuzzleTesla src/Dodge/Data/Muzzle.hs 44;" C MuzzleTractor src/Dodge/Data/Muzzle.hs 45;" C MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 56;" C Muzzle_positions src/Dodge/Data/Config.hs 110;" C -MvForward src/Dodge/Data/ActionPlan.hs 36;" C -MvTurnToward src/Dodge/Data/ActionPlan.hs 35;" C +MvForward src/Dodge/Data/ActionPlan.hs 37;" C +MvTurnToward src/Dodge/Data/ActionPlan.hs 36;" C MvWalking src/Dodge/Data/Creature/Misc.hs 27;" C NAILBOX src/Dodge/Data/Item/Combine.hs 79;" C NInt src/NewInt.hs 16;" C @@ -835,12 +837,12 @@ NewInt src/NewInt.hs 16;" t NewIntMap src/NewInt.hs 22;" t NewIntSet src/NewInt.hs 19;" t NewSideEffect src/Dodge/Data/Universe.hs 63;" C -NoAction src/Dodge/Data/ActionPlan.hs 122;" C +NoAction src/Dodge/Data/ActionPlan.hs 123;" C NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C NoBeamCombine src/Dodge/Data/Beam.hs 41;" C NoConcurrentEffect src/Loop/Data.hs 7;" C NoCrImp src/Dodge/Data/CreatureEffect.hs 9;" C -NoCreatureShape src/Dodge/Data/Creature/Misc.hs 107;" C +NoCreatureShape src/Dodge/Data/Creature/Misc.hs 114;" C NoExtraMenuOption src/Dodge/Data/Universe.hs 79;" C NoFaction src/Dodge/Data/Creature/State.hs 18;" C NoFlare src/Dodge/Data/Muzzle.hs 29;" C @@ -993,9 +995,9 @@ PathBetweenDebugV2s src/Dodge/Data/Universe.hs 54;" C PathBetweenLeftRightClick src/Dodge/Data/Universe.hs 53;" C PathFromEdge src/Dodge/Data/Room.hs 81;" t PathShowType src/Dodge/Data/Universe.hs 52;" t -PathTo src/Dodge/Data/ActionPlan.hs 75;" C +PathTo src/Dodge/Data/ActionPlan.hs 76;" C Pathing src/Dodge/Data/Config.hs 90;" C -Patrol src/Dodge/Data/ActionPlan.hs 138;" C +Patrol src/Dodge/Data/ActionPlan.hs 139;" C PauseTimeMessage src/Dodge/Data/World.hs 88;" C PausedTimeFlow src/Dodge/Data/World.hs 84;" C Payload src/Dodge/Data/Payload.hs 9;" t @@ -1010,7 +1012,7 @@ Piezoelectric src/Dodge/Data/Material.hs 23;" C Pitted src/Dodge/Data/Creature.hs 68;" C Placement src/Dodge/Data/GenWorld.hs 113;" t PlacementSpot src/Dodge/Data/GenWorld.hs 97;" t -PlainBarrel src/Dodge/Data/Creature/Misc.hs 111;" C +PlainBarrel src/Dodge/Data/Creature/Misc.hs 118;" C PlainDeath src/Dodge/Data/Creature.hs 70;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlasmaBall src/Dodge/Data/PlasmaBall.hs 12;" t @@ -1048,12 +1050,12 @@ ProxSensor src/Dodge/Data/Machine/Sensor.hs 24;" C ProximityRequirement src/Dodge/Data/Machine/Sensor.hs 33;" t ProximitySensor src/Dodge/Data/Machine/Sensor.hs 24;" t ProximitySensorType src/Dodge/Data/Machine/Sensor.hs 29;" t -Pulse src/Dodge/Data/Creature/Misc.hs 41;" t +Pulse src/Dodge/Data/Creature/Misc.hs 46;" t PulseBall src/Dodge/Data/PulseLaser.hs 22;" t PulseBallSF src/Dodge/Data/ComposedItem.hs 46;" C PulseLaser src/Dodge/Data/PulseLaser.hs 12;" t PulseLaserSF src/Dodge/Data/ComposedItem.hs 43;" C -PulseStatus src/Dodge/Data/Creature/Misc.hs 41;" C +PulseStatus src/Dodge/Data/Creature/Misc.hs 46;" C PumpSF src/Dodge/Data/ComposedItem.hs 49;" C PushSource src/Dodge/Data/Door.hs 23;" t PushedBy src/Dodge/Data/Door.hs 25;" C @@ -1101,12 +1103,12 @@ RProps src/Dodge/Layout/Generate.hs 14;" C RadarBlip src/Dodge/Data/RadarBlip.hs 12;" t RadarSweep src/Dodge/Data/RadarSweep.hs 17;" t RadialDistortion src/Dodge/Data/Distortion.hs 11;" C -RandImpulse src/Dodge/Data/ActionPlan.hs 54;" t -RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 56;" C -RandImpulseList src/Dodge/Data/ActionPlan.hs 55;" C +RandImpulse src/Dodge/Data/ActionPlan.hs 55;" t +RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 57;" C +RandImpulseList src/Dodge/Data/ActionPlan.hs 56;" C RandPS src/Dodge/Data/GenWorld.hs 55;" C -RandomImpulse src/Dodge/Data/ActionPlan.hs 33;" C -RandomTurn src/Dodge/Data/ActionPlan.hs 32;" C +RandomImpulse src/Dodge/Data/ActionPlan.hs 34;" C +RandomTurn src/Dodge/Data/ActionPlan.hs 33;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C RecCommands src/Dodge/Terminal.hs 164;" t RecRoomSS src/Dodge/Data/Scenario.hs 103;" C @@ -1179,7 +1181,7 @@ SaveSlotNum src/Dodge/Data/SaveSlot.hs 10;" C Scope src/Dodge/Data/Item/Scope.hs 11;" t ScreenLayer src/Dodge/Data/Universe.hs 81;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t -Search src/Dodge/Data/ActionPlan.hs 152;" C +Search src/Dodge/Data/ActionPlan.hs 153;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 25;" t SeeAbove src/Dodge/Data/Wall.hs 32;" C @@ -1198,8 +1200,9 @@ SelfTree src/Dodge/Data/MetaTree.hs 21;" t SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SensorType src/Dodge/Data/Machine/Sensor.hs 12;" t SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 30;" C -SentinelAt src/Dodge/Data/ActionPlan.hs 160;" C +SentinelAt src/Dodge/Data/ActionPlan.hs 161;" C SetLSCol src/Dodge/Data/WorldEffect.hs 28;" C +SetStrategyAction src/Dodge/Data/ActionPlan.hs 148;" C SetTrigger src/Dodge/Data/WorldEffect.hs 27;" C SetTriggerAndSetLSCol src/Dodge/Data/WorldEffect.hs 29;" C ShadNum src/Picture/Data.hs 30;" t @@ -1216,7 +1219,7 @@ ShellSound src/Dodge/Data/SoundOrigin.hs 28;" C ShieldGroup src/Dodge/Data/Creature/State.hs 30;" C Shockwave src/Dodge/Data/Shockwave.hs 16;" t ShockwaveDirection src/Dodge/Data/Shockwave.hs 13;" t -ShootAt src/Dodge/Data/ActionPlan.hs 139;" C +ShootAt src/Dodge/Data/ActionPlan.hs 140;" C ShortShow src/ShortShow.hs 6;" c ShortString src/ShortShow.hs 16;" t Show_bound_box src/Dodge/Data/Config.hs 94;" C @@ -1243,9 +1246,9 @@ SixteenthRes src/Dodge/Data/Config.hs 113;" C Size src/Shape/Data.hs 24;" t SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C -SlimeCrit src/Dodge/Data/Creature/Misc.hs 75;" C +SlimeCrit src/Dodge/Data/Creature/Misc.hs 80;" C SlimeIntelligence src/Dodge/Data/ActionPlan.hs 16;" C -SlinkCrit src/Dodge/Data/Creature/Misc.hs 70;" C +SlinkCrit src/Dodge/Data/Creature/Misc.hs 75;" C Small src/Shape/Data.hs 27;" C Smoke src/Dodge/Data/Cloud.hs 22;" C SmokeReducerSF src/Dodge/Data/ComposedItem.hs 29;" C @@ -1284,13 +1287,12 @@ StabOrthReduce src/Dodge/Projectile/Create.hs 17;" C StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C Stance src/Dodge/Data/Creature/Stance.hs 17;" t StandaloneWall src/Dodge/Data/Wall/Structure.hs 12;" C -StartSentinelPost src/Dodge/Data/ActionPlan.hs 123;" C +StartSentinelPost src/Dodge/Data/ActionPlan.hs 124;" C StartStopMvType src/Dodge/Data/Creature/Misc.hs 34;" C StayInArea src/Dodge/Data/Scenario.hs 13;" C Stone src/Dodge/Data/Material.hs 13;" C StorageSS src/Dodge/Data/Scenario.hs 94;" C -Strategy src/Dodge/Data/ActionPlan.hs 134;" t -StrategyActions src/Dodge/Data/ActionPlan.hs 147;" C +Strategy src/Dodge/Data/ActionPlan.hs 135;" t SubInventory src/Dodge/Data/HUD.hs 14;" t Superfluous src/Shape/Data.hs 34;" C Surface src/Shape/Data.hs 38;" t @@ -1299,7 +1301,7 @@ Suspicious src/Dodge/Data/Creature/Perception.hs 64;" C Swallowed src/Dodge/Data/Creature.hs 68;" C SwapEquipment src/Dodge/Data/RightButtonOptions.hs 24;" C Swarm src/Dodge/Data/Creature/State.hs 25;" C -SwarmCrit src/Dodge/Data/Creature/Misc.hs 93;" C +SwarmCrit src/Dodge/Data/Creature/Misc.hs 100;" C TAPE src/Dodge/Data/Item/Combine.hs 56;" C TARGETING src/Dodge/Data/Item/Combine.hs 21;" C TCBase src/Dodge/Data/Terminal.hs 49;" C @@ -1397,10 +1399,10 @@ Trie src/SimpleTrie.hs 10;" t TriggerSF src/Dodge/Data/ComposedItem.hs 23;" C TriggerType src/Dodge/Data/TriggerType.hs 7;" t TurbineBaySS src/Dodge/Data/Scenario.hs 110;" C -Turn src/Dodge/Data/ActionPlan.hs 31;" C -TurnTo src/Dodge/Data/ActionPlan.hs 37;" C -TurnToPoint src/Dodge/Data/ActionPlan.hs 77;" C -TurnToward src/Dodge/Data/ActionPlan.hs 34;" C +Turn src/Dodge/Data/ActionPlan.hs 32;" C +TurnTo src/Dodge/Data/ActionPlan.hs 38;" C +TurnToPoint src/Dodge/Data/ActionPlan.hs 78;" C +TurnToward src/Dodge/Data/ActionPlan.hs 35;" C TurnTowardCr src/Dodge/Data/CreatureEffect.hs 9;" C Turret src/Dodge/Data/Machine.hs 64;" t TurretInt src/Dodge/Data/Item/Location.hs 19;" t @@ -1424,7 +1426,7 @@ Universe src/Dodge/Data/Universe.hs 28;" t UnloadedWeaponSF src/Dodge/Data/ComposedItem.hs 14;" C UnlockInv src/Dodge/Data/WorldEffect.hs 31;" C UnusedLink src/Dodge/Data/Room.hs 72;" C -UpdateRandGen src/Dodge/Data/ActionPlan.hs 51;" C +UpdateRandGen src/Dodge/Data/ActionPlan.hs 52;" C UseAttach src/Dodge/Data/Item/Use.hs 30;" C UseBulletMod src/Dodge/Data/Item/Use.hs 35;" C UseCondition src/Dodge/Data/UseCondition.hs 4;" t @@ -1435,12 +1437,12 @@ UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C UseHeld src/Dodge/Data/Item/Use.hs 29;" C UseInt src/Dodge/Data/Item/Use.hs 31;" C UseInvItem src/Dodge/Data/WorldEffect.hs 38;" C -UseItem src/Dodge/Data/ActionPlan.hs 38;" C +UseItem src/Dodge/Data/ActionPlan.hs 39;" C UseItemWidth src/Dodge/Data/SelectionList.hs 43;" C UseMapper src/Dodge/Data/Item/Use.hs 37;" C UseNothing src/Dodge/Data/Item/Use.hs 32;" C UseScope src/Dodge/Data/Item/Use.hs 34;" C -UseSelf src/Dodge/Data/ActionPlan.hs 124;" C +UseSelf src/Dodge/Data/ActionPlan.hs 125;" C UseToggle src/Dodge/Data/Item/Use.hs 36;" C UseUpTo src/Dodge/Data/Muzzle.hs 64;" C UseValue src/Dodge/Data/Item/Use.hs 33;" C @@ -1478,8 +1480,8 @@ WHITE src/Color/Data.hs 24;" C WIRE src/Dodge/Data/Item/Combine.hs 87;" C WRISTARMOUR src/Dodge/Data/Item/Combine.hs 126;" C WRIST_ECG src/Dodge/Data/Item/Combine.hs 138;" C -WaitThen src/Dodge/Data/ActionPlan.hs 80;" C -Walk src/Dodge/Data/ActionPlan.hs 28;" C +WaitThen src/Dodge/Data/ActionPlan.hs 81;" C +Walk src/Dodge/Data/ActionPlan.hs 29;" C Walking src/Dodge/Data/Creature/Stance.hs 24;" C Wall src/Dodge/Data/Wall.hs 17;" t WallArcNode src/Dodge/Data/LWorld.hs 161;" C @@ -1495,15 +1497,15 @@ WallSound src/Dodge/Data/SoundOrigin.hs 26;" C WallStructure src/Dodge/Data/Wall/Structure.hs 11;" t WallWire src/Dodge/Data/Room.hs 59;" C Walls_info src/Dodge/Data/Config.hs 89;" C -Wander src/Dodge/Data/ActionPlan.hs 145;" C +Wander src/Dodge/Data/ActionPlan.hs 146;" C War src/Dodge/Data/Scenario.hs 28;" C WarmTime src/Dodge/Data/Item/Params.hs 19;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C -WarningCry src/Dodge/Data/ActionPlan.hs 143;" C +WarningCry src/Dodge/Data/ActionPlan.hs 144;" C WasMouseGameRotating src/Dodge/Data/Input.hs 53;" C WasNotMouseGameRotating src/Dodge/Data/Input.hs 54;" C -WatchAndWait src/Dodge/Data/ActionPlan.hs 141;" C +WatchAndWait src/Dodge/Data/ActionPlan.hs 142;" C WdBl src/Dodge/Data/WorldEffect.hs 56;" t WdBlBtOn src/Dodge/Data/WorldEffect.hs 62;" C WdBlConst src/Dodge/Data/WorldEffect.hs 59;" C @@ -1542,7 +1544,7 @@ ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 93;" C ZombieFaction src/Dodge/Data/Creature/State.hs 14;" C \: src/Geometry/Polygon.hs 238;" o __Just' src/MaybeHelp.hs 11;" f -_acAction src/Dodge/Data/ActionPlan.hs 78;" f +_acAction src/Dodge/Data/ActionPlan.hs 79;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 19;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 25;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 30;" f @@ -1553,32 +1555,32 @@ _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 31;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 27;" f _alphaDivideShader src/Data/Preload/Render.hs 20;" f _alteRifleSwitch src/Dodge/Data/Item/Params.hs 18;" f -_ambushTarget src/Dodge/Data/ActionPlan.hs 136;" f +_ambushTarget src/Dodge/Data/ActionPlan.hs 137;" f _ampBullet src/Dodge/Data/Item/Use.hs 50;" f _ampCreateGas src/Dodge/Data/Item/Use.hs 52;" f _ampPayload src/Dodge/Data/Item/Use.hs 51;" f _amsfLink src/Dodge/Data/ComposedItem.hs 25;" f _amsfType src/Dodge/Data/ComposedItem.hs 25;" f -_apAction src/Dodge/Data/ActionPlan.hs 19;" f -_apGoal src/Dodge/Data/ActionPlan.hs 21;" f +_apAction src/Dodge/Data/ActionPlan.hs 20;" f +_apGoal src/Dodge/Data/ActionPlan.hs 22;" f _apInt src/Dodge/Data/Item/Use.hs 45;" f _apProjectiles src/Dodge/Data/Item/Use.hs 44;" f -_apStrategy src/Dodge/Data/ActionPlan.hs 20;" f +_apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _aps src/Dodge/Data/Muzzle.hs 22;" f -_arbitraryAction src/Dodge/Data/ActionPlan.hs 125;" f +_arbitraryAction src/Dodge/Data/ActionPlan.hs 126;" f _arcNode src/Dodge/Data/LWorld.hs 116;" f _asDir src/Dodge/Data/ArcStep.hs 14;" f _asObject src/Dodge/Data/ArcStep.hs 15;" f _asPos src/Dodge/Data/ArcStep.hs 13;" f _auDist src/Dodge/Data/Creature/Perception.hs 46;" f -_avDexterity src/Dodge/Data/Creature/Misc.hs 52;" f -_avIntelligence src/Dodge/Data/Creature/Misc.hs 53;" f -_avPosture src/Dodge/Data/Creature/Misc.hs 54;" f -_avStrength src/Dodge/Data/Creature/Misc.hs 51;" f -_avatarMaterial src/Dodge/Data/Creature/Misc.hs 50;" f -_avatarPulse src/Dodge/Data/Creature/Misc.hs 49;" f +_avDexterity src/Dodge/Data/Creature/Misc.hs 57;" f +_avIntelligence src/Dodge/Data/Creature/Misc.hs 58;" f +_avPosture src/Dodge/Data/Creature/Misc.hs 59;" f +_avStrength src/Dodge/Data/Creature/Misc.hs 56;" f +_avatarMaterial src/Dodge/Data/Creature/Misc.hs 55;" f +_avatarPulse src/Dodge/Data/Creature/Misc.hs 54;" f _barrelShader src/Data/Preload/Render.hs 27;" f -_barrelType src/Dodge/Data/Creature/Misc.hs 95;" f +_barrelType src/Dodge/Data/Creature/Misc.hs 102;" f _bdColor src/Dodge/Data/Prop.hs 23;" f _bdMaxX src/Dodge/Data/Bounds.hs 12;" f _bdMaxY src/Dodge/Data/Bounds.hs 14;" f @@ -1586,10 +1588,11 @@ _bdMinX src/Dodge/Data/Bounds.hs 11;" f _bdMinY src/Dodge/Data/Bounds.hs 13;" f _bdsTrigger src/Dodge/Data/Button.hs 26;" f _beamCombine src/Dodge/Data/Beam.hs 46;" f -_beeAggro src/Dodge/Data/Creature/Misc.hs 87;" f -_beeHive src/Dodge/Data/Creature/Misc.hs 85;" f +_beeAggro src/Dodge/Data/Creature/Misc.hs 92;" f +_beeHive src/Dodge/Data/Creature/Misc.hs 90;" f _beePheremones src/Dodge/Data/LWorld.hs 99;" f -_beeSlime src/Dodge/Data/Creature/Misc.hs 84;" f +_beeRandomMovement src/Dodge/Data/Creature/Misc.hs 94;" f +_beeSlime src/Dodge/Data/Creature/Misc.hs 89;" f _blDir src/Dodge/Data/Block.hs 27;" f _blDraw src/Dodge/Data/Block.hs 29;" f _blFootprint src/Dodge/Data/Block.hs 25;" f @@ -1786,29 +1789,29 @@ _dmVector src/Dodge/Data/Damage.hs 16;" f _dmVector src/Dodge/Data/Damage.hs 19;" f _dmVector src/Dodge/Data/Damage.hs 22;" f _dmVector src/Dodge/Data/Damage.hs 28;" f -_doActionIfAction src/Dodge/Data/ActionPlan.hs 95;" f -_doActionIfCondition src/Dodge/Data/ActionPlan.hs 94;" f -_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 99;" f -_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 100;" f -_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 98;" f -_doActionThenFirst src/Dodge/Data/ActionPlan.hs 109;" f -_doActionThenSecond src/Dodge/Data/ActionPlan.hs 110;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 86;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 91;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 85;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 90;" f -_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 89;" f -_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 104;" f -_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 103;" f -_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 105;" f +_doActionIfAction src/Dodge/Data/ActionPlan.hs 96;" f +_doActionIfCondition src/Dodge/Data/ActionPlan.hs 95;" f +_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 100;" f +_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 101;" f +_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 99;" f +_doActionThenFirst src/Dodge/Data/ActionPlan.hs 110;" f +_doActionThenSecond src/Dodge/Data/ActionPlan.hs 111;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 87;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 92;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 86;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 91;" f +_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 90;" f +_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 105;" f +_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 104;" f +_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 106;" f _doCID src/Dodge/Data/Damage.hs 32;" f -_doImpulsesList src/Dodge/Data/ActionPlan.hs 79;" f +_doImpulsesList src/Dodge/Data/ActionPlan.hs 80;" f _doMID src/Dodge/Data/Damage.hs 35;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 114;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 119;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 113;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 118;" f -_dodgeCooldown src/Dodge/Data/Creature/Misc.hs 65;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 115;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 120;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 114;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 119;" f +_dodgeCooldown src/Dodge/Data/Creature/Misc.hs 70;" f _doors src/Dodge/Data/LWorld.hs 125;" f _drFootPrint src/Dodge/Data/Door.hs 37;" f _drHP src/Dodge/Data/Door.hs 38;" f @@ -1859,7 +1862,7 @@ _flPos src/Dodge/Data/Flame.hs 14;" f _flTimer src/Dodge/Data/Flame.hs 13;" f _flVel src/Dodge/Data/Flame.hs 15;" f _flames src/Dodge/Data/LWorld.hs 110;" f -_flankTarget src/Dodge/Data/ActionPlan.hs 135;" f +_flankTarget src/Dodge/Data/ActionPlan.hs 136;" f _flares src/Dodge/Data/LWorld.hs 113;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 14;" f _flboName src/Shader/Data.hs 86;" f @@ -1868,8 +1871,8 @@ _flboStride src/Shader/Data.hs 88;" f _floorItems src/Dodge/Data/LWorld.hs 132;" f _floorShader src/Data/Preload/Render.hs 46;" f _floorVBO src/Data/Preload/Render.hs 45;" f -_footForward src/Dodge/Data/Creature/Misc.hs 55;" f -_footForward src/Dodge/Data/Creature/Misc.hs 59;" f +_footForward src/Dodge/Data/Creature/Misc.hs 60;" f +_footForward src/Dodge/Data/Creature/Misc.hs 64;" f _foreShapes src/Dodge/Data/LWorld.hs 137;" f _fsDir src/Dodge/Data/ForegroundShape.hs 14;" f _fsPos src/Dodge/Data/ForegroundShape.hs 13;" f @@ -1921,14 +1924,15 @@ _guTime src/Dodge/Data/Gust.hs 15;" f _guVel src/Dodge/Data/Gust.hs 14;" f _gusts src/Dodge/Data/LWorld.hs 102;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f -_harvestTarget src/Dodge/Data/ActionPlan.hs 153;" f +_harvestTarget src/Dodge/Data/ActionPlan.hs 154;" f _heldPos src/Dodge/Data/Input.hs 43;" f _heldWorldPos src/Dodge/Data/Input.hs 45;" f _highlightItems src/Dodge/Data/CWorld.hs 36;" f -_hiveChildren src/Dodge/Data/Creature/Misc.hs 90;" f -_hiveGestation src/Dodge/Data/Creature/Misc.hs 91;" f +_hiveChildren src/Dodge/Data/Creature/Misc.hs 97;" f +_hiveGestation src/Dodge/Data/Creature/Misc.hs 98;" f _hotkeys src/Dodge/Data/LWorld.hs 146;" f _hud src/Dodge/Data/World.hs 47;" f +_iAction src/Dodge/Data/ActionPlan.hs 17;" f _ibtAmmoMag src/Dodge/Data/Item/Combine.hs 20;" f _ibtAttach src/Dodge/Data/Item/Combine.hs 19;" f _ibtBulletMod src/Dodge/Data/Item/Combine.hs 22;" f @@ -1953,8 +1957,8 @@ _imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 24;" f _imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 23;" f _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f -_impulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" f -_impulsesListList src/Dodge/Data/ActionPlan.hs 78;" f +_impulseUseTarget src/Dodge/Data/ActionPlan.hs 50;" f +_impulsesListList src/Dodge/Data/ActionPlan.hs 79;" f _incEdgeZoning src/Dodge/Data/World.hs 57;" f _incEdges src/Dodge/Data/CWorld.hs 31;" f _incGraph src/Dodge/Data/CWorld.hs 29;" f @@ -1982,17 +1986,17 @@ _items src/Dodge/Data/LWorld.hs 97;" f _itsInt src/Dodge/Data/Item.hs 40;" f _itsMax src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f -_killTarget src/Dodge/Data/ActionPlan.hs 159;" f +_killTarget src/Dodge/Data/ActionPlan.hs 160;" f _lAimPos src/Dodge/Data/LWorld.hs 148;" f _lClock src/Dodge/Data/LWorld.hs 143;" f -_lFootPos src/Dodge/Data/Creature/Misc.hs 66;" f +_lFootPos src/Dodge/Data/Creature/Misc.hs 71;" f _lInvLock src/Dodge/Data/LWorld.hs 149;" f _lTestInt src/Dodge/Data/LWorld.hs 145;" f _lTestString src/Dodge/Data/LWorld.hs 144;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f -_lampColor src/Dodge/Data/Creature/Misc.hs 96;" f -_lampHeight src/Dodge/Data/Creature/Misc.hs 96;" f -_lampLSID src/Dodge/Data/Creature/Misc.hs 96;" f +_lampColor src/Dodge/Data/Creature/Misc.hs 103;" f +_lampHeight src/Dodge/Data/Creature/Misc.hs 103;" f +_lampLSID src/Dodge/Data/Creature/Misc.hs 103;" f _lasWepXSF src/Dodge/Data/ComposedItem.hs 42;" f _laserEmmiter src/Dodge/Data/Laser.hs 17;" f _laserTypeDamage src/Dodge/Data/Laser.hs 16;" f @@ -2001,7 +2005,7 @@ _ldpPos src/Dodge/Data/SelectionList.hs 15;" f _ldpScale src/Dodge/Data/SelectionList.hs 16;" f _ldpSize src/Dodge/Data/SelectionList.hs 18;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 17;" f -_leadTargetBy src/Dodge/Data/ActionPlan.hs 121;" f +_leadTargetBy src/Dodge/Data/ActionPlan.hs 122;" f _lightSources src/Dodge/Data/LWorld.hs 138;" f _lightUBO src/Data/Preload/Render.hs 43;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f @@ -2033,7 +2037,7 @@ _lyGen src/Dodge/Data/MetaTree.hs 31;" f _machines src/Dodge/Data/LWorld.hs 126;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f _magnets src/Dodge/Data/LWorld.hs 129;" f -_mainAction src/Dodge/Data/ActionPlan.hs 129;" f +_mainAction src/Dodge/Data/ActionPlan.hs 130;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" f _mapInvItmID src/Dodge/Data/HUD.hs 20;" f _mapInvOffset src/Dodge/Data/HUD.hs 18;" f @@ -2082,11 +2086,12 @@ _mdPoint3 src/Dodge/Data/Modification.hs 18;" f _mdTimer src/Dodge/Data/Modification.hs 17;" f _mdUpdate src/Dodge/Data/Modification.hs 16;" f _mdUpdate src/Dodge/Data/Modification.hs 25;" f -_meleeCooldown src/Dodge/Data/Creature/Misc.hs 58;" f -_meleeCooldown src/Dodge/Data/Creature/Misc.hs 69;" f -_meleeCooldownL src/Dodge/Data/Creature/Misc.hs 63;" f -_meleeCooldownR src/Dodge/Data/Creature/Misc.hs 64;" f -_meleeTarget src/Dodge/Data/ActionPlan.hs 146;" f +_meleeCooldown src/Dodge/Data/Creature/Misc.hs 63;" f +_meleeCooldown src/Dodge/Data/Creature/Misc.hs 74;" f +_meleeCooldown src/Dodge/Data/Creature/Misc.hs 93;" f +_meleeCooldownL src/Dodge/Data/Creature/Misc.hs 68;" f +_meleeCooldownR src/Dodge/Data/Creature/Misc.hs 69;" f +_meleeTarget src/Dodge/Data/ActionPlan.hs 147;" f _mgField src/Dodge/Data/Magnet.hs 23;" f _mgPos src/Dodge/Data/Magnet.hs 22;" f _moEff src/Dodge/Data/Universe.hs 111;" f @@ -2109,13 +2114,16 @@ _mtLabel src/Dodge/Data/MetaTree.hs 13;" f _mtTree src/Dodge/Data/MetaTree.hs 13;" f _musicData src/Data/Preload.hs 13;" f _mvPulseTime src/Dodge/Data/Creature/Misc.hs 37;" f +_mvPulseTime src/Dodge/Data/Creature/Misc.hs 42;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 27;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 30;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 35;" f +_mvSpeed src/Dodge/Data/Creature/Misc.hs 40;" f _mvToPoint src/Dodge/Data/Creature.hs 74;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 32;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 31;" f _mvTurnSpeed src/Dodge/Data/Creature/Misc.hs 36;" f +_mvTurnSpeed src/Dodge/Data/Creature/Misc.hs 41;" f _mzAmmoSlot src/Dodge/Data/Muzzle.hs 13;" f _mzEffect src/Dodge/Data/Muzzle.hs 15;" f _mzFlareType src/Dodge/Data/Muzzle.hs 14;" f @@ -2144,10 +2152,10 @@ _opTexture src/Dodge/Data/Wall.hs 34;" f _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 18;" f _opticPos src/Dodge/Data/Item/Scope.hs 14;" f _opticZoom src/Dodge/Data/Item/Scope.hs 17;" f -_partialAction src/Dodge/Data/ActionPlan.hs 117;" f +_partialAction src/Dodge/Data/ActionPlan.hs 118;" f _pastWorlds src/Dodge/Data/World.hs 38;" f -_pathFailAction src/Dodge/Data/ActionPlan.hs 75;" f -_pathToPoint src/Dodge/Data/ActionPlan.hs 75;" f +_pathFailAction src/Dodge/Data/ActionPlan.hs 76;" f +_pathToPoint src/Dodge/Data/ActionPlan.hs 76;" f _pauseTimeMesage src/Dodge/Data/World.hs 89;" f _pauseTimeMesageColor src/Dodge/Data/World.hs 90;" f _pbOrigin src/Dodge/Data/PlasmaBall.hs 16;" f @@ -2159,7 +2167,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 44;" f _pickUpLevel src/Dodge/Layout/Generate.hs 15;" f _pickUps src/Dodge/Layout/Generate.hs 16;" f _pictureShaders src/Data/Preload/Render.hs 31;" f -_piercedPoints src/Dodge/Data/Creature/Misc.hs 112;" f +_piercedPoints src/Dodge/Data/Creature/Misc.hs 119;" f _pjBarrelSpin src/Dodge/Data/Projectile.hs 24;" f _pjDetonatorID src/Dodge/Data/Projectile.hs 26;" f _pjDir src/Dodge/Data/Projectile.hs 19;" f @@ -2206,8 +2214,8 @@ _psSelect src/Dodge/Data/GenWorld.hs 101;" f _pullWallShader src/Data/Preload/Render.hs 22;" f _pulseBalls src/Dodge/Data/LWorld.hs 120;" f _pulseLasers src/Dodge/Data/LWorld.hs 119;" f -_pulseProgress src/Dodge/Data/Creature/Misc.hs 43;" f -_pulseRate src/Dodge/Data/Creature/Misc.hs 42;" f +_pulseProgress src/Dodge/Data/Creature/Misc.hs 48;" f +_pulseRate src/Dodge/Data/Creature/Misc.hs 47;" f _putBlock src/Dodge/Data/GenWorld.hs 43;" f _putButton src/Dodge/Data/GenWorld.hs 39;" f _putChasmChasms src/Dodge/Data/GenWorld.hs 60;" f @@ -2241,7 +2249,7 @@ _pzbPos src/Dodge/Data/PulseLaser.hs 24;" f _pzbTimer src/Dodge/Data/PulseLaser.hs 25;" f _pzbVel src/Dodge/Data/PulseLaser.hs 23;" f _rCommands src/Dodge/Terminal.hs 165;" f -_rFootPos src/Dodge/Data/Creature/Misc.hs 67;" f +_rFootPos src/Dodge/Data/Creature/Misc.hs 72;" f _radarBlips src/Dodge/Data/LWorld.hs 112;" f _radarSweeps src/Dodge/Data/LWorld.hs 108;" f _randGen src/Dodge/Data/World.hs 40;" f @@ -2343,8 +2351,8 @@ _selLocation src/Dodge/Data/LWorld.hs 141;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 20;" f _sensType src/Dodge/Data/Machine/Sensor.hs 21;" f _sensorCoding src/Dodge/Data/GenParams.hs 14;" f -_sentinelDir src/Dodge/Data/ActionPlan.hs 160;" f -_sentinelPos src/Dodge/Data/ActionPlan.hs 160;" f +_sentinelDir src/Dodge/Data/ActionPlan.hs 161;" f +_sentinelPos src/Dodge/Data/ActionPlan.hs 161;" f _sfColor src/Shape/Data.hs 41;" f _sfShadowImportance src/Shape/Data.hs 42;" f _sfSize src/Shape/Data.hs 43;" f @@ -2367,26 +2375,26 @@ _siPayload src/Dodge/Data/SelectionList.hs 52;" f _siPictures src/Dodge/Data/SelectionList.hs 46;" f _siWidth src/Dodge/Data/SelectionList.hs 48;" f _sideEffect src/Loop/Data.hs 13;" f -_sideImpulses src/Dodge/Data/ActionPlan.hs 128;" f +_sideImpulses src/Dodge/Data/ActionPlan.hs 129;" f _silhouetteEBO src/Data/Preload/Render.hs 30;" f _skOldPos src/Dodge/Data/Spark.hs 14;" f _skPos src/Dodge/Data/Spark.hs 13;" f _skType src/Dodge/Data/Spark.hs 15;" f _skVel src/Dodge/Data/Spark.hs 12;" f -_skinHead src/Dodge/Data/Creature/Misc.hs 102;" f -_skinLower src/Dodge/Data/Creature/Misc.hs 104;" f -_skinUpper src/Dodge/Data/Creature/Misc.hs 103;" f +_skinHead src/Dodge/Data/Creature/Misc.hs 109;" f +_skinLower src/Dodge/Data/Creature/Misc.hs 111;" f +_skinUpper src/Dodge/Data/Creature/Misc.hs 110;" f _slInt src/Dodge/Data/HUD.hs 39;" f _slSec src/Dodge/Data/HUD.hs 39;" f _slSet src/Dodge/Data/HUD.hs 39;" f -_slimeCompression src/Dodge/Data/Creature/Misc.hs 79;" f -_slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 81;" f -_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 80;" f -_slimeRad src/Dodge/Data/Creature/Misc.hs 76;" f -_slimeRadWobble src/Dodge/Data/Creature/Misc.hs 77;" f -_slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 78;" f -_slinkHeadPos src/Dodge/Data/Creature/Misc.hs 73;" f -_slinkSpine src/Dodge/Data/Creature/Misc.hs 72;" f +_slimeCompression src/Dodge/Data/Creature/Misc.hs 84;" f +_slimeEngulfProgress src/Dodge/Data/Creature/Misc.hs 86;" f +_slimeIsCompressing src/Dodge/Data/Creature/Misc.hs 85;" f +_slimeRad src/Dodge/Data/Creature/Misc.hs 81;" f +_slimeRadWobble src/Dodge/Data/Creature/Misc.hs 82;" f +_slimeSplitTimer src/Dodge/Data/Creature/Misc.hs 83;" f +_slinkHeadPos src/Dodge/Data/Creature/Misc.hs 78;" f +_slinkSpine src/Dodge/Data/Creature/Misc.hs 77;" f _smoothScrollAmount src/Dodge/Data/Input.hs 41;" f _soundAngDist src/Sound/Data.hs 47;" f _soundChannel src/Sound/Data.hs 46;" f @@ -2410,9 +2418,9 @@ _ssShownItems src/Dodge/Data/SelectionList.hs 34;" f _ssShownLength src/Dodge/Data/SelectionList.hs 35;" f _ssboName src/Shader/Data.hs 97;" f _ssboPtr src/Shader/Data.hs 98;" f -_startStopMv src/Dodge/Data/Creature/Misc.hs 86;" f -_strideAmount src/Dodge/Data/Creature/Misc.hs 56;" f -_strideAmount src/Dodge/Data/Creature/Misc.hs 60;" f +_startStopMv src/Dodge/Data/Creature/Misc.hs 91;" f +_strideAmount src/Dodge/Data/Creature/Misc.hs 61;" f +_strideAmount src/Dodge/Data/Creature/Misc.hs 65;" f _stuckCrID src/Dodge/Data/Projectile.hs 50;" f _stuckCrOffset src/Dodge/Data/Projectile.hs 50;" f _stuckCrRot src/Dodge/Data/Projectile.hs 50;" f @@ -2434,8 +2442,8 @@ _taColor src/Dodge/Data/TeslaArc.hs 19;" f _taOrigin src/Dodge/Data/TeslaArc.hs 20;" f _taTimer src/Dodge/Data/TeslaArc.hs 17;" f _targetCr src/Dodge/Data/Creature.hs 73;" f -_targetID src/Dodge/Data/ActionPlan.hs 72;" f -_targetSeenAt src/Dodge/Data/ActionPlan.hs 73;" f +_targetID src/Dodge/Data/ActionPlan.hs 73;" f +_targetSeenAt src/Dodge/Data/ActionPlan.hs 74;" f _tbPos src/Dodge/Data/TractorBeam.hs 12;" f _tbStartPos src/Dodge/Data/TractorBeam.hs 13;" f _tbTime src/Dodge/Data/TractorBeam.hs 15;" f @@ -2492,7 +2500,7 @@ _tuDir src/Dodge/Data/Machine.hs 68;" f _tuFireTime src/Dodge/Data/Machine.hs 67;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 66;" f _tuWeapon src/Dodge/Data/Machine.hs 65;" f -_turnToPoint src/Dodge/Data/ActionPlan.hs 77;" f +_turnToPoint src/Dodge/Data/ActionPlan.hs 78;" f _uInt src/Dodge/Data/Item/Use.hs 31;" f _uScope src/Dodge/Data/Item/Use.hs 34;" f _uValue src/Dodge/Data/Item/Use.hs 33;" f @@ -2515,7 +2523,7 @@ _upscaleCloudShader src/Data/Preload/Render.hs 25;" f _useExactly src/Dodge/Data/Muzzle.hs 63;" f _useMapperLines src/Dodge/Data/Item/Use.hs 38;" f _useMapperPoints src/Dodge/Data/Item/Use.hs 39;" f -_useSelf src/Dodge/Data/ActionPlan.hs 124;" f +_useSelf src/Dodge/Data/ActionPlan.hs 125;" f _useToggle src/Dodge/Data/Item/Use.hs 36;" f _useUpTo src/Dodge/Data/Muzzle.hs 64;" f _uvCanContinue src/Dodge/Data/Universe.hs 36;" f @@ -2565,8 +2573,8 @@ _vxShadNum src/Picture/Data.hs 16;" f _wCam src/Dodge/Data/World.hs 59;" f _wSoundFilter src/Dodge/Data/World.hs 43;" f _wTime src/Dodge/Data/Item/Params.hs 20;" f -_waitThenAction src/Dodge/Data/ActionPlan.hs 82;" f -_waitThenTimer src/Dodge/Data/ActionPlan.hs 81;" f +_waitThenAction src/Dodge/Data/ActionPlan.hs 83;" f +_waitThenTimer src/Dodge/Data/ActionPlan.hs 82;" f _wallDamages src/Dodge/Data/LWorld.hs 124;" f _wallVBO src/Data/Preload/Render.hs 50;" f _walls src/Dodge/Data/LWorld.hs 123;" f @@ -2611,7 +2619,7 @@ aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f accessTerminal src/Dodge/WorldEffect.hs 64;" f activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 63;" f activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f -addArmour src/Dodge/Creature.hs 77;" f +addArmour src/Dodge/Creature.hs 75;" f addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 101;" f addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 47;" f @@ -2718,7 +2726,7 @@ argV src/Geometry/Vector.hs 89;" f armourChaseCrit src/Dodge/Creature/ArmourChase.hs 34;" f armouredChasers src/Dodge/Room/Boss.hs 58;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f -arms src/Dodge/Creature/Picture.hs 348;" f +arms src/Dodge/Creature/Picture.hs 354;" f arrow src/Picture/Composite.hs 19;" f arrowPath src/Picture/Composite.hs 8;" f assignHotkey src/Dodge/AssignHotkey.hs 9;" f @@ -2761,7 +2769,7 @@ bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 890;" f bangStick src/Dodge/Item/Held/Stick.hs 15;" f barPP src/Dodge/Room/Foreground.hs 231;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f -barrelShape src/Dodge/Creature/Picture.hs 399;" f +barrelShape src/Dodge/Creature/Picture.hs 405;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 411;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseCI src/Dodge/Item/Grammar.hs 167;" f @@ -2770,14 +2778,14 @@ baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 325;" f baseRodShape src/Dodge/Item/Draw/SPic.hs 408;" f baseSMGShape src/Dodge/Item/Draw/SPic.hs 396;" f -baseShoulder src/Dodge/Creature/Picture.hs 386;" f +baseShoulder src/Dodge/Creature/Picture.hs 392;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 302;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 294;" f baseStickSpread src/Dodge/HeldUse.hs 346;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 137;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 31;" f -basicCrPict src/Dodge/Creature/Picture.hs 76;" f -basicCrShape src/Dodge/Creature/Picture.hs 82;" f +basicCrPict src/Dodge/Creature/Picture.hs 77;" f +basicCrShape src/Dodge/Creature/Picture.hs 83;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMuzFlare src/Dodge/HeldUse.hs 731;" f @@ -2786,7 +2794,7 @@ batteryPack src/Dodge/Item/Equipment.hs 38;" f beeCrit src/Dodge/Creature/ChaseCrit.hs 89;" f beep3QuickS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 710;" f beltMag src/Dodge/Item/Ammo.hs 38;" f -bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 327;" f +bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 326;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 131;" f bgunSound src/Dodge/HeldUse.hs 540;" f bingate src/Dodge/Item/Scope.hs 115;" f @@ -2862,7 +2870,7 @@ buttonFlip src/Dodge/Button/Event.hs 18;" f buzz1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 892;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f byNthLink src/Dodge/Room/Warning.hs 44;" f -cChasm src/Dodge/Room/Tutorial.hs 174;" f +cChasm src/Dodge/Room/Tutorial.hs 175;" f cFilledRect src/Dodge/CharacterEnums.hs 6;" f cWireRect src/Dodge/CharacterEnums.hs 10;" f calcSmoothScroll src/Dodge/SmoothScroll.hs 11;" f @@ -2895,20 +2903,19 @@ changeSwapWith src/Dodge/Inventory.hs 283;" f charToTuple src/Picture/Base.hs 312;" f charToTupleGrad src/Picture/Text.hs 18;" f chartreuse src/Color.hs 51;" f -chaseCorpse src/Dodge/Creature/Picture.hs 297;" f +chaseCorpse src/Dodge/Creature/Picture.hs 303;" f chaseCrit src/Dodge/Creature/ChaseCrit.hs 35;" f -chaseCritInternal src/Dodge/Humanoid.hs 12;" f chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 194;" f -chaseUpperBody src/Dodge/Creature/Picture.hs 174;" f -chasmRotate src/Dodge/Creature/State/WalkCycle.hs 142;" f -chasmSimpleMaze src/Dodge/Room/Tutorial.hs 411;" f -chasmSpitTerminal src/Dodge/Room/Tutorial.hs 344;" f -chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 124;" f +chaseUpperBody src/Dodge/Creature/Picture.hs 180;" f +chasmRotate src/Dodge/Creature/State/WalkCycle.hs 144;" f +chasmSimpleMaze src/Dodge/Room/Tutorial.hs 412;" f +chasmSpitTerminal src/Dodge/Room/Tutorial.hs 345;" f +chasmTestCliffPush src/Dodge/Creature/State/WalkCycle.hs 126;" f chasmWallToSurface src/Dodge/Base/Collide.hs 133;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f -checkDeath src/Dodge/Creature/Update.hs 343;" f -checkDeath' src/Dodge/Creature/Update.hs 346;" f +checkDeath src/Dodge/Creature/Update.hs 363;" f +checkDeath' src/Dodge/Creature/Update.hs 366;" f checkEndGame src/Dodge/Update.hs 887;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -2923,7 +2930,7 @@ chemFuelPouch src/Dodge/Item/Ammo.hs 81;" f chestPQ src/Dodge/Creature/HandPos.hs 180;" f chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f -chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 171;" f +chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 173;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f circHitWall src/Dodge/Base/Collide.hs 262;" f @@ -2932,8 +2939,8 @@ circOnAnyCr src/Dodge/Base/Collide.hs 307;" f circOnSeg src/Geometry.hs 101;" f circOnSegNoEndpoints src/Geometry.hs 91;" f circOnSomeWall src/Dodge/Base/Collide.hs 301;" f -circSegsInside src/Dodge/Creature/State/WalkCycle.hs 110;" f -circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 99;" f +circSegsInside src/Dodge/Creature/State/WalkCycle.hs 112;" f +circSegsInside' src/Dodge/Creature/State/WalkCycle.hs 101;" f circle src/Picture/Base.hs 172;" f circleDecoration src/Dodge/Placement/TopDecoration.hs 62;" f circleSolid src/Picture/Base.hs 156;" f @@ -3012,7 +3019,7 @@ compass src/Dodge/Item/Held/BatteryGuns.hs 38;" f compileAndCheckShader src/Shader/Compile.hs 108;" f composeNode src/Dodge/Tree/Compose.hs 77;" f composeTree src/Dodge/Tree/Compose.hs 48;" f -compressionScale src/Dodge/Creature/State/WalkCycle.hs 66;" f +compressionScale src/Dodge/Creature/State/WalkCycle.hs 68;" f compressor src/Dodge/Item/Ammo.hs 74;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 716;" f conEffects src/Dodge/Concurrent.hs 12;" f @@ -3033,7 +3040,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 159;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 411;" f cornerList src/Preload/Render.hs 236;" f -corpseOrGib src/Dodge/Creature/Update.hs 389;" f +corpseOrGib src/Dodge/Creature/Update.hs 409;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 135;" f corridorN src/Dodge/Room/Corridor.hs 58;" f @@ -3041,11 +3048,11 @@ corridorWallN src/Dodge/Room/Corridor.hs 77;" f crAdd src/Dodge/Room/RezBox.hs 116;" f crAwayFromPost src/Dodge/Creature/Test.hs 83;" f crBlips src/Dodge/RadarSweep.hs 88;" f -crCamouflage src/Dodge/Creature/Picture.hs 79;" f +crCamouflage src/Dodge/Creature/Picture.hs 80;" f crCanSeeCr src/Dodge/Creature/Test.hs 50;" f crCrSpring src/Dodge/Update.hs 1008;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 68;" f -crDeathEffects src/Dodge/Creature/Update.hs 367;" f +crDeathEffects src/Dodge/Creature/Update.hs 387;" f crDeathSounds src/Dodge/Creature/Vocalization.hs 40;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f @@ -3065,12 +3072,12 @@ crMass src/Dodge/Creature/Mass.hs 5;" f crMaterial src/Dodge/Creature/Material.hs 8;" f crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f crMoveImpulses src/Dodge/Creature/Action.hs 144;" f -crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 45;" f -crMvAbsoluteNoStride src/Dodge/Creature/Impulse/Movement.hs 62;" f -crMvBy src/Dodge/Creature/Impulse/Movement.hs 26;" f -crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 37;" f -crMvForward src/Dodge/Creature/Impulse/Movement.hs 85;" f -crMvForward' src/Dodge/Creature/Impulse/Movement.hs 73;" f +crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 47;" f +crMvAbsoluteNoStride src/Dodge/Creature/Impulse/Movement.hs 64;" f +crMvBy src/Dodge/Creature/Impulse/Movement.hs 28;" f +crMvByNoStride src/Dodge/Creature/Impulse/Movement.hs 39;" f +crMvForward src/Dodge/Creature/Impulse/Movement.hs 92;" f +crMvForward' src/Dodge/Creature/Impulse/Movement.hs 75;" f crMvType src/Dodge/Creature/MoveType.hs 7;" f crNearPoint src/Dodge/Creature/Test.hs 129;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 25;" f @@ -3085,23 +3092,23 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 996;" f crStratConMatches src/Dodge/Creature/Test.hs 78;" f crStrength src/Dodge/Creature/Statistics.hs 30;" f -crUpdate src/Dodge/Creature/Update.hs 336;" f +crUpdate src/Dodge/Creature/Update.hs 356;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 67;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 49;" f crVocalResetTime src/Dodge/Creature/Vocalization.hs 69;" f -crWalk src/Dodge/Creature/Impulse/Movement.hs 29;" f -crWalkAbsolute src/Dodge/Creature/Impulse/Movement.hs 53;" f +crWalk src/Dodge/Creature/Impulse/Movement.hs 31;" f +crWalkAbsolute src/Dodge/Creature/Impulse/Movement.hs 55;" f crWarningSounds src/Dodge/Creature/Vocalization.hs 16;" f crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 71;" f crWlPbHitZ src/Dodge/WorldEvent/ThingsHit.hs 81;" f crZoneSize src/Dodge/Zoning/Creature.hs 43;" f crabActionUpdate src/Dodge/Creature/ReaderUpdate.hs 124;" f -crabCorpse src/Dodge/Creature/Picture.hs 316;" f +crabCorpse src/Dodge/Creature/Picture.hs 322;" f crabCrit src/Dodge/Creature/ChaseCrit.hs 42;" f crabCritInternal src/Dodge/Humanoid.hs 29;" f -crabFeet src/Dodge/Creature/Picture.hs 226;" f -crabRoom src/Dodge/Room/Tutorial.hs 465;" f -crabUpperBody src/Dodge/Creature/Picture.hs 150;" f +crabFeet src/Dodge/Creature/Picture.hs 232;" f +crabRoom src/Dodge/Room/Tutorial.hs 466;" f +crabUpperBody src/Dodge/Creature/Picture.hs 156;" f craftInfo src/Dodge/Item/Info.hs 168;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 41;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 642;" f @@ -3119,9 +3126,9 @@ createWall src/Dodge/Wall/Create.hs 8;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 12;" f creatureShootLaser src/Dodge/HeldUse.hs 860;" f creatureShootPulseLaser src/Dodge/HeldUse.hs 891;" f -creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 88;" f -creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 109;" f -creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 98;" f +creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 95;" f +creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 116;" f +creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 105;" f critDeadEnd src/Dodge/Room/Room.hs 261;" f critInDeadEnd src/Dodge/Room/Room.hs 257;" f critsPillarRoom src/Dodge/Room/Room.hs 417;" f @@ -3168,7 +3175,7 @@ damThingHitWith src/Dodge/Damage.hs 73;" f damToExpBarrel src/Dodge/Barreloid.hs 52;" f damageBlock src/Dodge/Wall/Damage.hs 121;" f damageCodeCommand src/Dodge/Terminal.hs 67;" f -damageCorpse src/Dodge/Creature/Update.hs 57;" f +damageCorpse src/Dodge/Creature/Update.hs 58;" f damageCrWl src/Dodge/Damage.hs 29;" f damageCrWlID src/Dodge/Damage.hs 23;" f damageCrystal src/Dodge/Material/Damage.hs 286;" f @@ -3177,7 +3184,7 @@ damageDirt src/Dodge/Material/Damage.hs 192;" f damageFlesh src/Dodge/Material/Damage.hs 158;" f damageGlass src/Dodge/Material/Damage.hs 219;" f damageGlassBlock src/Dodge/Wall/Damage.hs 126;" f -damageHP src/Dodge/Creature/Damage.hs 40;" f +damageHP src/Dodge/Creature/Damage.hs 25;" f damageInCircle src/Dodge/Damage.hs 62;" f damageLightningRod src/Dodge/Material/Damage.hs 74;" f damageMachine src/Dodge/Wall/Damage.hs 47;" f @@ -3201,10 +3208,10 @@ deZoneIX src/Dodge/Zoning/Base.hs 91;" f deZoneWall src/Dodge/Zoning/Wall.hs 69;" f deadEndPSType src/Dodge/Room/Room.hs 264;" f deadEndRoom src/Dodge/Room/Room.hs 267;" f -deadFeet src/Dodge/Creature/Picture.hs 344;" f -deadRot src/Dodge/Creature/Picture.hs 362;" f -deadScalp src/Dodge/Creature/Picture.hs 357;" f -deadUpperBody src/Dodge/Creature/Picture.hs 383;" f +deadFeet src/Dodge/Creature/Picture.hs 350;" f +deadRot src/Dodge/Creature/Picture.hs 368;" f +deadScalp src/Dodge/Creature/Picture.hs 363;" f +deadUpperBody src/Dodge/Creature/Picture.hs 389;" f debrisS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 778;" f debrisSPic src/Dodge/Prop/Draw.hs 17;" f debrisSize src/Dodge/Block/Debris.hs 131;" f @@ -3388,7 +3395,7 @@ doRoomShift src/Dodge/Room/Link.hs 34;" f doScopeZoom src/Dodge/Update/Scroll.hs 89;" f doSectionSize src/Dodge/DisplayInventory.hs 215;" f doSideEffects appDodge/Main.hs 118;" f -doSlimeRadChange src/Dodge/Creature/Update.hs 246;" f +doSlimeRadChange src/Dodge/Creature/Update.hs 266;" f doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 272;" f doTabComplete src/Dodge/Terminal.hs 241;" f doTestDrawing src/Dodge/Render.hs 40;" f @@ -3422,14 +3429,14 @@ drawAllShadows src/Dodge/Shadows.hs 5;" f drawAnySelectionBox src/Dodge/Render/Picture.hs 132;" f drawArrowDown src/Dodge/Render/Picture.hs 225;" f drawBaseMachine src/Dodge/Machine/Draw.hs 70;" f -drawBeeCrit src/Dodge/Creature/Picture.hs 122;" f +drawBeeCrit src/Dodge/Creature/Picture.hs 123;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlock src/Dodge/Render/ShapePicture.hs 81;" f drawBoundingBox src/Dodge/Debug/Picture.hs 368;" f drawBullet src/Dodge/Render/ShapePicture.hs 156;" f drawButton src/Dodge/Button/Draw.hs 11;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f -drawChaseCrit src/Dodge/Creature/Picture.hs 141;" f +drawChaseCrit src/Dodge/Creature/Picture.hs 147;" f drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCliff src/Dodge/Render/ShapePicture.hs 87;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f @@ -3440,8 +3447,8 @@ drawCoord src/Dodge/Debug/Picture.hs 396;" f drawCountMod src/Render.hs 231;" f drawCrInfo src/Dodge/Debug.hs 215;" f drawCrInfo' src/Dodge/Debug.hs 210;" f -drawCrabCrit src/Dodge/Creature/Picture.hs 133;" f -drawCreature src/Dodge/Creature/Picture.hs 36;" f +drawCrabCrit src/Dodge/Creature/Picture.hs 139;" f +drawCreature src/Dodge/Creature/Picture.hs 37;" f drawCreatureDisplayTexts src/Dodge/Debug/Picture.hs 199;" f drawCross src/Dodge/Render/Label.hs 25;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f @@ -3459,7 +3466,7 @@ drawDragSelecting src/Dodge/Render/HUD.hs 162;" f drawDumbSwitch src/Dodge/Button/Draw.hs 31;" f drawEmptySet src/Dodge/Render/Picture.hs 153;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f -drawEquipment src/Dodge/Creature/Picture.hs 395;" f +drawEquipment src/Dodge/Creature/Picture.hs 401;" f drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f @@ -3469,8 +3476,8 @@ drawForceField src/Dodge/Wall/Draw.hs 15;" f drawGapPlus src/Dodge/Render/Picture.hs 284;" f drawGib src/Dodge/Prop/Draw.hs 31;" f drawHUD src/Dodge/Render/HUD.hs 53;" f -drawHive src/Dodge/Creature/Picture.hs 119;" f -drawHoverCrit src/Dodge/Creature/Picture.hs 109;" f +drawHive src/Dodge/Creature/Picture.hs 120;" f +drawHoverCrit src/Dodge/Creature/Picture.hs 110;" f drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInspectWall src/Dodge/Debug/Picture.hs 256;" f drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f @@ -3523,8 +3530,8 @@ drawShaderLay src/Render.hs 218;" f drawShadowsByImportance src/Dodge/Shadows.hs 8;" f drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f -drawSlimeCrit src/Dodge/Creature/Picture.hs 58;" f -drawSlinkCrit src/Dodge/Creature/Picture.hs 97;" f +drawSlimeCrit src/Dodge/Creature/Picture.hs 59;" f +drawSlinkCrit src/Dodge/Creature/Picture.hs 98;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f drawSubInventory src/Dodge/Render/HUD.hs 173;" f @@ -3552,9 +3559,9 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f -dropAll src/Dodge/Creature/Update.hs 427;" f +dropAll src/Dodge/Creature/Update.hs 447;" f dropInventoryPath src/Dodge/HeldUse.hs 1380;" f -dropItem src/Dodge/Creature/Action.hs 178;" f +dropItem src/Dodge/Creature/Action.hs 180;" f dropper src/Dodge/Item/Scope.hs 82;" f drumMag src/Dodge/Item/Ammo.hs 31;" f dsZoneSize src/Dodge/Zoning/Cloud.hs 51;" f @@ -3643,7 +3650,7 @@ facesToVF src/Polyhedra/Geodesic.hs 70;" f farWallDistDirection src/Dodge/Update/Camera.hs 245;" f fdiv src/ShortShow.hs 41;" f feedSlime src/Dodge/Update.hs 1079;" f -feet src/Dodge/Creature/Picture.hs 212;" f +feet src/Dodge/Creature/Picture.hs 218;" f filter3 src/FoldableHelp.hs 76;" f filterSectionsPair src/Dodge/DisplayInventory.hs 160;" f findBlips src/Dodge/RadarSweep.hs 63;" f @@ -3689,10 +3696,10 @@ floorItemPickupInfo src/Dodge/Render/HUD.hs 233;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 143;" f floorTo src/Geometry/Zone.hs 12;" f floorWire src/Dodge/Wire.hs 13;" f -flyInertia src/Dodge/Creature/State/WalkCycle.hs 72;" f +flyInertia src/Dodge/Creature/State/WalkCycle.hs 74;" f foamSprayFadeOutS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 836;" f foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 886;" f -foldMTRS src/Dodge/Room/Tutorial.hs 107;" f +foldMTRS src/Dodge/Room/Tutorial.hs 108;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 111;" f followImpulse src/Dodge/Creature/Impulse.hs 25;" f @@ -3757,8 +3764,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 543;" f getCommand src/Dodge/Terminal.hs 61;" f getCommands src/Dodge/Terminal.hs 58;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 56;" f -getCrsFromRooms src/Dodge/Room/Tutorial.hs 622;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 609;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 623;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 610;" f getDebugMouseOver src/Dodge/Update.hs 473;" f getDistortions src/Dodge/Render.hs 448;" f getEdgesCrossing src/Dodge/Path.hs 39;" f @@ -3775,7 +3782,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1280;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomFromID src/Dodge/Room/Modify.hs 31;" f -getRoomsFromInts src/Dodge/Room/Tutorial.hs 605;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 606;" f getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemInvID src/Dodge/Inventory/Location.hs 36;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3803,7 +3810,6 @@ glassSwitchBack src/Dodge/Room/Room.hs 86;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 120;" f glauncherPic src/Dodge/Item/Draw/SPic.hs 405;" f gluintSize src/Shader/Parameters.hs 25;" f -goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f grahamEliminate src/Geometry/Polygon.hs 186;" f grahamScan src/Geometry/Polygon.hs 177;" f grapeCannon src/Dodge/Item/Held/Cone.hs 17;" f @@ -3817,7 +3823,7 @@ gridInPolygon src/Grid.hs 10;" f gridPoints' src/Grid.hs 37;" f gridPointsOff src/Grid.hs 32;" f gridRoomPos src/Dodge/Room/Procedural.hs 91;" f -groundCliffPush src/Dodge/Creature/State/WalkCycle.hs 90;" f +groundCliffPush src/Dodge/Creature/State/WalkCycle.hs 92;" f groupSplitItemAmounts src/Dodge/Combine.hs 52;" f gruntS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 560;" f gut1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 914;" f @@ -3850,7 +3856,7 @@ 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 -hasAutoDoorBody src/Dodge/Creature/Test.hs 139;" f +hasAutoDoorBody src/Dodge/Creature/Test.hs 140;" f hasButtonLOS src/Dodge/Base/Collide.hs 326;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasLOS src/Dodge/Base/Collide.hs 319;" f @@ -3900,7 +3906,7 @@ hotkeyToChar src/Dodge/Inventory/SelectionList.hs 201;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 62;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 198;" f hoverCrit src/Dodge/Creature/ChaseCrit.hs 80;" f -hoverCritHoverSound src/Dodge/Creature/Update.hs 313;" f +hoverCritHoverSound src/Dodge/Creature/Update.hs 333;" f hoverCritInternal src/Dodge/Humanoid.hs 46;" f hoverCritMv src/Dodge/Creature/ReaderUpdate.hs 229;" f hoverDeathSounds src/Dodge/Creature/Vocalization.hs 62;" f @@ -3986,7 +3992,7 @@ invSetSelection src/Dodge/Inventory.hs 288;" f invSetSelectionPos src/Dodge/Inventory.hs 296;" f invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f invSize src/Dodge/Inventory/CheckSlots.hs 33;" f -inventoryX src/Dodge/Creature.hs 105;" f +inventoryX src/Dodge/Creature.hs 103;" f inverseSelNumPos src/Dodge/SelectionSections.hs 211;" f inverseSelSecYint src/Dodge/SelectionSections.hs 179;" f inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 192;" f @@ -4099,13 +4105,13 @@ keyCardRunPastRand src/Dodge/LockAndKey.hs 37;" f keyPic src/Dodge/Item/Draw/SPic.hs 442;" f keyholeCorridor src/Dodge/Room/Corridor.hs 45;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 798;" f -lChasm src/Dodge/Room/Tutorial.hs 186;" f +lChasm src/Dodge/Room/Tutorial.hs 187;" f lConnect src/Dodge/Render/Connectors.hs 43;" f lConnectCol src/Dodge/Render/Connectors.hs 46;" f lConnectMulti src/Dodge/Render/Connectors.hs 51;" f lShape src/Dodge/Placement/Instance/LightSource.hs 61;" f lamp src/Dodge/Creature/Lamp.hs 18;" f -lampCrSPic src/Dodge/Creature/Picture.hs 404;" f +lampCrSPic src/Dodge/Creature/Picture.hs 410;" f lasCenRunClose' src/Dodge/Room/LasTurret.hs 308;" f lasCenRunClose1 src/Dodge/Room/LasTurret.hs 397;" f lasCenRunClose2 src/Dodge/Room/LasTurret.hs 470;" f @@ -4162,12 +4168,12 @@ linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f listConfig src/Dodge/Menu.hs 232;" f listControls src/Dodge/Menu.hs 244;" f listCursor src/Dodge/Render/List.hs 120;" f -listGuard src/Dodge/Creature/ReaderUpdate.hs 297;" f +listGuard src/Dodge/Creature/ReaderUpdate.hs 296;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 415;" f -loadAmmoTut src/Dodge/Room/Tutorial.hs 469;" f +loadAmmoTut src/Dodge/Room/Tutorial.hs 470;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMuzzle src/Dodge/HeldUse.hs 654;" f @@ -4195,7 +4201,7 @@ logMenu src/Dodge/Menu.hs 125;" f logOptions src/Dodge/Menu.hs 140;" f logistic src/Dodge/Base.hs 98;" f longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f -longCrit src/Dodge/Creature.hs 63;" f +longCrit src/Dodge/Creature.hs 61;" f longRoom src/Dodge/Room/LongRoom.hs 22;" f longRoomRunPast src/Dodge/Room/LongRoom.hs 48;" f longestCommonPrefix src/Dodge/Debug/Terminal.hs 145;" f @@ -4232,7 +4238,7 @@ makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeColorTermLine src/Dodge/Terminal.hs 124;" f makeColorTermPara src/Dodge/Terminal.hs 121;" f -makeCorpse src/Dodge/Creature/Picture.hs 278;" f +makeCorpse src/Dodge/Creature/Picture.hs 284;" f makeCrGibs src/Dodge/Prop/Gib.hs 19;" f makeDebris src/Dodge/Block/Debris.hs 75;" f makeDebrisDirected src/Dodge/Block/Debris.hs 101;" f @@ -4297,7 +4303,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 572;" f maybeOpenConsole src/Dodge/Update.hs 135;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 135;" f -maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 149;" f +maybeTakeStep src/Dodge/Creature/State/WalkCycle.hs 151;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f mcBackgroundSound src/Dodge/Machine/Update.hs 152;" f mcColor src/Dodge/Machine/Draw.hs 74;" f @@ -4346,9 +4352,9 @@ mglCreate src/GLHelp.hs 8;" f mglDelete src/GLHelp.hs 14;" f midBarDecoration src/Dodge/Placement/TopDecoration.hs 23;" f midBounds src/Dodge/Room/Foreground.hs 150;" f -midChasm src/Dodge/Room/Tutorial.hs 215;" f -midChasmPlatform src/Dodge/Room/Tutorial.hs 237;" f -midChasmSpit src/Dodge/Room/Tutorial.hs 305;" f +midChasm src/Dodge/Room/Tutorial.hs 216;" f +midChasmPlatform src/Dodge/Room/Tutorial.hs 238;" f +midChasmSpit src/Dodge/Room/Tutorial.hs 306;" f midPad src/Padding.hs 27;" f midPadL src/Padding.hs 33;" f midPoint src/Geometry.hs 83;" f @@ -4357,7 +4363,7 @@ minAndMax src/FoldableHelp.hs 109;" f minCrIXOn src/Dodge/Zoning/Creature.hs 49;" f minOn src/FoldableHelp.hs 35;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 628;" f -miniGunCrit src/Dodge/Creature.hs 56;" f +miniGunCrit src/Dodge/Creature.hs 54;" f miniGunX src/Dodge/Item/Held/Cane.hs 33;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 376;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 368;" f @@ -4407,7 +4413,7 @@ mtTopLabels src/Dodge/Tree/Compose.hs 51;" f mtUnderLabels src/Dodge/Tree/Compose.hs 54;" f muchWlDustAt src/Dodge/Wall/Dust.hs 10;" f muin src/Dodge/RoomLink.hs 147;" f -multGunCrit src/Dodge/Creature.hs 70;" f +multGunCrit src/Dodge/Creature.hs 68;" f multiArrow src/Picture/Composite.hs 11;" f multiLookupTrie src/SimpleTrie.hs 57;" f multiLookupTrieI src/SimpleTrie.hs 66;" f @@ -4428,6 +4434,7 @@ mvPointMeleeTarg src/Dodge/Creature/Boid.hs 327;" f mvPointToward src/Dodge/Base.hs 136;" f mvPointTowardAtSpeed src/Dodge/Base.hs 105;" f mvProp src/Dodge/Placement/PlaceSpot.hs 167;" f +mvTurnToward src/Dodge/Creature/Impulse/Movement.hs 129;" f myIntersectLineLine src/Geometry/Intersect.hs 197;" f myIntersectSegSeg src/Geometry/Intersect.hs 175;" f nRays src/Geometry.hs 182;" f @@ -4452,9 +4459,9 @@ noShape src/ShapePicture.hs 29;" f noclipCheck src/Dodge/WallCreatureCollisions.hs 22;" f nodeNear src/Dodge/Path.hs 94;" f nodesNear src/Dodge/Path.hs 100;" f -nonConvexChasm src/Dodge/Room/Tutorial.hs 302;" f +nonConvexChasm src/Dodge/Room/Tutorial.hs 303;" f nonCornerLinks src/Dodge/Room/SensorDoor.hs 53;" f -normalGait src/Dodge/Creature/State/WalkCycle.hs 166;" f +normalGait src/Dodge/Creature/State/WalkCycle.hs 168;" f normalTo8 src/Shader/Poke.hs 475;" f normalizeAngle src/Geometry/Vector.hs 136;" f normalizeAnglePi src/Dodge/Base.hs 154;" f @@ -4479,7 +4486,7 @@ oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 684;" f onEquipWristShield src/Dodge/Euse.hs 89;" f onRemoveWristShield src/Dodge/Euse.hs 79;" f oneH src/Dodge/Creature/Test.hs 95;" f -oneSmooth src/Dodge/Creature/Picture.hs 209;" f +oneSmooth src/Dodge/Creature/Picture.hs 215;" f openConsole src/Dodge/Update.hs 140;" f optionMenu src/Dodge/Menu.hs 110;" f optionScreenDefaultEffect src/Dodge/Update/Input/ScreenLayer.hs 62;" f @@ -4516,7 +4523,7 @@ overlapCircWallsClosest src/Dodge/Base/Collide.hs 294;" f overlapSegCrs src/Dodge/Base/Collide.hs 64;" f overlapSegCrs' src/Dodge/Base/Collide.hs 72;" f overlapSegWalls src/Dodge/Base/Collide.hs 235;" f -overrideInternal src/Dodge/Creature/ReaderUpdate.hs 281;" f +overrideInternal src/Dodge/Creature/ReaderUpdate.hs 280;" f overrideMeleeCloseTarget src/Dodge/Creature/ReaderUpdate.hs 38;" f overwriteLabel src/Dodge/Tree/Compose.hs 32;" f p src/ShortShow.hs 48;" f @@ -4529,7 +4536,7 @@ pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 85;" f parseItem src/Dodge/Debug/Terminal.hs 62;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f -passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 687;" f +passthroughLockKeyLists src/Dodge/Room/Tutorial.hs 688;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f pathEdgeObstructed src/Dodge/Path.hs 87;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f @@ -4549,7 +4556,7 @@ performAction src/Dodge/Creature/Action.hs 56;" f performActions src/Dodge/Creature/Action.hs 41;" f performAimAt src/Dodge/Creature/Action.hs 112;" f performPathTo src/Dodge/Creature/Action.hs 133;" f -performTurnToA src/Dodge/Creature/Action.hs 151;" f +performTurnToA src/Dodge/Creature/Action.hs 153;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f pickUpItem src/Dodge/Inventory/Add.hs 70;" f pickUpItemAt src/Dodge/Inventory/Add.hs 75;" f @@ -4600,7 +4607,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointsToPoly src/Geometry/ConvexPoly.hs 37;" f -poisonSPic src/Dodge/Creature/Update.hs 423;" f +poisonSPic src/Dodge/Creature/Update.hs 443;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 518;" f pokeArrayOff src/Shader/Poke.hs 530;" f @@ -4636,8 +4643,8 @@ pokeWall src/Shader/Poke.hs 80;" f pokeWallsWindows src/Shader/Poke.hs 52;" f poly3 src/Picture/Base.hs 76;" f poly3Col src/Picture/Base.hs 80;" f -polyChasm src/Dodge/Room/Tutorial.hs 389;" f -polyChasmC src/Dodge/Room/Tutorial.hs 401;" f +polyChasm src/Dodge/Room/Tutorial.hs 390;" f +polyChasmC src/Dodge/Room/Tutorial.hs 402;" f polyCirc src/Shape.hs 48;" f polyCircx src/Shape.hs 53;" f polyCornerDist src/Geometry/Polygon.hs 69;" f @@ -4708,7 +4715,7 @@ psposAddLabel src/Dodge/PlacementSpot.hs 71;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f pulseChecker src/Dodge/Item/Equipment.hs 84;" f -pushAgainst src/Dodge/Creature/State/WalkCycle.hs 75;" f +pushAgainst src/Dodge/Creature/State/WalkCycle.hs 77;" f pushCaverns src/Dodge/Room/LongDoor.hs 192;" f pushCr src/Dodge/WallCreatureCollisions.hs 42;" f pushL src/DoubleStack.hs 20;" f @@ -4733,7 +4740,7 @@ putLitButOnPosExtTrig src/Dodge/Placement/Instance/Button.hs 97;" f putLitButOnPosExtTrig' src/Dodge/Placement/Instance/Button.hs 100;" f putMessageTerminal src/Dodge/Placement/Instance/Terminal.hs 58;" f putShape src/Dodge/Room/Foreground.hs 134;" f -putSingleLight src/Dodge/Room/Tutorial.hs 503;" f +putSingleLight src/Dodge/Room/Tutorial.hs 504;" f putSlideDr src/Dodge/Door/PutSlideDoor.hs 12;" f putStrLnAppend src/Dodge/LevelGen.hs 84;" f putTerminal src/Dodge/Placement/Instance/Terminal.hs 52;" f @@ -4848,7 +4855,7 @@ renderShadows src/Render.hs 116;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 73;" f resetPLUse src/Dodge/PlacementSpot.hs 94;" f -resetStride src/Dodge/Creature/State/WalkCycle.hs 161;" f +resetStride src/Dodge/Creature/State/WalkCycle.hs 163;" f resetTerminal src/Dodge/WorldEffect.hs 158;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 197;" f @@ -4968,14 +4975,14 @@ sawtoothFailS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 852;" f scToTS src/Dodge/Event/Input.hs 34;" f scale src/Picture/Base.hs 141;" f scale3 src/Picture/Base.hs 137;" f -scaleAlong src/Dodge/Creature/Picture.hs 72;" f +scaleAlong src/Dodge/Creature/Picture.hs 73;" f scaleMat src/MatrixHelper.hs 71;" f scaleMatrix src/MatrixHelper.hs 68;" f scaleSH src/Shape.hs 271;" f -scalp src/Dodge/Creature/Picture.hs 371;" f +scalp src/Dodge/Creature/Picture.hs 377;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 82;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/Update.hs 420;" f +scorchSPic src/Dodge/Creature/Update.hs 440;" f screenBox src/Dodge/Base/Window.hs 54;" f screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f @@ -4996,14 +5003,14 @@ seagullCry2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 722;" f seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 732;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 808;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 668;" f -searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 314;" f +searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 313;" f secondColumnLDP src/Dodge/ListDisplayParams.hs 45;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 202;" f sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f -segmentArea src/Dodge/Creature/Update.hs 294;" f +segmentArea src/Dodge/Creature/Update.hs 314;" f selNumPos src/Dodge/Render/HUD.hs 475;" f selNumPosCardinal src/Dodge/Render/HUD.hs 492;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f @@ -5021,7 +5028,7 @@ sensorReqToString src/Dodge/Machine/Update.hs 240;" f sensorRoom src/Dodge/Room/SensorDoor.hs 27;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 59;" f sensorSPic src/Dodge/Machine/Draw.hs 89;" f -sensorTut src/Dodge/Room/Tutorial.hs 631;" f +sensorTut src/Dodge/Room/Tutorial.hs 632;" f sensorTypeDamages src/Dodge/Machine/Update.hs 286;" f sensorTypeDamages src/Dodge/Wall/Damage.hs 92;" f setChannelPos src/Sound.hs 152;" f @@ -5049,11 +5056,11 @@ setSelWhileDragging src/Dodge/Update/Input/InGame.hs 360;" f setSelectionListRestriction src/Dodge/Update/Input/ScreenLayer.hs 93;" f setShaderSource src/Shader/Compile.hs 121;" f setShadowLimits src/Dodge/Shadows.hs 11;" f -setSlimeDir src/Dodge/Creature/Update.hs 225;" f +setSlimeDir src/Dodge/Creature/Update.hs 245;" f setSoundVolume src/Sound.hs 159;" f setTile src/Dodge/Layout.hs 78;" f setTiles src/Dodge/Layout.hs 68;" f -setTreeInts src/Dodge/Room/Tutorial.hs 114;" f +setTreeInts src/Dodge/Room/Tutorial.hs 115;" f setViewDistance src/Dodge/Update/Camera.hs 240;" f setViewPos src/Dodge/Creature/ReaderUpdate.hs 71;" f setViewport src/Dodge/Render.hs 453;" f @@ -5131,10 +5138,10 @@ showEquipItem src/Dodge/Item/Display.hs 109;" f showInt src/Dodge/Item/Info.hs 75;" f showIntsString src/Dodge/Tree/Compose.hs 130;" f showInventoryPathing src/Dodge/Item/Display.hs 87;" f -showManObj src/Dodge/TestString.hs 112;" f +showManObj src/Dodge/TestString.hs 110;" f showMuzzlePositions src/Dodge/Debug.hs 292;" f showTerminalError src/Dodge/Debug/Terminal.hs 80;" f -showTimeFlow src/Dodge/TestString.hs 129;" f +showTimeFlow src/Dodge/TestString.hs 127;" f shrinkPolyOnEdges src/Geometry/Polygon.hs 198;" f shrinkVert src/Geometry/Polygon.hs 202;" f shuffle src/RandomHelp.hs 68;" f @@ -5171,12 +5178,12 @@ slapS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 718;" f slideDoorS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 676;" f slideWindow src/ListHelp.hs 81;" f slimeCrit src/Dodge/Creature/ChaseCrit.hs 68;" f -slimeCritUpdate src/Dodge/Creature/Update.hs 190;" f +slimeCritUpdate src/Dodge/Creature/Update.hs 210;" f slimeEatSound src/Dodge/Update.hs 1117;" f slimeFood src/Dodge/Update.hs 1072;" f slimeSuck src/Dodge/Update.hs 1056;" f slinkCrit src/Dodge/Creature/ChaseCrit.hs 56;" f -slinkCritUpdate src/Dodge/Creature/Update.hs 297;" f +slinkCritUpdate src/Dodge/Creature/Update.hs 317;" f slowCrush90 src/Dodge/Room/LongDoor.hs 263;" f slowCrushRoom src/Dodge/Room/LongDoor.hs 148;" f slowDoorRoom src/Dodge/Room/LongDoor.hs 309;" f @@ -5233,18 +5240,18 @@ sparkDam src/Dodge/Spark.hs 37;" f sparkRandDir src/Dodge/Spark.hs 117;" f sparkToDamage src/Dodge/Spark.hs 40;" f spawnAt src/Dodge/SpawnAt.hs 14;" f -spawnerCrit src/Dodge/Creature.hs 49;" f +spawnerCrit src/Dodge/Creature.hs 47;" f spawnerRoom src/Dodge/Room/Room.hs 390;" f speedLegs src/Dodge/Item/Equipment.hs 74;" f -spiderJoint src/Dodge/Creature/Picture.hs 260;" f +spiderJoint src/Dodge/Creature/Picture.hs 266;" f splashMenu src/Dodge/Menu.hs 31;" f splashMenuOptions src/Dodge/Menu.hs 36;" f splashScreen src/Dodge/Initialisation.hs 10;" f splitBezierquad src/Geometry/Bezier.hs 15;" f splitExtra src/Justify.hs 21;" f splitLookupTrie src/SimpleTrie.hs 39;" f -splitSlimeCrit src/Dodge/Creature/Update.hs 263;" f -splitSlimeCrit' src/Dodge/Creature/Update.hs 253;" f +splitSlimeCrit src/Dodge/Creature/Update.hs 283;" f +splitSlimeCrit' src/Dodge/Creature/Update.hs 273;" f splitTrunk src/TreeHelp.hs 181;" f splitTrunkAt src/TreeHelp.hs 169;" f spreadAroundCenter src/Dodge/Base.hs 173;" f @@ -5254,8 +5261,8 @@ spreadGunCrit src/Dodge/Creature/SpreadGunCrit.hs 11;" f spreadOut src/Dodge/Creature/Boid.hs 160;" f sps src/Dodge/LevelGen/PlacementHelper.hs 30;" f sps0 src/Dodge/LevelGen/PlacementHelper.hs 42;" f -sqPlatformChasm src/Dodge/Room/Tutorial.hs 266;" f -sqSpitChasm src/Dodge/Room/Tutorial.hs 281;" f +sqPlatformChasm src/Dodge/Room/Tutorial.hs 267;" f +sqSpitChasm src/Dodge/Room/Tutorial.hs 282;" f square src/Geometry/Polygon.hs 56;" f squareDecoration src/Dodge/Placement/TopDecoration.hs 48;" f squashIntersectCirclePoint src/Dodge/WallCreatureCollisions.hs 129;" f @@ -5279,13 +5286,13 @@ ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 95;" f stackPicturesAtOff src/Dodge/Render/List.hs 98;" f stackText src/Picture/Base.hs 180;" f -stackedInventory src/Dodge/Creature.hs 320;" f -startCr src/Dodge/Creature.hs 85;" f +stackedInventory src/Dodge/Creature.hs 318;" f +startCr src/Dodge/Creature.hs 83;" f startCrafts src/Dodge/Room/Start.hs 94;" f -startDeathTimer src/Dodge/Creature/Update.hs 376;" f +startDeathTimer src/Dodge/Creature/Update.hs 396;" f startDrag src/Dodge/Update/Input/InGame.hs 319;" f -startInvList src/Dodge/Creature.hs 99;" f -startInventory src/Dodge/Creature.hs 102;" f +startInvList src/Dodge/Creature.hs 97;" f +startInventory src/Dodge/Creature.hs 100;" f startNewGameInSlot src/Dodge/StartNewGame.hs 16;" f startPara src/Dodge/StartNewGame.hs 29;" f startRoom src/Dodge/Room/Start.hs 53;" f @@ -5307,7 +5314,7 @@ storageShape src/Dodge/Machine/Draw.hs 31;" f storeRoomID src/Dodge/Room/Modify.hs 23;" f strFromEquipment src/Dodge/Creature/Statistics.hs 59;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 73;" f -strengthFactor src/Dodge/Creature/Impulse/Movement.hs 67;" f +strengthFactor src/Dodge/Creature/Impulse/Movement.hs 69;" f strictify src/MaybeHelp.hs 35;" f strideLength src/Dodge/Creature/HandPos.hs 46;" f strideRot src/Dodge/Item/HeldOffset.hs 80;" f @@ -5354,7 +5361,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 303;" f +targetYouWhenCognizant src/Dodge/Creature/ReaderUpdate.hs 302;" f targetYouWhenCognizant src/Dodge/Creature/SetTarget.hs 9;" f targetingScope src/Dodge/Item/Scope.hs 38;" f tbComplete src/Dodge/Terminal.hs 217;" f @@ -5373,10 +5380,10 @@ teslaCoil src/Dodge/Item/Held/BatteryGuns.hs 12;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 414;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 18;" f testEvent src/Dodge/Event/Test.hs 11;" f -testInventory src/Dodge/Creature.hs 301;" f +testInventory src/Dodge/Creature.hs 299;" f testPic src/Dodge/Render/ShapePicture.hs 57;" f testSPic src/Dodge/Render/ShapePicture.hs 54;" f -testStringInit src/Dodge/TestString.hs 44;" f +testStringInit src/Dodge/TestString.hs 45;" f text src/Picture/Base.hs 185;" f textGrad src/Picture/Text.hs 5;" f textInputBlurb src/Dodge/Terminal.hs 43;" f @@ -5407,7 +5414,7 @@ thingsHitZ' src/Dodge/WorldEvent/ThingsHit.hs 64;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 67;" f throb1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 862;" f throbC4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 820;" f -throwItem src/Dodge/Creature/Action.hs 214;" f +throwItem src/Dodge/Creature/Action.hs 216;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 221;" f tilesToLine src/Shader/AuxAddition.hs 66;" f @@ -5434,7 +5441,7 @@ toBinary src/Dodge/Inventory/SelectionList.hs 154;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 158;" f -toDeathCarriage src/Dodge/Creature/Update.hs 382;" f +toDeathCarriage src/Dodge/Creature/Update.hs 402;" f toFloatVAs src/Shader/Compile.hs 66;" f toLabel src/Dodge/Cleat.hs 16;" f toMultiset src/Multiset.hs 64;" f @@ -5443,7 +5450,7 @@ toTopLeft src/Dodge/Render/List.hs 212;" f toV2 src/Geometry/Data.hs 54;" f toV3 src/Geometry/Data.hs 57;" f toV4 src/Geometry/Data.hs 60;" f -tocrs src/Dodge/TestString.hs 39;" f +tocrs src/Dodge/TestString.hs 40;" f toggleCombineInv src/Dodge/DisplayInventory.hs 315;" f toggleCommands src/Dodge/Terminal.hs 86;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 68;" f @@ -5458,11 +5465,11 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 714;" f topInvW src/Dodge/ListDisplayParams.hs 56;" f topPrismEdgeIndices src/Shader/Poke.hs 344;" f topPrismIndices src/Shader/Poke.hs 419;" f -topTestPart src/Dodge/TestString.hs 107;" f +topTestPart src/Dodge/TestString.hs 105;" f torchShape src/Dodge/Item/Draw/SPic.hs 278;" f torqueAmount src/Dodge/HeldUse.hs 606;" f torqueCr src/Dodge/WorldEffect.hs 85;" f -torso src/Dodge/Creature/Picture.hs 376;" f +torso src/Dodge/Creature/Picture.hs 382;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractorBeamAt src/Dodge/HeldUse.hs 851;" f @@ -5531,12 +5538,12 @@ tryUseParent src/Dodge/Creature/State.hs 173;" f turnTo src/Dodge/Movement/Turn.hs 8;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 23;" f tutAnoTree src/Dodge/Room/Tutorial.hs 55;" f -tutDrop src/Dodge/Room/Tutorial.hs 119;" f -tutHub src/Dodge/Room/Tutorial.hs 529;" f -tutLight src/Dodge/Room/Tutorial.hs 433;" f -tutRezBox src/Dodge/Room/Tutorial.hs 642;" f +tutDrop src/Dodge/Room/Tutorial.hs 120;" f +tutHub src/Dodge/Room/Tutorial.hs 530;" f +tutLight src/Dodge/Room/Tutorial.hs 434;" f +tutRezBox src/Dodge/Room/Tutorial.hs 643;" f tutRoomTree src/Dodge/Floor.hs 20;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 667;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 668;" f tweenAngles src/Geometry/Vector.hs 198;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 83;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 39;" f @@ -5568,7 +5575,7 @@ unusedOffPathAwayFromLink src/Dodge/PlacementSpot.hs 133;" f unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 121;" f unusedSpotNearInLink src/Dodge/PlacementSpot.hs 203;" f -updateAggroBee src/Dodge/Creature/Update.hs 118;" f +updateAggroBee src/Dodge/Creature/Update.hs 116;" f updateAimPos src/Dodge/Update.hs 398;" f updateAllNodes src/TreeHelp.hs 88;" f updateArc src/Dodge/Tesla.hs 44;" f @@ -5576,23 +5583,24 @@ updateBackspaceRegex src/Dodge/Update/Input/InGame.hs 488;" f updateBarrel src/Dodge/Barreloid.hs 43;" f updateBarreloid src/Dodge/Barreloid.hs 16;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 30;" f -updateBeeCrit src/Dodge/Creature/Update.hs 113;" f -updateBeeFromPheremones src/Dodge/Creature/Update.hs 106;" f +updateBeeCrit src/Dodge/Creature/Update.hs 111;" f +updateBeeFromPheremones src/Dodge/Creature/Update.hs 104;" f updateBeePheremone src/Dodge/Update.hs 783;" f updateBounds src/Dodge/Update/Camera.hs 262;" f updateBulVel src/Dodge/Bullet.hs 57;" f updateBullet src/Dodge/Bullet.hs 22;" f updateBullets src/Dodge/Update.hs 669;" f -updateCalmBee src/Dodge/Creature/Update.hs 132;" f +updateCalmBee src/Dodge/Creature/Update.hs 152;" f updateCamera src/Dodge/Update/Camera.hs 33;" f -updateCarriage src/Dodge/Creature/State/WalkCycle.hs 20;" f -updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 25;" f +updateCarriage src/Dodge/Creature/State/WalkCycle.hs 22;" f +updateCarriage' src/Dodge/Creature/State/WalkCycle.hs 27;" f +updateChaseCrit src/Dodge/Humanoid.hs 12;" f updateCloseObjects src/Dodge/Inventory.hs 126;" f updateCloud src/Dodge/Update.hs 916;" f updateClouds src/Dodge/Update.hs 780;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f -updateCreature src/Dodge/Creature/Update.hs 46;" f +updateCreature src/Dodge/Creature/Update.hs 47;" f updateCreatureGroups src/Dodge/Update.hs 641;" f updateCreatureSoundPositions src/Dodge/Update.hs 620;" f updateCreatureStride src/Dodge/Update.hs 377;" f @@ -5623,7 +5631,7 @@ updateFunctionKey src/Dodge/Update/Input/InGame.hs 372;" f updateFunctionKeys src/Dodge/Update/Input/InGame.hs 368;" f updateGas src/Dodge/Update.hs 938;" f updateGusts src/Dodge/Update.hs 900;" f -updateHiveCrit src/Dodge/Creature/Update.hs 85;" f +updateHiveCrit src/Dodge/Creature/Update.hs 83;" f updateIMl src/Dodge/Update.hs 635;" f updateIMl' src/Dodge/Update.hs 638;" f updateInGameCamera src/Dodge/Update/Camera.hs 86;" f @@ -5641,7 +5649,7 @@ updateLaser src/Dodge/Laser/Update.hs 12;" f updateLasers src/Dodge/Update.hs 514;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 179;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f -updateLivingCreature src/Dodge/Creature/Update.hs 60;" f +updateLivingCreature src/Dodge/Creature/Update.hs 61;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 451;" f updateMachine src/Dodge/Machine/Update.hs 24;" f updateMagnets src/Dodge/Update.hs 406;" f @@ -5658,7 +5666,7 @@ updatePlasmaBall src/Dodge/Update.hs 528;" f updatePlasmaBalls src/Dodge/Update.hs 676;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f -updatePulse src/Dodge/Creature/Update.hs 435;" f +updatePulse src/Dodge/Creature/Update.hs 455;" f updatePulseBall src/Dodge/Update.hs 548;" f updatePulseLaser src/Dodge/Update.hs 723;" f updatePulseLasers src/Dodge/Update.hs 523;" f @@ -5700,7 +5708,7 @@ updateWheelEvent src/Dodge/Update/Scroll.hs 21;" f updateWheelEvents src/Dodge/Update.hs 493;" f updateWorldEventFlag src/Dodge/Update.hs 129;" f updateWorldEventFlags src/Dodge/Update.hs 117;" f -upperBody src/Dodge/Creature/Picture.hs 391;" f +upperBody src/Dodge/Creature/Picture.hs 397;" f upperBox src/Shape.hs 149;" f upperBoxHalf src/Shape.hs 224;" f upperBoxMT src/Shape.hs 140;" f @@ -5768,7 +5776,7 @@ visibleWalls src/Dodge/Base/Collide.hs 240;" f visionCheck src/Dodge/Creature/Perception.hs 162;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 356;" f -walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 84;" f +walkCliffPush src/Dodge/Creature/State/WalkCycle.hs 86;" f walkNozzle src/Dodge/HeldUse.hs 827;" f walkableNodeNear src/Dodge/Path.hs 90;" f wallBlips src/Dodge/RadarSweep.hs 99;" f @@ -5787,7 +5795,7 @@ wasdM src/Dodge/WASD.hs 9;" f wasdMovement src/Dodge/Creature/YourControl.hs 140;" f wasdWithAiming src/Dodge/Creature/YourControl.hs 106;" f watchCombinations src/Dodge/Combine/Combinations.hs 16;" f -watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 286;" f +watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 285;" f weaponBehindPillar src/Dodge/Room/Room.hs 200;" f weaponBetweenPillars src/Dodge/Room/Room.hs 216;" f weaponEmptyRoom src/Dodge/Room/Room.hs 161;" f @@ -5850,7 +5858,7 @@ wristArmour src/Dodge/Item/Equipment.hs 35;" f wristInvisibility src/Dodge/Item/Equipment.hs 80;" f writeConfig src/Dodge/Menu.hs 180;" f writeSaveSlot src/Dodge/Save.hs 36;" f -xChasm src/Dodge/Room/Tutorial.hs 153;" f +xChasm src/Dodge/Room/Tutorial.hs 154;" f xCylinder src/Shape.hs 129;" f xCylinderST src/Shape.hs 126;" f xIntercepts src/Dodge/Zoning/Base.hs 66;" f @@ -5862,7 +5870,7 @@ yIntercepts src/Dodge/Zoning/Base.hs 78;" f yV2 src/Geometry/Vector.hs 213;" f yellow src/Color.hs 44;" f you src/Dodge/Base/You.hs 17;" f -youDropItem src/Dodge/Creature/Action.hs 200;" f +youDropItem src/Dodge/Creature/Action.hs 202;" f yourAugmentedItem src/Dodge/Render/HUD.hs 240;" f yourControl src/Dodge/Creature/YourControl.hs 26;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 109;" f @@ -5872,7 +5880,7 @@ yourRootItem src/Dodge/Base/You.hs 26;" f yourRootItemDT src/Dodge/Base/You.hs 32;" f yourSelectedItem src/Dodge/Base/You.hs 20;" f yourStatsInfo src/Dodge/Creature/Info.hs 27;" f -zChasm src/Dodge/Room/Tutorial.hs 199;" f +zChasm src/Dodge/Room/Tutorial.hs 200;" f zConnect src/Dodge/Render/Connectors.hs 18;" f zConnectCol src/Dodge/Render/Connectors.hs 29;" f zConnectColMidX src/Dodge/Render/Connectors.hs 32;" f