diff --git a/src/Dodge/Creature/Action.hs b/src/Dodge/Creature/Action.hs index 40189989d..16438e7e7 100644 --- a/src/Dodge/Creature/Action.hs +++ b/src/Dodge/Creature/Action.hs @@ -92,8 +92,8 @@ performAction cr w ac = case ac of i <- cr ^? crIntention . targetCr . _Just tcr <- w ^? cWorld . lWorld . creatures . ix i return ([TurnTo (tcr ^. crPos . _xy +.+ rotateV (_crDir tcr) p)], NoAction) - UseSelf f -> performAction cr w $ doCrAc f cr - ArbitraryAction f -> performAction cr w (doCrWdAc f cr w) +-- UseSelf f -> performAction cr w $ doCrAc f cr +-- ArbitraryAction f -> performAction cr w (doCrWdAc f cr w) DoImpulsesAlongside sideImp mainAc -> performAction cr w mainAc & _1 <>~ sideImp DoReplicate t nxtac -> performAction cr w $ DoReplicatePartial nxtac t nxtac DoReplicatePartial _ 0 pac -> performAction cr w pac @@ -147,7 +147,7 @@ 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 {} | cr ^?! crType . startStopMv == 0 -> [SetBeeRandomMovement, MvForward, MvTurnToward p] BeeMvType {} -> [MvTurnToward p, MvForward] performTurnToA :: Creature -> Point2 -> ActionUpdate diff --git a/src/Dodge/Creature/ChaseCrit.hs b/src/Dodge/Creature/ChaseCrit.hs index 0ecd15d9c..3059d6d92 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 False + & crType .~ BeeCrit 0 Nothing 0 0 0 Nothing & crFaction .~ ColorFaction yellow & crStance . carriage .~ Flying 15 diff --git a/src/Dodge/Creature/Impulse.hs b/src/Dodge/Creature/Impulse.hs index f35711965..14cc31564 100644 --- a/src/Dodge/Creature/Impulse.hs +++ b/src/Dodge/Creature/Impulse.hs @@ -3,8 +3,9 @@ module Dodge.Creature.Impulse (followImpulse) where +import RandomHelp import Control.Applicative -import Control.Monad.Trans.State.Lazy +--import Control.Monad.Trans.State.Lazy --import Control.Monad.State -- moving from mtl to transformers import Data.Maybe import Dodge.Creature.Impulse.Movement @@ -19,7 +20,7 @@ import Dodge.SoundLogic import Geometry import LensHelp import Linear -import System.Random +--import System.Random -- note SwitchToItem doesn't necessarily update the root item correctly followImpulse :: Int -> World -> Impulse -> World @@ -75,6 +76,7 @@ followImpulse cid w = \case MvTurnToward p -> crup $ mvTurnToward p (turnRad $ safeAngleVV (p -.- cpos) (unitVectorAtAngle cdir)) + SetBeeRandomMovement -> w & setBeeRandomMovement cid where clens = cWorld . lWorld . creatures . ix cid cr = w ^?! cWorld . lWorld . creatures . ix cid @@ -97,3 +99,14 @@ followImpulse cid w = \case <>~ [Blunt 100 (posFromID i) (posFromID i - cpos) (CrMeleeO cid) , Inertial 0 (posFromID i) (50 * unitVectorAtAngle (cr ^. crDir + a)) (CrMeleeO cid) ] + +setBeeRandomMovement :: Int -> World -> World +setBeeRandomMovement cid w = fromMaybe w $ do + mff <- w ^? cWorld . lWorld . creatures . ix cid . crType . beeRandomMovement + return $ case mff of + Just _ -> w & cWorld . lWorld . creatures . ix cid . crType . beeRandomMovement .~ Nothing + Nothing -> w & cWorld . lWorld . creatures . ix cid . crType . beeRandomMovement .~ x + & randGen .~ g + where + (x,g) = runState (takeOne [Nothing,Just LeftForward,Just RightForward]) (w ^. randGen) + diff --git a/src/Dodge/Creature/Impulse/Movement.hs b/src/Dodge/Creature/Impulse/Movement.hs index f14a80c5e..87035d180 100644 --- a/src/Dodge/Creature/Impulse/Movement.hs +++ b/src/Dodge/Creature/Impulse/Movement.hs @@ -83,7 +83,11 @@ crMvForward' lw cr = case crMvType cr of BeeMvType s _ n -> let speed | cr ^?! crType . startStopMv > n = 0 | otherwise = s - in crMvBy (V2 speed 0) lw cr + v = case cr ^?! crType . beeRandomMovement of + Nothing -> V2 speed 0 + Just LeftForward -> V2 0 speed + Just RightForward -> V2 0 (-speed) + in crMvBy v lw cr & crType . startStopMv %~ ((`mod` (n*2)) . (+1)) NoMvType -> cr MvWalking s -> crMvBy (V2 s 0) lw cr diff --git a/src/Dodge/Creature/ReaderUpdate.hs b/src/Dodge/Creature/ReaderUpdate.hs index 0db77f559..8c3735906 100644 --- a/src/Dodge/Creature/ReaderUpdate.hs +++ b/src/Dodge/Creature/ReaderUpdate.hs @@ -25,7 +25,7 @@ import Dodge.Base import Dodge.Creature.Perception import Dodge.Creature.Radius import Dodge.Creature.Vocalization -import Dodge.Data.CreatureEffect +--import Dodge.Data.CreatureEffect import Dodge.Data.World import Dodge.Zoning.Creature import FoldableHelp @@ -141,7 +141,7 @@ crabActionUpdate cid w = case _apStrategy (_crActionPlan cr) of | dist (cr ^. crPos . _xy) p > crRad (cr ^. crType) -> w & tocr . crActionPlan . apAction .~ PathTo p (DoImpulses [ChangeStrategy Wander]) | otherwise -> - w & tocr . crActionPlan . apAction .~ bfsThenReturn 500 `DoActionThen` DoImpulses [ChangeStrategy WatchAndWait] + w -- & tocr . crActionPlan . apAction .~ bfsThenReturn 500 `DoActionThen` DoImpulses [ChangeStrategy WatchAndWait] & tocr . crActionPlan . apStrategy .~ Search & tocr . crIntention . mvToPoint .~ Nothing _ -> w & tocr %~ viewTarget w @@ -215,8 +215,8 @@ chaseCritMv w cr = case _apStrategy (_crActionPlan cr) of | dist (cr ^. crPos . _xy) p > crRad (cr ^. crType) -> cr & crActionPlan . apAction .~ PathTo p (DoImpulses [ChangeStrategy Wander]) | otherwise -> - cr & crActionPlan . apAction .~ bfsThenReturn 500 `DoActionThen` DoImpulses [ChangeStrategy WatchAndWait] - & crActionPlan . apStrategy .~ WatchAndWait + cr -- & crActionPlan . apAction .~ bfsThenReturn 500 `DoActionThen` DoImpulses [ChangeStrategy WatchAndWait] + & crActionPlan . apStrategy .~ Search & crIntention . mvToPoint .~ Nothing _ -> viewTarget w cr where @@ -235,8 +235,8 @@ hoverCritMv w cr = case _apStrategy (_crActionPlan cr) of | dist (cr ^. crPos . _xy) p > crRad (cr ^. crType) -> cr & crActionPlan . apAction .~ PathTo p (DoImpulses [ChangeStrategy Wander]) | otherwise -> - cr & crActionPlan . apAction .~ bfsThenReturn 500 `DoActionThen` DoImpulses [ChangeStrategy WatchAndWait] - & crActionPlan . apStrategy .~ WatchAndWait + cr -- & crActionPlan . apAction .~ bfsThenReturn 500 `DoActionThen` DoImpulses [ChangeStrategy WatchAndWait] + & crActionPlan . apStrategy .~ Search & crIntention . mvToPoint .~ Nothing _ -> viewTarget w cr where @@ -319,12 +319,12 @@ searchIfDamaged cr .~ SetStrategyAction LookAround ( TurnToPoint (cr ^. crPos . _xy -.- unitVectorAtAngle (_crDir cr)) - `DoActionThen` 40 `WaitThen` bfsThenReturn 500 +-- `DoActionThen` 40 `WaitThen` bfsThenReturn 500 ) | otherwise = cr -bfsThenReturn :: Int -> Action -bfsThenReturn t = ArbitraryAction (CrWdBFSThenReturn t) +--bfsThenReturn :: Int -> Action +--bfsThenReturn t = ArbitraryAction (CrWdBFSThenReturn t) -- theaction -- where diff --git a/src/Dodge/CreatureEffect.hs b/src/Dodge/CreatureEffect.hs index 5762056ce..dce81c8ba 100644 --- a/src/Dodge/CreatureEffect.hs +++ b/src/Dodge/CreatureEffect.hs @@ -36,18 +36,9 @@ doCrBl cb = case cb of CrIsAnimate -> isAnimate CrOpenAutoDoor -> \cr -> isAnimate cr && hasAutoDoorBody cr -doCrAc :: CrAc -> Creature -> Action -doCrAc ca = case ca of - CrTurnAround -> \cr -> TurnToPoint - (cr ^. crPos . _xy -.- 10 *.* unitVectorAtAngle (_crDir cr)) --- CrFleeFromTarget -> fleeFromTarget - ---fleeFromTarget :: Creature -> Action ---fleeFromTarget cr = fleeFrom cr (_targetCr (_crIntention cr)) - -doCrWdAc :: CrWdAc -> Creature -> World -> Action -doCrWdAc cw = case cw of - CrWdBFSThenReturn _ -> const $ const NoAction +--doCrWdAc :: CrWdAc -> Creature -> World -> Action +--doCrWdAc cw = case cw of +-- CrWdBFSThenReturn _ -> const $ const NoAction -- CrWdBFSThenReturn t -> \cr w -> fromMaybe NoAction $ do -- n <- walkableNodeNear w (cr ^. crPos . _xy) -- let as = take 20 $ map PathTo $ bfsNodePoints n w @@ -56,7 +47,7 @@ doCrWdAc cw = case cw of -- DoReplicate t $ -- foldr DoActionThen NoAction as -- ChooseMovementSpreadGun -> chooseMovementSpreadGun - ChooseMovementLtAuto -> chooseMovementLtAuto +-- ChooseMovementLtAuto -> chooseMovementLtAuto --chooseMovementSpreadGun :: Creature -> World -> Action --chooseMovementSpreadGun cr w diff --git a/src/Dodge/Data/ActionPlan.hs b/src/Dodge/Data/ActionPlan.hs index e57c00c32..57a9413ae 100644 --- a/src/Dodge/Data/ActionPlan.hs +++ b/src/Dodge/Data/ActionPlan.hs @@ -49,6 +49,7 @@ data Impulse | ImpulseUseTarget { _impulseUseTarget :: CrImp } | ImpulseNothing | UpdateRandGen + | SetBeeRandomMovement deriving (Eq, Ord, Show) --Generic, Flat) data RandImpulse @@ -121,8 +122,8 @@ data Action | LeadTarget { _leadTargetBy :: Point2 } | NoAction | StartSentinelPost - | UseSelf { _useSelf :: CrAc } - | ArbitraryAction {_arbitraryAction :: CrWdAc} +-- | UseSelf { _useSelf :: CrAc } +-- | ArbitraryAction {_arbitraryAction :: CrWdAc} -- | Repeatedly perform impulses alongside a main action until the main action terminates | DoImpulsesAlongside { _sideImpulses :: [Impulse] diff --git a/src/Dodge/Data/Creature/Misc.hs b/src/Dodge/Data/Creature/Misc.hs index ff86888ef..936b6dfa1 100644 --- a/src/Dodge/Data/Creature/Misc.hs +++ b/src/Dodge/Data/Creature/Misc.hs @@ -91,7 +91,7 @@ data CreatureType , _startStopMv :: Int , _beeAggro :: Int , _meleeCooldown :: Int - , _beeRandomMovement :: Bool + , _beeRandomMovement :: Maybe FootForward } | HiveCrit { _hiveChildren :: IS.IntSet diff --git a/src/Dodge/Data/CreatureEffect.hs b/src/Dodge/Data/CreatureEffect.hs index 05793a128..90f07a6e4 100644 --- a/src/Dodge/Data/CreatureEffect.hs +++ b/src/Dodge/Data/CreatureEffect.hs @@ -24,14 +24,14 @@ data CrBl = CrCanShoot | CrIsAiming | CrIsAnimate data CrAc = CrTurnAround deriving (Eq, Ord, Show, Read) --Generic, Flat) -data CrWdAc - = CrWdBFSThenReturn Int --- | ChooseMovementSpreadGun - | ChooseMovementLtAuto - deriving (Eq, Ord, Show, Read) --Generic, Flat) +--data CrWdAc +-- = CrWdBFSThenReturn Int +---- | ChooseMovementSpreadGun +---- | ChooseMovementLtAuto +-- deriving (Eq, Ord, Show, Read) --Generic, Flat) deriveJSON defaultOptions ''CrImp deriveJSON defaultOptions ''CrBl deriveJSON defaultOptions ''WdCrBl deriveJSON defaultOptions ''CrAc -deriveJSON defaultOptions ''CrWdAc +--deriveJSON defaultOptions ''CrWdAc diff --git a/tags b/tags index 0e9bb1f47..88fd6fefc 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 165;" o +<$> src/Dodge/Data/ActionPlan.hs 164;" o <$> src/Dodge/Data/CWorld.hs 52;" o <$> src/Dodge/Data/Camera.hs 38;" o <$> src/Dodge/Data/Creature.hs 93;" o @@ -36,20 +36,19 @@ AUTOPISTOL src/Dodge/Data/Item/Combine.hs 148;" C AUTORIFLE src/Dodge/Data/Item/Combine.hs 157;" C AZURE src/Color/Data.hs 20;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 30;" C -Action src/Dodge/Data/ActionPlan.hs 71;" t -ActionIntelligence src/Dodge/Data/ActionPlan.hs 17;" C +Action src/Dodge/Data/ActionPlan.hs 70;" t ActionPlan src/Dodge/Data/ActionPlan.hs 14;" t -ActionPlan src/Dodge/Data/ActionPlan.hs 18;" C +ActionPlan src/Dodge/Data/ActionPlan.hs 17;" C ActionUpdate src/Dodge/Creature/Action.hs 51;" t -AddGoal src/Dodge/Data/ActionPlan.hs 49;" C -AimAt src/Dodge/Data/ActionPlan.hs 72;" C +AddGoal src/Dodge/Data/ActionPlan.hs 48;" C +AimAt src/Dodge/Data/ActionPlan.hs 71;" 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 137;" C +Ambush src/Dodge/Data/ActionPlan.hs 136;" 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 @@ -60,7 +59,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 126;" C +ArbitraryAction src/Dodge/Data/ActionPlan.hs 125;" C ArcNodeType src/Dodge/Data/LWorld.hs 160;" t ArcShad src/Picture/Data.hs 33;" C ArcStep src/Dodge/Data/ArcStep.hs 12;" t @@ -105,7 +104,7 @@ 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 42;" C +Bark src/Dodge/Data/ActionPlan.hs 41;" 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 117;" t @@ -208,16 +207,15 @@ 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 46;" C -ChangeStrategy src/Dodge/Data/ActionPlan.hs 48;" C +ChangePosture src/Dodge/Data/ActionPlan.hs 45;" C +ChangeStrategy src/Dodge/Data/ActionPlan.hs 47;" 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 147;" C +CloseToMelee src/Dodge/Data/ActionPlan.hs 146;" 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 @@ -344,17 +342,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 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 +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 DoNotMoveEquipment src/Dodge/Data/RightButtonOptions.hs 18;" C -DoReplicate src/Dodge/Data/ActionPlan.hs 113;" C -DoReplicatePartial src/Dodge/Data/ActionPlan.hs 117;" C +DoReplicate src/Dodge/Data/ActionPlan.hs 112;" C +DoReplicatePartial src/Dodge/Data/ActionPlan.hs 116;" 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 @@ -367,7 +365,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 41;" C +DropItem src/Dodge/Data/ActionPlan.hs 40;" 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 @@ -404,7 +402,7 @@ EquipmentAllocation src/Dodge/Data/RightButtonOptions.hs 17;" t EquipmentPlatformSF src/Dodge/Data/ComposedItem.hs 18;" C Escape src/Dodge/Data/Scenario.hs 10;" C Essential src/Shape/Data.hs 30;" C -EvadeAim src/Dodge/Data/ActionPlan.hs 77;" C +EvadeAim src/Dodge/Data/ActionPlan.hs 76;" 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 @@ -443,7 +441,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 136;" C +Flank src/Dodge/Data/ActionPlan.hs 135;" 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 @@ -451,7 +449,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 151;" C +Flee src/Dodge/Data/ActionPlan.hs 150;" C Flesh src/Dodge/Data/Material.hs 17;" C FloatAbsCheckGreaterLess src/Dodge/Data/FloatFunction.hs 14;" C FloatBO src/Shader/Data.hs 85;" t @@ -465,7 +463,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 141;" C +FollowImpulses src/Dodge/Data/ActionPlan.hs 140;" 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 @@ -502,7 +500,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 149;" C +GetTo src/Dodge/Data/ActionPlan.hs 148;" 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 @@ -510,7 +508,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 158;" t +Goal src/Dodge/Data/ActionPlan.hs 157;" 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 @@ -537,7 +535,7 @@ 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 154;" C +HarvestFrom src/Dodge/Data/ActionPlan.hs 153;" 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 @@ -578,10 +576,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 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 +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 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 @@ -612,7 +610,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 143;" C +Investigate src/Dodge/Data/ActionPlan.hs 142;" 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 @@ -642,7 +640,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 160;" C +Kill src/Dodge/Data/ActionPlan.hs 159;" 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 @@ -671,7 +669,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 122;" C +LeadTarget src/Dodge/Data/ActionPlan.hs 121;" 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 @@ -685,7 +683,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 159;" C +LiveLongAndProsper src/Dodge/Data/ActionPlan.hs 158;" 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 @@ -695,8 +693,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 145;" C -Lure src/Dodge/Data/ActionPlan.hs 138;" C +LookAround src/Dodge/Data/ActionPlan.hs 144;" C +Lure src/Dodge/Data/ActionPlan.hs 137;" 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 @@ -734,7 +732,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 47;" C +MakeSound src/Dodge/Data/ActionPlan.hs 46;" 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 @@ -763,9 +761,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 43;" C -MeleeL src/Dodge/Data/ActionPlan.hs 44;" C -MeleeR src/Dodge/Data/ActionPlan.hs 45;" 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 Memory src/Dodge/Data/Creature.hs 79;" t MenuOption src/Dodge/Data/Universe.hs 109;" t MenuOptionDisplay src/Dodge/Data/Universe.hs 104;" t @@ -791,10 +789,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 28;" C +Move src/Dodge/Data/ActionPlan.hs 27;" C MoveEquipment src/Dodge/Data/RightButtonOptions.hs 20;" C -MoveForward src/Dodge/Data/ActionPlan.hs 30;" C -MoveNoStride src/Dodge/Data/ActionPlan.hs 31;" C +MoveForward src/Dodge/Data/ActionPlan.hs 29;" C +MoveNoStride src/Dodge/Data/ActionPlan.hs 30;" 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 @@ -815,8 +813,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 37;" C -MvTurnToward src/Dodge/Data/ActionPlan.hs 36;" C +MvForward src/Dodge/Data/ActionPlan.hs 36;" C +MvTurnToward src/Dodge/Data/ActionPlan.hs 35;" 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 @@ -837,7 +835,7 @@ NewInt src/NewInt.hs 16;" t NewIntMap src/NewInt.hs 22;" t NewIntSet src/NewInt.hs 19;" t NewSideEffect src/Dodge/Data/Universe.hs 63;" C -NoAction src/Dodge/Data/ActionPlan.hs 123;" C +NoAction src/Dodge/Data/ActionPlan.hs 122;" C NoAmmoRequired src/Dodge/Data/Muzzle.hs 25;" C NoBeamCombine src/Dodge/Data/Beam.hs 41;" C NoConcurrentEffect src/Loop/Data.hs 7;" C @@ -995,9 +993,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 76;" C +PathTo src/Dodge/Data/ActionPlan.hs 75;" C Pathing src/Dodge/Data/Config.hs 90;" C -Patrol src/Dodge/Data/ActionPlan.hs 139;" C +Patrol src/Dodge/Data/ActionPlan.hs 138;" 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 @@ -1103,12 +1101,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 55;" t -RandImpulseCircMove src/Dodge/Data/ActionPlan.hs 57;" C -RandImpulseList src/Dodge/Data/ActionPlan.hs 56;" 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 RandPS src/Dodge/Data/GenWorld.hs 55;" C -RandomImpulse src/Dodge/Data/ActionPlan.hs 34;" C -RandomTurn src/Dodge/Data/ActionPlan.hs 33;" C +RandomImpulse src/Dodge/Data/ActionPlan.hs 33;" C +RandomTurn src/Dodge/Data/ActionPlan.hs 32;" C ReactorSS src/Dodge/Data/Scenario.hs 111;" C RecCommands src/Dodge/Terminal.hs 164;" t RecRoomSS src/Dodge/Data/Scenario.hs 103;" C @@ -1181,7 +1179,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 153;" C +Search src/Dodge/Data/ActionPlan.hs 152;" 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 @@ -1200,9 +1198,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 161;" C +SentinelAt src/Dodge/Data/ActionPlan.hs 160;" C SetLSCol src/Dodge/Data/WorldEffect.hs 28;" C -SetStrategyAction src/Dodge/Data/ActionPlan.hs 148;" C +SetStrategyAction src/Dodge/Data/ActionPlan.hs 147;" C SetTrigger src/Dodge/Data/WorldEffect.hs 27;" C SetTriggerAndSetLSCol src/Dodge/Data/WorldEffect.hs 29;" C ShadNum src/Picture/Data.hs 30;" t @@ -1219,7 +1217,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 140;" C +ShootAt src/Dodge/Data/ActionPlan.hs 139;" C ShortShow src/ShortShow.hs 6;" c ShortString src/ShortShow.hs 16;" t Show_bound_box src/Dodge/Data/Config.hs 94;" C @@ -1287,12 +1285,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 124;" C +StartSentinelPost src/Dodge/Data/ActionPlan.hs 123;" 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 135;" t +Strategy src/Dodge/Data/ActionPlan.hs 134;" t SubInventory src/Dodge/Data/HUD.hs 14;" t Superfluous src/Shape/Data.hs 34;" C Surface src/Shape/Data.hs 38;" t @@ -1399,10 +1397,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 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 +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 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 @@ -1426,7 +1424,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 52;" C +UpdateRandGen src/Dodge/Data/ActionPlan.hs 51;" 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 @@ -1437,12 +1435,11 @@ 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 39;" C +UseItem src/Dodge/Data/ActionPlan.hs 38;" 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 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 @@ -1480,8 +1477,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 81;" C -Walk src/Dodge/Data/ActionPlan.hs 29;" C +WaitThen src/Dodge/Data/ActionPlan.hs 80;" C +Walk src/Dodge/Data/ActionPlan.hs 28;" C Walking src/Dodge/Data/Creature/Stance.hs 24;" C Wall src/Dodge/Data/Wall.hs 17;" t WallArcNode src/Dodge/Data/LWorld.hs 161;" C @@ -1497,15 +1494,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 146;" C +Wander src/Dodge/Data/ActionPlan.hs 145;" 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 144;" C +WarningCry src/Dodge/Data/ActionPlan.hs 143;" C WasMouseGameRotating src/Dodge/Data/Input.hs 53;" C WasNotMouseGameRotating src/Dodge/Data/Input.hs 54;" C -WatchAndWait src/Dodge/Data/ActionPlan.hs 142;" C +WatchAndWait src/Dodge/Data/ActionPlan.hs 141;" 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 @@ -1544,7 +1541,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 79;" f +_acAction src/Dodge/Data/ActionPlan.hs 78;" 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 @@ -1555,19 +1552,19 @@ _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 137;" f +_ambushTarget src/Dodge/Data/ActionPlan.hs 136;" 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 20;" f -_apGoal src/Dodge/Data/ActionPlan.hs 22;" f +_apAction src/Dodge/Data/ActionPlan.hs 19;" f +_apGoal src/Dodge/Data/ActionPlan.hs 21;" 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 21;" f +_apStrategy src/Dodge/Data/ActionPlan.hs 20;" f _aps src/Dodge/Data/Muzzle.hs 22;" f -_arbitraryAction src/Dodge/Data/ActionPlan.hs 126;" f +_arbitraryAction src/Dodge/Data/ActionPlan.hs 125;" f _arcNode src/Dodge/Data/LWorld.hs 116;" f _asDir src/Dodge/Data/ArcStep.hs 14;" f _asObject src/Dodge/Data/ArcStep.hs 15;" f @@ -1789,28 +1786,28 @@ _dmVector src/Dodge/Data/Damage.hs 16;" f _dmVector src/Dodge/Data/Damage.hs 19;" f _dmVector src/Dodge/Data/Damage.hs 22;" f _dmVector src/Dodge/Data/Damage.hs 28;" f -_doActionIfAction src/Dodge/Data/ActionPlan.hs 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 +_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 _doCID src/Dodge/Data/Damage.hs 32;" f -_doImpulsesList src/Dodge/Data/ActionPlan.hs 80;" f +_doImpulsesList src/Dodge/Data/ActionPlan.hs 79;" f _doMID src/Dodge/Data/Damage.hs 35;" 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 +_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 70;" f _doors src/Dodge/Data/LWorld.hs 125;" f _drFootPrint src/Dodge/Data/Door.hs 37;" f @@ -1862,7 +1859,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 136;" f +_flankTarget src/Dodge/Data/ActionPlan.hs 135;" 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 @@ -1924,7 +1921,7 @@ _guTime src/Dodge/Data/Gust.hs 15;" f _guVel src/Dodge/Data/Gust.hs 14;" f _gusts src/Dodge/Data/LWorld.hs 102;" f _gwWorld src/Dodge/Data/GenWorld.hs 25;" f -_harvestTarget src/Dodge/Data/ActionPlan.hs 154;" f +_harvestTarget src/Dodge/Data/ActionPlan.hs 153;" 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 @@ -1932,7 +1929,6 @@ _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 @@ -1957,8 +1953,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 50;" f -_impulsesListList src/Dodge/Data/ActionPlan.hs 79;" f +_impulseUseTarget src/Dodge/Data/ActionPlan.hs 49;" f +_impulsesListList src/Dodge/Data/ActionPlan.hs 78;" 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 @@ -1986,7 +1982,7 @@ _items src/Dodge/Data/LWorld.hs 97;" f _itsInt src/Dodge/Data/Item.hs 40;" f _itsMax src/Dodge/Data/Item.hs 41;" f _itsRangeInt src/Dodge/Data/Item.hs 41;" f -_killTarget src/Dodge/Data/ActionPlan.hs 160;" f +_killTarget src/Dodge/Data/ActionPlan.hs 159;" f _lAimPos src/Dodge/Data/LWorld.hs 148;" f _lClock src/Dodge/Data/LWorld.hs 143;" f _lFootPos src/Dodge/Data/Creature/Misc.hs 71;" f @@ -2005,7 +2001,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 122;" f +_leadTargetBy src/Dodge/Data/ActionPlan.hs 121;" 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 @@ -2037,7 +2033,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 130;" f +_mainAction src/Dodge/Data/ActionPlan.hs 129;" 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 @@ -2091,7 +2087,7 @@ _meleeCooldown src/Dodge/Data/Creature/Misc.hs 74;" f _meleeCooldown src/Dodge/Data/Creature/Misc.hs 93;" f _meleeCooldownL src/Dodge/Data/Creature/Misc.hs 68;" f _meleeCooldownR src/Dodge/Data/Creature/Misc.hs 69;" f -_meleeTarget src/Dodge/Data/ActionPlan.hs 147;" f +_meleeTarget src/Dodge/Data/ActionPlan.hs 146;" 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 @@ -2152,10 +2148,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 118;" f +_partialAction src/Dodge/Data/ActionPlan.hs 117;" f _pastWorlds src/Dodge/Data/World.hs 38;" f -_pathFailAction src/Dodge/Data/ActionPlan.hs 76;" f -_pathToPoint src/Dodge/Data/ActionPlan.hs 76;" f +_pathFailAction src/Dodge/Data/ActionPlan.hs 75;" f +_pathToPoint src/Dodge/Data/ActionPlan.hs 75;" 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 @@ -2351,8 +2347,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 161;" f -_sentinelPos src/Dodge/Data/ActionPlan.hs 161;" f +_sentinelDir src/Dodge/Data/ActionPlan.hs 160;" f +_sentinelPos src/Dodge/Data/ActionPlan.hs 160;" f _sfColor src/Shape/Data.hs 41;" f _sfShadowImportance src/Shape/Data.hs 42;" f _sfSize src/Shape/Data.hs 43;" f @@ -2375,7 +2371,7 @@ _siPayload src/Dodge/Data/SelectionList.hs 52;" f _siPictures src/Dodge/Data/SelectionList.hs 46;" f _siWidth src/Dodge/Data/SelectionList.hs 48;" f _sideEffect src/Loop/Data.hs 13;" f -_sideImpulses src/Dodge/Data/ActionPlan.hs 129;" f +_sideImpulses src/Dodge/Data/ActionPlan.hs 128;" 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 @@ -2442,8 +2438,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 73;" f -_targetSeenAt src/Dodge/Data/ActionPlan.hs 74;" f +_targetID src/Dodge/Data/ActionPlan.hs 72;" f +_targetSeenAt src/Dodge/Data/ActionPlan.hs 73;" 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 @@ -2500,7 +2496,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 78;" f +_turnToPoint src/Dodge/Data/ActionPlan.hs 77;" 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 @@ -2523,7 +2519,6 @@ _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 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 @@ -2573,8 +2568,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 83;" f -_waitThenTimer src/Dodge/Data/ActionPlan.hs 82;" f +_waitThenAction src/Dodge/Data/ActionPlan.hs 82;" f +_waitThenTimer src/Dodge/Data/ActionPlan.hs 81;" 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 @@ -2932,7 +2927,7 @@ chooseCursorBorders src/Dodge/Render/List.hs 141;" f chooseEquipPosition src/Dodge/Inventory/RBList.hs 41;" f chooseFootSound src/Dodge/Creature/State/WalkCycle.hs 173;" f chooseFreeSite src/Dodge/Inventory/RBList.hs 47;" f -chooseMovementLtAuto src/Dodge/CreatureEffect.hs 78;" f +chooseMovementLtAuto src/Dodge/CreatureEffect.hs 69;" f circHitWall src/Dodge/Base/Collide.hs 262;" f circInPolygon src/Geometry/Polygon.hs 110;" f circOnAnyCr src/Dodge/Base/Collide.hs 307;" f @@ -3350,11 +3345,10 @@ doBounce src/Dodge/Base/Collide.hs 81;" f doButtonEvent src/Dodge/Button/Event.hs 9;" f doConLoop src/Loop.hs 138;" f doConLoop' src/Loop.hs 230;" f -doCrAc src/Dodge/CreatureEffect.hs 39;" f doCrBl src/Dodge/CreatureEffect.hs 30;" f doCrGroupUpdate src/Dodge/CrGroupUpdate.hs 5;" f doCrImp src/Dodge/CreatureEffect.hs 13;" f -doCrWdAc src/Dodge/CreatureEffect.hs 48;" f +doCrWdAc src/Dodge/CreatureEffect.hs 39;" f doDamage src/Dodge/Creature/State.hs 44;" f doDeathToggle src/Dodge/WorldEffect.hs 99;" f doDeathTriggers src/Dodge/WorldEffect.hs 92;" f @@ -3856,7 +3850,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 140;" f +hasAutoDoorBody src/Dodge/Creature/Test.hs 139;" 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