Fold together useDelay and itemTriggerType

This commit is contained in:
2025-07-03 22:25:32 +01:00
parent 8a00450e3f
commit a207073846
12 changed files with 404 additions and 365 deletions
+39 -39
View File
@@ -16,45 +16,45 @@ itemTriggerType itm = case itm ^. itType of
heldTriggerType :: HeldItemType -> TriggerType heldTriggerType :: HeldItemType -> TriggerType
heldTriggerType = \case heldTriggerType = \case
BANGSTICK{} -> HammerTrigger BANGSTICK{} -> HammerTrigger 8
REWINDER -> HammerTrigger REWINDER -> HammerTrigger 20
TIMESTOPPER -> HammerTrigger TIMESTOPPER -> HammerTrigger 20
TIMESCROLLER -> HammerTrigger TIMESCROLLER -> HammerTrigger 20
PISTOL -> HammerTrigger PISTOL -> HammerTrigger 6
MACHINEPISTOL -> AutoTrigger MACHINEPISTOL -> WarmUpCoolDown 50 100 200
AUTOPISTOL -> AutoTrigger AUTOPISTOL -> AutoTrigger 8
SMG -> AutoTrigger SMG -> AutoTrigger 8
BANGCONE -> HammerTrigger BANGCONE -> HammerTrigger 20
BLUNDERBUSS -> HammerTrigger BLUNDERBUSS -> HammerTrigger 20
GRAPECANNON{} -> HammerTrigger GRAPECANNON{} -> HammerTrigger 20
MINIGUNX{} -> AutoTrigger MINIGUNX{} -> WarmUpNoDelay 100
--VOLLEYGUN i -> BurstTrigger $ fmap (3*) [1 .. i-1] --VOLLEYGUN i -> BurstTrigger $ fmap (3*) [1 .. i-1]
VOLLEYGUN i -> VolleyGunTrigger i VOLLEYGUN i -> VolleyGunTrigger i 15
RIFLE -> HammerTrigger RIFLE -> HammerTrigger 6
ALTERIFLE -> HammerTrigger ALTERIFLE -> HammerTrigger 6
AUTORIFLE -> AutoTrigger AUTORIFLE -> AutoTrigger 6
BURSTRIFLE -> BurstTrigger [3,6] BURSTRIFLE -> BurstTrigger [3,6] 8 -- time last used gets updated after last burst fire
BANGROD -> HammerTrigger BANGROD -> HammerTrigger 12
ELEPHANTGUN -> HammerTrigger ELEPHANTGUN -> HammerTrigger 12
AMR -> HammerTrigger AMR -> HammerTrigger 12
AUTOAMR -> AutoTrigger AUTOAMR -> AutoTrigger 12
SNIPERRIFLE -> HammerTrigger SNIPERRIFLE -> HammerTrigger 12
FLAMESPITTER -> BurstTrigger [1..9] FLAMESPITTER -> BurstTrigger [1..9] 6
FLAMETHROWER -> AutoTrigger FLAMETHROWER -> NoTrigger
FLAMETORRENT -> AutoTrigger FLAMETORRENT -> NoTrigger
FLAMEWALL -> AutoTrigger FLAMEWALL -> NoTrigger
BLOWTORCH -> AutoTrigger BLOWTORCH -> NoTrigger
SPARKGUN -> AutoTrigger SPARKGUN -> NoTrigger
TESLAGUN -> AutoTrigger TESLAGUN -> NoTrigger
LASER -> AutoTrigger LASER -> NoTrigger
TRACTORGUN -> AutoTrigger TRACTORGUN -> NoTrigger
RLAUNCHER -> HammerTrigger RLAUNCHER -> HammerTrigger 20
RLAUNCHERX{} -> HammerTrigger RLAUNCHERX{} -> HammerTrigger 20
GLAUNCHER -> HammerTrigger GLAUNCHER -> HammerTrigger 20
POISONSPRAYER -> AutoTrigger POISONSPRAYER -> NoTrigger
SHATTERGUN -> HammerTrigger SHATTERGUN -> HammerTrigger 20
TORCH -> AutoTrigger TORCH -> NoTrigger
FLATSHIELD -> NoTrigger FLATSHIELD -> NoTrigger
KEYCARD{} -> NoTrigger KEYCARD{} -> NoTrigger
BLINKER -> AlwaysSingleTrigger BLINKER -> HammerTrigger 20
BLINKERUNSAFE -> AlwaysSingleTrigger BLINKERUNSAFE -> HammerTrigger 20
+23 -21
View File
@@ -1,4 +1,4 @@
{-# LANGUAGE LambdaCase #-} --{-# LANGUAGE LambdaCase #-}
module Dodge.Creature.Impulse.UseItem (useItem) where module Dodge.Creature.Impulse.UseItem (useItem) where
@@ -19,8 +19,9 @@ useItem :: Int -> PressType -> World -> Maybe World
useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
itmloc <- allInvLocs (_crInv cr) ^? ix invid . _2 itmloc <- allInvLocs (_crInv cr) ^? ix invid . _2
let usedloc = chooseUseLocation itmloc useItemLoc cr itmloc pt w
useItemLoc cr usedloc pt w -- let usedloc = chooseUseLocation itmloc
-- useItemLoc cr usedloc pt w
useItemLoc :: Creature -> LocationLDT ItemLink OItem -> PressType -> World -> Maybe World useItemLoc :: Creature -> LocationLDT ItemLink OItem -> PressType -> World -> Maybe World
useItemLoc cr loc pt w useItemLoc cr loc pt w
@@ -50,29 +51,30 @@ useItemLoc cr loc pt w
, pt == InitialPress , pt == InitialPress
, Just invid' <- itm ^? itLocation . ilInvID = , Just invid' <- itm ^? itLocation . ilInvID =
return $ toggleEquipmentAt invid' cr w return $ toggleEquipmentAt invid' cr w
| otherwise = Nothing | otherwise = (\loc' -> useItemLoc cr loc' pt w) =<< locUp loc
-- ie try location above
where where
sf = loc ^. locLDT . ldtValue . _2 sf = loc ^. locLDT . ldtValue . _2
ldt = loc ^. locLDT ldt = loc ^. locLDT
itm = ldt ^. ldtValue . _1 itm = ldt ^. ldtValue . _1
chooseUseLocation :: LocationLDT ItemLink OItem -> LocationLDT ItemLink OItem --chooseUseLocation :: LocationLDT ItemLink OItem -> LocationLDT ItemLink OItem
chooseUseLocation loc --chooseUseLocation loc
| isJust $ loc ^? locLDT . ldtValue . _1 . itType . ibtEquip = loc -- | isJust $ loc ^? locLDT . ldtValue . _1 . itType . ibtEquip = loc
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 = -- | isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 =
loc -- loc
| sf <- loc ^. locLDT . ldtValue . _2 -- | sf <- loc ^. locLDT . ldtValue . _2
, structureUseAtLoc sf = -- , structureUseAtLoc sf =
loc -- loc
| otherwise = maybe loc chooseUseLocation $ locUp loc -- | otherwise = maybe loc chooseUseLocation $ locUp loc
--
structureUseAtLoc :: ItemStructuralFunction -> Bool --structureUseAtLoc :: ItemStructuralFunction -> Bool
structureUseAtLoc = \case --structureUseAtLoc = \case
HeldPlatformSF -> True -- HeldPlatformSF -> True
UnderBarrelPlatformSF -> True -- UnderBarrelPlatformSF -> True
GadgetPlatformSF -> True -- GadgetPlatformSF -> True
MapperSF -> True -- MapperSF -> True
_ -> False -- _ -> False
activateDetonator :: LDTree ItemLink OItem -> World -> World activateDetonator :: LDTree ItemLink OItem -> World -> World
activateDetonator det = fromMaybe id $ do activateDetonator det = fromMaybe id $ do
+8 -7
View File
@@ -3,9 +3,10 @@ module Dodge.Creature.State (
doDamage, doDamage,
) where ) where
import Dodge.HeldUse
import Dodge.BaseTriggerType
import Dodge.Data.DoubleTree import Dodge.Data.DoubleTree
import Dodge.Item.Orientation import Dodge.Item.Orientation
import Dodge.Item.UseDelay
import Control.Applicative import Control.Applicative
import Control.Monad import Control.Monad
import qualified Data.Map.Strict as M import qualified Data.Map.Strict as M
@@ -166,26 +167,26 @@ invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
w & pointerToItem itm . itParams . wTime w & pointerToItem itm . itParams . wTime
%~ (max 0 . subtract 1) %~ (max 0 . subtract 1)
HELD MACHINEPISTOL{} HELD MACHINEPISTOL{}
| fromMaybe 0 (itm ^? itParams . wTime) >= _coolEnd (useDelay itm) -> | fromMaybe 0 (itm ^? itParams . wTime) >= _coolEnd (itemTriggerType itm) ->
w & pointerToItem itm . itParams . wTime w & pointerToItem itm . itParams . wTime
.~ 0 .~ 0
& pointerToItem itm . itParams . coolSound .~ Nothing & pointerToItem itm . itParams . coolSound .~ Nothing
| fromMaybe 0 (itm ^? itParams . wTime) == _coolStart (useDelay itm) -> | fromMaybe 0 (itm ^? itParams . wTime) == _coolStart (itemTriggerType itm) ->
w w
& randGen .~ g & randGen .~ g
& pointerToItem itm . itParams . wTime +~ 1 & pointerToItem itm . itParams . wTime +~ 1
& pointerToItem itm . itParams . coolSound ?~ sid & pointerToItem itm . itParams . coolSound ?~ sid
& soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) sid (Just 1) & soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) sid (Just 1)
| fromMaybe 0 (itm ^? itParams . wTime) > _coolStart (useDelay itm) -> | fromMaybe 0 (itm ^? itParams . wTime) > _coolStart (itemTriggerType itm) ->
w w
& pointerToItem itm . itParams . wTime +~ 1 & pointerToItem itm . itParams . wTime +~ 1
& soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) (fromMaybe undefined (itm ^? itParams . coolSound . _Just)) (Just 1) & soundContinue (CrWeaponSound (_crID cr) (fromIntegral $ _itID itm)) (_crPos cr) (fromMaybe undefined (itm ^? itParams . coolSound . _Just)) (Just 1)
| itm ^? itParams . isWarming == Just True -> | itm ^? itParams . isWarming == Just True ->
w w
& pointerToItem itm . itParams . isWarming .~ False & pointerToItem itm . itParams . isWarming .~ False
| fromMaybe 0 (itm ^? itParams . wTime) >= _warmStart (useDelay itm) -> | fromMaybe 0 (itm ^? itParams . wTime) >= _warmStart (itemTriggerType itm) ->
w & pointerToItem itm . itParams . wTime w & pointerToItem itm . itParams . wTime
.~ _coolStart (useDelay itm) .~ _coolStart (itemTriggerType itm)
| otherwise -> | otherwise ->
w & pointerToItem itm . itParams . wTime w & pointerToItem itm . itParams . wTime
.~ 0 .~ 0
@@ -219,7 +220,7 @@ tryUseParent loc w = fromMaybe w $ do
t <- locUp loc t <- locUp loc
let t' = t ^. locLDT let t' = t ^. locLDT
cr <- w ^? cWorld . lWorld . creatures . ix 0 cr <- w ^? cWorld . lWorld . creatures . ix 0
return $ heldEffectNoHammerCheck t' cr w return $ heldEffect InitialPress t' cr w
trySynthBullet :: LocationLDT ItemLink OItem -> World -> World trySynthBullet :: LocationLDT ItemLink OItem -> World -> World
trySynthBullet loc w = fromMaybe w $ do trySynthBullet loc w = fromMaybe w $ do
+16 -6
View File
@@ -1,18 +1,28 @@
{-# LANGUAGE StrictData #-} {-# LANGUAGE StrictData #-}
--{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.TriggerType where module Dodge.Data.TriggerType where
import Control.Lens
--import Data.Aeson --import Data.Aeson
--import Data.Aeson.TH --import Data.Aeson.TH
data TriggerType data TriggerType
= AutoTrigger = AutoTrigger Int
| HammerTrigger | HammerTrigger Int
| NoTrigger | NoTrigger
| AlwaysSingleTrigger -- | AlwaysSingleTrigger Int
| BurstTrigger [Int] | BurstTrigger {_burstFrames :: [Int], _burstRate :: Int}
| VolleyGunTrigger Int | VolleyGunTrigger {_volleyNumBarrels::Int, _volleyRate :: Int}
| WarmUpCoolDown
{ _warmStart :: Int
, _coolStart :: Int
, _coolEnd :: Int
}
| WarmUpNoDelay
{ _warmMax :: Int
}
deriving (Eq, Show, Read) deriving (Eq, Show, Read)
makeLenses ''TriggerType
--deriveJSON defaultOptions ''TriggerType --deriveJSON defaultOptions ''TriggerType
-8
View File
@@ -12,14 +12,6 @@ data ItemUseDelay -- should just be Delay
| FixedRate | FixedRate
{ _rateMax :: Int { _rateMax :: Int
} }
| WarmUpNoDelay
{ _warmMax :: Int
}
| WarmUpCoolDown
{ _warmStart :: Int
, _coolStart :: Int
, _coolEnd :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''ItemUseDelay makeLenses ''ItemUseDelay
+90 -68
View File
@@ -4,7 +4,7 @@
module Dodge.HeldUse ( module Dodge.HeldUse (
gadgetEffect, gadgetEffect,
heldEffectNoHammerCheck, heldEffect,
mcUseHeld, mcUseHeld,
heldEffectMuzzles, heldEffectMuzzles,
) where ) where
@@ -23,13 +23,11 @@ import Dodge.Creature.Radius
import Dodge.Data.ComposedItem import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree import Dodge.Data.DoubleTree
import Dodge.Data.Muzzle import Dodge.Data.Muzzle
import Dodge.Data.UseDelay
import Dodge.Data.World import Dodge.Data.World
import Dodge.Gas import Dodge.Gas
import Dodge.Inventory.Lock import Dodge.Inventory.Lock
import Dodge.Inventory.Path import Dodge.Inventory.Path
import Dodge.Item.HeldOffset import Dodge.Item.HeldOffset
import Dodge.Item.UseDelay
import Dodge.Item.Weapon.Bullet import Dodge.Item.Weapon.Bullet
import Dodge.Item.Weapon.Shatter import Dodge.Item.Weapon.Shatter
import Dodge.Projectile.Create import Dodge.Projectile.Create
@@ -61,17 +59,8 @@ gadgetEffect pt loc
| otherwise = const id | otherwise = const id
heldEffect :: PressType -> LDTree ItemLink OItem -> Creature -> World -> World heldEffect :: PressType -> LDTree ItemLink OItem -> Creature -> World -> World
heldEffect = useTimeCheck . hammerCheck heldEffectMuzzles heldEffect = hammerCheck heldEffectMuzzles
--heldEffect = useTimeCheck . hammerCheck heldEffectMuzzles
heldEffectNoHammerCheck :: LDTree ItemLink OItem -> Creature -> World -> World
heldEffectNoHammerCheck = useTimeCheck heldEffectMuzzles
type ChainEffect =
(LDTree ItemLink OItem -> Creature -> World -> World) ->
LDTree ItemLink OItem ->
Creature ->
World ->
World
hammerCheck :: hammerCheck ::
(LDTree ItemLink OItem -> Creature -> World -> World) -> (LDTree ItemLink OItem -> Creature -> World -> World) ->
@@ -80,25 +69,54 @@ hammerCheck ::
Creature -> Creature ->
World -> World ->
World World
hammerCheck f pt it cr w hammerCheck f pt it cr w = case itemTriggerType $ it ^. ldtValue . _1 of
| BurstTrigger is <- itemTriggerType (it ^. ldtValue . _1) WarmUpNoDelay wm
, pt == InitialPress = | _wTime (_itParams $ _ldtValue $ fmap (^. _1) it) < wm ->
w & setwarming
& soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ it ^. ldtValue . _1 . itType) (Just 2)
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1
WarmUpNoDelay{} -> f it cr w & setwarming
WarmUpCoolDown ws _ _
| _wTime (_itParams $ _ldtValue $ fmap (^. _1) it) < ws ->
w & setwarming
& soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ it ^. ldtValue . _1 . itType) (Just 2)
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1
WarmUpCoolDown _ cs _
| _wTime (_itParams $ _ldtValue $ fmap (^. _1) it) < cs ->
f it cr w & setwarming
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1
WarmUpCoolDown{} -> w & setwarming
BurstTrigger is t
| w ^. cWorld . lWorld . lClock - t > timelastused
, pt == InitialPress ->
w & f it cr & cWorld . lWorld . delayedEvents .++~ map g is w & f it cr & cWorld . lWorld . delayedEvents .++~ map g is
| BurstTrigger{} <- itemTriggerType (it ^. ldtValue . _1) = w BurstTrigger{} -> w
| VolleyGunTrigger i <- itemTriggerType (it ^. ldtValue . _1) VolleyGunTrigger i t
, pt == InitialPress = | w ^. cWorld . lWorld . lClock - t > timelastused
, pt == InitialPress ->
let (is, gen) = getVolleyBurst i (w ^. randGen) let (is, gen) = getVolleyBurst i (w ^. randGen)
in w & f it cr in w & f it cr
& cWorld . lWorld . delayedEvents .++~ map g is & cWorld . lWorld . delayedEvents .++~ map g is
& randGen .~ gen & randGen .~ gen
| VolleyGunTrigger{} <- itemTriggerType (it ^. ldtValue . _1) = w VolleyGunTrigger{} -> w
| t <- itemTriggerType (it ^. ldtValue . _1) HammerTrigger t
, t == HammerTrigger || t == AlwaysSingleTrigger | w ^. cWorld . lWorld . lClock - t > timelastused
, isNothing $ lookup MakeAutoLink (it ^. ldtRight) , isNothing $ lookup MakeAutoLink (it ^. ldtRight)
, pt /= InitialPress = , pt == InitialPress ->
w f it cr w
| otherwise = f it cr w AutoTrigger t
| w ^. cWorld . lWorld . lClock - t > timelastused ->
f it cr w
_ -> w
where where
cid = _crID cr
-- the following is unsafe, but if ilInvID isn't correctly set we probably
-- will have problems elsewhere also
itRef = it ^?! ldtValue . _1 . itLocation . ilInvID
setwarming =
cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . isWarming
%~ const True
timelastused = it ^. ldtValue . _1 . itTimeLastUsed
g x = (x, WdWdBurstFireRepetition (_crID cr) (it ^?! ldtValue . _1 . itLocation . ilInvID)) g x = (x, WdWdBurstFireRepetition (_crID cr) (it ^?! ldtValue . _1 . itLocation . ilInvID))
getVolleyBurst :: (Random a, RandomGen b, Num a) => Int -> b -> ([a], b) getVolleyBurst :: (Random a, RandomGen b, Num a) => Int -> b -> ([a], b)
@@ -109,38 +127,44 @@ getVolleyBurst i g =
{- | Applies a world effect after an item use cooldown check. {- | Applies a world effect after an item use cooldown check.
input buffering? input buffering?
-} -}
useTimeCheck :: ChainEffect useTimeCheck ::
useTimeCheck f item cr w = case useDelay $ item ^. ldtValue . _1 of (LDTree ItemLink OItem -> Creature -> World -> World) ->
FixedRate rate LDTree ItemLink OItem ->
| w ^. cWorld . lWorld . lClock - rate > lastused -> f item cr w Creature ->
-- note that the time last used must be updated later in the chain! World ->
FixedRate{} -> w World
WarmUpNoDelay wm useTimeCheck f item cr w = w
| _wTime (_itParams $ _ldtValue $ fmap (^. _1) item) < wm -> -- case useDelay $ item ^. ldtValue . _1 of
w & setwarming -- FixedRate rate
& soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ item ^. ldtValue . _1 . itType) (Just 2) -- | w ^. cWorld . lWorld . lClock - rate > lastused -> f item cr w
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1 -- -- note that the time last used must be updated later in the chain!
WarmUpNoDelay{} -> f item cr w & setwarming -- FixedRate{} -> w
WarmUpCoolDown ws _ _ -- WarmUpNoDelay wm
| _wTime (_itParams $ _ldtValue $ fmap (^. _1) item) < ws -> -- | _wTime (_itParams $ _ldtValue $ fmap (^. _1) item) < wm ->
w & setwarming -- w & setwarming
& soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ item ^. ldtValue . _1 . itType) (Just 2) -- & soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ item ^. ldtValue . _1 . itType) (Just 2)
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1 -- & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1
WarmUpCoolDown _ cs _ -- WarmUpNoDelay{} -> f item cr w & setwarming
| _wTime (_itParams $ _ldtValue $ fmap (^. _1) item) < cs -> -- WarmUpCoolDown ws _ _
f item cr w & setwarming -- | _wTime (_itParams $ _ldtValue $ fmap (^. _1) item) < ws ->
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1 -- w & setwarming
WarmUpCoolDown{} -> w & setwarming -- & soundContinue (CrWeaponSound cid 0) (_crPos cr) (warmupSound $ item ^. ldtValue . _1 . itType) (Just 2)
NoDelay -> f item cr w -- & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1
where -- WarmUpCoolDown _ cs _
lastused = item ^. ldtValue . _1 . itTimeLastUsed -- | _wTime (_itParams $ _ldtValue $ fmap (^. _1) item) < cs ->
cid = _crID cr -- f item cr w & setwarming
setwarming = -- & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 1
cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . isWarming -- WarmUpCoolDown{} -> w & setwarming
%~ const True -- NoDelay -> f item cr w
-- the following is unsafe, but if ilInvID isn't correctly set we probably -- where
-- will have problems elsewhere also -- lastused = item ^. ldtValue . _1 . itTimeLastUsed
itRef = item ^?! ldtValue . _1 . itLocation . ilInvID -- cid = _crID cr
-- setwarming =
-- cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . isWarming
-- %~ const True
-- -- the following is unsafe, but if ilInvID isn't correctly set we probably
-- -- will have problems elsewhere also
-- itRef = item ^?! ldtValue . _1 . itLocation . ilInvID
heldEffectMuzzles :: LDTree ItemLink OItem -> Creature -> World -> World heldEffectMuzzles :: LDTree ItemLink OItem -> Creature -> World -> World
heldEffectMuzzles t cr w = heldEffectMuzzles t cr w =
@@ -422,7 +446,7 @@ applyCME itm cr cme
-- the above is quite hacky for now -- the above is quite hacky for now
_ -> failsound _ -> failsound
where where
coolstart = fromMaybe 0 $ useDelay itm ^? coolStart coolstart = fromMaybe 0 $ itemTriggerType itm ^? coolStart
itid = itm ^?! itLocation . ilInvID -- unsafe itid = itm ^?! itLocation . ilInvID -- unsafe
spush = maybe 0 itemSidePush $ itm ^? itType . ibtHeld spush = maybe 0 itemSidePush $ itm ^? itType . ibtHeld
failsound w = case w ^? input . mouseButtons . ix SDL.ButtonLeft of failsound w = case w ^? input . mouseButtons . ix SDL.ButtonLeft of
@@ -775,7 +799,7 @@ useLoadedAmmo ::
useLoadedAmmo _ _ (cme, w) Nothing = (cme, w) useLoadedAmmo _ _ (cme, w) Nothing = (cme, w)
useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $ useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
removeAmmoFromMag x mid cr . makeMuzzleFlare mz itmtree cr $ case _mzEffect mz of removeAmmoFromMag x mid cr . makeMuzzleFlare mz itmtree cr $ case _mzEffect mz of
MuzzleShootBullet -> shootBullet itmtree cr (mz, x, magtree) w MuzzleShootBullet -> shootBullets itmtree cr (mz, x, magtree) w
MuzzleLaser -> creatureShootLaser itmtree cr mz w MuzzleLaser -> creatureShootLaser itmtree cr mz w
MuzzleTesla -> shootTeslaArc itm cr mz w MuzzleTesla -> shootTeslaArc itm cr mz w
MuzzleTractor -> shootTractorBeam cr w MuzzleTractor -> shootTractorBeam cr w
@@ -980,18 +1004,18 @@ magAmmoParams itm = case itm ^. itType of
-- Just x | x /= 0 -> fst . randomR (- x, x) $ _randGen w -- Just x | x /= 0 -> fst . randomR (- x, x) $ _randGen w
-- _ -> 0 -- _ -> 0
shootBullet :: shootBullets ::
LDTree ItemLink OItem -> LDTree ItemLink OItem ->
Creature -> Creature ->
(Muzzle, Int, LDTree ItemLink OItem) -> (Muzzle, Int, LDTree ItemLink OItem) ->
World -> World ->
World World
shootBullet itmtree cr (mz, x, magtree) w = fromMaybe w $ do shootBullets itmtree cr (mz, x, magtree) w = fromMaybe w $ do
thebullet <- getBulletType $ fmap (^. _1) magtree thebullet <- getBulletType $ fmap (^. _1) magtree
return $ foldl' (&) w (replicate x (makeBullet' thebullet (itmtree ^. ldtValue . _1) cr mz)) return $ foldl' (&) w (replicate x (shootBullet thebullet (itmtree ^. ldtValue . _1) cr mz))
makeBullet' :: Bullet -> Item -> Creature -> Muzzle -> World -> World shootBullet :: Bullet -> Item -> Creature -> Muzzle -> World -> World
makeBullet' bu itm cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w shootBullet bu itm cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w
where where
bulpos = _crPos cr + rotateV (_crDir cr) moff bulpos = _crPos cr + rotateV (_crDir cr) moff
(moff, mrot) = heldItemOrient2D itm cr (_mzPos mz + V2 0 offset) (_mzRot mz) (moff, mrot) = heldItemOrient2D itm cr (_mzPos mz + V2 0 offset) (_mzRot mz)
@@ -1002,8 +1026,6 @@ makeBullet' bu itm cr mz w = makeBullet bu itm bulpos dir . (randGen .~ g) $ w
Just x | x /= 0 -> fst . randomR (- x, x) $ _randGen w Just x | x /= 0 -> fst . randomR (- x, x) $ _randGen w
_ -> 0 _ -> 0
-- & makeMuzzleSmoke mz itm cr
itemRandomOffset :: HeldItemType -> Float itemRandomOffset :: HeldItemType -> Float
itemRandomOffset = \case itemRandomOffset = \case
BANGSTICK{} -> 0 BANGSTICK{} -> 0
@@ -1238,7 +1260,7 @@ mcShootLaser _ mc =
mcShootAuto :: Item -> Machine -> World -> World mcShootAuto :: Item -> Machine -> World -> World
mcShootAuto itm mc w mcShootAuto itm mc w
| Just (FixedRate rate) <- useDelay <$> mc ^? mcType . mctTurret . tuWeapon -- . itUse . heldDelay | Just (AutoTrigger rate) <- itemTriggerType <$> mc ^? mcType . mctTurret . tuWeapon -- . itUse . heldDelay
, w ^. cWorld . lWorld . lClock - rate > lastused = , w ^. cWorld . lWorld . lClock - rate > lastused =
w w
& cWorld . lWorld . machines . ix (_mcID mc) . mcType . mctTurret . tuWeapon & cWorld . lWorld . machines . ix (_mcID mc) . mcType . mctTurret . tuWeapon
+3 -2
View File
@@ -7,7 +7,8 @@ module Dodge.Item.Display (
itemInternalValue, itemInternalValue,
) where ) where
import Dodge.Item.UseDelay import Dodge.BaseTriggerType
--import Dodge.Item.UseDelay
import ShortShow import ShortShow
import Data.Maybe import Data.Maybe
import Dodge.Data.World import Dodge.Data.World
@@ -42,7 +43,7 @@ itemInternalValue itm
maybeWarmupStatus :: Item -> Maybe String maybeWarmupStatus :: Item -> Maybe String
maybeWarmupStatus it = case useDelay it ^? warmMax of maybeWarmupStatus it = case itemTriggerType it ^? warmMax of
Nothing -> Nothing Nothing -> Nothing
--Just m -> case m - (_warmTime . _heldDelay $ _itUse it) of --Just m -> case m - (_warmTime . _heldDelay $ _itUse it) of
Just m -> case m - _wTime (_itParams it) of Just m -> case m - _wTime (_itParams it) of
+2 -1
View File
@@ -92,7 +92,7 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
getAutoSpringLinks :: Item -> [(ItemStructuralFunction, ItemLink)] getAutoSpringLinks :: Item -> [(ItemStructuralFunction, ItemLink)]
getAutoSpringLinks itm = case itemTriggerType itm of getAutoSpringLinks itm = case itemTriggerType itm of
HammerTrigger -> [(MakeAutoSF, MakeAutoLink)] HammerTrigger _ -> [(MakeAutoSF, MakeAutoLink)]
_ -> [] _ -> []
extraWeaponLinks :: Item -> [(ItemStructuralFunction, ItemLink)] extraWeaponLinks :: Item -> [(ItemStructuralFunction, ItemLink)]
@@ -158,6 +158,7 @@ structureToPotentialFunction ldt = case ldt ^. ldtValue . _1 . itType of
ATTACH GIMBAL -> S.singleton ProjectileStabiliserSF ATTACH GIMBAL -> S.singleton ProjectileStabiliserSF
ATTACH GYROSCOPE -> S.singleton ProjectileStabiliserSF ATTACH GYROSCOPE -> S.singleton ProjectileStabiliserSF
HELD GLAUNCHER -> S.singleton UnderBarrelPlatformSF HELD GLAUNCHER -> S.singleton UnderBarrelPlatformSF
HELD BURSTRIFLE -> S.singleton UnderBarrelPlatformSF
_ -> S.singleton (ldt ^. ldtValue . _2) _ -> S.singleton (ldt ^. ldtValue . _2)
baseCI :: Item -> CItem baseCI :: Item -> CItem
+33 -21
View File
@@ -1,4 +1,5 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Item.HeldOffset ( module Dodge.Item.HeldOffset (
turretItemOffset, turretItemOffset,
twoFlatHRot, twoFlatHRot,
@@ -7,20 +8,21 @@ module Dodge.Item.HeldOffset (
heldItemOrient2D, heldItemOrient2D,
heldItemOrient2D', heldItemOrient2D',
itemRelativeOrient, itemRelativeOrient,
locOrientation,
) where ) where
import Dodge.Item.Orientation
import Dodge.DoubleTree
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Creature.Radius import Dodge.Creature.Radius
import Dodge.Data.AimStance import Dodge.Data.AimStance
import Dodge.Item.AimStance import Dodge.Data.ComposedItem
import qualified Quaternion as Q
import Dodge.Data.Creature import Dodge.Data.Creature
import Dodge.Data.DoubleTree
import Dodge.Data.Machine import Dodge.Data.Machine
import Dodge.DoubleTree
import Dodge.Item.AimStance
import Dodge.Item.Orientation
import Geometry import Geometry
import LensHelp import LensHelp
import qualified Quaternion as Q
turretItemOffset :: Item -> Turret -> Machine -> Point3 -> Point3 turretItemOffset :: Item -> Turret -> Machine -> Point3 -> Point3
turretItemOffset it tu mc = turretItemOffset it tu mc =
@@ -33,19 +35,19 @@ transToHandle itm = (-.-.- V3 x y 0)
V2 x y = handlePos itm V2 x y = handlePos itm
heldItemOrient2D :: Item -> Creature -> Point2 -> Float -> (Point2, Float) heldItemOrient2D :: Item -> Creature -> Point2 -> Float -> (Point2, Float)
heldItemOrient2D itm cr p a = (V2 x y, argV . Q.qToV2 $ q ) heldItemOrient2D itm cr p a = (V2 x y, argV . Q.qToV2 $ q)
where where
(V3 x y _,q) = heldItemRelativeOrient itm cr (p `v2z` 0, Q.axisAngle (V3 0 0 1) a) (V3 x y _, q) = heldItemRelativeOrient itm cr (p `v2z` 0, Q.axisAngle (V3 0 0 1) a)
heldItemOrient2D' :: OItem -> Creature -> Point2 -> Float -> (Point2, Float) heldItemOrient2D' :: OItem -> Creature -> Point2 -> Float -> (Point2, Float)
heldItemOrient2D' (itm,_,(p1,q1)) cr p a = (V2 x y, argV . Q.qToV2 $ q ) heldItemOrient2D' (itm, _, (p1, q1)) cr p a = (V2 x y, argV . Q.qToV2 $ q)
where where
(V3 x y _,q) = heldItemRelativeOrient itm cr (p1 + Q.rotate q1 (p `v2z` 0), q1 * Q.axisAngle (V3 0 0 1) a) (V3 x y _, q) = heldItemRelativeOrient itm cr (p1 + Q.rotate q1 (p `v2z` 0), q1 * Q.axisAngle (V3 0 0 1) a)
heldItemRelativeOrient heldItemRelativeOrient ::
:: Item -> Creature -> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float) Item -> Creature -> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float)
heldItemRelativeOrient itm cr (p,q) heldItemRelativeOrient itm cr (p, q)
| Aiming {} <- _posture (_crStance cr) = | Aiming{} <- _posture (_crStance cr) =
(p + aimingWeaponZeroPos cr itm `v2z` shoulderHeight, Q.qID * q) (p + aimingWeaponZeroPos cr itm `v2z` shoulderHeight, Q.qID * q)
| TwoHandFlat <- itemBaseStance itm = | TwoHandFlat <- itemBaseStance itm =
( V3 (crRad $ cr ^. crType) 0 handD + rotate3 (twoFlatHRot cr) (transToHandle itm p) ( V3 (crRad $ cr ^. crType) 0 handD + rotate3 (twoFlatHRot cr) (transToHandle itm p)
@@ -69,6 +71,13 @@ heldItemRelativeOrient itm cr (p,q)
f i = 0.1 * fromIntegral (sLen - i) / fromIntegral sLen f i = 0.1 * fromIntegral (sLen - i) / fromIntegral sLen
sLen = _strideLength $ _crStance cr sLen = _strideLength $ _crStance cr
locOrientation :: LocationLDT ItemLink OItem -> Creature -> Point3Q
locOrientation loc cr =
heldItemRelativeOrient
(locToTop loc ^. locLDT . ldtValue . _1)
cr
(loc ^. locLDT . ldtValue . _3)
aimingWeaponZeroPos :: Creature -> Item -> Point2 aimingWeaponZeroPos :: Creature -> Item -> Point2
aimingWeaponZeroPos cr it = aimStanceHandlePos cr it - handlePos it aimingWeaponZeroPos cr it = aimStanceHandlePos cr it - handlePos it
@@ -81,7 +90,7 @@ aimStanceHandlePos _ it = case itemBaseStance it of
TwoHandFlat -> V2 10 0 TwoHandFlat -> V2 10 0
heldItemOffset :: Item -> Creature -> Point3 -> Point3 heldItemOffset :: Item -> Creature -> Point3 -> Point3
heldItemOffset itm cr p = fst (heldItemRelativeOrient itm cr (p,Q.qID)) heldItemOffset itm cr p = fst (heldItemRelativeOrient itm cr (p, Q.qID))
shoulderHeight :: Float shoulderHeight :: Float
shoulderHeight = 18 shoulderHeight = 18
@@ -143,12 +152,15 @@ heldHandlePos = \case
SHATTERGUN -> V2 3 0 SHATTERGUN -> V2 3 0
TORCH -> V2 3 0 TORCH -> V2 3 0
FLATSHIELD -> V2 3 0 FLATSHIELD -> V2 3 0
KEYCARD {} -> V2 3 0 KEYCARD{} -> V2 3 0
BLINKER -> V2 3 0 BLINKER -> V2 3 0
BLINKERUNSAFE -> V2 3 0 BLINKERUNSAFE -> V2 3 0
itemRelativeOrient :: LocationLDT ItemLink Item -> Creature itemRelativeOrient ::
-> (Point3, Q.Quaternion Float) -> (Point3, Q.Quaternion Float) LocationLDT ItemLink Item ->
itemRelativeOrient loc cr Creature ->
= heldItemRelativeOrient (locToTop loc ^. locLDT . ldtValue) cr (Point3, Q.Quaternion Float) ->
. orientLocation (V3 0 0 0,Q.qID) loc (Point3, Q.Quaternion Float)
itemRelativeOrient loc cr =
heldItemRelativeOrient (locToTop loc ^. locLDT . ldtValue) cr
. orientLocation (V3 0 0 0, Q.qID) loc
+51 -50
View File
@@ -1,60 +1,61 @@
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Dodge.Item.UseDelay module Dodge.Item.UseDelay
(useDelay (-- useDelay
, module Dodge.Data.UseDelay module Dodge.Data.UseDelay
) where ) where
import Dodge.Data.UseDelay import Dodge.Data.UseDelay
import Control.Lens import Control.Lens
import Dodge.Data.Item import Dodge.Data.Item
useDelay :: Item -> ItemUseDelay --useDelay :: Item -> ItemUseDelay
useDelay itm = case itm ^. itType of --useDelay itm = case itm ^. itType of
HELD hit -> heldUseDelay hit -- HELD hit -> heldUseDelay hit
DETECTOR _ -> FixedRate 20 -- DETECTOR _ -> FixedRate 20
_ -> NoDelay -- _ -> NoDelay
heldUseDelay :: HeldItemType -> ItemUseDelay --heldUseDelay :: HeldItemType -> ItemUseDelay
heldUseDelay = \case --heldUseDelay = \case
BANGSTICK _ -> FixedRate 8 -- BANGSTICK _ -> FixedRate 8
REWINDER -> FixedRate 20 -- REWINDER -> FixedRate 20
TIMESTOPPER -> FixedRate 20 -- TIMESTOPPER -> FixedRate 20
TIMESCROLLER -> FixedRate 20 -- TIMESCROLLER -> FixedRate 20
PISTOL -> FixedRate 6 -- PISTOL -> FixedRate 6
AUTOPISTOL -> FixedRate 8 -- AUTOPISTOL -> FixedRate 8
SMG -> FixedRate 8 -- SMG -> FixedRate 8
MACHINEPISTOL -> WarmUpCoolDown 50 100 200 -- MACHINEPISTOL -> WarmUpCoolDown 50 100 200
BURSTRIFLE -> FixedRate 8 -- time last used gets updated after the last burst fire -- --BURSTRIFLE -> FixedRate 8 -- time last used gets updated after the last burst fire
BANGCONE -> FixedRate 20 -- BURSTRIFLE -> NoDelay
BLUNDERBUSS -> FixedRate 20 -- BANGCONE -> FixedRate 20
GRAPECANNON _ -> FixedRate 20 -- BLUNDERBUSS -> FixedRate 20
MINIGUNX _ -> WarmUpNoDelay 100 -- GRAPECANNON _ -> FixedRate 20
VOLLEYGUN{} -> FixedRate 15 -- MINIGUNX _ -> WarmUpNoDelay 100
RIFLE -> FixedRate 6 -- VOLLEYGUN{} -> FixedRate 15
ALTERIFLE -> FixedRate 6 -- RIFLE -> FixedRate 6
AUTORIFLE -> FixedRate 6 -- ALTERIFLE -> FixedRate 6
BANGROD -> FixedRate 12 -- AUTORIFLE -> FixedRate 6
ELEPHANTGUN -> FixedRate 12 -- BANGROD -> FixedRate 12
AMR -> FixedRate 12 -- ELEPHANTGUN -> FixedRate 12
AUTOAMR -> FixedRate 12 -- AMR -> FixedRate 12
SNIPERRIFLE -> FixedRate 12 -- AUTOAMR -> FixedRate 12
FLAMESPITTER -> FixedRate 6 -- SNIPERRIFLE -> FixedRate 12
FLAMETHROWER -> NoDelay -- FLAMESPITTER -> FixedRate 6
FLAMETORRENT -> NoDelay -- FLAMETHROWER -> NoDelay
FLAMEWALL -> NoDelay -- FLAMETORRENT -> NoDelay
POISONSPRAYER -> NoDelay -- FLAMEWALL -> NoDelay
BLOWTORCH -> NoDelay -- POISONSPRAYER -> NoDelay
SPARKGUN -> NoDelay -- BLOWTORCH -> NoDelay
TESLAGUN -> NoDelay -- SPARKGUN -> NoDelay
LASER -> NoDelay -- TESLAGUN -> NoDelay
TRACTORGUN -> NoDelay -- LASER -> NoDelay
RLAUNCHER -> FixedRate 20 -- TRACTORGUN -> NoDelay
RLAUNCHERX{} -> FixedRate 20 -- RLAUNCHER -> FixedRate 20
GLAUNCHER -> FixedRate 20 -- RLAUNCHERX{} -> FixedRate 20
SHATTERGUN -> FixedRate 20 -- GLAUNCHER -> FixedRate 20
BLINKER -> FixedRate 20 -- SHATTERGUN -> FixedRate 20
BLINKERUNSAFE -> FixedRate 20 -- BLINKER -> FixedRate 20
TORCH -> NoDelay -- BLINKERUNSAFE -> FixedRate 20
FLATSHIELD -> NoDelay -- TORCH -> NoDelay
KEYCARD _ -> NoDelay -- FLATSHIELD -> NoDelay
-- KEYCARD _ -> NoDelay
-2
View File
@@ -31,8 +31,6 @@ testStringInit u = prettyShort (u ^? uvWorld . cWorld . lWorld . creatures . ix
. ix 0 . itTimeLastUsed) . ix 0 . itTimeLastUsed)
<> prettyShort (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv <> prettyShort (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv
. ix 0 . itParams . wTime) . ix 0 . itParams . wTime)
<> prettyShort (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv
. ix 0 >>= ((^? rateMax) .useDelay))
--return . foldMap (prettyLDT (show . (^. _1 . itType))) . invLDT $ _crInv cr --return . foldMap (prettyLDT (show . (^. _1 . itType))) . invLDT $ _crInv cr
-- where -- where
-- idp = invDisplayParams $ u ^. uvWorld -- idp = invDisplayParams $ u ^. uvWorld
+126 -127
View File
@@ -54,7 +54,6 @@ Airlock src/Dodge/Room/Airlock.hs 4;" m
AlienContact src/Dodge/Data/Scenario.hs 30;" C AlienContact src/Dodge/Data/Scenario.hs 30;" C
AllRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C AllRoomClipBoundaries src/Dodge/Data/Config.hs 107;" C
AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C AlteRifleSwitch src/Dodge/Data/Item/Params.hs 20;" C
AlwaysSingleTrigger src/Dodge/Data/TriggerType.hs 13;" C
Ambush src/Dodge/Data/ActionPlan.hs 178;" C Ambush src/Dodge/Data/ActionPlan.hs 178;" C
Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 3;" m Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 3;" m
Ammo src/Dodge/Item/Ammo.hs 1;" m Ammo src/Dodge/Item/Ammo.hs 1;" m
@@ -109,7 +108,7 @@ AutoCrit src/Dodge/Data/Creature/Misc.hs 72;" C
AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m
AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C
AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 26;" C AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 26;" C
AutoTrigger src/Dodge/Data/TriggerType.hs 10;" C AutoTrigger src/Dodge/Data/TriggerType.hs 11;" C
AuxAddition src/Shader/AuxAddition.hs 1;" m AuxAddition src/Shader/AuxAddition.hs 1;" m
Avatar src/Dodge/Data/Creature/Misc.hs 61;" C Avatar src/Dodge/Data/Creature/Misc.hs 61;" C
AvatarDead src/Dodge/Data/Creature/Misc.hs 69;" C AvatarDead src/Dodge/Data/Creature/Misc.hs 69;" C
@@ -235,7 +234,7 @@ BulletParams src/Dodge/Data/Item/Use.hs 52;" C
BulletPayload src/Dodge/Data/Bullet.hs 36;" t BulletPayload src/Dodge/Data/Bullet.hs 36;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t
BurstTrigger src/Dodge/Data/TriggerType.hs 14;" C BurstTrigger src/Dodge/Data/TriggerType.hs 15;" C
Button src/Dodge/Data/Button.hs 30;" t Button src/Dodge/Data/Button.hs 30;" t
Button src/Dodge/Data/Button.hs 6;" m Button src/Dodge/Data/Button.hs 6;" m
Button src/Dodge/Placement/Instance/Button.hs 1;" m Button src/Dodge/Placement/Instance/Button.hs 1;" m
@@ -281,7 +280,6 @@ CardinalPoint src/Dodge/Base/CardinalPoint.hs 1;" m
CardinalPoint src/Dodge/Data/CardinalPoint.hs 1;" m CardinalPoint src/Dodge/Data/CardinalPoint.hs 1;" m
Carriage src/Dodge/Data/Creature/Stance.hs 20;" t Carriage src/Dodge/Data/Creature/Stance.hs 20;" t
Carte src/Dodge/Render/HUD/Carte.hs 1;" m Carte src/Dodge/Render/HUD/Carte.hs 1;" m
ChainEffect src/Dodge/HeldUse.hs 69;" t
ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 43;" t ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 43;" t
ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m
ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C
@@ -812,7 +810,7 @@ Hammer src/Dodge/Hammer.hs 1;" m
HammerDown src/Dodge/Data/Hammer.hs 18;" C HammerDown src/Dodge/Data/Hammer.hs 18;" C
HammerPosition src/Dodge/Data/Hammer.hs 17;" t HammerPosition src/Dodge/Data/Hammer.hs 17;" t
HammerReleased src/Dodge/Data/Hammer.hs 19;" C HammerReleased src/Dodge/Data/Hammer.hs 19;" C
HammerTrigger src/Dodge/Data/TriggerType.hs 11;" C HammerTrigger src/Dodge/Data/TriggerType.hs 12;" C
HammerType src/Dodge/Data/Hammer.hs 12;" t HammerType src/Dodge/Data/Hammer.hs 12;" t
HammerUp src/Dodge/Data/Hammer.hs 20;" C HammerUp src/Dodge/Data/Hammer.hs 20;" C
HandPos src/Dodge/Creature/HandPos.hs 1;" m HandPos src/Dodge/Creature/HandPos.hs 1;" m
@@ -822,7 +820,7 @@ HeavySmokeFlare src/Dodge/Data/Muzzle.hs 26;" C
Held src/Dodge/Item/Held.hs 1;" m Held src/Dodge/Item/Held.hs 1;" m
HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m HeldDelay src/Dodge/Data/Item/HeldDelay.hs 6;" m
HeldItemType src/Dodge/Data/Item/Combine.hs 138;" t HeldItemType src/Dodge/Data/Item/Combine.hs 138;" t
HeldOffset src/Dodge/Item/HeldOffset.hs 2;" m HeldOffset src/Dodge/Item/HeldOffset.hs 3;" m
HeldPlatformSF src/Dodge/Data/ComposedItem.hs 39;" C HeldPlatformSF src/Dodge/Data/ComposedItem.hs 39;" C
HeldScroll src/Dodge/HeldScroll.hs 1;" m HeldScroll src/Dodge/HeldScroll.hs 1;" m
HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m
@@ -979,7 +977,7 @@ Kill src/Dodge/Data/ActionPlan.hs 198;" C
LASER src/Dodge/Data/Item/Combine.hs 168;" C LASER src/Dodge/Data/Item/Combine.hs 168;" C
LDT src/Dodge/Data/DoubleTree.hs 34;" C LDT src/Dodge/Data/DoubleTree.hs 34;" C
LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C LDTBottomNode src/Dodge/Data/DoubleTree.hs 29;" C
LDTComb src/Dodge/Item/Grammar.hs 166;" t LDTComb src/Dodge/Item/Grammar.hs 167;" t
LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 27;" C LDTMidAboveNode src/Dodge/Data/DoubleTree.hs 27;" C
LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 28;" C LDTMidBelowNode src/Dodge/Data/DoubleTree.hs 28;" C
LDTRootNode src/Dodge/Data/DoubleTree.hs 25;" C LDTRootNode src/Dodge/Data/DoubleTree.hs 25;" C
@@ -1292,7 +1290,7 @@ NoSF src/Dodge/Data/ComposedItem.hs 54;" C
NoShadowFidelity src/Shape/Data.hs 25;" C NoShadowFidelity src/Shape/Data.hs 25;" C
NoShadows src/Dodge/Data/Config.hs 103;" C NoShadows src/Dodge/Data/Config.hs 103;" C
NoSubInventory src/Dodge/Data/HUD.hs 29;" C NoSubInventory src/Dodge/Data/HUD.hs 29;" C
NoTrigger src/Dodge/Data/TriggerType.hs 12;" C NoTrigger src/Dodge/Data/TriggerType.hs 13;" C
NoWorldEffect src/Dodge/Data/WorldEffect.hs 22;" C NoWorldEffect src/Dodge/Data/WorldEffect.hs 22;" C
Noclip src/Dodge/Data/Config.hs 70;" C Noclip src/Dodge/Data/Config.hs 70;" C
NodeMTree src/Dodge/Data/MetaTree.hs 14;" C NodeMTree src/Dodge/Data/MetaTree.hs 14;" C
@@ -2025,7 +2023,7 @@ Trie src/SimpleTrie.hs 9;" t
TriggerDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 1;" m TriggerDoor src/Dodge/Placement/PlaceSpot/TriggerDoor.hs 1;" m
TriggerLink src/Dodge/Data/ComposedItem.hs 16;" C TriggerLink src/Dodge/Data/ComposedItem.hs 16;" C
TriggerSF src/Dodge/Data/ComposedItem.hs 47;" C TriggerSF src/Dodge/Data/ComposedItem.hs 47;" C
TriggerType src/Dodge/Data/TriggerType.hs 9;" t TriggerType src/Dodge/Data/TriggerType.hs 10;" t
TriggerType src/Dodge/Data/TriggerType.hs 4;" m TriggerType src/Dodge/Data/TriggerType.hs 4;" m
TriggerType src/Dodge/Item/TriggerType.hs 1;" m TriggerType src/Dodge/Item/TriggerType.hs 1;" m
TriggerType src/Dodge/Item/Weapon/TriggerType.hs 6;" m TriggerType src/Dodge/Item/Weapon/TriggerType.hs 6;" m
@@ -2132,7 +2130,7 @@ Vision src/Dodge/Data/Creature/Perception.hs 41;" t
Vocalization src/Dodge/Data/Creature/Misc.hs 20;" t Vocalization src/Dodge/Data/Creature/Misc.hs 20;" t
Vocalization src/Dodge/Creature/Vocalization.hs 1;" m Vocalization src/Dodge/Creature/Vocalization.hs 1;" m
Volition src/Dodge/Creature/Volition.hs 2;" m Volition src/Dodge/Creature/Volition.hs 2;" m
VolleyGunTrigger src/Dodge/Data/TriggerType.hs 15;" C VolleyGunTrigger src/Dodge/Data/TriggerType.hs 16;" C
VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 19;" C VolleyUnfiredBarrels src/Dodge/Data/Item/Params.hs 19;" C
WALLDETECTOR src/Dodge/Data/Item/Combine.hs 185;" C WALLDETECTOR src/Dodge/Data/Item/Combine.hs 185;" C
WASD src/Dodge/WASD.hs 1;" m WASD src/Dodge/WASD.hs 1;" m
@@ -2164,9 +2162,9 @@ Walls src/Dodge/Render/Walls.hs 1;" m
Walls_info src/Dodge/Data/Config.hs 75;" C Walls_info src/Dodge/Data/Config.hs 75;" C
War src/Dodge/Data/Scenario.hs 28;" C War src/Dodge/Data/Scenario.hs 28;" C
WarmTime src/Dodge/Data/Item/Params.hs 21;" C WarmTime src/Dodge/Data/Item/Params.hs 21;" C
WarmUpCoolDown src/Dodge/Data/UseDelay.hs 18;" C WarmUpCoolDown src/Dodge/Data/TriggerType.hs 17;" C
WarmUpNoDelay src/Dodge/Data/Item/HeldDelay.hs 18;" C WarmUpNoDelay src/Dodge/Data/Item/HeldDelay.hs 18;" C
WarmUpNoDelay src/Dodge/Data/UseDelay.hs 15;" C WarmUpNoDelay src/Dodge/Data/TriggerType.hs 22;" C
Warning src/Dodge/Room/Warning.hs 2;" m Warning src/Dodge/Room/Warning.hs 2;" m
WarningCry src/Dodge/Data/ActionPlan.hs 185;" C WarningCry src/Dodge/Data/ActionPlan.hs 185;" C
WasLeftForward src/Dodge/Data/Creature/Stance.hs 34;" C WasLeftForward src/Dodge/Data/Creature/Stance.hs 34;" C
@@ -2329,6 +2327,8 @@ _buPos src/Dodge/Data/Bullet.hs 24;" f
_buVel src/Dodge/Data/Bullet.hs 22;" f _buVel src/Dodge/Data/Bullet.hs 22;" f
_buWidth src/Dodge/Data/Bullet.hs 26;" f _buWidth src/Dodge/Data/Bullet.hs 26;" f
_bullets src/Dodge/Data/LWorld.hs 106;" f _bullets src/Dodge/Data/LWorld.hs 106;" f
_burstFrames src/Dodge/Data/TriggerType.hs 15;" f
_burstRate src/Dodge/Data/TriggerType.hs 15;" f
_buttons src/Dodge/Data/LWorld.hs 134;" f _buttons src/Dodge/Data/LWorld.hs 134;" f
_cClock src/Dodge/Data/CWorld.hs 26;" f _cClock src/Dodge/Data/CWorld.hs 26;" f
_cWorld src/Dodge/Data/World.hs 36;" f _cWorld src/Dodge/Data/World.hs 36;" f
@@ -2395,9 +2395,9 @@ _cmeRecoil src/Dodge/Data/MuzzleEffect.hs 15;" f
_cmeSound src/Dodge/Data/MuzzleEffect.hs 17;" f _cmeSound src/Dodge/Data/MuzzleEffect.hs 17;" f
_cmeTorque src/Dodge/Data/MuzzleEffect.hs 16;" f _cmeTorque src/Dodge/Data/MuzzleEffect.hs 16;" f
_colorBlurShader src/Data/Preload/Render.hs 22;" f _colorBlurShader src/Data/Preload/Render.hs 22;" f
_coolEnd src/Dodge/Data/UseDelay.hs 21;" f _coolEnd src/Dodge/Data/TriggerType.hs 20;" f
_coolSound src/Dodge/Data/Item/Params.hs 24;" f _coolSound src/Dodge/Data/Item/Params.hs 24;" f
_coolStart src/Dodge/Data/UseDelay.hs 20;" f _coolStart src/Dodge/Data/TriggerType.hs 19;" f
_coordinates src/Dodge/Data/LWorld.hs 127;" f _coordinates src/Dodge/Data/LWorld.hs 127;" f
_corpses src/Dodge/Data/LWorld.hs 136;" f _corpses src/Dodge/Data/LWorld.hs 136;" f
_cpAttention src/Dodge/Data/Creature/Perception.hs 34;" f _cpAttention src/Dodge/Data/Creature/Perception.hs 34;" f
@@ -3244,6 +3244,8 @@ _vertices src/Polyhedra/Data.hs 22;" f
_viDist src/Dodge/Data/Creature/Perception.hs 43;" f _viDist src/Dodge/Data/Creature/Perception.hs 43;" f
_viFOV src/Dodge/Data/Creature/Perception.hs 42;" f _viFOV src/Dodge/Data/Creature/Perception.hs 42;" f
_viewPoint src/Dodge/Data/Creature.hs 69;" f _viewPoint src/Dodge/Data/Creature.hs 69;" f
_volleyNumBarrels src/Dodge/Data/TriggerType.hs 16;" f
_volleyRate src/Dodge/Data/TriggerType.hs 16;" f
_volume_master src/Dodge/Data/Config.hs 39;" f _volume_master src/Dodge/Data/Config.hs 39;" f
_volume_music src/Dodge/Data/Config.hs 41;" f _volume_music src/Dodge/Data/Config.hs 41;" f
_volume_sound src/Dodge/Data/Config.hs 40;" f _volume_sound src/Dodge/Data/Config.hs 40;" f
@@ -3263,9 +3265,9 @@ _walls src/Dodge/Data/LWorld.hs 119;" f
_wanID src/Dodge/Data/LWorld.hs 161;" f _wanID src/Dodge/Data/LWorld.hs 161;" f
_wanPos src/Dodge/Data/LWorld.hs 160;" f _wanPos src/Dodge/Data/LWorld.hs 160;" f
_warmMax src/Dodge/Data/Item/HeldDelay.hs 19;" f _warmMax src/Dodge/Data/Item/HeldDelay.hs 19;" f
_warmMax src/Dodge/Data/UseDelay.hs 16;" f _warmMax src/Dodge/Data/TriggerType.hs 23;" f
_warmSound src/Dodge/Data/Item/HeldDelay.hs 20;" f _warmSound src/Dodge/Data/Item/HeldDelay.hs 20;" f
_warmStart src/Dodge/Data/UseDelay.hs 19;" f _warmStart src/Dodge/Data/TriggerType.hs 18;" f
_windowPosX src/Dodge/Data/Config.hs 53;" f _windowPosX src/Dodge/Data/Config.hs 53;" f
_windowPosY src/Dodge/Data/Config.hs 54;" f _windowPosY src/Dodge/Data/Config.hs 54;" f
_windowShader src/Data/Preload/Render.hs 19;" f _windowShader src/Data/Preload/Render.hs 19;" f
@@ -3352,10 +3354,10 @@ advanceSmoothScroll src/Dodge/SmoothScroll.hs 33;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 44;" f
aimDelaySweep src/Dodge/Render/Picture.hs 264;" f aimDelaySweep src/Dodge/Render/Picture.hs 264;" f
aimStance src/Dodge/Item/AimStance.hs 13;" f aimStance src/Dodge/Item/AimStance.hs 13;" f
aimStanceHandlePos src/Dodge/Item/HeldOffset.hs 76;" f aimStanceHandlePos src/Dodge/Item/HeldOffset.hs 85;" f
aimStanceInfo src/Dodge/Item/Info.hs 243;" f aimStanceInfo src/Dodge/Item/Info.hs 243;" f
aimTurn src/Dodge/Creature/YourControl.hs 165;" f aimTurn src/Dodge/Creature/YourControl.hs 165;" f
aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 72;" f aimingWeaponZeroPos src/Dodge/Item/HeldOffset.hs 81;" f
airlock src/Dodge/Room/Airlock.hs 19;" f airlock src/Dodge/Room/Airlock.hs 19;" f
airlock0 src/Dodge/Room/Airlock.hs 25;" f airlock0 src/Dodge/Room/Airlock.hs 25;" f
airlock90 src/Dodge/Room/Airlock.hs 122;" f airlock90 src/Dodge/Room/Airlock.hs 122;" f
@@ -3364,8 +3366,8 @@ airlockDoor src/Dodge/Room/Airlock.hs 51;" f
airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f airlockDoubleDoor src/Dodge/Room/Airlock.hs 54;" f
airlockSimple src/Dodge/Room/Airlock.hs 66;" f airlockSimple src/Dodge/Room/Airlock.hs 66;" f
airlockZ src/Dodge/Room/Airlock.hs 91;" f airlockZ src/Dodge/Room/Airlock.hs 91;" f
allInvLocs src/Dodge/Item/Grammar.hs 266;" f allInvLocs src/Dodge/Item/Grammar.hs 267;" f
allInvLocs' src/Dodge/Item/Grammar.hs 287;" f allInvLocs' src/Dodge/Item/Grammar.hs 288;" f
allVisibleWalls src/Dodge/Base/Collide.hs 132;" f allVisibleWalls src/Dodge/Base/Collide.hs 132;" f
alongSegBy src/Geometry.hs 40;" f alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 22;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f
@@ -3381,21 +3383,21 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f anythingHitCirc src/Dodge/Base/Collide.hs 247;" f
applyCME src/Dodge/HeldUse.hs 410;" f applyCME src/Dodge/HeldUse.hs 435;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 476;" f applyInvLock src/Dodge/HeldUse.hs 501;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
applyPastDamages src/Dodge/Creature/State.hs 134;" f applyPastDamages src/Dodge/Creature/State.hs 134;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 508;" f applyRecoil src/Dodge/HeldUse.hs 533;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 607;" f applySidePush src/Dodge/HeldUse.hs 632;" f
applySoundCME src/Dodge/HeldUse.hs 498;" f applySoundCME src/Dodge/HeldUse.hs 523;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -3403,7 +3405,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 618;" f applyTorqueCME src/Dodge/HeldUse.hs 643;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -3466,7 +3468,7 @@ barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 46;" f barrelShape src/Dodge/Render/ShapePicture.hs 46;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 405;" f baseAMRShape src/Dodge/Item/Draw/SPic.hs 405;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 163;" f baseCI src/Dodge/Item/Grammar.hs 164;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 311;" f baseCaneShape src/Dodge/Item/Draw/SPic.hs 311;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 45;" f baseFloorTileSize src/Tile.hs 45;" f
@@ -3476,17 +3478,17 @@ baseSMGShape src/Dodge/Item/Draw/SPic.hs 382;" f
baseShoulder src/Dodge/Creature/Picture.hs 125;" f baseShoulder src/Dodge/Creature/Picture.hs 125;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 288;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 288;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 281;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 281;" f
baseStickSpread src/Dodge/HeldUse.hs 306;" f baseStickSpread src/Dodge/HeldUse.hs 331;" f
baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f
basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f basicAttentionUpdate src/Dodge/Creature/Perception.hs 128;" f
basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 38;" f
basicCrPict src/Dodge/Creature/Picture.hs 28;" f basicCrPict src/Dodge/Creature/Picture.hs 28;" f
basicCrShape src/Dodge/Creature/Picture.hs 34;" f basicCrShape src/Dodge/Creature/Picture.hs 34;" f
basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 22;" f basicItemDisplay src/Dodge/Item/Display.hs 23;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 758;" f basicMuzFlare src/Dodge/HeldUse.hs 783;" f
basicTerminal src/Dodge/Terminal.hs 35;" f basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 62;" f battery src/Dodge/Item/Ammo.hs 62;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f batteryPack src/Dodge/Item/Equipment.hs 46;" f
@@ -3495,7 +3497,7 @@ beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsNodePoints src/Dodge/Path.hs 58;" f bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 114;" f bgateCalc src/Dodge/Inventory/SelectionList.hs 114;" f
bgunSound src/Dodge/HeldUse.hs 561;" f bgunSound src/Dodge/HeldUse.hs 586;" f
bindFBO src/Render.hs 244;" f bindFBO src/Render.hs 244;" f
bingate src/Dodge/Item/Scope.hs 109;" f bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f black src/Color.hs 27;" f
@@ -3782,14 +3784,14 @@ createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 90;" f createNewArc src/Dodge/Tesla/Arc.hs 90;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1320;" f createProjectile src/Dodge/HeldUse.hs 1343;" f
createProjectileR src/Dodge/HeldUse.hs 1284;" f createProjectileR src/Dodge/HeldUse.hs 1307;" f
createShell src/Dodge/Projectile/Create.hs 22;" f createShell src/Dodge/Projectile/Create.hs 22;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 872;" f creatureShootLaser src/Dodge/HeldUse.hs 897;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
@@ -3860,7 +3862,7 @@ dark src/Color.hs 108;" f
darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f darkenBackground src/Dodge/Render/MenuScreen.hs 52;" f
dbArg src/Dodge/Base.hs 165;" f dbArg src/Dodge/Base.hs 165;" f
dbArgChain src/Dodge/Base.hs 170;" f dbArgChain src/Dodge/Base.hs 170;" f
dbwMuzzles src/Dodge/HeldUse.hs 309;" f dbwMuzzles src/Dodge/HeldUse.hs 334;" f
deZoneIX src/Dodge/Zoning/Base.hs 89;" f deZoneIX src/Dodge/Zoning/Base.hs 89;" f
deZoneWall src/Dodge/Zoning/Wall.hs 70;" f deZoneWall src/Dodge/Zoning/Wall.hs 70;" f
deadEndRoom src/Dodge/Room/Room.hs 235;" f deadEndRoom src/Dodge/Room/Room.hs 235;" f
@@ -3978,7 +3980,7 @@ detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 451;" f detectorColor src/Dodge/Item/Draw/SPic.hs 451;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1270;" f determineProjectileTracking src/Dodge/HeldUse.hs 1293;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f diffAngles src/Geometry.hs 204;" f
@@ -4043,9 +4045,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" f
doDrawing src/Dodge/Render.hs 35;" f doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1228;" f doGenFloat src/Dodge/HeldUse.hs 1251;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 339;" f doHeldUseEffect src/Dodge/HeldUse.hs 364;" f
doInPlacements src/Dodge/Layout.hs 92;" f doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f doIndividualPlacements src/Dodge/Layout.hs 117;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -4237,7 +4239,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropAll src/Dodge/Creature/State.hs 127;" f dropAll src/Dodge/Creature/State.hs 127;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1400;" f dropInventoryPath src/Dodge/HeldUse.hs 1423;" f
dropItem src/Dodge/Creature/Action.hs 172;" f dropItem src/Dodge/Creature/Action.hs 172;" f
dropper src/Dodge/Item/Scope.hs 76;" f dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 33;" f drumMag src/Dodge/Item/Ammo.hs 33;" f
@@ -4352,7 +4354,7 @@ firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 38;" f flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 312;" f flameMuzzles src/Dodge/HeldUse.hs 337;" f
flameShield src/Dodge/Item/Equipment.hs 33;" f flameShield src/Dodge/Item/Equipment.hs 33;" f
flameSize src/Dodge/Flame/Size.hs 5;" f flameSize src/Dodge/Flame/Size.hs 5;" f
flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
@@ -4360,7 +4362,7 @@ flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 385;" f flamerPic src/Dodge/Item/Draw/SPic.hs 385;" f
flareCircleAt src/Dodge/HeldUse.hs 739;" f flareCircleAt src/Dodge/HeldUse.hs 764;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 39;" f flatLookupItems src/Dodge/Combine.hs 39;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f flatShield src/Dodge/Item/Held/Utility.hs 17;" f
@@ -4427,7 +4429,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1184;" f gasType src/Dodge/HeldUse.hs 1207;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4442,11 +4444,11 @@ getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 114;" f getAmmoLinks src/Dodge/Item/Grammar.hs 114;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 810;" f getAttachedSFLink src/Dodge/HeldUse.hs 835;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 93;" f getAutoSpringLinks src/Dodge/Item/Grammar.hs 93;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 930;" f getBulletType src/Dodge/HeldUse.hs 955;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4454,17 +4456,17 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 411;" f getDistortions src/Dodge/Render.hs 411;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1313;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1336;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f
getLaserColor src/Dodge/HeldUse.hs 755;" f getLaserColor src/Dodge/HeldUse.hs 780;" f
getLaserDamage src/Dodge/HeldUse.hs 752;" f getLaserDamage src/Dodge/HeldUse.hs 777;" f
getLaserPhaseV src/Dodge/HeldUse.hs 749;" f getLaserPhaseV src/Dodge/HeldUse.hs 774;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 392;" f getMenuMouseContext src/Dodge/Update.hs 392;" f
getNodePos src/Dodge/Path.hs 31;" f getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1305;" f getPJStabiliser src/Dodge/HeldUse.hs 1328;" f
getPretty src/AesonHelp.hs 8;" f getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
@@ -4474,7 +4476,7 @@ getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f getSplitString src/Dodge/Debug/Terminal.hs 126;" f
getTiles src/Dodge/Layout.hs 208;" f getTiles src/Dodge/Layout.hs 208;" f
getViewpoints src/Dodge/Viewpoints.hs 29;" f getViewpoints src/Dodge/Viewpoints.hs 29;" f
getVolleyBurst src/Dodge/HeldUse.hs 104;" f getVolleyBurst src/Dodge/HeldUse.hs 123;" f
getWallSPic src/Dodge/Render/Walls.hs 51;" f getWallSPic src/Dodge/Render/Walls.hs 51;" f
getWindowSize src/Dodge/WindowSize.hs 5;" f getWindowSize src/Dodge/WindowSize.hs 5;" f
gimbal src/Dodge/Item/Scope.hs 153;" f gimbal src/Dodge/Item/Scope.hs 153;" f
@@ -4524,14 +4526,14 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 76;" f hammerCheck src/Dodge/HeldUse.hs 69;" f
handleEvent src/Dodge/Event.hs 27;" f handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f
handleMouseButtonEvent src/Dodge/Event/Input.hs 63;" f handleMouseButtonEvent src/Dodge/Event/Input.hs 63;" f
handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f handleMouseMotionEvent src/Dodge/Event/Input.hs 47;" f
handleMouseWheelEvent src/Dodge/Event/Input.hs 58;" f handleMouseWheelEvent src/Dodge/Event/Input.hs 58;" f
handlePos src/Dodge/Item/HeldOffset.hs 101;" f handlePos src/Dodge/Item/HeldOffset.hs 110;" f
handleResizeEvent src/Dodge/Event.hs 53;" f handleResizeEvent src/Dodge/Event.hs 53;" f
handleTextInput src/Dodge/Event/Input.hs 18;" f handleTextInput src/Dodge/Event/Input.hs 18;" f
handleWindowMoveEvent src/Dodge/Event.hs 44;" f handleWindowMoveEvent src/Dodge/Event.hs 44;" f
@@ -4555,26 +4557,25 @@ heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 22;" f heldAimStance src/Dodge/Item/AimStance.hs 22;" f
heldAimZoom src/Dodge/Update/Camera.hs 140;" f heldAimZoom src/Dodge/Update/Camera.hs 140;" f
heldEffect src/Dodge/HeldUse.hs 63;" f heldEffect src/Dodge/HeldUse.hs 63;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 145;" f heldEffectMuzzles src/Dodge/HeldUse.hs 170;" f
heldEffectNoHammerCheck src/Dodge/HeldUse.hs 66;" f heldEffectNoHammerCheck src/Dodge/HeldUse.hs 66;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 106;" f heldHandlePos src/Dodge/Item/HeldOffset.hs 115;" f
heldInfo src/Dodge/Item/Info.hs 90;" f heldInfo src/Dodge/Item/Info.hs 90;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f
heldItemInvLock src/Dodge/HeldUse.hs 491;" f heldItemInvLock src/Dodge/HeldUse.hs 516;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1070;" f heldItemMuzVel src/Dodge/HeldUse.hs 1093;" f
heldItemMuzzles src/Dodge/HeldUse.hs 173;" f heldItemMuzzles src/Dodge/HeldUse.hs 198;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 83;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 92;" f
heldItemOrient2D src/Dodge/Item/HeldOffset.hs 35;" f heldItemOrient2D src/Dodge/Item/HeldOffset.hs 37;" f
heldItemOrient2D' src/Dodge/Item/HeldOffset.hs 40;" f heldItemOrient2D' src/Dodge/Item/HeldOffset.hs 42;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 45;" f heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 47;" f
heldItemRifling src/Dodge/HeldUse.hs 1114;" f heldItemRifling src/Dodge/HeldUse.hs 1137;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 223;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 223;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 634;" f heldTorqueAmount src/Dodge/HeldUse.hs 659;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 17;" f heldTriggerType src/Dodge/BaseTriggerType.hs 17;" f
heldUseDelay src/Dodge/Item/UseDelay.hs 18;" f
helpCommand src/Dodge/Terminal.hs 66;" f helpCommand src/Dodge/Terminal.hs 66;" f
helpPoly3D src/Polyhedra.hs 125;" f helpPoly3D src/Polyhedra.hs 125;" f
heron src/Geometry.hs 217;" f heron src/Geometry.hs 217;" f
@@ -4661,18 +4662,18 @@ interweave src/Justify.hs 17;" f
introScan src/Dodge/Item/Scope.hs 57;" f introScan src/Dodge/Item/Scope.hs 57;" f
introScanValue src/Dodge/Inventory/SelectionList.hs 79;" f introScanValue src/Dodge/Inventory/SelectionList.hs 79;" f
intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f
invAdj src/Dodge/Item/Grammar.hs 243;" f invAdj src/Dodge/Item/Grammar.hs 244;" f
invCursorParams src/Dodge/ListDisplayParams.hs 36;" f invCursorParams src/Dodge/ListDisplayParams.hs 36;" f
invDP src/Dodge/ListDisplayParams.hs 30;" f invDP src/Dodge/ListDisplayParams.hs 30;" f
invDimColor src/Dodge/DisplayInventory.hs 192;" f invDimColor src/Dodge/DisplayInventory.hs 192;" f
invHead src/Dodge/Render/HUD.hs 405;" f invHead src/Dodge/Render/HUD.hs 405;" f
invItemLocUpdate src/Dodge/Creature/State.hs 155;" f invItemLocUpdate src/Dodge/Creature/State.hs 155;" f
invLDT src/Dodge/Item/Grammar.hs 220;" f invLDT src/Dodge/Item/Grammar.hs 221;" f
invLDT' src/Dodge/Item/Grammar.hs 225;" f invLDT' src/Dodge/Item/Grammar.hs 226;" f
invRootItemEffs src/Dodge/Creature/State.hs 148;" f invRootItemEffs src/Dodge/Creature/State.hs 148;" f
invRootMap src/Dodge/Item/Grammar.hs 232;" f invRootMap src/Dodge/Item/Grammar.hs 233;" f
invRootTrees src/Dodge/Item/Grammar.hs 253;" f invRootTrees src/Dodge/Item/Grammar.hs 254;" f
invRootTrees' src/Dodge/Item/Grammar.hs 259;" f invRootTrees' src/Dodge/Item/Grammar.hs 260;" f
invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f invSelectionItem src/Dodge/Inventory/SelectionList.hs 32;" f
invSetSelection src/Dodge/Inventory.hs 185;" f invSetSelection src/Dodge/Inventory.hs 185;" f
invSetSelectionPos src/Dodge/Inventory.hs 193;" f invSetSelectionPos src/Dodge/Inventory.hs 193;" f
@@ -4689,7 +4690,7 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 765;" f isAmmoIntLink src/Dodge/HeldUse.hs 790;" f
isAnimate src/Dodge/Creature/Test.hs 143;" f isAnimate src/Dodge/Creature/Test.hs 143;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f isConnected src/Dodge/Inventory/Swap.hs 74;" f
@@ -4720,13 +4721,13 @@ itEffectOnPickup src/Dodge/Item/BackgroundEffect.hs 64;" f
itInvHeight src/Dodge/Item/InvSize.hs 11;" f itInvHeight src/Dodge/Item/InvSize.hs 11;" f
itUseCondition src/Dodge/ItemUseCondition.hs 6;" f itUseCondition src/Dodge/ItemUseCondition.hs 6;" f
itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f itemAmmoSlots src/Dodge/Item/AmmoSlots.hs 12;" f
itemBaseName src/Dodge/Item/Display.hs 59;" f itemBaseName src/Dodge/Item/Display.hs 60;" f
itemBaseStance src/Dodge/Item/AimStance.hs 17;" f itemBaseStance src/Dodge/Item/AimStance.hs 17;" f
itemBlips src/Dodge/RadarSweep.hs 93;" f itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 816;" f itemDetectorEffect src/Dodge/HeldUse.hs 841;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f
@@ -4736,12 +4737,12 @@ itemFromBase src/Dodge/Item.hs 18;" f
itemFromEquipType src/Dodge/Item.hs 64;" f itemFromEquipType src/Dodge/Item.hs 64;" f
itemFromHeldType src/Dodge/Item/Held.hs 25;" f itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 33;" f itemInternalValue src/Dodge/Item/Display.hs 34;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 486;" f itemInvLock src/Dodge/HeldUse.hs 511;" f
itemMuzzles src/Dodge/HeldUse.hs 158;" f itemMuzzles src/Dodge/HeldUse.hs 183;" f
itemRandomOffset src/Dodge/HeldUse.hs 1007;" f itemRandomOffset src/Dodge/HeldUse.hs 1030;" f
itemRelativeOrient src/Dodge/Item/HeldOffset.hs 150;" f itemRelativeOrient src/Dodge/Item/HeldOffset.hs 159;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 27;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f itemSPic src/Dodge/Item/Draw/SPic.hs 33;" f
@@ -4749,8 +4750,8 @@ itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 52;" f itemScroll src/Dodge/Update/Scroll.hs 52;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f
itemSidePush src/Dodge/HeldUse.hs 432;" f itemSidePush src/Dodge/HeldUse.hs 457;" f
itemString src/Dodge/Item/Display.hs 55;" f itemString src/Dodge/Item/Display.hs 56;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 38;" f itemToBreakLists src/Dodge/Item/Grammar.hs 38;" f
itemToFunction src/Dodge/Item/Grammar.hs 120;" f itemToFunction src/Dodge/Item/Grammar.hs 120;" f
itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f itemTreeSPic src/Dodge/Item/Draw/SPic.hs 24;" f
@@ -4764,7 +4765,7 @@ itmSpaceInfo src/Dodge/Item/Info.hs 25;" f
itmUsageInfo src/Dodge/Item/Info.hs 230;" f itmUsageInfo src/Dodge/Item/Info.hs 230;" f
jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f jShape src/Dodge/Placement/Instance/LightSource.hs 85;" f
jaggedShape src/Dodge/Block/Debris.hs 191;" f jaggedShape src/Dodge/Block/Debris.hs 191;" f
joinItemsInList src/Dodge/Item/Grammar.hs 210;" f joinItemsInList src/Dodge/Item/Grammar.hs 211;" f
joystick src/Dodge/Item/Scope.hs 149;" f joystick src/Dodge/Item/Scope.hs 149;" f
jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f jps0' src/Dodge/LevelGen/PlacementHelper.hs 60;" f
jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f jps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 63;" f
@@ -4814,10 +4815,10 @@ ldtToIM src/Dodge/DoubleTree.hs 184;" f
ldtToIndentList src/Dodge/DoubleTree.hs 187;" f ldtToIndentList src/Dodge/DoubleTree.hs 187;" f
ldtToLoc src/Dodge/DoubleTree.hs 233;" f ldtToLoc src/Dodge/DoubleTree.hs 233;" f
left src/DoubleStack.hs 16;" f left src/DoubleStack.hs 16;" f
leftChildList src/Dodge/Item/Grammar.hs 184;" f leftChildList src/Dodge/Item/Grammar.hs 185;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 168;" f leftIsParentCombine src/Dodge/Item/Grammar.hs 169;" f
leftPad src/Padding.hs 15;" f leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 196;" f leftRightCombine src/Dodge/Item/Grammar.hs 197;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 475;" f legsSPic src/Dodge/Item/Draw/SPic.hs 475;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f light src/Color.hs 104;" f
@@ -4851,7 +4852,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 679;" f loadMuzzle src/Dodge/HeldUse.hs 704;" f
loadSaveSlot src/Dodge/Save.hs 74;" f loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4863,6 +4864,7 @@ locGoHelp src/Dodge/DoubleTree.hs 273;" f
locGoLeft src/Dodge/DoubleTree.hs 262;" f locGoLeft src/Dodge/DoubleTree.hs 262;" f
locGoRight src/Dodge/DoubleTree.hs 267;" f locGoRight src/Dodge/DoubleTree.hs 267;" f
locLeftmost src/Dodge/DoubleTree.hs 255;" f locLeftmost src/Dodge/DoubleTree.hs 255;" f
locOrientation src/Dodge/Item/HeldOffset.hs 74;" f
locRightmost src/Dodge/DoubleTree.hs 258;" f locRightmost src/Dodge/DoubleTree.hs 258;" f
locToTop src/Dodge/DoubleTree.hs 250;" f locToTop src/Dodge/DoubleTree.hs 250;" f
locUp src/Dodge/DoubleTree.hs 237;" f locUp src/Dodge/DoubleTree.hs 237;" f
@@ -4894,7 +4896,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 951;" f magAmmoParams src/Dodge/HeldUse.hs 976;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f magV src/Geometry/Vector.hs 171;" f
@@ -4909,8 +4911,7 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1051;" f makeBullet src/Dodge/HeldUse.hs 1074;" f
makeBullet' src/Dodge/HeldUse.hs 993;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4936,7 +4937,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 74;" f makeMovingEB src/Dodge/EnergyBall.hs 74;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 700;" f makeMuzzleFlare src/Dodge/HeldUse.hs 725;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4981,7 +4982,7 @@ maybeExitCombine src/Dodge/Update/Input/InGame.hs 536;" f
maybeOpenConsole src/Dodge/Update.hs 126;" f maybeOpenConsole src/Dodge/Update.hs 126;" f
maybeReadFile src/Dodge/LoadSeed.hs 10;" f maybeReadFile src/Dodge/LoadSeed.hs 10;" f
maybeTakeOne src/RandomHelp.hs 116;" f maybeTakeOne src/RandomHelp.hs 116;" f
maybeWarmupStatus src/Dodge/Item/Display.hs 44;" f maybeWarmupStatus src/Dodge/Item/Display.hs 45;" f
mcApplyDamage src/Dodge/Machine/Update.hs 114;" f mcApplyDamage src/Dodge/Machine/Update.hs 114;" f
mcKillBut src/Dodge/Machine/Destroy.hs 34;" f mcKillBut src/Dodge/Machine/Destroy.hs 34;" f
mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f mcKillTerm src/Dodge/Machine/Destroy.hs 26;" f
@@ -4991,11 +4992,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 111;" f mcSPic src/Dodge/Render/ShapePicture.hs 111;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1239;" f mcShootAuto src/Dodge/HeldUse.hs 1262;" f
mcShootLaser src/Dodge/HeldUse.hs 1232;" f mcShootLaser src/Dodge/HeldUse.hs 1255;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1158;" f mcUseHeld src/Dodge/HeldUse.hs 1181;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f mcUseItem src/Dodge/Machine/Update.hs 85;" f
medkit src/Dodge/Item/Consumable.hs 8;" f medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 54;" f megaBattery src/Dodge/Item/Ammo.hs 54;" f
@@ -5088,7 +5089,7 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 34;" f multiLookupTrie src/SimpleTrie.hs 34;" f
multiLookupTrieI src/SimpleTrie.hs 43;" f multiLookupTrieI src/SimpleTrie.hs 43;" f
muout src/Dodge/RoomLink.hs 129;" f muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 725;" f muzFlareAt src/Dodge/HeldUse.hs 750;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
@@ -5483,7 +5484,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
readSaveSlot src/Dodge/Save.hs 45;" f readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 513;" f recoilAmount src/Dodge/HeldUse.hs 538;" f
rectNSWE src/Geometry/Polygon.hs 13;" f rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f rectWH src/Geometry/Polygon.hs 17;" f
@@ -5510,7 +5511,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 918;" f removeAmmoFromMag src/Dodge/HeldUse.hs 943;" f
removeDot src/ShortShow.hs 29;" f removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5555,8 +5556,8 @@ rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 72;" f rhombus src/Polyhedra.hs 72;" f
rifle src/Dodge/Item/Held/Cane.hs 19;" f rifle src/Dodge/Item/Held/Cane.hs 19;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightChildList src/Dodge/Item/Grammar.hs 190;" f rightChildList src/Dodge/Item/Grammar.hs 191;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 176;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 177;" f
rightPad src/Padding.hs 19;" f rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f rightPadNoSquash src/Padding.hs 23;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f rlPosDir src/Dodge/RoomLink.hs 94;" f
@@ -5791,14 +5792,15 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 329;" f shineTargetLaser src/Dodge/Creature/State.hs 329;" f
shineTorch src/Dodge/Creature/State.hs 409;" f shineTorch src/Dodge/Creature/State.hs 409;" f
shootBullet src/Dodge/HeldUse.hs 983;" f shootBullet src/Dodge/HeldUse.hs 1018;" f
shootBullets src/Dodge/HeldUse.hs 1008;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 897;" f shootLaser src/Dodge/HeldUse.hs 922;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1258;" f shootTeslaArc src/Dodge/HeldUse.hs 1281;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 849;" f shootTractorBeam src/Dodge/HeldUse.hs 874;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -5806,14 +5808,14 @@ shootingRange src/Dodge/Room/Room.hs 332;" f
shortPoint2 src/Dodge/ShortShow.hs 4;" f shortPoint2 src/Dodge/ShortShow.hs 4;" f
shortShow src/ShortShow.hs 9;" f shortShow src/ShortShow.hs 9;" f
shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f shotgunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 693;" f
shoulderHeight src/Dodge/Item/HeldOffset.hs 86;" f shoulderHeight src/Dodge/Item/HeldOffset.hs 95;" f
shoulderSH src/Dodge/Creature/Picture.hs 133;" f shoulderSH src/Dodge/Creature/Picture.hs 133;" f
shoulderSP src/Dodge/Creature/HandPos.hs 170;" f shoulderSP src/Dodge/Creature/HandPos.hs 170;" f
showAttachItem src/Dodge/Item/Display.hs 90;" f showAttachItem src/Dodge/Item/Display.hs 91;" f
showEquipItem src/Dodge/Item/Display.hs 104;" f showEquipItem src/Dodge/Item/Display.hs 105;" f
showInt src/Dodge/Item/Info.hs 73;" f showInt src/Dodge/Item/Info.hs 73;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f showIntsString src/Dodge/Tree/Compose.hs 129;" f
showInventoryPathing src/Dodge/Item/Display.hs 84;" f showInventoryPathing src/Dodge/Item/Display.hs 85;" f
showManObj src/Dodge/TestString.hs 62;" f showManObj src/Dodge/TestString.hs 62;" f
showTerminalError src/Dodge/Debug/Terminal.hs 78;" f showTerminalError src/Dodge/Debug/Terminal.hs 78;" f
showTimeFlow src/Dodge/TestString.hs 85;" f showTimeFlow src/Dodge/TestString.hs 85;" f
@@ -5956,12 +5958,11 @@ strFromEquipment src/Dodge/Creature/Statistics.hs 48;" f
strFromHeldItem src/Dodge/Creature/Statistics.hs 60;" f strFromHeldItem src/Dodge/Creature/Statistics.hs 60;" f
strengthFactor src/Dodge/Creature/Impulse/Movement.hs 35;" f strengthFactor src/Dodge/Creature/Impulse/Movement.hs 35;" f
strictify src/MaybeHelp.hs 37;" f strictify src/MaybeHelp.hs 37;" f
strideRot src/Dodge/Item/HeldOffset.hs 89;" f strideRot src/Dodge/Item/HeldOffset.hs 98;" f
stringToList src/Picture/Base.hs 313;" f stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f stripZ src/Geometry/Vector3D.hs 97;" f
structureToPotentialFunction src/Dodge/Item/Grammar.hs 155;" f structureToPotentialFunction src/Dodge/Item/Grammar.hs 155;" f
structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 71;" f
subInvX src/Dodge/ListDisplayParams.hs 48;" f subInvX src/Dodge/ListDisplayParams.hs 48;" f
subMap src/TreeHelp.hs 118;" f subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
@@ -6097,19 +6098,19 @@ topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 58;" f topTestPart src/Dodge/TestString.hs 58;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 267;" f torchShape src/Dodge/Item/Draw/SPic.hs 267;" f
torqueAmount src/Dodge/HeldUse.hs 629;" f torqueAmount src/Dodge/HeldUse.hs 654;" f
torqueCr src/Dodge/WorldEffect.hs 66;" f torqueCr src/Dodge/WorldEffect.hs 66;" f
torso src/Dodge/Creature/Picture.hs 99;" f torso src/Dodge/Creature/Picture.hs 99;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 861;" f tractorBeamAt src/Dodge/HeldUse.hs 886;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 435;" f tractorGunPic src/Dodge/Item/Draw/SPic.hs 435;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f tranRot src/Picture/Base.hs 124;" f
transMat src/MatrixHelper.hs 73;" f transMat src/MatrixHelper.hs 73;" f
transToHandle src/Dodge/Item/HeldOffset.hs 30;" f transToHandle src/Dodge/Item/HeldOffset.hs 32;" f
translate src/Picture/Base.hs 116;" f translate src/Picture/Base.hs 116;" f
translate3 src/Picture/Base.hs 120;" f translate3 src/Picture/Base.hs 120;" f
translateFloatingCamera src/Dodge/Update/Camera.hs 45;" f translateFloatingCamera src/Dodge/Update/Camera.hs 45;" f
@@ -6175,13 +6176,13 @@ trySynthBullet src/Dodge/Creature/State.hs 224;" f
tryUseParent src/Dodge/Creature/State.hs 217;" f tryUseParent src/Dodge/Creature/State.hs 217;" f
turnTo src/Dodge/Movement/Turn.hs 8;" f turnTo src/Dodge/Movement/Turn.hs 8;" f
turret src/Dodge/Placement/Instance/Turret.hs 35;" f turret src/Dodge/Placement/Instance/Turret.hs 35;" f
turretItemOffset src/Dodge/Item/HeldOffset.hs 25;" f turretItemOffset src/Dodge/Item/HeldOffset.hs 27;" f
tweenAngles src/Geometry/Vector.hs 195;" f tweenAngles src/Geometry/Vector.hs 195;" f
twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f twinSlowDoorChasers src/Dodge/Room/LongDoor.hs 80;" f
twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f twinSlowDoorRoom src/Dodge/Room/LongDoor.hs 28;" f
twists src/Dodge/Creature/Test.hs 108;" f twists src/Dodge/Creature/Test.hs 108;" f
twoFlat src/Dodge/Creature/Test.hs 105;" f twoFlat src/Dodge/Creature/Test.hs 105;" f
twoFlatHRot src/Dodge/Item/HeldOffset.hs 98;" f twoFlatHRot src/Dodge/Item/HeldOffset.hs 107;" f
twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f twoHandTwistAmount src/Dodge/Creature/YourControl.hs 150;" f
twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f twoRoomPoss src/Dodge/PlacementSpot.hs 147;" f
twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 533;" f
@@ -6342,27 +6343,25 @@ upperRounded src/Shape.hs 185;" f
useBulletPayload src/Dodge/Bullet.hs 113;" f useBulletPayload src/Dodge/Bullet.hs 113;" f
useC src/Dodge/Cuse.hs 8;" f useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f useC' src/Dodge/Cuse.hs 13;" f
useDelay src/Dodge/Item/UseDelay.hs 12;" f useGasParams src/Dodge/HeldUse.hs 1186;" f
useGasParams src/Dodge/HeldUse.hs 1163;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1431;" f useInventoryPath src/Dodge/HeldUse.hs 1454;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f useItem src/Dodge/Creature/Impulse/UseItem.hs 18;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 26;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 769;" f useLoadedAmmo src/Dodge/HeldUse.hs 794;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 61;" f
useMagShield src/Dodge/Euse.hs 26;" f useMagShield src/Dodge/Euse.hs 26;" f
useNormalCamera src/Dodge/Camera.hs 6;" f useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1391;" f useRewindGun src/Dodge/HeldUse.hs 1414;" f
useRewindGun src/Dodge/Luse.hs 40;" f useRewindGun src/Dodge/Luse.hs 40;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useStopWatch src/Dodge/HeldUse.hs 1372;" f useStopWatch src/Dodge/HeldUse.hs 1395;" f
useStopWatch src/Dodge/Luse.hs 21;" f useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/HeldUse.hs 112;" f useTimeCheck src/Dodge/HeldUse.hs 131;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1380;" f useTimeScrollGun src/Dodge/HeldUse.hs 1403;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6386,7 +6385,7 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 328;" f vgunMuzzles src/Dodge/HeldUse.hs 353;" f
viewBoundaries src/Dodge/Debug/Picture.hs 304;" f viewBoundaries src/Dodge/Debug/Picture.hs 304;" f
viewClipBounds src/Dodge/Debug/Picture.hs 313;" f viewClipBounds src/Dodge/Debug/Picture.hs 313;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f
@@ -6398,7 +6397,7 @@ vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 345;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 345;" f
waistSP src/Dodge/Creature/HandPos.hs 173;" f waistSP src/Dodge/Creature/HandPos.hs 173;" f
walkNozzle src/Dodge/HeldUse.hs 831;" f walkNozzle src/Dodge/HeldUse.hs 856;" f
walkableNodeNear src/Dodge/Path.hs 48;" f walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6406,7 +6405,7 @@ wallIsZeroLength src/Dodge/LevelGen/StaticWalls.hs 179;" f
wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f wallLine src/Dodge/Placement/Instance/Wall.hs 71;" f
wallsFromRooms src/Dodge/Layout.hs 146;" f wallsFromRooms src/Dodge/Layout.hs 146;" f
wallsToDraw src/Dodge/Render/Walls.hs 17;" f wallsToDraw src/Dodge/Render/Walls.hs 17;" f
warmupSound src/Dodge/HeldUse.hs 1425;" f warmupSound src/Dodge/HeldUse.hs 1448;" f
warningRooms src/Dodge/Room/Warning.hs 28;" f warningRooms src/Dodge/Room/Warning.hs 28;" f
wasdAim src/Dodge/Creature/YourControl.hs 126;" f wasdAim src/Dodge/Creature/YourControl.hs 126;" f
wasdDir src/Dodge/WASD.hs 17;" f wasdDir src/Dodge/WASD.hs 17;" f