Fix burst rifle rate delay bug, various cleanups

This commit is contained in:
2025-06-25 23:47:41 +01:00
parent 1bdf426c42
commit 5b35b4c6c8
19 changed files with 440 additions and 469 deletions
+4 -8
View File
@@ -24,9 +24,8 @@ useItem invid pt w = fmap (worldEventFlags . at InventoryChange ?~ ()) $ do
let usedloc = useLocation itmloc
useItemLoc cr usedloc pt w
useItemLoc ::
Creature ->
LocationLDT ItemLink ComposedItem ->
useItemLoc :: Creature ->
LocationLDT ItemLink CItem ->
PressType ->
World ->
Maybe World
@@ -63,7 +62,7 @@ useItemLoc cr loc pt w
ldt = loc ^. locLDT
itm = ldt ^. ldtValue . _1
useLocation :: LocationLDT ItemLink ComposedItem -> LocationLDT ItemLink ComposedItem
useLocation :: LocationLDT ItemLink CItem -> LocationLDT ItemLink CItem
useLocation loc
| isJust $ loc ^? locLDT . ldtValue . _1 . itType . ibtEquip = loc
| isJust $ loc ^? locLDT . ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0 =
@@ -81,10 +80,7 @@ structureUseAtLoc = \case
MapperSF -> True
_ -> False
activateDetonator ::
LabelDoubleTree ItemLink ComposedItem ->
World ->
World
activateDetonator :: LabelDoubleTree ItemLink CItem -> World -> World
activateDetonator det = fromMaybe id $ do
pjid <- det ^? ldtValue . _1 . itUse . uaParams . apProjectiles . ix 0
return $ cWorld . lWorld . projectiles . ix pjid . pjTimer .~ 0
+11 -11
View File
@@ -149,7 +149,7 @@ invRootItemEffs cr =
(reduceLocLDT (Endo . invItemLocUpdate cr) . LocLDT TopLDT)
(invLDT (_crInv cr))
invItemLocUpdate :: Creature -> LocationLDT ItemLink ComposedItem -> World -> World
invItemLocUpdate :: Creature -> LocationLDT ItemLink CItem -> World -> World
invItemLocUpdate cr loc w = doAnyEquipmentEffect loc cr $ case itm ^. itType of
ATTACH BULLETSYNTH -> trySynthBullet loc w
EQUIP WRIST_ECG | haspulse -> tryUseParent loc w
@@ -175,21 +175,21 @@ copierItemUpdate itm cr w = fromMaybe w $ do
v <- getItemValue itm' w cr
return $ w & pointerToItem itm . itUse . uValue .~ v
doAnyEquipmentEffect :: LocationLDT ItemLink ComposedItem -> Creature -> World -> World
doAnyEquipmentEffect :: LocationLDT ItemLink CItem -> Creature -> World -> World
doAnyEquipmentEffect loc cr = case itm ^? itLocation . ilEquipSite . _Just of
Just _ -> equipBackgroundEffect loc cr
_ -> id
where
itm = loc ^. locLDT . ldtValue . _1
tryUseParent :: LocationLDT ItemLink ComposedItem -> World -> World
tryUseParent :: LocationLDT ItemLink CItem -> World -> World
tryUseParent loc w = fromMaybe w $ do
t <- locUp loc
let t' = bimap (^. iatType) (^. _1) $ t ^. locLDT
cr <- w ^? cWorld . lWorld . creatures . ix 0
return $ heldEffectNoHammerCheck t' cr w
trySynthBullet :: LocationLDT ItemLink ComposedItem -> World -> World
trySynthBullet :: LocationLDT ItemLink CItem -> World -> World
trySynthBullet loc w = fromMaybe w $ do
i <- itm ^? itLocation . ilInvID
x <- itm ^? itUse . uaParams . apInt
@@ -248,7 +248,7 @@ updateHeldRootItem cr = fromMaybe id $ do
itmtree <- invRootTrees (_crInv cr) ^? ix invid
return $ updateAttachedItems itmtree cr
updateAttachedItems :: LabelDoubleTree ItemLink ComposedItem -> Creature -> World -> World
updateAttachedItems :: LabelDoubleTree ItemLink CItem -> Creature -> World -> World
updateAttachedItems itmtree cr =
cldtPropagateFold
chainLinkOrientation
@@ -260,9 +260,9 @@ updateAttachedItems itmtree cr =
-- need to check rotation
chainLinkOrientation ::
(Point3, Q.Quaternion Float) ->
ComposedItem ->
CItem ->
ItemLink ->
ComposedItem ->
CItem ->
(Point3, Q.Quaternion Float)
chainLinkOrientation (p, q) par (ILink lt f) child = (p + Q.rotate q p1, q * q1)
where
@@ -271,7 +271,7 @@ chainLinkOrientation (p, q) par (ILink lt f) child = (p + Q.rotate q p1, q * q1)
updateItemWithOrientation ::
Creature ->
(Point3, Q.Quaternion Float) ->
LocationLDT ItemLink ComposedItem ->
LocationLDT ItemLink CItem ->
World ->
World
updateItemWithOrientation cr m loc@(LocLDT _ itmtree) w =
@@ -285,7 +285,7 @@ updateItemWithOrientation cr m loc@(LocLDT _ itmtree) w =
ci = itmtree ^. ldtValue
itm = ci ^. _1
drawARHUD :: LocationLDT ItemLink ComposedItem -> World -> World
drawARHUD :: LocationLDT ItemLink CItem -> World -> World
drawARHUD (LocLDT con _) w = fromMaybe w $ do
itm <- con ^? cldtParent . _1
return $
@@ -295,7 +295,7 @@ drawARHUD (LocLDT con _) w = fromMaybe w $ do
shineTargetLaser ::
Creature ->
LabelDoubleTree ItemLink ComposedItem ->
LabelDoubleTree ItemLink CItem ->
(Point3, Q.Quaternion Float) ->
World ->
World
@@ -336,7 +336,7 @@ shineTargetLaser cr itmtree (p, q) w = fromMaybe (w & pointittarg . itTgPos .~ N
shineTorch ::
Creature ->
LabelDoubleTree ItemLink ComposedItem ->
LabelDoubleTree ItemLink CItem ->
(Point3, Q.Quaternion Float) ->
World ->
World
+10 -10
View File
@@ -12,7 +12,7 @@ import Dodge.Data.Item
import Geometry.Data
import Linear.Quaternion (Quaternion (..))
data ComposeLinkType
data CLinkType
= AmmoInLink Int AmmoType
| TriggerLink
| AmmoModLink
@@ -65,29 +65,29 @@ data ItemStructuralFunction
| MapperSF
deriving (Eq, Ord, Show, Read)
type ComposedItem = (Item, ItemStructuralFunction, LinkTest)
type CItem = (Item, ItemStructuralFunction, LinkTest)
data ItemLink = ILink
{ _iatType :: ComposeLinkType
, _iatOrient :: Item -> ComposeLinkType -> Item -> (Point3, Quaternion Float)
{ _iatType :: CLinkType
, _iatOrient :: Item -> CLinkType -> Item -> (Point3, Quaternion Float)
}
-- this should possibly use a full item structure tree rather than a
-- ComposedItem as arguments
-- CItem as arguments
data LinkTest = LTest
{ _tryLeftLink :: LabelDoubleTree ItemLink ComposedItem -> Maybe LinkUpdate
, _tryRightLink :: LabelDoubleTree ItemLink ComposedItem -> Maybe LinkUpdate
{ _tryLeftLink :: LabelDoubleTree ItemLink CItem -> Maybe LinkUpdate
, _tryRightLink :: LabelDoubleTree ItemLink CItem -> Maybe LinkUpdate
}
data LinkUpdate = LUpdate
{ _luLinkType :: ItemLink
, _luParentUpdate :: ComposedItem -> ComposedItem
, _luChildUpdate :: ComposedItem -> ComposedItem
, _luParentUpdate :: CItem -> CItem
, _luChildUpdate :: CItem -> CItem
}
makeLenses ''ItemLink
makeLenses ''LinkTest
makeLenses ''LinkUpdate
makeLenses ''ComposeLinkType
makeLenses ''CLinkType
--deriveJSON defaultOptions ''ItemStructuralFunction
--deriveJSON defaultOptions ''ComposeLinkType
-2
View File
@@ -25,7 +25,6 @@ import Dodge.Data.Item.BulletMod
import Dodge.Data.Item.Scope
import Dodge.Data.Item.Targeting
import Dodge.Data.Payload
--import Dodge.Data.Item.Use.Consumption
import Geometry.Data
data ItemUse
@@ -54,7 +53,6 @@ data AmmoParams
= BulletParams {_ampBullet :: Bullet}
| ProjectileParams {_ampPayload :: Payload}
| GasParams {_ampCreateGas :: GasFuel}
| NoAmmoParams
deriving (Eq, Show, Read) --Generic, Flat)
makeLenses ''ItemUse
+1 -1
View File
@@ -14,7 +14,7 @@ data Muzzle = Muzzle
, _mzFlareType :: FlareType
, _mzEffect :: MuzzleEffect
, _mzAmmoPerShot :: AmmoPerShot
, _mzFrame :: Int
-- , _mzFrame :: Int
}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
+1 -1
View File
@@ -12,7 +12,7 @@ import Dodge.Wall.Move
import Geometry
import LensHelp
equipBackgroundEffect :: LocationLDT ItemLink ComposedItem -> Creature -> World -> World
equipBackgroundEffect :: LocationLDT ItemLink CItem -> Creature -> World -> World
equipBackgroundEffect loc cr = case eo of
EQUIP (MAGSHIELD mt) -> useMagShield mt itm cr
EQUIP WRISTARMOUR -> setWristShieldPos itm cr
+2
View File
@@ -21,6 +21,8 @@ updateFlame w pt
| _flTimer pt <= 0 = (makeCloudAt Smoke 200 (addZ 20 ep) w, Nothing)
| Just (_, Right wl) <- thit = (doupdate, Just $ reflame wl)
-- might want to move differently if we hit a creature?
| _flTimer pt <= 1 = (makeCloudAt Smoke 200 (addZ 20 ep) $ flFlicker pt doupdate
, Just mvflame)
| otherwise = (flFlicker pt doupdate, Just mvflame)
where
reflame wl = pt & flTimer -~ 1 & flVel %~ reflVelWallDamp 0.9 wl
+201 -207
View File
@@ -10,26 +10,26 @@ module Dodge.HeldUse (
heldEffectMuzzles,
) where
import Dodge.Creature.Radius
import Dodge.Creature.Mass
import Dodge.Data.Muzzle
import Dodge.Data.UseDelay
import Dodge.Item.UseDelay
import Dodge.Base
import Color
import Control.Applicative
import Control.Monad
import qualified Data.IntMap.Strict as IM
import Data.Maybe
import Dodge.Base
import Dodge.BaseTriggerType
import Dodge.Creature.Action
import Dodge.Creature.Mass
import Dodge.Creature.Radius
import Dodge.Data.ComposedItem
import Dodge.Data.DoubleTree
import Dodge.Data.Muzzle
import Dodge.Data.UseDelay
import Dodge.Data.World
import Dodge.Gas
import Dodge.Inventory.Lock
import Dodge.Inventory.Path
import Dodge.Item.HeldOffset
import Dodge.Item.UseDelay
import Dodge.Item.Weapon.Bullet
import Dodge.Item.Weapon.Shatter
import Dodge.Projectile.Create
@@ -45,12 +45,7 @@ import RandomHelp
import qualified SDL
import Sound.Data
gadgetEffect ::
PressType ->
LocationLDT ItemLink ComposedItem ->
Creature ->
World ->
World
gadgetEffect :: PressType -> LocationLDT ItemLink CItem -> Creature -> World -> World
gadgetEffect pt loc
| UseHeld{} <- loc ^. locLDT . ldtValue . _1 . itUse =
heldEffect
@@ -65,29 +60,23 @@ gadgetEffect pt loc
useInventoryPath pt i x loc
| otherwise = const id
heldEffect ::
PressType ->
LabelDoubleTree ComposeLinkType Item ->
Creature ->
World ->
World
heldEffect = hammerCheck heldEffectNoHammerCheck
heldEffect :: PressType -> LabelDoubleTree CLinkType Item -> Creature -> World -> World
heldEffect = useTimeCheck . hammerCheck heldEffectMuzzles
heldEffectNoHammerCheck ::
LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
heldEffectNoHammerCheck :: LabelDoubleTree CLinkType Item -> Creature -> World -> World
heldEffectNoHammerCheck = useTimeCheck heldEffectMuzzles
type ChainEffect =
(LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World) ->
LabelDoubleTree ComposeLinkType Item ->
(LabelDoubleTree CLinkType Item -> Creature -> World -> World) ->
LabelDoubleTree CLinkType Item ->
Creature ->
World ->
World
hammerCheck ::
(LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World) ->
(LabelDoubleTree CLinkType Item -> Creature -> World -> World) ->
PressType ->
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Creature ->
World ->
World
@@ -106,11 +95,6 @@ hammerCheck f pt it cr
id
| otherwise = f it cr
where
-- g x = (x, WdWdFromItCrixWdWd (upitm x) (_crID cr) ItCrWdItemHeldEffectNoHammer)
-- upitm x =
-- it -- & ldtValue . itUse . heldParams . weaponRepeat .~ []
-- & ldtValue . itUse . heldFrame .~ x
g x = (x, WdWdBurstFireRepetition (_crID cr) (it ^?! ldtValue . itLocation . ilInvID))
-- | Applies a world effect after an item use cooldown check.
@@ -123,151 +107,163 @@ useTimeCheck f item cr w = case useDelay $ item ^. ldtValue of
| _wTime (_itParams $ _ldtValue item) < wm ->
w
& soundContinue (CrWeaponSound cid 0) (_crPos cr) ws (Just 2)
-- & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itUse . heldDelay . warmTime +~ 2
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime +~ 2
WarmUpNoDelay wm _ ->
f item cr w
-- & cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itUse . heldDelay . warmTime .~ (wm + 1)
& cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itParams . wTime .~ (wm + 1)
NoDelay -> f item cr w
--Nothing -> w
where
lastused = item ^. ldtValue . itTimeLastUsed
cid = _crID cr
setUseRate =
--cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itUse . heldDelay . rateTimeLastUsed
cWorld . lWorld . creatures . ix cid . crInv . ix itRef . itTimeLastUsed
.~ w ^. cWorld . lWorld . lClock
-- the following is unsafe, but if ilInvID isn't correctly set we probably
-- will have problems elsewhere also
itRef = item ^?! ldtValue . itLocation . ilInvID
heldEffectMuzzles :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
heldEffectMuzzles :: LabelDoubleTree CLinkType Item -> Creature -> World -> World
heldEffectMuzzles t cr w =
doHeldUseEffect t cr
. uncurry (applyCME (_ldtValue t) cr)
. foldl' (useLoadedAmmo t cr) (False, w)
$ loadedmuzzles
where
-- & doWeaponRepetitions upitm cr
(_, loadedmuzzles) = mapAccumR loadMuzzle t . itemMuzzles $ t ^. ldtValue
--muzzles = t ^. ldtValue . itUse . heldMuzzles
muzzles = itemMuzzles $ t ^. ldtValue
--(upitm, loadedmuzzles) = mapAccumR loadMuzzle t muzzles
(_, loadedmuzzles) = mapAccumR loadMuzzle t muzzles
itemMuzzles :: Item -> [Muzzle]
itemMuzzles itm = case itm ^. itType of
HELD ALTERIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0
& ix 0 . mzAmmoSlot .~ _alteRifleSwitch (_itParams itm)
HELD ALTERIFLE ->
dbwMuzzles & ix 0 . mzPos .~ V2 25 0
& ix 0 . mzAmmoSlot .~ _alteRifleSwitch (_itParams itm)
HELD hit -> heldItemMuzzles hit
DETECTOR {} -> dbwMuzzles & ix 0 . mzEffect .~ MuzzleDetector
& ix 0 . mzAmmoPerShot .~ UseExactly 100
DETECTOR{} ->
dbwMuzzles & ix 0 . mzEffect .~ MuzzleDetector
& ix 0 . mzAmmoPerShot .~ UseExactly 100
_ -> []
heldItemMuzzles :: HeldItemType -> [Muzzle]
heldItemMuzzles = \case
BANGSTICK i -> [ Muzzle
(V2 10 0)
a
0.01
0
NoFlare
MuzzleShootBullet
(UseExactly 1)
0
| a <- spreadAroundCenter i baseStickSpread
]
& ix 0 . mzFlareType .~ NoLightFlare
& ix (i `div` 2) . mzFlareType .~ MiniGunFlare
& ix (i-1) . mzFlareType .~ NoLightFlare
PISTOL -> [Muzzle (V2 10 0) 0 0.05 0 BasicFlare MuzzleShootBullet (UseExactly 1) 0]
AUTOPISTOL -> [Muzzle (V2 20 0) 0 0 0 BasicFlare MuzzleShootBullet (UseExactly 1) 0]
SMG -> [Muzzle (V2 10 0) 0 0.05 0 BasicFlare MuzzleShootBullet (UseExactly 1) 0]
BANGSTICK i ->
[ Muzzle
(V2 10 0)
a
0.01
0
NoFlare
MuzzleShootBullet
(UseExactly 1)
-- 0
| a <- spreadAroundCenter i baseStickSpread
]
& ix 0 . mzFlareType .~ NoLightFlare
& ix (i `div` 2) . mzFlareType .~ BasicFlare
& ix (i -1) . mzFlareType .~ NoLightFlare
PISTOL -> [Muzzle (V2 10 0) 0 0.05 0 BasicFlare MuzzleShootBullet (UseExactly 1)]
AUTOPISTOL -> [Muzzle (V2 20 0) 0 0 0 BasicFlare MuzzleShootBullet (UseExactly 1)]
SMG -> [Muzzle (V2 10 0) 0 0.05 0 BasicFlare MuzzleShootBullet (UseExactly 1)]
RIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0
BURSTRIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0
& ix 0 . mzInaccuracy .~ 0.05
MINIGUNX i ->
replicate i
(Muzzle (V2 30 0) 0 0.05 0 MiniGunFlare MuzzleShootBullet (UseExactly 1) 0)
BANGROD -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
ELEPHANTGUN -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0.05
AMR -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0.05
AUTOAMR -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0.05
SNIPERRIFLE -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0
BANGCONE -> [Muzzle (V2 15 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15) 0]
BLUNDERBUSS -> [Muzzle (V2 30 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15) 0]
GRAPECANNON _ -> [Muzzle (V2 30 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15) 0]
BURSTRIFLE -> dbwMuzzles & ix 0 . mzPos .~ V2 25 0 & ix 0 . mzInaccuracy .~ 0.05
MINIGUNX i ->
replicate
i
(Muzzle (V2 30 0) 0 0.05 0 NoFlare MuzzleShootBullet (UseExactly 1))
& ix 0 . mzFlareType .~ MiniGunFlare
BANGROD ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
ELEPHANTGUN ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0.05
AMR ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0.05
AUTOAMR ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0.05
SNIPERRIFLE ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzFlareType .~ HeavySmokeFlare
& ix 0 . mzInaccuracy .~ 0
BANGCONE -> [Muzzle (V2 15 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15)]
BLUNDERBUSS -> [Muzzle (V2 30 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15)]
GRAPECANNON _ -> [Muzzle (V2 30 0) 0 0.5 0 BasicFlare MuzzleShootBullet (UseUpTo 15)]
TORCH -> dbwMuzzles & ix 0 . mzPos .~ V2 10 0
VOLLEYGUN i -> vgunMuzzles i
FLAMETHROWER -> flameMuzzles
FLAMESPITTER -> flameMuzzles & ix 0 . mzEffect . nzPressure .~ UniRandFloat 3 4
RLAUNCHER -> dbwMuzzles
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzEffect .~ MuzzleRLauncher
& ix 0 . mzPos .~ V2 20 0
GLAUNCHER -> dbwMuzzles
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzEffect .~ MuzzleGLauncher
& ix 0 . mzPos .~ V2 20 0
RLAUNCHER ->
dbwMuzzles
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzEffect .~ MuzzleRLauncher
& ix 0 . mzPos .~ V2 20 0
GLAUNCHER ->
dbwMuzzles
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzEffect .~ MuzzleGLauncher
& ix 0 . mzPos .~ V2 20 0
RLAUNCHERX i ->
getZipList
( ZipList [Muzzle (V2 20 0) a 0 | a <- take i [0, 2 * pi / fromIntegral i ..]]
<*> ZipList [0 ..]
<*> pure NoFlare
<*> pure MuzzleRLauncher
<*> pure (UseExactly 1)
<*> pure 0
)
LASER -> dbwMuzzles
& ix 0 . mzPos .~ V2 6 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ LasGunFlare
& ix 0 . mzEffect .~ MuzzleLaser
TESLAGUN -> dbwMuzzles
& ix 0 . mzPos .~ V2 10 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ TeslaGunFlare
& ix 0 . mzEffect .~ MuzzleTesla
TRACTORGUN -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ NoFlare
& ix 0 . mzEffect .~ MuzzleTractor
SHATTERGUN -> dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzEffect .~ MuzzleShatter
BLINKER -> dbwMuzzles
& ix 0 . mzEffect .~ MuzzleBlink
& ix 0 . mzAmmoPerShot .~ UseExactly 10000000
BLINKERUNSAFE -> dbwMuzzles
& ix 0 . mzEffect .~ MuzzleUnsafeBlink
& ix 0 . mzAmmoPerShot .~ UseExactly 10000000
REWINDER -> dbwMuzzles
& ix 0 . mzEffect .~ MuzzleRewind
& ix 0 . mzAmmoPerShot .~ UseExactly 100000
TIMESTOPPER -> dbwMuzzles
& ix 0 . mzEffect .~ MuzzleStopper
& ix 0 . mzAmmoPerShot .~ UseExactly 100000
TIMESCROLLER -> dbwMuzzles
& ix 0 . mzEffect .~ MuzzleScroller
& ix 0 . mzAmmoPerShot .~ UseExactly 100000
_ -> [ Muzzle
getZipList
( ZipList [Muzzle (V2 20 0) a 0 | a <- take i [0, 2 * pi / fromIntegral i ..]]
<*> ZipList [0 ..]
<*> pure NoFlare
<*> pure MuzzleRLauncher
<*> pure (UseExactly 1)
)
LASER ->
dbwMuzzles
& ix 0 . mzPos .~ V2 6 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ LasGunFlare
& ix 0 . mzEffect .~ MuzzleLaser
TESLAGUN ->
dbwMuzzles
& ix 0 . mzPos .~ V2 10 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ TeslaGunFlare
& ix 0 . mzEffect .~ MuzzleTesla
TRACTORGUN ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzFlareType .~ NoFlare
& ix 0 . mzEffect .~ MuzzleTractor
SHATTERGUN ->
dbwMuzzles
& ix 0 . mzPos .~ V2 30 0
& ix 0 . mzInaccuracy .~ 0
& ix 0 . mzEffect .~ MuzzleShatter
BLINKER ->
dbwMuzzles
& ix 0 . mzEffect .~ MuzzleBlink
& ix 0 . mzAmmoPerShot .~ UseExactly 10000000
BLINKERUNSAFE ->
dbwMuzzles
& ix 0 . mzEffect .~ MuzzleUnsafeBlink
& ix 0 . mzAmmoPerShot .~ UseExactly 10000000
REWINDER ->
dbwMuzzles
& ix 0 . mzEffect .~ MuzzleRewind
& ix 0 . mzAmmoPerShot .~ UseExactly 100000
TIMESTOPPER ->
dbwMuzzles
& ix 0 . mzEffect .~ MuzzleStopper
& ix 0 . mzAmmoPerShot .~ UseExactly 100000
TIMESCROLLER ->
dbwMuzzles
& ix 0 . mzEffect .~ MuzzleScroller
& ix 0 . mzAmmoPerShot .~ UseExactly 100000
_ ->
[ Muzzle
{ _mzPos = V2 20 0
, _mzRot = 0
, _mzInaccuracy = 0.05
@@ -275,7 +271,7 @@ heldItemMuzzles = \case
, _mzFlareType = NoFlare
, _mzEffect = MuzzleShootBullet
, _mzAmmoPerShot = UseExactly 1
, _mzFrame = 0
-- , _mzFrame = 0
}
]
@@ -283,49 +279,55 @@ baseStickSpread :: Float
baseStickSpread = 0.2
dbwMuzzles :: [Muzzle]
dbwMuzzles = [Muzzle (V2 15 0) 0 0.01 0 BasicFlare MuzzleShootBullet (UseExactly 1) 0]
dbwMuzzles = [Muzzle (V2 15 0) 0 0.01 0 BasicFlare MuzzleShootBullet (UseExactly 1)]
flameMuzzles :: [Muzzle]
flameMuzzles =
[ Muzzle (V2 18 0) 0 0 0 NoFlare MuzzleNozzle
[ Muzzle
(V2 18 0)
0
0
0
NoFlare
MuzzleNozzle
{ _nzPressure = ConstFloat 4
, _nzMaxWalkAngle = 0.2
, _nzWalkSpeed = 0.01
}
(UseExactly 1)
0
]
vgunMuzzles :: Int -> [Muzzle]
vgunMuzzles i =
getZipList
(ZipList [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 6]
<*> ZipList [0..i-1]
<*> pure MiniGunFlare
vgunMuzzles i =
getZipList
( ZipList [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 6]
<*> ZipList [0 .. i -1]
<*> pure BasicFlare
<*> pure MuzzleShootBullet
<*> pure (UseExactly 1)
<*> ZipList [0..i-1]
)
-- <*> ZipList [0 .. i -1]
)
doHeldUseEffect :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
doHeldUseEffect :: LabelDoubleTree CLinkType Item -> Creature -> World -> World
doHeldUseEffect t cr w = case t ^. ldtValue . itType of
-- HELD (VOLLEYGUN x) -> fromMaybe w $ do
-- i <- t ^? ldtValue . itLocation . ilInvID
-- let g = w ^. randGen
-- (is, g') = runState (shuffle [0 .. x -1]) g
-- return $
-- w & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i . itUse . heldMuzzles %~ zipWith (\j mz -> mz & mzFrame .~ j) is
-- & randGen .~ g'
-- HELD (VOLLEYGUN x) -> fromMaybe w $ do
-- i <- t ^? ldtValue . itLocation . ilInvID
-- let g = w ^. randGen
-- (is, g') = runState (shuffle [0 .. x -1]) g
-- return $
-- w & cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i . itUse . heldMuzzles %~ zipWith (\j mz -> mz & mzFrame .~ j) is
-- & randGen .~ g'
HELD ALTERIFLE -> fromMaybe w $ do
i <- t ^? ldtValue . itLocation . ilInvID
return $
w
& cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix i
. itParams . alteRifleSwitch
-- . itUse
-- . heldMuzzles
-- . ix 0
-- . mzAmmoSlot
. itParams
. alteRifleSwitch
-- . itUse
-- . heldMuzzles
-- . ix 0
-- . mzAmmoSlot
%~ ((`mod` 2) . (+ 1))
_ -> w
@@ -624,11 +626,11 @@ heldTorqueAmount = \case
-- (Muzzle,Int,Int) = (muzzle, amountloaded, id of mag taken from)
loadMuzzle ::
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Muzzle ->
(LabelDoubleTree ComposeLinkType Item, Maybe (Muzzle, Int, LabelDoubleTree ComposeLinkType Item))
(LabelDoubleTree CLinkType Item, Maybe (Muzzle, Int, LabelDoubleTree CLinkType Item))
loadMuzzle t@(LDT _ l _) mz = fromMaybe (t, Nothing) $ do
-- guard $ mz ^? mzFrame == t ^? ldtValue . itUse . heldFrame
-- guard $ mz ^? mzFrame == t ^? ldtValue . itUse . heldFrame
let as = _mzAmmoSlot mz
amamount = _mzAmmoPerShot mz
(i, (_, mag)) <- findWithIx (isAmmoIntLink as . fst) l
@@ -644,32 +646,29 @@ loadMuzzle t@(LDT _ l _) mz = fromMaybe (t, Nothing) $ do
, Just (mz, usedammo, mag)
)
makeMuzzleFlare :: Muzzle -> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
makeMuzzleFlare :: Muzzle -> LabelDoubleTree CLinkType Item -> Creature -> World -> World
makeMuzzleFlare mz itmtree cr = case mz ^. mzFlareType of
NoFlare -> id
BasicFlare -> basicMuzFlare pos dir
NoLightFlare -> muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
MiniGunFlare ->
(cWorld . lWorld . lights .:~ LSParam (pos `v2z` 20) 100 (V3 1 1 0.5))
oddcheck (cWorld . lWorld . lights .:~ LSParam (pos `v2z` 20) 100 (V3 1 1 0.5))
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
HeavySmokeFlare -> basicMuzFlare pos dir
LasGunFlare ->
flareCircleAt (getLaserColor itmtree) 0.8 (pos `v2z` 20)
-- . ( cWorld . lWorld . tempLightSources
-- .:~ tlsTimeRadColPos 1 100 (xyzV4 $ getLaserColor itmtree) (pos `v2z` 10)
. ( cWorld . lWorld . lights
.:~ LSParam (pos `v2z` 10) 100 (xyzV4 $ getLaserColor itmtree)
)
TeslaGunFlare ->
cWorld . lWorld . lights
.:~ LSParam (pos `v2z` 10) 100 (V3 0 0 1)
TeslaGunFlare -> cWorld . lWorld . lights .:~ LSParam (pos `v2z` 10) 100 (V3 0 0 1)
where
-- .:~ tlsTimeRadColPos 1 100 (V3 0 0 1) (pos `v2z` 10)
itm = itmtree ^. ldtValue
(moff, mrot) = heldItemOrient2D itm cr (_mzPos mz) (_mzRot mz)
pos = _crPos cr + rotateV (_crDir cr) moff
dir = _crDir cr + mrot
oddcheck f w
| odd (w ^. cWorld . lWorld . lClock) = f w
| otherwise = w
--{-# OPTIONS -Wno-incomplete-uni-patterns #-}
muzFlareAt :: Color -> Point3 -> Float -> World -> World
@@ -678,13 +677,13 @@ muzFlareAt col tranv dir w =
& cWorld . lWorld . flares <>~ thepic
where
thepic =
setLayer BloomNoZWrite . translate3 tranv . color col . rotate dir . polygon $
setLayer BloomLayer . translate3 tranv . color col . rotate dir . polygon $
[ V2 0 0
, V2 a (- b)
, V2 c d
]
thestate = replicateM 4 $ state $ randomR (2, 20)
(a : b : c : d : _, g) = runState thestate $ _randGen w -- randomRs (2, 20) (_randGen w)
(a : b : c : d : _, g) = runState thestate $ _randGen w
flareCircleAt :: Color -> Float -> Point3 -> World -> World
flareCircleAt col alphax tranv =
@@ -696,13 +695,13 @@ flareCircleAt col alphax tranv =
)
-- previous phaseV parameters: 0.2, 1, 5
getLaserPhaseV :: LabelDoubleTree ComposeLinkType Item -> Float
getLaserPhaseV :: LabelDoubleTree CLinkType Item -> Float
getLaserPhaseV = const 1
getLaserDamage :: LabelDoubleTree ComposeLinkType Item -> LaserType
getLaserDamage :: LabelDoubleTree CLinkType Item -> LaserType
getLaserDamage = const (DamageLaser 11)
getLaserColor :: LabelDoubleTree ComposeLinkType Item -> Color
getLaserColor :: LabelDoubleTree CLinkType Item -> Color
getLaserColor = const yellow
basicMuzFlare :: Point2 -> Float -> World -> World
@@ -712,15 +711,15 @@ basicMuzFlare pos dir =
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
isAmmoIntLink :: Int -> ComposeLinkType -> Bool
isAmmoIntLink :: Int -> CLinkType -> Bool
isAmmoIntLink i (AmmoInLink j _) = i == j
isAmmoIntLink _ _ = False
useLoadedAmmo ::
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Creature ->
(Bool, World) ->
Maybe (Muzzle, Int, LabelDoubleTree ComposeLinkType Item) ->
Maybe (Muzzle, Int, LabelDoubleTree CLinkType Item) ->
(Bool, World)
useLoadedAmmo _ _ (cme, w) Nothing = (cme, w)
useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
@@ -758,7 +757,7 @@ useLoadedAmmo itmtree cr (_, w) (Just (mz, x, magtree)) = (,) True $
getAttachedSFLink ::
ItemStructuralFunction ->
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Maybe (NewInt ItmInt)
getAttachedSFLink sf = (^? ldtRight . folding (lookup (SFLink sf)) . ldtValue . itID)
@@ -819,7 +818,7 @@ tractorBeamAt pos outpos dir power =
d = unitVectorAtAngle dir * power
creatureShootLaser ::
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Creature ->
Muzzle ->
World ->
@@ -875,7 +874,7 @@ removeAmmoFromMag x mid cr = fromMaybe id $ do
. _Just
-~ x
getBulletType :: LabelDoubleTree ComposeLinkType Item -> Maybe Bullet
getBulletType :: LabelDoubleTree CLinkType Item -> Maybe Bullet
getBulletType magtree =
--magtree ^? ldtValue . itConsumables . magParams . ampBullet
(magtree ^? ldtValue >>= magAmmoParams >>= (^? ampBullet))
@@ -898,7 +897,6 @@ getBulletType magtree =
magAmmoParams :: Item -> Maybe AmmoParams
magAmmoParams itm = case itm ^. itType of
EQUIP BATTERYPACK -> Just NoAmmoParams
EQUIP FUELPACK -> Just $ GasParams ChemFuel
AMMOMAG CHEMFUELPOUCH -> Just $ GasParams ChemFuel
EQUIP BULLETBELTPACK -> Just $ BulletParams defaultBullet
@@ -906,11 +904,7 @@ magAmmoParams itm = case itm ^. itType of
AMMOMAG TINMAG -> Just $ BulletParams defaultBullet
AMMOMAG DRUMMAG -> Just $ BulletParams defaultBullet
AMMOMAG BELTMAG -> Just $ BulletParams defaultBullet
AMMOMAG SHELLMAG -> Just $
ProjectileParams
{ _ampPayload = ExplosionPayload
}
AMMOMAG BATTERY -> Just NoAmmoParams
AMMOMAG SHELLMAG -> Just $ ProjectileParams ExplosionPayload
_ -> Nothing
--getBulletTrajectory ::
@@ -934,9 +928,9 @@ magAmmoParams itm = case itm ^. itType of
-- _ -> 0
shootBullet ::
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Creature ->
(Muzzle, Int, LabelDoubleTree ComposeLinkType Item) ->
(Muzzle, Int, LabelDoubleTree CLinkType Item) ->
World ->
World
shootBullet itmtree cr (mz, x, magtree) w = fromMaybe w $ do
@@ -1196,9 +1190,9 @@ mcShootAuto itm mc w
w
& cWorld . lWorld . machines . ix (_mcID mc) . mcType . mctTurret . tuWeapon
. itTimeLastUsed
-- . itUse
-- . heldDelay
-- . rateTimeLastUsed
-- . itUse
-- . heldDelay
-- . rateTimeLastUsed
.~ w ^. cWorld . lWorld . lClock
& makeBullet defaultBullet itm pos dir
| otherwise = w
@@ -1221,8 +1215,8 @@ shootTeslaArc itm cr mz w =
dir = _crDir cr + mrot
determineProjectileTracking ::
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
LabelDoubleTree CLinkType Item ->
RocketHoming
determineProjectileTracking magtree itmtree =
fromMaybe NoHoming $
@@ -1238,8 +1232,8 @@ determineProjectileTracking magtree itmtree =
return $ HomeUsingTargeting (targetingtree ^. ldtValue . itID)
createProjectileR ::
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
LabelDoubleTree CLinkType Item ->
Muzzle ->
Creature ->
World ->
@@ -1257,7 +1251,7 @@ createProjectileR itmtree magtree =
| isJust $ lookup SmokeReducerLink (magtree ^. ldtLeft) = Just ReducedRocketSmoke
| otherwise = Nothing
getPJStabiliser :: LabelDoubleTree ComposeLinkType Item -> Maybe PJStabiliser
getPJStabiliser :: LabelDoubleTree CLinkType Item -> Maybe PJStabiliser
getPJStabiliser ldt = case lookup ProjectileStabiliserLink (ldt ^. ldtRight) of
Just ldt' -> case ldt' ^? ldtValue . itType . ibtAttach of
Just GIMBAL -> Just StabOrthReduce
@@ -1265,7 +1259,7 @@ getPJStabiliser ldt = case lookup ProjectileStabiliserLink (ldt ^. ldtRight) of
_ -> Nothing
_ -> Nothing
getGrenadeHitEffect :: LabelDoubleTree ComposeLinkType Item -> GrenadeHitEffect
getGrenadeHitEffect :: LabelDoubleTree CLinkType Item -> GrenadeHitEffect
getGrenadeHitEffect t = case lookup GrenadeHitEffectLink (t ^. ldtRight) of
Just ldt' -> case ldt' ^? ldtValue . itType of
Just STICKYMOD -> GStick
@@ -1274,7 +1268,7 @@ getGrenadeHitEffect t = case lookup GrenadeHitEffectLink (t ^. ldtRight) of
createProjectile ::
ProjectileType ->
LabelDoubleTree ComposeLinkType Item ->
LabelDoubleTree CLinkType Item ->
Maybe PJStabiliser ->
Muzzle ->
Creature ->
@@ -1291,7 +1285,7 @@ createProjectile pjtype magtree stab muz cr = fromMaybe failsound $ do
<$> lookup RemoteScreenLink (magtree ^. ldtLeft)
aparams <-
((magtree ^? ldtLeft) >>= lookup AmmoPayloadLink >>= (^? ldtValue . itType . ibtAttach . shellPayload))
-- <|> ammoitem ^? itConsumables . magParams . ampPayload
-- <|> ammoitem ^? itConsumables . magParams . ampPayload
<|> magAmmoParams ammoitem ^? _Just . ampPayload
return $
createShell rdetonate rscreen stab pjtype aparams muz cr
@@ -1354,7 +1348,7 @@ useRewindGun i =
dropInventoryPath ::
Int ->
InventoryPathing ->
LocationLDT ItemLink ComposedItem ->
LocationLDT ItemLink CItem ->
Creature ->
World ->
World
@@ -1380,7 +1374,7 @@ useInventoryPath ::
PressType ->
Int ->
InventoryPathing ->
LocationLDT ItemLink ComposedItem ->
LocationLDT ItemLink CItem ->
Creature ->
World ->
World
+3 -3
View File
@@ -29,7 +29,7 @@ import NewInt
import Padding
import Picture.Base
invSelectionItem :: World -> Int -> LocationLDT ItemLink ComposedItem -> SelectionItem ()
invSelectionItem :: World -> Int -> LocationLDT ItemLink CItem -> SelectionItem ()
invSelectionItem w indent loc =
SelectionItem
{ _siPictures = itemDisplay w cr ci
@@ -46,7 +46,7 @@ invSelectionItem w indent loc =
-- note the convoluted display of the hotkey/equipment, this was done to avoid a
-- space leak
itemDisplay :: World -> Creature -> ComposedItem -> [String]
itemDisplay :: World -> Creature -> CItem -> [String]
itemDisplay w cr ci = -- f
basicItemDisplay itm
-- (itemNumberDisplay w cr ci)
@@ -152,7 +152,7 @@ itemScrollValue itm = Left <$> itm ^? itScroll . failing itsInt itsRangeInt
-- | rs == "" = ls
-- | otherwise = midPadL 15 ' ' ls (' ' : rs)
--itemNumberDisplay :: World -> Creature -> ComposedItem -> [String]
--itemNumberDisplay :: World -> Creature -> CItem -> [String]
--itemNumberDisplay w cr ci
-- | Just x <- ci ^? _1 . itUse . uInt = [show x]
-- | Just x <- ci ^? _1 . itUse . useToggle = [show x]
+1 -1
View File
@@ -15,7 +15,7 @@ import Dodge.Item.Draw.SPic
import Dodge.Item.HeldOffset
import ShapePicture
itemEquipPict :: Creature -> LabelDoubleTree ItemLink ComposedItem -> SPic
itemEquipPict :: Creature -> LabelDoubleTree ItemLink CItem -> SPic
itemEquipPict cr itmtree
| Just i <- itm ^? itLocation . ilInvID
, Just esite <- cr ^? crInv . ix i . itLocation . ilEquipSite . _Just
+2 -3
View File
@@ -20,13 +20,12 @@ import Picture
import Shape
import ShapePicture
itemTreeSPic :: LabelDoubleTree ItemLink ComposedItem -> SPic
itemTreeSPic :: LabelDoubleTree ItemLink CItem -> SPic
itemTreeSPic (LDT (itm,_,_) l r) =
itemSPic itm
<> foldMap (itemRotTreeSPic itm) (l <> r)
itemRotTreeSPic :: Item -> (ItemLink, LabelDoubleTree ItemLink ComposedItem)
-> SPic
itemRotTreeSPic :: Item -> (ItemLink, LabelDoubleTree ItemLink CItem) -> SPic
itemRotTreeSPic par (il, t) = translateSP p . overPosSP (Q.rotate q) $ itemTreeSPic t
where
(p, q) = _iatOrient il par (_iatType il) itm
+27 -27
View File
@@ -29,14 +29,14 @@ import LensHelp
import ListHelp
tryAttachItems ::
LabelDoubleTree ItemLink ComposedItem ->
LabelDoubleTree ItemLink ComposedItem ->
Maybe (LabelDoubleTree ItemLink ComposedItem)
LabelDoubleTree ItemLink CItem ->
LabelDoubleTree ItemLink CItem ->
Maybe (LabelDoubleTree ItemLink CItem)
tryAttachItems = leftRightCombine leftIsParentCombine rightIsParentCombine
useBreakL ::
[(ItemStructuralFunction, ComposeLinkType)] ->
[(ItemStructuralFunction, ComposeLinkType)] ->
[(ItemStructuralFunction, CLinkType)] ->
[(ItemStructuralFunction, CLinkType)] ->
LinkTest
useBreakL x y = useBreakListsLinkTest (map (uncurry noa) x) (map (uncurry noa) y)
where
@@ -68,7 +68,7 @@ useBreakListsLinkTest llist rlist = LTest ltest rtest
itemToBreakLists ::
Item ->
ItemStructuralFunction ->
([(ItemStructuralFunction, ComposeLinkType)], [(ItemStructuralFunction, ComposeLinkType)])
([(ItemStructuralFunction, CLinkType)], [(ItemStructuralFunction, CLinkType)])
itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
(HELD TORCH, _) -> (getAmmoLinks itm, [])
(ATTACH UNDERBARRELSLOT, _) -> ([(UnderBarrelPlatformSF, UnderBarrelPlatformLink)], [])
@@ -118,12 +118,12 @@ itemToBreakLists itm itmf = case (itm ^. itType, itmf) of
([(AmmoMagSF ElectricalAmmo, AmmoInLink 0 ElectricalAmmo)], [])
_ -> ([], [])
getAutoSpringLinks :: Item -> [(ItemStructuralFunction, ComposeLinkType)]
getAutoSpringLinks :: Item -> [(ItemStructuralFunction, CLinkType)]
getAutoSpringLinks itm = case baseTriggerType itm of
HammerTrigger -> [(MakeAutoSF, MakeAutoLink)]
_ -> []
extraWeaponLinks :: Item -> [(ItemStructuralFunction, ComposeLinkType)]
extraWeaponLinks :: Item -> [(ItemStructuralFunction, CLinkType)]
extraWeaponLinks itm = case itm ^. itType of
HELD GLAUNCHER -> launcherlinks <> [(GrenadeHitEffectSF,GrenadeHitEffectLink)]
HELD RLAUNCHER -> launcherlinks
@@ -132,14 +132,14 @@ extraWeaponLinks itm = case itm ^. itType of
where
launcherlinks = [(ProjectileStabiliserSF,ProjectileStabiliserLink)]
extraWeaponLinksBelow :: Item -> [(ItemStructuralFunction, ComposeLinkType)]
extraWeaponLinksBelow :: Item -> [(ItemStructuralFunction, CLinkType)]
extraWeaponLinksBelow itm
-- | Just TwoHandUnder <- itm ^? itUse . heldAim . aimStance
| TwoHandUnder <- aStance itm
= [(UnderBarrelSlotSF,UnderBarrelSlotLink)]
| otherwise = []
getAmmoLinks :: Item -> [(ItemStructuralFunction, ComposeLinkType)]
getAmmoLinks :: Item -> [(ItemStructuralFunction, CLinkType)]
getAmmoLinks itm =
map
(\(i, a) -> (AmmoMagSF a, AmmoInLink i a))
@@ -181,7 +181,7 @@ itemToFunction itm = case itm ^. itType of
_ -> NoSF
structureToPotentialFunction ::
LabelDoubleTree ItemLink ComposedItem ->
LabelDoubleTree ItemLink CItem ->
S.Set ItemStructuralFunction
structureToPotentialFunction ldt = case ldt ^. ldtValue . _1 . itType of
STICKYMOD -> S.singleton GrenadeHitEffectSF
@@ -190,7 +190,7 @@ structureToPotentialFunction ldt = case ldt ^. ldtValue . _1 . itType of
HELD GLAUNCHER -> S.singleton UnderBarrelPlatformSF
_ -> S.singleton (ldt ^. ldtValue . _2)
baseCI :: Item -> ComposedItem
baseCI :: Item -> CItem
baseCI itm = (itm, itemToFunction itm, itemBaseConnections itm)
itemBaseConnections :: Item -> LinkTest
@@ -202,13 +202,13 @@ itemBaseConnections itm = case _itType itm of
laserLinkTest :: Item -> LinkTest
laserLinkTest itm = LTest (llleft itm) (llright itm)
llleft :: Item -> LabelDoubleTree ItemLink ComposedItem -> Maybe LinkUpdate
llleft :: Item -> LabelDoubleTree ItemLink CItem -> Maybe LinkUpdate
llleft itm =
_tryLeftLink
. uncurry useBreakL
$ itemToBreakLists itm WeaponTargetingSF
llright :: Item -> LabelDoubleTree ItemLink ComposedItem -> Maybe LinkUpdate
llright :: Item -> LabelDoubleTree ItemLink CItem -> Maybe LinkUpdate
llright itm pci = case pci ^. ldtValue . _1 . itType of
CRAFT TRANSFORMER -> Just (toLasgunUpdate itm)
_ -> _tryRightLink (uncurry useBreakL $ itemToBreakLists itm WeaponTargetingSF) pci
@@ -232,20 +232,20 @@ springLinkTest = LTest (const Nothing) $
)
_ -> Nothing
--itemLinkTestLeft :: Item -> PartiallyComposedItem -> Maybe LinkUpdate
--itemLinkTestLeft :: Item -> PartiallyCItem -> Maybe LinkUpdate
--itemLinkTestLeft itm = _tryLeftLink $
-- uncurry useBreakL $ itemToBreakLists itm
type LDTComb a b = LabelDoubleTree b a -> LabelDoubleTree b a -> Maybe (LabelDoubleTree b a)
leftIsParentCombine :: LDTComb ComposedItem ItemLink
leftIsParentCombine :: LDTComb CItem ItemLink
leftIsParentCombine ltree rtree = do
lu <- (ltree ^. ldtValue . _3 . tryRightLink) rtree --(rtree ^. ldtValue)
return $
ltree & ldtValue %~ (lu ^. luParentUpdate)
& ldtRight %~ (++ [(lu ^. luLinkType, rtree & ldtValue %~ (lu ^. luChildUpdate))])
rightIsParentCombine :: LDTComb ComposedItem ItemLink
rightIsParentCombine :: LDTComb CItem ItemLink
rightIsParentCombine ltree rtree = do
lu <- (rtree ^. ldtValue . _3 . tryLeftLink) ltree -- (ltree ^. ldtValue)
return $
@@ -276,7 +276,7 @@ joinItemsInList f xs = snd $ h (xs, [])
Just w -> h (w : ys, zs)
-- this puts the first elements in the intmap at the end of the list
invLDT :: IM.IntMap Item -> [LabelDoubleTree ItemLink ComposedItem]
invLDT :: IM.IntMap Item -> [LabelDoubleTree ItemLink CItem]
invLDT =
joinItemsInList tryAttachItems . IM.elems
. fmap (singleLDT . baseCI)
@@ -306,28 +306,28 @@ invAdj = IM.unions . map g . invLDT
$ itm ^? itLocation . ilInvID
-- returns an intmap with trees for (only!) root items, indexed by inventory position
invRootTrees :: IM.IntMap Item -> IM.IntMap (LabelDoubleTree ItemLink ComposedItem)
invRootTrees :: IM.IntMap Item -> IM.IntMap (LabelDoubleTree ItemLink CItem)
invRootTrees = IM.fromDistinctAscList . reverse . map getid . invLDT
where
getid ::
LabelDoubleTree ItemLink ComposedItem ->
(Int, LabelDoubleTree ItemLink ComposedItem)
LabelDoubleTree ItemLink CItem ->
(Int, LabelDoubleTree ItemLink CItem)
getid t = (t ^?! ldtValue . _1 . itLocation . ilInvID, t)
-- returns an intmap with indents and locations for all items
allInvLocs :: IM.IntMap Item -> IM.IntMap (Int, LocationLDT ItemLink ComposedItem)
allInvLocs :: IM.IntMap Item -> IM.IntMap (Int, LocationLDT ItemLink CItem)
allInvLocs inv = foldMap (f . LocLDT TopLDT) (IM.elems (invRootTrees inv)) mempty
where
f t = cldtPropagateFold h h g 0 t id
h x _ _ _ = x + 1
g ::
Int ->
LocationLDT ItemLink ComposedItem ->
( IM.IntMap (Int, LocationLDT ItemLink ComposedItem) ->
IM.IntMap (Int, LocationLDT ItemLink ComposedItem)
LocationLDT ItemLink CItem ->
( IM.IntMap (Int, LocationLDT ItemLink CItem) ->
IM.IntMap (Int, LocationLDT ItemLink CItem)
) ->
IM.IntMap (Int, LocationLDT ItemLink ComposedItem) ->
IM.IntMap (Int, LocationLDT ItemLink ComposedItem)
IM.IntMap (Int, LocationLDT ItemLink CItem) ->
IM.IntMap (Int, LocationLDT ItemLink CItem)
g x ldt =
(.)
( IM.insert
+1 -5
View File
@@ -43,11 +43,7 @@ autoRifle =
& itType .~ HELD AUTORIFLE
burstRifle :: Item
burstRifle =
rifle
& itType .~ HELD BURSTRIFLE
-- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0.05
-- & itUse . heldDelay . rateMax .~ 6
burstRifle = rifle & itType .~ HELD BURSTRIFLE
miniGunX :: Int -> Item
miniGunX i =
+1 -1
View File
@@ -6,7 +6,7 @@ import Color
import Control.Lens
import Dodge.Data.ComposedItem
itemInvColor :: ComposedItem -> Color
itemInvColor :: CItem -> Color
itemInvColor ci = case ci ^. _2 of
MapperSF -> white
GrenadeHitEffectSF -> yellow
+2 -2
View File
@@ -13,14 +13,14 @@ orientChild itm = case _itType itm of
HELD LASER -> (V3 15 (-5) 0, Q.qID)
_ -> (0, Q.qID)
orientByLink :: Item -> ComposeLinkType -> (Point3, Q.Quaternion Float)
orientByLink :: Item -> CLinkType -> (Point3, Q.Quaternion Float)
orientByLink itm lt = case (_itType itm, lt) of
(HELD FLAMETHROWER, AmmoInLink{}) -> (V3 4 (-6) 0, Q.qID)
(HELD _, AmmoInLink{}) -> (V3 7 (-2) 0, Q.qID)
(HELD _, WeaponScopeLink) -> (V3 5 0 5, Q.qID)
_ -> (0, Q.qID)
orientAttachment :: Item -> ComposeLinkType -> Item -> (Point3, Q.Quaternion Float)
orientAttachment :: Item -> CLinkType -> Item -> (Point3, Q.Quaternion Float)
orientAttachment par lnk ch = case (_itType par, lnk, _itType ch) of
-- (HELD BURSTRIFLE, _, HELD TORCH) -> (V3 20 0 0, Q.axisAngle (V3 0 0 1) (pi/2))
-- (HELD LAUNCHER, _, HELD TORCH) -> (V3 0 20 0, Q.axisAngle (V3 0 0 1) (pi/4))
+5 -11
View File
@@ -1,6 +1,7 @@
{-# OPTIONS_GHC -Wno-unused-imports #-}
module Dodge.TestString where
import Dodge.Item.UseDelay
import qualified SDL
import Linear
import Dodge.ListDisplayParams
@@ -26,17 +27,10 @@ import qualified IntMapHelp as IM
import qualified Data.Map.Strict as M
testStringInit :: Universe -> [String]
testStringInit u = fmap show $ u ^.. uvWorld . cWorld . lWorld . terminals . each . tmID
-- foldMap prettyShort $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crTwist
-- prettyShort $ u ^.. uvWorld . cWorld . lWorld . teslaArcs . ix 0 . taArcSteps . each . asObject
--testStringInit u = foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . projectiles
-- (map (show . _ebPos) $ u ^. uvWorld . cWorld . lWorld . energyBalls)
-- <>
-- (foldMap prettyShort $ u ^. uvWorld . cWorld . lWorld . bullets)
-- fromMaybe mempty $ do
-- cr <- u ^? uvWorld . cWorld . lWorld . creatures . ix 0
-- let itms = IM.elems $ cr ^. crInv
-- return $ map (show . (^? itLocation . ilIsSelected)) itms
testStringInit u = prettyShort (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv
. ix 0 . itTimeLastUsed)
<> prettyShort (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv
. ix 0 >>= ((^? rateMax) .useDelay))
--return . foldMap (prettyLDT (show . (^. _1 . itType))) . invLDT $ _crInv cr
-- where
-- idp = invDisplayParams $ u ^. uvWorld
-1
View File
@@ -58,7 +58,6 @@ itemScroll yi invid itm w
| HELD ALTERIFLE <- itm ^. itType
, yi /= 0 =
w
-- & itmlens . itUse . heldMuzzles . ix 0 . mzAmmoSlot
& itmlens . itParams . alteRifleSwitch
%~ ((`mod` 2) . (+ 1))
| isJust $ itm ^? itScroll . itsInt = w & itmlens . itScroll . itsInt +~ yi
-5
View File
@@ -51,11 +51,6 @@ doWdWd we = case we of
allInvLocs (cr ^. crInv) ^? ix invid . _2 . locLDT
return $ heldEffectMuzzles itree cr w
--doItCrWdWd :: ItCrWdWd -> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
--doItCrWdWd icww = case icww of
-- ItCrWdItemHeldEffect -> heldEffect InitialPress
-- ItCrWdItemHeldEffectNoHammer -> heldEffectNoHammerCheck
accessTerminal :: Maybe Int -> World -> World
accessTerminal mtmid w = fromMaybe w $ do
tmid <- mtmid
+168 -170
View File
@@ -24,9 +24,9 @@ ALTERIFLE src/Dodge/Data/Item/Combine.hs 153;" C
AMMOMAG src/Dodge/Data/Item/Combine.hs 21;" C
AMR src/Dodge/Data/Item/Combine.hs 158;" C
ANTIMATTER src/Dodge/Data/Item/Combine.hs 68;" C
APInt src/Dodge/Data/Item/Use.hs 49;" C
APNothing src/Dodge/Data/Item/Use.hs 50;" C
APProjectiles src/Dodge/Data/Item/Use.hs 48;" C
APInt src/Dodge/Data/Item/Use.hs 48;" C
APNothing src/Dodge/Data/Item/Use.hs 49;" C
APProjectiles src/Dodge/Data/Item/Use.hs 47;" C
AQUAMARINE src/Color/Data.hs 24;" C
ARHUD src/Dodge/Data/Item/Combine.hs 35;" C
ARHUDSF src/Dodge/Data/ComposedItem.hs 49;" C
@@ -65,7 +65,7 @@ AmmoMagSF src/Dodge/Data/ComposedItem.hs 50;" C
AmmoMagType src/Dodge/Data/Item/Combine.hs 105;" t
AmmoModLink src/Dodge/Data/ComposedItem.hs 18;" C
AmmoModifierSF src/Dodge/Data/ComposedItem.hs 56;" C
AmmoParams src/Dodge/Data/Item/Use.hs 53;" t
AmmoParams src/Dodge/Data/Item/Use.hs 52;" t
AmmoPayloadLink src/Dodge/Data/ComposedItem.hs 20;" C
AmmoPayloadSF src/Dodge/Data/ComposedItem.hs 58;" C
AmmoPerShot src/Dodge/Data/Muzzle.hs 52;" t
@@ -99,7 +99,7 @@ AsteroidStrike src/Dodge/Data/Scenario.hs 33;" C
AtEase src/Dodge/Data/Creature/Stance.hs 40;" C
AtomicWaste src/Dodge/Data/Scenario.hs 26;" C
Attach src/Dodge/Item/Attach.hs 1;" m
AttachParams src/Dodge/Data/Item/Use.hs 47;" t
AttachParams src/Dodge/Data/Item/Use.hs 46;" t
AttachType src/Dodge/Data/Item/Combine.hs 91;" t
Attention src/Dodge/Data/Creature/Perception.hs 60;" t
AttentiveTo src/Dodge/Data/Creature/Perception.hs 61;" C
@@ -231,7 +231,7 @@ BulletMod src/Dodge/Data/Item/BulletMod.hs 10;" t
BulletMod src/Dodge/Data/Item/BulletMod.hs 3;" m
BulletModEffect src/Dodge/Data/Item/BulletMod.hs 12;" C
BulletModPayload src/Dodge/Data/Item/BulletMod.hs 11;" C
BulletParams src/Dodge/Data/Item/Use.hs 54;" C
BulletParams src/Dodge/Data/Item/Use.hs 53;" C
BulletPayload src/Dodge/Data/Bullet.hs 36;" t
BulletTrajectory src/Dodge/Data/Bullet.hs 44;" t
BulletTrajectoryType src/Dodge/Data/Bullet.hs 51;" t
@@ -250,7 +250,9 @@ CHARTREUSE src/Color/Data.hs 25;" C
CHEMFUELPOUCH src/Dodge/Data/Item/Combine.hs 111;" C
CHeal src/Dodge/Data/Item/HeldUse.hs 16;" C
CIRCLE src/Dodge/Data/GenParams.hs 20;" C
CItem src/Dodge/Data/ComposedItem.hs 68;" t
CLICKER src/Dodge/Data/Item/Combine.hs 28;" C
CLinkType src/Dodge/Data/ComposedItem.hs 15;" t
CME src/Dodge/Data/MuzzleEffect.hs 14;" C
COPIER src/Dodge/Data/Item/Combine.hs 29;" C
CRAFT src/Dodge/Data/Item/Combine.hs 19;" C
@@ -280,7 +282,7 @@ CardinalPoint src/Dodge/Base/CardinalPoint.hs 1;" m
CardinalPoint src/Dodge/Data/CardinalPoint.hs 1;" m
Carriage src/Dodge/Data/Creature/Stance.hs 20;" t
Carte src/Dodge/Render/HUD/Carte.hs 1;" m
ChainEffect src/Dodge/HeldUse.hs 80;" t
ChainEffect src/Dodge/HeldUse.hs 69;" t
ChainEffect src/Dodge/Item/Weapon/TriggerType.hs 43;" t
ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m
ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C
@@ -339,8 +341,6 @@ CombineInventoryChange src/Dodge/Data/World.hs 32;" C
Common src/Dodge/Zoning/Common.hs 1;" m
Compile src/Shader/Compile.hs 1;" m
Compose src/Dodge/Tree/Compose.hs 4;" m
ComposeLinkType src/Dodge/Data/ComposedItem.hs 15;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 68;" t
ComposedItem src/Dodge/Data/ComposedItem.hs 6;" m
Composite src/Picture/Composite.hs 1;" m
ComsSS src/Dodge/Data/Scenario.hs 98;" C
@@ -635,7 +635,7 @@ EscapeMenuOption src/Dodge/Data/Universe.hs 76;" t
Essential src/Shape/Data.hs 34;" C
Euse src/Dodge/Data/Item/HeldUse.hs 19;" t
Euse src/Dodge/Euse.hs 1;" m
Event src/Dodge/Button/Event.hs 1;" m
Event src/Dodge/Button/Event.hs 2;" m
Event src/Dodge/Event.hs 14;" m
ExamineInventory src/Dodge/Data/HUD.hs 30;" C
Explore src/Dodge/Data/Scenario.hs 4;" C
@@ -751,7 +751,7 @@ GasAmmo src/Dodge/Data/AmmoType.hs 11;" C
GasCloud src/Dodge/Data/Cloud.hs 26;" C
GasCreate src/Dodge/Data/Item/Use/Consumption/Ammo.hs 17;" t
GasFuel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 14;" t
GasParams src/Dodge/Data/Item/Use.hs 56;" C
GasParams src/Dodge/Data/Item/Use.hs 55;" C
GenFloat src/Dodge/Data/GenFloat.hs 11;" t
GenFloat src/Dodge/Data/GenFloat.hs 5;" m
GenParams src/Dodge/Data/GenParams.hs 15;" t
@@ -959,7 +959,7 @@ ItemSetWarmTime src/Dodge/Data/Item/Effect.hs 34;" C
ItemStructuralFunction src/Dodge/Data/ComposedItem.hs 38;" t
ItemTargeting src/Dodge/Data/Item.hs 56;" t
ItemType src/Dodge/Data/Item/Combine.hs 16;" t
ItemUse src/Dodge/Data/Item/Use.hs 31;" t
ItemUse src/Dodge/Data/Item/Use.hs 30;" t
ItemUseCondition src/Dodge/ItemUseCondition.hs 1;" m
ItemUseDelay src/Dodge/Data/UseDelay.hs 11;" t
ItemUseToggle src/Dodge/Data/Item/Effect.hs 30;" C
@@ -1261,7 +1261,6 @@ NewIntMap src/NewInt.hs 18;" t
NewSideEffect src/Dodge/Data/Universe.hs 65;" C
Ngon src/Dodge/Room/Ngon.hs 1;" m
NoAction src/Dodge/Data/ActionPlan.hs 152;" C
NoAmmoParams src/Dodge/Data/Item/Use.hs 57;" C
NoArguments src/Dodge/Data/Terminal.hs 91;" C
NoBeamCombine src/Dodge/Data/Beam.hs 43;" C
NoConcurrentEffect src/Loop/Data.hs 7;" C
@@ -1503,7 +1502,7 @@ Procedural src/Dodge/Room/Procedural.hs 2;" m
Projectile src/Dodge/Data/Projectile.hs 17;" t
Projectile src/Dodge/Data/Projectile.hs 6;" m
Projectile src/Dodge/Projectile.hs 1;" m
ProjectileParams src/Dodge/Data/Item/Use.hs 55;" C
ProjectileParams src/Dodge/Data/Item/Use.hs 54;" C
ProjectileStabiliserLink src/Dodge/Data/ComposedItem.hs 31;" C
ProjectileStabiliserSF src/Dodge/Data/ComposedItem.hs 62;" C
ProjectileType src/Dodge/Data/Projectile.hs 41;" t
@@ -2079,32 +2078,32 @@ Update src/Preload/Update.hs 3;" m
Use src/Dodge/Data/Item/Use.hs 6;" m
Use src/Dodge/Default/Item/Use.hs 1;" m
UseAheadPos src/Dodge/Data/ActionPlan.hs 160;" C
UseAttach src/Dodge/Data/Item/Use.hs 34;" C
UseBulletMod src/Dodge/Data/Item/Use.hs 39;" C
UseAttach src/Dodge/Data/Item/Use.hs 33;" C
UseBulletMod src/Dodge/Data/Item/Use.hs 38;" C
UseCondition src/Dodge/Data/UseCondition.hs 2;" m
UseDelay src/Dodge/Data/Item/HeldDelay.hs 13;" t
UseDelay src/Dodge/Data/UseDelay.hs 6;" m
UseDelay src/Dodge/Item/UseDelay.hs 3;" m
UseEquip src/Dodge/Data/Item/Use.hs 33;" C
UseEquip src/Dodge/Data/Item/Use.hs 32;" C
UseExactly src/Dodge/Data/Muzzle.hs 53;" C
UseFocus src/Dodge/Data/UseCondition.hs 11;" t
UseFromLocation src/Dodge/Data/UseCondition.hs 13;" C
UseFromRoot src/Dodge/Data/UseCondition.hs 12;" C
UseHeld src/Dodge/Data/Item/Use.hs 32;" C
UseInt src/Dodge/Data/Item/Use.hs 35;" C
UseHeld src/Dodge/Data/Item/Use.hs 31;" C
UseInt src/Dodge/Data/Item/Use.hs 34;" C
UseInvItem src/Dodge/Data/WorldEffect.hs 34;" C
UseItem src/Dodge/Data/ActionPlan.hs 37;" C
UseItem src/Dodge/Creature/Impulse/UseItem.hs 3;" m
UseItemWidth src/Dodge/Data/SelectionList.hs 41;" C
UseMapper src/Dodge/Data/Item/Use.hs 41;" C
UseMapper src/Dodge/Data/Item/Use.hs 40;" C
UseMvTargetPos src/Dodge/Data/ActionPlan.hs 163;" C
UseNothing src/Dodge/Data/Item/Use.hs 36;" C
UseScope src/Dodge/Data/Item/Use.hs 38;" C
UseNothing src/Dodge/Data/Item/Use.hs 35;" C
UseScope src/Dodge/Data/Item/Use.hs 37;" C
UseSelf src/Dodge/Data/ActionPlan.hs 157;" C
UseTarget src/Dodge/Data/ActionPlan.hs 154;" C
UseToggle src/Dodge/Data/Item/Use.hs 40;" C
UseToggle src/Dodge/Data/Item/Use.hs 39;" C
UseUpTo src/Dodge/Data/Muzzle.hs 54;" C
UseValue src/Dodge/Data/Item/Use.hs 37;" C
UseValue src/Dodge/Data/Item/Use.hs 36;" C
UseableAnytime src/Dodge/Data/UseCondition.hs 7;" C
UseableWhenAimed src/Dodge/Data/UseCondition.hs 5;" C
UseableWhenHeld src/Dodge/Data/UseCondition.hs 6;" C
@@ -2243,14 +2242,14 @@ _allocSwapID src/Dodge/Data/RightButtonOptions.hs 30;" f
_alphaDivideShader src/Data/Preload/Render.hs 18;" f
_alteRifleSwitch src/Dodge/Data/Item/Params.hs 19;" f
_ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f
_ampBullet src/Dodge/Data/Item/Use.hs 54;" f
_ampCreateGas src/Dodge/Data/Item/Use.hs 56;" f
_ampPayload src/Dodge/Data/Item/Use.hs 55;" f
_ampBullet src/Dodge/Data/Item/Use.hs 53;" f
_ampCreateGas src/Dodge/Data/Item/Use.hs 55;" f
_ampPayload src/Dodge/Data/Item/Use.hs 54;" f
_apAction src/Dodge/Data/ActionPlan.hs 20;" f
_apGoal src/Dodge/Data/ActionPlan.hs 22;" f
_apImpulse src/Dodge/Data/ActionPlan.hs 19;" f
_apInt src/Dodge/Data/Item/Use.hs 49;" f
_apProjectiles src/Dodge/Data/Item/Use.hs 48;" f
_apInt src/Dodge/Data/Item/Use.hs 48;" f
_apProjectiles src/Dodge/Data/Item/Use.hs 47;" f
_apStrategy src/Dodge/Data/ActionPlan.hs 21;" f
_arLoaded src/Dodge/Data/Item/Use/Consumption.hs 27;" f
_arMax src/Dodge/Data/Item/Use/Consumption.hs 28;" f
@@ -2791,7 +2790,6 @@ _mzAmmoPerShot src/Dodge/Data/Muzzle.hs 16;" f
_mzAmmoSlot src/Dodge/Data/Muzzle.hs 13;" f
_mzEffect src/Dodge/Data/Muzzle.hs 15;" f
_mzFlareType src/Dodge/Data/Muzzle.hs 14;" f
_mzFrame src/Dodge/Data/Muzzle.hs 17;" f
_mzInaccuracy src/Dodge/Data/Muzzle.hs 12;" f
_mzPos src/Dodge/Data/Muzzle.hs 10;" f
_mzRot src/Dodge/Data/Muzzle.hs 11;" f
@@ -3173,11 +3171,11 @@ _tuFireTime src/Dodge/Data/Machine.hs 60;" f
_tuTurnSpeed src/Dodge/Data/Machine.hs 59;" f
_tuWeapon src/Dodge/Data/Machine.hs 58;" f
_turnToPoint src/Dodge/Data/ActionPlan.hs 92;" f
_uInt src/Dodge/Data/Item/Use.hs 35;" f
_uScope src/Dodge/Data/Item/Use.hs 38;" f
_uValue src/Dodge/Data/Item/Use.hs 37;" f
_uaParams src/Dodge/Data/Item/Use.hs 34;" f
_ubMod src/Dodge/Data/Item/Use.hs 39;" f
_uInt src/Dodge/Data/Item/Use.hs 34;" f
_uScope src/Dodge/Data/Item/Use.hs 37;" f
_uValue src/Dodge/Data/Item/Use.hs 36;" f
_uaParams src/Dodge/Data/Item/Use.hs 33;" f
_ubMod src/Dodge/Data/Item/Use.hs 38;" f
_unCombEdge src/Dodge/Combine/Graph.hs 32;" f
_unCombNode src/Dodge/Combine/Graph.hs 25;" f
_unFBO src/Shader/Data.hs 57;" f
@@ -3194,12 +3192,12 @@ _unpauseClock src/Dodge/Data/World.hs 55;" f
_unputTerminal src/Dodge/Data/GenWorld.hs 36;" f
_useAheadPos src/Dodge/Data/ActionPlan.hs 161;" f
_useExactly src/Dodge/Data/Muzzle.hs 53;" f
_useMapperLines src/Dodge/Data/Item/Use.hs 42;" f
_useMapperPoints src/Dodge/Data/Item/Use.hs 43;" f
_useMapperLines src/Dodge/Data/Item/Use.hs 41;" f
_useMapperPoints src/Dodge/Data/Item/Use.hs 42;" f
_useMvTargetPos src/Dodge/Data/ActionPlan.hs 164;" f
_useSelf src/Dodge/Data/ActionPlan.hs 158;" f
_useTarget src/Dodge/Data/ActionPlan.hs 155;" f
_useToggle src/Dodge/Data/Item/Use.hs 40;" f
_useToggle src/Dodge/Data/Item/Use.hs 39;" f
_useUpTo src/Dodge/Data/Muzzle.hs 54;" f
_uvCanContinue src/Dodge/Data/Universe.hs 39;" f
_uvConfig src/Dodge/Data/Universe.hs 37;" f
@@ -3297,8 +3295,8 @@ aShape src/Dodge/Placement/Instance/LightSource.hs 107;" f
aSound src/Dodge/SoundLogic.hs 74;" f
aStance src/Dodge/Item/AimStance.hs 12;" f
aTreeStrut src/Dodge/Tree/GenerateStructure.hs 42;" f
accessTerminal src/Dodge/WorldEffect.hs 59;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 84;" f
accessTerminal src/Dodge/WorldEffect.hs 54;" f
activateDetonator src/Dodge/Creature/Impulse/UseItem.hs 83;" f
activeTargetCursorPic src/Dodge/Targeting/Draw.hs 31;" f
addArmour src/Dodge/Creature.hs 85;" f
addBranchAt src/Dodge/Tree/GenerateStructure.hs 18;" f
@@ -3358,7 +3356,7 @@ allVisibleWalls src/Dodge/Base/Collide.hs 132;" f
alongSegBy src/Geometry.hs 40;" f
alteRifle src/Dodge/Item/Held/Cane.hs 34;" f
ammoMagInfo src/Dodge/Item/Info.hs 48;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 125;" f
ammoMagSPic src/Dodge/Item/Draw/SPic.hs 124;" f
amr src/Dodge/Item/Held/Rod.hs 34;" f
analyser src/Dodge/Placement/Instance/Analyser.hs 12;" f
analyserByDoor src/Dodge/Room/LasTurret.hs 77;" f
@@ -3369,21 +3367,21 @@ angleVV3 src/Geometry/Vector3D.hs 122;" f
annoToRoomTree src/Dodge/Annotation.hs 17;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 247;" f
applyCME src/Dodge/HeldUse.hs 364;" f
applyCME src/Dodge/HeldUse.hs 370;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 13;" f
applyEventIO src/Loop.hs 89;" f
applyGravityPU src/Dodge/Projectile/Update.hs 56;" f
applyIndividualDamage src/Dodge/Creature/Damage.hs 16;" f
applyInvLock src/Dodge/HeldUse.hs 423;" f
applyInvLock src/Dodge/HeldUse.hs 429;" f
applyMagnetsToBul src/Dodge/Bullet.hs 30;" f
applyPastDamages src/Dodge/Creature/State.hs 131;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 22;" f
applyPosition src/Sound.hs 111;" f
applyRecoil src/Dodge/HeldUse.hs 455;" f
applyRecoil src/Dodge/HeldUse.hs 461;" f
applyResFactor src/Dodge/Data/Config.hs 110;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 81;" f
applySidePush src/Dodge/HeldUse.hs 554;" f
applySoundCME src/Dodge/HeldUse.hs 445;" f
applySidePush src/Dodge/HeldUse.hs 560;" f
applySoundCME src/Dodge/HeldUse.hs 451;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 28;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 42;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 22;" f
@@ -3391,7 +3389,7 @@ applyToNode src/TreeHelp.hs 64;" f
applyToRandomNode src/TreeHelp.hs 150;" f
applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 565;" f
applyTorqueCME src/Dodge/HeldUse.hs 571;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f
arHUD src/Dodge/Item/Scope.hs 134;" f
@@ -3441,10 +3439,10 @@ azure src/Color.hs 22;" f
bQuadToF src/Geometry/Bezier.hs 37;" f
bQuadToLine src/Geometry/Bezier.hs 30;" f
backpackCombinations src/Dodge/Combine/Combinations.hs 27;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 178;" f
backpackShape src/Dodge/Item/Draw/SPic.hs 177;" f
backspaceInputted src/Dodge/Update/Input/Text.hs 25;" f
bangCone src/Dodge/Item/Held/Cone.hs 11;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 293;" f
bangConeShape src/Dodge/Item/Draw/SPic.hs 292;" f
bangEchoS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 454;" f
bangRod src/Dodge/Item/Held/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 598;" f
@@ -3452,18 +3450,18 @@ bangStick src/Dodge/Item/Held/Stick.hs 15;" f
barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f
barrelShape src/Dodge/Render/ShapePicture.hs 46;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 407;" f
baseAMRShape src/Dodge/Item/Draw/SPic.hs 406;" f
baseBlockPane src/Dodge/Placement/Instance/Wall.hs 86;" f
baseCI src/Dodge/Item/Grammar.hs 193;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 313;" f
baseCaneShape src/Dodge/Item/Draw/SPic.hs 312;" f
baseDebris src/Dodge/Block/Debris.hs 122;" f
baseFloorTileSize src/Tile.hs 45;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 316;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 404;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 384;" f
baseRifleShape src/Dodge/Item/Draw/SPic.hs 315;" f
baseRodShape src/Dodge/Item/Draw/SPic.hs 403;" f
baseSMGShape src/Dodge/Item/Draw/SPic.hs 383;" f
baseShoulder src/Dodge/Creature/Picture.hs 125;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 290;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 283;" f
baseStickShape src/Dodge/Item/Draw/SPic.hs 289;" f
baseStickShapeX src/Dodge/Item/Draw/SPic.hs 282;" f
baseStickSpread src/Dodge/HeldUse.hs 282;" f
baseTriggerType src/Dodge/BaseTriggerType.hs 12;" f
baseTriggerType src/Dodge/Item/TriggerType.hs 5;" f
@@ -3475,7 +3473,7 @@ basicDrawBeam src/Dodge/Beam/Draw.hs 11;" f
basicItemDisplay src/Dodge/Item/Display.hs 22;" f
basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f
basicMachineUpdate src/Dodge/Machine.hs 13;" f
basicMuzFlare src/Dodge/HeldUse.hs 708;" f
basicMuzFlare src/Dodge/HeldUse.hs 711;" f
basicTerminal src/Dodge/Terminal.hs 35;" f
battery src/Dodge/Item/Ammo.hs 62;" f
batteryPack src/Dodge/Item/Equipment.hs 46;" f
@@ -3484,7 +3482,7 @@ beltMag src/Dodge/Item/Ammo.hs 38;" f
bfsNodePoints src/Dodge/Path.hs 58;" f
bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 218;" f
bgateCalc src/Dodge/Inventory/SelectionList.hs 114;" f
bgunSound src/Dodge/HeldUse.hs 508;" f
bgunSound src/Dodge/HeldUse.hs 514;" f
bindFBO src/Render.hs 244;" f
bingate src/Dodge/Item/Scope.hs 109;" f
black src/Color.hs 27;" f
@@ -3551,6 +3549,7 @@ bulletPayloadModule src/Dodge/Item/Scope.hs 131;" f
bulletSynthesizer src/Dodge/Item/Ammo.hs 75;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 248;" f
burstRifle src/Dodge/Item/Held/Cane.hs 45;" f
buttonFlip src/Dodge/Button/Event.hs 18;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 626;" f
cFilledRect src/Dodge/CharacterEnums.hs 6;" f
cWireRect src/Dodge/CharacterEnums.hs 10;" f
@@ -3758,7 +3757,7 @@ crVocalizationSound src/Dodge/Creature/Vocalization.hs 13;" f
crWarningSounds src/Dodge/Creature/Vocalization.hs 23;" f
crZoneSize src/Dodge/Zoning/Creature.hs 41;" f
craftInfo src/Dodge/Item/Info.hs 168;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 57;" f
craftItemSPic src/Dodge/Item/Draw/SPic.hs 56;" f
crankSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 522;" f
createArc src/Dodge/Tesla/Arc.hs 81;" f
createFlIt src/Dodge/Placement/PlaceSpot.hs 180;" f
@@ -3769,14 +3768,14 @@ createItemYou src/Dodge/Inventory/Add.hs 95;" f
createLightMap src/Render.hs 26;" f
createNewArc src/Dodge/Tesla/Arc.hs 90;" f
createPathGrid src/Dodge/Room/Path.hs 21;" f
createProjectile src/Dodge/HeldUse.hs 1275;" f
createProjectileR src/Dodge/HeldUse.hs 1240;" f
createProjectile src/Dodge/HeldUse.hs 1273;" f
createProjectileR src/Dodge/HeldUse.hs 1238;" f
createShell src/Dodge/Projectile/Create.hs 23;" f
createShieldWall src/Dodge/Item/BackgroundEffect.hs 39;" f
createUnusedLinkPos src/Dodge/Tree/Shift.hs 117;" f
createWall src/Dodge/Wall/Create.hs 8;" f
creatureDisplayText src/Dodge/Creature/Picture/Awareness.hs 11;" f
creatureShootLaser src/Dodge/HeldUse.hs 821;" f
creatureShootLaser src/Dodge/HeldUse.hs 824;" f
creatureTurnTo src/Dodge/Creature/Impulse/Movement.hs 52;" f
creatureTurnToward src/Dodge/Creature/Impulse/Movement.hs 73;" f
creatureTurnTowardDir src/Dodge/Creature/Impulse/Movement.hs 62;" f
@@ -3882,7 +3881,7 @@ dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 558;" f
dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 396;" f
defDamageMaterial src/Dodge/Material/Damage.hs 22;" f
defLSPic src/Dodge/LightSource/Draw.hs 10;" f
defSPic src/Dodge/Item/Draw/SPic.hs 299;" f
defSPic src/Dodge/Item/Draw/SPic.hs 298;" f
defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f
defaultAimingCrit src/Dodge/Default/Creature.hs 105;" f
defaultArcStep src/Dodge/Tesla/Arc.hs 140;" f
@@ -3962,10 +3961,10 @@ destroyMounts src/Dodge/Block.hs 97;" f
destroyProjectile src/Dodge/Projectile/Update.hs 139;" f
detV src/Geometry/Vector.hs 93;" f
detector src/Dodge/Item/Held/Utility.hs 27;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 453;" f
detectorColor src/Dodge/Item/Draw/SPic.hs 452;" f
detectorEffect src/Dodge/Item/Weapon/Radar.hs 20;" f
detectorInfo src/Dodge/Item/Info.hs 224;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1223;" f
determineProjectileTracking src/Dodge/HeldUse.hs 1221;" f
diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f
did src/Dodge/Item/InvSize.hs 54;" f
diffAngles src/Geometry.hs 204;" f
@@ -4004,7 +4003,7 @@ doBackspace src/Dodge/Update/Input/Text.hs 31;" f
doBlBl src/Dodge/BlBl.hs 5;" f
doBlSh src/Dodge/Block/Draw.hs 14;" f
doBounce src/Dodge/Base/Collide.hs 70;" f
doButtonEvent src/Dodge/Button/Event.hs 9;" f
doButtonEvent src/Dodge/Button/Event.hs 10;" f
doConLoop src/Loop.hs 137;" f
doConLoop' src/Loop.hs 226;" f
doCrAc src/Dodge/CreatureEffect.hs 61;" f
@@ -4015,8 +4014,8 @@ doCrWdAc src/Dodge/CreatureEffect.hs 77;" f
doCrWdImp src/Dodge/CreatureEffect.hs 16;" f
doCrWdWd src/Dodge/CreatureEffect.hs 20;" f
doDamage src/Dodge/Creature/State.hs 127;" f
doDeathToggle src/Dodge/WorldEffect.hs 98;" f
doDeathTriggers src/Dodge/WorldEffect.hs 93;" f
doDeathToggle src/Dodge/WorldEffect.hs 93;" f
doDeathTriggers src/Dodge/WorldEffect.hs 88;" f
doDebugTest src/Dodge/Update/Input/DebugTest.hs 22;" f
doDebugTest2 src/Dodge/Update/Input/DebugTest.hs 37;" f
doDebugTestF10 src/Dodge/Update/Input/DebugTest.hs 62;" f
@@ -4030,9 +4029,9 @@ doDrag src/Dodge/Update/Input/InGame.hs 107;" f
doDrawing src/Dodge/Render.hs 35;" f
doDrawing' src/Dodge/Render.hs 46;" f
doFloatFloat src/Dodge/FloatFunction.hs 5;" f
doGenFloat src/Dodge/HeldUse.hs 1181;" f
doGenFloat src/Dodge/HeldUse.hs 1179;" f
doGravityPU src/Dodge/Projectile/Update.hs 50;" f
doHeldUseEffect src/Dodge/HeldUse.hs 310;" f
doHeldUseEffect src/Dodge/HeldUse.hs 315;" f
doInPlacements src/Dodge/Layout.hs 92;" f
doIndividualPlacements src/Dodge/Layout.hs 117;" f
doInputScreenInput src/Dodge/Update/Input/ScreenLayer.hs 28;" f
@@ -4061,12 +4060,12 @@ doRoomInPlacements src/Dodge/Layout.hs 97;" f
doRoomOutPlacements src/Dodge/Layout.hs 107;" f
doRoomPlacements src/Dodge/Layout.hs 122;" f
doRoomShift src/Dodge/Room/Link.hs 33;" f
doScopeZoom src/Dodge/Update/Scroll.hs 85;" f
doScopeZoom src/Dodge/Update/Scroll.hs 84;" f
doSectionSize src/Dodge/DisplayInventory.hs 217;" f
doSideEffects appDodge/Main.hs 120;" f
doStep src/Dodge/ArcStep.hs 9;" f
doStrategyActions src/Dodge/Creature/ReaderUpdate.hs 166;" f
doTerminalBootProgram src/Dodge/WorldEffect.hs 101;" f
doTerminalBootProgram src/Dodge/WorldEffect.hs 96;" f
doTerminalCommandEffect src/Dodge/Terminal.hs 135;" f
doTestDrawing src/Dodge/Render.hs 42;" f
doTextInputOver src/Dodge/Update/Input/Text.hs 15;" f
@@ -4074,7 +4073,7 @@ doTextInputOverUniverse src/Dodge/Update/Input/Text.hs 12;" f
doThrust src/Dodge/Projectile/Update.hs 149;" f
doTimeScroll src/Dodge/Update.hs 202;" f
doTmTm src/Dodge/TmTm.hs 6;" f
doTmWdWd src/Dodge/WorldEffect.hs 106;" f
doTmWdWd src/Dodge/WorldEffect.hs 101;" f
doWallRotate src/Dodge/Update/Camera.hs 212;" f
doWdBl src/Dodge/WorldBool.hs 10;" f
doWdCrBl src/Dodge/CreatureEffect.hs 37;" f
@@ -4224,7 +4223,7 @@ drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 279;" f
droneLauncher src/Dodge/Item/Weapon/Drone.hs 11;" f
dropAll src/Dodge/Creature/State.hs 124;" f
dropExcept src/Dodge/Creature/Action.hs 166;" f
dropInventoryPath src/Dodge/HeldUse.hs 1354;" f
dropInventoryPath src/Dodge/HeldUse.hs 1352;" f
dropItem src/Dodge/Creature/Action.hs 172;" f
dropper src/Dodge/Item/Scope.hs 76;" f
drumMag src/Dodge/Item/Ammo.hs 33;" f
@@ -4278,7 +4277,7 @@ equipAllocString src/Dodge/Render/HUD.hs 308;" f
equipAttachPos src/Dodge/Item/Draw.hs 30;" f
equipBackgroundEffect src/Dodge/Euse.hs 15;" f
equipInfo src/Dodge/Item/Info.hs 140;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 149;" f
equipItemSPic src/Dodge/Item/Draw/SPic.hs 148;" f
equipPosition src/Dodge/Item/Draw.hs 38;" f
equipSiteInfo src/Dodge/Item/Info.hs 253;" f
equipType src/Dodge/Data/EquipType.hs 10;" f
@@ -4338,7 +4337,7 @@ firstBreather src/Dodge/Room/Breather.hs 9;" f
firstWorldLoad appDodge/Main.hs 77;" f
fixedCoordPictures src/Dodge/Render/Picture.hs 17;" f
fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f
flFlicker src/Dodge/Flame.hs 36;" f
flFlicker src/Dodge/Flame.hs 38;" f
flameMuzzles src/Dodge/HeldUse.hs 288;" f
flameShield src/Dodge/Item/Equipment.hs 33;" f
flameSize src/Dodge/Flame/Size.hs 5;" f
@@ -4346,17 +4345,16 @@ flameSpitter src/Dodge/Item/Held/SprayGuns.hs 23;" f
flameThrower src/Dodge/Item/Held/SprayGuns.hs 64;" f
flameTorrent src/Dodge/Item/Held/SprayGuns.hs 32;" f
flameWall src/Dodge/Item/Held/SprayGuns.hs 48;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 387;" f
flareCircleAt src/Dodge/HeldUse.hs 689;" f
flamerPic src/Dodge/Item/Draw/SPic.hs 386;" f
flareCircleAt src/Dodge/HeldUse.hs 692;" f
flatItemCombinations src/Dodge/Combine/Combinations.hs 51;" f
flatLookupItems src/Dodge/Combine.hs 39;" f
flatShield src/Dodge/Item/Held/Utility.hs 17;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 440;" f
flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 439;" f
fleeFrom src/Dodge/CreatureEffect.hs 120;" f
fleeFromTarget src/Dodge/CreatureEffect.hs 66;" f
flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f
flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f
flipSwitch src/Dodge/Button/Event.hs 20;" f
floatSize src/Shader/Parameters.hs 17;" f
flockACC src/Dodge/Creature/ReaderUpdate.hs 89;" f
flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f
@@ -4387,7 +4385,7 @@ forceFoldable src/StrictHelp.hs 7;" f
forceSpine src/StrictHelp.hs 4;" f
fourEmbossDecoration src/Dodge/Placement/TopDecoration.hs 29;" f
fpsText src/Dodge/Render/Picture.hs 53;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 138;" f
fractionLoadedAmmo src/Dodge/Item/Draw/SPic.hs 137;" f
frag src/Shader/Data.hs 102;" f
freeShaderPointers' src/Shader.hs 37;" f
fridgeHumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 442;" f
@@ -4415,7 +4413,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 134;" f
gameplayMenuOptions src/Dodge/Menu.hs 137;" f
gasType src/Dodge/HeldUse.hs 1137;" f
gasType src/Dodge/HeldUse.hs 1135;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -4428,13 +4426,13 @@ geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f
getAimZoom src/Dodge/Update/Camera.hs 135;" f
getAmmoLinks src/Dodge/Item/Grammar.hs 142;" f
getArguments src/Dodge/Update/Scroll.hs 179;" f
getArguments' src/Dodge/Update/Scroll.hs 167;" f
getAttachedSFLink src/Dodge/HeldUse.hs 759;" f
getArguments src/Dodge/Update/Scroll.hs 178;" f
getArguments' src/Dodge/Update/Scroll.hs 166;" f
getAttachedSFLink src/Dodge/HeldUse.hs 762;" f
getAutoSpringLinks src/Dodge/Item/Grammar.hs 121;" f
getAvailableListLines src/Dodge/SelectionList.hs 10;" f
getBulHitDams src/Dodge/Bullet.hs 171;" f
getBulletType src/Dodge/HeldUse.hs 878;" f
getBulletType src/Dodge/HeldUse.hs 881;" f
getCloseObj src/Dodge/Update/Input/InGame.hs 515;" f
getCommands src/Dodge/Terminal.hs 117;" f
getCommandsHelp src/Dodge/Terminal.hs 75;" f
@@ -4442,21 +4440,21 @@ getCrMoveSpeed src/Dodge/Creature/Statistics.hs 45;" f
getDamageCoding src/Dodge/Terminal.hs 177;" f
getDistortions src/Dodge/Render.hs 411;" f
getEquipmentAllocation src/Dodge/Inventory/RBList.hs 47;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1268;" f
getGrenadeHitEffect src/Dodge/HeldUse.hs 1266;" f
getInventoryPath src/Dodge/Inventory/Path.hs 8;" f
getItemValue src/Dodge/Inventory/SelectionList.hs 143;" f
getLaserColor src/Dodge/HeldUse.hs 705;" f
getLaserDamage src/Dodge/HeldUse.hs 702;" f
getLaserPhaseV src/Dodge/HeldUse.hs 699;" f
getLaserColor src/Dodge/HeldUse.hs 708;" f
getLaserDamage src/Dodge/HeldUse.hs 705;" f
getLaserPhaseV src/Dodge/HeldUse.hs 702;" f
getLinksOfType src/Dodge/RoomLink.hs 39;" f
getMaxLinesTM src/Dodge/Terminal/Type.hs 11;" f
getMenuMouseContext src/Dodge/Update.hs 392;" f
getNodePos src/Dodge/Path.hs 31;" f
getPJStabiliser src/Dodge/HeldUse.hs 1260;" f
getPJStabiliser src/Dodge/HeldUse.hs 1258;" f
getPretty src/AesonHelp.hs 8;" f
getPromptTM src/Dodge/Terminal/Type.hs 8;" f
getRootItemBounds src/Dodge/Render/HUD.hs 95;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 15;" f
getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f
getSensor src/Dodge/Terminal.hs 189;" f
getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f
getSplitString src/Dodge/Debug/Terminal.hs 126;" f
@@ -4480,7 +4478,7 @@ glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 542;" f
glassSwitchBack src/Dodge/Room/Room.hs 70;" f
glassSwitchBackCrits src/Dodge/Room/Room.hs 99;" f
glassWallDamage src/Dodge/Wall/DamageEffect.hs 49;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 393;" f
glauncherPic src/Dodge/Item/Draw/SPic.hs 392;" f
glushortSize src/Shader/Parameters.hs 25;" f
goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f
goToTarget src/Dodge/Creature/ReaderUpdate.hs 138;" f
@@ -4511,7 +4509,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 38;" f
hammerCheck src/Dodge/HeldUse.hs 87;" f
hammerCheck src/Dodge/HeldUse.hs 76;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 45;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f
@@ -4531,7 +4529,7 @@ hasLOSIndirect src/Dodge/Base/Collide.hs 219;" f
hat src/Dodge/Item/Equipment.hs 76;" f
head src/DoubleStack.hs 14;" f
headLamp src/Dodge/Item/Equipment.hs 79;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 443;" f
headLampShape src/Dodge/Item/Draw/SPic.hs 442;" f
headMap src/Dodge/DoubleTree.hs 170;" f
heal src/Dodge/Item/Consumable.hs 17;" f
heal25 src/Dodge/Item/Consumable.hs 14;" f
@@ -4541,24 +4539,24 @@ healthTest src/Dodge/Room/LasTurret.hs 95;" f
heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimStance src/Dodge/Item/AimStance.hs 17;" f
heldAimZoom src/Dodge/Update/Camera.hs 140;" f
heldEffect src/Dodge/HeldUse.hs 68;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 145;" f
heldEffectNoHammerCheck src/Dodge/HeldUse.hs 76;" f
heldEffect src/Dodge/HeldUse.hs 63;" f
heldEffectMuzzles src/Dodge/HeldUse.hs 125;" f
heldEffectNoHammerCheck src/Dodge/HeldUse.hs 66;" f
heldHandlePos src/Dodge/Item/HeldOffset.hs 95;" f
heldInfo src/Dodge/Item/Info.hs 90;" f
heldItemAmmoSlots src/Dodge/Item/AmmoSlots.hs 18;" f
heldItemBulkiness src/Dodge/Creature/YourControl.hs 177;" f
heldItemInvLock src/Dodge/HeldUse.hs 438;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1023;" f
heldItemMuzzles src/Dodge/HeldUse.hs 168;" f
heldItemInvLock src/Dodge/HeldUse.hs 444;" f
heldItemMuzVel src/Dodge/HeldUse.hs 1021;" f
heldItemMuzzles src/Dodge/HeldUse.hs 150;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 72;" f
heldItemOrient2D src/Dodge/Item/HeldOffset.hs 29;" f
heldItemRelativeOrient src/Dodge/Item/HeldOffset.hs 34;" f
heldItemRifling src/Dodge/HeldUse.hs 1067;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 225;" f
heldItemRifling src/Dodge/HeldUse.hs 1065;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 224;" f
heldItemWeight src/Dodge/Creature/Statistics.hs 71;" f
heldPositionInfo src/Dodge/Item/Info.hs 240;" f
heldTorqueAmount src/Dodge/HeldUse.hs 581;" f
heldTorqueAmount src/Dodge/HeldUse.hs 587;" f
heldTriggerType src/Dodge/BaseTriggerType.hs 17;" f
heldUseDelay src/Dodge/Item/UseDelay.hs 19;" f
helpCommand src/Dodge/Terminal.hs 66;" f
@@ -4673,7 +4671,7 @@ invertIntMap src/Multiset.hs 67;" f
invertInventoryToMap src/Dodge/Combine.hs 57;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 21;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 715;" f
isAmmoIntLink src/Dodge/HeldUse.hs 718;" f
isAnimate src/Dodge/Creature/Test.hs 142;" f
isCognizant src/Dodge/Creature/Perception.hs 106;" f
isConnected src/Dodge/Inventory/Swap.hs 74;" f
@@ -4710,7 +4708,7 @@ itemBlips src/Dodge/RadarSweep.hs 93;" f
itemBulkiness src/Dodge/Creature/YourControl.hs 172;" f
itemCombinations src/Dodge/Combine/Combinations.hs 56;" f
itemCombinationsEdges src/Dodge/Combine/Graph.hs 61;" f
itemDetectorEffect src/Dodge/HeldUse.hs 765;" f
itemDetectorEffect src/Dodge/HeldUse.hs 768;" f
itemDisplay src/Dodge/Inventory/SelectionList.hs 49;" f
itemEquipPict src/Dodge/Item/Draw.hs 18;" f
itemExternalValue src/Dodge/Inventory/SelectionList.hs 84;" f
@@ -4722,17 +4720,17 @@ itemFromHeldType src/Dodge/Item/Held.hs 25;" f
itemInfo src/Dodge/Item/Info.hs 20;" f
itemInternalValue src/Dodge/Item/Display.hs 33;" f
itemInvColor src/Dodge/Item/InventoryColor.hs 9;" f
itemInvLock src/Dodge/HeldUse.hs 433;" f
itemMuzzles src/Dodge/HeldUse.hs 159;" f
itemRandomOffset src/Dodge/HeldUse.hs 960;" f
itemInvLock src/Dodge/HeldUse.hs 439;" f
itemMuzzles src/Dodge/HeldUse.hs 139;" f
itemRandomOffset src/Dodge/HeldUse.hs 958;" f
itemRooms src/Dodge/LockAndKey.hs 39;" f
itemRotTreeSPic src/Dodge/Item/Draw/SPic.hs 28;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 35;" f
itemSPic src/Dodge/Item/Draw/SPic.hs 34;" f
itemScan src/Dodge/Item/Scope.hs 63;" f
itemScroll src/Dodge/Update/Scroll.hs 52;" f
itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 120;" f
itemScrollValue src/Dodge/Inventory/SelectionList.hs 147;" f
itemSidePush src/Dodge/HeldUse.hs 379;" f
itemSidePush src/Dodge/HeldUse.hs 385;" f
itemString src/Dodge/Item/Display.hs 55;" f
itemToBreakLists src/Dodge/Item/Grammar.hs 68;" f
itemToFunction src/Dodge/Item/Grammar.hs 148;" f
@@ -4762,7 +4760,7 @@ keyCard src/Dodge/Item/Held/Utility.hs 20;" f
keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 71;" f
keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 59;" f
keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f
keyPic src/Dodge/Item/Draw/SPic.hs 459;" f
keyPic src/Dodge/Item/Draw/SPic.hs 458;" f
keyholeCorridor src/Dodge/Room/Corridor.hs 39;" f
knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 568;" f
lConnect src/Dodge/Render/Connectors.hs 42;" f
@@ -4774,7 +4772,7 @@ lampCoverWhen src/Dodge/Placement/Instance/LightSource/Cover.hs 19;" f
lampCrSPic src/Dodge/Render/ShapePicture.hs 51;" f
lasCenSensEdge src/Dodge/Room/LasTurret.hs 114;" f
lasDronesPic src/Dodge/Item/Weapon/Drone.hs 22;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 413;" f
lasGunPic src/Dodge/Item/Draw/SPic.hs 412;" f
lasSensorTurretTest src/Dodge/Room/LasTurret.hs 107;" f
lasTunnel src/Dodge/Room/LasTurret.hs 126;" f
lasTunnelRunPast src/Dodge/Room/LasTurret.hs 167;" f
@@ -4798,7 +4796,7 @@ left src/DoubleStack.hs 16;" f
leftIsParentCombine src/Dodge/Item/Grammar.hs 241;" f
leftPad src/Padding.hs 15;" f
leftRightCombine src/Dodge/Item/Grammar.hs 255;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 477;" f
legsSPic src/Dodge/Item/Draw/SPic.hs 476;" f
liShape src/Dodge/Placement/Instance/LightSource.hs 98;" f
light src/Color.hs 104;" f
lightSensByDoor src/Dodge/Room/LasTurret.hs 46;" f
@@ -4812,7 +4810,7 @@ lineCol src/Picture/Base.hs 230;" f
lineGeom src/Dodge/Base.hs 32;" f
lineOnScreenCone src/Dodge/Debug/Picture.hs 60;" f
lineOrth src/Dodge/Creature/Boid.hs 126;" f
lineOutputTerminal src/Dodge/WorldEffect.hs 81;" f
lineOutputTerminal src/Dodge/WorldEffect.hs 76;" f
lineSplit src/Justify.hs 26;" f
lineThick src/Picture/Base.hs 234;" f
lineUp src/Dodge/Creature/Boid.hs 148;" f
@@ -4833,7 +4831,7 @@ lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 394;" f
lnkPosDir src/Dodge/RoomLink.hs 97;" f
loadDodgeConfig src/Dodge/Config/Load.hs 9;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f
loadMuzzle src/Dodge/HeldUse.hs 626;" f
loadMuzzle src/Dodge/HeldUse.hs 632;" f
loadSaveSlot src/Dodge/Save.hs 74;" f
loadSeed src/Dodge/LoadSeed.hs 7;" f
loadSound src/Dodge/SoundLogic/LoadSound.hs 11;" f
@@ -4876,7 +4874,7 @@ machineAddSound src/Dodge/Machine.hs 49;" f
machinePistol src/Dodge/Item/Held/Stick.hs 52;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
magAmmoParams src/Dodge/HeldUse.hs 899;" f
magAmmoParams src/Dodge/HeldUse.hs 902;" f
magAmmoType src/Dodge/Item/MagAmmoType.hs 11;" f
magShield src/Dodge/Item/Equipment.hs 27;" f
magV src/Geometry/Vector.hs 171;" f
@@ -4891,8 +4889,8 @@ makeAttach src/Dodge/Item/Attach.hs 10;" f
makeBlip src/Dodge/RadarSweep.hs 69;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 1004;" f
makeBullet' src/Dodge/HeldUse.hs 946;" f
makeBullet src/Dodge/HeldUse.hs 1002;" f
makeBullet' src/Dodge/HeldUse.hs 944;" f
makeButton src/Dodge/LevelGen/Switch.hs 17;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 128;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 7;" f
@@ -4909,7 +4907,7 @@ makeDustAt src/Dodge/WorldEvent/Cloud.hs 17;" f
makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f
makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 71;" f
makeFlak src/Dodge/Bullet.hs 143;" f
makeFlame src/Dodge/Flame.hs 43;" f
makeFlame src/Dodge/Flame.hs 45;" f
makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 54;" f
makeFlamelet src/Dodge/EnergyBall.hs 21;" f
makeFlashBall src/Dodge/EnergyBall.hs 84;" f
@@ -4918,7 +4916,7 @@ makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 11;" f
makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 35;" f
makeMovingEB src/Dodge/EnergyBall.hs 74;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 647;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 653;" f
makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f
makePathBetweenPs src/Dodge/Path.hs 54;" f
@@ -4974,11 +4972,11 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 130;" f
mcSPic src/Dodge/Render/ShapePicture.hs 111;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 93;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 125;" f
mcShootAuto src/Dodge/HeldUse.hs 1192;" f
mcShootLaser src/Dodge/HeldUse.hs 1185;" f
mcShootAuto src/Dodge/HeldUse.hs 1190;" f
mcShootLaser src/Dodge/HeldUse.hs 1183;" f
mcTriggerVal src/Dodge/Machine/Update.hs 99;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 28;" f
mcUseHeld src/Dodge/HeldUse.hs 1111;" f
mcUseHeld src/Dodge/HeldUse.hs 1109;" f
mcUseItem src/Dodge/Machine/Update.hs 85;" f
medkit src/Dodge/Item/Consumable.hs 8;" f
megaBattery src/Dodge/Item/Ammo.hs 54;" f
@@ -5019,9 +5017,9 @@ minCrIXOn src/Dodge/Zoning/Creature.hs 47;" f
minOn src/FoldableHelp.hs 35;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 402;" f
miniGunCrit src/Dodge/Creature.hs 64;" f
miniGunX src/Dodge/Item/Held/Cane.hs 52;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 365;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 359;" f
miniGunX src/Dodge/Item/Held/Cane.hs 48;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 364;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 358;" f
miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 638;" f
miniTree2 src/Dodge/Room/Room.hs 106;" f
minimumOn src/FoldlHelp.hs 14;" f
@@ -5048,7 +5046,7 @@ mouseClickOptionsList src/Dodge/Update/Input/ScreenLayer.hs 60;" f
mouseCursorType src/Dodge/Render/Picture.hs 86;" f
mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f
moveBullet src/Dodge/Bullet.hs 195;" f
moveCombineSel src/Dodge/Update/Scroll.hs 115;" f
moveCombineSel src/Dodge/Update/Scroll.hs 114;" f
moveHammerUp src/Dodge/Hammer.hs 5;" f
moveInverseShockwave src/Dodge/Shockwave/Update.hs 44;" f
moveLSThen src/Dodge/Placement/Instance/LightSource.hs 30;" f
@@ -5071,7 +5069,7 @@ multiArrow src/Picture/Composite.hs 11;" f
multiLookupTrie src/SimpleTrie.hs 34;" f
multiLookupTrieI src/SimpleTrie.hs 43;" f
muout src/Dodge/RoomLink.hs 129;" f
muzFlareAt src/Dodge/HeldUse.hs 675;" f
muzFlareAt src/Dodge/HeldUse.hs 678;" f
mvButton src/Dodge/Placement/PlaceSpot.hs 176;" f
mvCr src/Dodge/Placement/PlaceSpot.hs 186;" f
mvFS src/Dodge/Placement/PlaceSpot.hs 189;" f
@@ -5114,7 +5112,7 @@ normalizeColor src/Color.hs 76;" f
normalizeV src/Geometry/Vector.hs 43;" f
normalizeV3 src/Geometry/Vector3D.hs 84;" f
nulgate src/Dodge/Item/Scope.hs 95;" f
nullCommand src/Dodge/Update/Scroll.hs 170;" f
nullCommand src/Dodge/Update/Scroll.hs 169;" f
numColor src/Color.hs 128;" f
numDrawableVertices src/Shader/Parameters.hs 34;" f
numGLushort src/Shader/Parameters.hs 29;" f
@@ -5463,7 +5461,7 @@ randsOnCirc src/RandomHelp.hs 127;" f
randsSpread src/RandomHelp.hs 120;" f
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
readSaveSlot src/Dodge/Save.hs 45;" f
recoilAmount src/Dodge/HeldUse.hs 460;" f
recoilAmount src/Dodge/HeldUse.hs 466;" f
rectNSWE src/Geometry/Polygon.hs 13;" f
rectVV src/Geometry/Polygon.hs 38;" f
rectWH src/Geometry/Polygon.hs 17;" f
@@ -5490,7 +5488,7 @@ rememberSounds src/Dodge/Creature/Perception.hs 178;" f
remoteDetonator src/Dodge/Item/Scope.hs 144;" f
remoteScreen src/Dodge/Item/Scope.hs 139;" f
removeAimPosture src/Dodge/Creature/YourControl.hs 147;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 866;" f
removeAmmoFromMag src/Dodge/HeldUse.hs 869;" f
removeDot src/ShortShow.hs 29;" f
removeInverseWalls src/Dodge/LevelGen/StaticWalls.hs 25;" f
removeShieldWall src/Dodge/Item/BackgroundEffect.hs 57;" f
@@ -5539,7 +5537,7 @@ rightIsParentCombine src/Dodge/Item/Grammar.hs 248;" f
rightPad src/Padding.hs 19;" f
rightPadNoSquash src/Padding.hs 23;" f
rlPosDir src/Dodge/RoomLink.hs 94;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 390;" f
rlauncherPic src/Dodge/Item/Draw/SPic.hs 389;" f
rmInLinks src/Dodge/RoomLink.hs 138;" f
rmInvItem src/Dodge/Inventory.hs 64;" f
rmLinksOfType src/Dodge/RoomLink.hs 135;" f
@@ -5636,10 +5634,10 @@ screenPosAbs src/Dodge/ScreenPos.hs 15;" f
screenToWorldPos src/Dodge/Base/Coordinate.hs 51;" f
scrollAugInvSel src/Dodge/Inventory.hs 204;" f
scrollAugNextInSection src/Dodge/Inventory.hs 217;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 162;" f
scrollCommands src/Dodge/Update/Scroll.hs 159;" f
scrollCommandStrings src/Dodge/Update/Scroll.hs 161;" f
scrollCommands src/Dodge/Update/Scroll.hs 158;" f
scrollDebugInfoInt src/Dodge/Debug.hs 71;" f
scrollRBOption src/Dodge/Update/Scroll.hs 153;" f
scrollRBOption src/Dodge/Update/Scroll.hs 152;" f
scrollSelectionSections src/Dodge/SelectionSections.hs 26;" f
scrollTimeBack src/Dodge/Update.hs 212;" f
scrollTimeForward src/Dodge/Update.hs 235;" f
@@ -5741,7 +5739,7 @@ shapeVerxAttributes src/Shape/Parameters.hs 13;" f
shapeVerxSize src/Shape/Parameters.hs 10;" f
shardShape src/Dodge/Block/Debris.hs 181;" f
shatterGun src/Dodge/Item/Held/Weapons.hs 8;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 302;" f
shatterGunSPic src/Dodge/Item/Draw/SPic.hs 301;" f
shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f
shellCollisionCheck src/Dodge/Projectile/Update.hs 85;" f
shellMag src/Dodge/Item/Ammo.hs 48;" f
@@ -5770,14 +5768,14 @@ shiftRoomShiftToLink src/Dodge/Room/Link.hs 70;" f
shiftedGrid src/Grid.hs 25;" f
shineTargetLaser src/Dodge/Creature/State.hs 296;" f
shineTorch src/Dodge/Creature/State.hs 337;" f
shootBullet src/Dodge/HeldUse.hs 936;" f
shootBullet src/Dodge/HeldUse.hs 934;" f
shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootLaser src/Dodge/HeldUse.hs 845;" f
shootLaser src/Dodge/HeldUse.hs 848;" f
shootOutPassage src/Dodge/Room/RezBox.hs 74;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 11;" f
shootTeslaArc src/Dodge/HeldUse.hs 1211;" f
shootTeslaArc src/Dodge/HeldUse.hs 1209;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootTractorBeam src/Dodge/HeldUse.hs 798;" f
shootTractorBeam src/Dodge/HeldUse.hs 801;" f
shootersRoom src/Dodge/Room/Room.hs 315;" f
shootersRoom' src/Dodge/Room/Room.hs 280;" f
shootersRoom1 src/Dodge/Room/Room.hs 305;" f
@@ -5793,9 +5791,9 @@ showEquipItem src/Dodge/Item/Display.hs 104;" f
showInt src/Dodge/Item/Info.hs 73;" f
showIntsString src/Dodge/Tree/Compose.hs 129;" f
showInventoryPathing src/Dodge/Item/Display.hs 84;" f
showManObj src/Dodge/TestString.hs 66;" f
showManObj src/Dodge/TestString.hs 67;" f
showTerminalError src/Dodge/Debug/Terminal.hs 78;" f
showTimeFlow src/Dodge/TestString.hs 89;" f
showTimeFlow src/Dodge/TestString.hs 90;" f
shrinkPolyOnEdges src/Geometry/Polygon.hs 136;" f
shrinkVert src/Geometry/Polygon.hs 140;" f
shuffle src/RandomHelp.hs 49;" f
@@ -5941,7 +5939,7 @@ stringToList src/Picture/Base.hs 313;" f
stringToListGrad src/Picture/Text.hs 12;" f
stripZ src/Geometry/Vector3D.hs 97;" f
structureToPotentialFunction src/Dodge/Item/Grammar.hs 183;" f
structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 76;" f
structureUseAtLoc src/Dodge/Creature/Impulse/UseItem.hs 75;" f
subInvX src/Dodge/ListDisplayParams.hs 48;" f
subMap src/TreeHelp.hs 118;" f
subZipWith src/Dodge/Placement/Instance/Wall.hs 115;" f
@@ -5993,9 +5991,9 @@ terminalReturnEffect src/Dodge/Terminal.hs 276;" f
terminalSPic src/Dodge/Machine/Draw.hs 29;" f
terminalScreenGlow src/Dodge/Machine/Update.hs 35;" f
terminalShape src/Dodge/Machine/Draw.hs 32;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 125;" f
terminalWheelEvent src/Dodge/Update/Scroll.hs 124;" f
teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 410;" f
teslaGunPic src/Dodge/Item/Draw/SPic.hs 409;" f
teslaParams src/Dodge/Item/Held/BatteryGuns.hs 32;" f
teslaParams src/Dodge/Tesla/ItemParams.hs 6;" f
testCrossWalls src/Dodge/Room/Path.hs 47;" f
@@ -6062,11 +6060,11 @@ toV3 src/Geometry/Data.hs 38;" f
toV4 src/Geometry/Data.hs 40;" f
toggleCombineInv src/Dodge/DisplayInventory.hs 317;" f
toggleCommand src/Dodge/Terminal.hs 196;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 92;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 132;" f
toggleEquipmentAt src/Dodge/Creature/Impulse/UseItem.hs 88;" f
toggleExamineInv src/Dodge/Creature/Impulse/UseItem.hs 128;" f
toggleExamineInv src/Dodge/ToggleExamine.hs 5;" f
toggleJust src/MaybeHelp.hs 41;" f
toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 137;" f
toggleMapperInv src/Dodge/Creature/Impulse/UseItem.hs 133;" f
togglesToEffects src/Dodge/Terminal.hs 248;" f
tone440S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 572;" f
tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 594;" f
@@ -6075,17 +6073,17 @@ tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 400;" f
topInvW src/Dodge/ListDisplayParams.hs 51;" f
topPrismEdgeIndices src/Shader/Poke.hs 335;" f
topPrismIndices src/Shader/Poke.hs 410;" f
topTestPart src/Dodge/TestString.hs 62;" f
topTestPart src/Dodge/TestString.hs 63;" f
torch src/Dodge/Item/Held/Utility.hs 23;" f
torchShape src/Dodge/Item/Draw/SPic.hs 269;" f
torqueAmount src/Dodge/HeldUse.hs 576;" f
torqueCr src/Dodge/WorldEffect.hs 74;" f
torchShape src/Dodge/Item/Draw/SPic.hs 268;" f
torqueAmount src/Dodge/HeldUse.hs 582;" f
torqueCr src/Dodge/WorldEffect.hs 69;" f
torso src/Dodge/Creature/Picture.hs 99;" f
tractCr src/Dodge/TractorBeam/Update.hs 28;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f
tractorBeamAt src/Dodge/HeldUse.hs 810;" f
tractorBeamAt src/Dodge/HeldUse.hs 813;" f
tractorGun src/Dodge/Item/Held/BatteryGuns.hs 60;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 437;" f
tractorGunPic src/Dodge/Item/Draw/SPic.hs 436;" f
tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f
tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f
tranRot src/Picture/Base.hs 124;" f
@@ -6272,7 +6270,7 @@ updateRadarSweeps src/Dodge/Update.hs 609;" f
updateRandNode src/TreeHelp.hs 108;" f
updateRenderSplit appDodge/Main.hs 108;" f
updateRootItemID src/Dodge/Inventory/Location.hs 35;" f
updateScopeZoom src/Dodge/Update/Scroll.hs 73;" f
updateScopeZoom src/Dodge/Update/Scroll.hs 72;" f
updateScrollTestValue src/Dodge/ScrollValue.hs 6;" f
updateSection src/Dodge/DisplayInventory.hs 264;" f
updateSectionsPositioning src/Dodge/DisplayInventory.hs 243;" f
@@ -6326,26 +6324,26 @@ useBulletPayload src/Dodge/Bullet.hs 113;" f
useC src/Dodge/Cuse.hs 8;" f
useC' src/Dodge/Cuse.hs 13;" f
useDelay src/Dodge/Item/UseDelay.hs 13;" f
useGasParams src/Dodge/HeldUse.hs 1116;" f
useGasParams src/Dodge/HeldUse.hs 1114;" f
useHotkey src/Dodge/Creature/YourControl.hs 70;" f
useInventoryPath src/Dodge/HeldUse.hs 1379;" f
useInventoryPath src/Dodge/HeldUse.hs 1377;" f
useItem src/Dodge/Creature/Impulse/UseItem.hs 20;" f
useItemLoc src/Dodge/Creature/Impulse/UseItem.hs 27;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 719;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 66;" f
useLoadedAmmo src/Dodge/HeldUse.hs 722;" f
useLocation src/Dodge/Creature/Impulse/UseItem.hs 65;" f
useMagShield src/Dodge/Euse.hs 26;" f
useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 18;" f
useRewindGun src/Dodge/HeldUse.hs 1345;" f
useRewindGun src/Dodge/HeldUse.hs 1343;" f
useRewindGun src/Dodge/Luse.hs 40;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useStopWatch src/Dodge/HeldUse.hs 1326;" f
useStopWatch src/Dodge/HeldUse.hs 1324;" f
useStopWatch src/Dodge/Luse.hs 21;" f
useTimeCheck src/Dodge/HeldUse.hs 117;" f
useTimeCheck src/Dodge/HeldUse.hs 101;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 127;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1334;" f
useTimeScrollGun src/Dodge/HeldUse.hs 1332;" f
useTimeScrollGun src/Dodge/Luse.hs 29;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
usedRoomInLinkPoss src/Dodge/PlacementSpot.hs 196;" f
@@ -6369,7 +6367,7 @@ verticalLampCover src/Dodge/Placement/Instance/LightSource/Cover.hs 38;" f
verticalPipe src/Dodge/Picture.hs 19;" f
verticalPipe src/Dodge/Placement/Instance/Pipe.hs 6;" f
verticalWire src/Dodge/Wire.hs 24;" f
vgunMuzzles src/Dodge/HeldUse.hs 299;" f
vgunMuzzles src/Dodge/HeldUse.hs 304;" f
viewBoundaries src/Dodge/Debug/Picture.hs 304;" f
viewClipBounds src/Dodge/Debug/Picture.hs 313;" f
viewDistanceFromItems src/Dodge/Update/Camera.hs 186;" f
@@ -6379,9 +6377,9 @@ visibleWalls src/Dodge/Base/Collide.hs 124;" f
visionCheck src/Dodge/Creature/Perception.hs 153;" f
vocalizationTest src/Dodge/Creature/Vocalization.hs 42;" f
volleyGun src/Dodge/Item/Held/Cane.hs 15;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 347;" f
volleyGunShape src/Dodge/Item/Draw/SPic.hs 346;" f
waistSP src/Dodge/Creature/HandPos.hs 173;" f
walkNozzle src/Dodge/HeldUse.hs 780;" f
walkNozzle src/Dodge/HeldUse.hs 783;" f
walkableNodeNear src/Dodge/Path.hs 48;" f
wallBlips src/Dodge/RadarSweep.hs 98;" f
wallBuffer src/Dodge/WallCreatureCollisions.hs 52;" f
@@ -6495,7 +6493,7 @@ zoneWall src/Dodge/Zoning/Wall.hs 65;" f
zonesAroundPoint src/Dodge/Zoning/Base.hs 96;" f
zonesExtract src/Dodge/Zoning/Base.hs 56;" f
zoomFloatingCamera src/Dodge/Update/Camera.hs 70;" f
zoomInLongGun src/Dodge/Update/Scroll.hs 99;" f
zoomOutLongGun src/Dodge/Update/Scroll.hs 107;" f
zoomInLongGun src/Dodge/Update/Scroll.hs 98;" f
zoomOutLongGun src/Dodge/Update/Scroll.hs 106;" f
zoomScope src/Dodge/Item/Scope.hs 33;" f
zoomSpeed src/Dodge/Update/Scroll.hs 96;" f
zoomSpeed src/Dodge/Update/Scroll.hs 95;" f