From 3cc439b877db0d3257872dfef2693c9a98ceb69e Mon Sep 17 00:00:00 2001 From: justin Date: Fri, 2 Jan 2026 21:33:00 +0000 Subject: [PATCH] Cleanup defaults --- src/Dodge/Default.hs | 4 +- src/Dodge/Default/Item.hs | 12 +- src/Dodge/Equipment.hs | 17 +-- src/Dodge/Item/Ammo.hs | 42 +++--- src/Dodge/Item/Attach.hs | 14 -- src/Dodge/Item/Craftable.hs | 5 +- src/Dodge/Item/Equipment.hs | 51 ++----- src/Dodge/Item/Held/BatteryGuns.hs | 21 +-- src/Dodge/Item/Held/Cane.hs | 4 +- src/Dodge/Item/Held/Cone.hs | 2 +- src/Dodge/Item/Held/Launcher.hs | 2 +- src/Dodge/Item/Held/Rod.hs | 2 +- src/Dodge/Item/Held/SprayGuns.hs | 2 +- src/Dodge/Item/Held/Stick.hs | 32 +--- src/Dodge/Item/Held/Utility.hs | 10 +- src/Dodge/Item/Held/Weapons.hs | 4 +- src/Dodge/Item/Orientation.hs | 2 +- src/Dodge/Item/Scope.hs | 111 ++++++++------ src/Dodge/Wall/ForceField.hs | 1 + tags | 234 +++++++++++++++-------------- 20 files changed, 259 insertions(+), 313 deletions(-) delete mode 100644 src/Dodge/Item/Attach.hs diff --git a/src/Dodge/Default.hs b/src/Dodge/Default.hs index 6fb604442..7352b0781 100644 --- a/src/Dodge/Default.hs +++ b/src/Dodge/Default.hs @@ -21,8 +21,8 @@ import Dodge.Default.Wall import Geometry import Picture -defaultEquipment :: Item -defaultEquipment = defaultHeldItem & itUse .~ UseNothing +defEquipment :: Item +defEquipment = defHeldItem & itUse .~ UseNothing defaultFlIt :: FloorItem defaultFlIt = FlIt{_flItRot = 0, _flItPos = V2 0 0} diff --git a/src/Dodge/Default/Item.hs b/src/Dodge/Default/Item.hs index 4af14c669..d15769b9f 100644 --- a/src/Dodge/Default/Item.hs +++ b/src/Dodge/Default/Item.hs @@ -1,13 +1,13 @@ module Dodge.Default.Item ( - defaultHeldItem, - defaultCraftItem, + defHeldItem, + defCraftItem, ) where import Control.Lens import Dodge.Data.Item -defaultHeldItem :: Item -defaultHeldItem = +defHeldItem :: Item +defHeldItem = Item { _itType = HELD PISTOL , _itConsumables = Nothing @@ -22,5 +22,5 @@ defaultHeldItem = , _itTimeLastUsed = 0 } -defaultCraftItem :: Item -defaultCraftItem = defaultHeldItem & itUse .~ UseNothing +defCraftItem :: Item +defCraftItem = defHeldItem & itUse .~ UseNothing diff --git a/src/Dodge/Equipment.hs b/src/Dodge/Equipment.hs index 5c5d55d28..71c14b4bb 100644 --- a/src/Dodge/Equipment.hs +++ b/src/Dodge/Equipment.hs @@ -3,9 +3,7 @@ module Dodge.Equipment ( effectOnEquip, ) where -import Linear import Control.Lens -import Data.Maybe import Dodge.Creature.HandPos import Dodge.Data.World import Dodge.Item.Location @@ -14,6 +12,7 @@ import Dodge.Wall.ForceField import Dodge.Wall.Move import Geometry import qualified IntMapHelp as IM +import Linear import NewInt effectOnRemove :: Item -> Creature -> World -> World @@ -23,11 +22,8 @@ effectOnRemove itm = case itm ^. itType of onRemoveWristShield :: Item -> Creature -> World -> World onRemoveWristShield itm _ = - (pointerToItem itm . itParams .~ NoParams) . mremovewall - where - mremovewall = fromMaybe id $ do - i <- itm ^? itParams . itParamID - return $ deleteWallID i + (pointerToItem itm . itParams .~ NoParams) + . maybe id deleteWallID (itm ^? itParams . itParamID) effectOnEquip :: Item -> Creature -> World -> World effectOnEquip itm = case itm ^. itType of @@ -37,7 +33,7 @@ effectOnEquip itm = case itm ^. itType of onEquipWristShield :: Item -> Creature -> World -> World onEquipWristShield itm cr w = w - & pointerToItem itm . itParams .~ ItemParamID{_itParamID = i} + & pointerToItem itm . itParams .~ ItemParamID i & cWorld . lWorld . walls . at i ?~ forceField{_wlID = i} & setWristShieldPos ( itm & itParams .~ ItemParamID{_itParamID = i} @@ -51,7 +47,10 @@ setWristShieldPos itm cr w = w & moveWallIDUnsafe i wlline where i = _itParamID $ _itParams itm wlline = (f (V3 (-10) 7 0), f (V3 10 7 0)) - handtrans = case w ^? cWorld . lWorld . items + handtrans = case w + ^? cWorld + . lWorld + . items . ix (itm ^. itID . unNInt) . itLocation . ilEquipSite diff --git a/src/Dodge/Item/Ammo.hs b/src/Dodge/Item/Ammo.hs index 8b9d05840..a8063cae4 100644 --- a/src/Dodge/Item/Ammo.hs +++ b/src/Dodge/Item/Ammo.hs @@ -16,68 +16,68 @@ module Dodge.Item.Ammo ( import Control.Lens import Dodge.Data.World import Dodge.Default.Item -import Dodge.Item.Attach - ---import Dodge.Item.Weapon.Bullet megaTinMag :: Int -> Item -megaTinMag x = - tinMag - & itConsumables ?~ x +megaTinMag x = tinMag & itConsumables ?~ x tinMag :: Item tinMag = - defaultHeldItem & itType .~ AMMOMAG TINMAG + defHeldItem + & itType .~ AMMOMAG TINMAG & itUse .~ UseNothing & itConsumables ?~ 15 drumMag :: Item drumMag = - tinMag & itType . ibtAmmoMag .~ DRUMMAG + tinMag + & itType . ibtAmmoMag .~ DRUMMAG & itConsumables ?~ 30 beltMag :: Item beltMag = - tinMag & itType . ibtAmmoMag .~ BELTMAG + tinMag + & itType . ibtAmmoMag .~ BELTMAG & itConsumables ?~ 10000 megaShellMag :: Item -megaShellMag = - shellMag - & itConsumables ?~ 1000000 +megaShellMag = shellMag & itConsumables ?~ 1000000 shellMag :: Item shellMag = - defaultHeldItem & itType .~ AMMOMAG SHELLMAG + defHeldItem + & itType .~ AMMOMAG SHELLMAG & itUse .~ UseNothing & itConsumables ?~ 1 megaBattery :: Item -megaBattery = - battery - & itConsumables ?~ 1000000 +megaBattery = battery & itConsumables ?~ 1000000 smallBattery :: Item smallBattery = battery & itConsumables ?~ 999 battery :: Item battery = - defaultHeldItem & itType .~ AMMOMAG BATTERY + defHeldItem + & itType .~ AMMOMAG BATTERY & itUse .~ UseNothing & itConsumables ?~ 10 ^ (9 :: Int) capacitor :: Item capacitor = - defaultHeldItem & itType .~ ATTACH CAPACITOR + defHeldItem + & itType .~ ATTACH CAPACITOR & itUse .~ UseNothing & itConsumables ?~ 0 chemFuelPouch :: Item chemFuelPouch = - defaultHeldItem & itType .~ AMMOMAG CHEMFUELPOUCH + defHeldItem + & itType .~ AMMOMAG CHEMFUELPOUCH & itUse .~ UseNothing & itConsumables - ?~ 100000 + ?~ 100000 bulletSynthesizer :: Item -bulletSynthesizer = makeAttach BULLETSYNTH & itUse .~ UseAttach (APInt 0) +bulletSynthesizer = defHeldItem + & itType .~ ATTACH BULLETSYNTH + & itUse .~ UseAttach (APInt 0) diff --git a/src/Dodge/Item/Attach.hs b/src/Dodge/Item/Attach.hs deleted file mode 100644 index 69de04fcb..000000000 --- a/src/Dodge/Item/Attach.hs +++ /dev/null @@ -1,14 +0,0 @@ -module Dodge.Item.Attach - (makeAttach - ) - where - -import Dodge.Data.Item -import Dodge.Default.Item -import Control.Lens - -makeAttach :: AttachType -> Item -makeAttach t = defaultHeldItem - & itType .~ ATTACH t - & itUse .~ UseAttach APNothing - diff --git a/src/Dodge/Item/Craftable.hs b/src/Dodge/Item/Craftable.hs index 88c5b66f6..1de0b5ac7 100644 --- a/src/Dodge/Item/Craftable.hs +++ b/src/Dodge/Item/Craftable.hs @@ -10,10 +10,7 @@ import Dodge.Data.Item import Dodge.Default.Item makeTypeCraftNum :: Int -> CraftType -> [Item] -makeTypeCraftNum i ct = - replicate i $ - defaultCraftItem - & itType .~ CRAFT ct +makeTypeCraftNum i ct = replicate i $ defCraftItem & itType .~ CRAFT ct makeTypeCraft :: CraftType -> Item makeTypeCraft = head . makeTypeCraftNum 1 diff --git a/src/Dodge/Item/Equipment.hs b/src/Dodge/Item/Equipment.hs index b6f327e89..9d700370e 100644 --- a/src/Dodge/Item/Equipment.hs +++ b/src/Dodge/Item/Equipment.hs @@ -18,74 +18,58 @@ module Dodge.Item.Equipment ( ) where import Dodge.Data.Equipment.Misc ---import Dodge.Item.Weapon.Bullet import Dodge.Data.Item import Dodge.Data.Magnet import Dodge.Default import LensHelp magShield :: MagnetBuBu -> Item -magShield mt = - defaultEquipment - -- & itUse . uequipEffect . eeUse .~ EMagShield MagnetRepulse - & itType .~ EQUIP (MAGSHIELD mt) +magShield mt = defEquipment & itType .~ EQUIP (MAGSHIELD mt) flameShield :: Item -flameShield = - defaultEquipment - & itType .~ EQUIP FLAMESHIELD +flameShield = defEquipment & itType .~ EQUIP FLAMESHIELD frontArmour :: Item -frontArmour = - defaultEquipment - & itType .~ EQUIP FRONTARMOUR +frontArmour = defEquipment & itType .~ EQUIP FRONTARMOUR wristArmour :: Item -wristArmour = defaultEquipment & itType .~ EQUIP WRISTARMOUR +wristArmour = defEquipment & itType .~ EQUIP WRISTARMOUR batteryPack :: Item batteryPack = - defaultEquipment - & itConsumables - ?~ 10000000 + defEquipment + & itConsumables ?~ 10000000 & itType .~ EQUIP BATTERYPACK fuelPack :: Item fuelPack = - defaultEquipment - -- & itUse . uequipEffect . eeUse .~ EFuelSource 10000 10000 + defEquipment & itType .~ EQUIP FUELPACK - & itConsumables - ?~ 100000 + & itConsumables ?~ 100000 bulletBeltPack :: Item bulletBeltPack = - defaultEquipment + defEquipment & itConsumables ?~ 10000000 & itType .~ EQUIP BULLETBELTPACK bulletBeltBracer :: Item bulletBeltBracer = - defaultEquipment + defEquipment & itConsumables ?~ 100000 & itType .~ EQUIP BULLETBELTBRACER brainHat :: Item -brainHat = defaultEquipment & itType .~ EQUIP BRAINHAT +brainHat = defEquipment & itType .~ EQUIP BRAINHAT hat :: Item -hat = defaultEquipment & itType .~ EQUIP HAT +hat = defEquipment & itType .~ EQUIP HAT headLamp :: Item -headLamp = - defaultEquipment - -- & itUse . uequipEffect . eeUse .~ EHeadLamp - & itType .~ EQUIP HEADLAMP +headLamp = defEquipment & itType .~ EQUIP HEADLAMP powerLegs :: Item -powerLegs = - defaultEquipment - & itType .~ EQUIP POWERLEGS +powerLegs = defEquipment & itType .~ EQUIP POWERLEGS speedLegs :: Item speedLegs = powerLegs & itType .~ EQUIP SPEEDLEGS @@ -95,10 +79,7 @@ jumpLegs = powerLegs & itType .~ EQUIP JUMPLEGS wristInvisibility :: Item wristInvisibility = - defaultEquipment - -- & itUse . uequipEffect . eeOnEquip .~ ECamouflage Invisible - -- & itUse . uequipEffect . eeOnRemove .~ ECamouflage FullyVisible - & itType .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist) + defEquipment & itType .~ EQUIP (INVISIBILITYEQUIPMENT GoesOnWrist) pulseChecker :: Item -pulseChecker = defaultEquipment & itType .~ EQUIP WRIST_ECG +pulseChecker = defEquipment & itType .~ EQUIP WRIST_ECG diff --git a/src/Dodge/Item/Held/BatteryGuns.hs b/src/Dodge/Item/Held/BatteryGuns.hs index fc352e80f..244a8594c 100644 --- a/src/Dodge/Item/Held/BatteryGuns.hs +++ b/src/Dodge/Item/Held/BatteryGuns.hs @@ -18,7 +18,7 @@ sparkGun = teslaGun :: Item teslaGun = - defaultHeldItem + defHeldItem & itParams .~ teslaParams & itType .~ HELD TESLAGUN @@ -33,14 +33,7 @@ teslaParams = -- previous phaseV parameters: 0.2, 1, 5 laser :: Item laser = - defaultHeldItem --- & itUse . heldParams .~ BeamShooterParams-- Nothing --- & itAmmoSlots .~ singleAmmo ElectricalAmmo --- & itUse . heldDelay .~ NoDelay --- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 6 0 --- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0 --- & itUse . heldMuzzles . ix 0 . mzFlareType .~ LasGunFlare --- & itUse . heldMuzzles . ix 0 . mzEffect .~ MuzzleLaser + defHeldItem & itTargeting .~ ItTargeting { _itTgPos = Nothing @@ -51,12 +44,4 @@ laser = -- previous attractionPower values: 1, -1, -10, 0 tractorGun :: Item -tractorGun = - defaultHeldItem --- & itUse . heldParams .~ BeamShooterParams --- & itAmmoSlots .~ singleAmmo ElectricalAmmo --- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 30 0 --- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0 --- & itUse . heldMuzzles . ix 0 . mzFlareType .~ NoFlare --- & itUse . heldMuzzles . ix 0 . mzEffect .~ MuzzleTractor - & itType .~ HELD TRACTORGUN +tractorGun = defHeldItem & itType .~ HELD TRACTORGUN diff --git a/src/Dodge/Item/Held/Cane.hs b/src/Dodge/Item/Held/Cane.hs index e0e29fd13..5cc9c24f5 100644 --- a/src/Dodge/Item/Held/Cane.hs +++ b/src/Dodge/Item/Held/Cane.hs @@ -13,11 +13,11 @@ import Dodge.Default import LensHelp volleyGun :: Int -> Item -volleyGun i = defaultHeldItem & itType .~ HELD (VOLLEYGUN i) +volleyGun i = defHeldItem & itType .~ HELD (VOLLEYGUN i) & itParams .~ VolleyUnfiredBarrels [0..i-1] rifle :: Item -rifle = defaultHeldItem & itType .~ HELD RIFLE +rifle = defHeldItem & itType .~ HELD RIFLE alteRifle :: Item alteRifle = rifle diff --git a/src/Dodge/Item/Held/Cone.hs b/src/Dodge/Item/Held/Cone.hs index f76d0350d..c60b812f1 100644 --- a/src/Dodge/Item/Held/Cone.hs +++ b/src/Dodge/Item/Held/Cone.hs @@ -9,7 +9,7 @@ import Dodge.Data.Item import Dodge.Default.Item bangCone :: Item -bangCone = defaultHeldItem & itType .~ HELD BANGCONE +bangCone = defHeldItem & itType .~ HELD BANGCONE blunderbuss :: Item blunderbuss = bangCone & itType .~ HELD BLUNDERBUSS diff --git a/src/Dodge/Item/Held/Launcher.hs b/src/Dodge/Item/Held/Launcher.hs index f33e3f32a..bbc6896ad 100644 --- a/src/Dodge/Item/Held/Launcher.hs +++ b/src/Dodge/Item/Held/Launcher.hs @@ -13,7 +13,7 @@ import Dodge.Default.Item rLauncher :: Item rLauncher = - defaultHeldItem + defHeldItem -- & itUse . heldDelay . rateMax .~ 20 -- & itUse . heldMuzzles . ix 0 . mzInaccuracy .~ 0 -- & itUse . heldMuzzles . ix 0 . mzEffect .~ MuzzleRLauncher diff --git a/src/Dodge/Item/Held/Rod.hs b/src/Dodge/Item/Held/Rod.hs index 40458ca02..5b2c469f9 100644 --- a/src/Dodge/Item/Held/Rod.hs +++ b/src/Dodge/Item/Held/Rod.hs @@ -17,7 +17,7 @@ import LensHelp bangRod :: Item bangRod = - defaultHeldItem + defHeldItem -- & itUse . heldDelay . rateMax .~ 12 & itType .~ HELD BANGROD -- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 30 0 diff --git a/src/Dodge/Item/Held/SprayGuns.hs b/src/Dodge/Item/Held/SprayGuns.hs index da896cae8..49eee9c5f 100644 --- a/src/Dodge/Item/Held/SprayGuns.hs +++ b/src/Dodge/Item/Held/SprayGuns.hs @@ -63,7 +63,7 @@ flameWall = flameThrower :: Item flameThrower = - defaultHeldItem + defHeldItem & itType .~ HELD FLAMETHROWER & itParams .~ NozzleAngle 0 -- & itUse . heldDelay .~ NoDelay diff --git a/src/Dodge/Item/Held/Stick.hs b/src/Dodge/Item/Held/Stick.hs index 7f0ccd71e..c3f9a8d60 100644 --- a/src/Dodge/Item/Held/Stick.hs +++ b/src/Dodge/Item/Held/Stick.hs @@ -13,38 +13,10 @@ import Dodge.Default.Item import LensHelp bangStick :: Int -> Item -bangStick i = - defaultHeldItem --- & itUse . heldParams . recoil .~ 25 - & itType .~ HELD (BANGSTICK i) --- & itUse . heldDelay . rateMax .~ 8 --- & itUse . heldMuzzles --- .~ [ Muzzle --- (V2 10 0) --- a --- 0.01 --- 0 --- NoFlare --- MuzzleShootBullet --- (UseExactly 1) --- 0 --- | a <- spreadAroundCenter i baseStickSpread --- ] --- & itUse . heldMuzzles . ix 0 . mzFlareType .~ NoLightFlare --- & itUse . heldMuzzles . ix (i `div` 2) . mzFlareType .~ MiniGunFlare --- & itUse . heldMuzzles . ix (i-1) . mzFlareType .~ NoLightFlare - ---baseStickSpread :: Float ---baseStickSpread = 0.2 +bangStick i = defHeldItem & itType .~ HELD (BANGSTICK i) pistol :: Item -pistol = - bangStick 1 --- & itUse . heldDelay . rateMax .~ 6 --- & itUse . heldMuzzles . ix 0 . mzPos %~ const (V2 10 0) --- & itUse . heldMuzzles . ix 0 . mzInaccuracy %~ const 0.05 --- & itUse . heldMuzzles . ix 0 . mzFlareType %~ const BasicFlare - & itType .~ HELD PISTOL +pistol = bangStick 1 & itType .~ HELD PISTOL autoPistol :: Item autoPistol = pistol & itType .~ HELD AUTOPISTOL diff --git a/src/Dodge/Item/Held/Utility.hs b/src/Dodge/Item/Held/Utility.hs index 87dfd413e..fea31eca2 100644 --- a/src/Dodge/Item/Held/Utility.hs +++ b/src/Dodge/Item/Held/Utility.hs @@ -15,20 +15,20 @@ import Dodge.Data.Item import Dodge.Default.Item flatShield :: Item -flatShield = defaultHeldItem & itType .~ HELD FLATSHIELD +flatShield = defHeldItem & itType .~ HELD FLATSHIELD keyCard :: Int -> Item -keyCard n = defaultHeldItem & itType .~ HELD (KEYCARD n) +keyCard n = defHeldItem & itType .~ HELD (KEYCARD n) led :: Item -led = defaultHeldItem & itType .~ HELD LED +led = defHeldItem & itType .~ HELD LED -- | Sends out pulses that display walls. detector :: Detector -> Item -detector dt = defaultHeldItem & itType .~ DETECTOR dt +detector dt = defHeldItem & itType .~ DETECTOR dt blinker :: Item -blinker = defaultHeldItem & itType .~ HELD BLINKER +blinker = defHeldItem & itType .~ HELD BLINKER unsafeBlinker :: Item unsafeBlinker = blinker & itType .~ HELD BLINKERUNSAFE diff --git a/src/Dodge/Item/Held/Weapons.hs b/src/Dodge/Item/Held/Weapons.hs index 115414156..fbad7b9b9 100644 --- a/src/Dodge/Item/Held/Weapons.hs +++ b/src/Dodge/Item/Held/Weapons.hs @@ -6,9 +6,7 @@ import Control.Lens --import Linear.V2 shatterGun :: Item -shatterGun = - defaultHeldItem - & itType .~ HELD SHATTERGUN +shatterGun = defHeldItem & itType .~ HELD SHATTERGUN -- & itUse . heldDelay . rateMax .~ 10 -- & itAmmoSlots .~ singleAmmo ElectricalAmmo -- & itUse . heldMuzzles . ix 0 . mzPos .~ V2 30 0 diff --git a/src/Dodge/Item/Orientation.hs b/src/Dodge/Item/Orientation.hs index a4bab66fd..aaa5283c7 100644 --- a/src/Dodge/Item/Orientation.hs +++ b/src/Dodge/Item/Orientation.hs @@ -54,7 +54,7 @@ alteRifleAmmoOrient itm = \case _ -> (V3 18 (itemShapeMax _y itm + s - 1) 0, Q.qz pi) where s | itm ^? itParams . alteRifleSwitch == Just 0 = 1 - | otherwise = (-1) + | otherwise = -1 itemShapeMaxX :: Item -> Float itemShapeMaxX = itemShapeMax _1 diff --git a/src/Dodge/Item/Scope.hs b/src/Dodge/Item/Scope.hs index 162942d46..45a130af4 100644 --- a/src/Dodge/Item/Scope.hs +++ b/src/Dodge/Item/Scope.hs @@ -25,139 +25,164 @@ module Dodge.Item.Scope ( bingate, ) where -import Dodge.Item.Attach import Control.Lens import Dodge.Data.Item import Dodge.Default.Item zoomScope :: Item -zoomScope = defaultHeldItem - & itType .~ ATTACH ZOOMSCOPE - & itUse .~ UseScope OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5} +zoomScope = + defHeldItem + & itType .~ ATTACH ZOOMSCOPE + & itUse .~ UseScope OpticScope{_opticPos = 0, _opticZoom = 1, _opticDefaultZoom = 0.5} targetingScope :: TargetingType -> Item -targetingScope tt = defaultHeldItem +targetingScope tt = + defHeldItem & itType .~ TARGETING tt - & itUse .~ UseNothing - & itTargeting .~ ItTargeting - { _itTgPos = Nothing - , _itTgID = Nothing - , _itTgActive = False - } + & itUse .~ UseNothing + & itTargeting + .~ ItTargeting + { _itTgPos = Nothing + , _itTgID = Nothing + , _itTgActive = False + } homingModule :: Item -homingModule = makeAttach HOMINGMODULE +homingModule = + defHeldItem + & itType .~ ATTACH HOMINGMODULE + & itUse .~ UseAttach APNothing stickyMod :: Item stickyMod = - defaultHeldItem + defHeldItem & itType .~ STICKYMOD & itUse .~ UseNothing introScan :: IntroScanType -> Item introScan t = - defaultHeldItem + defHeldItem & itType .~ INTROSCAN t & itUse .~ UseNothing itemScan :: Item itemScan = - defaultHeldItem + defHeldItem & itType .~ ITEMSCAN & itUse .~ UseNothing + -- & itEffect . ieOnDrop .~ ItemCancelExamineInventory mapper :: Item mapper = - defaultHeldItem + defHeldItem & itType .~ MAPPER & itUse .~ UseMapper mempty mempty dropper :: InventoryPathing -> Item dropper x = - defaultHeldItem + defHeldItem & itType .~ DROPPER x & itUse .~ UseInt 0 clicker :: InventoryPathing -> Item clicker x = - defaultHeldItem + defHeldItem & itType .~ CLICKER x & itUse .~ UseInt 0 copier :: InventoryPathing -> Item copier x = - defaultHeldItem + defHeldItem & itType .~ COPIER x & itUse .~ UseValue (Left 0) & itScroll .~ ItemScrollInt 0 nulgate :: Item nulgate = - defaultHeldItem + defHeldItem & itType .~ NULGATE & itUse .~ UseNothing & itScroll .~ ItemScrollIntRange 2 0 unigate :: Item unigate = - defaultHeldItem + defHeldItem & itType .~ UNIGATE & itUse .~ UseNothing & itScroll .~ ItemScrollIntRange 4 0 bingate :: Item bingate = - defaultHeldItem + defHeldItem & itType .~ BINGATE & itUse .~ UseNothing & itScroll .~ ItemScrollIntRange 16 0 - bulletModule :: BulletMod -> Item bulletModule bm = - defaultHeldItem + defHeldItem & itType .~ BULLETMOD bm - & itUse .~ UseBulletMod {_ubMod = bm} + & itUse .~ UseBulletMod{_ubMod = bm} shellModule :: Payload -> Item -shellModule p = defaultHeldItem +shellModule p = + defHeldItem & itType .~ ATTACH (SHELLPAYLOAD p) & itUse .~ UseNothing ---bulletTargetingModule :: BulletTrajectoryType -> Item ---bulletTargetingModule = bulletModule . BulletModTrajectory +-- bulletTargetingModule :: BulletTrajectoryType -> Item +-- bulletTargetingModule = bulletModule . BulletModTrajectory bulletPayloadModule :: BulletPayload -> Item bulletPayloadModule = bulletModule . BulletModPayload arHUD :: Item -arHUD = defaultHeldItem - & itType .~ ARHUD - & itUse .~ UseNothing +arHUD = + defHeldItem + & itType .~ ARHUD + & itUse .~ UseNothing remoteScreen :: Item -remoteScreen = makeAttach REMOTESCREEN --- & itUse . uaParams .~ APLinkProjectile Nothing - & itUse . uaParams .~ APProjectiles [] +remoteScreen = + defHeldItem + & itType .~ ATTACH REMOTESCREEN + & itUse .~ UseAttach (APProjectiles []) remoteDetonator :: Item -remoteDetonator = makeAttach REMOTEDETONATOR --- & itUse .~ UseHammer HammerUp - & itUse . uaParams .~ APProjectiles [] +remoteDetonator = + defHeldItem + & itType .~ ATTACH REMOTEDETONATOR + & itUse .~ UseAttach (APProjectiles []) joystick :: Item -joystick = makeAttach JOYSTICK --- & itUse . uaParams .~ APLinkProjectile Nothing +joystick = + defHeldItem + & itType .~ ATTACH JOYSTICK + & itUse .~ UseAttach APNothing + +-- & itUse . uaParams .~ APLinkProjectile Nothing gimbal :: Item -gimbal = makeAttach GIMBAL +gimbal = + defHeldItem + & itType .~ ATTACH GIMBAL + & itUse .~ UseAttach APNothing gyroscope :: Item -gyroscope = makeAttach GYROSCOPE +gyroscope = + defHeldItem + & itType .~ ATTACH GYROSCOPE + & itUse .~ UseAttach APNothing underBarrelSlot :: Item -underBarrelSlot = makeAttach UNDERBARRELSLOT +underBarrelSlot = + defHeldItem + & itType .~ ATTACH UNDERBARRELSLOT + & itUse .~ UseAttach APNothing smokeReducer :: Item -smokeReducer = makeAttach SMOKEREDUCER +smokeReducer = + defHeldItem + & itType .~ ATTACH SMOKEREDUCER + & itUse .~ UseAttach APNothing diff --git a/src/Dodge/Wall/ForceField.hs b/src/Dodge/Wall/ForceField.hs index e95c64ed7..28dde40e0 100644 --- a/src/Dodge/Wall/ForceField.hs +++ b/src/Dodge/Wall/ForceField.hs @@ -11,4 +11,5 @@ forceField = , _wlRotateTo = False , _wlStructure = StandaloneWall , _wlMaterial = ForceField + , _wlTouchThrough = True } diff --git a/tags b/tags index 7a2ba341c..9c128c0c8 100644 --- a/tags +++ b/tags @@ -99,7 +99,7 @@ BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 132;" C BULLETMOD src/Dodge/Data/Item/Combine.hs 22;" C BULLETSYNTH src/Dodge/Data/Item/Combine.hs 92;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 155;" C -BackdropCursor src/Dodge/Data/SelectionList.hs 22;" C +BackdropCurs src/Dodge/Data/SelectionList.hs 22;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 13;" C Bark src/Dodge/Data/ActionPlan.hs 39;" C BarrelCrit src/Dodge/Data/Creature/Misc.hs 71;" C @@ -137,8 +137,8 @@ Blunt src/Dodge/Data/Damage.hs 17;" C Boosting src/Dodge/Data/Creature/Stance.hs 26;" C BottomMenuOption src/Dodge/Data/Universe.hs 77;" C BounceBullet src/Dodge/Data/Bullet.hs 28;" C +BoundCurs src/Dodge/Data/SelectionList.hs 21;" C Bound_box_screen src/Dodge/Data/Config.hs 94;" C -BoundaryCursor src/Dodge/Data/SelectionList.hs 21;" C Bounds src/Dodge/Data/Bounds.hs 10;" t BrigSS src/Dodge/Data/Scenario.hs 102;" C Brute src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 16;" C @@ -2572,6 +2572,7 @@ airlockZ src/Dodge/Room/Airlock.hs 164;" f allVisibleWalls src/Dodge/Base/Collide.hs 224;" f alongSegBy src/Geometry.hs 40;" f alteRifle src/Dodge/Item/Held/Cane.hs 22;" f +alteRifleAmmoOrient src/Dodge/Item/Orientation.hs 51;" f ammoMagInfo src/Dodge/Item/Info.hs 49;" f ammoMagSPic src/Dodge/Item/Draw/SPic.hs 128;" f amr src/Dodge/Item/Held/Rod.hs 34;" f @@ -2668,14 +2669,14 @@ bangStick src/Dodge/Item/Held/Stick.hs 15;" f barPP src/Dodge/Room/Foreground.hs 231;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f barrelShape src/Dodge/Render/ShapePicture.hs 110;" f -baseAMRShape src/Dodge/Item/Draw/SPic.hs 403;" f +baseAMRShape src/Dodge/Item/Draw/SPic.hs 408;" f baseBlockPane src/Dodge/Placement/Instance/Wall.hs 76;" f baseCI src/Dodge/Item/Grammar.hs 158;" f baseFloorTileSize src/Tile.hs 45;" f baseItemTriggerType src/Dodge/BaseTriggerType.hs 21;" f baseRifleShape src/Dodge/Item/Draw/SPic.hs 324;" f -baseRodShape src/Dodge/Item/Draw/SPic.hs 400;" f -baseSMGShape src/Dodge/Item/Draw/SPic.hs 388;" f +baseRodShape src/Dodge/Item/Draw/SPic.hs 405;" f +baseSMGShape src/Dodge/Item/Draw/SPic.hs 393;" f baseShoulder src/Dodge/Creature/Picture.hs 117;" f baseStickShape src/Dodge/Item/Draw/SPic.hs 301;" f baseStickShapeX src/Dodge/Item/Draw/SPic.hs 293;" f @@ -2688,10 +2689,10 @@ basicItemDisplay src/Dodge/Item/Display.hs 23;" f basicMachineApplyDamage src/Dodge/Machine/Damage.hs 6;" f basicMuzFlare src/Dodge/HeldUse.hs 713;" f battery src/Dodge/Item/Ammo.hs 63;" f -batteryPack src/Dodge/Item/Equipment.hs 46;" f +batteryPack src/Dodge/Item/Equipment.hs 38;" f beltMag src/Dodge/Item/Ammo.hs 39;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 226;" f -bgateCalc src/Dodge/Inventory/SelectionList.hs 121;" f +bgateCalc src/Dodge/Inventory/SelectionList.hs 115;" f bgunSound src/Dodge/HeldUse.hs 517;" f bingate src/Dodge/Item/Scope.hs 109;" f black src/Color.hs 54;" f @@ -2741,19 +2742,19 @@ boxSurfaces src/Shader/Poke.hs 277;" f boxSurfacesIndices src/Shader/Poke.hs 290;" f boxXYZ src/Polyhedra.hs 91;" f boxXYZnobase src/Polyhedra.hs 77;" f -brainHat src/Dodge/Item/Equipment.hs 73;" f +brainHat src/Dodge/Item/Equipment.hs 62;" f branchRectWith src/Dodge/Room/Branch.hs 15;" f branchWith src/Dodge/Room/Room.hs 77;" f bright src/Color.hs 147;" f brightX src/Color.hs 143;" f btSPic src/Dodge/Render/ShapePicture.hs 159;" f -btText src/Dodge/Inventory/SelectionList.hs 242;" f +btText src/Dodge/Inventory/SelectionList.hs 236;" f bufferEBO src/Shader/Bind.hs 28;" f bufferPerspectiveMatrixUBO src/Dodge/Render.hs 431;" f bufferPokedVBO src/Shader/Bind.hs 19;" f bufferShaderLayers src/Shader/Bind.hs 32;" f -bulletBeltBracer src/Dodge/Item/Equipment.hs 67;" f -bulletBeltPack src/Dodge/Item/Equipment.hs 61;" f +bulletBeltBracer src/Dodge/Item/Equipment.hs 56;" f +bulletBeltPack src/Dodge/Item/Equipment.hs 50;" f bulletModule src/Dodge/Item/Scope.hs 117;" f bulletPayloadModule src/Dodge/Item/Scope.hs 131;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 82;" f @@ -2797,12 +2798,12 @@ chaseCritMv src/Dodge/Creature/ReaderUpdate.hs 121;" f chaseCritPerceptionUpdate src/Dodge/Creature/Perception.hs 32;" f chaseCritVocalization src/Dodge/Creature/ChaseCrit.hs 36;" f chasmSimpleMaze src/Dodge/Room/Tutorial.hs 200;" f -chasmTest src/Dodge/Creature/Update.hs 113;" f +chasmTest src/Dodge/Creature/Update.hs 123;" f chasmWallToSurface src/Dodge/Base/Collide.hs 118;" f checkCombineSelectionExists src/Dodge/DisplayInventory.hs 100;" f checkConnection src/Dodge/Inventory/Swap.hs 66;" f -checkDeath src/Dodge/Creature/Update.hs 70;" f -checkDeath' src/Dodge/Creature/Update.hs 73;" f +checkDeath src/Dodge/Creature/Update.hs 73;" f +checkDeath' src/Dodge/Creature/Update.hs 76;" f checkEndGame src/Dodge/Update.hs 806;" f checkErrorGL src/Shader/Compile.hs 86;" f checkFBO src/Framebuffer/Check.hs 6;" f @@ -2850,10 +2851,10 @@ clicker src/Dodge/Item/Scope.hs 82;" f clipV src/Geometry/Vector.hs 48;" f clipZoom src/Dodge/Update/Camera.hs 237;" f clockCycle src/Dodge/Clock.hs 7;" f -closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 227;" f -closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 211;" f -closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 248;" f -closeObjectInfo src/Dodge/Render/HUD.hs 224;" f +closeButtonToSelectionItem src/Dodge/Inventory/SelectionList.hs 221;" f +closeItemToSelectionItem src/Dodge/Inventory/SelectionList.hs 205;" f +closeItemToTextPictures src/Dodge/Inventory/SelectionList.hs 242;" f +closeObjectInfo src/Dodge/Render/HUD.hs 228;" f closestPointOnLine src/Geometry/Intersect.hs 272;" f closestPointOnLineParam src/Geometry/Intersect.hs 288;" f closestPointOnSeg src/Geometry/Intersect.hs 303;" f @@ -2886,7 +2887,7 @@ combinationsOf src/Multiset.hs 46;" f combinationsTrie src/Dodge/Combine.hs 44;" f combineAwareness src/Dodge/Creature/Perception.hs 109;" f combineFloors src/Dodge/Room/Procedural.hs 152;" f -combineInventoryExtra src/Dodge/Render/HUD.hs 334;" f +combineInventoryExtra src/Dodge/Render/HUD.hs 340;" f combineItemListYouX src/Dodge/Combine.hs 36;" f combineList src/Dodge/Combine.hs 21;" f combineRooms src/Dodge/Room/Procedural.hs 132;" f @@ -2921,7 +2922,7 @@ copierItemUpdate src/Dodge/Creature/State.hs 131;" f copyItemToFloor src/Dodge/FloorItem.hs 14;" f corDoor src/Dodge/Room/Room.hs 393;" f cornerList src/Preload/Render.hs 236;" f -corpseOrGib src/Dodge/Creature/Update.hs 88;" f +corpseOrGib src/Dodge/Creature/Update.hs 91;" f corridor src/Dodge/Room/Corridor.hs 17;" f corridorBoss src/Dodge/LockAndKey.hs 133;" f corridorN src/Dodge/Room/Corridor.hs 53;" f @@ -2933,7 +2934,7 @@ crCamouflage src/Dodge/Creature/Picture.hs 33;" f crCanSeeCr src/Dodge/Creature/Test.hs 52;" f crCrSpring src/Dodge/Update.hs 916;" f crCurrentEquipment src/Dodge/Creature/Statistics.hs 62;" f -crDeathSounds src/Dodge/Creature/Vocalization.hs 43;" f +crDeathSounds src/Dodge/Creature/Vocalization.hs 44;" f crDexterity src/Dodge/Creature/Statistics.hs 19;" f crDisplayAwareness src/Dodge/Creature/Picture/Awareness.hs 39;" f crDisplayVigilance src/Dodge/Creature/Picture/Awareness.hs 53;" f @@ -2966,11 +2967,11 @@ crShape src/Dodge/Creature/Shape.hs 8;" f crSpring src/Dodge/Update.hs 913;" f crStratConMatches src/Dodge/Creature/Test.hs 80;" f crStrength src/Dodge/Creature/Statistics.hs 29;" f -crUpdate src/Dodge/Creature/Update.hs 63;" f +crUpdate src/Dodge/Creature/Update.hs 66;" f crUpdateInvidLocations src/Dodge/Inventory/Location.hs 66;" f crUpdateItemLocations src/Dodge/Inventory/Location.hs 48;" f -crVocalizationSound src/Dodge/Creature/Vocalization.hs 14;" f -crWarningSounds src/Dodge/Creature/Vocalization.hs 24;" f +crVocalizationSound src/Dodge/Creature/Vocalization.hs 15;" f +crWarningSounds src/Dodge/Creature/Vocalization.hs 25;" f crWlPbHit src/Dodge/WorldEvent/ThingsHit.hs 59;" f crZoneSize src/Dodge/Zoning/Creature.hs 43;" f craftInfo src/Dodge/Item/Info.hs 169;" f @@ -3094,6 +3095,7 @@ dededaS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 677;" f dededumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 759;" f dedumS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 789;" f defDamageMaterial src/Dodge/Material/Damage.hs 30;" f +defEquipment src/Dodge/Default.hs 24;" f defLSPic src/Dodge/LightSource/Draw.hs 10;" f defSPic src/Dodge/Item/Draw/SPic.hs 310;" f defaultAimMvType src/Dodge/Creature/MoveType.hs 16;" f @@ -3114,12 +3116,12 @@ defaultCraftItem src/Dodge/Default/Item.hs 25;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreatureMemory src/Dodge/Default/Creature.hs 65;" f defaultCrystalWall src/Dodge/Default/Wall.hs 35;" f +defaultDeathSounds src/Dodge/Creature/Vocalization.hs 54;" f defaultDirtBlock src/Dodge/Default/Block.hs 17;" f defaultDirtWall src/Dodge/Default/Wall.hs 47;" f defaultDoor src/Dodge/Default/Door.hs 5;" f defaultDoorWall src/Dodge/Default/Wall.hs 29;" f defaultDrawButton src/Dodge/Button/Draw.hs 29;" f -defaultEquipment src/Dodge/Default.hs 24;" f defaultFlIt src/Dodge/Default.hs 27;" f defaultForeground src/Dodge/Default/ForegroundShape.hs 5;" f defaultHUD src/Dodge/Default/World.hs 169;" f @@ -3160,7 +3162,7 @@ destroyMounts src/Dodge/Wall/Damage.hs 87;" f destroyProjectile src/Dodge/Projectile/Update.hs 112;" f detV src/Geometry/Vector.hs 94;" f detector src/Dodge/Item/Held/Utility.hs 27;" f -detectorColor src/Dodge/Item/Draw/SPic.hs 428;" f +detectorColor src/Dodge/Item/Draw/SPic.hs 433;" f detectorInfo src/Dodge/Item/Info.hs 224;" f determineProjectileTracking src/Dodge/HeldUse.hs 1191;" f diagonalLinesRect src/Dodge/Room/Foreground.hs 52;" f @@ -3177,7 +3179,7 @@ displayControls src/Dodge/Menu.hs 239;" f displayFrameTicks src/Dodge/Render/Picture.hs 50;" f displayFreeSlots src/Dodge/DisplayInventory.hs 196;" f displayIndents src/Dodge/DisplayInventory.hs 110;" f -displayPulse src/Dodge/Inventory/SelectionList.hs 182;" f +displayPulse src/Dodge/Inventory/SelectionList.hs 176;" f displayTerminalLineString src/Dodge/Update.hs 518;" f dist src/Geometry/Vector.hs 185;" f dist3 src/Geometry/Vector3D.hs 101;" f @@ -3286,7 +3288,7 @@ drawCircCollisionTest src/Dodge/Debug/Picture.hs 118;" f drawCliff src/Dodge/Render/ShapePicture.hs 85;" f drawCollisionTest src/Dodge/Debug/Picture.hs 103;" f drawCombFilter src/Dodge/Render/Picture.hs 267;" f -drawCombineInventory src/Dodge/Render/HUD.hs 186;" f +drawCombineInventory src/Dodge/Render/HUD.hs 190;" f drawConcurrentMessage src/Dodge/Render/Picture.hs 72;" f drawCoord src/Dodge/Debug/Picture.hs 387;" f drawCountMod src/Render.hs 231;" f @@ -3305,12 +3307,12 @@ drawDrag src/Dodge/Render/Picture.hs 198;" f drawDragDrop src/Dodge/Render/Picture.hs 227;" f drawDragPickup src/Dodge/Render/Picture.hs 236;" f drawDragSelect src/Dodge/Render/Picture.hs 195;" f -drawDragSelected src/Dodge/Render/HUD.hs 140;" f -drawDragSelecting src/Dodge/Render/HUD.hs 158;" f +drawDragSelected src/Dodge/Render/HUD.hs 144;" f +drawDragSelecting src/Dodge/Render/HUD.hs 162;" f drawEmptySet src/Dodge/Render/Picture.hs 151;" f drawEnergyBall src/Dodge/EnergyBall/Draw.hs 7;" f drawEquipment src/Dodge/Creature/Picture.hs 128;" f -drawExamineInventory src/Dodge/Render/HUD.hs 195;" f +drawExamineInventory src/Dodge/Render/HUD.hs 199;" f drawExplosiveBall src/Dodge/EnergyBall/Draw.hs 15;" f drawFarWallDetect src/Dodge/Debug/Picture.hs 271;" f drawFlame src/Dodge/Flame/Draw.hs 8;" f @@ -3323,8 +3325,8 @@ drawInputMenu src/Dodge/Render/MenuScreen.hs 33;" f drawInspectWall src/Dodge/Debug/Picture.hs 256;" f drawInspectWalls src/Dodge/Debug/Picture.hs 244;" f drawInventory src/Dodge/Render/HUD.hs 61;" f -drawItemChildrenConnect src/Dodge/Render/HUD.hs 326;" f -drawItemConnections src/Dodge/Render/HUD.hs 319;" f +drawItemChildrenConnect src/Dodge/Render/HUD.hs 332;" f +drawItemConnections src/Dodge/Render/HUD.hs 325;" f drawJumpDown src/Dodge/Render/Picture.hs 190;" f drawLabCrossCol src/Dodge/Render/Label.hs 8;" f drawLabelledList src/Dodge/Render/List.hs 198;" f @@ -3338,13 +3340,13 @@ drawListYoff src/Dodge/Render/List.hs 89;" f drawLoadingScreen src/Dodge/Render/MenuScreen.hs 24;" f drawMachine src/Dodge/Machine/Draw.hs 17;" f drawMapperAR src/Dodge/Targeting/Draw.hs 12;" f -drawMapperInventory src/Dodge/Render/HUD.hs 177;" f +drawMapperInventory src/Dodge/Render/HUD.hs 181;" f drawMenuClick src/Dodge/Render/Picture.hs 166;" f drawMenuCursor src/Dodge/Render/Picture.hs 178;" f drawMenuOrHUD src/Dodge/Render/Picture.hs 67;" f drawMenuScreen src/Dodge/Render/MenuScreen.hs 18;" f drawMouseCursor src/Dodge/Render/Picture.hs 83;" f -drawMouseOver src/Dodge/Render/HUD.hs 111;" f +drawMouseOver src/Dodge/Render/HUD.hs 115;" f drawMousePosition src/Dodge/Debug/Picture.hs 377;" f drawOptions src/Dodge/Render/MenuScreen.hs 36;" f drawPathBetween src/Dodge/Debug/Picture.hs 202;" f @@ -3355,7 +3357,7 @@ drawPointLabel src/Dodge/Render/Label.hs 13;" f drawProjectile src/Dodge/Projectile/Draw.hs 13;" f drawPulseBall src/Dodge/Render/ShapePicture.hs 93;" f drawQuitTerminal src/Dodge/Render/Picture.hs 145;" f -drawRBOptions src/Dodge/Render/HUD.hs 249;" f +drawRBOptions src/Dodge/Render/HUD.hs 253;" f drawRadarSweep src/Dodge/RadarSweep/Draw.hs 14;" f drawRemoteShell src/Dodge/Projectile/Draw.hs 38;" f drawReturn src/Dodge/Render/Picture.hs 154;" f @@ -3371,12 +3373,12 @@ drawShell src/Dodge/Projectile/Draw.hs 22;" f drawShockwave src/Dodge/Shockwave/Draw.hs 6;" f drawSpark src/Dodge/Spark/Draw.hs 7;" f drawStaticBall src/Dodge/EnergyBall/Draw.hs 28;" f -drawSubInventory src/Dodge/Render/HUD.hs 169;" f +drawSubInventory src/Dodge/Render/HUD.hs 173;" f drawSwitch src/Dodge/Button/Draw.hs 16;" f drawSwitchWire src/Dodge/LevelGen/Switch.hs 24;" f drawTargetingAR src/Dodge/Targeting/Draw.hs 20;" f -drawTerminalCursorLink src/Dodge/Render/HUD.hs 386;" f -drawTerminalDisplay src/Dodge/Render/HUD.hs 351;" f +drawTerminalCursorLink src/Dodge/Render/HUD.hs 392;" f +drawTerminalDisplay src/Dodge/Render/HUD.hs 357;" f drawTeslaArc src/Dodge/Tesla/Draw.hs 9;" f drawText src/Picture/Base.hs 224;" f drawTitle src/Dodge/Render/MenuScreen.hs 49;" f @@ -3396,7 +3398,7 @@ drawZone src/Dodge/Debug/Picture.hs 152;" f drawZoneCirc src/Dodge/Debug/Picture.hs 293;" f drawZoneCol src/Dodge/Debug/Picture.hs 149;" f drawZoneNearPointCursor src/Dodge/Debug/Picture.hs 286;" f -dropAll src/Dodge/Creature/Update.hs 110;" f +dropAll src/Dodge/Creature/Update.hs 120;" f dropInventoryPath src/Dodge/HeldUse.hs 1346;" f dropItem src/Dodge/Creature/Action.hs 155;" f dropper src/Dodge/Item/Scope.hs 76;" f @@ -3425,8 +3427,8 @@ ebEffect src/Dodge/EnergyBall.hs 45;" f ebFlicker src/Dodge/EnergyBall.hs 70;" f ebtToDamage src/Dodge/EnergyBall.hs 93;" f edgeToPic src/Dodge/Debug/Picture.hs 417;" f -effectOnEquip src/Dodge/Equipment.hs 32;" f -effectOnRemove src/Dodge/Equipment.hs 19;" f +effectOnEquip src/Dodge/Equipment.hs 28;" f +effectOnRemove src/Dodge/Equipment.hs 18;" f eitType src/Dodge/Data/EquipType.hs 15;" f ejectS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 837;" f elecCrackleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 821;" f @@ -3443,11 +3445,11 @@ endRegex src/Dodge/Update/Input/InGame.hs 270;" f energyReleaseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 689;" f enterCombineInv src/Dodge/DisplayInventory.hs 321;" f enumOption src/Dodge/Menu/OptionType.hs 17;" f -epText src/Dodge/Inventory/SelectionList.hs 79;" f +epText src/Dodge/Inventory/SelectionList.hs 73;" f eqConstr src/SameConstr.hs 17;" f eqPosText src/Dodge/Equipment/Text.hs 5;" f eqTypeToSites src/Dodge/Inventory/RBList.hs 77;" f -equipAllocString src/Dodge/Render/HUD.hs 310;" f +equipAllocString src/Dodge/Render/HUD.hs 316;" f equipAttachPos src/Dodge/Item/Draw.hs 30;" f equipBackgroundEffect src/Dodge/Euse.hs 14;" f equipInfo src/Dodge/Item/Info.hs 141;" f @@ -3509,18 +3511,18 @@ fixedCoordPictures src/Dodge/Render/Picture.hs 20;" f fixedSizePicClampArrow src/Dodge/Picture/SizeInvariant.hs 57;" f flFlicker src/Dodge/Flame.hs 39;" f flameMuzzles src/Dodge/HeldUse.hs 328;" f -flameShield src/Dodge/Item/Equipment.hs 33;" f +flameShield src/Dodge/Item/Equipment.hs 29;" f flameSize src/Dodge/Flame/Size.hs 5;" f 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 391;" f +flamerPic src/Dodge/Item/Draw/SPic.hs 396;" f flareCircleAt src/Dodge/HeldUse.hs 694;" 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 415;" f +flatShieldEquipSPic src/Dodge/Item/Draw/SPic.hs 420;" f fleeFrom src/Dodge/CreatureEffect.hs 92;" f flickerMod src/Dodge/Placement/Instance/LightSource/Flicker.hs 10;" f flickerUpdate src/Dodge/Placement/Instance/LightSource/Flicker.hs 24;" f @@ -3529,7 +3531,7 @@ flockACC src/Dodge/Creature/ReaderUpdate.hs 96;" f flockArmourChaseCrit src/Dodge/Creature/ArmourChase.hs 14;" f flockChaseTarget src/Dodge/Creature/Boid.hs 188;" f flockPointTarget src/Dodge/Creature/Boid.hs 204;" f -floorItemPickupInfo src/Dodge/Render/HUD.hs 229;" f +floorItemPickupInfo src/Dodge/Render/HUD.hs 233;" f floorItemSPic src/Dodge/Render/ShapePicture.hs 152;" f floorTo src/Geometry/Zone.hs 12;" f floorWire src/Dodge/Wire.hs 13;" f @@ -3556,9 +3558,9 @@ fromJust' src/MaybeHelp.hs 22;" f fromListL src/DoubleStack.hs 7;" f fromTopLeft src/Dodge/ScreenPos.hs 9;" f fromV3 src/Geometry/Data.hs 63;" f -frontArmour src/Dodge/Item/Equipment.hs 38;" f +frontArmour src/Dodge/Item/Equipment.hs 32;" f fstV2 src/Geometry/Data.hs 70;" f -fuelPack src/Dodge/Item/Equipment.hs 53;" f +fuelPack src/Dodge/Item/Equipment.hs 44;" f functionalUpdate src/Dodge/Update.hs 255;" f fusePoint src/Dodge/LevelGen/StaticWalls.hs 158;" f fuseWall src/Dodge/LevelGen/StaticWalls.hs 165;" f @@ -3604,7 +3606,7 @@ getDistortions src/Dodge/Render.hs 443;" f getEdgesCrossing src/Dodge/Path.hs 37;" f getGrenadeHitEffect src/Dodge/HeldUse.hs 1259;" f getInventoryPath src/Dodge/Inventory/Path.hs 9;" f -getItemValue src/Dodge/Inventory/SelectionList.hs 150;" f +getItemValue src/Dodge/Inventory/SelectionList.hs 144;" f getLaserColor src/Dodge/HeldUse.hs 710;" f getLaserDamage src/Dodge/HeldUse.hs 707;" f getLaserPhaseV src/Dodge/HeldUse.hs 704;" f @@ -3616,7 +3618,7 @@ getPJStabiliser src/Dodge/HeldUse.hs 1246;" f getPretty src/AesonHelp.hs 8;" f getPromptTM src/Dodge/Terminal/Type.hs 3;" f getRoomsFromInts src/Dodge/Room/Tutorial.hs 334;" f -getRootItemBounds src/Dodge/Render/HUD.hs 102;" f +getRootItemBounds src/Dodge/Render/HUD.hs 106;" f getRootItemInvID src/Dodge/Inventory/Location.hs 35;" f getSelectedCloseObj src/Dodge/SelectedClose.hs 14;" f getSmoothScrollValue src/Dodge/SmoothScroll.hs 21;" f @@ -3641,7 +3643,7 @@ glassShat3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 711;" f glassShat4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 687;" f glassSwitchBack src/Dodge/Room/Room.hs 80;" f glassSwitchBackCrits src/Dodge/Room/Room.hs 114;" f -glauncherPic src/Dodge/Item/Draw/SPic.hs 397;" f +glauncherPic src/Dodge/Item/Draw/SPic.hs 402;" f gluintSize src/Shader/Parameters.hs 25;" f goToPostStrat src/Dodge/Creature/Strategy.hs 10;" f goToTarget src/Dodge/Creature/ReaderUpdate.hs 150;" f @@ -3693,10 +3695,10 @@ hasButtonLOS src/Dodge/Base/Collide.hs 311;" f hasCaneGunDim src/Dodge/Item/InvSize.hs 48;" f hasLOS src/Dodge/Base/Collide.hs 304;" f hasLOSIndirect src/Dodge/Base/Collide.hs 320;" f -hat src/Dodge/Item/Equipment.hs 76;" f +hat src/Dodge/Item/Equipment.hs 65;" f head src/DoubleStack.hs 14;" f -headLamp src/Dodge/Item/Equipment.hs 79;" f -headLampShape src/Dodge/Item/Draw/SPic.hs 418;" f +headLamp src/Dodge/Item/Equipment.hs 68;" f +headLampShape src/Dodge/Item/Draw/SPic.hs 423;" f headMap src/Dodge/DoubleTree.hs 249;" f headPQ src/Dodge/Creature/HandPos.hs 116;" f healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 627;" f @@ -3732,9 +3734,9 @@ holdForm src/Dodge/Creature/Boid.hs 139;" f holsterWeapon src/Dodge/Creature/Volition.hs 15;" f homingModule src/Dodge/Item/Scope.hs 48;" f horPipe src/Dodge/Placement/Instance/Pipe.hs 9;" f -hotkeyToChar src/Dodge/Inventory/SelectionList.hs 191;" f +hotkeyToChar src/Dodge/Inventory/SelectionList.hs 185;" f hotkeyToScancode src/Dodge/Creature/YourControl.hs 82;" f -hotkeyToString src/Dodge/Inventory/SelectionList.hs 188;" f +hotkeyToString src/Dodge/Inventory/SelectionList.hs 182;" f iShape src/Dodge/Placement/Instance/LightSource.hs 51;" f icosahedronPoints src/Polyhedra/Geodesic.hs 12;" f icosohedronFaces src/Polyhedra/Geodesic.hs 19;" f @@ -3797,15 +3799,15 @@ intersectSegsSeg src/Geometry/Intersect.hs 253;" f intervalList src/Geometry.hs 312;" f interweave src/Justify.hs 17;" f introScan src/Dodge/Item/Scope.hs 57;" f -introScanValue src/Dodge/Inventory/SelectionList.hs 83;" f +introScanValue src/Dodge/Inventory/SelectionList.hs 77;" f intsToPos src/Dodge/Room/Modify/Girder.hs 160;" f invAdj src/Dodge/Item/Grammar.hs 236;" f -invCursorParams src/Dodge/ListDisplayParams.hs 34;" f -invDP src/Dodge/ListDisplayParams.hs 31;" f +invCursorParams src/Dodge/ListDisplayParams.hs 35;" f +invDP src/Dodge/ListDisplayParams.hs 32;" f invDT src/Dodge/Item/Grammar.hs 217;" f invDT' src/Dodge/Item/Grammar.hs 222;" f invDimColor src/Dodge/DisplayInventory.hs 190;" f -invHead src/Dodge/Render/HUD.hs 415;" f +invHead src/Dodge/Render/HUD.hs 421;" f invIMDT src/Dodge/Item/Grammar.hs 246;" f invIndents src/Dodge/Item/Grammar.hs 253;" f invItemEffs src/Dodge/Creature/State.hs 63;" f @@ -3817,9 +3819,9 @@ invSetSelectionPos src/Dodge/Inventory.hs 188;" f invShiftPointBy src/Dodge/ShiftPoint.hs 17;" f invSize src/Dodge/Inventory/CheckSlots.hs 33;" f inventoryX src/Dodge/Creature.hs 111;" f -inverseSelNumPos src/Dodge/SelectionSections.hs 188;" f -inverseSelSecYint src/Dodge/SelectionSections.hs 164;" f -inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 177;" f +inverseSelNumPos src/Dodge/SelectionSections.hs 189;" f +inverseSelSecYint src/Dodge/SelectionSections.hs 165;" f +inverseSelSecYintXPosCheck src/Dodge/SelectionSections.hs 178;" f inverseShockwaveAt src/Dodge/WorldEvent/Shockwave.hs 42;" f invertEncircleDistP src/Dodge/Creature/Boid.hs 16;" f invertIntMap src/IntMapHelp.hs 100;" f @@ -3875,7 +3877,7 @@ itemCombinations src/Dodge/Combine/Combinations.hs 56;" f itemDetectorEffect src/Dodge/HeldUse.hs 792;" f itemDisplay src/Dodge/Inventory/SelectionList.hs 53;" f itemEquipPict src/Dodge/Item/Draw.hs 18;" f -itemExternalValue src/Dodge/Inventory/SelectionList.hs 88;" f +itemExternalValue src/Dodge/Inventory/SelectionList.hs 82;" f itemFromAmmoMag src/Dodge/Item.hs 42;" f itemFromAttachType src/Dodge/Item.hs 51;" f itemFromBase src/Dodge/Item.hs 18;" f @@ -3891,13 +3893,13 @@ itemRotTreeSPic src/Dodge/Item/Draw/SPicTree.hs 16;" f itemSPic src/Dodge/Item/Draw/SPic.hs 17;" f itemScan src/Dodge/Item/Scope.hs 63;" f itemScroll src/Dodge/Update/Scroll.hs 53;" f -itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 127;" f -itemScrollValue src/Dodge/Inventory/SelectionList.hs 154;" f -itemShapeMax src/Dodge/Item/Orientation.hs 56;" f -itemShapeMaxX src/Dodge/Item/Orientation.hs 47;" f -itemShapeMaxY src/Dodge/Item/Orientation.hs 50;" f -itemShapeMaxZ src/Dodge/Item/Orientation.hs 53;" f -itemShapeMin src/Dodge/Item/Orientation.hs 62;" f +itemScrollDisplay src/Dodge/Inventory/SelectionList.hs 121;" f +itemScrollValue src/Dodge/Inventory/SelectionList.hs 148;" f +itemShapeMax src/Dodge/Item/Orientation.hs 68;" f +itemShapeMaxX src/Dodge/Item/Orientation.hs 59;" f +itemShapeMaxY src/Dodge/Item/Orientation.hs 62;" f +itemShapeMaxZ src/Dodge/Item/Orientation.hs 65;" f +itemShapeMin src/Dodge/Item/Orientation.hs 74;" f itemSidePush src/Dodge/HeldUse.hs 388;" f itemString src/Dodge/Item/Display.hs 56;" f itemToFunction src/Dodge/Item/Grammar.hs 107;" f @@ -3919,7 +3921,7 @@ jsps src/Dodge/LevelGen/PlacementHelper.hs 36;" f jsps0 src/Dodge/LevelGen/PlacementHelper.hs 39;" f jsps0J src/Dodge/LevelGen/PlacementHelper.hs 48;" f jspsJ src/Dodge/LevelGen/PlacementHelper.hs 45;" f -jumpLegs src/Dodge/Item/Equipment.hs 93;" f +jumpLegs src/Dodge/Item/Equipment.hs 77;" f justify src/Justify.hs 9;" f k src/ShortShow.hs 48;" f k' src/ShortShow.hs 48;" f @@ -3927,7 +3929,7 @@ keyCard src/Dodge/Item/Held/Utility.hs 20;" f keyCardAnalyserByDoor src/Dodge/Room/LasTurret.hs 87;" f keyCardRoomRunPast src/Dodge/Room/LasTurret.hs 75;" f keyCardRunPastRand src/Dodge/LockAndKey.hs 36;" f -keyPic src/Dodge/Item/Draw/SPic.hs 434;" f +keyPic src/Dodge/Item/Draw/SPic.hs 439;" f keyholeCorridor src/Dodge/Room/Corridor.hs 40;" f knifeS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 741;" f lChasm src/Dodge/Room/Tutorial.hs 140;" f @@ -3938,7 +3940,7 @@ lShape src/Dodge/Placement/Instance/LightSource.hs 54;" f lamp src/Dodge/Creature/Lamp.hs 18;" f lampCrSPic src/Dodge/Render/ShapePicture.hs 115;" f lasCenSensEdge src/Dodge/Room/LasTurret.hs 130;" f -lasGunPic src/Dodge/Item/Draw/SPic.hs 409;" f +lasGunPic src/Dodge/Item/Draw/SPic.hs 414;" f lasPulseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 731;" f lasSensorTurretTest src/Dodge/Room/LasTurret.hs 123;" f lasTunnel src/Dodge/Room/LasTurret.hs 142;" f @@ -3972,7 +3974,7 @@ leftLegPQ src/Dodge/Creature/HandPos.hs 85;" f leftPad src/Padding.hs 15;" f leftRightCombine src/Dodge/Item/Grammar.hs 197;" f leftWristPQ src/Dodge/Creature/HandPos.hs 82;" f -legsSPic src/Dodge/Item/Draw/SPic.hs 443;" f +legsSPic src/Dodge/Item/Draw/SPic.hs 448;" f lerpP2A src/Dodge/ShiftPoint.hs 14;" f liShape src/Dodge/Placement/Instance/LightSource.hs 79;" f light src/Color.hs 131;" f @@ -3994,12 +3996,12 @@ linksDAGToPath src/Dodge/Room/Path.hs 13;" f linksOnPath src/Dodge/Room/CheckConsistency.hs 6;" f listConfig src/Dodge/Menu.hs 232;" f listControls src/Dodge/Menu.hs 244;" f -listCursorChooseBorderScale src/Dodge/Render/List.hs 120;" f +listCursor src/Dodge/Render/List.hs 120;" f listGuard src/Dodge/Creature/ReaderUpdate.hs 196;" f listSelectionColorPicture src/Dodge/DisplayInventory.hs 299;" f litCorridor90 src/Dodge/Room/RoadBlock.hs 26;" f lmt src/MatrixHelper.hs 53;" f -lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 404;" f +lnkMidPosInvSelsCol src/Dodge/Render/HUD.hs 410;" f loadDodgeConfig src/Dodge/Config.hs 30;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 30;" f loadMuzzle src/Dodge/HeldUse.hs 633;" f @@ -4055,7 +4057,7 @@ machinePistol src/Dodge/Item/Held/Stick.hs 52;" f magAmmoParams src/Dodge/HeldUse.hs 930;" f magAmmoType src/Dodge/Item/MagAmmoType.hs 12;" f magMax src/Dodge/Item/MagAmmoType.hs 29;" f -magShield src/Dodge/Item/Equipment.hs 27;" f +magShield src/Dodge/Item/Equipment.hs 26;" f magV src/Geometry/Vector.hs 172;" f magV3 src/Geometry/Vector3D.hs 78;" f magazineCombinations src/Dodge/Combine/Combinations.hs 43;" f @@ -4157,7 +4159,7 @@ memoCylinderIndices src/Shader/Poke.hs 323;" f memoFlatIndices src/Shader/Poke.hs 311;" f memoTopPrismEdgeIndices src/Shader/Poke.hs 329;" f memoTopPrismIndices src/Shader/Poke.hs 317;" f -menuLDP src/Dodge/ListDisplayParams.hs 53;" f +menuLDP src/Dodge/ListDisplayParams.hs 57;" f menuOptionToSelectionItem src/Dodge/Menu/Option.hs 91;" f merge src/ListHelp.hs 84;" f mergeBy src/ListHelp.hs 87;" f @@ -4186,7 +4188,7 @@ minOn src/FoldableHelp.hs 35;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 583;" f miniGunCrit src/Dodge/Creature.hs 61;" f miniGunX src/Dodge/Item/Held/Cane.hs 33;" f -miniGunXPict src/Dodge/Item/Draw/SPic.hs 370;" f +miniGunXPict src/Dodge/Item/Draw/SPic.hs 375;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 367;" f miniS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 653;" f miniTree2 src/Dodge/Room/Room.hs 121;" f @@ -4294,8 +4296,8 @@ numTraversable src/TreeHelp.hs 184;" f obstacleColor src/Dodge/Debug/Picture.hs 264;" f obstructPathsCrossing src/Dodge/Path.hs 120;" f oldMachineBootS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 635;" f -onEquipWristShield src/Dodge/Equipment.hs 37;" f -onRemoveWristShield src/Dodge/Equipment.hs 24;" f +onEquipWristShield src/Dodge/Equipment.hs 33;" f +onRemoveWristShield src/Dodge/Equipment.hs 23;" f onXY src/Geometry/Vector3D.hs 130;" f oneH src/Dodge/Creature/Test.hs 96;" f openConsole src/Dodge/Update.hs 139;" f @@ -4312,9 +4314,9 @@ orderAroundFirst src/Geometry/Polygon.hs 120;" f orderAroundFirstReverse src/Geometry/Polygon.hs 116;" f orderPolygon src/Geometry/Polygon.hs 125;" f orderPolygonAround src/Geometry/Polygon.hs 108;" f -orientAttachment src/Dodge/Item/Orientation.hs 68;" f -orientByParentChSF src/Dodge/Item/Orientation.hs 34;" f -orientChild src/Dodge/Item/Orientation.hs 18;" f +orientAttachment src/Dodge/Item/Orientation.hs 80;" f +orientByParentChSF src/Dodge/Item/Orientation.hs 35;" f +orientChild src/Dodge/Item/Orientation.hs 19;" f orthogonalPointOnSeg src/Geometry/Intersect.hs 312;" f outLink src/Dodge/RoomLink.hs 120;" f outsideScreenPolygon src/Dodge/Debug/Picture.hs 44;" f @@ -4415,7 +4417,7 @@ pointerToItemID src/Dodge/Item/Location.hs 42;" f pointerYourRootItem src/Dodge/Item/Location.hs 33;" f pointerYourSelectedItem src/Dodge/Item/Location.hs 26;" f pointsToPoly src/Geometry/ConvexPoly.hs 35;" f -poisonSPic src/Dodge/Creature/Update.hs 106;" f +poisonSPic src/Dodge/Creature/Update.hs 116;" f poisonSprayer src/Dodge/Item/Held/SprayGuns.hs 17;" f poke34 src/Shader/Poke.hs 509;" f pokeArrayOff src/Shader/Poke.hs 521;" f @@ -4476,7 +4478,7 @@ postUniverseLoadSideEffect src/Dodge/WorldLoad.hs 14;" f postWorldLoad src/Dodge/WorldLoad.hs 18;" f powerFakeout src/Dodge/Room/Start.hs 28;" f powerFakeout' src/Dodge/Room/Start.hs 25;" f -powerLegs src/Dodge/Item/Equipment.hs 85;" f +powerLegs src/Dodge/Item/Equipment.hs 71;" f powlist src/Multiset.hs 61;" f powlistUpToN src/Multiset.hs 23;" f powlistUpToN' src/Multiset.hs 12;" f @@ -4502,7 +4504,7 @@ prismPoly src/Shape.hs 60;" f projV src/Geometry/Vector.hs 177;" f projV3 src/Geometry/Vector3D.hs 127;" f propSPic src/Dodge/Prop/Draw.hs 22;" f -propagateOrientation src/Dodge/Item/Orientation.hs 80;" f +propagateOrientation src/Dodge/Item/Orientation.hs 92;" f ps0 src/Dodge/LevelGen/PlacementHelper.hs 52;" f ps0PushPS src/Dodge/LevelGen/PlacementHelper.hs 80;" f ps0PushPSw src/Dodge/LevelGen/PlacementHelper.hs 84;" f @@ -4517,7 +4519,7 @@ psj src/Dodge/LevelGen/PlacementHelper.hs 71;" f psposAddLabel src/Dodge/PlacementSpot.hs 69;" f pt0 src/Dodge/LevelGen/PlacementHelper.hs 55;" f ptCont src/Dodge/LevelGen/PlacementHelper.hs 21;" f -pulseChecker src/Dodge/Item/Equipment.hs 103;" f +pulseChecker src/Dodge/Item/Equipment.hs 84;" f pushCreatureOutFromWalls src/Dodge/WallCreatureCollisions.hs 57;" f pushL src/DoubleStack.hs 20;" f pushOrCrush src/Dodge/WallCreatureCollisions.hs 77;" f @@ -4653,7 +4655,7 @@ renderListAt src/Dodge/Render/List.hs 177;" f renderShadows src/Render.hs 116;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 168;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 81;" f -resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 58;" f +resetCrVocCoolDown src/Dodge/Creature/Vocalization.hs 66;" f resetPLUse src/Dodge/PlacementSpot.hs 92;" f resetStride src/Dodge/Creature/State/WalkCycle.hs 25;" f resetTerminal src/Dodge/WorldEffect.hs 160;" f @@ -4694,7 +4696,7 @@ rightPad src/Padding.hs 19;" f rightPadNoSquash src/Padding.hs 23;" f rightWristPQ src/Dodge/Creature/HandPos.hs 58;" f rlPosDir src/Dodge/RoomLink.hs 112;" f -rlauncherPic src/Dodge/Item/Draw/SPic.hs 394;" f +rlauncherPic src/Dodge/Item/Draw/SPic.hs 399;" f rmInLinks src/Dodge/RoomLink.hs 153;" f rmInvItem src/Dodge/Inventory.hs 74;" f rmLinksOfType src/Dodge/RoomLink.hs 150;" f @@ -4781,7 +4783,7 @@ scaleSH src/Shape.hs 266;" f scalp src/Dodge/Creature/Picture.hs 93;" f scancodeToHotkey src/Dodge/Creature/YourControl.hs 102;" f scodeToChar src/Dodge/ScodeToChar.hs 6;" f -scorchSPic src/Dodge/Creature/Update.hs 103;" f +scorchSPic src/Dodge/Creature/Update.hs 113;" f screenBox src/Dodge/Base/Window.hs 54;" f screenPolygon src/Dodge/Base/Window.hs 18;" f screenPolygonBord src/Dodge/Base/Window.hs 28;" f @@ -4803,16 +4805,16 @@ seagullCryS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 681;" f seagullWhistle1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 749;" f seagullWhistleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 621;" f searchIfDamaged src/Dodge/Creature/ReaderUpdate.hs 213;" f -secondColumnLDP src/Dodge/ListDisplayParams.hs 41;" f +secondColumnLDP src/Dodge/ListDisplayParams.hs 45;" f sectionsDesiredLines src/Dodge/DisplayInventory.hs 202;" f sectionsSizes src/Dodge/DisplayInventory.hs 205;" f seedStartMenu src/Dodge/Menu.hs 85;" f seedStartOptions src/Dodge/Menu.hs 88;" f segOnCirc src/Geometry.hs 113;" f -selNumPos src/Dodge/Render/HUD.hs 464;" f -selNumPosCardinal src/Dodge/Render/HUD.hs 481;" f +selNumPos src/Dodge/Render/HUD.hs 470;" f +selNumPosCardinal src/Dodge/Render/HUD.hs 487;" f selSecDrawCursor src/Dodge/Render/List.hs 101;" f -selSecSelCol src/Dodge/Render/HUD.hs 501;" f +selSecSelCol src/Dodge/Render/HUD.hs 507;" f selSecSelSize src/Dodge/SelectionSections.hs 143;" f selSecYint src/Dodge/SelectionSections.hs 152;" f selectedItemScroll src/Dodge/Update/Scroll.hs 47;" f @@ -4865,7 +4867,7 @@ setViewPos src/Dodge/Creature/ReaderUpdate.hs 69;" f setViewport src/Dodge/Render.hs 448;" f setVol src/Dodge/Config.hs 47;" f setWindowColor src/Dodge/Render/Walls.hs 32;" f -setWristShieldPos src/Dodge/Equipment.hs 49;" f +setWristShieldPos src/Dodge/Equipment.hs 45;" f setWristShieldPos src/Dodge/Euse.hs 38;" f setupConLoop src/Loop.hs 103;" f setupConLoop' src/Loop.hs 193;" f @@ -5024,7 +5026,7 @@ sparkToDamage src/Dodge/Spark.hs 39;" f spawnAt src/Dodge/SpawnAt.hs 14;" f spawnerCrit src/Dodge/Creature.hs 54;" f spawnerRoom src/Dodge/Room/Room.hs 377;" f -speedLegs src/Dodge/Item/Equipment.hs 90;" f +speedLegs src/Dodge/Item/Equipment.hs 74;" f splashMenu src/Dodge/Menu.hs 31;" f splashMenuOptions src/Dodge/Menu.hs 36;" f splashScreen src/Dodge/Initialisation.hs 10;" f @@ -5063,7 +5065,7 @@ ssfold src/FoldableHelp.hs 105;" f stackPicturesAt src/Dodge/Render/List.hs 95;" f stackPicturesAtOff src/Dodge/Render/List.hs 98;" f stackText src/Picture/Base.hs 180;" f -stackedInventory src/Dodge/Creature.hs 318;" f +stackedInventory src/Dodge/Creature.hs 323;" f startCr src/Dodge/Creature.hs 90;" f startCrafts src/Dodge/Room/Start.hs 93;" f startDrag src/Dodge/Update/Input/InGame.hs 285;" f @@ -5095,7 +5097,7 @@ strideRot src/Dodge/Item/HeldOffset.hs 66;" f stringToList src/Picture/Base.hs 308;" f stringToListGrad src/Picture/Text.hs 12;" f stripZ src/Geometry/Vector3D.hs 97;" f -subInvX src/Dodge/ListDisplayParams.hs 47;" f +subInvX src/Dodge/ListDisplayParams.hs 51;" f subMap src/TreeHelp.hs 119;" f subZipWith src/Dodge/Placement/Instance/Wall.hs 94;" f succB src/Dodge/Debug.hs 121;" f @@ -5139,7 +5141,7 @@ teleS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 575;" f termScreenColor src/Dodge/Terminal/Color.hs 8;" f termSoundLine src/Dodge/Terminal.hs 49;" f termTextColor src/Dodge/Terminal.hs 52;" f -terminalLDP src/Dodge/ListDisplayParams.hs 44;" f +terminalLDP src/Dodge/ListDisplayParams.hs 48;" f terminalReturnEffect src/Dodge/Terminal.hs 279;" f terminalReturnLocal src/Dodge/Terminal.hs 283;" f terminalSPic src/Dodge/Machine/Draw.hs 47;" f @@ -5147,10 +5149,10 @@ terminalScreenGlow src/Dodge/Machine/Update.hs 44;" f terminalShape src/Dodge/Machine/Draw.hs 50;" f terminalWheelEvent src/Dodge/Update/Scroll.hs 127;" f teslaGun src/Dodge/Item/Held/BatteryGuns.hs 19;" f -teslaGunPic src/Dodge/Item/Draw/SPic.hs 406;" f +teslaGunPic src/Dodge/Item/Draw/SPic.hs 411;" f teslaParams src/Dodge/Item/Held/BatteryGuns.hs 25;" f testEvent src/Dodge/Event/Test.hs 11;" f -testInventory src/Dodge/Creature.hs 299;" f +testInventory src/Dodge/Creature.hs 304;" f testPic src/Dodge/Render/ShapePicture.hs 55;" f testSPic src/Dodge/Render/ShapePicture.hs 52;" f testStringInit src/Dodge/TestString.hs 34;" f @@ -5205,7 +5207,7 @@ tlSetStatus src/Dodge/Terminal.hs 112;" f tmDistributeAmmo src/Dodge/WorldEffect.hs 120;" f tmDistributeLines src/Dodge/Room/Room.hs 451;" f tmMachine src/Dodge/Placement/Instance/Terminal.hs 54;" f -toBinary src/Dodge/Inventory/SelectionList.hs 144;" f +toBinary src/Dodge/Inventory/SelectionList.hs 138;" f toBothLnk src/Dodge/RoomLink.hs 136;" f toClosestMultiple src/HelpNum.hs 3;" f toColor8 src/Color.hs 158;" f @@ -5228,7 +5230,7 @@ tone440_30sS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 633;" f tone440raiseS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 601;" f tone440sawtoothS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 659;" f tone440sawtoothquietS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 663;" f -topInvW src/Dodge/ListDisplayParams.hs 50;" f +topInvW src/Dodge/ListDisplayParams.hs 54;" f topPrismEdgeIndices src/Shader/Poke.hs 335;" f topPrismIndices src/Shader/Poke.hs 410;" f topTestPart src/Dodge/TestString.hs 50;" f @@ -5240,7 +5242,7 @@ tractCr src/Dodge/TractorBeam/Update.hs 28;" f tractFlIt src/Dodge/TractorBeam/Update.hs 23;" f tractorBeamAt src/Dodge/HeldUse.hs 831;" f tractorGun src/Dodge/Item/Held/BatteryGuns.hs 53;" f -tractorGunPic src/Dodge/Item/Draw/SPic.hs 412;" f +tractorGunPic src/Dodge/Item/Draw/SPic.hs 417;" f tractorPullPos src/Dodge/TractorBeam/Update.hs 33;" f tractorSPic src/Dodge/TractorBeam/Draw.hs 10;" f tranRot src/Picture/Base.hs 116;" f @@ -5322,7 +5324,7 @@ twoStep1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 519;" f twoStepS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 567;" f twoStepSlowS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 649;" f ubyteSize src/Shader/Parameters.hs 13;" f -ugateCalc src/Dodge/Inventory/SelectionList.hs 115;" f +ugateCalc src/Dodge/Inventory/SelectionList.hs 109;" f uncurryV src/Geometry/Data.hs 66;" f underBarrelSlot src/Dodge/Item/Scope.hs 159;" f unfoldrMID src/MonadHelp.hs 33;" f @@ -5357,8 +5359,8 @@ updateCloud src/Dodge/Update.hs 835;" f updateClouds src/Dodge/Update.hs 704;" f updateCombinePositioning src/Dodge/DisplayInventory.hs 40;" f updateCombineSections src/Dodge/DisplayInventory.hs 47;" f -updateCreature src/Dodge/Creature/Update.hs 32;" f -updateCreature' src/Dodge/Creature/Update.hs 41;" f +updateCreature src/Dodge/Creature/Update.hs 35;" f +updateCreature' src/Dodge/Creature/Update.hs 44;" f updateCreatureGroups src/Dodge/Update.hs 572;" f updateCreatureSoundPositions src/Dodge/Update.hs 551;" f updateCreatureStride src/Dodge/Update.hs 346;" f @@ -5421,7 +5423,7 @@ updateObjMapMaybe src/Dodge/Update.hs 577;" f updatePastWorlds src/Dodge/Update.hs 458;" f updatePreload src/Preload/Update.hs 21;" f updateProjectile src/Dodge/Projectile/Update.hs 26;" f -updatePulse src/Dodge/Creature/Update.hs 127;" f +updatePulse src/Dodge/Creature/Update.hs 137;" f updatePulseBall src/Dodge/Update.hs 483;" f updatePulseLaser src/Dodge/Update.hs 647;" f updatePulseLasers src/Dodge/Update.hs 478;" f @@ -5526,7 +5528,7 @@ viewTarget src/Dodge/Creature/ReaderUpdate.hs 155;" f violet src/Color.hs 48;" f visibleWalls src/Dodge/Base/Collide.hs 216;" f visionCheck src/Dodge/Creature/Perception.hs 152;" f -vocalizationTest src/Dodge/Creature/Vocalization.hs 53;" f +vocalizationTest src/Dodge/Creature/Vocalization.hs 61;" f volleyGun src/Dodge/Item/Held/Cane.hs 15;" f volleyGunShape src/Dodge/Item/Draw/SPic.hs 355;" f walkNozzle src/Dodge/HeldUse.hs 807;" f @@ -5603,8 +5605,8 @@ worldSPic src/Dodge/Render/ShapePicture.hs 22;" f worldToGenWorld src/Dodge/LevelGen/LevelStructure.hs 14;" f wpAdd src/Dodge/Room/RezBox.hs 148;" f wrench1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 525;" f -wristArmour src/Dodge/Item/Equipment.hs 43;" f -wristInvisibility src/Dodge/Item/Equipment.hs 96;" f +wristArmour src/Dodge/Item/Equipment.hs 35;" f +wristInvisibility src/Dodge/Item/Equipment.hs 80;" f writeConfig src/Dodge/Menu.hs 180;" f writeSaveSlot src/Dodge/Save.hs 36;" f xCylinder src/Shape.hs 133;" f @@ -5619,7 +5621,7 @@ yV2 src/Geometry/Vector.hs 205;" f yellow src/Color.hs 44;" f you src/Dodge/Base/You.hs 13;" f youDropItem src/Dodge/Creature/Action.hs 177;" f -yourAugmentedItem src/Dodge/Render/HUD.hs 236;" f +yourAugmentedItem src/Dodge/Render/HUD.hs 240;" f yourControl src/Dodge/Creature/YourControl.hs 28;" f yourDefaultStrideLength src/Dodge/Default/Creature.hs 110;" f yourInfo src/Dodge/Creature/Info.hs 10;" f