From d2d4642380745e1403ee603e8b9269ee0092febc Mon Sep 17 00:00:00 2001 From: justin Date: Fri, 6 Jun 2025 20:43:49 +0100 Subject: [PATCH] Cleanup, remove records, stop unecessary Aeson compile --- src/Dodge/Bullet.hs | 22 +- src/Dodge/Combine.hs | 5 +- src/Dodge/Combine/Combinations.hs | 11 +- src/Dodge/Combine/Graph.hs | 5 +- src/Dodge/Creature/State.hs | 2 +- src/Dodge/Data/AmmoType.hs | 2 +- src/Dodge/Data/Bullet.hs | 4 +- src/Dodge/Data/CombAmount.hs | 16 + src/Dodge/Data/Creature.hs | 2 + src/Dodge/Data/Creature/State.hs | 8 - src/Dodge/Data/Item.hs | 16 +- src/Dodge/Data/Item/Use.hs | 11 +- src/Dodge/Data/Item/Use/Consumption.hs | 50 --- src/Dodge/Data/LWorld.hs | 6 +- src/Dodge/Data/LightSource.hs | 6 +- src/Dodge/Equipment.hs | 4 +- src/Dodge/HeldUse.hs | 2 +- src/Dodge/Humanoid.hs | 2 +- src/Dodge/Item/Weapon/Bullet.hs | 12 +- src/Dodge/Payload.hs | 3 +- src/Dodge/Spark.hs | 7 +- tags | 455 ++++++++++++------------- 22 files changed, 311 insertions(+), 340 deletions(-) create mode 100644 src/Dodge/Data/CombAmount.hs delete mode 100644 src/Dodge/Data/Item/Use/Consumption.hs diff --git a/src/Dodge/Bullet.hs b/src/Dodge/Bullet.hs index 8e73fdada..60a460257 100644 --- a/src/Dodge/Bullet.hs +++ b/src/Dodge/Bullet.hs @@ -24,6 +24,14 @@ updateBullet w bu -- have to be slightly carefull not to accelerate bullets using magnets | otherwise = second (Just . updateBulVel) . hitEffFromBul w $ applyMagnetsToBul bu w +buDamages :: Bullet -> [Damage] +buDamages bu = case _buPayload bu of + BulBall {} -> [] + BulPlain x -> [Damage PIERCING x 0 0 0 $ PushBackDamage 2] + BulFlak -> [] + BulFrag -> [] + BulGas -> [] + -- do we want this to drain energy from the deflection source? applyMagnetsToBul :: Bullet -> World -> Bullet applyMagnetsToBul bu = foldl' doMagnetBuBu bu . _oldMagnets . _lWorld . _cWorld @@ -110,7 +118,7 @@ bounceDir _ = Nothing useBulletPayload :: Bullet -> Point2 -> World -> World useBulletPayload bu = case _buPayload bu of - BulSpark -> const id + BulPlain _ -> const id BulFlak -> makeFlak bu BulFrag -> makeFragBullets BulGas -> (`makeGasCloud` V2 0 0) @@ -126,12 +134,14 @@ makeFragBullets p w = w & cWorld . lWorld . bullets .++~ bus as = randomRs (0, 2 * pi) $ _randGen w ss = randomRs (5, 15) $ _randGen w f a s = - defaultBullet & buVel .~ s *.* unitVectorAtAngle a + defaultBullet + & buPayload .~ BulPlain 5 + & buVel .~ s *.* unitVectorAtAngle a & buDrag .~ 0.8 & buPos .~ p & buOldPos .~ p & buWidth .~ 1 - & buDamages .~ [Damage PIERCING 5 0 0 0 $ PushBackDamage 2] +-- & buDamages .~ [Damage PIERCING 5 0 0 0 $ PushBackDamage 2] makeFlak :: Bullet -> Point2 -> World -> World makeFlak bu _ w = w & cWorld . lWorld . bullets .++~ [f x | x <- xs] @@ -139,9 +149,9 @@ makeFlak bu _ w = w & cWorld . lWorld . bullets .++~ [f x | x <- xs] s = min 10 (0.5 * magV (_buVel bu)) xs = take 5 $ randomRs (- s, s) $ _randGen w f x = bu & buVel %~ g x - & buPayload .~ BulSpark + & buPayload .~ BulPlain 25 & buWidth .~ 0.5 - & buDamages .~ [Damage PIERCING 25 0 0 0 $ PushBackDamage 2] +-- & buDamages .~ [Damage PIERCING 25 0 0 0 $ PushBackDamage 2] g x v = v +.+ x *.* normalizeV (vNormal v) hitEffFromBul :: World -> Bullet -> (World, Bullet) @@ -162,7 +172,7 @@ hitEffFromBul w bu = case _buEffect bu of hitstream = thingsHit sp (sp + _buVel bu) w setFromToDams :: Bullet -> Point2 -> [Damage] -setFromToDams bu p = map f (_buDamages bu) +setFromToDams bu p = map f (buDamages bu) where f = (dmFrom .~ _buPos bu) . (dmAt .~ p) . (dmTo .~ _buPos bu +.+ _buVel bu) diff --git a/src/Dodge/Combine.hs b/src/Dodge/Combine.hs index ad5bad811..6d1c41d36 100644 --- a/src/Dodge/Combine.hs +++ b/src/Dodge/Combine.hs @@ -3,6 +3,7 @@ module Dodge.Combine ( combineList, ) where +import Dodge.Data.CombAmount import Dodge.Item.InvSize import Dodge.Item.Grammar import Data.Bifunctor @@ -40,7 +41,7 @@ flatLookupItems = flip multiLookupTrieI combinationsTrie . sortOn fst . groupSplitItemAmounts . invertInventoryToMap -combinationsTrie :: Trie (ItAmount, ItemType) Item +combinationsTrie :: Trie (CombAmount, ItemType) Item {-# INLINE combinationsTrie #-} combinationsTrie = foldl' @@ -48,7 +49,7 @@ combinationsTrie = emptyTrie itemCombinations -groupSplitItemAmounts :: M.Map ItemType [Int] -> [((ItAmount, ItemType), [Int])] +groupSplitItemAmounts :: M.Map ItemType [Int] -> [((CombAmount, ItemType), [Int])] groupSplitItemAmounts = M.foldMapWithKey f where f ibt is = [((fromIntegral i, ibt), take i is) | i <- [1 .. length is]] diff --git a/src/Dodge/Combine/Combinations.hs b/src/Dodge/Combine/Combinations.hs index 2975e268c..382ab2bfa 100644 --- a/src/Dodge/Combine/Combinations.hs +++ b/src/Dodge/Combine/Combinations.hs @@ -6,13 +6,14 @@ module Dodge.Combine.Combinations , bulletWeapons ) where +import Dodge.Data.CombAmount import Dodge.Data.Magnet import Dodge.Item.Ammo import Dodge.Data.Item import Dodge.Item import LensHelp -watchCombinations :: [([(ItAmount, ItemType)], Item)] +watchCombinations :: [([(CombAmount, ItemType)], Item)] watchCombinations = [] -- [ po [HELD TIMESTOPPER, HELD REWINDER] timeScroller @@ -23,7 +24,7 @@ watchCombinations = -- po xs it = (map o xs, it) -- o = (1,) -backpackCombinations :: [([(ItAmount,ItemType)],Item)] +backpackCombinations :: [([(CombAmount,ItemType)],Item)] backpackCombinations = [ po [CRAFT HOSE, CRAFT STEELDRUM] fuelPack ] @@ -39,7 +40,7 @@ backpackCombinations = -- po xs it = (map o xs, it) -- o = (1,) -magazineCombinations :: [([(ItAmount,ItemType)],Item)] +magazineCombinations :: [([(CombAmount,ItemType)],Item)] magazineCombinations = [ po [CRAFT TIN, CRAFT SPRING] tinMag ] @@ -50,9 +51,9 @@ magazineCombinations = flatItemCombinations :: [([ItemType], Item)] flatItemCombinations = map (over _1 (concatMap f)) itemCombinations where - f (x,it) = replicate (_getItAmount x) it + f (x,it) = replicate (_getCombAmount x) it -itemCombinations :: [([(ItAmount, ItemType)], Item)] +itemCombinations :: [([(CombAmount, ItemType)], Item)] itemCombinations = watchCombinations ++ backpackCombinations ++ diff --git a/src/Dodge/Combine/Graph.hs b/src/Dodge/Combine/Graph.hs index 8d8b7cd36..53509c547 100644 --- a/src/Dodge/Combine/Graph.hs +++ b/src/Dodge/Combine/Graph.hs @@ -4,6 +4,7 @@ module Dodge.Combine.Graph ( combinationsDotGraph ) where +import Dodge.Data.CombAmount import Data.Bifunctor import qualified Data.Graph.Inductive as FGL import Data.GraphViz.Attributes.Complete @@ -21,7 +22,7 @@ data CombClust | JoinClust deriving (Eq, Ord, Show, Enum, Bounded) -newtype CombNode = CombNode {_unCombNode :: Either ItemType [(ItAmount, ItemType)]} +newtype CombNode = CombNode {_unCombNode :: Either ItemType [(CombAmount, ItemType)]} deriving (Eq, Ord, Show) instance Labellable CombNode where @@ -68,7 +69,7 @@ itemCombinationsEdges = concatMap (f . over _2 _itType) itemCombinations | otherwise = (CombNode $ Right abts, CombNode $ Left bt, 0) : map g abts where bts = map snd abts - g (am, bt') = (CombNode $ Left bt', CombNode $ Right abts, _getItAmount am) + g (am, bt') = (CombNode $ Left bt', CombNode $ Right abts, _getCombAmount am) combinationsGraph :: FGL.Gr CombNode CombEdge combinationsGraph = diff --git a/src/Dodge/Creature/State.hs b/src/Dodge/Creature/State.hs index 010688779..034bd6f15 100644 --- a/src/Dodge/Creature/State.hs +++ b/src/Dodge/Creature/State.hs @@ -101,7 +101,7 @@ checkDeath cr w removecr | _crID cr == 0 = -- (cWorld . lWorld . creatures . ix (_crID cr) . crType .~ NonDrawnCreature) - (cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ 0) + cWorld . lWorld . creatures . ix (_crID cr) . crHP .~ 0 -- hack to get around player creature being killed but left with more than 0 hp | otherwise = cWorld . lWorld . creatures . at (_crID cr) .~ Nothing diff --git a/src/Dodge/Data/AmmoType.hs b/src/Dodge/Data/AmmoType.hs index 1a890d818..6a842e288 100644 --- a/src/Dodge/Data/AmmoType.hs +++ b/src/Dodge/Data/AmmoType.hs @@ -1,5 +1,5 @@ {-# LANGUAGE StrictData #-} -{-# LANGUAGE TemplateHaskell #-} +--{-# LANGUAGE TemplateHaskell #-} module Dodge.Data.AmmoType where diff --git a/src/Dodge/Data/Bullet.hs b/src/Dodge/Data/Bullet.hs index 26811467f..efb65b1c0 100644 --- a/src/Dodge/Data/Bullet.hs +++ b/src/Dodge/Data/Bullet.hs @@ -23,7 +23,7 @@ data Bullet = Bullet , _buPos :: Point2 , _buOldPos :: Point2 , _buWidth :: Float - , _buDamages :: [Damage] +-- , _buDamages :: [Damage] } deriving (Show, Eq, Ord, Read) --Generic, Flat) @@ -42,7 +42,7 @@ data BulletEffect data BulletPayload = BulBall {_spawnEBT :: EnergyBallType} - | BulSpark + | BulPlain {_sparkDam :: Int} | BulFlak | BulFrag | BulGas diff --git a/src/Dodge/Data/CombAmount.hs b/src/Dodge/Data/CombAmount.hs new file mode 100644 index 000000000..308040e25 --- /dev/null +++ b/src/Dodge/Data/CombAmount.hs @@ -0,0 +1,16 @@ +{-# LANGUAGE DeriveAnyClass #-} +{-# LANGUAGE DeriveGeneric #-} +{-# LANGUAGE DerivingStrategies #-} +{-# LANGUAGE GeneralizedNewtypeDeriving #-} +{-# LANGUAGE StrictData #-} +{-# LANGUAGE TemplateHaskell #-} + +module Dodge.Data.CombAmount where + +import Control.Lens + +newtype CombAmount = CombAmount {_getCombAmount :: Int} + deriving newtype (Eq, Ord, Read, Show, Num, Real, Enum, Integral) + +makeLenses ''CombAmount + diff --git a/src/Dodge/Data/Creature.hs b/src/Dodge/Data/Creature.hs index 6404d35f8..d00ad6c9a 100644 --- a/src/Dodge/Data/Creature.hs +++ b/src/Dodge/Data/Creature.hs @@ -14,8 +14,10 @@ module Dodge.Data.Creature ( module Dodge.Data.ActionPlan, module Dodge.Data.Item, module Dodge.Data.Material, + module Dodge.Data.Item.Use.Consumption.LoadAction, ) where +import Dodge.Data.Item.Use.Consumption.LoadAction import Dodge.Data.Equipment.Misc import Control.Lens import Data.Aeson diff --git a/src/Dodge/Data/Creature/State.hs b/src/Dodge/Data/Creature/State.hs index 3f925f9c7..7569868e8 100644 --- a/src/Dodge/Data/Creature/State.hs +++ b/src/Dodge/Data/Creature/State.hs @@ -16,16 +16,9 @@ import Geometry.Data data CreatureState = CrSt { _csDamage :: [Damage] , _csSpState :: CrSpState --- , _csDropsOnDeath :: CreatureDropType } deriving (Eq, Ord, Show, Read) --Generic, Flat) -data CreatureDropType - = DropAll - | DropAmount Int - | DropSpecific [Int] - deriving (Eq, Ord, Show, Read) --Generic, Flat) - data CrSpState = Barrel {_piercedPoints :: [Point2]} | GenCr @@ -55,7 +48,6 @@ data CrGroup makeLenses ''CreatureState makeLenses ''CrSpState makeLenses ''CrGroup -deriveJSON defaultOptions ''CreatureDropType deriveJSON defaultOptions ''CrSpState deriveJSON defaultOptions ''Faction deriveJSON defaultOptions ''CrGroup diff --git a/src/Dodge/Data/Item.hs b/src/Dodge/Data/Item.hs index 51c3cfb44..042ce526b 100644 --- a/src/Dodge/Data/Item.hs +++ b/src/Dodge/Data/Item.hs @@ -29,12 +29,12 @@ import NewInt data ItID = ItID deriving (Eq, Ord, Show, Read) -data Consumables - = NoConsumables - | AmmoMag - { _magLoadStatus :: ReloadStatus - } - deriving (Eq, Show, Read) +--data Consumables +-- = NoConsumables +-- | AmmoMag +-- { _magLoadStatus :: ReloadStatus +-- } +-- deriving (Eq, Show, Read) data Item = Item { _itUse :: ItemUse @@ -61,11 +61,11 @@ data ItemTargeting = NoItTargeting } makeLenses ''ItemTargeting -makeLenses ''Consumables +--makeLenses ''Consumables makeLenses ''Item makeLenses ''ItemScroll deriveJSON defaultOptions ''ItemScroll -deriveJSON defaultOptions ''Consumables +--deriveJSON defaultOptions ''Consumables deriveJSON defaultOptions ''ItemTargeting deriveJSON defaultOptions ''ItID deriveJSON defaultOptions ''Item diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index d58bdd180..b8cf1999c 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -5,24 +5,27 @@ module Dodge.Data.Item.Use ( module Dodge.Data.Item.Use, - module Dodge.Data.Item.Use.Consumption, module Dodge.Data.Item.Targeting, module Dodge.Data.GenFloat, module Dodge.Data.Item.Scope, module Dodge.Data.Item.BulletMod, - module Dodge.Data.Payload + module Dodge.Data.Payload, + module Dodge.Data.Bullet, + module Dodge.Data.Item.Use.Consumption.Ammo, ) where -import Dodge.Data.Payload +import Dodge.Data.Item.Use.Consumption.Ammo import Control.Lens import Data.Aeson import Data.Aeson.TH import qualified Data.Set as S +import Dodge.Data.Bullet import Dodge.Data.GenFloat import Dodge.Data.Item.BulletMod import Dodge.Data.Item.Scope import Dodge.Data.Item.Targeting -import Dodge.Data.Item.Use.Consumption +import Dodge.Data.Payload +--import Dodge.Data.Item.Use.Consumption import Geometry.Data data ItemUse diff --git a/src/Dodge/Data/Item/Use/Consumption.hs b/src/Dodge/Data/Item/Use/Consumption.hs deleted file mode 100644 index 81c849f63..000000000 --- a/src/Dodge/Data/Item/Use/Consumption.hs +++ /dev/null @@ -1,50 +0,0 @@ -{-# LANGUAGE DeriveAnyClass #-} -{-# LANGUAGE DeriveGeneric #-} -{-# LANGUAGE DerivingStrategies #-} -{-# LANGUAGE GeneralizedNewtypeDeriving #-} -{-# LANGUAGE StrictData #-} -{-# LANGUAGE TemplateHaskell #-} - -module Dodge.Data.Item.Use.Consumption ( - module Dodge.Data.Item.Use.Consumption, - module Dodge.Data.Item.Use.Consumption.Ammo, - module Dodge.Data.Item.Use.Consumption.LoadAction, -) where - -import Control.Lens -import Data.Aeson -import Data.Aeson.TH -import Dodge.Data.Item.Use.Consumption.Ammo -import Dodge.Data.Item.Use.Consumption.LoadAction - -data ReloadStatus = ReloadStatus - { _iaLoaded :: Int - } - deriving (Eq, Show, Read) --Generic, Flat) - -data LeftConsumption - = AutoRecharging - { _arLoaded :: Int - , _arMax :: Int - , _arTime :: Int - , _arProgress :: Int - } - | ChargeableAmmo - { _wpMaxCharge :: Int - , _wpCharge :: Int - } - deriving (Eq, Show, Read) --Generic, Flat) - -newtype ItAmount = ItAmount {_getItAmount :: Int} - -- deriving (Eq, Ord, Read Show, Num, Real,) --Generic, Flat) - deriving newtype (Eq, Ord, Read, Show, Num, Real, Enum, Integral) - --- deriving stock (Generic) --- deriving anyclass (Flat) - -makeLenses ''LeftConsumption -makeLenses ''ItAmount -makeLenses ''ReloadStatus -deriveJSON defaultOptions ''ReloadStatus -deriveJSON defaultOptions ''LeftConsumption -deriveJSON defaultOptions ''ItAmount diff --git a/src/Dodge/Data/LWorld.hs b/src/Dodge/Data/LWorld.hs index 73a373760..bf45aa185 100644 --- a/src/Dodge/Data/LWorld.hs +++ b/src/Dodge/Data/LWorld.hs @@ -104,8 +104,7 @@ data LWorld = LWorld , _gusts :: IM.IntMap Gust , _props :: IM.IntMap Prop , _projectiles :: IM.IntMap Projectile - , -- , _instantBullets :: [Bullet] - _bullets :: [Bullet] + , _bullets :: [Bullet] , _radarSweeps :: [RadarSweep] , _energyBalls :: [EnergyBall] , _posEvents :: [PosEvent] @@ -117,8 +116,7 @@ data LWorld = LWorld , _arcNode :: M.Map ArcNodeType Int , _shockwaves :: [Shockwave] , _lasers :: [Laser] - , -- , _lasersToDraw :: [Laser] - _linearShockwaves :: IM.IntMap LinearShockwave + , _linearShockwaves :: IM.IntMap LinearShockwave , _tractorBeams :: [TractorBeam] , _walls :: IM.IntMap Wall , _wallDamages :: IM.IntMap [Damage] diff --git a/src/Dodge/Data/LightSource.hs b/src/Dodge/Data/LightSource.hs index 6dc3d4c7d..c6b838d54 100644 --- a/src/Dodge/Data/LightSource.hs +++ b/src/Dodge/Data/LightSource.hs @@ -14,9 +14,9 @@ data LightSourceDraw = DefaultLightSourceDraw deriving (Eq, Ord, Show, Read) --Generic, Flat) data LSParam = LSParam -- LSPosRadCol - { _lsPos :: !Point3 - , _lsRad :: !Float - , _lsCol :: !Point3 + { _lsPos :: Point3 + , _lsRad :: Float + , _lsCol :: Point3 } deriving (Eq, Ord, Show, Read) --Generic, Flat) diff --git a/src/Dodge/Equipment.hs b/src/Dodge/Equipment.hs index b435a69d6..88f04c7b7 100644 --- a/src/Dodge/Equipment.hs +++ b/src/Dodge/Equipment.hs @@ -19,7 +19,7 @@ import qualified IntMapHelp as IM effectOnRemove :: Item -> Creature -> World -> World effectOnRemove itm = case itm ^. itType of EQUIP WRISTARMOUR -> onRemoveWristShield itm - _ -> \_ -> id + _ -> const id onRemoveWristShield :: Item -> Creature -> World -> World onRemoveWristShield itm _ = @@ -32,7 +32,7 @@ onRemoveWristShield itm _ = effectOnEquip :: Item -> Creature -> World -> World effectOnEquip itm = case itm ^. itType of EQUIP WRISTARMOUR -> onEquipWristShield itm - _ -> \_ -> id + _ -> const id onEquipWristShield :: Item -> Creature -> World -> World onEquipWristShield itm cr w = diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 9e85c527e..c1f58c518 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -891,7 +891,7 @@ getBulletType magtree = -- attree <- lookup AmmoTargetingLink (magtree ^. ldtLeft) -- bt <- attree ^? ldtValue . itUse . ubMod . bmTrajectory -- return $ getBulletTrajectory mz (itmtree ^. ldtValue) bt tp cr w - bpayload = fromMaybe BulSpark $ do + bpayload = fromMaybe (BulPlain 100) $ do attree <- lookup AmmoPayloadLink (magtree ^. ldtLeft) attree ^? ldtValue . itUse . ubMod . bmPayload beffect = fromMaybe DestroyBullet $ do diff --git a/src/Dodge/Humanoid.hs b/src/Dodge/Humanoid.hs index cf1508c2d..101f18338 100644 --- a/src/Dodge/Humanoid.hs +++ b/src/Dodge/Humanoid.hs @@ -171,7 +171,7 @@ updateHumanoid cr = case cr ^?! crType of -- ] -- cr -- InanimateAI -> id - where +-- where -- drawwp = DoActionIfElse NoAction (WdCrBlfromCrBl CrIsAiming) (DoActionThen drawWeapon (WaitThen 50 NoAction)) -- reloadActions = -- [ holsterWeapon diff --git a/src/Dodge/Item/Weapon/Bullet.hs b/src/Dodge/Item/Weapon/Bullet.hs index e5d1ade05..eadee128c 100644 --- a/src/Dodge/Item/Weapon/Bullet.hs +++ b/src/Dodge/Item/Weapon/Bullet.hs @@ -11,19 +11,19 @@ defaultBullet :: Bullet defaultBullet = Bullet { _buEffect = DestroyBullet - , _buPayload = BulSpark + , _buPayload = BulPlain 100 , _buVel = V2 50 0 , _buDrag = 1 , _buPos = 0 , _buOldPos = 0 , _buWidth = 2 - , _buDamages = basicBulDams +-- , _buDamages = basicBulDams } -basicBulDams :: [Damage] -basicBulDams = - [ Damage PIERCING 100 0 0 0 $ PushBackDamage 2 - ] +--basicBulDams :: [Damage] +--basicBulDams = +-- [ Damage PIERCING 100 0 0 0 $ PushBackDamage 2 +-- ] --hvBulletAmmo :: Bullet --hvBulletAmmo = diff --git a/src/Dodge/Payload.hs b/src/Dodge/Payload.hs index 4ec0e35f9..70b568ef9 100644 --- a/src/Dodge/Payload.hs +++ b/src/Dodge/Payload.hs @@ -35,10 +35,11 @@ makeShrapnelAt p v w = drags = replicateM 75 (state $ randomR (0.85,0.9)) & evalState $ _randGen w buls = zipWith f vs drags f v' drag = defaultBullet + & buPayload .~ BulPlain 10 & buEffect .~ BounceBullet & buVel .~ v + v' & buDrag .~ drag & buPos .~ (p - v) & buOldPos .~ (p - v) - & buDamages .~ [Damage PIERCING 10 0 0 0 $ PushBackDamage 2] +-- & buDamages .~ [Damage PIERCING 10 0 0 0 $ PushBackDamage 2] & buWidth .~ 1 diff --git a/src/Dodge/Spark.hs b/src/Dodge/Spark.hs index c385c6133..1b3c03802 100644 --- a/src/Dodge/Spark.hs +++ b/src/Dodge/Spark.hs @@ -22,21 +22,22 @@ updateSpark w sk | otherwise = case thingHit sp ep w of Nothing -> (w, Just $ sk & skPos .~ ep & skVel .*.*~ 0.9 & skOldPos .~ sp) Just (hp, hthing) -> - ( sparkDam sk sp ep (hp, hthing) w + --( sparkDam sk sp ep (hp, hthing) w + ( sparkDam' sk sp ep (hp, hthing) w , Just $ sk & skPos .~ hp & skOldPos .~ sp & skVel .~ 0 ) where sp = _skPos sk ep = sp +.+ _skVel sk -sparkDam :: +sparkDam' :: Spark -> Point2 -> Point2 -> (Point2, Either Creature Wall) -> World -> World -sparkDam sk sp ep mayEiCrWl = case mayEiCrWl of +sparkDam' sk sp ep mayEiCrWl = case mayEiCrWl of (hitp, eicrwl) -> damageCrWl (thedam hitp) eicrwl where thedam hitp = Damage (_skDamageType sk) 1 sp hitp ep NoDamageEffect diff --git a/tags b/tags index 6e1f47be5..b1604f069 100644 --- a/tags +++ b/tags @@ -16,8 +16,8 @@ <$> src/Dodge/Data/ActionPlan.hs 203;" o <$> src/Dodge/Data/CWorld.hs 45;" o <$> src/Dodge/Data/Camera.hs 39;" o -<$> src/Dodge/Data/Creature.hs 76;" o -<$> src/Dodge/Data/LWorld.hs 182;" o +<$> src/Dodge/Data/Creature.hs 78;" o +<$> src/Dodge/Data/LWorld.hs 180;" o <$> src/Dodge/Data/Terminal.hs 127;" o ABSOLUTE src/Dodge/Data/Item/Combine.hs 39;" C AIUNIT src/Dodge/Data/Item/Combine.hs 74;" C @@ -25,9 +25,9 @@ ALTERIFLE src/Dodge/Data/Item/Combine.hs 153;" C AMMOMAG src/Dodge/Data/Item/Combine.hs 21;" C AMR src/Dodge/Data/Item/Combine.hs 158;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 68;" C -APInt src/Dodge/Data/Item/Use.hs 46;" C -APNothing src/Dodge/Data/Item/Use.hs 47;" C -APProjectiles src/Dodge/Data/Item/Use.hs 45;" C +APInt src/Dodge/Data/Item/Use.hs 49;" C +APNothing src/Dodge/Data/Item/Use.hs 50;" C +APProjectiles src/Dodge/Data/Item/Use.hs 48;" C AQUAMARINE src/Color/Data.hs 24;" C ARHUD src/Dodge/Data/Item/Combine.hs 35;" C ARHUDSF src/Dodge/Data/ComposedItem.hs 51;" C @@ -63,12 +63,11 @@ Ammo src/Dodge/Item/Ammo.hs 1;" m AmmoEffectLink src/Dodge/Data/ComposedItem.hs 23;" C AmmoEffectSF src/Dodge/Data/ComposedItem.hs 61;" C AmmoInLink src/Dodge/Data/ComposedItem.hs 18;" C -AmmoMag src/Dodge/Data/Item.hs 34;" C AmmoMagSF src/Dodge/Data/ComposedItem.hs 52;" C AmmoMagType src/Dodge/Data/Item/Combine.hs 105;" t AmmoModLink src/Dodge/Data/ComposedItem.hs 20;" C AmmoModifierSF src/Dodge/Data/ComposedItem.hs 58;" C -AmmoParams src/Dodge/Data/Item/Use.hs 50;" t +AmmoParams src/Dodge/Data/Item/Use.hs 53;" t AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 22;" C AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 60;" C AmmoPerShot src/Dodge/Data/Muzzle.hs 52;" t @@ -88,7 +87,7 @@ ArbitraryImpulseEffect src/Dodge/Data/ActionPlan.hs 48;" C ArbitraryImpulseFunction src/Dodge/Data/ActionPlan.hs 46;" C Arc src/Dodge/Tesla/Arc.hs 1;" m Arc src/Picture/Arc.hs 1;" m -ArcNodeType src/Dodge/Data/LWorld.hs 162;" t +ArcNodeType src/Dodge/Data/LWorld.hs 160;" t ArcShad src/Picture/Data.hs 38;" C ArcStep src/Dodge/Data/ArcStep.hs 14;" t ArcStep src/Dodge/ArcStep.hs 1;" m @@ -103,20 +102,20 @@ AsteroidStrike src/Dodge/Data/Scenario.hs 33;" C AtEase src/Dodge/Data/Creature/Stance.hs 40;" C AtomicWaste src/Dodge/Data/Scenario.hs 26;" C Attach src/Dodge/Item/Attach.hs 1;" m -AttachParams src/Dodge/Data/Item/Use.hs 44;" t +AttachParams src/Dodge/Data/Item/Use.hs 47;" t AttachType src/Dodge/Data/Item/Combine.hs 91;" t Attention src/Dodge/Data/Creature/Perception.hs 60;" t AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C Audition src/Dodge/Data/Creature/Perception.hs 47;" t AutoAI src/Dodge/Data/Creature/Misc.hs 54;" C -AutoCrit src/Dodge/Data/Creature/Misc.hs 78;" C +AutoCrit src/Dodge/Data/Creature/Misc.hs 79;" C AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 26;" C AutoTrigger src/Dodge/Data/TriggerType.hs 10;" C AuxAddition src/Shader/AuxAddition.hs 1;" m Avatar src/Dodge/Data/Creature/Misc.hs 68;" C -AvatarDead src/Dodge/Data/Creature/Misc.hs 75;" C +AvatarDead src/Dodge/Data/Creature/Misc.hs 76;" C Awareness src/Dodge/Data/Creature/Perception.hs 65;" t Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m BANGCONE src/Dodge/Data/Item/Combine.hs 147;" C @@ -145,11 +144,11 @@ BackgroundEffect src/Dodge/Item/BackgroundEffect.hs 1;" m BackgroundSound src/Dodge/Data/SoundOrigin.hs 15;" C Ball src/Dodge/Tesla/Ball.hs 1;" m Bark src/Dodge/Data/ActionPlan.hs 40;" C -Barrel src/Dodge/Data/Creature/State.hs 30;" C -BarrelCrit src/Dodge/Data/Creature/Misc.hs 79;" C +Barrel src/Dodge/Data/Creature/State.hs 23;" C +BarrelCrit src/Dodge/Data/Creature/Misc.hs 80;" C BarrelHiss src/Dodge/Data/SoundOrigin.hs 32;" C -BarrelType src/Dodge/Data/Creature/Misc.hs 93;" t -Barreloid src/Dodge/Data/Creature/Misc.hs 89;" C +BarrelType src/Dodge/Data/Creature/Misc.hs 94;" t +Barreloid src/Dodge/Data/Creature/Misc.hs 90;" C Barreloid src/Dodge/Barreloid.hs 1;" m Base src/Dodge/Base.hs 8;" m Base src/Dodge/Zoning/Base.hs 2;" m @@ -227,7 +226,7 @@ BulBall src/Dodge/Data/Bullet.hs 44;" C BulFlak src/Dodge/Data/Bullet.hs 46;" C BulFrag src/Dodge/Data/Bullet.hs 47;" C BulGas src/Dodge/Data/Bullet.hs 48;" C -BulSpark src/Dodge/Data/Bullet.hs 45;" C +BulPlain src/Dodge/Data/Bullet.hs 45;" C Bullet src/Dodge/Data/Bullet.hs 17;" t Bullet src/Dodge/Bullet.hs 1;" m Bullet src/Dodge/Data/Bullet.hs 6;" m @@ -239,7 +238,7 @@ BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t BulletMod src/Dodge/Data/Item/BulletMod.hs 3;" m BulletModEffect src/Dodge/Data/Item/BulletMod.hs 12;" C BulletModPayload src/Dodge/Data/Item/BulletMod.hs 11;" C -BulletParams src/Dodge/Data/Item/Use.hs 51;" C +BulletParams src/Dodge/Data/Item/Use.hs 54;" C BulletPayload src/Dodge/Data/Bullet.hs 43;" t BulletTrajectory src/Dodge/Data/Bullet.hs 51;" t BulletTrajectoryType src/Dodge/Data/Bullet.hs 58;" t @@ -303,9 +302,9 @@ ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C CharacterEnums src/Dodge/CharacterEnums.hs 1;" m ChargeableAmmo src/Dodge/Data/Item/Use/Consumption.hs 32;" C ChaseAI src/Dodge/Data/Creature/Misc.hs 47;" C -ChaseCrit src/Dodge/Data/Creature/Misc.hs 76;" C +ChaseCrit src/Dodge/Data/Creature/Misc.hs 77;" C ChaseCrit src/Dodge/Creature/ChaseCrit.hs 1;" m -ChaseCritters src/Dodge/Data/Creature/State.hs 38;" C +ChaseCritters src/Dodge/Data/Creature/State.hs 31;" C Check src/Framebuffer/Check.hs 1;" m CheckConsistency src/Dodge/Room/CheckConsistency.hs 1;" m CheckSlots src/Dodge/Inventory/CheckSlots.hs 1;" m @@ -338,8 +337,10 @@ Color src/Color/Data.hs 33;" t Color src/Color.hs 1;" m Color src/Dodge/Terminal/Color.hs 1;" m Color8 src/Color/Data.hs 35;" t -ColorFaction src/Dodge/Data/Creature/State.hs 41;" C +ColorFaction src/Dodge/Data/Creature/State.hs 34;" C Comatose src/Dodge/Data/Creature/Perception.hs 53;" C +CombAmount src/Dodge/Data/CombAmount.hs 16;" t +CombAmount src/Dodge/Data/CombAmount.hs 8;" m CombClust src/Dodge/Combine/Graph.hs 18;" t CombEdge src/Dodge/Combine/Graph.hs 31;" t CombNode src/Dodge/Combine/Graph.hs 24;" t @@ -369,7 +370,6 @@ Connectors src/Dodge/Render/Connectors.hs 3;" m ConstFloat src/Dodge/Data/GenFloat.hs 11;" C Consumable src/Dodge/Item/Consumable.hs 1;" m ConsumableItemType src/Dodge/Data/Item/Combine.hs 114;" t -Consumables src/Dodge/Data/Item.hs 32;" t Consumption src/Dodge/Data/Item/Use/Consumption.hs 8;" m Consumption src/Dodge/Default/Item/Use/Consumption.hs 1;" m Containing src/Dodge/Room/Containing.hs 2;" m @@ -387,12 +387,12 @@ Corridor src/Dodge/Room/Corridor.hs 3;" m Cosmic src/Dodge/Data/Scenario.hs 74;" C Cover src/Dodge/Placement/Instance/LightSource/Cover.hs 1;" m CrAc src/Dodge/Data/CreatureEffect.hs 48;" t -CrArcNode src/Dodge/Data/LWorld.hs 167;" C +CrArcNode src/Dodge/Data/LWorld.hs 165;" C CrBl src/Dodge/Data/CreatureEffect.hs 39;" t CrCanShoot src/Dodge/Data/CreatureEffect.hs 40;" C CrFleeFromTarget src/Dodge/Data/CreatureEffect.hs 50;" C -CrGroup src/Dodge/Data/Creature/State.hs 45;" t -CrGroupID src/Dodge/Data/Creature/State.hs 51;" C +CrGroup src/Dodge/Data/Creature/State.hs 38;" t +CrGroupID src/Dodge/Data/Creature/State.hs 44;" C CrGroupParams src/Dodge/Data/CrGroupParams.hs 14;" t CrGroupParams src/Dodge/Data/CrGroupParams.hs 6;" m CrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" t @@ -407,7 +407,7 @@ CrMouth src/Dodge/Data/SoundOrigin.hs 18;" C CrMvType src/Dodge/Data/Creature/Misc.hs 35;" t CrMvType src/Dodge/Data/Creature/Misc.hs 38;" C CrSound src/Dodge/Data/SoundOrigin.hs 17;" C -CrSpState src/Dodge/Data/Creature/State.hs 29;" t +CrSpState src/Dodge/Data/Creature/State.hs 22;" t CrSt src/Dodge/Data/Creature/State.hs 16;" C CrTurnAround src/Dodge/Data/CreatureEffect.hs 49;" C CrWdAc src/Dodge/Data/CreatureEffect.hs 59;" t @@ -430,17 +430,16 @@ Create src/Dodge/Wall/Create.hs 1;" m CreateFlame src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C CreatePoisonGas src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" C CreateShieldWall src/Dodge/Data/Item/Effect.hs 26;" C -Creature src/Dodge/Data/Creature.hs 35;" t +Creature src/Dodge/Data/Creature.hs 37;" t Creature src/Dodge/Creature.hs 1;" m Creature src/Dodge/Data/Creature.hs 7;" m Creature src/Dodge/Default/Creature.hs 1;" m Creature src/Dodge/Placement/Instance/Creature.hs 1;" m Creature src/Dodge/Zoning/Creature.hs 1;" m -CreatureDropType src/Dodge/Data/Creature/State.hs 23;" t CreatureEffect src/Dodge/CreatureEffect.hs 1;" m CreatureEffect src/Dodge/Data/CreatureEffect.hs 6;" m CreaturePart src/Dodge/Data/Wall/Structure.hs 17;" C -CreatureShape src/Dodge/Data/Creature/Misc.hs 82;" t +CreatureShape src/Dodge/Data/Creature/Misc.hs 83;" t CreatureState src/Dodge/Data/Creature/State.hs 16;" t CreatureType src/Dodge/Data/Creature/Misc.hs 67;" t CryostatisSS src/Dodge/Data/Scenario.hs 91;" C @@ -594,10 +593,7 @@ DrawNoButton src/Dodge/Data/Button.hs 19;" C DrawnWall src/Dodge/Data/Wall.hs 43;" C Drone src/Dodge/Item/Weapon/Drone.hs 1;" m DroneAmmo src/Dodge/Data/AmmoType.hs 14;" C -DropAll src/Dodge/Data/Creature/State.hs 24;" C -DropAmount src/Dodge/Data/Creature/State.hs 25;" C DropItem src/Dodge/Data/ActionPlan.hs 39;" C -DropSpecific src/Dodge/Data/Creature/State.hs 26;" C DudPayload src/Dodge/Data/Payload.hs 13;" C Dungeon src/Dodge/Data/Scenario.hs 66;" C Dust src/Dodge/Wall/Dust.hs 1;" m @@ -627,7 +623,7 @@ ElectricalAmmo src/Dodge/Data/AmmoType.hs 13;" C Electronics src/Dodge/Data/Material.hs 11;" C EllShad src/Picture/Data.hs 39;" C Enable_debug src/Dodge/Data/Config.hs 68;" C -EncircleFlock src/Dodge/Data/Creature/State.hs 37;" C +EncircleFlock src/Dodge/Data/Creature/State.hs 30;" C EnergyBall src/Dodge/Data/EnergyBall.hs 15;" t EnergyBall src/Dodge/Data/EnergyBall.hs 6;" m EnergyBall src/Dodge/EnergyBall.hs 1;" m @@ -660,7 +656,7 @@ Explore src/Dodge/Data/Scenario.hs 4;" C Explosion src/Dodge/Data/SoundOrigin.hs 37;" C Explosion src/Dodge/WorldEvent/Explosion.hs 4;" m ExplosionPayload src/Dodge/Data/Payload.hs 11;" C -ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 93;" C +ExplosiveBarrel src/Dodge/Data/Creature/Misc.hs 94;" C ExplosivePutty src/Dodge/Data/AmmoType.hs 17;" C ExternallyGeneratedSounds src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 2;" m ExtraEffect src/Dodge/Item/Weapon/ExtraEffect.hs 6;" m @@ -677,7 +673,7 @@ FRONTARMOUR src/Dodge/Data/Item/Combine.hs 122;" C FUELCELL src/Dodge/Data/Item/Combine.hs 87;" C FUELPACK src/Dodge/Data/Item/Combine.hs 131;" C FacilityType src/Dodge/Data/Scenario.hs 55;" t -Faction src/Dodge/Data/Creature/State.hs 34;" t +Faction src/Dodge/Data/Creature/State.hs 27;" t Factory src/Dodge/Data/Scenario.hs 56;" C FailedResource src/Dodge/Data/Scenario.hs 37;" t FetchItem src/Dodge/Data/Scenario.hs 11;" C @@ -764,8 +760,8 @@ GasAmmo src/Dodge/Data/AmmoType.hs 15;" C GasCloud src/Dodge/Data/Cloud.hs 31;" C GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" t GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" t -GasParams src/Dodge/Data/Item/Use.hs 53;" C -GenCr src/Dodge/Data/Creature/State.hs 31;" C +GasParams src/Dodge/Data/Item/Use.hs 56;" C +GenCr src/Dodge/Data/Creature/State.hs 24;" C GenFloat src/Dodge/Data/GenFloat.hs 11;" t GenFloat src/Dodge/Data/GenFloat.hs 5;" m GenParams src/Dodge/Data/GenParams.hs 15;" t @@ -774,7 +770,7 @@ GenWorld src/Dodge/Data/GenWorld.hs 23;" t GenWorld src/Dodge/Data/GenWorld.hs 4;" m Generate src/Dodge/Layout/Generate.hs 4;" m GenerateStructure src/Dodge/Tree/GenerateStructure.hs 6;" m -GenericFaction src/Dodge/Data/Creature/State.hs 35;" C +GenericFaction src/Dodge/Data/Creature/State.hs 28;" C GeoObjShads src/Dodge/Data/Config.hs 101;" C Geodesic src/Polyhedra/Geodesic.hs 3;" m Geometry src/Geometry.hs 12;" m @@ -866,7 +862,7 @@ HotkeyV src/Dodge/Data/Equipment/Misc.hs 39;" C HotkeyX src/Dodge/Data/Equipment/Misc.hs 37;" C HotkeyZ src/Dodge/Data/Equipment/Misc.hs 36;" C Huge src/Shape/Data.hs 28;" C -Humanoid src/Dodge/Data/Creature/Misc.hs 83;" C +Humanoid src/Dodge/Data/Creature/Misc.hs 84;" C Humanoid src/Dodge/Humanoid.hs 1;" m HumanoidAI src/Dodge/Data/Creature/Misc.hs 46;" t ILink src/Dodge/Data/ComposedItem.hs 72;" C @@ -922,7 +918,7 @@ IntAnno src/Dodge/Annotation/Data.hs 17;" C IntID src/Dodge/Data/Universe.hs 113;" t IntImp src/Dodge/Data/CreatureEffect.hs 20;" t IntMapHelp src/IntMapHelp.hs 8;" m -Intention src/Dodge/Data/Creature.hs 64;" t +Intention src/Dodge/Data/Creature.hs 66;" t Intention src/Dodge/Creature/Intention.hs 1;" m Intersect src/Geometry/Intersect.hs 5;" m IntersectingRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C @@ -973,7 +969,7 @@ ItemSetWarmTime src/Dodge/Data/Item/Effect.hs 34;" C ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 40;" t ItemTargeting src/Dodge/Data/Item.hs 56;" t ItemType src/Dodge/Data/Item/Combine.hs 16;" t -ItemUse src/Dodge/Data/Item/Use.hs 28;" t +ItemUse src/Dodge/Data/Item/Use.hs 31;" t ItemUseCondition src/Dodge/ItemUseCondition.hs 1;" m ItemUseDelay src/Dodge/Data/UseDelay.hs 11;" t ItemUseToggle src/Dodge/Data/Item/Effect.hs 30;" C @@ -1019,7 +1015,7 @@ LabelDoubleTree src/Dodge/Data/DoubleTree.hs 40;" t LabelDoubleTreeNodeType src/Dodge/Data/DoubleTree.hs 23;" t Laboratory src/Dodge/Data/Scenario.hs 61;" C Lamp src/Dodge/Creature/Lamp.hs 1;" m -LampCrit src/Dodge/Data/Creature/Misc.hs 80;" C +LampCrit src/Dodge/Data/Creature/Misc.hs 81;" C Lampoid src/Dodge/Lampoid.hs 1;" m Large src/Shape/Data.hs 29;" C LasBeamCombine src/Dodge/Data/Beam.hs 40;" C @@ -1086,7 +1082,7 @@ Location src/Dodge/Item/Location.hs 1;" m LocationLDT src/Dodge/Data/DoubleTree.hs 67;" t Lock src/Dodge/Inventory/Lock.hs 1;" m LockAndKey src/Dodge/LockAndKey.hs 1;" m -LoneWolf src/Dodge/Data/Creature/State.hs 46;" C +LoneWolf src/Dodge/Data/Creature/State.hs 39;" C LongAI src/Dodge/Data/Creature/Misc.hs 57;" C LongDoor src/Dodge/Room/LongDoor.hs 2;" m LongPress src/Dodge/Data/Input.hs 18;" C @@ -1274,11 +1270,10 @@ NewIntMap src/NewInt.hs 18;" t NewSideEffect src/Dodge/Data/Universe.hs 65;" C Ngon src/Dodge/Room/Ngon.hs 1;" m NoAction src/Dodge/Data/ActionPlan.hs 152;" C -NoAmmoParams src/Dodge/Data/Item/Use.hs 54;" C +NoAmmoParams src/Dodge/Data/Item/Use.hs 57;" C NoArguments src/Dodge/Data/Terminal.hs 91;" C NoBeamCombine src/Dodge/Data/Beam.hs 43;" C NoConcurrentEffect src/Loop/Data.hs 7;" C -NoConsumables src/Dodge/Data/Item.hs 33;" C NoCrImp src/Dodge/Data/CreatureEffect.hs 24;" C NoCrWdImp src/Dodge/Data/CreatureEffect.hs 14;" C NoCreatureEffect src/Dodge/Data/CreatureEffect.hs 11;" C @@ -1288,7 +1283,7 @@ NoDelay src/Dodge/Data/Item/HeldDelay.hs 14;" C NoDelay src/Dodge/Data/UseDelay.hs 12;" C NoDropEffect src/Dodge/Data/Item/Effect.hs 37;" C NoEscapeMenuOption src/Dodge/Data/Universe.hs 79;" C -NoFaction src/Dodge/Data/Creature/State.hs 40;" C +NoFaction src/Dodge/Data/Creature/State.hs 33;" C NoFlare src/Dodge/Data/Muzzle.hs 22;" C NoHammer src/Dodge/Data/Hammer.hs 13;" C NoHoming src/Dodge/Data/Projectile.hs 51;" C @@ -1317,7 +1312,7 @@ NodeMTree src/Dodge/Data/MetaTree.hs 14;" C NodeMTree src/Dodge/Tree/Compose/Data.hs 9;" C NodeTree src/Dodge/Data/MetaTree.hs 13;" C NodeTree src/Dodge/Tree/Compose/Data.hs 9;" C -NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 90;" C +NonDrawnCreature src/Dodge/Data/Creature/Misc.hs 91;" C NormalOptions src/Dodge/Data/Universe.hs 72;" C NormalTimeFlow src/Dodge/Data/World.hs 60;" C North src/Dodge/Data/CardinalPoint.hs 4;" C @@ -1389,7 +1384,7 @@ OptionScreen src/Dodge/Data/Universe.hs 82;" C OptionScreenFlag src/Dodge/Data/Universe.hs 72;" t OptionType src/Dodge/Menu/OptionType.hs 2;" m Orientation src/Dodge/Item/Orientation.hs 1;" m -OutAction src/Dodge/Creature/Action.hs 44;" t +OutAction src/Dodge/Creature/Action.hs 45;" t OutLink src/Dodge/Data/Room.hs 43;" C OutPlacement src/Dodge/Data/GenWorld.hs 126;" t Outline src/Dodge/Render/Outline.hs 1;" m @@ -1473,10 +1468,10 @@ PlacementHelper src/Dodge/LevelGen/PlacementHelper.hs 1;" m PlacementSpot src/Dodge/Data/GenWorld.hs 61;" t PlacementSpot src/Dodge/PlacementSpot.hs 2;" m PlacementUsingPos src/Dodge/Data/GenWorld.hs 83;" C -PlainBarrel src/Dodge/Data/Creature/Misc.hs 93;" C +PlainBarrel src/Dodge/Data/Creature/Misc.hs 94;" C PlantNurserySS src/Dodge/Data/Scenario.hs 96;" C PlayStatus src/Sound/Data.hs 23;" t -PlayerFaction src/Dodge/Data/Creature/State.hs 42;" C +PlayerFaction src/Dodge/Data/Creature/State.hs 35;" C PlayerGoal src/Dodge/Data/Scenario.hs 3;" t Playing src/Sound/Data.hs 25;" C Point2 src/Geometry/Data.hs 19;" t @@ -1515,7 +1510,7 @@ Procedural src/Dodge/Room/Procedural.hs 2;" m Projectile src/Dodge/Data/Projectile.hs 17;" t Projectile src/Dodge/Data/Projectile.hs 6;" m Projectile src/Dodge/Projectile.hs 1;" m -ProjectileParams src/Dodge/Data/Item/Use.hs 52;" C +ProjectileParams src/Dodge/Data/Item/Use.hs 55;" C ProjectileStabiliserLink src/Dodge/Data/ComposedItem.hs 33;" C ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 64;" C ProjectileType src/Dodge/Data/Projectile.hs 41;" t @@ -1776,7 +1771,7 @@ ShapeType src/Shape/Data.hs 16;" t Shatter src/Dodge/Item/Weapon/Shatter.hs 1;" m Shell src/Dodge/Data/Projectile.hs 17;" C ShellSound src/Dodge/Data/SoundOrigin.hs 26;" C -ShieldGroup src/Dodge/Data/Creature/State.hs 52;" C +ShieldGroup src/Dodge/Data/Creature/State.hs 45;" C Shift src/Dodge/Placement/Shift.hs 1;" m Shift src/Dodge/Tree/Shift.hs 8;" m ShiftPoint src/Dodge/ShiftPoint.hs 2;" m @@ -1851,7 +1846,7 @@ Spatial src/Dodge/Data/Scenario.hs 73;" C SpatialInfluence src/Dodge/Data/Scenario.hs 81;" t Spawn src/Dodge/Item/Weapon/Spawn.hs 1;" m SpawnParticle src/Dodge/WorldEvent/SpawnParticle.hs 2;" m -SpawnedBy src/Dodge/Data/Creature/State.hs 39;" C +SpawnedBy src/Dodge/Data/Creature/State.hs 32;" C SplashOptions src/Dodge/Data/Universe.hs 72;" C SplitBeamCombine src/Dodge/Data/Beam.hs 42;" C SprayGuns src/Dodge/Item/Held/SprayGuns.hs 1;" m @@ -1889,9 +1884,9 @@ Survive src/Dodge/Data/Scenario.hs 5;" C Suspicious src/Dodge/Data/Creature/Perception.hs 66;" C Swap src/Dodge/Inventory/Swap.hs 1;" m SwapEquipment src/Dodge/Data/RightButtonOptions.hs 27;" C -Swarm src/Dodge/Data/Creature/State.hs 47;" C +Swarm src/Dodge/Data/Creature/State.hs 40;" C SwarmAI src/Dodge/Data/Creature/Misc.hs 53;" C -SwarmCrit src/Dodge/Data/Creature/Misc.hs 77;" C +SwarmCrit src/Dodge/Data/Creature/Misc.hs 78;" C SwarmCrit src/Dodge/Creature/SwarmCrit.hs 1;" m SwarmPlacement src/Dodge/LevelGen/SwarmPlacement.hs 1;" m Switch src/Dodge/LevelGen/Switch.hs 1;" m @@ -2088,32 +2083,32 @@ Update src/Preload/Update.hs 3;" m Use src/Dodge/Data/Item/Use.hs 6;" m Use src/Dodge/Default/Item/Use.hs 1;" m UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C -UseAttach src/Dodge/Data/Item/Use.hs 31;" C -UseBulletMod src/Dodge/Data/Item/Use.hs 36;" C +UseAttach src/Dodge/Data/Item/Use.hs 34;" C +UseBulletMod src/Dodge/Data/Item/Use.hs 39;" C UseCondition src/Dodge/Data/UseCondition.hs 2;" m UseDelay src/Dodge/Data/Item/HeldDelay.hs 13;" t UseDelay src/Dodge/Data/UseDelay.hs 6;" m UseDelay src/Dodge/Item/UseDelay.hs 3;" m -UseEquip src/Dodge/Data/Item/Use.hs 30;" C +UseEquip src/Dodge/Data/Item/Use.hs 33;" C UseExactly src/Dodge/Data/Muzzle.hs 53;" C UseFocus src/Dodge/Data/UseCondition.hs 11;" t UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C -UseHeld src/Dodge/Data/Item/Use.hs 29;" C -UseInt src/Dodge/Data/Item/Use.hs 32;" C +UseHeld src/Dodge/Data/Item/Use.hs 32;" C +UseInt src/Dodge/Data/Item/Use.hs 35;" C UseInvItem src/Dodge/Data/WorldEffect.hs 34;" C UseItem src/Dodge/Data/ActionPlan.hs 37;" C UseItem src/Dodge/Creature/Impulse/UseItem.hs 3;" m UseItemWidth src/Dodge/Data/SelectionList.hs 41;" C -UseMapper src/Dodge/Data/Item/Use.hs 38;" C +UseMapper src/Dodge/Data/Item/Use.hs 41;" C UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C -UseNothing src/Dodge/Data/Item/Use.hs 33;" C -UseScope src/Dodge/Data/Item/Use.hs 35;" C +UseNothing src/Dodge/Data/Item/Use.hs 36;" C +UseScope src/Dodge/Data/Item/Use.hs 38;" C UseSelf src/Dodge/Data/ActionPlan.hs 157;" C UseTarget src/Dodge/Data/ActionPlan.hs 154;" C -UseToggle src/Dodge/Data/Item/Use.hs 37;" C +UseToggle src/Dodge/Data/Item/Use.hs 40;" C UseUpTo src/Dodge/Data/Muzzle.hs 54;" C -UseValue src/Dodge/Data/Item/Use.hs 34;" C +UseValue src/Dodge/Data/Item/Use.hs 37;" C UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C UseableWhenHeld src/Dodge/Data/UseCondition.hs 6;" C @@ -2157,7 +2152,7 @@ Wall src/Dodge/Default/Wall.hs 1;" m Wall src/Dodge/Placement/Instance/Wall.hs 1;" m Wall src/Dodge/Wall.hs 1;" m Wall src/Dodge/Zoning/Wall.hs 1;" m -WallArcNode src/Dodge/Data/LWorld.hs 163;" C +WallArcNode src/Dodge/Data/LWorld.hs 161;" C WallCreatureCollisions src/Dodge/WallCreatureCollisions.hs 2;" m WallDamage src/Dodge/Update/WallDamage.hs 1;" m WallDraw src/Dodge/Data/Wall.hs 47;" t @@ -2234,7 +2229,7 @@ YELLOW src/Color/Data.hs 18;" C You src/Dodge/Base/You.hs 1;" m YourControl src/Dodge/Creature/YourControl.hs 3;" m ZOOMSCOPE src/Dodge/Data/Item/Combine.hs 92;" C -ZombieFaction src/Dodge/Data/Creature/State.hs 36;" C +ZombieFaction src/Dodge/Data/Creature/State.hs 29;" C Zone src/Dodge/Wall/Zone.hs 1;" m Zone src/Geometry/Zone.hs 1;" m Zoning src/Dodge/Zoning.hs 1;" m @@ -2253,21 +2248,21 @@ _allocSwapID src/Dodge/Data/RightButtonOptions.hs 30;" f _alphaDivideShader src/Data/Preload/Render.hs 18;" f _alteRifleSwitch src/Dodge/Data/Item/Params.hs 19;" f _ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f -_ampBullet src/Dodge/Data/Item/Use.hs 51;" f -_ampCreateGas src/Dodge/Data/Item/Use.hs 53;" f -_ampPayload src/Dodge/Data/Item/Use.hs 52;" f +_ampBullet src/Dodge/Data/Item/Use.hs 54;" f +_ampCreateGas src/Dodge/Data/Item/Use.hs 56;" f +_ampPayload src/Dodge/Data/Item/Use.hs 55;" f _apAction src/Dodge/Data/ActionPlan.hs 20;" f _apGoal src/Dodge/Data/ActionPlan.hs 22;" f _apImpulse src/Dodge/Data/ActionPlan.hs 19;" f -_apInt src/Dodge/Data/Item/Use.hs 46;" f -_apProjectiles src/Dodge/Data/Item/Use.hs 45;" f +_apInt src/Dodge/Data/Item/Use.hs 49;" f +_apProjectiles src/Dodge/Data/Item/Use.hs 48;" f _apStrategy src/Dodge/Data/ActionPlan.hs 21;" f _arLoaded src/Dodge/Data/Item/Use/Consumption.hs 27;" f _arMax src/Dodge/Data/Item/Use/Consumption.hs 28;" f _arProgress src/Dodge/Data/Item/Use/Consumption.hs 30;" f _arTime src/Dodge/Data/Item/Use/Consumption.hs 29;" f _arbitraryAction src/Dodge/Data/ActionPlan.hs 167;" f -_arcNode src/Dodge/Data/LWorld.hs 117;" f +_arcNode src/Dodge/Data/LWorld.hs 116;" f _argList src/Dodge/Data/Terminal.hs 94;" f _argType src/Dodge/Data/Terminal.hs 93;" f _asDir src/Dodge/Data/ArcStep.hs 16;" f @@ -2276,11 +2271,12 @@ _asPos src/Dodge/Data/ArcStep.hs 15;" f _auDist src/Dodge/Data/Creature/Perception.hs 48;" f _avDexterity src/Dodge/Data/Creature/Misc.hs 72;" f _avIntelligence src/Dodge/Data/Creature/Misc.hs 73;" f +_avMoveSpeed src/Dodge/Data/Creature/Misc.hs 74;" f _avStrength src/Dodge/Data/Creature/Misc.hs 71;" f _avatarMaterial src/Dodge/Data/Creature/Misc.hs 70;" f _avatarPulse src/Dodge/Data/Creature/Misc.hs 69;" f _barrelShader src/Data/Preload/Render.hs 23;" f -_barrelType src/Dodge/Data/Creature/Misc.hs 79;" f +_barrelType src/Dodge/Data/Creature/Misc.hs 80;" f _bdMaxX src/Dodge/Data/Bounds.hs 14;" f _bdMaxY src/Dodge/Data/Bounds.hs 16;" f _bdMinX src/Dodge/Data/Bounds.hs 13;" f @@ -2297,7 +2293,7 @@ _blObstructs src/Dodge/Data/Block.hs 34;" f _blPos src/Dodge/Data/Block.hs 29;" f _blShadows src/Dodge/Data/Block.hs 27;" f _blWallIDs src/Dodge/Data/Block.hs 25;" f -_blocks src/Dodge/Data/LWorld.hs 130;" f +_blocks src/Dodge/Data/LWorld.hs 128;" f _bloomBlurShader src/Data/Preload/Render.hs 21;" f _bmColor src/Dodge/Data/Beam.hs 23;" f _bmDamage src/Dodge/Data/Beam.hs 22;" f @@ -2329,7 +2325,6 @@ _btRot src/Dodge/Data/Button.hs 51;" f _btState src/Dodge/Data/Button.hs 55;" f _btTermMID src/Dodge/Data/Button.hs 56;" f _btText src/Dodge/Data/Button.hs 54;" f -_buDamages src/Dodge/Data/Bullet.hs 26;" f _buDrag src/Dodge/Data/Bullet.hs 22;" f _buEffect src/Dodge/Data/Bullet.hs 18;" f _buOldPos src/Dodge/Data/Bullet.hs 24;" f @@ -2337,8 +2332,8 @@ _buPayload src/Dodge/Data/Bullet.hs 19;" f _buPos src/Dodge/Data/Bullet.hs 23;" f _buVel src/Dodge/Data/Bullet.hs 21;" f _buWidth src/Dodge/Data/Bullet.hs 25;" f -_bullets src/Dodge/Data/LWorld.hs 108;" f -_buttons src/Dodge/Data/LWorld.hs 138;" f +_bullets src/Dodge/Data/LWorld.hs 107;" f +_buttons src/Dodge/Data/LWorld.hs 136;" f _cClock src/Dodge/Data/CWorld.hs 26;" f _cWorld src/Dodge/Data/World.hs 36;" f _camBoundBox src/Dodge/Data/Camera.hs 31;" f @@ -2351,7 +2346,7 @@ _camRot src/Dodge/Data/Camera.hs 25;" f _camViewDistance src/Dodge/Data/Camera.hs 30;" f _camViewFrom src/Dodge/Data/Camera.hs 29;" f _camZoom src/Dodge/Data/Camera.hs 26;" f -_canID src/Dodge/Data/LWorld.hs 168;" f +_canID src/Dodge/Data/LWorld.hs 166;" f _carriage src/Dodge/Data/Creature/Stance.hs 14;" f _carteCenter src/Dodge/Data/HUD.hs 46;" f _carteRot src/Dodge/Data/HUD.hs 48;" f @@ -2397,8 +2392,8 @@ _cmeRecoil src/Dodge/Data/MuzzleEffect.hs 15;" f _cmeSound src/Dodge/Data/MuzzleEffect.hs 17;" f _cmeTorque src/Dodge/Data/MuzzleEffect.hs 16;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f -_coordinates src/Dodge/Data/LWorld.hs 131;" f -_corpses src/Dodge/Data/LWorld.hs 140;" f +_coordinates src/Dodge/Data/LWorld.hs 129;" f +_corpses src/Dodge/Data/LWorld.hs 138;" f _cpAttention src/Dodge/Data/Creature/Perception.hs 34;" f _cpAudition src/Dodge/Data/Creature/Perception.hs 37;" f _cpAwareness src/Dodge/Data/Creature/Perception.hs 35;" f @@ -2412,34 +2407,34 @@ _cpRes src/Dodge/Data/Corpse.hs 22;" f _cpSPic src/Dodge/Data/Corpse.hs 21;" f _cpVigilance src/Dodge/Data/Creature/Perception.hs 33;" f _cpVision src/Dodge/Data/Creature/Perception.hs 36;" f -_crActionPlan src/Dodge/Data/Creature.hs 50;" f -_crDeathTimer src/Dodge/Data/Creature.hs 59;" f -_crDir src/Dodge/Data/Creature.hs 38;" f -_crEquipment src/Dodge/Data/Creature.hs 46;" f -_crFaction src/Dodge/Data/Creature.hs 54;" f -_crGroup src/Dodge/Data/Creature.hs 55;" f +_crActionPlan src/Dodge/Data/Creature.hs 52;" f +_crDeathTimer src/Dodge/Data/Creature.hs 61;" f +_crDir src/Dodge/Data/Creature.hs 40;" f +_crEquipment src/Dodge/Data/Creature.hs 48;" f +_crFaction src/Dodge/Data/Creature.hs 56;" f +_crGroup src/Dodge/Data/Creature.hs 57;" f _crGroupCenter src/Dodge/Data/CrGroupParams.hs 17;" f -_crGroupID src/Dodge/Data/Creature/State.hs 49;" f +_crGroupID src/Dodge/Data/Creature/State.hs 42;" f _crGroupIDs src/Dodge/Data/CrGroupParams.hs 16;" f _crGroupParamID src/Dodge/Data/CrGroupParams.hs 15;" f _crGroupUpdate src/Dodge/Data/CrGroupParams.hs 18;" f -_crHP src/Dodge/Data/Creature.hs 43;" f -_crID src/Dodge/Data/Creature.hs 42;" f -_crIntention src/Dodge/Data/Creature.hs 56;" f -_crInv src/Dodge/Data/Creature.hs 44;" f -_crManipulation src/Dodge/Data/Creature.hs 45;" f -_crMemory src/Dodge/Data/Creature.hs 52;" f -_crMvAim src/Dodge/Data/Creature.hs 40;" f -_crMvDir src/Dodge/Data/Creature.hs 39;" f -_crName src/Dodge/Data/Creature.hs 58;" f -_crOldPos src/Dodge/Data/Creature.hs 37;" f -_crPastDamage src/Dodge/Data/Creature.hs 48;" f -_crPerception src/Dodge/Data/Creature.hs 51;" f -_crPos src/Dodge/Data/Creature.hs 36;" f -_crStance src/Dodge/Data/Creature.hs 49;" f -_crState src/Dodge/Data/Creature.hs 47;" f -_crType src/Dodge/Data/Creature.hs 41;" f -_crVocalization src/Dodge/Data/Creature.hs 53;" f +_crHP src/Dodge/Data/Creature.hs 45;" f +_crID src/Dodge/Data/Creature.hs 44;" f +_crIntention src/Dodge/Data/Creature.hs 58;" f +_crInv src/Dodge/Data/Creature.hs 46;" f +_crManipulation src/Dodge/Data/Creature.hs 47;" f +_crMemory src/Dodge/Data/Creature.hs 54;" f +_crMvAim src/Dodge/Data/Creature.hs 42;" f +_crMvDir src/Dodge/Data/Creature.hs 41;" f +_crName src/Dodge/Data/Creature.hs 60;" f +_crOldPos src/Dodge/Data/Creature.hs 39;" f +_crPastDamage src/Dodge/Data/Creature.hs 50;" f +_crPerception src/Dodge/Data/Creature.hs 53;" f +_crPos src/Dodge/Data/Creature.hs 38;" f +_crStance src/Dodge/Data/Creature.hs 51;" f +_crState src/Dodge/Data/Creature.hs 49;" f +_crType src/Dodge/Data/Creature.hs 43;" f +_crVocalization src/Dodge/Data/Creature.hs 55;" f _crZoning src/Dodge/Data/World.hs 47;" f _creatureGroups src/Dodge/Data/LWorld.hs 101;" f _creatures src/Dodge/Data/LWorld.hs 100;" f @@ -2473,7 +2468,7 @@ _debugV2 src/Dodge/Data/Universe.hs 60;" f _debugV3 src/Dodge/Data/Universe.hs 59;" f _debug_booleans src/Dodge/Data/Config.hs 57;" f _debug_view_clip_bounds src/Dodge/Data/Config.hs 56;" f -_delayedEvents src/Dodge/Data/LWorld.hs 136;" f +_delayedEvents src/Dodge/Data/LWorld.hs 134;" f _diCloseFilter src/Dodge/Data/HUD.hs 24;" f _diInvFilter src/Dodge/Data/HUD.hs 23;" f _diSections src/Dodge/Data/HUD.hs 21;" f @@ -2481,7 +2476,7 @@ _diSelection src/Dodge/Data/HUD.hs 22;" f _dimAttachPos src/Dodge/Data/Item/Misc.hs 16;" f _dimCenter src/Dodge/Data/Item/Misc.hs 15;" f _dimRad src/Dodge/Data/Item/Misc.hs 14;" f -_distortions src/Dodge/Data/LWorld.hs 145;" f +_distortions src/Dodge/Data/LWorld.hs 143;" f _dmAmount src/Dodge/Data/Damage.hs 34;" f _dmAt src/Dodge/Data/Damage.hs 36;" f _dmEffect src/Dodge/Data/Damage.hs 38;" f @@ -2509,7 +2504,7 @@ _doReplicateAction src/Dodge/Data/ActionPlan.hs 142;" f _doReplicateAction src/Dodge/Data/ActionPlan.hs 147;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 141;" f _doReplicateTimes src/Dodge/Data/ActionPlan.hs 146;" f -_doors src/Dodge/Data/LWorld.hs 125;" f +_doors src/Dodge/Data/LWorld.hs 123;" f _drClosePos src/Dodge/Data/Door.hs 42;" f _drDeath src/Dodge/Data/Door.hs 44;" f _drHP src/Dodge/Data/Door.hs 43;" f @@ -2540,7 +2535,7 @@ _eboName src/Shader/Data.hs 89;" f _eboPtr src/Shader/Data.hs 90;" f _eeUse src/Dodge/Data/Item/Use/Equipment.hs 17;" f _emoMenuOption src/Dodge/Data/Universe.hs 77;" f -_energyBalls src/Dodge/Data/LWorld.hs 110;" f +_energyBalls src/Dodge/Data/LWorld.hs 109;" f _fbo2 src/Data/Preload/Render.hs 29;" f _fbo3 src/Data/Preload/Render.hs 30;" f _fboBase src/Data/Preload/Render.hs 33;" f @@ -2561,14 +2556,14 @@ _flTimer src/Dodge/Data/Flame.hs 19;" f _flVel src/Dodge/Data/Flame.hs 15;" f _flWidth src/Dodge/Data/Flame.hs 18;" f _flZ src/Dodge/Data/Flame.hs 20;" f -_flames src/Dodge/Data/LWorld.hs 112;" f +_flames src/Dodge/Data/LWorld.hs 111;" f _flankTarget src/Dodge/Data/ActionPlan.hs 177;" f -_flares src/Dodge/Data/LWorld.hs 115;" f +_flares src/Dodge/Data/LWorld.hs 114;" f _flatShieldWlMIX src/Dodge/Data/Item/Params.hs 15;" f -_floorItems src/Dodge/Data/LWorld.hs 133;" f +_floorItems src/Dodge/Data/LWorld.hs 131;" f _floorShader src/Data/Preload/Render.hs 44;" f _floorVBO src/Data/Preload/Render.hs 43;" f -_foregroundShapes src/Dodge/Data/LWorld.hs 139;" f +_foregroundShapes src/Dodge/Data/LWorld.hs 137;" f _fsDir src/Dodge/Data/ForegroundShape.hs 17;" f _fsID src/Dodge/Data/ForegroundShape.hs 15;" f _fsPos src/Dodge/Data/ForegroundShape.hs 16;" f @@ -2581,6 +2576,7 @@ _gameplay_rotate_to_wall src/Dodge/Data/Config.hs 55;" f _genPlacements src/Dodge/Data/GenWorld.hs 25;" f _genRooms src/Dodge/Data/GenWorld.hs 26;" f _getAttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" f +_getCombAmount src/Dodge/Data/CombAmount.hs 16;" f _getFixated src/Dodge/Data/Creature/Perception.hs 62;" f _getItAmount src/Dodge/Data/Item/Use/Consumption.hs 38;" f _getSoundID src/Sound/Data.hs 32;" f @@ -2614,10 +2610,10 @@ _gwWorld src/Dodge/Data/GenWorld.hs 24;" f _hammerPosition src/Dodge/Data/Hammer.hs 14;" f _heldPos src/Dodge/Data/Input.hs 54;" f _heldWorldPos src/Dodge/Data/Input.hs 56;" f -_hotkeys src/Dodge/Data/LWorld.hs 149;" f +_hotkeys src/Dodge/Data/LWorld.hs 147;" f _hud src/Dodge/Data/World.hs 45;" f _hudElement src/Dodge/Data/HUD.hs 45;" f -_humanoidAI src/Dodge/Data/Creature/Misc.hs 87;" f +_humanoidAI src/Dodge/Data/Creature/Misc.hs 88;" f _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 21;" f _iatOrient src/Dodge/Data/ComposedItem.hs 74;" f _iatType src/Dodge/Data/ComposedItem.hs 73;" f @@ -2643,7 +2639,7 @@ _ilIsRoot src/Dodge/Data/Item/Location.hs 32;" f _ilIsSelected src/Dodge/Data/Item/Location.hs 33;" f _ilTuID src/Dodge/Data/Item/Location.hs 37;" f _imAttachedItems src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 25;" f -_imHotkeys src/Dodge/Data/LWorld.hs 150;" f +_imHotkeys src/Dodge/Data/LWorld.hs 148;" f _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 @@ -2675,18 +2671,18 @@ _itsInt src/Dodge/Data/Item.hs 53;" f _itsMax src/Dodge/Data/Item.hs 54;" f _itsRangeInt src/Dodge/Data/Item.hs 54;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f -_lAimPos src/Dodge/Data/LWorld.hs 151;" f -_lClock src/Dodge/Data/LWorld.hs 146;" f -_lInvLock src/Dodge/Data/LWorld.hs 152;" f -_lTestInt src/Dodge/Data/LWorld.hs 148;" f -_lTestString src/Dodge/Data/LWorld.hs 147;" f +_lAimPos src/Dodge/Data/LWorld.hs 149;" f +_lClock src/Dodge/Data/LWorld.hs 144;" f +_lInvLock src/Dodge/Data/LWorld.hs 150;" f +_lTestInt src/Dodge/Data/LWorld.hs 146;" f +_lTestString src/Dodge/Data/LWorld.hs 145;" f _lWorld src/Dodge/Data/CWorld.hs 24;" f -_lampColor src/Dodge/Data/Creature/Misc.hs 80;" f -_lampHeight src/Dodge/Data/Creature/Misc.hs 80;" f -_lampLSID src/Dodge/Data/Creature/Misc.hs 80;" f +_lampColor src/Dodge/Data/Creature/Misc.hs 81;" f +_lampHeight src/Dodge/Data/Creature/Misc.hs 81;" f +_lampLSID src/Dodge/Data/Creature/Misc.hs 81;" f _laserEmmiter src/Dodge/Data/Laser.hs 18;" f _laserTypeDamage src/Dodge/Data/Laser.hs 17;" f -_lasers src/Dodge/Data/LWorld.hs 119;" f +_lasers src/Dodge/Data/LWorld.hs 118;" f _ldpPos src/Dodge/Data/SelectionList.hs 14;" f _ldpScale src/Dodge/Data/SelectionList.hs 15;" f _ldpVerticalGap src/Dodge/Data/SelectionList.hs 16;" f @@ -2694,14 +2690,14 @@ _ldtLeft src/Dodge/Data/DoubleTree.hs 42;" f _ldtRight src/Dodge/Data/DoubleTree.hs 43;" f _ldtValue src/Dodge/Data/DoubleTree.hs 41;" f _leadTargetBy src/Dodge/Data/ActionPlan.hs 150;" f -_lightSources src/Dodge/Data/LWorld.hs 141;" f +_lightSources src/Dodge/Data/LWorld.hs 139;" f _lightingCapShader src/Data/Preload/Render.hs 16;" f _lightingLineShadowShader src/Data/Preload/Render.hs 15;" f _lightingTextureShader src/Data/Preload/Render.hs 17;" f _lightingWallShadShader src/Data/Preload/Render.hs 14;" f -_lights src/Dodge/Data/LWorld.hs 142;" f +_lights src/Dodge/Data/LWorld.hs 140;" f _lightsUBO src/Data/Preload/Render.hs 40;" f -_linearShockwaves src/Dodge/Data/LWorld.hs 121;" f +_linearShockwaves src/Dodge/Data/LWorld.hs 119;" f _linkGapEW src/Dodge/Data/Room.hs 35;" f _linkGapNS src/Dodge/Data/Room.hs 36;" f _loadedMusic src/Music.hs 8;" f @@ -2724,9 +2720,8 @@ _lwID src/Dodge/Data/LinearShockwave.hs 15;" f _lwPoints src/Dodge/Data/LinearShockwave.hs 16;" f _lwPos src/Dodge/Data/LinearShockwave.hs 14;" f _lwTimer src/Dodge/Data/LinearShockwave.hs 17;" f -_machines src/Dodge/Data/LWorld.hs 126;" f -_magLoadStatus src/Dodge/Data/Item.hs 35;" f -_magnets src/Dodge/Data/LWorld.hs 129;" f +_machines src/Dodge/Data/LWorld.hs 124;" f +_magnets src/Dodge/Data/LWorld.hs 127;" f _mainAction src/Dodge/Data/ActionPlan.hs 171;" f _manObject src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 15;" f _mapInvItmID src/Dodge/Data/HUD.hs 34;" f @@ -2773,7 +2768,7 @@ _mdPoint3 src/Dodge/Data/Modification.hs 20;" f _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 76;" f +_meleeCooldown src/Dodge/Data/Creature/Misc.hs 77;" f _meleeTarget src/Dodge/Data/ActionPlan.hs 187;" f _mgField src/Dodge/Data/Magnet.hs 25;" f _mgPos src/Dodge/Data/Magnet.hs 24;" f @@ -2784,7 +2779,7 @@ _moString src/Dodge/Data/Universe.hs 105;" f _moString src/Dodge/Data/Universe.hs 110;" f _modOption src/Dodge/Data/Universe.hs 100;" f _modString src/Dodge/Data/Universe.hs 98;" f -_modifications src/Dodge/Data/LWorld.hs 134;" f +_modifications src/Dodge/Data/LWorld.hs 132;" f _mouseButtons src/Dodge/Data/Input.hs 49;" f _mouseButtonsReleased src/Dodge/Data/Input.hs 50;" f _mouseContext src/Dodge/Data/Input.hs 46;" f @@ -2799,7 +2794,7 @@ _mtTree src/Dodge/Tree/Compose/Data.hs 8;" f _musicData src/Data/Preload.hs 13;" f _mvAimSpeed src/Dodge/Data/Creature/Misc.hs 42;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 37;" f -_mvToPoint src/Dodge/Data/Creature.hs 66;" f +_mvToPoint src/Dodge/Data/Creature.hs 68;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 41;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 40;" f _mzAmmoPerShot src/Dodge/Data/Muzzle.hs 16;" f @@ -2823,7 +2818,7 @@ _nzMaxWalkAngle src/Dodge/Data/Muzzle.hs 40;" f _nzPressure src/Dodge/Data/Muzzle.hs 39;" f _nzWalkSpeed src/Dodge/Data/Muzzle.hs 41;" f _offPathFromEdges src/Dodge/Data/Room.hs 74;" f -_oldMagnets src/Dodge/Data/LWorld.hs 128;" f +_oldMagnets src/Dodge/Data/LWorld.hs 126;" f _onPathFromEdges src/Dodge/Data/Room.hs 73;" f _opDraw src/Dodge/Data/Wall.hs 43;" f _opPlacement src/Dodge/Data/GenWorld.hs 127;" f @@ -2850,7 +2845,7 @@ _phTargetingID src/Dodge/Data/Projectile.hs 53;" f _pickUpLevel src/Dodge/Layout/Generate.hs 14;" f _pickUps src/Dodge/Layout/Generate.hs 15;" f _pictureShaders src/Data/Preload/Render.hs 28;" f -_piercedPoints src/Dodge/Data/Creature/State.hs 30;" f +_piercedPoints src/Dodge/Data/Creature/State.hs 23;" f _pjDetonatorID src/Dodge/Data/Projectile.hs 30;" f _pjDir src/Dodge/Data/Projectile.hs 20;" f _pjID src/Dodge/Data/Projectile.hs 23;" f @@ -2878,7 +2873,7 @@ _plType src/Dodge/Data/GenWorld.hs 79;" f _playStatus src/Sound/Data.hs 17;" f _playingSounds src/Dodge/Data/World.hs 41;" f _pnZoning src/Dodge/Data/World.hs 50;" f -_posEvents src/Dodge/Data/LWorld.hs 111;" f +_posEvents src/Dodge/Data/LWorld.hs 110;" f _posture src/Dodge/Data/Creature/Stance.hs 15;" f _ppEvent src/Dodge/Data/PressPlate.hs 23;" f _ppID src/Dodge/Data/PressPlate.hs 24;" f @@ -2907,7 +2902,7 @@ _prUpdate src/Dodge/Data/Prop.hs 36;" f _prVel src/Dodge/Data/Prop.hs 24;" f _prVelZ src/Dodge/Data/Prop.hs 27;" f _preloadData src/Dodge/Data/Universe.hs 33;" f -_pressPlates src/Dodge/Data/LWorld.hs 137;" f +_pressPlates src/Dodge/Data/LWorld.hs 135;" f _pressedKeys src/Dodge/Data/Input.hs 48;" f _projectiles src/Dodge/Data/LWorld.hs 106;" f _props src/Dodge/Data/LWorld.hs 105;" f @@ -2944,8 +2939,8 @@ _pvType src/Dodge/Data/PosEvent.hs 17;" f _pwPoly src/Dodge/Data/GenWorld.hs 49;" f _pwWall src/Dodge/Data/GenWorld.hs 49;" f _pyFaces src/Polyhedra/Data.hs 14;" f -_radarBlips src/Dodge/Data/LWorld.hs 114;" f -_radarSweeps src/Dodge/Data/LWorld.hs 109;" f +_radarBlips src/Dodge/Data/LWorld.hs 113;" f +_radarSweeps src/Dodge/Data/LWorld.hs 108;" f _randGen src/Dodge/Data/World.hs 39;" f _rateMax src/Dodge/Data/Item/HeldDelay.hs 16;" f _rateMax src/Dodge/Data/UseDelay.hs 14;" f @@ -3029,8 +3024,8 @@ _scrollTestInt src/Dodge/Data/Input.hs 59;" f _scurColor src/Dodge/Data/SelectionList.hs 26;" f _scurPos src/Dodge/Data/SelectionList.hs 24;" f _scurSize src/Dodge/Data/SelectionList.hs 25;" f -_seenLocations src/Dodge/Data/LWorld.hs 143;" f -_selLocation src/Dodge/Data/LWorld.hs 144;" f +_seenLocations src/Dodge/Data/LWorld.hs 141;" f +_selLocation src/Dodge/Data/LWorld.hs 142;" f _sensAmount src/Dodge/Data/Machine/Sensor.hs 19;" f _sensDraw src/Dodge/Data/Machine/Sensor.hs 21;" f _sensThreshold src/Dodge/Data/Machine/Sensor.hs 22;" f @@ -3053,7 +3048,7 @@ _shapeEBO src/Data/Preload/Render.hs 26;" f _shapeHalfSize src/Shape/Data.hs 18;" f _shapeShader src/Data/Preload/Render.hs 25;" f _shellPayload src/Dodge/Data/Item/Combine.hs 102;" f -_shockwaves src/Dodge/Data/LWorld.hs 118;" f +_shockwaves src/Dodge/Data/LWorld.hs 117;" f _siColor src/Dodge/Data/SelectionList.hs 49;" f _siColor src/Dodge/Data/SelectionList.hs 58;" f _siHeight src/Dodge/Data/SelectionList.hs 46;" f @@ -3076,9 +3071,9 @@ _skOldPos src/Dodge/Data/Spark.hs 19;" f _skPos src/Dodge/Data/Spark.hs 18;" f _skVel src/Dodge/Data/Spark.hs 16;" f _skWidth src/Dodge/Data/Spark.hs 20;" f -_skinHead src/Dodge/Data/Creature/Misc.hs 84;" f -_skinLower src/Dodge/Data/Creature/Misc.hs 86;" f -_skinUpper src/Dodge/Data/Creature/Misc.hs 85;" f +_skinHead src/Dodge/Data/Creature/Misc.hs 85;" f +_skinLower src/Dodge/Data/Creature/Misc.hs 87;" f +_skinUpper src/Dodge/Data/Creature/Misc.hs 86;" f _smoothScrollAmount src/Dodge/Data/Input.hs 52;" f _soundAngDist src/Sound/Data.hs 49;" f _soundChannel src/Sound/Data.hs 48;" f @@ -3093,7 +3088,8 @@ _soundVolumeFraction src/Sound/Data.hs 52;" f _soundsToInvestigate src/Dodge/Data/Creature/Memory.hs 14;" f _spPixelOff src/Dodge/Data/ScreenPos.hs 14;" f _spScreenOff src/Dodge/Data/ScreenPos.hs 13;" f -_sparks src/Dodge/Data/LWorld.hs 113;" f +_sparkDam src/Dodge/Data/Bullet.hs 45;" f +_sparks src/Dodge/Data/LWorld.hs 112;" f _spawnEBT src/Dodge/Data/Bullet.hs 44;" f _ssIndent src/Dodge/Data/SelectionList.hs 34;" f _ssItems src/Dodge/Data/SelectionList.hs 30;" f @@ -3116,11 +3112,11 @@ _swPos src/Dodge/Data/Shockwave.hs 21;" f _swPush src/Dodge/Data/Shockwave.hs 24;" f _swRad src/Dodge/Data/Shockwave.hs 22;" f _swTimer src/Dodge/Data/Shockwave.hs 26;" f -_swarm src/Dodge/Data/Creature/State.hs 48;" f +_swarm src/Dodge/Data/Creature/State.hs 41;" f _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 65;" f +_targetCr src/Dodge/Data/Creature.hs 67;" f _targetID src/Dodge/Data/ActionPlan.hs 85;" f _targetSeenAt src/Dodge/Data/ActionPlan.hs 86;" f _tbPos src/Dodge/Data/TractorBeam.hs 14;" f @@ -3132,8 +3128,8 @@ _tcEffect src/Dodge/Data/Terminal.hs 116;" f _tcHelp src/Dodge/Data/Terminal.hs 115;" f _tcString src/Dodge/Data/Terminal.hs 113;" f _termID src/Dodge/Data/HUD.hs 42;" f -_terminals src/Dodge/Data/LWorld.hs 127;" f -_teslaArcs src/Dodge/Data/LWorld.hs 116;" f +_terminals src/Dodge/Data/LWorld.hs 125;" f +_teslaArcs src/Dodge/Data/LWorld.hs 115;" f _testFloat src/Dodge/Data/World.hs 43;" f _textInput src/Dodge/Data/Input.hs 57;" f _textureObject src/Shader/Data.hs 95;" f @@ -3178,10 +3174,10 @@ _toPlaySoundVolume src/Sound/Data.hs 39;" f _toPlaySoundVolumeFraction src/Sound/Data.hs 40;" f _toPlaySounds src/Dodge/Data/World.hs 40;" f _topBoxSize src/Shape/Data.hs 17;" f -_tractorBeams src/Dodge/Data/LWorld.hs 122;" f +_tractorBeams src/Dodge/Data/LWorld.hs 120;" f _trieChildren src/SimpleTrie.hs 11;" f _trieMVal src/SimpleTrie.hs 10;" f -_triggers src/Dodge/Data/LWorld.hs 132;" f +_triggers src/Dodge/Data/LWorld.hs 130;" f _tryLeftLink src/Dodge/Data/ComposedItem.hs 80;" f _tryRightLink src/Dodge/Data/ComposedItem.hs 81;" f _ttDeathEffect src/Dodge/Data/Terminal.hs 85;" f @@ -3191,11 +3187,11 @@ _tuFireTime src/Dodge/Data/Machine.hs 60;" f _tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f _tuWeapon src/Dodge/Data/Machine.hs 58;" f _turnToPoint src/Dodge/Data/ActionPlan.hs 92;" f -_uInt src/Dodge/Data/Item/Use.hs 32;" f -_uScope src/Dodge/Data/Item/Use.hs 35;" f -_uValue src/Dodge/Data/Item/Use.hs 34;" f -_uaParams src/Dodge/Data/Item/Use.hs 31;" f -_ubMod src/Dodge/Data/Item/Use.hs 36;" f +_uInt src/Dodge/Data/Item/Use.hs 35;" f +_uScope src/Dodge/Data/Item/Use.hs 38;" f +_uValue src/Dodge/Data/Item/Use.hs 37;" f +_uaParams src/Dodge/Data/Item/Use.hs 34;" f +_ubMod src/Dodge/Data/Item/Use.hs 39;" f _unCombEdge src/Dodge/Combine/Graph.hs 31;" f _unCombNode src/Dodge/Combine/Graph.hs 24;" f _unFBO src/Shader/Data.hs 57;" f @@ -3212,12 +3208,12 @@ _unpauseClock src/Dodge/Data/World.hs 54;" f _unputTerminal src/Dodge/Data/GenWorld.hs 36;" f _useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f _useExactly src/Dodge/Data/Muzzle.hs 53;" f -_useMapperLines src/Dodge/Data/Item/Use.hs 39;" f -_useMapperPoints src/Dodge/Data/Item/Use.hs 40;" f +_useMapperLines src/Dodge/Data/Item/Use.hs 42;" f +_useMapperPoints src/Dodge/Data/Item/Use.hs 43;" f _useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f _useSelf src/Dodge/Data/ActionPlan.hs 158;" f _useTarget src/Dodge/Data/ActionPlan.hs 155;" f -_useToggle src/Dodge/Data/Item/Use.hs 37;" f +_useToggle src/Dodge/Data/Item/Use.hs 40;" f _useUpTo src/Dodge/Data/Muzzle.hs 54;" f _uvCanContinue src/Dodge/Data/Universe.hs 39;" f _uvConfig src/Dodge/Data/Universe.hs 37;" f @@ -3250,7 +3246,7 @@ _vcMaxCoolDown src/Dodge/Data/Creature/Misc.hs 30;" f _vertices src/Polyhedra/Data.hs 22;" f _viDist src/Dodge/Data/Creature/Perception.hs 43;" f _viFOV src/Dodge/Data/Creature/Perception.hs 42;" f -_viewPoint src/Dodge/Data/Creature.hs 67;" f +_viewPoint src/Dodge/Data/Creature.hs 69;" f _volume_master src/Dodge/Data/Config.hs 39;" f _volume_music src/Dodge/Data/Config.hs 41;" f _volume_sound src/Dodge/Data/Config.hs 40;" f @@ -3263,12 +3259,12 @@ _wCam src/Dodge/Data/World.hs 53;" f _wTime src/Dodge/Data/Item/Params.hs 20;" f _waitThenAction src/Dodge/Data/ActionPlan.hs 105;" f _waitThenTimer src/Dodge/Data/ActionPlan.hs 104;" f -_wallDamages src/Dodge/Data/LWorld.hs 124;" f +_wallDamages src/Dodge/Data/LWorld.hs 122;" f _wallShader src/Data/Preload/Render.hs 46;" f _wallVBO src/Data/Preload/Render.hs 45;" f -_walls src/Dodge/Data/LWorld.hs 123;" f -_wanID src/Dodge/Data/LWorld.hs 165;" f -_wanPos src/Dodge/Data/LWorld.hs 164;" f +_walls src/Dodge/Data/LWorld.hs 121;" f +_wanID src/Dodge/Data/LWorld.hs 163;" f +_wanPos src/Dodge/Data/LWorld.hs 162;" f _warmMax src/Dodge/Data/Item/HeldDelay.hs 19;" f _warmMax src/Dodge/Data/UseDelay.hs 17;" f _warmSound src/Dodge/Data/Item/HeldDelay.hs 20;" f @@ -3297,7 +3293,7 @@ _wlUnshadowed src/Dodge/Data/Wall.hs 32;" f _wlWalkable src/Dodge/Data/Wall.hs 28;" f _wlZoning src/Dodge/Data/World.hs 49;" f _worldEventFlags src/Dodge/Data/World.hs 46;" f -_worldEvents src/Dodge/Data/LWorld.hs 135;" f +_worldEvents src/Dodge/Data/LWorld.hs 133;" f _wpCharge src/Dodge/Data/Item/Use/Consumption.hs 34;" f _wpMaxCharge src/Dodge/Data/Item/Use/Consumption.hs 33;" f _wsBlock src/Dodge/Data/Wall/Structure.hs 16;" f @@ -3363,7 +3359,7 @@ advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f aimDelaySweep src/Dodge/Render/Picture.hs 264;" f aimStanceHandlePos src/Dodge/Item/HeldOffset.hs 65;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f -aimTurn src/Dodge/Creature/YourControl.hs 164;" f +aimTurn src/Dodge/Creature/YourControl.hs 165;" f aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 61;" f airlock src/Dodge/Room/Airlock.hs 19;" f airlock0 src/Dodge/Room/Airlock.hs 25;" f @@ -3397,7 +3393,7 @@ applyGravityPU src/Dodge/Projectile/Update.hs 56;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 51;" f applyIndividualDamage' src/Dodge/Creature/Damage.hs 54;" f applyInvLock src/Dodge/HeldUse.hs 425;" f -applyMagnetsToBul src/Dodge/Bullet.hs 28;" f +applyMagnetsToBul src/Dodge/Bullet.hs 36;" f applyNoDamage src/Dodge/Creature/Damage.hs 13;" f applyPastDamages src/Dodge/Creature/State.hs 144;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 59;" f @@ -3428,7 +3424,7 @@ arcTest src/Picture/Test.hs 9;" f arcTest' src/Picture/Test.hs 21;" f argV src/Geometry/Vector.hs 80;" f argumentHelp src/Dodge/Terminal.hs 151;" f -armourChaseCrit src/Dodge/Creature/ArmourChase.hs 36;" f +armourChaseCrit src/Dodge/Creature/ArmourChase.hs 35;" f armouredChasers src/Dodge/Room/Boss.hs 63;" f armouredCorridor src/Dodge/Room/RoadBlock.hs 20;" f arms src/Dodge/Creature/Picture.hs 77;" f @@ -3491,7 +3487,6 @@ baseTriggerType src/Dodge/BaseTriggerType.hs 12;" f baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f -basicBulDams src/Dodge/Item/Weapon/Bullet.hs 23;" f basicCrPict src/Dodge/Creature/Picture.hs 28;" f basicCrShape src/Dodge/Creature/Picture.hs 36;" f basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f @@ -3539,7 +3534,7 @@ blunderbuss src/Dodge/Item/Held/Cone.hs 14;" f boosterGun src/Dodge/Item/Equipment/Booster.hs 9;" f bossKeyItems src/Dodge/LockAndKey.hs 12;" f bossRoom src/Dodge/Room/Boss.hs 60;" f -bounceDir src/Dodge/Bullet.hs 106;" f +bounceDir src/Dodge/Bullet.hs 114;" f bouncePoint src/Dodge/Base/Collide.hs 88;" f boundPoints src/Bound.hs 10;" f boundedGrid src/Grid.hs 19;" f @@ -3555,6 +3550,7 @@ branchWith src/Dodge/Room/Room.hs 67;" f bright src/Color.hs 120;" f brightX src/Color.hs 116;" f btSPic src/Dodge/Render/ShapePicture.hs 114;" f +buDamages src/Dodge/Bullet.hs 27;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 36;" f @@ -3668,8 +3664,8 @@ clusterFunc src/Dodge/Combine/Graph.hs 118;" f cogRaised src/Dodge/Creature/Perception.hs 102;" f colCrWall src/Dodge/WallCreatureCollisions.hs 28;" f colCrsWalls src/Dodge/WallCreatureCollisions.hs 18;" f -colSpark src/Dodge/Spark.hs 47;" f -colSparkRandDir src/Dodge/Spark.hs 101;" f +colSpark src/Dodge/Spark.hs 48;" f +colSparkRandDir src/Dodge/Spark.hs 102;" f collectDamageTypes src/Dodge/Damage.hs 32;" f collectInvItems src/Dodge/Update/Input/InGame.hs 298;" f collideCircWalls src/Dodge/Base/Collide.hs 159;" f @@ -3695,7 +3691,7 @@ combineTree src/Dodge/Tree/Compose.hs 66;" f commandColor src/Dodge/Terminal.hs 132;" f commandFutureLines src/Dodge/Terminal.hs 256;" f commandsCommand src/Dodge/Terminal.hs 93;" f -commonPrefix src/Dodge/Debug/Terminal.hs 145;" f +commonPrefix src/Dodge/Debug/Terminal.hs 146;" f compactDraw src/Dodge/LevelGen.hs 91;" f compactDraw' src/Dodge/LevelGen.hs 102;" f compactDrawTree src/Dodge/LevelGen.hs 85;" f @@ -3752,7 +3748,7 @@ crMaxHP src/Dodge/Creature/MaxHP.hs 6;" f crMvAbsolute src/Dodge/Creature/Impulse/Movement.hs 27;" f crMvBy src/Dodge/Creature/Impulse/Movement.hs 20;" f crMvForward src/Dodge/Creature/Impulse/Movement.hs 41;" f -crMvType src/Dodge/Creature/MoveType.hs 5;" f +crMvType src/Dodge/Creature/MoveType.hs 6;" f crNearPoint src/Dodge/Creature/Test.hs 139;" f crNumFreeSlots src/Dodge/Inventory/CheckSlots.hs 23;" f crOnWall src/Dodge/WallCreatureCollisions.hs 86;" f @@ -3773,7 +3769,7 @@ craftInfo src/Dodge/Item/Info.hs 168;" f craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 446;" f createArc src/Dodge/Tesla/Arc.hs 81;" f -createBarrelSpark src/Dodge/Spark.hs 44;" f +createBarrelSpark src/Dodge/Spark.hs 45;" f createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f createForceField src/Dodge/ForceField.hs 7;" f createGas src/Dodge/Gas.hs 8;" f @@ -3846,7 +3842,7 @@ damageHP src/Dodge/Creature/Damage.hs 67;" f damageMaterial src/Dodge/Material/Damage.hs 7;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f damageStone src/Dodge/Material/Damage.hs 20;" f -damageThingHit src/Dodge/Bullet.hs 169;" f +damageThingHit src/Dodge/Bullet.hs 179;" f damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f damageWall src/Dodge/Wall/Damage.hs 15;" f damageWallEffect src/Dodge/Wall/DamageEffect.hs 11;" f @@ -3893,7 +3889,7 @@ dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 340;" f defDamageMaterial src/Dodge/Material/Damage.hs 17;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f defSPic src/Dodge/Item/Draw/SPic.hs 299;" f -defaultAimMvType src/Dodge/Creature/MoveType.hs 15;" f +defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f defaultAimingCrit src/Dodge/Default/Creature.hs 105;" f defaultApplyDamage src/Dodge/Creature/Damage.hs 22;" f defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f @@ -3907,7 +3903,7 @@ defaultButton src/Dodge/Default.hs 49;" f defaultCWCam src/Dodge/Default/World.hs 68;" f defaultCWGen src/Dodge/Default/World.hs 58;" f defaultCWorld src/Dodge/Default/World.hs 83;" f -defaultChaseMvType src/Dodge/Creature/MoveType.hs 24;" f +defaultChaseMvType src/Dodge/Creature/MoveType.hs 25;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultConfig src/Dodge/Data/Config.hs 127;" f defaultCorpse src/Dodge/Corpse/Make.hs 35;" f @@ -3946,7 +3942,7 @@ defaultProp src/Dodge/Default/Prop.hs 6;" f defaultProximitySensor src/Dodge/Default.hs 75;" f defaultRoom src/Dodge/Default/Room.hs 9;" f defaultSensorWall src/Dodge/Default/Wall.hs 58;" f -defaultState src/Dodge/Default/Creature.hs 114;" f +defaultState src/Dodge/Default/Creature.hs 111;" f defaultSwitchWall src/Dodge/Default/Door.hs 22;" f defaultTerminal src/Dodge/Default/Terminal.hs 9;" f defaultTerminalInput src/Dodge/Default/Terminal.hs 32;" f @@ -4008,7 +4004,7 @@ divideLineExact src/Geometry.hs 275;" f divideLineOddNumPoints src/Geometry.hs 260;" f doAfterPlacement src/Dodge/Layout.hs 86;" f doAfterPlacements src/Dodge/Layout.hs 83;" f -doAimTwist src/Dodge/Creature/YourControl.hs 139;" f +doAimTwist src/Dodge/Creature/YourControl.hs 140;" f doAnyEquipmentEffect src/Dodge/Creature/State.hs 192;" f doArcStep src/Dodge/Tesla/Arc.hs 135;" f doBackspace src/Dodge/Update/Input/Text.hs 31;" f @@ -4054,7 +4050,7 @@ doItemTimeScroll src/Dodge/Update.hs 197;" f doLoop src/Loop.hs 60;" f doMCrAc src/Dodge/CreatureEffect.hs 57;" f doMP2Ac src/Dodge/CreatureEffect.hs 73;" f -doMagnetBuBu src/Dodge/Bullet.hs 31;" f +doMagnetBuBu src/Dodge/Bullet.hs 39;" f doMagnetBuBu src/Dodge/MagnetBuBu.hs 7;" f doMagnetUpdate src/Dodge/Magnet/Update.hs 6;" f doModificationEffect src/Dodge/ModificationEffect.hs 7;" f @@ -4234,9 +4230,9 @@ drawZoneCol src/Dodge/Debug/Picture.hs 142;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f dropByState src/Dodge/Creature/State.hs 131;" f -dropExcept src/Dodge/Creature/Action.hs 165;" f +dropExcept src/Dodge/Creature/Action.hs 166;" f dropInventoryPath src/Dodge/HeldUse.hs 1356;" f -dropItem src/Dodge/Creature/Action.hs 171;" f +dropItem src/Dodge/Creature/Action.hs 172;" f dropper src/Dodge/Item/Scope.hs 76;" f drumMag src/Dodge/Item/Ammo.hs 33;" f dtIL src/Dodge/DoubleTree.hs 75;" f @@ -4297,7 +4293,7 @@ expandPolyBy src/Dodge/LevelGen/StaticWalls.hs 91;" f expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f -expireAndDamage src/Dodge/Bullet.hs 178;" f +expireAndDamage src/Dodge/Bullet.hs 188;" f expireAndDamageFL src/Dodge/Flame.hs 48;" f explodeShell src/Dodge/Projectile/Update.hs 245;" f explosionS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 422;" f @@ -4358,7 +4354,7 @@ flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f flipSwitch src/Dodge/Button/Event.hs 21;" f floatSize src/Shader/Parameters.hs 17;" f flockACC src/Dodge/Creature/ReaderUpdate.hs 89;" f -flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 15;" f +flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f flockCenterFunc src/Dodge/Creature/Boid.hs 254;" f flockChaseTarget src/Dodge/Creature/Boid.hs 185;" f flockFunc src/Dodge/Creature/Boid.hs 241;" f @@ -4374,8 +4370,8 @@ foamSprayLoopS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 420;" f foldCr src/Dodge/Creature/State.hs 45;" f foldPairs src/ListHelp.hs 37;" f foldrWhileArb src/ListHelp.hs 110;" f -followImpulse src/Dodge/Creature/Impulse.hs 37;" f -followImpulses src/Dodge/Creature/Impulse.hs 31;" f +followImpulse src/Dodge/Creature/Impulse.hs 38;" f +followImpulses src/Dodge/Creature/Impulse.hs 32;" f foot1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 372;" f foot2S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 388;" f foot3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 470;" f @@ -4458,7 +4454,7 @@ getRootItemBounds src/Dodge/Render/HUD.hs 95;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 15;" f getSensor src/Dodge/Terminal.hs 189;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f -getSplitString src/Dodge/Debug/Terminal.hs 125;" f +getSplitString src/Dodge/Debug/Terminal.hs 126;" f getTiles src/Dodge/Layout.hs 208;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f @@ -4512,7 +4508,7 @@ halfWidth src/Dodge/Base/Window.hs 48;" f haltSound src/Dodge/SoundLogic.hs 38;" f hammerCheck src/Dodge/HeldUse.hs 87;" f handleEvent src/Dodge/Event.hs 27;" f -handleHotkeys src/Dodge/Creature/YourControl.hs 44;" f +handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f handleMouseButtonEvent src/Dodge/Event/Input.hs 63;" f handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f @@ -4546,7 +4542,7 @@ heldEffectNoHammerCheck src/Dodge/HeldUse.hs 76;" f heldHandlePos src/Dodge/Item/HeldOffset.hs 95;" f heldInfo src/Dodge/Item/Info.hs 90;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f -heldItemBulkiness src/Dodge/Creature/YourControl.hs 176;" f +heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f heldItemInvLock src/Dodge/HeldUse.hs 440;" f heldItemMuzVel src/Dodge/HeldUse.hs 1025;" f heldItemMuzzles src/Dodge/HeldUse.hs 170;" f @@ -4568,21 +4564,21 @@ highBar src/Dodge/Room/Foreground.hs 89;" f highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f highMesh src/Dodge/Room/Foreground.hs 25;" f hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 438;" f -hitEffFromBul src/Dodge/Bullet.hs 147;" f +hitEffFromBul src/Dodge/Bullet.hs 157;" f hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 406;" f holdForm src/Dodge/Creature/Boid.hs 137;" f holsterWeapon src/Dodge/Creature/Volition.hs 14;" f homingModule src/Dodge/Item/Scope.hs 48;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f hotkeyToChar src/Dodge/Inventory/SelectionList.hs 184;" f -hotkeyToScancode src/Dodge/Creature/YourControl.hs 74;" f +hotkeyToScancode src/Dodge/Creature/YourControl.hs 75;" f hotkeyToString src/Dodge/Inventory/SelectionList.hs 181;" f humanoidAIList src/Dodge/Humanoid.hs 182;" f iShape src/Dodge/Placement/Instance/LightSource.hs 73;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f ildtPropagate src/Dodge/DoubleTree.hs 57;" f -impulsiveAIBefore src/Dodge/Creature/Impulse.hs 22;" f +impulsiveAIBefore src/Dodge/Creature/Impulse.hs 23;" f inLink src/Dodge/RoomLink.hs 113;" f inSegArea src/Geometry/Intersect.hs 298;" f inTextInputFocus src/Dodge/InputFocus.hs 10;" f @@ -4696,7 +4692,7 @@ isRHS src/Geometry/LHS.hs 24;" f isUnusedLnk src/Dodge/PlacementSpot.hs 61;" f isUnusedLnkType src/Dodge/PlacementSpot.hs 186;" f isUsedLnkUnplaced src/Dodge/PlacementSpot.hs 172;" f -isValidCommand src/Dodge/Debug/Terminal.hs 130;" f +isValidCommand src/Dodge/Debug/Terminal.hs 131;" f isVowel src/StringHelp.hs 8;" f isWalkable src/Dodge/Base/Collide.hs 226;" f isoMatrix src/MatrixHelper.hs 30;" f @@ -4711,7 +4707,7 @@ itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f itemBaseConnections src/Dodge/Item/Grammar.hs 196;" f itemBaseName src/Dodge/Item/Display.hs 59;" f itemBlips src/Dodge/RadarSweep.hs 93;" f -itemBulkiness src/Dodge/Creature/YourControl.hs 171;" f +itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f itemCombinations src/Dodge/Combine/Combinations.hs 55;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 60;" f itemDetectorEffect src/Dodge/HeldUse.hs 767;" f @@ -4844,7 +4840,7 @@ loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f loadSounds src/Dodge/SoundLogic/LoadSound.hs 17;" f loadingScreen src/Dodge/Concurrent.hs 56;" f loadingScreen src/Dodge/Menu/Loading.hs 8;" f -loadme src/Dodge/Debug/Terminal.hs 138;" f +loadme src/Dodge/Debug/Terminal.hs 139;" f locGoHelp src/Dodge/DoubleTree.hs 220;" f locGoLeft src/Dodge/DoubleTree.hs 209;" f locGoRight src/Dodge/DoubleTree.hs 214;" f @@ -4862,7 +4858,7 @@ longBlockedCorridor src/Dodge/Room/RoadBlock.hs 58;" f longCrit src/Dodge/Creature.hs 70;" f longRoom src/Dodge/Room/LongRoom.hs 22;" f longRoomRunPast src/Dodge/Room/LongRoom.hs 48;" f -longestCommonPrefix src/Dodge/Debug/Terminal.hs 141;" f +longestCommonPrefix src/Dodge/Debug/Terminal.hs 142;" f lookupTrie src/SimpleTrie.hs 29;" f loopPairs src/ListHelp.hs 30;" f lootRoom src/Dodge/Room/Treasure.hs 58;" f @@ -4911,14 +4907,14 @@ makeDefaultCorpse src/Dodge/Corpse/Make.hs 16;" f makeDoorDebris src/Dodge/Block/Debris.hs 18;" f makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 72;" f -makeFlak src/Dodge/Bullet.hs 136;" f +makeFlak src/Dodge/Bullet.hs 146;" f makeFlame src/Dodge/Flame.hs 132;" f makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 55;" f makeFlamelet src/Dodge/EnergyBall.hs 17;" f makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f makeFlashBall src/Dodge/EnergyBall.hs 78;" f makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f -makeFragBullets src/Dodge/Bullet.hs 122;" f +makeFragBullets src/Dodge/Bullet.hs 130;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 34;" f @@ -5053,12 +5049,12 @@ modTo src/Geometry/Zone.hs 10;" f mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f mouseCursorType src/Dodge/Render/Picture.hs 86;" f mouseWorldPos' src/Dodge/Base/Coordinate.hs 48;" f -moveBullet src/Dodge/Bullet.hs 187;" f +moveBullet src/Dodge/Bullet.hs 197;" f moveCombineSel src/Dodge/Update/Scroll.hs 115;" f moveHammerUp src/Dodge/Hammer.hs 5;" f moveInverseShockwave src/Dodge/Shockwave/Update.hs 54;" f moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f -movePenBullet src/Dodge/Bullet.hs 197;" f +movePenBullet src/Dodge/Bullet.hs 207;" f moveProjectile src/Dodge/Projectile/Update.hs 221;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveShockwave src/Dodge/Shockwave/Update.hs 18;" f @@ -5196,14 +5192,14 @@ pauseSound src/Dodge/SoundLogic.hs 42;" f pauseTime src/Dodge/Update.hs 185;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 50;" f -penThing src/Dodge/Bullet.hs 204;" f +penThing src/Dodge/Bullet.hs 214;" f perMat src/MatrixHelper.hs 49;" f perceptionUpdate src/Dodge/Creature/Perception.hs 23;" f -performAction src/Dodge/Creature/Action.hs 90;" f -performActions src/Dodge/Creature/Action.hs 36;" f -performAimAt src/Dodge/Creature/Action.hs 46;" f -performPathTo src/Dodge/Creature/Action.hs 59;" f -performTurnToA src/Dodge/Creature/Action.hs 77;" f +performAction src/Dodge/Creature/Action.hs 91;" f +performActions src/Dodge/Creature/Action.hs 37;" f +performAimAt src/Dodge/Creature/Action.hs 47;" f +performPathTo src/Dodge/Creature/Action.hs 60;" f +performTurnToA src/Dodge/Creature/Action.hs 78;" f perspectiveMatrixb src/MatrixHelper.hs 11;" f pesNearCirc src/Dodge/Zoning/Pathing.hs 43;" f pesNearPoint src/Dodge/Zoning/Pathing.hs 33;" f @@ -5429,7 +5425,7 @@ radBounds src/Dodge/Room/Foreground.hs 154;" f radToDeg src/Geometry/Vector.hs 122;" f randBlockBreakWeapon src/Dodge/Item/Random.hs 7;" f randC1 src/Dodge/Placement/Instance/Creature.hs 8;" f -randColDirSpark src/Dodge/Spark.hs 50;" f +randColDirSpark src/Dodge/Spark.hs 51;" f randDirPS src/Dodge/PlacementSpot.hs 56;" f randEdgeTank src/Dodge/Room/Tanks.hs 33;" f randEdgeTanks src/Dodge/Room/Tanks.hs 63;" f @@ -5447,7 +5443,7 @@ randOnUnitSphere src/RandomHelp.hs 90;" f randPeaked src/RandomHelp.hs 138;" f randPeakedParam src/RandomHelp.hs 130;" f randProb src/RandomHelp.hs 68;" f -randSpark src/Dodge/Spark.hs 74;" f +randSpark src/Dodge/Spark.hs 75;" f randWallReflect src/Dodge/Tesla/Arc.hs 57;" f randWallReflect src/Dodge/Update.hs 584;" f randomChallenges src/Dodge/Room/Start.hs 62;" f @@ -5492,7 +5488,7 @@ reloadS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 452;" f rememberSounds src/Dodge/Creature/Perception.hs 178;" f remoteDetonator src/Dodge/Item/Scope.hs 144;" f remoteScreen src/Dodge/Item/Scope.hs 139;" f -removeAimPosture src/Dodge/Creature/YourControl.hs 146;" f +removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f removeAmmoFromMag src/Dodge/HeldUse.hs 868;" f removeDot src/ShortShow.hs 29;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f @@ -5628,7 +5624,7 @@ scaleMat src/MatrixHelper.hs 59;" f scaleMatrix src/MatrixHelper.hs 56;" f scaleSH src/Shape.hs 268;" f scalp src/Dodge/Creature/Picture.hs 98;" f -scancodeToHotkey src/Dodge/Creature/YourControl.hs 94;" f +scancodeToHotkey src/Dodge/Creature/YourControl.hs 95;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f scorchSPic src/Dodge/Creature/State.hs 119;" f screenBox src/Dodge/Base/Window.hs 53;" f @@ -5682,14 +5678,14 @@ sensorSPic src/Dodge/Machine/Draw.hs 70;" f sentinelAI src/Dodge/Creature/SentinelAI.hs 20;" f sentinelExtraWatchUpdate src/Dodge/Creature/SentinelAI.hs 83;" f sentinelFireType src/Dodge/Creature/SentinelAI.hs 50;" f -setAimPosture src/Dodge/Creature/YourControl.hs 136;" f +setAimPosture src/Dodge/Creature/YourControl.hs 137;" f setChannelPos src/Sound.hs 150;" f setClickWorldPos src/Dodge/Update.hs 101;" f setClusterID src/Dodge/Combine/Graph.hs 115;" f setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f setFallback src/Dodge/PlacementSpot.hs 127;" f -setFromToDams src/Dodge/Bullet.hs 164;" f +setFromToDams src/Dodge/Bullet.hs 174;" f setInLinks src/Dodge/RoomLink.hs 51;" f setInLinksByType src/Dodge/RoomLink.hs 54;" f setInLinksPD src/Dodge/RoomLink.hs 74;" f @@ -5864,7 +5860,7 @@ spanColLightI src/Dodge/Placement/Instance/LightSource.hs 183;" f spanLS src/Dodge/Placement/Instance/LightSource.hs 175;" f spanLSLightI src/Dodge/Placement/Instance/LightSource.hs 168;" f spanLightI src/Dodge/Placement/Instance/LightSource.hs 197;" f -sparkDam src/Dodge/Spark.hs 32;" f +sparkDam' src/Dodge/Spark.hs 33;" f sparkGun src/Dodge/Item/Held/BatteryGuns.hs 13;" f spawnCrNextTo src/Dodge/Item/Weapon/Spawn.hs 20;" f spawnElectricalSparks src/Dodge/PosEvent.hs 20;" f @@ -5932,7 +5928,7 @@ stone5S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 474;" f stoneDebris src/Dodge/Block/Debris.hs 137;" f stoneWallDamage src/Dodge/Wall/DamageEffect.hs 24;" f stopAllSounds src/Sound.hs 125;" f -stopBulletAt src/Dodge/Bullet.hs 190;" f +stopBulletAt src/Dodge/Bullet.hs 200;" f stopPushing src/Dodge/Block.hs 107;" f stopSoundFrom src/Dodge/SoundLogic.hs 220;" f strFromEquipment src/Dodge/Creature/Statistics.hs 48;" f @@ -6029,7 +6025,7 @@ thingHitFilt src/Dodge/WorldEvent/ThingsHit.hs 53;" f thingsHit src/Dodge/WorldEvent/ThingsHit.hs 29;" f thingsHitExceptCr src/Dodge/WorldEvent/ThingsHit.hs 73;" f threeLineDecoration src/Dodge/Placement/TopDecoration.hs 61;" f -throwItem src/Dodge/Creature/Action.hs 204;" f +throwItem src/Dodge/Creature/Action.hs 205;" f tileTexCoords src/Tile.hs 11;" f tilesFromRooms src/Dodge/Layout.hs 205;" f tilesToLine src/Shader/AuxAddition.hs 66;" f @@ -6134,7 +6130,7 @@ truncFaces src/Polyhedra/Geodesic.hs 53;" f truncate src/Polyhedra/Geodesic.hs 38;" f trunkDepth src/TreeHelp.hs 161;" f tryAttachItems src/Dodge/Item/Grammar.hs 31;" f -tryClickUse src/Dodge/Creature/YourControl.hs 220;" f +tryClickUse src/Dodge/Creature/YourControl.hs 221;" f tryCombine src/Dodge/Update/Input/InGame.hs 526;" f tryDropSelected src/Dodge/Update/Input/InGame.hs 125;" f tryGetChannel src/Sound.hs 97;" f @@ -6160,7 +6156,7 @@ twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f twists src/Dodge/Creature/Test.hs 107;" f twoFlat src/Dodge/Creature/Test.hs 104;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 87;" f -twoHandTwistAmount src/Dodge/Creature/YourControl.hs 149;" f +twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 450;" f @@ -6196,7 +6192,7 @@ updateBarrel src/Dodge/Barreloid.hs 45;" f updateBarreloid src/Dodge/Barreloid.hs 13;" f updateBaseWheelEvent src/Dodge/Update/Scroll.hs 29;" f updateBounds src/Dodge/Update/Camera.hs 250;" f -updateBulVel src/Dodge/Bullet.hs 53;" f +updateBulVel src/Dodge/Bullet.hs 61;" f updateBullet src/Dodge/Bullet.hs 21;" f updateBullets src/Dodge/Update.hs 540;" f updateCamera src/Dodge/Update/Camera.hs 29;" f @@ -6317,12 +6313,12 @@ upperPrismPolyTS src/Shape.hs 119;" f upperRounded src/Shape.hs 184;" f useBreakL src/Dodge/Item/Grammar.hs 37;" f useBreakListsLinkTest src/Dodge/Item/Grammar.hs 45;" f -useBulletPayload src/Dodge/Bullet.hs 111;" f +useBulletPayload src/Dodge/Bullet.hs 119;" f useC src/Dodge/Cuse.hs 8;" f useC' src/Dodge/Cuse.hs 13;" f useDelay src/Dodge/Item/UseDelay.hs 13;" f useGasParams src/Dodge/HeldUse.hs 1118;" f -useHotkey src/Dodge/Creature/YourControl.hs 69;" f +useHotkey src/Dodge/Creature/YourControl.hs 70;" f useInventoryPath src/Dodge/HeldUse.hs 1381;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f @@ -6353,7 +6349,7 @@ vNormaly src/Geometry/Vector3D.hs 72;" f vShape src/Dodge/Placement/Instance/LightSource.hs 113;" f vToL src/MatrixHelper.hs 46;" f vToQuat src/Quaternion.hs 41;" f -validTerminalCommands src/Dodge/Debug/Terminal.hs 133;" f +validTerminalCommands src/Dodge/Debug/Terminal.hs 134;" f vasTightStride src/Shader/Compile.hs 297;" f vecBetweenSpeed src/Dodge/Base.hs 146;" f vecTurnTo src/Dodge/Movement/Turn.hs 19;" f @@ -6385,11 +6381,11 @@ wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallsFromRooms src/Dodge/Layout.hs 146;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f warningRooms src/Dodge/Room/Warning.hs 28;" f -wasdAim src/Dodge/Creature/YourControl.hs 125;" f +wasdAim src/Dodge/Creature/YourControl.hs 126;" f wasdDir src/Dodge/WASD.hs 17;" f wasdM src/Dodge/WASD.hs 9;" f -wasdMovement src/Dodge/Creature/YourControl.hs 152;" f -wasdWithAiming src/Dodge/Creature/YourControl.hs 118;" f +wasdMovement src/Dodge/Creature/YourControl.hs 153;" f +wasdWithAiming src/Dodge/Creature/YourControl.hs 119;" f watchCombinations src/Dodge/Combine/Combinations.hs 15;" f watchUpdateStrat src/Dodge/Creature/ReaderUpdate.hs 179;" f weakenMatS src/Dodge/Material/Sound.hs 18;" f @@ -6449,11 +6445,10 @@ yIntercepts' src/Dodge/Zoning/Base.hs 75;" f yV2 src/Geometry/Vector.hs 210;" f yellow src/Color.hs 17;" f you src/Dodge/Base/You.hs 12;" f -youDropItem src/Dodge/Creature/Action.hs 189;" f +youDropItem src/Dodge/Creature/Action.hs 190;" f yourAugmentedItem src/Dodge/Render/HUD.hs 236;" f -yourControl src/Dodge/Creature/YourControl.hs 27;" f -yourDefaultSpeed src/Dodge/Default/Creature.hs 108;" f -yourDefaultStrideLength src/Dodge/Default/Creature.hs 111;" f +yourControl src/Dodge/Creature/YourControl.hs 28;" f +yourDefaultStrideLength src/Dodge/Default/Creature.hs 108;" f yourInfo src/Dodge/Creature/Info.hs 10;" f yourInv src/Dodge/Base/You.hs 25;" f yourRootItem src/Dodge/Base/You.hs 20;" f