diff --git a/src/Dodge/Data/Machine.hs b/src/Dodge/Data/Machine.hs index 1f1bf9b5d..69784e6f0 100644 --- a/src/Dodge/Data/Machine.hs +++ b/src/Dodge/Data/Machine.hs @@ -47,7 +47,7 @@ data MachineType | McTurret {_mctTurret :: Turret} | McStorage {_mcsType :: AmmoType, _mcsAmount :: Int} | McDistributer {_mcdStorageMachine :: Maybe Int} - | McInterrupter + | McTrigger {_mcTriggerID :: Int} -- | McSynthesiser instance ShortShow MachineType where @@ -59,7 +59,7 @@ instance ShortShow MachineType where McTurret {} -> "McTur" McStorage {} -> "McStor" McDistributer {} -> "McDist" - McInterrupter {} -> "McInterrupter" + McTrigger i -> "McTrigger " <> show i data Turret = Turret { _tuWeapon :: Int diff --git a/src/Dodge/Machine/Destroy.hs b/src/Dodge/Machine/Destroy.hs index bf2ccaab2..6380eabb7 100644 --- a/src/Dodge/Machine/Destroy.hs +++ b/src/Dodge/Machine/Destroy.hs @@ -24,6 +24,7 @@ destroyMcType mt mc w = case mt of McTurret tu -> fromMaybe w $ do itm <- w ^? cWorld . lWorld . items . ix (tu ^. tuWeapon) return $ copyItemToFloor (_mcPos mc) itm w + McTrigger i -> w & cWorld . lWorld . triggers . ix i %~ not _ -> w mcKillTerm :: Machine -> World -> World diff --git a/src/Dodge/Machine/Draw.hs b/src/Dodge/Machine/Draw.hs index 53674d52c..32f9daa6d 100644 --- a/src/Dodge/Machine/Draw.hs +++ b/src/Dodge/Machine/Draw.hs @@ -23,7 +23,7 @@ drawMachine cw mc = case _mcType mc of McProxSensor {} -> drawBaseMachine 25 mc McStorage {} -> noPic $ colorSH (mcColor mc) storageShape McDistributer {} -> drawBaseMachine 25 mc - McInterrupter {} -> drawBaseMachine 25 mc + McTrigger {} -> drawBaseMachine 25 mc where lw = cw ^. lWorld gp = cw ^. cwGen . cwgParams . sensorCoding @@ -88,7 +88,7 @@ mcColor mc = case mc ^. mcType of McTurret {} -> blue McStorage {} -> orange McDistributer {} -> green - McInterrupter {} -> red + McTrigger {} -> red drawTurret :: LWorld -> Turret -> Machine -> SPic diff --git a/src/Dodge/Machine/Update.hs b/src/Dodge/Machine/Update.hs index 0e5bff802..1666080d1 100644 --- a/src/Dodge/Machine/Update.hs +++ b/src/Dodge/Machine/Update.hs @@ -39,7 +39,7 @@ mcTypeUpdate mc = \case McProxSensor se -> mcProxSensorTriggerUpdate se mc . mcProxSensorUpdate se mc McStorage{} -> id McDistributer{} -> id - McInterrupter{} -> id + McTrigger{} -> id terminalScreenGlow :: Machine -> World -> World terminalScreenGlow mc w = fromMaybe w $ do @@ -157,7 +157,7 @@ mcBackgroundSound mc = case mc ^. mcType of McProxSensor{} -> Just (throbC4S,0.5) McStorage{} -> Nothing McDistributer{} -> Just (whirS,0.5) - McInterrupter{} -> Just (throbC4S,0.5) + McTrigger{} -> Just (throbC4S,0.5) mcApplyDamage :: [Damage] -> Machine -> World -> World mcApplyDamage ds mc = case mc ^? mcType . _McDamSensor of diff --git a/src/Dodge/Room/Tutorial.hs b/src/Dodge/Room/Tutorial.hs index fdccb884c..c33c03260 100644 --- a/src/Dodge/Room/Tutorial.hs +++ b/src/Dodge/Room/Tutorial.hs @@ -49,19 +49,19 @@ tutAnoTree = do foldMTRS [ tToBTree "TutStartRez" . return . cleatOnward <$> tutRezBox , corDoor - , return $ tToBTree "cor" $ return $ cleatOnward corridor - , tToBTree "sdr" . return . cleatOnward <$> - (shuffleLinks =<< distributerRoom BulletAmmo 100000) - , return $ tToBTree "cor" $ return $ cleatOnward corridor - --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom --- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] [] - , return $ tToBTree "door" $ return $ cleatOnward door - , return $ tToBTree "cor" $ return $ cleatOnward corridor - , tToBTree "sdr" . return . cleatOnward <$> - (shuffleLinks =<< tanksPipesRoom) - , return $ tToBTree "cor" $ return $ cleatOnward corridor - , return $ tToBTree "cor" $ return $ cleatOnward corridor - , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , tToBTree "sdr" . return . cleatOnward <$> +-- (shuffleLinks =<< distributerRoom BulletAmmo 100000) +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- --, tToBTree "sdr" . return . cleatOnward <$> slowDoorRoom +---- , tToBTree "sr" . return . cleatOnward <$> tanksRoom [] [] +-- , return $ tToBTree "door" $ return $ cleatOnward door +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , tToBTree "sdr" . return . cleatOnward <$> +-- (shuffleLinks =<< tanksPipesRoom) +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor +-- , return $ tToBTree "cor" $ return $ cleatOnward corridor , return $ tToBTree "cor" $ return $ cleatOnward corridor , return $ tToBTree "door" $ return $ cleatOnward door , tutHub @@ -256,6 +256,7 @@ tutHub = do (is, wbp) <- setTreeInts =<< critsRoom 1 i <- nextLayoutInt j <- nextLayoutInt + j1 <- nextLayoutInt k <- nextLayoutInt let a gw = analyserByNthLink @@ -267,9 +268,10 @@ tutHub = do . analyserByDoor (RequireEquipment (AMMOMAG DRUMMAG)) i . (rmInPmnt .:~ (0, a)) . addDoorAtNthLinkToggleTerminal 1 ss j +-- . addDoorAtNthLinkToggleInterrupt 2 ds j + . addDoorAtNthLinkToggleInterrupt 2 ds j1 =<< roomNgon 6 100 - bcor <- treeAttachDeep (return door) <$> blockedCorridor - --bcor <- treeAttachDeep (return door) <$> return (return $ cleatOnward door) +-- bcor <- treeAttachDeep (return door) <$> blockedCorridor r1 <- r burstRifle <&> rmPmnts .:~ itemshiftterminal r2 <- ammoroom (drumMag & itConsumables ?~ 90) -- <&> rmPmnts .:~ tutorialterminal --r2 <- r (tinMag & itConsumables ?~ 500) @@ -279,11 +281,13 @@ tutHub = do x [ treeFromPost [triggerDoorRoom i] r1 , treeFromPost [triggerDoorRoom j] r2 - , (rmClusterStatus . csLinks . at OnwardCluster .~ Nothing) - <$> treeAttachDeep wbp bcor + , treeFromTrunk [triggerDoorRoom j1] wbp +-- , (rmClusterStatus . csLinks . at OnwardCluster .~ Nothing) +-- <$> treeAttachDeep wbp (return corridor) , treeFromPost [] (cleatOnward $ triggerDoorRoom k & rmInPmnt . ix 0 . _1 .~ 1) ] where + ds = ["DESTROY THIS TO OPEN THE DOOR"] ss = [ makeTermLine "---------------------------------------------" , makeTermLine "YOU CAN INTERACT WITH SOME TERMINALS DIRECTLY" diff --git a/src/Dodge/Room/Warning.hs b/src/Dodge/Room/Warning.hs index d392b923a..daf23a950 100644 --- a/src/Dodge/Room/Warning.hs +++ b/src/Dodge/Room/Warning.hs @@ -3,8 +3,10 @@ module Dodge.Room.Warning ( warningRooms, addDoorToggleTerminal, addDoorAtNthLinkToggleTerminal, + addDoorAtNthLinkToggleInterrupt, ) where +import Dodge.Default import Color import Control.Monad import qualified Data.Map.Strict as M @@ -13,7 +15,6 @@ import qualified Data.Set as S import Dodge.Cleat import Dodge.Data.BlBl import Dodge.Data.GenWorld -import Dodge.Default.Terminal import Dodge.Placement.Instance import Dodge.PlacementSpot import Dodge.Room.Door @@ -37,10 +38,34 @@ warningRooms str n = do addDoorToggleTerminal :: [TerminalLine] -> Int -> Room -> Room addDoorToggleTerminal = addDoorAtNthLinkToggleTerminal 0 +addDoorAtNthLinkToggleInterrupt :: Int -> [String] -> Int -> Room -> Room +addDoorAtNthLinkToggleInterrupt j x i = + (rmName .++~ "doorInterrupt-") + . (rmPmnts .:~ outplace) + where + outplace = + extTrigLitPos + (atNthLnkOutShiftBy j (\(p, a) -> ((p +.+ rotateV a (V2 18.5 (-2.5)), a), S.singleton UsedPosLow))) + ( Just . set plSpot (rprShift (moveToSideNthOutLink (S.singleton UsedPosLow) j)) + . putInterrupt + ) + & plExternalID + ?~ i + putInterrupt trpl = putTerminal + (defaultMachine & mcType .~ McTrigger (fromJust $ _plMID trpl) + & mcHP .~ 100) + (simpleTermMessage x) +-- lineOutputTerminal xs --(makeColorTermLine red "WARNING" : makeTermPara str) +-- & tmToggles +-- .~ M.fromList +-- [("DOOR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True)) +-- ,("DOAR", TerminalToggle (fromJust $ _plMID trpl) (BlConst True)) +-- ,("TEST", TerminalToggle (fromJust $ _plMID trpl) (BlConst True))] + + addDoorAtNthLinkToggleTerminal :: Int -> [TerminalLine] -> Int -> Room -> Room addDoorAtNthLinkToggleTerminal j xs i = (rmName .++~ "doorToggle-") - -- . (rmOutPmnt . at i ?~ outplace) . (rmPmnts .:~ outplace) where outplace = diff --git a/tags b/tags index 419fd4879..ac8bcabe4 100644 --- a/tags +++ b/tags @@ -103,7 +103,7 @@ BackdropCursor src/Dodge/Data/SelectionList.hs 22;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C Bark src/Dodge/Data/ActionPlan.hs 39;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 71;" C -BarrelHiss src/Dodge/Data/SoundOrigin.hs 32;" C +BarrelHiss src/Dodge/Data/SoundOrigin.hs 33;" C BarrelType src/Dodge/Data/Creature/Misc.hs 85;" t Barreloid src/Dodge/Data/Creature/Misc.hs 81;" C BasicBeamDraw src/Dodge/Data/Beam.hs 32;" C @@ -128,7 +128,7 @@ BlId src/Dodge/Data/BlBl.hs 12;" C BlNegate src/Dodge/Data/BlBl.hs 10;" C Block src/Dodge/Data/Block.hs 20;" t BlockDebris src/Dodge/Data/Prop.hs 23;" C -BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 30;" C +BlockDegradeSound src/Dodge/Data/SoundOrigin.hs 31;" C BlockPart src/Dodge/Data/Wall/Structure.hs 14;" C BlockStatus src/Dodge/Data/Universe.hs 98;" t BlockedLink src/Dodge/Data/Room.hs 50;" C @@ -162,7 +162,7 @@ Button src/Dodge/Data/Button.hs 28;" t ButtonAccessTerminal src/Dodge/Data/Button.hs 26;" C ButtonEvent src/Dodge/Data/Button.hs 13;" t ButtonPress src/Dodge/Data/Button.hs 14;" C -ButtonSound src/Dodge/Data/SoundOrigin.hs 36;" C +ButtonSound src/Dodge/Data/SoundOrigin.hs 37;" C ButtonSwitch src/Dodge/Data/Button.hs 19;" C CAMERA src/Dodge/Data/Item/Combine.hs 75;" C CAN src/Dodge/Data/Item/Combine.hs 56;" C @@ -251,7 +251,7 @@ CrGroupID src/Dodge/Data/Creature/State.hs 29;" C CrGroupParams src/Dodge/Data/CrGroupParams.hs 12;" t CrGroupUpdate src/Dodge/Data/CrGroupParams.hs 20;" t CrHP src/Dodge/Data/Creature.hs 62;" t -CrHitSound src/Dodge/Data/SoundOrigin.hs 31;" C +CrHitSound src/Dodge/Data/SoundOrigin.hs 32;" C CrID src/Dodge/Data/CrWlID.hs 10;" C CrImp src/Dodge/Data/CreatureEffect.hs 9;" t CrInt src/Dodge/Data/Item/Location.hs 22;" t @@ -301,7 +301,7 @@ DTTopNode src/Dodge/Data/DoubleTree.hs 16;" C DTree src/Dodge/Data/DoubleTree.hs 29;" t DamSensor src/Dodge/Data/Machine/Sensor.hs 19;" C Damage src/Dodge/Data/Damage.hs 15;" t -DamageHitSound src/Dodge/Data/SoundOrigin.hs 40;" C +DamageHitSound src/Dodge/Data/SoundOrigin.hs 41;" C DamageLaser src/Dodge/Data/Laser.hs 15;" C DamageSensor src/Dodge/Data/Machine/Sensor.hs 19;" t DamageType src/Dodge/Data/Damage/Type.hs 3;" t @@ -356,7 +356,7 @@ DropShadowSI src/Dodge/Data/SelectionList.hs 58;" C DudPayload src/Dodge/Data/Payload.hs 11;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Data/Cloud.hs 26;" t -EBSound src/Dodge/Data/SoundOrigin.hs 39;" C +EBSound src/Dodge/Data/SoundOrigin.hs 40;" C ECW src/Dodge/Material/Damage.hs 14;" t ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 157;" C EQUIP src/Dodge/Data/Item/Combine.hs 17;" C @@ -390,7 +390,7 @@ Escape src/Dodge/Data/Scenario.hs 10;" C Essential src/Shape/Data.hs 29;" C ExamineInventory src/Dodge/Data/HUD.hs 16;" C Explore src/Dodge/Data/Scenario.hs 4;" C -Explosion src/Dodge/Data/SoundOrigin.hs 37;" C +Explosion src/Dodge/Data/SoundOrigin.hs 38;" 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 @@ -421,9 +421,9 @@ FixedSelectionWidth src/Dodge/Data/SelectionList.hs 42;" C FlIt src/Dodge/Data/FloorItem.hs 11;" C Flame src/Dodge/Data/Flame.hs 11;" t FlameBeamCombine src/Dodge/Data/Beam.hs 37;" C -FlameSound src/Dodge/Data/SoundOrigin.hs 27;" C +FlameSound src/Dodge/Data/SoundOrigin.hs 28;" C FlameletBall src/Dodge/Data/EnergyBall/Type.hs 12;" C -Flamer src/Dodge/Data/SoundOrigin.hs 25;" C +Flamer src/Dodge/Data/SoundOrigin.hs 26;" C Flaming src/Dodge/Data/Damage.hs 21;" C Flank src/Dodge/Data/ActionPlan.hs 129;" C FlareType src/Dodge/Data/Muzzle.hs 28;" t @@ -450,7 +450,7 @@ FloorItem src/Dodge/Data/FloorItem.hs 11;" t Flying src/Dodge/Data/Creature/Stance.hs 25;" C FollowImpulses src/Dodge/Data/ActionPlan.hs 134;" C FootForward src/Dodge/Data/Creature/Stance.hs 29;" t -FootstepSound src/Dodge/Data/SoundOrigin.hs 29;" C +FootstepSound src/Dodge/Data/SoundOrigin.hs 30;" C ForceField src/Dodge/Data/Material.hs 19;" C ForceFieldType src/Dodge/Data/Item/Use/Consumption/Ammo.hs 11;" t ForegroundShape src/Dodge/Data/ForegroundShape.hs 12;" t @@ -489,7 +489,7 @@ GetTo src/Dodge/Data/ActionPlan.hs 141;" C GetToPoint src/Dodge/Data/Scenario.hs 12;" C Gib src/Dodge/Data/Prop.hs 22;" C Glass src/Dodge/Data/Material.hs 14;" C -GlassBreakSound src/Dodge/Data/SoundOrigin.hs 33;" C +GlassBreakSound src/Dodge/Data/SoundOrigin.hs 34;" C Goal src/Dodge/Data/ActionPlan.hs 149;" t GoesOnBack src/Dodge/Data/Equipment/Misc.hs 12;" C GoesOnChest src/Dodge/Data/Equipment/Misc.hs 11;" C @@ -646,7 +646,7 @@ LampCrit src/Dodge/Data/Creature/Misc.hs 72;" C Large src/Shape/Data.hs 24;" C LasBeamCombine src/Dodge/Data/Beam.hs 38;" C LasGunFlare src/Dodge/Data/Muzzle.hs 34;" C -LasSound src/Dodge/Data/SoundOrigin.hs 28;" C +LasSound src/Dodge/Data/SoundOrigin.hs 29;" C Laser src/Dodge/Data/Laser.hs 19;" t LaserSensor src/Dodge/Data/Machine/Sensor.hs 13;" C LaserType src/Dodge/Data/Laser.hs 14;" t @@ -708,9 +708,10 @@ MPO src/Dodge/Base/Collide.hs 96;" t MTRS src/Dodge/Data/MTRS.hs 6;" t MTree src/Dodge/Data/MetaTree.hs 11;" C Machine src/Dodge/Data/Machine.hs 30;" t -MachineAltSound src/Dodge/Data/SoundOrigin.hs 22;" C +MachineAltSound src/Dodge/Data/SoundOrigin.hs 23;" C +MachineBackgroundSound src/Dodge/Data/SoundOrigin.hs 22;" C MachinePart src/Dodge/Data/Wall/Structure.hs 13;" C -MachineSound src/Dodge/Data/SoundOrigin.hs 21;" C +MachinePrimarySound src/Dodge/Data/SoundOrigin.hs 21;" C MachineType src/Dodge/Data/Machine.hs 42;" t MagBelow src/Dodge/Data/Muzzle.hs 22;" C Magnet src/Dodge/Data/Magnet.hs 21;" t @@ -734,7 +735,7 @@ Manipulator src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" C MapperInventory src/Dodge/Data/HUD.hs 17;" C MapperSF src/Dodge/Data/ComposedItem.hs 39;" C Material src/Dodge/Data/Material.hs 10;" t -MaterialSound src/Dodge/Data/SoundOrigin.hs 34;" C +MaterialSound src/Dodge/Data/SoundOrigin.hs 35;" C Maybe' src/MaybeHelp.hs 11;" t McDamSensor src/Dodge/Data/Machine.hs 45;" C McDistributer src/Dodge/Data/Machine.hs 49;" C @@ -742,6 +743,7 @@ McProxSensor src/Dodge/Data/Machine.hs 46;" C McStatic src/Dodge/Data/Machine.hs 43;" C McStorage src/Dodge/Data/Machine.hs 48;" C McTerminal src/Dodge/Data/Machine.hs 44;" C +McTrigger src/Dodge/Data/Machine.hs 50;" C McTurret src/Dodge/Data/Machine.hs 47;" C MdFlickerUpdate src/Dodge/Data/WorldEffect.hs 54;" C MdSetLSCol src/Dodge/Data/WorldEffect.hs 53;" C @@ -956,7 +958,7 @@ OverInvSelect src/Dodge/Data/Input.hs 21;" C OverTerminal src/Dodge/Data/Input.hs 27;" C OverreachingAI src/Dodge/Data/Scenario.hs 31;" C Overstrung src/Dodge/Data/Creature/Perception.hs 55;" C -PBSound src/Dodge/Data/SoundOrigin.hs 41;" C +PBSound src/Dodge/Data/SoundOrigin.hs 42;" C PIPE src/Dodge/Data/Item/Combine.hs 50;" C PISTOL src/Dodge/Data/Item/Combine.hs 143;" C PJStabiliser src/Dodge/Projectile/Create.hs 16;" t @@ -1185,7 +1187,7 @@ ShapeProp src/Dodge/Data/Prop.hs 14;" C ShapeType src/Shape/Data.hs 11;" t Shattering src/Dodge/Data/Damage.hs 20;" C Shell src/Dodge/Data/Projectile.hs 15;" C -ShellSound src/Dodge/Data/SoundOrigin.hs 26;" C +ShellSound src/Dodge/Data/SoundOrigin.hs 27;" C ShieldGroup src/Dodge/Data/Creature/State.hs 30;" C Shockwave src/Dodge/Data/Shockwave.hs 15;" t ShockwaveDirection src/Dodge/Data/Shockwave.hs 12;" t @@ -1246,7 +1248,7 @@ SparkType src/Dodge/Data/Spark.hs 19;" t Sparking src/Dodge/Data/Damage.hs 18;" C Spatial src/Dodge/Data/Scenario.hs 73;" C SpatialInfluence src/Dodge/Data/Scenario.hs 81;" t -SpawnSound src/Dodge/Data/SoundOrigin.hs 42;" C +SpawnSound src/Dodge/Data/SoundOrigin.hs 43;" C SpawnedBy src/Dodge/Data/Creature/State.hs 17;" C SplashOptions src/Dodge/Data/Universe.hs 73;" C SplitBeamCombine src/Dodge/Data/Beam.hs 40;" C @@ -1299,13 +1301,13 @@ TSright src/Dodge/Data/Input.hs 58;" C TStab src/Dodge/Data/Input.hs 56;" C TSup src/Dodge/Data/Input.hs 59;" C TUBE src/Dodge/Data/Item/Combine.hs 51;" C -Tap src/Dodge/Data/SoundOrigin.hs 38;" C +Tap src/Dodge/Data/SoundOrigin.hs 39;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 12;" C TargetRBCreature src/Dodge/Data/Item/Targeting.hs 11;" C TargetRBPress src/Dodge/Data/Item/Targeting.hs 10;" C TargetingLaser src/Dodge/Data/Laser.hs 16;" C TargetingType src/Dodge/Data/Item/Targeting.hs 9;" t -TeleSound src/Dodge/Data/SoundOrigin.hs 35;" C +TeleSound src/Dodge/Data/SoundOrigin.hs 36;" C TermSignal src/Dodge/Data/Input.hs 51;" t Terminal src/Dodge/Data/Terminal.hs 19;" t TerminalDeactivated src/Dodge/Data/Terminal/Status.hs 12;" C @@ -1315,7 +1317,7 @@ TerminalLineRead src/Dodge/Data/Terminal/Status.hs 13;" C TerminalLineString src/Dodge/Data/Terminal.hs 33;" t TerminalOff src/Dodge/Data/Terminal/Status.hs 11;" C TerminalPressTo src/Dodge/Data/Terminal/Status.hs 15;" C -TerminalSound src/Dodge/Data/SoundOrigin.hs 23;" C +TerminalSound src/Dodge/Data/SoundOrigin.hs 24;" C TerminalStatus src/Dodge/Data/Terminal/Status.hs 10;" t TerminalTextInput src/Dodge/Data/Terminal/Status.hs 14;" C TerminalToggle src/Dodge/Data/Terminal.hs 41;" t @@ -1368,7 +1370,7 @@ TurnTo src/Dodge/Data/ActionPlan.hs 35;" C TurnToPoint src/Dodge/Data/ActionPlan.hs 71;" C TurnToward src/Dodge/Data/ActionPlan.hs 32;" C TurnTowardCr src/Dodge/Data/CreatureEffect.hs 9;" C -Turret src/Dodge/Data/Machine.hs 62;" t +Turret src/Dodge/Data/Machine.hs 64;" t TurretInt src/Dodge/Data/Item/Location.hs 19;" t TwistGoal src/Dodge/Data/Scenario.hs 15;" C TwoHandFlat src/Dodge/Data/AimStance.hs 13;" C @@ -1452,7 +1454,7 @@ WallNotDestrucable src/Dodge/Data/Wall/Structure.hs 21;" C WallObstacle src/Dodge/Data/PathGraph.hs 50;" C WallP src/Dodge/LevelGen/StaticWalls.hs 23;" t WallP src/Dodge/LevelGen/StaticWalls/Deprecated.hs 11;" t -WallSound src/Dodge/Data/SoundOrigin.hs 24;" C +WallSound src/Dodge/Data/SoundOrigin.hs 25;" C WallStructure src/Dodge/Data/Wall/Structure.hs 10;" t WallWire src/Dodge/Data/Room.hs 55;" C Walls_info src/Dodge/Data/Config.hs 88;" C @@ -1988,6 +1990,7 @@ _mcID src/Dodge/Data/Machine.hs 31;" f _mcMaterial src/Dodge/Data/Machine.hs 33;" f _mcMounts src/Dodge/Data/Machine.hs 39;" f _mcPos src/Dodge/Data/Machine.hs 34;" f +_mcTriggerID src/Dodge/Data/Machine.hs 50;" f _mcType src/Dodge/Data/Machine.hs 38;" f _mcWallIDs src/Dodge/Data/Machine.hs 32;" f _mcdStorageMachine src/Dodge/Data/Machine.hs 49;" f @@ -2388,10 +2391,10 @@ _trieMVal src/SimpleTrie.hs 11;" f _triggers src/Dodge/Data/LWorld.hs 127;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 43;" f _ttTriggerID src/Dodge/Data/Terminal.hs 42;" f -_tuDir src/Dodge/Data/Machine.hs 66;" f -_tuFireTime src/Dodge/Data/Machine.hs 65;" f -_tuTurnSpeed src/Dodge/Data/Machine.hs 64;" f -_tuWeapon src/Dodge/Data/Machine.hs 63;" f +_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 71;" f _uInt src/Dodge/Data/Item/Use.hs 31;" f _uScope src/Dodge/Data/Item/Use.hs 34;" f @@ -2517,8 +2520,9 @@ addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f addButtonSlowDoor src/Dodge/Room/LongDoor.hs 96;" f addCrGibs src/Dodge/Prop/Gib.hs 17;" f addDepth src/Picture/Base.hs 136;" f -addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 40;" f -addDoorToggleTerminal src/Dodge/Room/Warning.hs 37;" f +addDoorAtNthLinkToggleInterrupt src/Dodge/Room/Warning.hs 41;" f +addDoorAtNthLinkToggleTerminal src/Dodge/Room/Warning.hs 65;" f +addDoorToggleTerminal src/Dodge/Room/Warning.hs 38;" 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 @@ -2544,7 +2548,7 @@ addSideEffect src/Dodge/Concurrent.hs 29;" f addSouthPillars src/Dodge/Room/LongDoor.hs 88;" f addTermSignal src/Dodge/Event/Input.hs 31;" f addToTrunk src/TreeHelp.hs 157;" f -addWarningTerminal src/Dodge/Room/Warning.hs 63;" f +addWarningTerminal src/Dodge/Room/Warning.hs 87;" f addZ src/Geometry/Vector3D.hs 89;" f adjustIMZone src/Dodge/Base.hs 81;" f advanceScrollAmount src/Dodge/Update.hs 422;" f @@ -2677,7 +2681,6 @@ basicCrPict src/Dodge/Creature/Picture.hs 30;" f basicCrShape src/Dodge/Creature/Picture.hs 36;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f -basicMachineUpdate src/Dodge/Machine.hs 14;" f basicMuzFlare src/Dodge/HeldUse.hs 710;" f battery src/Dodge/Item/Ammo.hs 63;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f @@ -3178,8 +3181,8 @@ displayPulse src/Dodge/Inventory/SelectionList.hs 182;" f displayTerminalLineString src/Dodge/Update.hs 487;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f -distributeAmmoToItem src/Dodge/WorldEffect.hs 148;" f -distributeAmmoToYou src/Dodge/WorldEffect.hs 136;" f +distributeAmmoToItem src/Dodge/WorldEffect.hs 151;" f +distributeAmmoToYou src/Dodge/WorldEffect.hs 139;" f distributerRoom src/Dodge/Room/Room.hs 415;" f divTo src/Geometry/Zone.hs 8;" f divideCircle src/Geometry.hs 321;" f @@ -3274,7 +3277,7 @@ drawAimSweep src/Dodge/Render/Picture.hs 292;" f drawAllShadows src/Dodge/Shadows.hs 5;" f drawAnySelectionBox src/Dodge/Render/Picture.hs 130;" f drawArrowDown src/Dodge/Render/Picture.hs 219;" f -drawBaseMachine src/Dodge/Machine/Draw.hs 73;" f +drawBaseMachine src/Dodge/Machine/Draw.hs 74;" f drawBlip src/Dodge/RadarBlip.hs 16;" f drawBlock src/Dodge/Render/ShapePicture.hs 51;" f drawBoundingBox src/Dodge/Debug/Picture.hs 358;" f @@ -3299,7 +3302,7 @@ drawCrossCol src/Dodge/Render/Label.hs 21;" f drawCursorAt src/Dodge/Render/List.hs 73;" f drawCursorByTerminalStatus src/Dodge/Render/Picture.hs 137;" f drawDDATest src/Dodge/Debug/Picture.hs 303;" f -drawDamSensor src/Dodge/Machine/Draw.hs 36;" f +drawDamSensor src/Dodge/Machine/Draw.hs 37;" f drawDebug src/Dodge/Debug.hs 207;" f drawDrag src/Dodge/Render/Picture.hs 198;" f drawDragDrop src/Dodge/Render/Picture.hs 227;" f @@ -3375,14 +3378,14 @@ drawSubInventory src/Dodge/Render/HUD.hs 169;" f drawSwitch src/Dodge/Button/Draw.hs 16;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalCursorLink src/Dodge/Render/HUD.hs 385;" f +drawTerminalCursorLink src/Dodge/Render/HUD.hs 386;" f drawTerminalDisplay src/Dodge/Render/HUD.hs 351;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 235;" f drawTitle src/Dodge/Render/MenuScreen.hs 49;" f drawTitleBackground src/Dodge/Render/List.hs 60;" f drawTractorBeam src/Dodge/TractorBeam/Draw.hs 7;" f -drawTurret src/Dodge/Machine/Draw.hs 92;" f +drawTurret src/Dodge/Machine/Draw.hs 94;" f drawVerticalDoubleArrow src/Dodge/Render/Picture.hs 210;" f drawWall src/Dodge/Wall/Draw.hs 11;" f drawWallFace src/Dodge/Debug/Picture.hs 73;" f @@ -3442,7 +3445,7 @@ endArcPos src/Dodge/Tesla.hs 87;" f endCombineRegex src/Dodge/Update/Input/InGame.hs 276;" f endRegex src/Dodge/Update/Input/InGame.hs 270;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 624;" f -enterCombineInv src/Dodge/DisplayInventory.hs 320;" f +enterCombineInv src/Dodge/DisplayInventory.hs 321;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f epText src/Dodge/Inventory/SelectionList.hs 79;" f eqConstr src/SameConstr.hs 17;" f @@ -3467,7 +3470,7 @@ errorIsLHS src/Geometry.hs 65;" f errorNormalizeV src/Geometry.hs 54;" f errorPointInPolygon src/Geometry.hs 46;" f evenOddSplit src/Dodge/Base.hs 160;" f -exitTerminalSubInv src/Dodge/WorldEffect.hs 168;" f +exitTerminalSubInv src/Dodge/WorldEffect.hs 171;" f expandLine src/Dodge/Picture.hs 30;" f expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f @@ -3598,8 +3601,8 @@ getCloseObj src/Dodge/Update/Input/InGame.hs 539;" f getCommand src/Dodge/Terminal.hs 52;" f getCommands src/Dodge/Terminal.hs 49;" f getCrMoveSpeed src/Dodge/Creature/Statistics.hs 50;" f -getCrsFromRooms src/Dodge/Room/Tutorial.hs 345;" f -getCrsFromRooms' src/Dodge/Room/Tutorial.hs 332;" f +getCrsFromRooms src/Dodge/Room/Tutorial.hs 346;" f +getCrsFromRooms' src/Dodge/Room/Tutorial.hs 333;" f getDebugMouseOver src/Dodge/Update.hs 392;" f getDistortions src/Dodge/Render.hs 441;" f getEdgesCrossing src/Dodge/Path.hs 37;" f @@ -3616,7 +3619,7 @@ getNodePos src/Dodge/Path.hs 34;" f getPJStabiliser src/Dodge/HeldUse.hs 1243;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f -getRoomsFromInts src/Dodge/Room/Tutorial.hs 328;" f +getRoomsFromInts src/Dodge/Room/Tutorial.hs 329;" f getRootItemBounds src/Dodge/Render/HUD.hs 102;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f @@ -3808,7 +3811,7 @@ invDP src/Dodge/ListDisplayParams.hs 31;" f invDT src/Dodge/Item/Grammar.hs 217;" f invDT' src/Dodge/Item/Grammar.hs 222;" f invDimColor src/Dodge/DisplayInventory.hs 190;" f -invHead src/Dodge/Render/HUD.hs 414;" f +invHead src/Dodge/Render/HUD.hs 415;" f invIMDT src/Dodge/Item/Grammar.hs 246;" f invIndents src/Dodge/Item/Grammar.hs 253;" f invItemEffs src/Dodge/Creature/State.hs 63;" f @@ -3836,7 +3839,7 @@ isAnimate src/Dodge/Creature/Test.hs 134;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f isConnected src/Dodge/Inventory/Swap.hs 77;" f isCornerLink src/Dodge/RoomLink.hs 65;" f -isElectrical src/Dodge/Machine/Update.hs 86;" f +isElectrical src/Dodge/Machine/Update.hs 106;" f isFlyable src/Dodge/WorldEvent/ThingsHit.hs 176;" f isGroupSelectableSection src/Dodge/Update/Input/InGame.hs 198;" f isInLnk src/Dodge/PlacementSpot.hs 161;" f @@ -3966,7 +3969,7 @@ ldtToDT src/Dodge/DoubleTree.hs 16;" f ldtToIM src/Dodge/DoubleTree.hs 219;" f ldtToIndentList src/Dodge/DoubleTree.hs 222;" f ldtToLoc src/Dodge/DoubleTree.hs 268;" f -leaveResetQuitTerminal src/Dodge/WorldEffect.hs 162;" f +leaveResetQuitTerminal src/Dodge/WorldEffect.hs 165;" f led src/Dodge/Item/Held/Utility.hs 23;" f left src/DoubleStack.hs 16;" f leftChildList src/Dodge/Item/Grammar.hs 185;" f @@ -3991,7 +3994,7 @@ lineCol src/Picture/Base.hs 245;" f lineGeom src/Dodge/Base.hs 32;" f lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f lineOrth src/Dodge/Creature/Boid.hs 128;" f -lineOutputTerminal src/Dodge/Room/Warning.hs 68;" f +lineOutputTerminal src/Dodge/Room/Warning.hs 92;" f lineSplit src/Justify.hs 26;" f lineThick src/Picture/Base.hs 249;" f lineUp src/Dodge/Creature/Boid.hs 150;" f @@ -4004,7 +4007,7 @@ listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" 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 403;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 404;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMuzzle src/Dodge/HeldUse.hs 630;" f @@ -4055,10 +4058,7 @@ lsPosRad src/Dodge/LightSource.hs 18;" f ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 12;" f m src/ShortShow.hs 48;" f mAT src/Dodge/Item/MagAmmoType.hs 20;" f -machineAddSound src/Dodge/Machine.hs 50;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f -machineUpdateDeathEff src/Dodge/Machine.hs 35;" f -machineUpdateLiveDieEff src/Dodge/Machine.hs 17;" f magAmmoParams src/Dodge/HeldUse.hs 927;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f magMax src/Dodge/Item/MagAmmoType.hs 29;" f @@ -4136,25 +4136,26 @@ maybeOpenConsole src/Dodge/Update.hs 127;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeTakeOne src/RandomHelp.hs 116;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f -mcApplyDamage src/Dodge/Machine/Update.hs 131;" f -mcColor src/Dodge/Machine/Draw.hs 81;" f -mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 100;" f -mcDamSensorUpdate src/Dodge/Machine/Update.hs 138;" f -mcKillBut src/Dodge/Machine/Destroy.hs 37;" f -mcKillTerm src/Dodge/Machine/Destroy.hs 29;" f -mcNoItemsTest src/Dodge/Machine/Update.hs 146;" f -mcPlaySound src/Dodge/Machine/Update.hs 115;" f -mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 106;" f -mcProxSensorUpdate src/Dodge/Machine/Update.hs 141;" f -mcProxTest src/Dodge/Machine/Update.hs 205;" f -mcProximitySensorUpdate src/Dodge/Machine/Update.hs 173;" f +mcApplyDamage src/Dodge/Machine/Update.hs 162;" f +mcBackgroundSound src/Dodge/Machine/Update.hs 151;" f +mcColor src/Dodge/Machine/Draw.hs 82;" f +mcDamSensorTriggerUpdate src/Dodge/Machine/Update.hs 120;" f +mcDamSensorUpdate src/Dodge/Machine/Update.hs 169;" f +mcKillBut src/Dodge/Machine/Destroy.hs 38;" f +mcKillTerm src/Dodge/Machine/Destroy.hs 30;" f +mcNoItemsTest src/Dodge/Machine/Update.hs 177;" f +mcPlaySound src/Dodge/Machine/Update.hs 135;" f +mcProxSensorTriggerUpdate src/Dodge/Machine/Update.hs 126;" f +mcProxSensorUpdate src/Dodge/Machine/Update.hs 172;" f +mcProxTest src/Dodge/Machine/Update.hs 253;" f +mcProximitySensorUpdate src/Dodge/Machine/Update.hs 214;" f mcSPic src/Dodge/Render/ShapePicture.hs 134;" f mcShootAuto src/Dodge/HeldUse.hs 1161;" f mcShootLaser src/Dodge/HeldUse.hs 1154;" f -mcTriggerVal src/Dodge/Machine/Update.hs 112;" f -mcTypeUpdate src/Dodge/Machine/Update.hs 32;" f +mcTriggerVal src/Dodge/Machine/Update.hs 132;" f +mcTypeUpdate src/Dodge/Machine/Update.hs 33;" f mcUseHeld src/Dodge/HeldUse.hs 1078;" f -mcUseItem src/Dodge/Machine/Update.hs 91;" f +mcUseItem src/Dodge/Machine/Update.hs 111;" f megaBattery src/Dodge/Item/Ammo.hs 55;" f megaShellMag src/Dodge/Item/Ammo.hs 44;" f megaTinMag src/Dodge/Item/Ammo.hs 23;" f @@ -4229,7 +4230,7 @@ moveProjectile src/Dodge/Projectile/Update.hs 210;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveShockwave src/Dodge/Shockwave/Update.hs 13;" f moveStuckGrenade src/Dodge/Projectile/Update.hs 197;" f -moveToSideNthOutLink src/Dodge/Room/Warning.hs 71;" f +moveToSideNthOutLink src/Dodge/Room/Warning.hs 95;" f moveWall src/Dodge/Wall/Move.hs 23;" f moveWallID src/Dodge/Wall/Move.hs 18;" f moveWallIDUnsafe src/Dodge/Wall/Move.hs 13;" f @@ -4633,7 +4634,7 @@ reflectPulseLaserAlong src/Dodge/Item/Weapon/LaserPath.hs 65;" f refract src/Dodge/Item/Weapon/LaserPath.hs 39;" f refreshOptionsSelectionList src/Dodge/Menu/Option.hs 35;" f regexCombs src/Dodge/DisplayInventory.hs 71;" f -regexList src/Dodge/DisplayInventory.hs 311;" f +regexList src/Dodge/DisplayInventory.hs 312;" f reload1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 634;" f reloadLevelStart src/Dodge/Save.hs 71;" f reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 632;" f @@ -4660,7 +4661,7 @@ replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 47;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f -resetTerminal src/Dodge/WorldEffect.hs 156;" f +resetTerminal src/Dodge/WorldEffect.hs 159;" f resizeFBOTO src/Framebuffer/Update.hs 185;" f resizeFBOTO' src/Framebuffer/Update.hs 202;" f resizeFBOTO2 src/Framebuffer/Update.hs 104;" f @@ -4812,22 +4813,22 @@ sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 87;" f seedStartOptions src/Dodge/Menu.hs 90;" f segOnCirc src/Geometry.hs 113;" f -selNumPos src/Dodge/Render/HUD.hs 463;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 480;" f +selNumPos src/Dodge/Render/HUD.hs 464;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 481;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f -selSecSelCol src/Dodge/Render/HUD.hs 500;" f +selSecSelCol src/Dodge/Render/HUD.hs 501;" f selSecSelSize src/Dodge/SelectionSections.hs 143;" f selSecYint src/Dodge/SelectionSections.hs 152;" f selectedItemScroll src/Dodge/Update/Scroll.hs 51;" f sensAboveDoor src/Dodge/Room/SensorDoor.hs 53;" f sensInsideDoor src/Dodge/Room/SensorDoor.hs 59;" f -senseDamage src/Dodge/Machine/Update.hs 217;" f -sensorReqToString src/Dodge/Machine/Update.hs 199;" f +senseDamage src/Dodge/Machine/Update.hs 269;" f +sensorReqToString src/Dodge/Machine/Update.hs 247;" f sensorRoom src/Dodge/Room/SensorDoor.hs 26;" f sensorRoomRunPast src/Dodge/Room/SensorDoor.hs 46;" f -sensorSPic src/Dodge/Machine/Draw.hs 97;" f -sensorTut src/Dodge/Room/Tutorial.hs 354;" f -sensorTypeDamages src/Dodge/Machine/Update.hs 236;" f +sensorSPic src/Dodge/Machine/Draw.hs 99;" f +sensorTut src/Dodge/Room/Tutorial.hs 355;" f +sensorTypeDamages src/Dodge/Machine/Update.hs 293;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 82;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 49;" f @@ -5076,7 +5077,7 @@ stopAllSounds src/Sound.hs 126;" f stopBulletAt src/Dodge/Bullet.hs 200;" f stopPushing src/Dodge/Wall/Damage.hs 95;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f -storageShape src/Dodge/Machine/Draw.hs 30;" f +storageShape src/Dodge/Machine/Draw.hs 31;" f strFromEquipment src/Dodge/Creature/Statistics.hs 53;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 67;" f strengthFactor src/Dodge/Creature/Impulse/Movement.hs 51;" f @@ -5132,9 +5133,9 @@ termSoundLine src/Dodge/Terminal.hs 43;" f termTextColor src/Dodge/Terminal.hs 46;" f terminalLDP src/Dodge/ListDisplayParams.hs 44;" f terminalReturnEffect src/Dodge/Terminal.hs 177;" f -terminalSPic src/Dodge/Machine/Draw.hs 45;" f -terminalScreenGlow src/Dodge/Machine/Update.hs 42;" f -terminalShape src/Dodge/Machine/Draw.hs 48;" f +terminalSPic src/Dodge/Machine/Draw.hs 46;" f +terminalScreenGlow src/Dodge/Machine/Update.hs 44;" f +terminalShape src/Dodge/Machine/Draw.hs 49;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 131;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f @@ -5204,7 +5205,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 -toggleCombineInv src/Dodge/DisplayInventory.hs 314;" f +toggleCombineInv src/Dodge/DisplayInventory.hs 315;" f toggleCommands src/Dodge/Terminal.hs 81;" f toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 67;" f toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 105;" f @@ -5293,9 +5294,9 @@ tutAnoTree src/Dodge/Room/Tutorial.hs 47;" f tutDrop src/Dodge/Room/Tutorial.hs 94;" f tutHub src/Dodge/Room/Tutorial.hs 254;" f tutLight src/Dodge/Room/Tutorial.hs 219;" f -tutRezBox src/Dodge/Room/Tutorial.hs 365;" f +tutRezBox src/Dodge/Room/Tutorial.hs 366;" f tutRoomTree src/Dodge/Floor.hs 21;" f -tutorialMessage1 src/Dodge/Room/Tutorial.hs 388;" f +tutorialMessage1 src/Dodge/Room/Tutorial.hs 389;" f tweenAngles src/Geometry/Vector.hs 190;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 79;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 34;" f @@ -5394,7 +5395,7 @@ updateLasers src/Dodge/Update.hs 438;" f updateLeftParentSF src/Dodge/Item/Grammar.hs 170;" f updateLinearShockwave src/Dodge/LinearShockwave/Update.hs 8;" f updateLongPressInGame src/Dodge/Update/Input/InGame.hs 447;" f -updateMachine src/Dodge/Machine/Update.hs 24;" f +updateMachine src/Dodge/Machine/Update.hs 25;" f updateMagnets src/Dodge/Update.hs 329;" f updateMouseClickInGame src/Dodge/Update/Input/InGame.hs 204;" f updateMouseContext src/Dodge/Update.hs 342;" f @@ -5435,7 +5436,7 @@ updateTeslaArc src/Dodge/Update.hs 586;" f updateTeslaArcs src/Dodge/Update.hs 583;" f updateTractorBeam src/Dodge/TractorBeam/Update.hs 9;" f updateTractorBeams src/Dodge/Update.hs 655;" f -updateTurret src/Dodge/Machine/Update.hs 51;" f +updateTurret src/Dodge/Machine/Update.hs 56;" f updateUniverse src/Dodge/Update.hs 75;" f updateUniverseFirst src/Dodge/Update.hs 86;" f updateUniverseLast src/Dodge/Update.hs 137;" f @@ -5523,7 +5524,7 @@ wallToSurface src/Dodge/Base/Collide.hs 180;" f wallsFromRooms src/Dodge/Layout.hs 137;" f wallsToDraw src/Dodge/Render/Walls.hs 18;" f warmupSound src/Dodge/HeldUse.hs 1368;" f -warningRooms src/Dodge/Room/Warning.hs 30;" f +warningRooms src/Dodge/Room/Warning.hs 31;" f warp1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 610;" f wasdAim src/Dodge/Creature/YourControl.hs 133;" f wasdDir src/Dodge/WASD.hs 17;" f