diff --git a/src/Dodge/Data/PathGraph.hs b/src/Dodge/Data/PathGraph.hs index 737fc11d1..591eeb1cf 100644 --- a/src/Dodge/Data/PathGraph.hs +++ b/src/Dodge/Data/PathGraph.hs @@ -50,6 +50,7 @@ data EdgeObstacle | DoorObstacle | AutoDoorObstacle | WallObstacle + | ChasmObstacle deriving (Eq, Ord, Show, Bounded, Enum, Read) --Generic, Flat) --instance (ToJSON a, ToJSON b) => ToJSON (Gr a b) where diff --git a/src/Dodge/Debug/Picture.hs b/src/Dodge/Debug/Picture.hs index 11a9bc298..e80e677c0 100644 --- a/src/Dodge/Debug/Picture.hs +++ b/src/Dodge/Debug/Picture.hs @@ -270,10 +270,11 @@ drawPathEdge pe = obstacleColor :: EdgeObstacle -> Color obstacleColor eo = case eo of - WallObstacle -> cyan - DoorObstacle -> red + WallObstacle -> red + DoorObstacle -> orange AutoDoorObstacle -> yellow BlockObstacle -> blue + ChasmObstacle -> cyan drawFarWallDetect :: World -> Picture drawFarWallDetect w = diff --git a/src/Dodge/Default/Block.hs.orig b/src/Dodge/Default/Block.hs.orig deleted file mode 100644 index 7ac996020..000000000 --- a/src/Dodge/Default/Block.hs.orig +++ /dev/null @@ -1,29 +0,0 @@ -module Dodge.Default.Block where - -import Dodge.Block.Debris -import Dodge.Data.Block -import LensHelp - -defaultBlock :: Block -defaultBlock = - Block - { _blID = 0 - , _blWallIDs = mempty - , _blHP = 1000 - , _blShadows = [] - , _blFootprint = [] - , _blPos = 0 - , _blDir = 0 - , _blDraw = const mempty - , _blDeath = makeBlockDebris - , _blObstructs = - [] - <<<<<<< HEAD - ======= - , _blPaths = - [] - >>>>>>> efficientRuntime - } - -defaultDirtBlock :: Block -defaultDirtBlock = defaultBlock & blHP .~ 50 diff --git a/src/Dodge/Path.hs b/src/Dodge/Path.hs index 1f578ca52..6ab41c5c1 100644 --- a/src/Dodge/Path.hs +++ b/src/Dodge/Path.hs @@ -145,7 +145,8 @@ addEdges nodemap gr = foldl' f (mempty, gr) theedgedata = PathEdgeNodes (g a) (g b) (PathEdge a b (dist a b) mempty) g a = nodemap M.! a -obstructPathsCrossing :: EdgeObstacle -> Point2 -> Point2 -> World -> (World, Set PathEdgeNodes) +obstructPathsCrossing :: EdgeObstacle -> Point2 -> Point2 -> World + -> (World, Set PathEdgeNodes) obstructPathsCrossing obstacletype sp' ep w = ( w & cWorld . pathGraph %~ updateedges , es diff --git a/src/Dodge/Placement/PlaceSpot/Block.hs.orig b/src/Dodge/Placement/PlaceSpot/Block.hs.orig deleted file mode 100644 index b460b4410..000000000 --- a/src/Dodge/Placement/PlaceSpot/Block.hs.orig +++ /dev/null @@ -1,123 +0,0 @@ -{- | Creation, update and destruction of destructible walls. -} -module Dodge.Placement.PlaceSpot.Block - ( plBlock - , plLineBlock - ) - where -import Dodge.Data.World -import Dodge.Path -import Dodge.Block.Debris -import Dodge.Base -import Geometry -import qualified IntMapHelp as IM -import Control.Lens -import qualified Data.IntSet as IS - -plBlock - :: [Point2] -- ^ Block polygon - -> Block - -> Wall -- ^ Base Pane - -> World - -> (Int,World) -plBlock [] _ _ _ = error "Trying to add a block with incomplete polygon" -plBlock (p:ps) bl wl w = (,) blid $ w -<<<<<<< HEAD - & flip (foldr insertWall) wls -======= ->>>>>>> efficientRuntime - & blocks . at blid ?~ bl - { _blID = blid - , _blWallIDs = IS.fromList is - , _blShadows = [] - , _blFootprint = p:ps - } -<<<<<<< HEAD -======= - & insertWalls blid wls ->>>>>>> efficientRuntime - where - blid = IM.newKey $ _blocks w - lns = zip (p:ps) (ps ++ [p]) - i = IM.newKey $ _walls w - is = [i.. i + length lns-1] - wls = zipWith - (\j ln -> wl & wlLine .~ ln & wlID .~ j & wlStructure .~ BlockPart blid) - is - lns - -{- | Splits a line into many four cornered blocks. -} -plLineBlock - :: Wall -- ^ Base pane - -> Float - -> Point2 -- ^ Start point (symmetric) - -> Point2 -- ^ End point (symmetric) - -> World - -> (Int, World) -plLineBlock basePane blwidth a b gw = ( 0 -<<<<<<< HEAD - , foldr insertWall (insertBlocks gw) listWalls -======= --- , foldr insertWall (insertBlocks gw) listWalls - , insertBlocks gw ->>>>>>> efficientRuntime - ) - where - depth = blwidth - psOnLine = divideLineOddNumPoints blwidth a b - halfBlockWidth = dist a b / fromIntegral (length psOnLine - 1) - blockCenPs = snd $ evenOddSplit psOnLine - numBlocks = length blockCenPs - is = [0.. numBlocks - 1] - cornerPoints = rectWH halfBlockWidth depth -- goes clockwise around the block - cornersAt p = fmap ( (p +.+) . rotateV (argV (b -.- a)) ) cornerPoints - linesAt p = loopPairs $ cornersAt p - wlid = IM.newKey $ _walls gw - blid = IM.newKey $ _blocks gw - insertBlock (i,p) = - insertWalls (i + blid) (makeWallAt p i) - . (over blocks $ IM.insert (i+blid) Block - { _blID = i + blid, _blWallIDs = IS.fromList $ ksAtI i - , _blHP = 1000, _blShadows = shadowsAt i - , _blDir = 0 -- THIS IS NOT SENSIBLE. TODO rethink block positioning - , _blFootprint = cornersAt p -- TODO check winding (clockwise, anticlockwise) - , _blObstructs = [] -<<<<<<< HEAD -======= - , _blPaths = [] ->>>>>>> efficientRuntime - , _blPos = p, _blDraw = const mempty , _blDeath = makeBlockDebris} - ) - insertBlocks = flip (foldr insertBlock) $ zip is blockCenPs - ksAtI i = map ( + (wlid + i*4) ) [0,1,2,3] - visibilityAt i - | i == 0 = [False,True,True ,True] - | i == numBlocks - 1 = [True ,True,False,True] - | otherwise = [False,True,False,True] - shadowsAt i - | i == 0 = ksAtI 1 - | i == numBlocks - 1 = ksAtI $ numBlocks - 2 - | otherwise = ksAtI (i-1) ++ ksAtI (i+1) - makeWallAt p i = zipWith3 (makePane i) (visibilityAt i) (ksAtI i) (linesAt p) - makePane i visStatus k ps = basePane - {_wlID = k - ,_wlStructure = BlockPart $ i + blid - ,_wlLine = ps - ,_wlUnshadowed = visStatus - } - listWalls = concat $ zipWith makeWallAt blockCenPs is - -<<<<<<< HEAD -insertWall :: Wall -> World -> World -insertWall wl = (walls . at (_wlID wl) ?~ wl) - . uncurry (addObstacleCrossing' BlockObstacle) (_wlLine wl) -======= --- | Must be done after inserting the block -insertWalls :: Int -> [Wall] -> World -> World -insertWalls blid wls w = w' & blocks . ix blid . blPaths .~ concat paths - where - (w',paths) = mapAccumR (flip insertWall) w wls - -insertWall :: Wall -> World -> (World,[(Int,Int,PathEdge)]) -insertWall wl = uncurry obstructPathsCrossing (_wlLine wl) - . (walls . at (_wlID wl) ?~ wl) ->>>>>>> efficientRuntime diff --git a/tags b/tags index e0d5655dc..9c730d535 100644 --- a/tags +++ b/tags @@ -12,10 +12,10 @@ .++~ src/LensHelp.hs 33;" o .+.+~ src/LensHelp.hs 23;" o .:~ src/LensHelp.hs 14;" o -<$> src/Dodge/Data/ActionPlan.hs 181;" o +<$> src/Dodge/Data/ActionPlan.hs 180;" o <$> src/Dodge/Data/CWorld.hs 47;" o <$> src/Dodge/Data/Camera.hs 39;" o -<$> src/Dodge/Data/Creature.hs 89;" o +<$> src/Dodge/Data/Creature.hs 90;" o <$> src/Dodge/Data/LWorld.hs 177;" o <$> src/Dodge/Data/Terminal.hs 70;" o ABSOLUTE src/Dodge/Data/Item/Combine.hs 40;" C @@ -36,18 +36,18 @@ AUTOPISTOL src/Dodge/Data/Item/Combine.hs 146;" C AUTORIFLE src/Dodge/Data/Item/Combine.hs 155;" C AZURE src/Color/Data.hs 23;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 27;" C -Action src/Dodge/Data/ActionPlan.hs 67;" t -ActionNothing src/Dodge/Data/ActionPlan.hs 72;" C +Action src/Dodge/Data/ActionPlan.hs 66;" t +ActionNothing src/Dodge/Data/ActionPlan.hs 71;" C ActionPlan src/Dodge/Data/ActionPlan.hs 16;" t -AddGoal src/Dodge/Data/ActionPlan.hs 46;" C -AimAt src/Dodge/Data/ActionPlan.hs 73;" C +AddGoal src/Dodge/Data/ActionPlan.hs 45;" C +AimAt src/Dodge/Data/ActionPlan.hs 72;" C AimStance src/Dodge/Data/AimStance.hs 11;" t Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C AllRoomClipBoundaries src/Dodge/Data/Config.hs 108;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C -Ambush src/Dodge/Data/ActionPlan.hs 155;" C +Ambush src/Dodge/Data/ActionPlan.hs 154;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 33;" C AmmoExtractPosition src/Dodge/Data/Muzzle.hs 21;" t AmmoMagSF src/Dodge/Data/ComposedItem.hs 24;" C @@ -58,7 +58,7 @@ AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 32;" C AmmoPerShot src/Dodge/Data/Muzzle.hs 61;" t AmmoTargetingSF src/Dodge/Data/ComposedItem.hs 31;" C AmmoType src/Dodge/Data/AmmoType.hs 5;" t -ArbitraryAction src/Dodge/Data/ActionPlan.hs 144;" C +ArbitraryAction src/Dodge/Data/ActionPlan.hs 143;" C ArcNodeType src/Dodge/Data/LWorld.hs 157;" t ArcShad src/Picture/Data.hs 38;" C ArcStep src/Dodge/Data/ArcStep.hs 14;" t @@ -102,7 +102,7 @@ BULLETSYNTH src/Dodge/Data/Item/Combine.hs 93;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 156;" C BackdropCursor src/Dodge/Data/SelectionList.hs 21;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C -Bark src/Dodge/Data/ActionPlan.hs 41;" C +Bark src/Dodge/Data/ActionPlan.hs 40;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 73;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 34;" C BarrelType src/Dodge/Data/Creature/Misc.hs 87;" t @@ -207,17 +207,18 @@ CardinalEightPoint src/Dodge/Data/CardinalPoint.hs 19;" t CardinalPoint src/Dodge/Data/CardinalPoint.hs 5;" t CardinalPointBetween src/Dodge/Data/CardinalPoint.hs 12;" t Carriage src/Dodge/Data/Creature/Stance.hs 24;" t -ChangePosture src/Dodge/Data/ActionPlan.hs 43;" C -ChangeStrategy src/Dodge/Data/ActionPlan.hs 45;" C +ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C +ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C ChaseAI src/Dodge/Data/Creature/Misc.hs 40;" C ChaseCrit src/Dodge/Data/Creature/Misc.hs 70;" C ChaseCritters src/Dodge/Data/Creature/State.hs 18;" C +ChasmObstacle src/Dodge/Data/PathGraph.hs 53;" C ChemFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" C ChooseMovementLtAuto src/Dodge/Data/CreatureEffect.hs 31;" C ChooseMovementSpreadGun src/Dodge/Data/CreatureEffect.hs 30;" C Circ_collision_test src/Dodge/Data/Config.hs 85;" C Climate src/Dodge/Data/Scenario.hs 32;" C -CloseToMelee src/Dodge/Data/ActionPlan.hs 164;" C +CloseToMelee src/Dodge/Data/ActionPlan.hs 163;" C Close_shape_culling src/Dodge/Data/Config.hs 79;" C Cloud src/Dodge/Data/Cloud.hs 14;" t CloudType src/Dodge/Data/Cloud.hs 22;" t @@ -336,18 +337,18 @@ DisplayTerminal src/Dodge/Data/HUD.hs 29;" C Display_debug src/Dodge/Data/Config.hs 68;" C Distortion src/Dodge/Data/Distortion.hs 12;" t DivineRetribution src/Dodge/Data/Scenario.hs 35;" C -DoActionIf src/Dodge/Data/ActionPlan.hs 103;" C -DoActionIfElse src/Dodge/Data/ActionPlan.hs 107;" C -DoActionThen src/Dodge/Data/ActionPlan.hs 120;" C -DoActionWhile src/Dodge/Data/ActionPlan.hs 94;" C -DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 112;" C -DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 98;" C -DoActions src/Dodge/Data/ActionPlan.hs 117;" C -DoImpulses src/Dodge/Data/ActionPlan.hs 87;" C -DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 146;" C +DoActionIf src/Dodge/Data/ActionPlan.hs 102;" C +DoActionIfElse src/Dodge/Data/ActionPlan.hs 106;" C +DoActionThen src/Dodge/Data/ActionPlan.hs 119;" C +DoActionWhile src/Dodge/Data/ActionPlan.hs 93;" C +DoActionWhileInterrupt src/Dodge/Data/ActionPlan.hs 111;" C +DoActionWhilePartial src/Dodge/Data/ActionPlan.hs 97;" C +DoActions src/Dodge/Data/ActionPlan.hs 116;" C +DoImpulses src/Dodge/Data/ActionPlan.hs 86;" C +DoImpulsesAlongside src/Dodge/Data/ActionPlan.hs 145;" C DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C -DoReplicate src/Dodge/Data/ActionPlan.hs 127;" C -DoReplicatePartial src/Dodge/Data/ActionPlan.hs 131;" C +DoReplicate src/Dodge/Data/ActionPlan.hs 126;" C +DoReplicatePartial src/Dodge/Data/ActionPlan.hs 130;" C DockingBaySS src/Dodge/Data/Scenario.hs 92;" C Door src/Dodge/Data/Door.hs 34;" t DoorClosed src/Dodge/Data/Door.hs 23;" C @@ -367,7 +368,7 @@ DrWdWd src/Dodge/Data/WorldEffect.hs 67;" t DrawForceField src/Dodge/Data/Wall.hs 47;" C DrawnWall src/Dodge/Data/Wall.hs 43;" C DroneAmmo src/Dodge/Data/AmmoType.hs 10;" C -DropItem src/Dodge/Data/ActionPlan.hs 40;" C +DropItem src/Dodge/Data/ActionPlan.hs 39;" C DudPayload src/Dodge/Data/Payload.hs 13;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Data/Cloud.hs 29;" t @@ -440,7 +441,7 @@ FlameSound src/Dodge/Data/SoundOrigin.hs 29;" C FlameletBall src/Dodge/Data/EnergyBall/Type.hs 14;" C Flamer src/Dodge/Data/SoundOrigin.hs 27;" C Flaming src/Dodge/Data/Damage.hs 25;" C -Flank src/Dodge/Data/ActionPlan.hs 154;" C +Flank src/Dodge/Data/ActionPlan.hs 153;" C FlareType src/Dodge/Data/Muzzle.hs 28;" t FlashBall src/Dodge/Data/EnergyBall/Type.hs 17;" C Flashing src/Dodge/Data/Damage.hs 27;" C @@ -448,7 +449,7 @@ FlatFaces src/Shape/Data.hs 17;" C FlatShieldParams src/Dodge/Data/Item/Params.hs 16;" C FlechetteTrajectory src/Dodge/Data/Bullet.hs 45;" C FlechetteTrajectoryType src/Dodge/Data/Bullet.hs 52;" C -Flee src/Dodge/Data/ActionPlan.hs 168;" C +Flee src/Dodge/Data/ActionPlan.hs 167;" C Flesh src/Dodge/Data/Material.hs 11;" C FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 16;" C FloatConst src/Dodge/Data/FloatFunction.hs 17;" C @@ -462,7 +463,7 @@ FlockArmourChaseAI src/Dodge/Data/Creature/Misc.hs 48;" C Floor src/Data/Tile.hs 11;" t FloorItem src/Dodge/Data/FloorItem.hs 15;" t Flying src/Dodge/Data/Creature/Stance.hs 31;" C -FollowImpulses src/Dodge/Data/ActionPlan.hs 159;" C +FollowImpulses src/Dodge/Data/ActionPlan.hs 158;" C FootForward src/Dodge/Data/Creature/Stance.hs 35;" t FootstepSound src/Dodge/Data/SoundOrigin.hs 31;" C ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t @@ -497,12 +498,12 @@ GenParams src/Dodge/Data/GenParams.hs 15;" t GenWorld src/Dodge/Data/GenWorld.hs 24;" t GenericFaction src/Dodge/Data/Creature/State.hs 15;" C GeoObjShads src/Dodge/Data/Config.hs 102;" C -GetTo src/Dodge/Data/ActionPlan.hs 166;" C +GetTo src/Dodge/Data/ActionPlan.hs 165;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C Gib src/Dodge/Data/Prop.hs 43;" C Glass src/Dodge/Data/Material.hs 11;" C GlassBreakSound src/Dodge/Data/SoundOrigin.hs 35;" C -Goal src/Dodge/Data/ActionPlan.hs 174;" t +Goal src/Dodge/Data/ActionPlan.hs 173;" t GoesOnBack src/Dodge/Data/Equipment/Misc.hs 14;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 13;" C GoesOnHead src/Dodge/Data/Equipment/Misc.hs 12;" C @@ -567,9 +568,9 @@ ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 34;" t Important src/Shape/Data.hs 35;" C Impulse src/Dodge/Data/ActionPlan.hs 27;" t -ImpulseNothing src/Dodge/Data/ActionPlan.hs 48;" C -ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 47;" C -ImpulsesList src/Dodge/Data/ActionPlan.hs 84;" C +ImpulseNothing src/Dodge/Data/ActionPlan.hs 47;" C +ImpulseUseTarget src/Dodge/Data/ActionPlan.hs 46;" C +ImpulsesList src/Dodge/Data/ActionPlan.hs 83;" C InDivineZone src/Dodge/Data/Scenario.hs 22;" C InDream src/Dodge/Data/Scenario.hs 19;" C InInv src/Dodge/Data/Item/Location.hs 27;" C @@ -597,7 +598,7 @@ InventoryChange src/Dodge/Data/World.hs 32;" C InventoryConnectSound src/Dodge/Data/SoundOrigin.hs 14;" C InventoryPathing src/Dodge/Data/Item/Combine.hs 39;" t InventorySound src/Dodge/Data/SoundOrigin.hs 13;" C -Investigate src/Dodge/Data/ActionPlan.hs 161;" C +Investigate src/Dodge/Data/ActionPlan.hs 160;" C Invisible src/Dodge/Data/CamouflageStatus.hs 7;" C InwardShockwave src/Dodge/Data/Shockwave.hs 14;" C IsolationUnitSS src/Dodge/Data/Scenario.hs 101;" C @@ -628,7 +629,7 @@ JoystickSF src/Dodge/Data/ComposedItem.hs 26;" C Just' src/MaybeHelp.hs 13;" C JustStartedPlaying src/Sound/Data.hs 24;" C KEYCARD src/Dodge/Data/Item/Combine.hs 177;" C -Kill src/Dodge/Data/ActionPlan.hs 176;" C +Kill src/Dodge/Data/ActionPlan.hs 175;" C LASER src/Dodge/Data/Item/Combine.hs 36;" C LDT src/Dodge/Data/DoubleTree.hs 34;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C @@ -645,7 +646,7 @@ LSParam src/Dodge/Data/LightSource.hs 16;" t LWorld src/Dodge/Data/LWorld.hs 95;" t LabLink src/Dodge/Data/Room.hs 46;" C LabSS src/Dodge/Data/Scenario.hs 97;" C -LabelAction src/Dodge/Data/ActionPlan.hs 68;" C +LabelAction src/Dodge/Data/ActionPlan.hs 67;" C LabelCluster src/Dodge/Data/RoomCluster.hs 13;" C LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 24;" t Laboratory src/Dodge/Data/Scenario.hs 61;" C @@ -665,7 +666,7 @@ LaundrySS src/Dodge/Data/Scenario.hs 115;" C LayVars src/Dodge/Data/MetaTree.hs 29;" C Layer src/Picture/Data.hs 22;" t LayoutVars src/Dodge/Data/MetaTree.hs 29;" t -LeadTarget src/Dodge/Data/ActionPlan.hs 136;" C +LeadTarget src/Dodge/Data/ActionPlan.hs 135;" C LeftForward src/Dodge/Data/Creature/Stance.hs 35;" C LeftwardDT src/Dodge/Data/DoubleTree.hs 86;" C LeftwardLDT src/Dodge/Data/DoubleTree.hs 44;" C @@ -680,7 +681,7 @@ LimitedFood src/Dodge/Data/Scenario.hs 39;" C LimitedWater src/Dodge/Data/Scenario.hs 40;" C LinearShockwave src/Dodge/Data/LinearShockwave.hs 13;" t ListDisplayParams src/Dodge/Data/SelectionList.hs 13;" t -LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 175;" C +LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 174;" C LivingComplex src/Dodge/Data/Scenario.hs 68;" C LoadingBaySS src/Dodge/Data/Scenario.hs 93;" C LoadingScreen src/Dodge/Data/Universe.hs 73;" C @@ -690,9 +691,9 @@ LocationDT src/Dodge/Data/DoubleTree.hs 101;" t LocationLDT src/Dodge/Data/DoubleTree.hs 61;" t LoneWolf src/Dodge/Data/Creature/State.hs 26;" C LongAI src/Dodge/Data/Creature/Misc.hs 50;" C -LookAround src/Dodge/Data/ActionPlan.hs 163;" C +LookAround src/Dodge/Data/ActionPlan.hs 162;" C LtAutoAI src/Dodge/Data/Creature/Misc.hs 44;" C -Lure src/Dodge/Data/ActionPlan.hs 156;" C +Lure src/Dodge/Data/ActionPlan.hs 155;" C MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 145;" C MAGENTA src/Color/Data.hs 20;" C MAGNET src/Dodge/Data/Item/Combine.hs 68;" C @@ -729,7 +730,7 @@ MagnetTrajectoryType src/Dodge/Data/Bullet.hs 53;" C MagnetUpdate src/Dodge/Data/Magnet.hs 13;" t MagnetUpdateTimer src/Dodge/Data/Magnet.hs 13;" C MakeAutoSF src/Dodge/Data/ComposedItem.hs 35;" C -MakeSound src/Dodge/Data/ActionPlan.hs 44;" C +MakeSound src/Dodge/Data/ActionPlan.hs 43;" C MakeStartCloudAt src/Dodge/Data/WorldEffect.hs 30;" C MakeTempLight src/Dodge/Data/WorldEffect.hs 34;" C ManipulatedObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 22;" t @@ -752,8 +753,8 @@ MdWdId src/Dodge/Data/WorldEffect.hs 46;" C MdWdWd src/Dodge/Data/WorldEffect.hs 45;" t MedBaySS src/Dodge/Data/Scenario.hs 100;" C Medium src/Shape/Data.hs 30;" C -Melee src/Dodge/Data/ActionPlan.hs 42;" C -MeleeStrike src/Dodge/Data/ActionPlan.hs 169;" C +Melee src/Dodge/Data/ActionPlan.hs 41;" C +MeleeStrike src/Dodge/Data/ActionPlan.hs 168;" C Memory src/Dodge/Data/Creature/Memory.hs 13;" t MenuOption src/Dodge/Data/Universe.hs 99;" t MenuOptionDisplay src/Dodge/Data/Universe.hs 94;" t @@ -802,9 +803,8 @@ MuzzleStopper src/Dodge/Data/Muzzle.hs 57;" C MuzzleTesla src/Dodge/Data/Muzzle.hs 43;" C MuzzleTractor src/Dodge/Data/Muzzle.hs 44;" C MuzzleUnsafeBlink src/Dodge/Data/Muzzle.hs 55;" C -MvForward src/Dodge/Data/ActionPlan.hs 36;" C +MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C -MvTurnTowardTest src/Dodge/Data/ActionPlan.hs 35;" C MvWalking src/Dodge/Data/Creature/Misc.hs 30;" C NAILBOX src/Dodge/Data/Item/Combine.hs 78;" C NInt src/NewInt.hs 17;" C @@ -825,7 +825,7 @@ NewInt src/NewInt.hs 17;" t NewIntMap src/NewInt.hs 23;" t NewIntSet src/NewInt.hs 20;" t NewSideEffect src/Dodge/Data/Universe.hs 65;" C -NoAction src/Dodge/Data/ActionPlan.hs 139;" C +NoAction src/Dodge/Data/ActionPlan.hs 138;" C NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -971,9 +971,9 @@ PathEdge src/Dodge/Data/PathGraph.hs 40;" t PathEdgeNodes src/Dodge/Data/PathGraph.hs 33;" t PathFromEdge src/Dodge/Data/Room.hs 77;" t PathShowType src/Dodge/Data/Universe.hs 54;" t -PathTo src/Dodge/Data/ActionPlan.hs 77;" C +PathTo src/Dodge/Data/ActionPlan.hs 76;" C Pathing src/Dodge/Data/Config.hs 76;" C -Patrol src/Dodge/Data/ActionPlan.hs 157;" C +Patrol src/Dodge/Data/ActionPlan.hs 156;" C PausedTimeFlow src/Dodge/Data/World.hs 79;" C Payload src/Dodge/Data/Payload.hs 11;" t PenetrateBullet src/Dodge/Data/Bullet.hs 31;" C @@ -1092,9 +1092,9 @@ RProps src/Dodge/Layout/Generate.hs 13;" C RadarBlip src/Dodge/Data/RadarBlip.hs 14;" t RadarSweep src/Dodge/Data/RadarSweep.hs 19;" t RadialDistortion src/Dodge/Data/Distortion.hs 13;" C -RandImpulse src/Dodge/Data/ActionPlan.hs 51;" t -RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 53;" C -RandImpulseList src/Dodge/Data/ActionPlan.hs 52;" C +RandImpulse src/Dodge/Data/ActionPlan.hs 50;" t +RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 52;" C +RandImpulseList src/Dodge/Data/ActionPlan.hs 51;" C RandPS src/Dodge/Data/GenWorld.hs 58;" C RandomImpulse src/Dodge/Data/ActionPlan.hs 32;" C RandomTurn src/Dodge/Data/ActionPlan.hs 31;" C @@ -1104,7 +1104,7 @@ RectRoomType src/Dodge/Data/Room.hs 33;" C ReducedRocketSmoke src/Dodge/Data/Projectile.hs 55;" C ReigonalGovernment src/Dodge/Data/Scenario.hs 50;" C Religion src/Dodge/Data/Scenario.hs 47;" C -Reload src/Dodge/Data/ActionPlan.hs 167;" C +Reload src/Dodge/Data/ActionPlan.hs 166;" C RemoteDetonatorSF src/Dodge/Data/ComposedItem.hs 27;" C RemoteScreenSF src/Dodge/Data/ComposedItem.hs 25;" C RemoveEquipment src/Dodge/Data/RightButtonOptions.hs 35;" C @@ -1167,7 +1167,7 @@ SaveSlotNum src/Dodge/Data/SaveSlot.hs 12;" C Scope src/Dodge/Data/Item/Scope.hs 13;" t ScreenLayer src/Dodge/Data/Universe.hs 81;" t ScreenPos src/Dodge/Data/ScreenPos.hs 12;" t -Search src/Dodge/Data/ActionPlan.hs 170;" C +Search src/Dodge/Data/ActionPlan.hs 169;" C SecretCabal src/Dodge/Data/Scenario.hs 44;" C SectionCursor src/Dodge/Data/SelectionList.hs 23;" t SeeAbove src/Dodge/Data/Wall.hs 42;" C @@ -1186,7 +1186,7 @@ SelfTree src/Dodge/Data/MetaTree.hs 20;" t SemiAutoTrigger src/Dodge/Data/TriggerType.hs 9;" C SensorType src/Dodge/Data/Machine/Sensor.hs 14;" t SensorWithRequirement src/Dodge/Data/Machine/Sensor.hs 33;" C -SentinelAt src/Dodge/Data/ActionPlan.hs 177;" C +SentinelAt src/Dodge/Data/ActionPlan.hs 176;" C SetLSCol src/Dodge/Data/WorldEffect.hs 26;" C SetTrigger src/Dodge/Data/WorldEffect.hs 24;" C ShadNum src/Picture/Data.hs 35;" t @@ -1203,7 +1203,7 @@ ShellSound src/Dodge/Data/SoundOrigin.hs 28;" C ShieldGroup src/Dodge/Data/Creature/State.hs 32;" C Shockwave src/Dodge/Data/Shockwave.hs 17;" t ShockwaveDirection src/Dodge/Data/Shockwave.hs 14;" t -ShootAt src/Dodge/Data/ActionPlan.hs 158;" C +ShootAt src/Dodge/Data/ActionPlan.hs 157;" C ShortShow src/ShortShow.hs 6;" c ShortString src/ShortShow.hs 16;" t Show_bound_box src/Dodge/Data/Config.hs 80;" C @@ -1267,12 +1267,12 @@ StabSpinIncrease src/Dodge/Projectile/Create.hs 18;" C Stance src/Dodge/Data/Creature/Stance.hs 17;" t StandaloneWall src/Dodge/Data/Wall/Structure.hs 13;" C Standing src/Dodge/Data/Creature/Stance.hs 29;" C -StartSentinelPost src/Dodge/Data/ActionPlan.hs 140;" C +StartSentinelPost src/Dodge/Data/ActionPlan.hs 139;" C StayInArea src/Dodge/Data/Scenario.hs 13;" C Stone src/Dodge/Data/Material.hs 11;" C StorageSS src/Dodge/Data/Scenario.hs 94;" C -Strategy src/Dodge/Data/ActionPlan.hs 153;" t -StrategyActions src/Dodge/Data/ActionPlan.hs 165;" C +Strategy src/Dodge/Data/ActionPlan.hs 152;" t +StrategyActions src/Dodge/Data/ActionPlan.hs 164;" C SubInventory src/Dodge/Data/HUD.hs 16;" t Superfluous src/Shape/Data.hs 38;" C Surface src/Shape/Data.hs 41;" t @@ -1282,7 +1282,7 @@ SwapEquipment src/Dodge/Data/RightButtonOptions.hs 26;" C Swarm src/Dodge/Data/Creature/State.hs 27;" C SwarmAI src/Dodge/Data/Creature/Misc.hs 46;" C SwarmCrit src/Dodge/Data/Creature/Misc.hs 71;" C -SwitchToItem src/Dodge/Data/ActionPlan.hs 39;" C +SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C TAPE src/Dodge/Data/Item/Combine.hs 56;" C TARGETING src/Dodge/Data/Item/Combine.hs 22;" C TCBase src/Dodge/Data/Terminal.hs 51;" C @@ -1375,8 +1375,8 @@ TriggerSF src/Dodge/Data/ComposedItem.hs 22;" C TriggerType src/Dodge/Data/TriggerType.hs 7;" t TurbineBaySS src/Dodge/Data/Scenario.hs 110;" C Turn src/Dodge/Data/ActionPlan.hs 30;" C -TurnTo src/Dodge/Data/ActionPlan.hs 37;" C -TurnToPoint src/Dodge/Data/ActionPlan.hs 78;" C +TurnTo src/Dodge/Data/ActionPlan.hs 36;" C +TurnToPoint src/Dodge/Data/ActionPlan.hs 77;" C TurnToward src/Dodge/Data/ActionPlan.hs 33;" C TurnTowardCr src/Dodge/Data/CreatureEffect.hs 11;" C Turret src/Dodge/Data/Machine.hs 51;" t @@ -1409,12 +1409,12 @@ UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C UseHeld src/Dodge/Data/Item/Use.hs 31;" C UseInt src/Dodge/Data/Item/Use.hs 33;" C UseInvItem src/Dodge/Data/WorldEffect.hs 35;" C -UseItem src/Dodge/Data/ActionPlan.hs 38;" C +UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItemWidth src/Dodge/Data/SelectionList.hs 39;" C UseMapper src/Dodge/Data/Item/Use.hs 39;" C UseNothing src/Dodge/Data/Item/Use.hs 34;" C UseScope src/Dodge/Data/Item/Use.hs 36;" C -UseSelf src/Dodge/Data/ActionPlan.hs 141;" C +UseSelf src/Dodge/Data/ActionPlan.hs 140;" C UseToggle src/Dodge/Data/Item/Use.hs 38;" C UseUpTo src/Dodge/Data/Muzzle.hs 63;" C UseValue src/Dodge/Data/Item/Use.hs 35;" C @@ -1449,7 +1449,7 @@ WHITE src/Color/Data.hs 27;" C WIRE src/Dodge/Data/Item/Combine.hs 86;" C WRISTARMOUR src/Dodge/Data/Item/Combine.hs 124;" C WRIST_ECG src/Dodge/Data/Item/Combine.hs 136;" C -WaitThen src/Dodge/Data/ActionPlan.hs 90;" C +WaitThen src/Dodge/Data/ActionPlan.hs 89;" C Walking src/Dodge/Data/Creature/Stance.hs 25;" C Wall src/Dodge/Data/Wall.hs 20;" t WallArcNode src/Dodge/Data/LWorld.hs 158;" C @@ -1465,8 +1465,8 @@ War src/Dodge/Data/Scenario.hs 28;" C WarmTime src/Dodge/Data/Item/Params.hs 21;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 14;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 19;" C -WarningCry src/Dodge/Data/ActionPlan.hs 162;" C -WatchAndWait src/Dodge/Data/ActionPlan.hs 160;" C +WarningCry src/Dodge/Data/ActionPlan.hs 161;" C +WatchAndWait src/Dodge/Data/ActionPlan.hs 159;" C WdBl src/Dodge/Data/WorldEffect.hs 52;" t WdBlBtOn src/Dodge/Data/WorldEffect.hs 58;" C WdBlConst src/Dodge/Data/WorldEffect.hs 55;" C @@ -1504,8 +1504,8 @@ YELLOW src/Color/Data.hs 18;" C ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 92;" C ZombieFaction src/Dodge/Data/Creature/State.hs 16;" C __Just' src/MaybeHelp.hs 13;" f -_actAction src/Dodge/Data/ActionPlan.hs 70;" f -_actLabel src/Dodge/Data/ActionPlan.hs 69;" f +_actAction src/Dodge/Data/ActionPlan.hs 69;" f +_actLabel src/Dodge/Data/ActionPlan.hs 68;" f _aimStance src/Dodge/Data/Creature/Stance.hs 39;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 27;" f @@ -1517,7 +1517,7 @@ _allocRemoveID src/Dodge/Data/RightButtonOptions.hs 33;" f _allocSwapID src/Dodge/Data/RightButtonOptions.hs 29;" f _alphaDivideShader src/Data/Preload/Render.hs 18;" f _alteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" f -_ambushTarget src/Dodge/Data/ActionPlan.hs 155;" f +_ambushTarget src/Dodge/Data/ActionPlan.hs 154;" f _ampBullet src/Dodge/Data/Item/Use.hs 52;" f _ampCreateGas src/Dodge/Data/Item/Use.hs 54;" f _ampPayload src/Dodge/Data/Item/Use.hs 53;" f @@ -1530,7 +1530,7 @@ _apInt src/Dodge/Data/Item/Use.hs 47;" f _apProjectiles src/Dodge/Data/Item/Use.hs 46;" f _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _aps src/Dodge/Data/Muzzle.hs 22;" f -_arbitraryAction src/Dodge/Data/ActionPlan.hs 144;" f +_arbitraryAction src/Dodge/Data/ActionPlan.hs 143;" f _arcNode src/Dodge/Data/LWorld.hs 113;" f _asDir src/Dodge/Data/ArcStep.hs 16;" f _asObject src/Dodge/Data/ArcStep.hs 17;" f @@ -1747,27 +1747,27 @@ _dmPos src/Dodge/Data/Damage.hs 27;" f _dmVector src/Dodge/Data/Damage.hs 20;" f _dmVector src/Dodge/Data/Damage.hs 23;" f _dmVector src/Dodge/Data/Damage.hs 26;" f -_doActionIfAction src/Dodge/Data/ActionPlan.hs 105;" f -_doActionIfCondition src/Dodge/Data/ActionPlan.hs 104;" f -_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 109;" f -_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 110;" f -_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 108;" f -_doActionThenFirst src/Dodge/Data/ActionPlan.hs 121;" f -_doActionThenSecond src/Dodge/Data/ActionPlan.hs 122;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 96;" f -_doActionWhileAction src/Dodge/Data/ActionPlan.hs 101;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 95;" f -_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 100;" f -_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 99;" f -_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 114;" f -_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 113;" f -_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 115;" f -_doActionsList src/Dodge/Data/ActionPlan.hs 118;" f -_doImpulsesList src/Dodge/Data/ActionPlan.hs 88;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 129;" f -_doReplicateAction src/Dodge/Data/ActionPlan.hs 134;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 128;" f -_doReplicateTimes src/Dodge/Data/ActionPlan.hs 133;" f +_doActionIfAction src/Dodge/Data/ActionPlan.hs 104;" f +_doActionIfCondition src/Dodge/Data/ActionPlan.hs 103;" f +_doActionIfElseCondition src/Dodge/Data/ActionPlan.hs 108;" f +_doActionIfElseElseAction src/Dodge/Data/ActionPlan.hs 109;" f +_doActionIfElseIfAction src/Dodge/Data/ActionPlan.hs 107;" f +_doActionThenFirst src/Dodge/Data/ActionPlan.hs 120;" f +_doActionThenSecond src/Dodge/Data/ActionPlan.hs 121;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 95;" f +_doActionWhileAction src/Dodge/Data/ActionPlan.hs 100;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 94;" f +_doActionWhileCondition src/Dodge/Data/ActionPlan.hs 99;" f +_doActionWhilePartial src/Dodge/Data/ActionPlan.hs 98;" f +_doActionWhileThenCondition src/Dodge/Data/ActionPlan.hs 113;" f +_doActionWhileThenDo src/Dodge/Data/ActionPlan.hs 112;" f +_doActionWhileThenThen src/Dodge/Data/ActionPlan.hs 114;" f +_doActionsList src/Dodge/Data/ActionPlan.hs 117;" f +_doImpulsesList src/Dodge/Data/ActionPlan.hs 87;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 128;" f +_doReplicateAction src/Dodge/Data/ActionPlan.hs 133;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 127;" f +_doReplicateTimes src/Dodge/Data/ActionPlan.hs 132;" f _doors src/Dodge/Data/LWorld.hs 122;" f _drClosePos src/Dodge/Data/Door.hs 42;" f _drDeath src/Dodge/Data/Door.hs 44;" f @@ -1819,7 +1819,7 @@ _flPos src/Dodge/Data/Flame.hs 15;" f _flTimer src/Dodge/Data/Flame.hs 14;" f _flVel src/Dodge/Data/Flame.hs 16;" f _flames src/Dodge/Data/LWorld.hs 108;" f -_flankTarget src/Dodge/Data/ActionPlan.hs 154;" f +_flankTarget src/Dodge/Data/ActionPlan.hs 153;" f _flares src/Dodge/Data/LWorld.hs 111;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 16;" f _floorItems src/Dodge/Data/LWorld.hs 129;" f @@ -1899,8 +1899,8 @@ _imRootSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 26;" f _imSelectedItem src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f _immediateEffect src/Loop/Data.hs 9;" f _immediateUpdate src/Loop/Data.hs 12;" f -_impulseUseTarget src/Dodge/Data/ActionPlan.hs 47;" f -_impulsesListList src/Dodge/Data/ActionPlan.hs 85;" f +_impulseUseTarget src/Dodge/Data/ActionPlan.hs 46;" f +_impulsesListList src/Dodge/Data/ActionPlan.hs 84;" f _input src/Dodge/Data/World.hs 43;" f _isWarming src/Dodge/Data/Item/Params.hs 23;" f _ispCloseButton src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 33;" f @@ -1922,7 +1922,7 @@ _items src/Dodge/Data/LWorld.hs 98;" f _itsInt src/Dodge/Data/Item.hs 40;" f _itsMax src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f -_killTarget src/Dodge/Data/ActionPlan.hs 176;" f +_killTarget src/Dodge/Data/ActionPlan.hs 175;" f _lAimPos src/Dodge/Data/LWorld.hs 145;" f _lClock src/Dodge/Data/LWorld.hs 140;" f _lInvLock src/Dodge/Data/LWorld.hs 146;" f @@ -1941,7 +1941,7 @@ _ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f _ldtLeft src/Dodge/Data/DoubleTree.hs 36;" f _ldtRight src/Dodge/Data/DoubleTree.hs 37;" f _ldtValue src/Dodge/Data/DoubleTree.hs 35;" f -_leadTargetBy src/Dodge/Data/ActionPlan.hs 137;" f +_leadTargetBy src/Dodge/Data/ActionPlan.hs 136;" f _lightSources src/Dodge/Data/LWorld.hs 135;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f @@ -1975,7 +1975,7 @@ _lyGen src/Dodge/Data/MetaTree.hs 30;" f _machines src/Dodge/Data/LWorld.hs 123;" f _magBelowID src/Dodge/Data/Muzzle.hs 22;" f _magnets src/Dodge/Data/LWorld.hs 126;" f -_mainAction src/Dodge/Data/ActionPlan.hs 148;" f +_mainAction src/Dodge/Data/ActionPlan.hs 147;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" f _mapInvItmID src/Dodge/Data/HUD.hs 22;" f _mapInvOffset src/Dodge/Data/HUD.hs 20;" f @@ -2019,7 +2019,7 @@ _mdTimer src/Dodge/Data/Modification.hs 19;" f _mdUpdate src/Dodge/Data/Modification.hs 18;" f _mdUpdate src/Dodge/Data/Modification.hs 27;" f _meleeCooldown src/Dodge/Data/Creature/Misc.hs 70;" f -_meleeTarget src/Dodge/Data/ActionPlan.hs 164;" f +_meleeTarget src/Dodge/Data/ActionPlan.hs 163;" f _mgField src/Dodge/Data/Magnet.hs 25;" f _mgPos src/Dodge/Data/Magnet.hs 24;" f _moEff src/Dodge/Data/Universe.hs 101;" f @@ -2072,10 +2072,10 @@ _opTexture src/Dodge/Data/Wall.hs 44;" f _opticDefaultZoom src/Dodge/Data/Item/Scope.hs 20;" f _opticPos src/Dodge/Data/Item/Scope.hs 16;" f _opticZoom src/Dodge/Data/Item/Scope.hs 19;" f -_partialAction src/Dodge/Data/ActionPlan.hs 132;" f +_partialAction src/Dodge/Data/ActionPlan.hs 131;" f _pastWorlds src/Dodge/Data/World.hs 38;" f _pathGraph src/Dodge/Data/CWorld.hs 28;" f -_pathToPoint src/Dodge/Data/ActionPlan.hs 77;" f +_pathToPoint src/Dodge/Data/ActionPlan.hs 76;" f _pbID src/Dodge/Data/PulseLaser.hs 24;" f _pbPos src/Dodge/Data/PulseLaser.hs 22;" f _pbTimer src/Dodge/Data/PulseLaser.hs 23;" f @@ -2267,8 +2267,8 @@ _sensAmount src/Dodge/Data/Machine/Sensor.hs 22;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 24;" f _sensType src/Dodge/Data/Machine/Sensor.hs 23;" f _sensorCoding src/Dodge/Data/GenParams.hs 16;" f -_sentinelDir src/Dodge/Data/ActionPlan.hs 177;" f -_sentinelPos src/Dodge/Data/ActionPlan.hs 177;" f +_sentinelDir src/Dodge/Data/ActionPlan.hs 176;" f +_sentinelPos src/Dodge/Data/ActionPlan.hs 176;" f _sfColor src/Shape/Data.hs 44;" f _sfShadowImportance src/Shape/Data.hs 45;" f _sfSize src/Shape/Data.hs 46;" f @@ -2290,7 +2290,7 @@ _siPayload src/Dodge/Data/SelectionList.hs 49;" f _siPictures src/Dodge/Data/SelectionList.hs 43;" f _siWidth src/Dodge/Data/SelectionList.hs 45;" f _sideEffect src/Loop/Data.hs 13;" f -_sideImpulses src/Dodge/Data/ActionPlan.hs 147;" f +_sideImpulses src/Dodge/Data/ActionPlan.hs 146;" f _silhouetteEBO src/Data/Preload/Render.hs 27;" f _skOldPos src/Dodge/Data/Spark.hs 17;" f _skPos src/Dodge/Data/Spark.hs 16;" f @@ -2344,8 +2344,8 @@ _taArcSteps src/Dodge/Data/TeslaArc.hs 19;" f _taColor src/Dodge/Data/TeslaArc.hs 20;" f _taTimer src/Dodge/Data/TeslaArc.hs 18;" f _targetCr src/Dodge/Data/Creature.hs 77;" f -_targetID src/Dodge/Data/ActionPlan.hs 74;" f -_targetSeenAt src/Dodge/Data/ActionPlan.hs 75;" f +_targetID src/Dodge/Data/ActionPlan.hs 73;" f +_targetSeenAt src/Dodge/Data/ActionPlan.hs 74;" f _tbPos src/Dodge/Data/TractorBeam.hs 14;" f _tbStartPos src/Dodge/Data/TractorBeam.hs 15;" f _tbTime src/Dodge/Data/TractorBeam.hs 17;" f @@ -2398,7 +2398,7 @@ _tuDir src/Dodge/Data/Machine.hs 55;" f _tuFireTime src/Dodge/Data/Machine.hs 54;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 53;" f _tuWeapon src/Dodge/Data/Machine.hs 52;" f -_turnToPoint src/Dodge/Data/ActionPlan.hs 79;" f +_turnToPoint src/Dodge/Data/ActionPlan.hs 78;" f _uInt src/Dodge/Data/Item/Use.hs 33;" f _uScope src/Dodge/Data/Item/Use.hs 36;" f _uValue src/Dodge/Data/Item/Use.hs 35;" f @@ -2420,7 +2420,7 @@ _unputTerminal src/Dodge/Data/GenWorld.hs 43;" f _useExactly src/Dodge/Data/Muzzle.hs 62;" f _useMapperLines src/Dodge/Data/Item/Use.hs 40;" f _useMapperPoints src/Dodge/Data/Item/Use.hs 41;" f -_useSelf src/Dodge/Data/ActionPlan.hs 142;" f +_useSelf src/Dodge/Data/ActionPlan.hs 141;" f _useToggle src/Dodge/Data/Item/Use.hs 38;" f _useUpTo src/Dodge/Data/Muzzle.hs 63;" f _uvCanContinue src/Dodge/Data/Universe.hs 39;" f @@ -2470,8 +2470,8 @@ _vxPos src/Picture/Data.hs 14;" f _vxShadNum src/Picture/Data.hs 18;" f _wCam src/Dodge/Data/World.hs 55;" f _wTime src/Dodge/Data/Item/Params.hs 22;" f -_waitThenAction src/Dodge/Data/ActionPlan.hs 92;" f -_waitThenTimer src/Dodge/Data/ActionPlan.hs 91;" f +_waitThenAction src/Dodge/Data/ActionPlan.hs 91;" f +_waitThenTimer src/Dodge/Data/ActionPlan.hs 90;" f _wallDamages src/Dodge/Data/LWorld.hs 121;" f _wallShader src/Data/Preload/Render.hs 48;" f _wallVBO src/Data/Preload/Render.hs 47;" f @@ -2528,7 +2528,7 @@ addDepth src/Picture/Base.hs 133;" f addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f addDoorWall src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 53;" f -addEdges src/Dodge/Path.hs 122;" f +addEdges src/Dodge/Path.hs 132;" f addGib4 src/Dodge/Prop/Gib.hs 52;" f addGibAt src/Dodge/Prop/Gib.hs 63;" f addGibAtDir src/Dodge/Prop/Gib.hs 69;" f @@ -2543,7 +2543,7 @@ addGirderNS' src/Dodge/Room/Modify/Girder.hs 55;" f addHighGirder src/Dodge/Room/Modify/Girder.hs 132;" f addHighGirder' src/Dodge/Room/Modify/Girder.hs 142;" f addIndefiniteArticle src/StringHelp.hs 17;" f -addNodes src/Dodge/Path.hs 115;" f +addNodes src/Dodge/Path.hs 125;" f addPane src/Dodge/Placement/PlaceSpot.hs 178;" f addPlmnt src/Dodge/LevelGen/PlacementHelper.hs 87;" f addPointPolygon src/Geometry/Polygon.hs 134;" f @@ -2699,7 +2699,7 @@ battery src/Dodge/Item/Ammo.hs 63;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f belowNumX src/Dodge/Combine/Graph.hs 86;" f beltMag src/Dodge/Item/Ammo.hs 39;" f -bfsNodePoints src/Dodge/Path.hs 57;" f +bfsNodePoints src/Dodge/Path.hs 67;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 225;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 118;" f bgunSound src/Dodge/HeldUse.hs 514;" f @@ -3292,7 +3292,7 @@ drawBaseMachine src/Dodge/Machine/Draw.hs 68;" f drawBeam src/Dodge/Beam/Draw.hs 6;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlock src/Dodge/Block/Draw.hs 7;" f -drawBoundingBox src/Dodge/Debug/Picture.hs 356;" f +drawBoundingBox src/Dodge/Debug/Picture.hs 357;" f drawBullet src/Dodge/Render/ShapePicture.hs 133;" f drawButton src/Dodge/Button/Draw.hs 10;" f drawCPUShadows src/Dodge/Render/Shadow.hs 19;" f @@ -3303,7 +3303,7 @@ drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 269;" f drawCombineInventory src/Dodge/Render/HUD.hs 182;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 74;" f -drawCoord src/Dodge/Debug/Picture.hs 384;" f +drawCoord src/Dodge/Debug/Picture.hs 385;" f drawCrInfo src/Dodge/Debug.hs 135;" f drawCrInfo' src/Dodge/Debug.hs 130;" f drawCreature src/Dodge/Render/ShapePicture.hs 69;" f @@ -3312,9 +3312,9 @@ drawCross src/Dodge/Render/Label.hs 24;" f drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 72;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 139;" f -drawDDATest src/Dodge/Debug/Picture.hs 311;" f +drawDDATest src/Dodge/Debug/Picture.hs 312;" f drawDamSensor src/Dodge/Machine/Draw.hs 27;" f -drawDebug src/Dodge/Debug.hs 172;" f +drawDebug src/Dodge/Debug.hs 173;" f drawDoorPaths src/Dodge/Debug/Picture.hs 261;" f drawDoubleLampCover src/Dodge/Prop/Draw.hs 95;" f drawDrag src/Dodge/Render/Picture.hs 200;" f @@ -3328,7 +3328,7 @@ drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 127;" f drawExamineInventory src/Dodge/Render/HUD.hs 198;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f -drawFarWallDetect src/Dodge/Debug/Picture.hs 278;" f +drawFarWallDetect src/Dodge/Debug/Picture.hs 279;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f drawFlamelet src/Dodge/EnergyBall/Draw.hs 37;" f drawForceField src/Dodge/Wall/Draw.hs 11;" f @@ -3361,13 +3361,13 @@ drawMenuOrHUD src/Dodge/Render/Picture.hs 69;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 14;" f drawMouseCursor src/Dodge/Render/Picture.hs 85;" f drawMouseOver src/Dodge/Render/HUD.hs 109;" f -drawMousePosition src/Dodge/Debug/Picture.hs 374;" f +drawMousePosition src/Dodge/Debug/Picture.hs 375;" f drawMovingShape src/Dodge/Prop/Draw.hs 81;" f drawMovingShapeCol src/Dodge/Prop/Draw.hs 87;" f drawOptions src/Dodge/Render/MenuScreen.hs 22;" f drawPathBetween src/Dodge/Debug/Picture.hs 201;" f drawPathEdge src/Dodge/Debug/Picture.hs 266;" f -drawPathing src/Dodge/Debug/Picture.hs 406;" f +drawPathing src/Dodge/Debug/Picture.hs 407;" f drawPlus src/Dodge/Render/Picture.hs 165;" f drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f @@ -3408,15 +3408,15 @@ drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 212;" f drawVerticalLampCover src/Dodge/Prop/Draw.hs 71;" f drawWall src/Dodge/Wall/Draw.hs 7;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f -drawWallSearchRays src/Dodge/Debug/Picture.hs 320;" f +drawWallSearchRays src/Dodge/Debug/Picture.hs 321;" f drawWallsNearCursor src/Dodge/Debug/Picture.hs 230;" f drawWallsNearSegment src/Dodge/Debug/Picture.hs 130;" f drawWallsNearYou src/Dodge/Debug/Picture.hs 221;" f drawWeapon src/Dodge/Creature/Volition.hs 15;" f -drawWlIDs src/Dodge/Debug/Picture.hs 392;" f -drawZoneCirc src/Dodge/Debug/Picture.hs 300;" f +drawWlIDs src/Dodge/Debug/Picture.hs 393;" f +drawZoneCirc src/Dodge/Debug/Picture.hs 301;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f -drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 293;" f +drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 294;" f dropAll src/Dodge/Creature/Update.hs 129;" f dropExcept src/Dodge/Creature/Action.hs 166;" f dropInventoryPath src/Dodge/HeldUse.hs 1351;" f @@ -3448,7 +3448,7 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f ebFlicker src/Dodge/EnergyBall.hs 70;" f ebtToDamage src/Dodge/EnergyBall.hs 93;" f edgeFormatting src/Dodge/Combine/Graph.hs 131;" f -edgeToPic src/Dodge/Debug/Picture.hs 415;" f +edgeToPic src/Dodge/Debug/Picture.hs 416;" f effectOnEquip src/Dodge/Equipment.hs 32;" f effectOnRemove src/Dodge/Equipment.hs 19;" f eitType src/Dodge/Data/EquipType.hs 15;" f @@ -3638,7 +3638,7 @@ getLaserPhaseV src/Dodge/HeldUse.hs 701;" f getLinksOfType src/Dodge/RoomLink.hs 41;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 6;" f getMenuMouseContext src/Dodge/Update.hs 388;" f -getNodePos src/Dodge/Path.hs 30;" f +getNodePos src/Dodge/Path.hs 32;" f getPJStabiliser src/Dodge/HeldUse.hs 1251;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f @@ -4119,9 +4119,9 @@ makeIntInterval src/Dodge/Zoning/Base.hs 35;" f makeMovingEB src/Dodge/EnergyBall.hs 60;" f makeMuzzleFlare src/Dodge/HeldUse.hs 656;" f makeParagraph src/Justify.hs 6;" f -makePathBetween src/Dodge/Path.hs 40;" f -makePathBetweenPs src/Dodge/Path.hs 54;" f -makePathUsing src/Dodge/Path.hs 33;" f +makePathBetween src/Dodge/Path.hs 42;" f +makePathBetweenPs src/Dodge/Path.hs 64;" f +makePathUsing src/Dodge/Path.hs 35;" f makePoisonExplosionAt src/Dodge/WorldEvent/Explosion.hs 25;" f makeRect src/Grid.hs 82;" f makeSelectionListPictures src/Dodge/Render/List.hs 66;" f @@ -4325,7 +4325,7 @@ numShads src/Picture/Data.hs 42;" f numSubElements src/Shader/Parameters.hs 39;" f numTraversable src/TreeHelp.hs 184;" f obstacleColor src/Dodge/Debug/Picture.hs 271;" f -obstructPathsCrossing src/Dodge/Path.hs 138;" f +obstructPathsCrossing src/Dodge/Path.hs 148;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 698;" f onEquipWristShield src/Dodge/Equipment.hs 37;" f onRemoveWristShield src/Dodge/Equipment.hs 24;" f @@ -4373,7 +4373,7 @@ p src/ShortShow.hs 48;" f pContID src/Dodge/LevelGen/PlacementHelper.hs 15;" f pairInPolys src/Dodge/Room/Path.hs 45;" f pairPolyPointsIntersect src/Geometry/ConvexPoly.hs 70;" f -pairsToGraph src/Dodge/Path.hs 110;" f +pairsToGraph src/Dodge/Path.hs 120;" f pairsToIncidence src/Dodge/Graph.hs 20;" f pairsToSCC src/Dodge/Graph.hs 32;" f paletteToColor src/Color.hs 58;" f @@ -4381,7 +4381,7 @@ parseItem src/Dodge/Debug/Terminal.hs 62;" f parseNum src/Dodge/Debug/Terminal.hs 77;" f passthroughLockKeyLists src/Dodge/Floor.hs 120;" f pathConnected src/Dodge/Room/CheckConsistency.hs 13;" f -pathEdgeObstructed src/Dodge/Path.hs 43;" f +pathEdgeObstructed src/Dodge/Path.hs 45;" f pauseAndFloatCam src/Dodge/Camera.hs 10;" f pauseGame src/Dodge/Update/Input/InGame.hs 525;" f pauseMenu src/Dodge/Menu.hs 59;" f @@ -4466,7 +4466,7 @@ pointInOrOnPolygon src/Geometry/Polygon.hs 78;" f pointInPoly src/Geometry/Polygon.hs 86;" f pointIsInCone src/Geometry.hs 375;" f pointIsOnScreen src/Dodge/Base/Window.hs 59;" f -pointTowardsImpulse src/Dodge/Path.hs 62;" f +pointTowardsImpulse src/Dodge/Path.hs 72;" f pointerToItem src/Dodge/Item/Location.hs 39;" f pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f @@ -4889,7 +4889,7 @@ sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f setAimPosture src/Dodge/Creature/YourControl.hs 145;" f setChannelPos src/Sound.hs 150;" f setClickWorldPos src/Dodge/Update.hs 101;" f -setClip src/Dodge/Debug.hs 158;" f +setClip src/Dodge/Debug.hs 159;" f setClusterID src/Dodge/Combine/Graph.hs 116;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f @@ -5043,9 +5043,11 @@ smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 518;" f smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 466;" f smallPillar src/Dodge/Room/Pillar.hs 37;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f +smallSnailInt2 src/Dodge/Path.hs 60;" f smg src/Dodge/Item/Held/Stick.hs 58;" f smokeReducer src/Dodge/Item/Scope.hs 162;" f -snapToGrid src/Dodge/Path.hs 150;" f +snailAround src/Dodge/Path.hs 57;" f +snapToGrid src/Dodge/Path.hs 160;" f sndV2 src/Geometry/Data.hs 73;" f sniperRifle src/Dodge/Item/Held/Rod.hs 44;" f someCrits src/Dodge/LockAndKey.hs 120;" f @@ -5059,7 +5061,7 @@ soundMultiFrom src/Dodge/SoundLogic.hs 187;" f soundOriginIDsAt src/Dodge/WorldEvent/Sound.hs 18;" f soundOriginsIDsAt src/Dodge/WorldEvent/Sound.hs 13;" f soundPathList src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 296;" f -soundPic src/Dodge/Debug/Picture.hs 361;" f +soundPic src/Dodge/Debug/Picture.hs 362;" f soundStart src/Dodge/SoundLogic.hs 118;" f soundToOnomato src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 150;" f soundToVol src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 4;" f @@ -5565,8 +5567,8 @@ verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalWire src/Dodge/Wire.hs 24;" f vgunMuzzles src/Dodge/HeldUse.hs 341;" f -viewBoundaries src/Dodge/Debug/Picture.hs 329;" f -viewClipBounds src/Dodge/Debug/Picture.hs 338;" f +viewBoundaries src/Dodge/Debug/Picture.hs 330;" f +viewClipBounds src/Dodge/Debug/Picture.hs 339;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 194;" f viewTarget src/Dodge/Creature/ReaderUpdate.hs 154;" f violet src/Color.hs 21;" f @@ -5576,7 +5578,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 357;" f walkNozzle src/Dodge/HeldUse.hs 809;" f -walkableNodeNear src/Dodge/Path.hs 48;" f +walkableNodeNear src/Dodge/Path.hs 50;" f wallBlips src/Dodge/RadarSweep.hs 99;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 53;" f wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f