diff --git a/ghcidOutput b/ghcidOutput index 180138c31..9e0f8b2c0 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1,6 +1 @@ -/home/justin/Haskell/loop/src/Dodge/Item.hs:(29,25)-(35,40): warning: [-Wincomplete-patterns] - Pattern match(es) are non-exhaustive - In a case alternative: Patterns not matched: AMMOATTACH SHELLMAG - | -29 | itemFromAttachType at = case at of - | ^^^^^^^^^^... +All good (615 modules, at 12:03:22) diff --git a/src/Dodge/Bullet.hs b/src/Dodge/Bullet.hs index c2efe2544..43c3f2b89 100644 --- a/src/Dodge/Bullet.hs +++ b/src/Dodge/Bullet.hs @@ -61,7 +61,7 @@ updateBulVel bt = case _buTrajectory bt of shootBullet :: Item -> Creature -> World -> World shootBullet it cr w = fromMaybe (error "cannot find bullet ammo when expected to") $ do invid <- it ^? itLocation . ipInvID - thebullet <- cr ^? crInv . ix (invid + 1) . itUse . attachParams . ammoParams . ampBullet + thebullet <- cr ^? crInv . ix (invid + 1) . itUse . amagParams . ampBullet return $ w & cWorld . lWorld . instantBullets .:~ ( thebullet & buPos .~ _crPos cr diff --git a/src/Dodge/Combine/Module.hs b/src/Dodge/Combine/Module.hs index f10c1a22d..8c909c0a9 100644 --- a/src/Dodge/Combine/Module.hs +++ b/src/Dodge/Combine/Module.hs @@ -12,19 +12,19 @@ moduleModification imt = case imt of EMPTYMODULE -> id -- BELTMAG -> itUse . heldConsumption . laSource . _InternalSource . iaMax .~ 150 MAGNETMAG -> itUse . heldDelay . rateMax .~ 4 - BULPAY BulFlak -> (itUse . attachParams . ammoParams . ampBullet . buSpawn .~ BulFlak) - . (itUse . attachParams . ammoParams . ampBullet . buTimer .~ 3) - BULPAY thepayload -> itUse . attachParams . ammoParams . ampBullet . buSpawn .~ thepayload - BULBODY thebody -> itUse . attachParams . ammoParams . ampBullet . buEffect .~ thebody + BULPAY BulFlak -> (itUse . amagParams . ampBullet . buSpawn .~ BulFlak) + . (itUse . amagParams . ampBullet . buTimer .~ 3) + BULPAY thepayload -> itUse . amagParams . ampBullet . buSpawn .~ thepayload + BULBODY thebody -> itUse . amagParams . ampBullet . buEffect .~ thebody TARGET {} -> id -- itUse . useTargeting ?~ t BULTRAJ BasicBulletTrajectoryType -> id BULTRAJ MagnetTrajectoryType -> - (itUse . attachParams . ammoParams . ampBullet . buTrajectory .~ MagnetTrajectory 0) - . (itUse . attachParams . ammoParams . ampBullet . buVel .~ V2 10 0) + (itUse . amagParams . ampBullet . buTrajectory .~ MagnetTrajectory 0) + . (itUse . amagParams . ampBullet . buVel .~ V2 10 0) BULTRAJ FlechetteTrajectoryType -> - itUse . attachParams . ammoParams . ampBullet . buTrajectory .~ FlechetteTrajectory 0 + itUse . amagParams . ampBullet . buTrajectory .~ FlechetteTrajectory 0 BULTRAJ BezierTrajectoryType -> - itUse . attachParams . ammoParams . ampBullet . buTrajectory .~ BezierTrajectory 0 0 0 + itUse . amagParams . ampBullet . buTrajectory .~ BezierTrajectory 0 0 0 INCENDLAS -> itParams . lasBeam .~ BeamCombine FlameBeamCombine SPLITLAS -> itParams . lasBeam .~ BeamCombine SplitBeamCombine STATICLAS -> diff --git a/src/Dodge/Creature/Impulse/UseItem.hs b/src/Dodge/Creature/Impulse/UseItem.hs index a4820d6b3..f0cd7dd91 100644 --- a/src/Dodge/Creature/Impulse/UseItem.hs +++ b/src/Dodge/Creature/Impulse/UseItem.hs @@ -43,6 +43,7 @@ itemEffect cr it w = case it ^. itUse of (ConsumeUse eff _) -> useC eff it cr $ rmInvItem (_crID cr) itRef w CraftUse{} -> w AttachUse{} -> w + AmmoMagUse{} -> w where itRef = cr ^?! crManipulation . manObject . inInventory . ispItem -- unsafe!! TODO change hammerTest f = case _crHammerPosition cr of diff --git a/src/Dodge/Creature/ReaderUpdate.hs b/src/Dodge/Creature/ReaderUpdate.hs index 7541609d1..7b604f3df 100644 --- a/src/Dodge/Creature/ReaderUpdate.hs +++ b/src/Dodge/Creature/ReaderUpdate.hs @@ -174,7 +174,7 @@ reloadOverride :: Creature -> Creature reloadOverride cr = fromMaybe cr $ do guard $ cr ^. crStance . posture == Aiming itRef <- cr ^? crManipulation . manObject . inInventory . ispItem - guard $ cr ^? crInv . ix (itRef + 1) . itUse . attachParams . ammoLoadStatus . iaLoaded == Just 0 + guard $ cr ^? crInv . ix (itRef + 1) . itUse . amagLoadStatus . iaLoaded == Just 0 return $ cr & crActionPlan . apStrategy .~ StrategyActions Reload reloadActions where reloadActions = diff --git a/src/Dodge/Creature/Test.hs b/src/Dodge/Creature/Test.hs index ab1a1e3d3..bdd17283a 100644 --- a/src/Dodge/Creature/Test.hs +++ b/src/Dodge/Creature/Test.hs @@ -42,7 +42,7 @@ crIsReloading cr = case cr ^? crManipulation . manObject . inInventory . iselAct crWeaponReady :: Creature -> Bool crWeaponReady cr = fromMaybe False $ do i <- cr ^? crManipulation . manObject . inInventory . ispItem - x <- cr ^? crInv . ix (i + 1) . itUse . attachParams . ammoLoadStatus . iaLoaded + x <- cr ^? crInv . ix (i + 1) . itUse . amagLoadStatus . iaLoaded return (x > 0) crCanSeeCr :: Creature -> (World, Creature) -> Bool diff --git a/src/Dodge/Data/Item/Combine.hs b/src/Dodge/Data/Item/Combine.hs index 3f95bbc75..6454f5acd 100644 --- a/src/Dodge/Data/Item/Combine.hs +++ b/src/Dodge/Data/Item/Combine.hs @@ -90,13 +90,13 @@ data ItemBaseType | CONSUMABLE {_ibtConsumable :: ConsumableItemType} | CRAFT CraftType | ATTACH {_ibtAttach :: AttachType} + | AMMOMAG {_ibtAmmoMag :: AmmoMagType} deriving (Eq, Ord, Show, Read) --deriving (Eq, Ord, Show, Read) --Generic, Flat) data AttachType = SCROLLATTACH ScrollAttachType - | AMMOATTACH AmmoAttachType | TARGETATTACH {_ibtAttachTarget :: TargetType} -- | BULPAYLOADATTACH -- | BULTRAJECTORYATTACH @@ -106,11 +106,11 @@ data ScrollAttachType = ZOOMSCOPE deriving (Eq, Ord, Show, Read) -data AmmoAttachType +data AmmoMagType = REVOLVEMAG | TINMAG | DRUMMAG - | BULLETBELT + | BELTMAG | SHELLMAG deriving (Eq, Ord, Show, Read) @@ -246,7 +246,7 @@ makeLenses ''AttachType deriveJSON defaultOptions ''Stack deriveJSON defaultOptions ''CraftType deriveJSON defaultOptions ''ConsumableItemType -deriveJSON defaultOptions ''AmmoAttachType +deriveJSON defaultOptions ''AmmoMagType deriveJSON defaultOptions ''ScrollAttachType deriveJSON defaultOptions ''AttachType deriveJSON defaultOptions ''Detector diff --git a/src/Dodge/Data/Item/Use.hs b/src/Dodge/Data/Item/Use.hs index 3465e6461..3dcbf2075 100644 --- a/src/Dodge/Data/Item/Use.hs +++ b/src/Dodge/Data/Item/Use.hs @@ -55,6 +55,9 @@ data ItemUse {_useAmount :: ItAmount} | AttachUse {_attachParams :: AttachParams} + | AmmoMagUse + { _amagLoadStatus :: InternalAmmo + , _amagParams :: AmmoParams } --deriving (Eq, Show, Read) --Generic, Flat) data HeldParams @@ -69,10 +72,6 @@ data HeldParams data AttachParams = ScrollAttachParams {_scrollAttachParams :: ScrollAttachParams} - | AmmoAttachParams - {_ammoLoadStatus :: InternalAmmo - ,_ammoParams :: AmmoParams - } | TargetAttachParams data AmmoParams = BulletParams {_ampBullet :: Bullet} diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index c0ce52183..9fb540840 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -372,7 +372,7 @@ useMod hm = case hm of invid <- cr ^? crManipulation . manObject . inInventory . ispItem return $ cr & crDir %~ tweenAngles x (_crOldDir cr) & crPos %~ alongSegBy x (_crOldPos cr) - & crInv . ix (invid + 1) . itUse . attachParams . ammoParams . ampBullet . buDelayFraction .~ x + & crInv . ix (invid + 1) . itUse . amagParams . ampBullet . buDelayFraction .~ x lasWideRate :: Int lasWideRate = 2 diff --git a/src/Dodge/Item.hs b/src/Dodge/Item.hs index 99a70ee77..1212ac0e8 100644 --- a/src/Dodge/Item.hs +++ b/src/Dodge/Item.hs @@ -24,14 +24,19 @@ itemFromBase ibt = case ibt of CONSUMABLE et -> itemFromConsumableType et CRAFT cr -> makeTypeCraft cr ATTACH at -> itemFromAttachType at + AMMOMAG t -> itemFromAmmoMag t + +itemFromAmmoMag :: AmmoMagType -> Item +itemFromAmmoMag at = case at of + DRUMMAG -> drumMag + TINMAG -> tinMag + REVOLVEMAG -> revolveMag + BELTMAG -> beltMag + SHELLMAG -> shellMag itemFromAttachType :: AttachType -> Item itemFromAttachType at = case at of SCROLLATTACH ZOOMSCOPE -> zoomScope - AMMOATTACH DRUMMAG -> drumMag - AMMOATTACH TINMAG -> tinMag - AMMOATTACH REVOLVEMAG -> revolveMag - AMMOATTACH BULLETBELT -> beltMag TARGETATTACH tt -> targetingScope tt diff --git a/src/Dodge/Item/Ammo.hs b/src/Dodge/Item/Ammo.hs index e412e38af..dd3d93aac 100644 --- a/src/Dodge/Item/Ammo.hs +++ b/src/Dodge/Item/Ammo.hs @@ -1,65 +1,61 @@ module Dodge.Item.Ammo where -import Dodge.Item.Weapon.Bullet import Control.Lens import Dodge.Data.World import Dodge.Default.Item +import Dodge.Item.Weapon.Bullet import Dodge.Reloading.Action - tinMag :: Item tinMag = - defaultHeldItem & itType . iyBase .~ ATTACH (AMMOATTACH TINMAG) + defaultHeldItem & itType . iyBase .~ AMMOMAG TINMAG & itType . iyModules . at ModBulletPayload ?~ EMPTYMODULE & itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE & itUse - .~ AttachUse - { _attachParams = - AmmoAttachParams - { _ammoParams = BulletParams defaultBullet - , _ammoLoadStatus = - InternalAmmo - { _iaMax = 15 - , _iaLoaded = 15 - , _iaPrimed = True - , _iaCycle = [loadEject 10, loadInsert 10, loadPrime 10] - , _iaProgress = Nothing - } + .~ AmmoMagUse + { _amagParams = BulletParams defaultBullet + , _amagLoadStatus = + InternalAmmo + { _iaMax = 15 + , _iaLoaded = 15 + , _iaPrimed = True + , _iaCycle = [loadEject 10, loadInsert 10, loadPrime 10] + , _iaProgress = Nothing } } revolveMag :: Item -revolveMag = tinMag - & itType . iyBase .~ ATTACH (AMMOATTACH REVOLVEMAG) - & itUse . attachParams . ammoLoadStatus . iaMax .~ 6 - & itUse . attachParams . ammoLoadStatus . iaLoaded .~ 6 - & itUse . attachParams . ammoLoadStatus . iaCycle .~ [loadPartialInsert 10 1] +revolveMag = + tinMag + & itType . iyBase .~ AMMOMAG REVOLVEMAG + & itUse . amagLoadStatus . iaMax .~ 6 + & itUse . amagLoadStatus . iaLoaded .~ 6 + & itUse . amagLoadStatus . iaCycle .~ [loadPartialInsert 10 1] drumMag :: Item drumMag = - tinMag & itType . iyBase .~ ATTACH (AMMOATTACH DRUMMAG) - & itUse . attachParams . ammoLoadStatus . iaMax .~ 30 + tinMag & itType . iyBase . ibtAmmoMag .~ DRUMMAG + & itUse . amagLoadStatus . iaLoaded .~ 30 + & itUse . amagLoadStatus . iaMax .~ 30 beltMag :: Item beltMag = - tinMag & itType . iyBase .~ ATTACH (AMMOATTACH BULLETBELT) - & itUse . attachParams . ammoLoadStatus . iaMax .~ 2000 + tinMag & itType . iyBase . ibtAmmoMag .~ BELTMAG + & itUse . amagLoadStatus . iaLoaded .~ 10000 + & itUse . amagLoadStatus . iaMax .~ 20000 shellMag :: Item shellMag = - defaultHeldItem & itType . iyBase .~ ATTACH (AMMOATTACH SHELLMAG) + defaultHeldItem & itType . iyBase .~ AMMOMAG SHELLMAG & itUse - .~ AttachUse - { _attachParams = - AmmoAttachParams - { _ammoParams = BulletParams defaultBullet - , _ammoLoadStatus = - InternalAmmo - { _iaMax = 15 - , _iaLoaded = 15 - , _iaPrimed = True - , _iaCycle = [loadEject 10, loadInsert 10, loadPrime 10] - , _iaProgress = Nothing - } + .~ AmmoMagUse + { _amagParams = BulletParams defaultBullet + , _amagLoadStatus = + InternalAmmo + { _iaMax = 15 + , _iaLoaded = 15 + , _iaPrimed = True + , _iaCycle = [loadEject 10, loadInsert 10, loadPrime 10] + , _iaProgress = Nothing } } diff --git a/src/Dodge/Item/Display.hs b/src/Dodge/Item/Display.hs index 3089f660d..6cea26821 100644 --- a/src/Dodge/Item/Display.hs +++ b/src/Dodge/Item/Display.hs @@ -82,11 +82,11 @@ itemBaseName it = case _iyBase $ _itType it of EQUIP eit -> showEquipItem eit CONSUMABLE cit -> show cit ATTACH ait -> showAttachItem ait + AMMOMAG ait -> show ait showAttachItem :: AttachType -> String showAttachItem t = case t of SCROLLATTACH x -> show x - AMMOATTACH x -> show x TARGETATTACH x -> show x showEquipItem :: EquipItemType -> String @@ -124,6 +124,7 @@ itemNumberDisplay cr itm = case iu of CraftUse x -> [show $ x ^. getItAmount] ConsumeUse {_useAmount = x} -> [show $ x ^. getItAmount] AttachUse {} -> [showReloadProgress cr itm] + AmmoMagUse {} -> [showReloadProgress cr itm] -- this could be cleaner here... where iu = itm ^?! itUse @@ -153,7 +154,7 @@ showEquipmentNumber _ itm = case _eeUse ee of showReloadProgress :: Creature -> Item -> String showReloadProgress _ itm = fromMaybe [] $ do - ia <- itm ^? itUse . attachParams . ammoLoadStatus + ia <- itm ^? itUse . amagLoadStatus return $ case ia ^? iaProgress . _Just . ix 0 of Nothing -> maybe "" show $ ia ^? iaLoaded Just la -> showLoadActionType la ia diff --git a/src/Dodge/Item/Draw/SPic.hs b/src/Dodge/Item/Draw/SPic.hs index 155cca24b..da5d9020d 100644 --- a/src/Dodge/Item/Draw/SPic.hs +++ b/src/Dodge/Item/Draw/SPic.hs @@ -24,6 +24,7 @@ itemSPic it = EQUIP et -> equipItemSPic et it CONSUMABLE{} -> defSPic ATTACH {} -> defSPic + AMMOMAG {} -> defSPic equipItemSPic :: EquipItemType -> Item -> SPic equipItemSPic et _ = case et of diff --git a/src/Dodge/Item/InventoryColor.hs b/src/Dodge/Item/InventoryColor.hs index aaa020eed..0f9d2b3b6 100644 --- a/src/Dodge/Item/InventoryColor.hs +++ b/src/Dodge/Item/InventoryColor.hs @@ -12,3 +12,4 @@ itemInvColor itm = case itm ^. itType . iyBase of CONSUMABLE {} -> blue CRAFT {} -> green ATTACH {} -> orange + AMMOMAG {} -> greyN 0.5 diff --git a/src/Dodge/Item/Weapon/TriggerType.hs b/src/Dodge/Item/Weapon/TriggerType.hs index 6fdb4f9cb..efa1aa0ce 100644 --- a/src/Dodge/Item/Weapon/TriggerType.hs +++ b/src/Dodge/Item/Weapon/TriggerType.hs @@ -143,7 +143,7 @@ withThickSmokeI eff item cr w = ammoCheckI :: ChainEffect ammoCheckI eff itm cr w = fromMaybe (failsound w) $ do invid <- itm ^? itLocation . ipInvID - x <- cr ^? crInv . ix (invid + 1) . itUse . attachParams . ammoLoadStatus . iaLoaded + x <- cr ^? crInv . ix (invid + 1) . itUse . amagLoadStatus . iaLoaded guard $ x > 0 return $ eff itm cr $ w & cWorld . lWorld . creatures . ix (_crID cr) %~ crCancelReloading where @@ -341,13 +341,13 @@ useAllAmmo eff item cr = fromMaybe id $ do invid <- item ^? itLocation . ipInvID return $ eff item cr . (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (invid + 1) - . itUse . attachParams . ammoLoadStatus . iaLoaded .~ 0) + . itUse . amagLoadStatus . iaLoaded .~ 0) useAmmoUpTo :: Int -> ChainEffect useAmmoUpTo amAmount eff itm cr = fromMaybe id $ do invid <- itm ^? itLocation . ipInvID return $ eff itm cr - . ( cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (invid + 1) . itUse . attachParams . ammoLoadStatus . iaLoaded + . ( cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (invid + 1) . itUse . amagLoadStatus . iaLoaded %~ (max 0 . subtract amAmount) ) @@ -359,7 +359,7 @@ useAmmoAmount amAmount eff item cr = itref = cr ^?! crManipulation . manObject . inInventory . ispItem -- unsafe!! TODO change useAmmoAmount' :: Int -> Int -> IM.IntMap Item -> IM.IntMap Item -useAmmoAmount' itref x inv = inv & ix (itref + 1) . itUse . attachParams . ammoLoadStatus . iaLoaded -~ x +useAmmoAmount' itref x inv = inv & ix (itref + 1) . itUse . amagLoadStatus . iaLoaded -~ x -- . crInv . ix itRef . itUse . heldConsumption . laSource @@ -665,7 +665,7 @@ duplicateLoaded eff it cr w = foldr f w (take numbul [1::Int .. ]) f _ = eff it cr numbul = fromMaybe 0 $ do i <- cr ^? crManipulation . manObject . inInventory . ispItem - cr ^? crInv . ix (i+1) . itUse . attachParams . ammoLoadStatus . iaLoaded + cr ^? crInv . ix (i+1) . itUse . amagLoadStatus . iaLoaded duplicateNumBarrels :: Int -> ChainEffect duplicateNumBarrels n eff itm cr w = foldr f w (take n $ itm ^?! itUse . heldAim . aimMuzzles) @@ -687,7 +687,7 @@ duplicateLoadedBarrels eff itm cr = duplicateNumBarrels numbul eff itm cr numbul :: Int numbul = fromMaybe 0 $ do i <- cr ^? crManipulation . manObject . inInventory . ispItem - cr ^? crInv . ix (i+1) . itUse . attachParams . ammoLoadStatus . iaLoaded + cr ^? crInv . ix (i+1) . itUse . amagLoadStatus . iaLoaded duplicateOffsetsFocus :: [Float] -> ChainEffect duplicateOffsetsFocus xs eff item cr w = foldr f w poss diff --git a/src/Dodge/Reloading.hs b/src/Dodge/Reloading.hs index 46e8aafe2..fb1f6abcc 100644 --- a/src/Dodge/Reloading.hs +++ b/src/Dodge/Reloading.hs @@ -17,7 +17,7 @@ crCancelReloading cr = updateProgress = fromMaybe id $ do InInventory (SelItem i _) <- cr ^? crManipulation . manObject return $ - crInv . ix (i + 1) . itUse . attachParams . ammoLoadStatus . iaProgress + crInv . ix (i + 1) . itUse . amagLoadStatus . iaProgress %~ const Nothing stepReloading :: Creature -> Creature @@ -27,14 +27,14 @@ stepReloading cr = case cr ^? crManipulation . manObject . inInventory of cr & crManipulation . manObject . inInventory . iselAction . actionProgress -~ 1 | otherwise -> cr - & crInv . ix (i + 1) . itUse . attachParams . ammoLoadStatus %~ doLoadAction la - & crInv . ix (i + 1) . itUse . attachParams . ammoLoadStatus %~ rotateActionProgress + & crInv . ix (i + 1) . itUse . amagLoadStatus %~ doLoadAction la + & crInv . ix (i + 1) . itUse . amagLoadStatus %~ rotateActionProgress & tryNextLoadAction _ -> cr tryNextLoadAction :: Creature -> Creature tryNextLoadAction cr = case cr ^? crManipulation . manObject . inInventory of - Just (SelItem i _) -> case cr ^? crInv . ix (i + 1) . itUse . attachParams . ammoLoadStatus . iaProgress . _Just . ix 0 of + Just (SelItem i _) -> case cr ^? crInv . ix (i + 1) . itUse . amagLoadStatus . iaProgress . _Just . ix 0 of Nothing -> cr & crManipulation . manObject . inInventory . iselAction .~ NoInvSelAction Just la -> cr & crManipulation . manObject . inInventory . iselAction . actionProgress .~ _actionTime la @@ -49,7 +49,7 @@ crReload cr = case cr ^? crManipulation . manObject . inInventory . iselAction o tryStartLoading :: Creature -> Creature tryStartLoading cr = fromMaybe cr $ do i <- cr ^? crManipulation . manObject . inInventory . ispItem - ia <- cr ^? crInv . ix (i + 1) . itUse . attachParams . ammoLoadStatus + ia <- cr ^? crInv . ix (i + 1) . itUse . amagLoadStatus return $ startLoading ia cr -- case as of @@ -66,7 +66,7 @@ startLoading ic cr = case ic ^? iaProgress . _Just . ix 0 of i <- cr ^? crManipulation . manObject . inInventory . ispItem return $ cr & startLoadingStep la - & crInv . ix i . itUse . attachParams . ammoLoadStatus . iaProgress ?~ (la : las) + & crInv . ix i . itUse . amagLoadStatus . iaProgress ?~ (la : las) startLoadingStep :: LoadAction -> Creature -> Creature startLoadingStep la cr = cr & crManipulation . manObject . inInventory . iselAction .~ ReloadAction (_actionTime la) la diff --git a/tags b/tags index a7f362572..377d19050 100644 --- a/tags +++ b/tags @@ -22,24 +22,24 @@ <$> src/Dodge/Data/Terminal.hs 129;" o AIUNIT src/Dodge/Combine/Data.hs 48;" C AIUNIT src/Dodge/Data/Item/Combine.hs 54;" C -AMMOATTACH src/Dodge/Data/Item/Combine.hs 99;" C +AMMOMAG src/Dodge/Data/Item/Combine.hs 93;" C AMR src/Dodge/Combine/Data.hs 157;" C -AMR src/Dodge/Data/Item/Combine.hs 176;" C +AMR src/Dodge/Data/Item/Combine.hs 177;" C ANTIMATTER src/Dodge/Combine/Data.hs 44;" C ANTIMATTER src/Dodge/Data/Item/Combine.hs 48;" C AQUAMARINE src/Color/Data.hs 24;" C ATTACH src/Dodge/Data/Item/Combine.hs 92;" C ATTACHTORCH src/Dodge/Combine/Data.hs 219;" C -ATTACHTORCH src/Dodge/Data/Item/Combine.hs 217;" C +ATTACHTORCH src/Dodge/Data/Item/Combine.hs 218;" C AUTOAMR src/Dodge/Combine/Data.hs 158;" C -AUTOAMR src/Dodge/Data/Item/Combine.hs 177;" C +AUTOAMR src/Dodge/Data/Item/Combine.hs 178;" C AUTODETECTOR src/Dodge/Combine/Data.hs 117;" C -AUTODETECTOR src/Dodge/Data/Item/Combine.hs 142;" C +AUTODETECTOR src/Dodge/Data/Item/Combine.hs 143;" C AUTOEFFGUN src/Dodge/Combine/Data.hs 84;" C AUTOPISTOL src/Dodge/Combine/Data.hs 139;" C -AUTOPISTOL src/Dodge/Data/Item/Combine.hs 162;" C +AUTOPISTOL src/Dodge/Data/Item/Combine.hs 163;" C AUTORIFLE src/Dodge/Combine/Data.hs 151;" C -AUTORIFLE src/Dodge/Data/Item/Combine.hs 172;" C +AUTORIFLE src/Dodge/Data/Item/Combine.hs 173;" C AZURE src/Color/Data.hs 23;" C AboveSource src/Dodge/Data/Item/Use/Consumption.hs 30;" C AccessTerminal src/Dodge/Data/WorldEffect.hs 26;" C @@ -55,11 +55,11 @@ AddGoal src/Dodge/Data/ActionPlan.hs 45;" C AddTile src/Dodge/Room/AddTile.hs 1;" m AesonHelp src/AesonHelp.hs 1;" m AimAt src/Dodge/Data/ActionPlan.hs 84;" C -AimParams src/Dodge/Data/Item/Use.hs 102;" t +AimParams src/Dodge/Data/Item/Use.hs 103;" t AimParams src/Dodge/Default/AimParams.hs 1;" m AimParams src/Dodge/Default/Item/Held/AimParams.hs 1;" m AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m -AimStance src/Dodge/Data/Item/Use.hs 120;" t +AimStance src/Dodge/Data/Item/Use.hs 121;" t Aiming src/Dodge/Creature/Stance/Data.hs 42;" C Aiming src/Dodge/Data/Creature/Stance.hs 39;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C @@ -73,11 +73,12 @@ Ambush src/Dodge/Data/ActionPlan.hs 178;" C Ammo src/Dodge/Data/Ammo.hs 4;" m Ammo src/Dodge/Data/Item/Use/Consumption/Ammo.hs 6;" m Ammo src/Dodge/Item/Ammo.hs 1;" m -AmmoAttachParams src/Dodge/Data/Item/Use.hs 72;" C -AmmoAttachType src/Dodge/Data/Item/Combine.hs 109;" t +AmmoAttachParams src/Dodge/Data/Item/Use.hs 73;" C AmmoCheckMod src/Dodge/Data/Item/HeldUse.hs 82;" C AmmoHammerTimeUseOneMod src/Dodge/Data/Item/HeldUse.hs 84;" C -AmmoParams src/Dodge/Data/Item/Use.hs 78;" t +AmmoMagType src/Dodge/Data/Item/Combine.hs 109;" t +AmmoMagUse src/Dodge/Data/Item/Use.hs 58;" C +AmmoParams src/Dodge/Data/Item/Use.hs 79;" t AmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 1;" m AmmoPosition src/Dodge/Item/AmmoPosition.hs 8;" t AmmoPosition src/Dodge/Item/AmmoPosition.hs 2;" m @@ -128,10 +129,10 @@ AttachInt src/Dodge/Item/Attachment/Data.hs 16;" C AttachMInt src/Dodge/Data/Item/Attachment.hs 15;" C AttachMInt src/Dodge/Item/Attachment/Data.hs 17;" C AttachMode src/Dodge/Item/Attachment/Data.hs 13;" C -AttachParams src/Dodge/Data/Item/Use.hs 70;" t +AttachParams src/Dodge/Data/Item/Use.hs 71;" t AttachTargetPos src/Dodge/Data/Item/Attachment.hs 13;" C AttachTargetPos src/Dodge/Item/Attachment/Data.hs 15;" C -AttachType src/Dodge/Data/Item/Combine.hs 97;" t +AttachType src/Dodge/Data/Item/Combine.hs 98;" t AttachUse src/Dodge/Data/Item/Use.hs 56;" C Attachment src/Dodge/Data/Item/Attachment.hs 4;" m Attachment src/Dodge/Item/Attachment.hs 1;" m @@ -162,44 +163,44 @@ Awareness src/Dodge/Creature/Picture/Awareness.hs 1;" m AwarenessInt src/Dodge/Creature/AlertLevel/Data.hs 26;" C AwarenessLevel src/Dodge/Creature/AlertLevel/Data.hs 25;" t BANGCONE src/Dodge/Combine/Data.hs 141;" C -BANGCONE src/Dodge/Data/Item/Combine.hs 164;" C +BANGCONE src/Dodge/Data/Item/Combine.hs 165;" C BANGROD src/Dodge/Combine/Data.hs 155;" C -BANGROD src/Dodge/Data/Item/Combine.hs 174;" C +BANGROD src/Dodge/Data/Item/Combine.hs 175;" C BANGSTICK src/Dodge/Combine/Data.hs 134;" C -BANGSTICK src/Dodge/Data/Item/Combine.hs 159;" C +BANGSTICK src/Dodge/Data/Item/Combine.hs 160;" C BATTERY src/Dodge/Combine/Data.hs 59;" C BATTERY src/Dodge/Data/Item/Combine.hs 67;" C -BATTERYPACK src/Dodge/Data/Item/Combine.hs 141;" C +BATTERYPACK src/Dodge/Data/Item/Combine.hs 142;" C BELTMAG src/Dodge/Combine/Data.hs 200;" C BEZIERTRAJ src/Dodge/Combine/Data.hs 212;" C BLACK src/Color/Data.hs 28;" C BLINKER src/Dodge/Combine/Data.hs 125;" C -BLINKER src/Dodge/Data/Item/Combine.hs 152;" C +BLINKER src/Dodge/Data/Item/Combine.hs 153;" C BLINKERUNSAFE src/Dodge/Combine/Data.hs 126;" C -BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 153;" C +BLINKERUNSAFE src/Dodge/Data/Item/Combine.hs 154;" C BLOWTORCH src/Dodge/Combine/Data.hs 165;" C -BLOWTORCH src/Dodge/Data/Item/Combine.hs 184;" C +BLOWTORCH src/Dodge/Data/Item/Combine.hs 185;" C BLUE src/Color/Data.hs 17;" C BLUNDERBUSS src/Dodge/Combine/Data.hs 142;" C -BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 165;" C +BLUNDERBUSS src/Dodge/Data/Item/Combine.hs 166;" C BLUNT src/Dodge/Data/Damage/Type.hs 13;" C BLUNT src/Dodge/Data/DamageType.hs 12;" C BOOSTER src/Dodge/Combine/Data.hs 123;" C -BOOSTER src/Dodge/Data/Item/Combine.hs 148;" C +BOOSTER src/Dodge/Data/Item/Combine.hs 149;" C BOUNCEBUL src/Dodge/Combine/Data.hs 203;" C BOUNCEMODULE src/Dodge/Combine/Data.hs 69;" C BQuad src/Geometry/Bezier.hs 9;" t BRAINHAT src/Dodge/Combine/Data.hs 109;" C -BRAINHAT src/Dodge/Data/Item/Combine.hs 130;" C -BULBODY src/Dodge/Data/Item/Combine.hs 209;" C +BRAINHAT src/Dodge/Data/Item/Combine.hs 131;" C +BULBODY src/Dodge/Data/Item/Combine.hs 210;" C BULBODYCRAFT src/Dodge/Data/Item/Combine.hs 76;" C BULLETBELT src/Dodge/Data/Item/Combine.hs 113;" C -BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 140;" C -BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 139;" C -BULPAY src/Dodge/Data/Item/Combine.hs 208;" C -BULTRAJ src/Dodge/Data/Item/Combine.hs 210;" C +BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 141;" C +BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 140;" C +BULPAY src/Dodge/Data/Item/Combine.hs 209;" C +BULTRAJ src/Dodge/Data/Item/Combine.hs 211;" C BURSTRIFLE src/Dodge/Combine/Data.hs 152;" C -BURSTRIFLE src/Dodge/Data/Item/Combine.hs 173;" C +BURSTRIFLE src/Dodge/Data/Item/Combine.hs 174;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C Ball src/Dodge/Tesla/Ball.hs 1;" m BangCaneMod src/Dodge/Data/Item/HeldUse.hs 85;" C @@ -310,8 +311,8 @@ BulletClipAttachment src/Dodge/Data/Item.hs 51;" C BulletEffect src/Dodge/Data/Bullet.hs 36;" t BulletGun src/Dodge/Item/Held/BulletGun.hs 1;" m BulletGuns src/Dodge/Item/Weapon/BulletGuns.hs 1;" m -BulletParams src/Dodge/Data/Item/Use.hs 78;" C -BulletShooterParams src/Dodge/Data/Item/Use.hs 62;" C +BulletParams src/Dodge/Data/Item/Use.hs 79;" C +BulletShooterParams src/Dodge/Data/Item/Use.hs 63;" C BulletSource src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C BulletSpawn src/Dodge/Data/Bullet.hs 42;" t BulletTrajectory src/Dodge/Data/Bullet.hs 50;" t @@ -347,7 +348,7 @@ CONSUMABLE src/Dodge/Data/Item/Combine.hs 90;" C CRAFT src/Dodge/Combine/Data.hs 97;" C CRAFT src/Dodge/Data/Item/Combine.hs 91;" C CREATUREDETECTOR src/Dodge/Combine/Data.hs 226;" C -CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 222;" C +CREATUREDETECTOR src/Dodge/Data/Item/Combine.hs 223;" C CREATURESENSOR src/Dodge/Combine/Data.hs 57;" C CREATURESENSOR src/Dodge/Data/Item/Combine.hs 65;" C CRUSHING src/Dodge/Data/Damage/Type.hs 16;" C @@ -386,7 +387,7 @@ ChainEffect src/Dodge/ChainEffect.hs 1;" m ChainUpdates src/Dodge/Creature/ChainUpdates.hs 1;" m ChangePosture src/Dodge/Data/ActionPlan.hs 42;" C ChangeStrategy src/Dodge/Data/ActionPlan.hs 44;" C -CharScrollParams src/Dodge/Data/Item/Use.hs 89;" C +CharScrollParams src/Dodge/Data/Item/Use.hs 90;" C ChargeIfEquipped src/Dodge/Data/Item/Effect.hs 22;" C ChargeIfInInventory src/Dodge/Data/Item/Effect.hs 23;" C ChargeSource src/Dodge/Data/Item/Use/Consumption/Ammo.hs 39;" C @@ -470,9 +471,9 @@ Connectors src/Dodge/Render/Connectors.hs 1;" m ConstantIntensity src/Dodge/Data/LightSource.hs 17;" C Consumable src/Dodge/Item/Consumable.hs 1;" m ConsumableFamily src/Dodge/Item/Family.hs 7;" C -ConsumableItemType src/Dodge/Data/Item/Combine.hs 117;" t +ConsumableItemType src/Dodge/Data/Item/Combine.hs 118;" t ConsumeUse src/Dodge/Data/Item/Use.hs 46;" C -ConsumeUse' src/Dodge/Data/Item/Use.hs 100;" t +ConsumeUse' src/Dodge/Data/Item/Use.hs 101;" t Consumption src/Dodge/Data/Item/Consumption.hs 5;" m Consumption src/Dodge/Data/Item/Use/Consumption.hs 8;" m Consumption src/Dodge/Default/Item/Held/Consumption.hs 1;" m @@ -586,13 +587,13 @@ Cuse src/Dodge/Cuse.hs 1;" m Cylinder src/Shape/Data.hs 19;" C DPoint2 src/Geometry/Data.hs 34;" t DRONELAUNCHER src/Dodge/Combine/Data.hs 184;" C -DRONELAUNCHER src/Dodge/Data/Item/Combine.hs 196;" C +DRONELAUNCHER src/Dodge/Data/Item/Combine.hs 197;" C DRUM src/Dodge/Combine/Data.hs 34;" C DRUMMAG src/Dodge/Combine/Data.hs 199;" C DRUMMAG src/Dodge/Data/Item/Combine.hs 112;" C DS src/DoubleStack.hs 3;" t DUALBEAM src/Dodge/Combine/Data.hs 171;" C -DUALBEAM src/Dodge/Data/Item/Combine.hs 189;" C +DUALBEAM src/Dodge/Data/Item/Combine.hs 190;" C DUCTTAPE src/Dodge/Combine/Data.hs 31;" C Damage src/Dodge/Data/Damage.hs 32;" t Damage src/Dodge/Data/DamageType.hs 38;" t @@ -671,7 +672,7 @@ DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C DefaultDrawSwitch src/Dodge/Data/Button.hs 18;" C DefaultForceField src/Dodge/Data/Item/Use/Consumption/Ammo.hs 62;" C -DefaultHeldParams src/Dodge/Data/Item/Use.hs 61;" C +DefaultHeldParams src/Dodge/Data/Item/Use.hs 62;" C DefaultLightSourceDraw src/Dodge/Data/LightSource.hs 13;" C DefaultRoomType src/Dodge/Data/Room.hs 31;" C Delete src/Dodge/Wall/Delete.hs 1;" m @@ -684,7 +685,7 @@ DestroyDamage src/Dodge/Particle/Bullet/DestroyDamage.hs 1;" m DestroyItem src/Dodge/Data/Scenario.hs 7;" C DestroyTLS src/Dodge/Data/LightSource.hs 22;" C Detector src/Dodge/Combine/Data.hs 224;" t -Detector src/Dodge/Data/Item/Combine.hs 220;" t +Detector src/Dodge/Data/Item/Combine.hs 221;" t Dirt src/Dodge/Data/Material.hs 11;" C DisasterType src/Dodge/Data/Scenario.hs 24;" t Display src/Dodge/Item/Display.hs 1;" m @@ -799,9 +800,9 @@ EHeadLamp src/Dodge/Data/Item/HeldUse.hs 43;" C ELECTRICAL src/Dodge/Data/Damage/Type.hs 20;" C ELECTRICAL src/Dodge/Data/DamageType.hs 19;" C ELEPHANTGUN src/Dodge/Combine/Data.hs 156;" C -ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 175;" C +ELEPHANTGUN src/Dodge/Data/Item/Combine.hs 176;" C EMPTYMODULE src/Dodge/Combine/Data.hs 198;" C -EMPTYMODULE src/Dodge/Data/Item/Combine.hs 206;" C +EMPTYMODULE src/Dodge/Data/Item/Combine.hs 207;" C EMagShield src/Dodge/Data/Item/HeldUse.hs 41;" C ENERGYBALLCRAFT src/Dodge/Data/Item/Combine.hs 75;" C ENTERREMENT src/Dodge/Data/Damage/Type.hs 24;" C @@ -811,7 +812,7 @@ EQUIP src/Dodge/Data/Item/Combine.hs 89;" C EWristShield src/Dodge/Data/Item/HeldUse.hs 42;" C EXPLOSIVE src/Dodge/Data/Damage/Type.hs 21;" C EXPLOSIVE src/Dodge/Data/DamageType.hs 20;" C -EXPLOSIVES src/Dodge/Data/Item/Combine.hs 119;" C +EXPLOSIVES src/Dodge/Data/Item/Combine.hs 120;" C EXTRABATTERY src/Dodge/Combine/Data.hs 218;" C Ears src/Dodge/Creature/Perception/Data.hs 48;" C Ears src/Dodge/Data/Creature/Perception.hs 47;" C @@ -846,7 +847,7 @@ EquipCounter src/Dodge/Data/Item/Use/Equipment.hs 31;" C EquipEffect src/Dodge/Data/Item/Use/Equipment.hs 17;" t EquipID src/Dodge/Data/Item/Use/Equipment.hs 30;" C EquipItemType src/Dodge/Combine/Data.hs 103;" t -EquipItemType src/Dodge/Data/Item/Combine.hs 124;" t +EquipItemType src/Dodge/Data/Item/Combine.hs 125;" t EquipOptions src/Dodge/Data/RightButtonOptions.hs 15;" C EquipParams src/Dodge/Data/Item/Use/Equipment.hs 28;" t EquipPosition src/Dodge/Data/Equipment/Misc.hs 20;" t @@ -854,7 +855,7 @@ EquipPosition src/Dodge/Equipment/Data.hs 17;" t EquipSite src/Dodge/Data/Equipment/Misc.hs 11;" t EquipSite src/Dodge/Equipment/Data.hs 6;" t EquipUse src/Dodge/Data/Item/Use.hs 50;" C -EquipUse' src/Dodge/Data/Item/Use.hs 99;" t +EquipUse' src/Dodge/Data/Item/Use.hs 100;" t Equipment src/Dodge/Data/Equipment.hs 12;" t Equipment src/Dodge/Data/Equipment.hs 3;" m Equipment src/Dodge/Data/Item/Use/Equipment.hs 5;" m @@ -887,34 +888,34 @@ FBranch src/TreeExtra.hs 8;" C FBranches src/TreeExtra.hs 9;" C FLAKCRAFT src/Dodge/Data/Item/Combine.hs 73;" C FLAMESHIELD src/Dodge/Combine/Data.hs 105;" C -FLAMESHIELD src/Dodge/Data/Item/Combine.hs 126;" C +FLAMESHIELD src/Dodge/Data/Item/Combine.hs 127;" C FLAMESPITTER src/Dodge/Combine/Data.hs 161;" C -FLAMESPITTER src/Dodge/Data/Item/Combine.hs 180;" C +FLAMESPITTER src/Dodge/Data/Item/Combine.hs 181;" C FLAMETHROWER src/Dodge/Combine/Data.hs 162;" C -FLAMETHROWER src/Dodge/Data/Item/Combine.hs 181;" C +FLAMETHROWER src/Dodge/Data/Item/Combine.hs 182;" C FLAMETORRENT src/Dodge/Combine/Data.hs 163;" C -FLAMETORRENT src/Dodge/Data/Item/Combine.hs 182;" C +FLAMETORRENT src/Dodge/Data/Item/Combine.hs 183;" C FLAMEWALL src/Dodge/Combine/Data.hs 164;" C -FLAMEWALL src/Dodge/Data/Item/Combine.hs 183;" C +FLAMEWALL src/Dodge/Data/Item/Combine.hs 184;" C FLAMING src/Dodge/Data/Damage/Type.hs 18;" C FLAMING src/Dodge/Data/DamageType.hs 17;" C FLASHMODULE src/Dodge/Combine/Data.hs 68;" C FLASHMODULE src/Dodge/Data/Item/Combine.hs 71;" C FLATSHIELD src/Dodge/Combine/Data.hs 192;" C -FLATSHIELD src/Dodge/Data/Item/Combine.hs 201;" C +FLATSHIELD src/Dodge/Data/Item/Combine.hs 202;" C FLECHETRAJ src/Dodge/Combine/Data.hs 211;" C FLeaf src/TreeExtra.hs 10;" C FORCEFIELDGUN src/Dodge/Combine/Data.hs 188;" C -FORCEFIELDGUN src/Dodge/Data/Item/Combine.hs 198;" C +FORCEFIELDGUN src/Dodge/Data/Item/Combine.hs 199;" C FRAGCRAFT src/Dodge/Data/Item/Combine.hs 74;" C FRAGMODULE src/Dodge/Combine/Data.hs 67;" C FRAGMODULE src/Dodge/Data/Item/Combine.hs 70;" C FRONTARMOUR src/Dodge/Combine/Data.hs 106;" C -FRONTARMOUR src/Dodge/Data/Item/Combine.hs 127;" C +FRONTARMOUR src/Dodge/Data/Item/Combine.hs 128;" C FTree src/TreeExtra.hs 7;" t FUELCELL src/Dodge/Combine/Data.hs 60;" C FUELCELL src/Dodge/Data/Item/Combine.hs 68;" C -FUELPACK src/Dodge/Data/Item/Combine.hs 138;" C +FUELPACK src/Dodge/Data/Item/Combine.hs 139;" C FacilityType src/Dodge/Data/Scenario.hs 55;" t Faction src/Dodge/Creature/State/Data.hs 29;" t Faction src/Dodge/Data/Creature/State.hs 34;" t @@ -1009,7 +1010,7 @@ GEqC src/SameConstr.hs 20;" c GLASSSHARD src/Dodge/Data/Item/Combine.hs 40;" C GLHelp src/GLHelp.hs 1;" m GRAPECANNON src/Dodge/Combine/Data.hs 143;" C -GRAPECANNON src/Dodge/Data/Item/Combine.hs 166;" C +GRAPECANNON src/Dodge/Data/Item/Combine.hs 167;" C GRAVITYMODULE src/Dodge/Combine/Data.hs 75;" C GRAVITYMODULE src/Dodge/Data/Item/Combine.hs 80;" C GREEN src/Color/Data.hs 16;" C @@ -1076,16 +1077,16 @@ HARDDRIVE src/Dodge/Data/Item/Combine.hs 52;" C HARDWARE src/Dodge/Combine/Data.hs 29;" C HARDWARE src/Dodge/Data/Item/Combine.hs 32;" C HAT src/Dodge/Combine/Data.hs 110;" C -HAT src/Dodge/Data/Item/Combine.hs 131;" C +HAT src/Dodge/Data/Item/Combine.hs 132;" C HEADLAMP src/Dodge/Combine/Data.hs 111;" C -HEADLAMP src/Dodge/Data/Item/Combine.hs 133;" C +HEADLAMP src/Dodge/Data/Item/Combine.hs 134;" C HEADLAMP1 src/Dodge/Combine/Data.hs 112;" C HEATSENSOR src/Dodge/Combine/Data.hs 56;" C HEATSENSOR src/Dodge/Data/Item/Combine.hs 62;" C HELD src/Dodge/Combine/Data.hs 86;" C HELD src/Dodge/Data/Item/Combine.hs 87;" C HELDDETECTOR src/Dodge/Combine/Data.hs 190;" C -HELDDETECTOR src/Dodge/Data/Item/Combine.hs 199;" C +HELDDETECTOR src/Dodge/Data/Item/Combine.hs 200;" C HOSE src/Dodge/Data/Item/Combine.hs 34;" C HPtLayer src/Dodge/Picture/Layer/Data.hs 17;" C HUD src/Dodge/Data/HUD.hs 35;" t @@ -1119,7 +1120,7 @@ HeldFamily src/Dodge/Item/Family.hs 3;" C HeldFireRemoteShell src/Dodge/Data/Item/HeldUse.hs 21;" C HeldForceField src/Dodge/Data/Item/HeldUse.hs 29;" C HeldItemType src/Dodge/Combine/Data.hs 133;" t -HeldItemType src/Dodge/Data/Item/Combine.hs 158;" t +HeldItemType src/Dodge/Data/Item/Combine.hs 159;" t HeldLaser src/Dodge/Data/Item/HeldUse.hs 25;" C HeldMod src/Dodge/Data/Item/HeldUse.hs 68;" t HeldModNothing src/Dodge/Data/Item/HeldUse.hs 69;" C @@ -1127,7 +1128,7 @@ HeldOffset src/Dodge/Item/HeldOffset.hs 1;" m HeldOverNozzlesUseGasParams src/Dodge/Data/Item/HeldUse.hs 18;" C HeldPJCreation src/Dodge/Data/Item/HeldUse.hs 19;" C HeldPJCreationX src/Dodge/Data/Item/HeldUse.hs 20;" C -HeldParams src/Dodge/Data/Item/Use.hs 60;" t +HeldParams src/Dodge/Data/Item/Use.hs 61;" t HeldScroll src/Dodge/Data/Item/HeldScroll.hs 13;" t HeldScroll src/Dodge/Data/Item/HeldScroll.hs 6;" m HeldScroll src/Dodge/HeldScroll.hs 1;" m @@ -1140,7 +1141,7 @@ HeldTractor src/Dodge/Data/Item/HeldUse.hs 28;" C HeldUse src/Dodge/Data/Item/Use.hs 29;" C HeldUse src/Dodge/Data/Item/HeldUse.hs 6;" m HeldUse src/Dodge/HeldUse.hs 1;" m -HeldUse' src/Dodge/Data/Item/Use.hs 98;" t +HeldUse' src/Dodge/Data/Item/Use.hs 99;" t HeldUseAmmoParams src/Dodge/Data/Item/HeldUse.hs 17;" C HelpNum src/HelpNum.hs 1;" m HelperParticle src/Dodge/WorldEvent/HelperParticle.hs 2;" m @@ -1175,13 +1176,13 @@ Huse src/Dodge/Data/Item/HeldUse.hs 15;" t INCENDBUL src/Dodge/Combine/Data.hs 202;" C INCENDIARYMODULE src/Dodge/Combine/Data.hs 64;" C INCENDLAS src/Dodge/Combine/Data.hs 213;" C -INCENDLAS src/Dodge/Data/Item/Combine.hs 212;" C +INCENDLAS src/Dodge/Data/Item/Combine.hs 213;" C INVISIBILITYEQUIPMENT src/Dodge/Combine/Data.hs 108;" C -INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 129;" C +INVISIBILITYEQUIPMENT src/Dodge/Data/Item/Combine.hs 130;" C IRONBAR src/Dodge/Combine/Data.hs 53;" C IRONBAR src/Dodge/Data/Item/Combine.hs 59;" C ITEMDETECTOR src/Dodge/Combine/Data.hs 225;" C -ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 221;" C +ITEMDETECTOR src/Dodge/Data/Item/Combine.hs 222;" C IcAmount src/Dodge/Data/ItemAmount.hs 9;" t ImmediateEffect src/Loop/Data.hs 8;" C Importance src/Shape/Data.hs 34;" t @@ -1287,7 +1288,7 @@ ItInvEffect src/Dodge/Data/ItEffect.hs 13;" C ItInvEffectDrop src/Dodge/Data/ItEffect.hs 29;" C ItInvEffectID src/Dodge/Data/ItEffect.hs 25;" C ItRewindEffect src/Dodge/Data/ItEffect.hs 17;" C -ItZoom src/Dodge/Data/Item/Use.hs 129;" t +ItZoom src/Dodge/Data/Item/Use.hs 130;" t Item src/Dodge/Data/Item.hs 33;" t Item src/Dodge/Base/Item.hs 1;" m Item src/Dodge/Data/Item.hs 6;" m @@ -1299,15 +1300,15 @@ ItemAttachment src/Dodge/Data/Item.hs 50;" t ItemBaseType src/Dodge/Combine/Data.hs 81;" t ItemBaseType src/Dodge/Data/Item/Combine.hs 86;" t ItemClust src/Dodge/Combine/Graph.hs 18;" C -ItemConsume src/Dodge/Data/Item/Use.hs 95;" C -ItemCraft src/Dodge/Data/Item/Use.hs 96;" C +ItemConsume src/Dodge/Data/Item/Use.hs 96;" C +ItemCraft src/Dodge/Data/Item/Use.hs 97;" C ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t -ItemEquip src/Dodge/Data/Item/Use.hs 94;" C +ItemEquip src/Dodge/Data/Item/Use.hs 95;" C ItemFamily src/Dodge/Item/Family.hs 3;" t -ItemHeld src/Dodge/Data/Item/Use.hs 93;" C +ItemHeld src/Dodge/Data/Item/Use.hs 94;" C ItemLocation src/Dodge/Data/Item/Location.hs 11;" t ItemModuleType src/Dodge/Combine/Data.hs 197;" t -ItemModuleType src/Dodge/Data/Item/Combine.hs 205;" t +ItemModuleType src/Dodge/Data/Item/Combine.hs 206;" t ItemParams src/Dodge/Data/Item/Params.hs 16;" t ItemParams src/Dodge/Tesla/ItemParams.hs 1;" m ItemScrollTimeFlow src/Dodge/Data/World.hs 61;" C @@ -1317,37 +1318,37 @@ ItemType src/Dodge/Combine/Data.hs 12;" t ItemType src/Dodge/Data/Item/Combine.hs 16;" t ItemUnlocker src/Dodge/Lock/Data.hs 13;" C ItemUse src/Dodge/Data/Item/Use.hs 28;" t -ItemUse' src/Dodge/Data/Item/Use.hs 92;" t +ItemUse' src/Dodge/Data/Item/Use.hs 93;" t JETPACK src/Dodge/Combine/Data.hs 116;" C -JETPACK src/Dodge/Data/Item/Combine.hs 137;" C +JETPACK src/Dodge/Data/Item/Combine.hs 138;" C JGK src/Control/Foldl/JGK.hs 1;" m JUMPLEGS src/Dodge/Combine/Data.hs 115;" C -JUMPLEGS src/Dodge/Data/Item/Combine.hs 136;" C +JUMPLEGS src/Dodge/Data/Item/Combine.hs 137;" C JoinClust src/Dodge/Combine/Graph.hs 19;" C Just' src/MaybeHelp.hs 13;" C JustStartedPlaying src/Sound/Data.hs 25;" C Justify src/Justify.hs 1;" m KEYCARD src/Dodge/Combine/Data.hs 94;" C -KEYCARD src/Dodge/Data/Item/Combine.hs 202;" C +KEYCARD src/Dodge/Data/Item/Combine.hs 203;" C Key src/Dodge/Layout/Tree/Annotate.hs 16;" C KeyConfig src/Dodge/Config/KeyConfig.hs 3;" m KeyConfigSDL src/Dodge/Config/KeyConfig.hs 17;" t Keyboard src/Dodge/Event/Keyboard.hs 2;" m Kill src/Dodge/Data/ActionPlan.hs 198;" C LASCIRCLE src/Dodge/Combine/Data.hs 169;" C -LASCIRCLE src/Dodge/Data/Item/Combine.hs 188;" C +LASCIRCLE src/Dodge/Data/Item/Combine.hs 189;" C LASERING src/Dodge/Data/Damage/Type.hs 19;" C LASERING src/Dodge/Data/DamageType.hs 18;" C LASGUN src/Dodge/Combine/Data.hs 168;" C -LASGUN src/Dodge/Data/Item/Combine.hs 187;" C +LASGUN src/Dodge/Data/Item/Combine.hs 188;" C LASWIDE src/Dodge/Combine/Data.hs 175;" C -LASWIDE src/Dodge/Data/Item/Combine.hs 190;" C +LASWIDE src/Dodge/Data/Item/Combine.hs 191;" C LAUNCHER src/Dodge/Combine/Data.hs 179;" C -LAUNCHER src/Dodge/Data/Item/Combine.hs 192;" C +LAUNCHER src/Dodge/Data/Item/Combine.hs 193;" C LAUNCHERX src/Dodge/Combine/Data.hs 180;" C -LAUNCHERX src/Dodge/Data/Item/Combine.hs 193;" C +LAUNCHERX src/Dodge/Data/Item/Combine.hs 194;" C LAUNCHHOME src/Dodge/Combine/Data.hs 217;" C -LAUNCHHOME src/Dodge/Data/Item/Combine.hs 216;" C +LAUNCHHOME src/Dodge/Data/Item/Combine.hs 217;" C LBlink src/Dodge/Data/Item/HeldUse.hs 63;" C LBoost src/Dodge/Data/Item/HeldUse.hs 65;" C LBranches src/TreeExtra.hs 24;" C @@ -1418,7 +1419,7 @@ LeftConsumption src/Dodge/Data/Item/Use/Consumption.hs 44;" t LeftForward src/Dodge/Creature/Stance/Data.hs 34;" C LeftForward src/Dodge/Data/Creature/Stance.hs 32;" C LeftItemType src/Dodge/Combine/Data.hs 122;" t -LeftItemType src/Dodge/Data/Item/Combine.hs 147;" t +LeftItemType src/Dodge/Data/Item/Combine.hs 148;" t LeftUse src/Dodge/Data/Item/Use.hs 39;" C LensHelp src/LensHelp.hs 1;" m Lethargic src/Dodge/Creature/AlertLevel/Data.hs 17;" C @@ -1501,29 +1502,29 @@ Lure src/Dodge/Data/ActionPlan.hs 179;" C Luse src/Dodge/Data/Item/HeldUse.hs 57;" t Luse src/Dodge/Luse.hs 1;" m MACHINEGUN src/Dodge/Combine/Data.hs 160;" C -MACHINEGUN src/Dodge/Data/Item/Combine.hs 179;" C +MACHINEGUN src/Dodge/Data/Item/Combine.hs 180;" C MACHINEPISTOL src/Dodge/Combine/Data.hs 138;" C -MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 161;" C +MACHINEPISTOL src/Dodge/Data/Item/Combine.hs 162;" C MAGENTA src/Color/Data.hs 20;" C MAGNET src/Dodge/Combine/Data.hs 43;" C MAGNET src/Dodge/Data/Item/Combine.hs 47;" C MAGNETMAG src/Dodge/Combine/Data.hs 201;" C -MAGNETMAG src/Dodge/Data/Item/Combine.hs 207;" C +MAGNETMAG src/Dodge/Data/Item/Combine.hs 208;" C MAGNETTRAJ src/Dodge/Combine/Data.hs 210;" C MAGSHIELD src/Dodge/Combine/Data.hs 104;" C -MAGSHIELD src/Dodge/Data/Item/Combine.hs 125;" C +MAGSHIELD src/Dodge/Data/Item/Combine.hs 126;" C MBranch src/Dodge/Tree/Compose/Data.hs 10;" C MCrAc src/Dodge/Data/CreatureEffect.hs 46;" t MCrNoAction src/Dodge/Data/CreatureEffect.hs 46;" C MEDKIT src/Dodge/Combine/Data.hs 96;" C -MEDKIT src/Dodge/Data/Item/Combine.hs 118;" C +MEDKIT src/Dodge/Data/Item/Combine.hs 119;" C MICROCHIP src/Dodge/Combine/Data.hs 47;" C MICROCHIP src/Dodge/Data/Item/Combine.hs 51;" C MICROPHONE src/Dodge/Data/Item/Combine.hs 63;" C MINIDISPLAY src/Dodge/Combine/Data.hs 50;" C MINIDISPLAY src/Dodge/Data/Item/Combine.hs 56;" C MINIGUNX src/Dodge/Combine/Data.hs 147;" C -MINIGUNX src/Dodge/Data/Item/Combine.hs 167;" C +MINIGUNX src/Dodge/Data/Item/Combine.hs 168;" C MODBlockedString src/Dodge/Data/Universe.hs 96;" C MODString src/Dodge/Data/Universe.hs 95;" C MODStringOption src/Dodge/Data/Universe.hs 97;" C @@ -1533,7 +1534,7 @@ MP2Ac src/Dodge/Data/CreatureEffect.hs 57;" t MP2NoAction src/Dodge/Data/CreatureEffect.hs 57;" C MTRS src/Dodge/Annotation/Data.hs 11;" t MTree src/Dodge/Tree/Compose/Data.hs 8;" C -MULTIGUN src/Dodge/Data/Item/Combine.hs 169;" C +MULTIGUN src/Dodge/Data/Item/Combine.hs 170;" C Machine src/Dodge/Data/Machine.hs 31;" t Machine src/Dodge/Data/Machine.hs 6;" m Machine src/Dodge/Machine.hs 1;" m @@ -1612,29 +1613,29 @@ Misc src/Dodge/Data/Creature/Misc.hs 6;" m Misc src/Dodge/Data/Equipment/Misc.hs 6;" m Misc src/Dodge/Data/Item/Misc.hs 6;" m ModAutoMag src/Dodge/Combine/Data.hs 236;" C -ModAutoMag src/Dodge/Data/Item/Combine.hs 230;" C +ModAutoMag src/Dodge/Data/Item/Combine.hs 231;" C ModBattery src/Dodge/Combine/Data.hs 240;" C -ModBattery src/Dodge/Data/Item/Combine.hs 234;" C +ModBattery src/Dodge/Data/Item/Combine.hs 235;" C ModBullet src/Dodge/Combine/Data.hs 233;" C -ModBulletCollision src/Dodge/Data/Item/Combine.hs 227;" C -ModBulletPayload src/Dodge/Data/Item/Combine.hs 228;" C +ModBulletCollision src/Dodge/Data/Item/Combine.hs 228;" C +ModBulletPayload src/Dodge/Data/Item/Combine.hs 229;" C ModBulletSpawn src/Dodge/Combine/Data.hs 234;" C ModBulletTrajectory src/Dodge/Combine/Data.hs 238;" C -ModBulletTrajectory src/Dodge/Data/Item/Combine.hs 232;" C +ModBulletTrajectory src/Dodge/Data/Item/Combine.hs 233;" C ModDualBeam src/Dodge/Combine/Data.hs 242;" C -ModDualBeam src/Dodge/Data/Item/Combine.hs 236;" C +ModDualBeam src/Dodge/Data/Item/Combine.hs 237;" C ModHeldAttach src/Dodge/Combine/Data.hs 243;" C -ModHeldAttach src/Dodge/Data/Item/Combine.hs 237;" C +ModHeldAttach src/Dodge/Data/Item/Combine.hs 238;" C ModIDID src/Dodge/Data/Modification.hs 23;" C ModIDTimerPoint3Bool src/Dodge/Data/Modification.hs 15;" C ModLauncherHoming src/Dodge/Combine/Data.hs 239;" C -ModLauncherHoming src/Dodge/Data/Item/Combine.hs 233;" C +ModLauncherHoming src/Dodge/Data/Item/Combine.hs 234;" C ModRifleMag src/Dodge/Combine/Data.hs 235;" C -ModRifleMag src/Dodge/Data/Item/Combine.hs 229;" C +ModRifleMag src/Dodge/Data/Item/Combine.hs 230;" C ModTarget src/Dodge/Combine/Data.hs 237;" C -ModTarget src/Dodge/Data/Item/Combine.hs 231;" C +ModTarget src/Dodge/Data/Item/Combine.hs 232;" C ModTeleport src/Dodge/Combine/Data.hs 241;" C -ModTeleport src/Dodge/Data/Item/Combine.hs 235;" C +ModTeleport src/Dodge/Data/Item/Combine.hs 236;" C ModWithDirectedTeleport src/Dodge/Data/Item/HeldUse.hs 93;" C Modification src/Dodge/Data/Modification.hs 14;" t Modification src/Dodge/Data/Modification.hs 6;" m @@ -1645,7 +1646,7 @@ Module src/Dodge/Combine/Module.hs 1;" m Module src/Dodge/Item/Module.hs 1;" m Module src/Dodge/Module.hs 1;" m ModuleSlot src/Dodge/Combine/Data.hs 232;" t -ModuleSlot src/Dodge/Data/Item/Combine.hs 226;" t +ModuleSlot src/Dodge/Data/Item/Combine.hs 227;" t MonadHelp src/MonadHelp.hs 1;" m MountedLS src/Dodge/Data/MountedObject.hs 12;" C MountedObject src/Dodge/Data/MountedObject.hs 11;" t @@ -1669,7 +1670,7 @@ Music src/Music.hs 1;" m MusicData src/Music.hs 7;" t Mute src/Dodge/Data/Creature/Misc.hs 28;" C MuzFlare src/Dodge/Data/Flare.hs 15;" C -Muzzle src/Dodge/Data/Item/Use.hs 113;" t +Muzzle src/Dodge/Data/Item/Use.hs 114;" t MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvPt src/Dodge/MvPt.hs 1;" m MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C @@ -1833,7 +1834,7 @@ OnSpecial src/Dodge/Equipment/Data.hs 24;" C OnTurret src/Dodge/Data/Item/Location.hs 13;" C OnceSound src/Dodge/Data/SoundOrigin.hs 15;" C OneArgument src/Dodge/Data/Terminal.hs 94;" C -OneHand src/Dodge/Data/Item/Use.hs 124;" C +OneHand src/Dodge/Data/Item/Use.hs 125;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardCluster src/Dodge/RoomCluster/Data.hs 12;" C OnwardList src/Dodge/Annotation/Data.hs 15;" C @@ -1865,7 +1866,7 @@ PIERCING src/Dodge/Data/DamageType.hs 11;" C PIPE src/Dodge/Combine/Data.hs 27;" C PIPE src/Dodge/Data/Item/Combine.hs 30;" C PISTOL src/Dodge/Combine/Data.hs 135;" C -PISTOL src/Dodge/Data/Item/Combine.hs 160;" C +PISTOL src/Dodge/Data/Item/Combine.hs 161;" C PJDecTimMvVel src/Dodge/Data/Item/Use/Consumption/Ammo.hs 32;" C PJReduceSpin src/Dodge/Data/Ammo.hs 24;" C PJReduceSpin src/Dodge/Data/Item/Use/Consumption/Ammo.hs 28;" C @@ -1891,11 +1892,11 @@ PLUS src/Dodge/Data/GenParams.hs 20;" C POISONDAM src/Dodge/Data/Damage/Type.hs 23;" C POISONDAM src/Dodge/Data/DamageType.hs 24;" C POISONSPRAYER src/Dodge/Combine/Data.hs 183;" C -POISONSPRAYER src/Dodge/Data/Item/Combine.hs 195;" C +POISONSPRAYER src/Dodge/Data/Item/Combine.hs 196;" C PORTABLEFUSION src/Dodge/Combine/Data.hs 61;" C PORTABLEFUSION src/Dodge/Data/Item/Combine.hs 69;" C POWERLEGS src/Dodge/Combine/Data.hs 113;" C -POWERLEGS src/Dodge/Data/Item/Combine.hs 134;" C +POWERLEGS src/Dodge/Data/Item/Combine.hs 135;" C PPLevelReset src/Dodge/Data/PressPlate.hs 16;" C PRISM src/Dodge/Combine/Data.hs 40;" C PRISM src/Dodge/Data/Item/Combine.hs 45;" C @@ -2098,17 +2099,17 @@ RBList src/Dodge/Inventory/RBList.hs 1;" m RBranches src/TreeExtra.hs 48;" C RED src/Color/Data.hs 15;" C REMOTELAUNCHER src/Dodge/Combine/Data.hs 182;" C -REMOTELAUNCHER src/Dodge/Data/Item/Combine.hs 194;" C +REMOTELAUNCHER src/Dodge/Data/Item/Combine.hs 195;" C REPEATER src/Dodge/Combine/Data.hs 150;" C -REPEATER src/Dodge/Data/Item/Combine.hs 171;" C +REPEATER src/Dodge/Data/Item/Combine.hs 172;" C REVOLVEMAG src/Dodge/Data/Item/Combine.hs 110;" C REVOLVER src/Dodge/Combine/Data.hs 136;" C REVOLVERX src/Dodge/Combine/Data.hs 137;" C REWINDER src/Dodge/Combine/Data.hs 124;" C -REWINDWATCH src/Dodge/Data/Item/Combine.hs 150;" C +REWINDWATCH src/Dodge/Data/Item/Combine.hs 151;" C RGBA src/Color/Data.hs 31;" t RIFLE src/Dodge/Combine/Data.hs 149;" C -RIFLE src/Dodge/Data/Item/Combine.hs 170;" C +RIFLE src/Dodge/Data/Item/Combine.hs 171;" C RLeaf src/TreeExtra.hs 49;" C ROSE src/Color/Data.hs 21;" C RPLinkStatus src/Dodge/Data/Room.hs 55;" t @@ -2226,33 +2227,34 @@ RoundedFaces src/Shape/Data.hs 18;" C RunPast src/Dodge/Room/RunPast.hs 1;" m RunningSideEffect src/Dodge/Data/Universe.hs 65;" C SCRAPMETAL src/Dodge/Data/Item/Combine.hs 41;" C -SCROLLATTACH src/Dodge/Data/Item/Combine.hs 98;" C -SCROLLWATCH src/Dodge/Data/Item/Combine.hs 151;" C +SCROLLATTACH src/Dodge/Data/Item/Combine.hs 99;" C +SCROLLWATCH src/Dodge/Data/Item/Combine.hs 152;" C SHARDGLASS src/Dodge/Combine/Data.hs 36;" C SHATTERGUN src/Dodge/Combine/Data.hs 186;" C -SHATTERGUN src/Dodge/Data/Item/Combine.hs 197;" C +SHATTERGUN src/Dodge/Data/Item/Combine.hs 198;" C SHATTERING src/Dodge/Data/Damage/Type.hs 17;" C SHATTERING src/Dodge/Data/DamageType.hs 16;" C +SHELLMAG src/Dodge/Data/Item/Combine.hs 114;" C SHRINKER src/Dodge/Combine/Data.hs 127;" C -SHRINKER src/Dodge/Data/Item/Combine.hs 154;" C +SHRINKER src/Dodge/Data/Item/Combine.hs 155;" C SIZEMODULE src/Dodge/Combine/Data.hs 74;" C SIZEMODULE src/Dodge/Data/Item/Combine.hs 79;" C SMG src/Dodge/Combine/Data.hs 140;" C -SMG src/Dodge/Data/Item/Combine.hs 163;" C +SMG src/Dodge/Data/Item/Combine.hs 164;" C SNIPERRIFLE src/Dodge/Combine/Data.hs 159;" C -SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 178;" C +SNIPERRIFLE src/Dodge/Data/Item/Combine.hs 179;" C SOUNDSENSOR src/Dodge/Combine/Data.hs 55;" C SOUNDSENSOR src/Dodge/Data/Item/Combine.hs 61;" C SPARKGUN src/Dodge/Combine/Data.hs 166;" C -SPARKGUN src/Dodge/Data/Item/Combine.hs 185;" C +SPARKGUN src/Dodge/Data/Item/Combine.hs 186;" C SPARKING src/Dodge/Data/Damage/Type.hs 15;" C SPARKING src/Dodge/Data/DamageType.hs 14;" C SPAWNER src/Dodge/Combine/Data.hs 128;" C -SPAWNER src/Dodge/Data/Item/Combine.hs 155;" C +SPAWNER src/Dodge/Data/Item/Combine.hs 156;" C SPEEDLEGS src/Dodge/Combine/Data.hs 114;" C -SPEEDLEGS src/Dodge/Data/Item/Combine.hs 135;" C +SPEEDLEGS src/Dodge/Data/Item/Combine.hs 136;" C SPLITLAS src/Dodge/Combine/Data.hs 214;" C -SPLITLAS src/Dodge/Data/Item/Combine.hs 213;" C +SPLITLAS src/Dodge/Data/Item/Combine.hs 214;" C SPRING src/Dodge/Combine/Data.hs 30;" C SPRING src/Dodge/Data/Item/Combine.hs 33;" C SPic src/ShapePicture/Data.hs 4;" t @@ -2262,10 +2264,10 @@ SSSExtra src/Dodge/Data/SelectionList.hs 44;" t ST src/Dodge/Tree/Compose/Data.hs 12;" C STATICBUL src/Dodge/Combine/Data.hs 205;" C STATICLAS src/Dodge/Combine/Data.hs 215;" C -STATICLAS src/Dodge/Data/Item/Combine.hs 214;" C +STATICLAS src/Dodge/Data/Item/Combine.hs 215;" C STATICMODULE src/Dodge/Combine/Data.hs 65;" C STEELDRUM src/Dodge/Data/Item/Combine.hs 38;" C -STOPWATCH src/Dodge/Data/Item/Combine.hs 149;" C +STOPWATCH src/Dodge/Data/Item/Combine.hs 150;" C SameConstr src/SameConstr.hs 5;" m Save src/Dodge/Save.hs 1;" m SaveSlot src/Dodge/Data/SaveSlot.hs 9;" t @@ -2286,8 +2288,8 @@ ScreenPos src/Dodge/Data/ScreenPos.hs 9;" t ScreenPos src/Dodge/Data/ScreenPos.hs 3;" m ScreenPos src/Dodge/ScreenPos.hs 1;" m Scroll src/Dodge/Update/Scroll.hs 1;" m -ScrollAttachParams src/Dodge/Data/Item/Use.hs 80;" t -ScrollAttachParams src/Dodge/Data/Item/Use.hs 71;" C +ScrollAttachParams src/Dodge/Data/Item/Use.hs 81;" t +ScrollAttachParams src/Dodge/Data/Item/Use.hs 72;" C ScrollAttachType src/Dodge/Data/Item/Combine.hs 105;" t ScrollValue src/Dodge/ScrollValue.hs 1;" m SecretCabal src/Dodge/Data/Scenario.hs 44;" C @@ -2504,9 +2506,9 @@ SwitchToItem src/Dodge/Data/ActionPlan.hs 38;" C Synonyms src/Dodge/SoundLogic/Synonyms.hs 1;" m TAPE src/Dodge/Data/Item/Combine.hs 35;" C TARGCR src/Dodge/Combine/Data.hs 207;" C -TARGET src/Dodge/Data/Item/Combine.hs 211;" C +TARGET src/Dodge/Data/Item/Combine.hs 212;" C TARGETATTACH src/Dodge/Data/Item/Combine.hs 100;" C -TARGETINGHAT src/Dodge/Data/Item/Combine.hs 132;" C +TARGETINGHAT src/Dodge/Data/Item/Combine.hs 133;" C TARGETLASER src/Dodge/Data/Item/Targeting.hs 12;" C TARGETMODULE src/Dodge/Data/Item/Combine.hs 81;" C TARGLAS src/Dodge/Combine/Data.hs 208;" C @@ -2514,7 +2516,7 @@ TARGPOS src/Dodge/Combine/Data.hs 209;" C TELEPORTMODULE src/Dodge/Combine/Data.hs 72;" C TELEPORTMODULE src/Dodge/Data/Item/Combine.hs 77;" C TESLAGUN src/Dodge/Combine/Data.hs 167;" C -TESLAGUN src/Dodge/Data/Item/Combine.hs 186;" C +TESLAGUN src/Dodge/Data/Item/Combine.hs 187;" C THERMOMETER src/Dodge/Combine/Data.hs 41;" C THERMOMETER src/Dodge/Data/Item/Combine.hs 64;" C THREELINES src/Dodge/Data/GenParams.hs 20;" C @@ -2529,10 +2531,10 @@ TLSIntensity src/Dodge/Data/LightSource.hs 16;" t TLSUpdate src/Dodge/Data/LightSource.hs 21;" t TO src/Shader/Data.hs 59;" t TORCH src/Dodge/Combine/Data.hs 191;" C -TORCH src/Dodge/Data/Item/Combine.hs 200;" C +TORCH src/Dodge/Data/Item/Combine.hs 201;" C TORQUEDAM src/Dodge/Data/DamageType.hs 22;" C TRACTORGUN src/Dodge/Combine/Data.hs 178;" C -TRACTORGUN src/Dodge/Data/Item/Combine.hs 191;" C +TRACTORGUN src/Dodge/Data/Item/Combine.hs 192;" C TRANSFORMER src/Dodge/Combine/Data.hs 39;" C TRANSFORMER src/Dodge/Data/Item/Combine.hs 44;" C TRANSMITTER src/Dodge/Combine/Data.hs 46;" C @@ -2560,7 +2562,7 @@ TUBE src/Dodge/Data/Item/Combine.hs 31;" C Tank src/Dodge/Placement/Instance/Tank.hs 1;" m Tanks src/Dodge/Room/Tanks.hs 1;" m Tap src/Dodge/Data/SoundOrigin.hs 37;" C -TargetAttachParams src/Dodge/Data/Item/Use.hs 76;" C +TargetAttachParams src/Dodge/Data/Item/Use.hs 77;" C TargetCursor src/Dodge/Data/Item/Targeting.hs 16;" C TargetCursorUpdate src/Dodge/Data/Targeting.hs 26;" C TargetDistanceDraw src/Dodge/Data/Targeting.hs 32;" C @@ -2721,9 +2723,9 @@ TweakTractionPower src/Dodge/Data/Item/Tweak.hs 22;" C TweakType src/Dodge/Data/Item/Tweak.hs 20;" t Tweakable src/Dodge/Data/Item/Tweak.hs 15;" C TwistGoal src/Dodge/Data/Scenario.hs 15;" C -TwoHandFlat src/Dodge/Data/Item/Use.hs 123;" C -TwoHandOver src/Dodge/Data/Item/Use.hs 122;" C -TwoHandUnder src/Dodge/Data/Item/Use.hs 121;" C +TwoHandFlat src/Dodge/Data/Item/Use.hs 124;" C +TwoHandOver src/Dodge/Data/Item/Use.hs 123;" C +TwoHandUnder src/Dodge/Data/Item/Use.hs 122;" C Type src/Dodge/Data/Damage/Type.hs 6;" m Typical src/Shape/Data.hs 36;" C UPtLayer src/Dodge/Picture/Layer/Data.hs 16;" C @@ -2787,7 +2789,7 @@ VBO src/Shader/Data.hs 81;" t VF src/Polyhedra/Data.hs 21;" t VIOLET src/Color/Data.hs 22;" C VOLLEYGUN src/Dodge/Combine/Data.hs 148;" C -VOLLEYGUN src/Dodge/Data/Item/Combine.hs 168;" C +VOLLEYGUN src/Dodge/Data/Item/Combine.hs 169;" C VariableRate src/Dodge/Data/Item/HeldDelay.hs 18;" C VariableRate src/Dodge/Data/Item/Use/Delay.hs 16;" C VariableRate src/Dodge/Data/Item/UseDelay.hs 16;" C @@ -2814,15 +2816,15 @@ Vocalization src/Dodge/Creature/Vocalization.hs 1;" m Volition src/Dodge/Creature/Volition.hs 2;" m VolleyGunMod src/Dodge/Data/Item/HeldUse.hs 86;" C WALLDETECTOR src/Dodge/Combine/Data.hs 227;" C -WALLDETECTOR src/Dodge/Data/Item/Combine.hs 223;" C +WALLDETECTOR src/Dodge/Data/Item/Combine.hs 224;" C WASD src/Dodge/WASD.hs 1;" m WEPTELE src/Dodge/Combine/Data.hs 216;" C -WEPTELE src/Dodge/Data/Item/Combine.hs 215;" C +WEPTELE src/Dodge/Data/Item/Combine.hs 216;" C WHITE src/Color/Data.hs 27;" C WIRE src/Dodge/Combine/Data.hs 58;" C WIRE src/Dodge/Data/Item/Combine.hs 66;" C WRISTARMOUR src/Dodge/Combine/Data.hs 107;" C -WRISTARMOUR src/Dodge/Data/Item/Combine.hs 128;" C +WRISTARMOUR src/Dodge/Data/Item/Combine.hs 129;" C WaitMessage src/Dodge/Data/Menu.hs 5;" C WaitThen src/Dodge/Data/ActionPlan.hs 103;" C WalkCycle src/Dodge/Creature/State/WalkCycle.hs 1;" m @@ -2935,7 +2937,7 @@ Zoning src/Dodge/Zoning.hs 1;" m ZoomScope src/Dodge/Data/Item/Attachment.hs 30;" C ZoomScope src/Dodge/Item/Attachment/Data.hs 31;" C ZoomScope src/Dodge/Item/Weapon/ZoomScope.hs 1;" m -ZoomScrollParams src/Dodge/Data/Item/Use.hs 81;" C +ZoomScrollParams src/Dodge/Data/Item/Use.hs 82;" C __Just' src/MaybeHelp.hs 13;" f _actAction src/Dodge/Data/ActionPlan.hs 81;" f _actLabel src/Dodge/Data/ActionPlan.hs 80;" f @@ -2950,13 +2952,13 @@ _actionTime src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 14;" f _actionTime src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 17;" f _actionTime src/Dodge/Data/LoadAction.hs 11;" f _actionTime src/Dodge/Data/LoadAction.hs 14;" f -_aimHandlePos src/Dodge/Data/Item/Use.hs 108;" f -_aimMuzzles src/Dodge/Data/Item/Use.hs 109;" f -_aimRange src/Dodge/Data/Item/Use.hs 105;" f -_aimStance src/Dodge/Data/Item/Use.hs 107;" f -_aimTurnSpeed src/Dodge/Data/Item/Use.hs 104;" f -_aimWeight src/Dodge/Data/Item/Use.hs 103;" f -_aimZoom src/Dodge/Data/Item/Use.hs 106;" f +_aimHandlePos src/Dodge/Data/Item/Use.hs 109;" f +_aimMuzzles src/Dodge/Data/Item/Use.hs 110;" f +_aimRange src/Dodge/Data/Item/Use.hs 106;" f +_aimStance src/Dodge/Data/Item/Use.hs 108;" f +_aimTurnSpeed src/Dodge/Data/Item/Use.hs 105;" f +_aimWeight src/Dodge/Data/Item/Use.hs 104;" f +_aimZoom src/Dodge/Data/Item/Use.hs 107;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 24;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 28;" f @@ -2983,9 +2985,9 @@ _amString src/Dodge/Data/Ammo.hs 33;" f _amString src/Dodge/Data/Ammo.hs 38;" f _amString src/Dodge/Data/Ammo.hs 42;" f _ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f -_ammoLoadStatus src/Dodge/Data/Item/Use.hs 73;" f -_ammoParams src/Dodge/Data/Item/Use.hs 74;" f -_ampBullet src/Dodge/Data/Item/Use.hs 78;" f +_ammoLoadStatus src/Dodge/Data/Item/Use.hs 74;" f +_ammoParams src/Dodge/Data/Item/Use.hs 75;" f +_ampBullet src/Dodge/Data/Item/Use.hs 79;" f _amposDir src/Dodge/Item/AmmoPosition.hs 9;" f _amposPos src/Dodge/Item/AmmoPosition.hs 9;" f _apAction src/Dodge/Data/ActionPlan.hs 20;" f @@ -3463,6 +3465,7 @@ _iaLoaded src/Dodge/Data/Item/Use/Consumption.hs 37;" f _iaMax src/Dodge/Data/Item/Use/Consumption.hs 36;" f _iaPrimed src/Dodge/Data/Item/Use/Consumption.hs 38;" f _iaProgress src/Dodge/Data/Item/Use/Consumption.hs 40;" f +_ibtAmmoMag src/Dodge/Data/Item/Combine.hs 93;" f _ibtAttach src/Dodge/Data/Item/Combine.hs 92;" f _ibtAttachTarget src/Dodge/Data/Item/Combine.hs 100;" f _ibtConsumable src/Dodge/Data/Item/Combine.hs 90;" f @@ -3493,8 +3496,8 @@ _impulseUseAheadPos src/Dodge/Data/ActionPlan.hs 56;" f _impulseUseTarget src/Dodge/Data/ActionPlan.hs 53;" f _impulseUseTargetCID src/Dodge/Data/ActionPlan.hs 50;" f _impulsesListList src/Dodge/Data/ActionPlan.hs 98;" f -_imtBulletTrajectoryType src/Dodge/Data/Item/Combine.hs 210;" f -_imtTargetType src/Dodge/Data/Item/Combine.hs 211;" f +_imtBulletTrajectoryType src/Dodge/Data/Item/Combine.hs 211;" f +_imtTargetType src/Dodge/Data/Item/Combine.hs 212;" f _inInventory src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 28;" f _inNearby src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 30;" f _input src/Dodge/Data/World.hs 43;" f @@ -3540,9 +3543,9 @@ _iyBase src/Dodge/Data/Item/Combine.hs 17;" f _iyModules src/Dodge/Combine/Data.hs 14;" f _iyModules src/Dodge/Data/Item/Combine.hs 18;" f _iyStack src/Dodge/Combine/Data.hs 15;" f -_izFac src/Dodge/Data/Item/Use.hs 132;" f -_izMax src/Dodge/Data/Item/Use.hs 130;" f -_izMin src/Dodge/Data/Item/Use.hs 131;" f +_izFac src/Dodge/Data/Item/Use.hs 133;" f +_izMax src/Dodge/Data/Item/Use.hs 131;" f +_izMin src/Dodge/Data/Item/Use.hs 132;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 145;" f _lWorld src/Dodge/Data/CWorld.hs 26;" f @@ -3663,15 +3666,15 @@ _mtBranches src/Dodge/Tree/Compose/Data.hs 8;" f _mtLabel src/Dodge/Tree/Compose/Data.hs 8;" f _mtTree src/Dodge/Tree/Compose/Data.hs 8;" f _musicData src/Data/Preload.hs 13;" f -_muzVel src/Dodge/Data/Item/Use.hs 63;" f +_muzVel src/Dodge/Data/Item/Use.hs 64;" f _mvAimSpeed src/Dodge/Data/Creature/Misc.hs 44;" f _mvSpeed src/Dodge/Data/Creature/Misc.hs 39;" f _mvToPoint src/Dodge/Data/Creature.hs 98;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 43;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 42;" f -_mzInaccuracy src/Dodge/Data/Item/Use.hs 116;" f -_mzPos src/Dodge/Data/Item/Use.hs 114;" f -_mzRot src/Dodge/Data/Item/Use.hs 115;" f +_mzInaccuracy src/Dodge/Data/Item/Use.hs 117;" f +_mzPos src/Dodge/Data/Item/Use.hs 115;" f +_mzRot src/Dodge/Data/Item/Use.hs 116;" f _newArcStep src/Dodge/Data/Item/Params.hs 57;" f _newBeams src/Dodge/Data/LWorld.hs 114;" f _noClip src/Dodge/Debug/Flag/Data.hs 7;" f @@ -3695,9 +3698,9 @@ _opPlacement src/Dodge/Data/GenWorld.hs 129;" f _opPlacementID src/Dodge/Data/GenWorld.hs 130;" f _opSel src/Dodge/Data/RightButtonOptions.hs 15;" f _opTexture src/Dodge/Data/Wall.hs 42;" f -_opticDefaultZoom src/Dodge/Data/Item/Use.hs 87;" f -_opticPos src/Dodge/Data/Item/Use.hs 83;" f -_opticZoom src/Dodge/Data/Item/Use.hs 86;" f +_opticDefaultZoom src/Dodge/Data/Item/Use.hs 88;" f +_opticPos src/Dodge/Data/Item/Use.hs 84;" f +_opticZoom src/Dodge/Data/Item/Use.hs 87;" f _paramMID src/Dodge/Data/Item/Params.hs 60;" f _partialAction src/Dodge/Data/ActionPlan.hs 145;" f _pastWorlds src/Dodge/Data/World.hs 38;" f @@ -3846,7 +3849,7 @@ _pyFaces src/Polyhedra/Data.hs 14;" f _radarBlips src/Dodge/Data/LWorld.hs 112;" f _radarSweeps src/Dodge/Data/LWorld.hs 107;" f _randGen src/Dodge/Data/World.hs 40;" f -_randomOffset src/Dodge/Data/Item/Use.hs 67;" f +_randomOffset src/Dodge/Data/Item/Use.hs 68;" f _rateMax src/Dodge/Data/Item/HeldDelay.hs 15;" f _rateMax src/Dodge/Data/Item/HeldDelay.hs 19;" f _rateMax src/Dodge/Data/Item/Use/Delay.hs 13;" f @@ -3872,7 +3875,7 @@ _rbPos src/Dodge/Data/RadarBlip.hs 19;" f _rbRad src/Dodge/Data/RadarBlip.hs 18;" f _rbTime src/Dodge/Data/RadarBlip.hs 16;" f _rboBaseBloom src/Data/Preload/Render.hs 38;" f -_recoil src/Dodge/Data/Item/Use.hs 65;" f +_recoil src/Dodge/Data/Item/Use.hs 66;" f _reloadAction src/Dodge/Data/Item/Use/Consumption/LoadAction.hs 45;" f _reloadAction src/Dodge/Data/LoadAction.hs 26;" f _remotePos src/Dodge/Data/Item/Scope.hs 17;" f @@ -3881,7 +3884,7 @@ _renderData src/Data/Preload.hs 11;" f _reverseAmount src/Dodge/Data/World.hs 63;" f _reverseAmount src/Dodge/Data/World.hs 69;" f _reverseAmount src/Dodge/Data/World.hs 73;" f -_rifling src/Dodge/Data/Item/Use.hs 64;" f +_rifling src/Dodge/Data/Item/Use.hs 65;" f _rlDir src/Dodge/Data/Room.hs 26;" f _rlPos src/Dodge/Data/Room.hs 25;" f _rlType src/Dodge/Data/Room.hs 24;" f @@ -3969,8 +3972,8 @@ _scopeZoomChange src/Dodge/Data/Item/Attachment.hs 33;" f _scopeZoomChange src/Dodge/Item/Attachment/Data.hs 33;" f _screenTextureVAO src/Data/Preload/Render.hs 50;" f _scrollAmount src/Dodge/Data/Input.hs 24;" f -_scrollAttachParams src/Dodge/Data/Item/Use.hs 71;" f -_scrollChar src/Dodge/Data/Item/Use.hs 90;" f +_scrollAttachParams src/Dodge/Data/Item/Use.hs 72;" f +_scrollChar src/Dodge/Data/Item/Use.hs 91;" f _scrollItemLocation src/Dodge/Data/World.hs 65;" f _scrollItemLocation src/Dodge/Data/World.hs 74;" f _scrollItemLocation src/Dodge/Data/World.hs 78;" f @@ -4167,7 +4170,7 @@ _toPlaySoundVolume src/Sound/Data.hs 43;" f _toPlaySoundVolumeFraction src/Sound/Data.hs 44;" f _toPlaySounds src/Dodge/Data/World.hs 41;" f _topBoxSize src/Shape/Data.hs 17;" f -_torqueAfter src/Dodge/Data/Item/Use.hs 66;" f +_torqueAfter src/Dodge/Data/Item/Use.hs 67;" f _tractorBeams src/Dodge/Data/LWorld.hs 121;" f _trieChildren src/SimpleTrie.hs 7;" f _trieMVal src/SimpleTrie.hs 6;" f @@ -4301,11 +4304,11 @@ _xNum src/Dodge/Combine/Data.hs 143;" f _xNum src/Dodge/Combine/Data.hs 147;" f _xNum src/Dodge/Combine/Data.hs 175;" f _xNum src/Dodge/Combine/Data.hs 180;" f -_xNum src/Dodge/Data/Item/Combine.hs 159;" f -_xNum src/Dodge/Data/Item/Combine.hs 166;" f -_xNum src/Dodge/Data/Item/Combine.hs 169;" f -_xNum src/Dodge/Data/Item/Combine.hs 190;" f -_xNum src/Dodge/Data/Item/Combine.hs 193;" f +_xNum src/Dodge/Data/Item/Combine.hs 160;" f +_xNum src/Dodge/Data/Item/Combine.hs 167;" f +_xNum src/Dodge/Data/Item/Combine.hs 170;" f +_xNum src/Dodge/Data/Item/Combine.hs 191;" f +_xNum src/Dodge/Data/Item/Combine.hs 194;" f _znBounds src/Dodge/Base/Zone.hs 24;" f _znFunc src/Dodge/Data/Zoning.hs 15;" f _znObjects src/Dodge/Base/Zone.hs 22;" f @@ -4548,7 +4551,7 @@ basicAttentionUpdate src/Dodge/Creature/Perception.hs 127;" f basicAwarenessUpdate src/Dodge/Creature/AlertLevel.hs 25;" f basicAwarenessUpdate src/Dodge/Creature/Perception.hs 37;" f basicBeamAt src/Dodge/Item/Weapon/BatteryGuns.hs 176;" f -basicBulDams src/Dodge/Item/Weapon/Bullet.hs 31;" f +basicBulDams src/Dodge/Item/Weapon/Bullet.hs 32;" f basicBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 11;" f basicCrPict src/Dodge/Creature/Picture.hs 25;" f basicCrShape src/Dodge/Creature/Picture.hs 32;" f @@ -5032,7 +5035,7 @@ defaultBatteryGun src/Dodge/Item/Held/BatteryGuns.hs 111;" f defaultBlock src/Dodge/Default/Block.hs 5;" f defaultBounds src/Dodge/Bounds.hs 13;" f defaultBounds src/Dodge/Data/Bounds.hs 20;" f -defaultBullet src/Dodge/Item/Weapon/Bullet.hs 15;" f +defaultBullet src/Dodge/Item/Weapon/Bullet.hs 16;" f defaultBulletLoadable src/Dodge/Default/Item/Held/Consumption.hs 18;" f defaultBulletLoadable src/Dodge/Default/Item/Use/Consumption.hs 15;" f defaultBulletSelTweak src/Dodge/TweakBullet.hs 7;" f @@ -5700,7 +5703,7 @@ healS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 354;" f healSound src/Dodge/SoundLogic/Synonyms.hs 4;" f healthAnalyserByDoor src/Dodge/Room/LasTurret.hs 72;" f healthTest src/Dodge/Room/LasTurret.hs 93;" f -heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 42;" f +heavyBulDams src/Dodge/Item/Weapon/Bullet.hs 44;" f heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f heldAimEffects src/Dodge/Creature/State.hs 69;" f heldBounds src/Dodge/Item/Module.hs 27;" f @@ -5730,7 +5733,7 @@ humanoidAIList src/Dodge/Humanoid.hs 184;" f hvBulDams src/Dodge/Particle/Damage.hs 13;" f hvBulHitCr src/Dodge/Particle/Bullet/HitEffect.hs 17;" f hvBulHitWall src/Dodge/Particle/Bullet/HitEffect.hs 54;" f -hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 36;" f +hvBulletAmmo src/Dodge/Item/Weapon/Bullet.hs 37;" f iShape src/Dodge/Placement/Instance/LightSource.hs 74;" f iShape src/Dodge/Placements/LightSource.hs 32;" f icosahedronPoints src/Polyhedra/Geodesic.hs 11;" f @@ -7084,6 +7087,7 @@ shatterGun src/Dodge/Item/Held/Weapons.hs 7;" f shatterGunSPic src/Dodge/Item/Draw/SPic.hs 230;" f shatterWall src/Dodge/Item/Weapon/Shatter.hs 26;" f shellCollisionCheck src/Dodge/Projectile/Update.hs 32;" f +shellMag src/Dodge/Item/Ammo.hs 48;" f shellShape src/Dodge/Projectile/Draw.hs 24;" f shellTrailCloud src/Dodge/WorldEvent/Cloud.hs 65;" f shieldWall src/Dodge/Euse.hs 114;" f