diff --git a/ghcidOutput b/ghcidOutput index 5f93e8d17..180138c31 100644 --- a/ghcidOutput +++ b/ghcidOutput @@ -1,10 +1,6 @@ -/home/justin/Haskell/loop/src/Dodge/Bullet.hs:75:5-11: warning: [-Wunused-local-binds] - Defined but not used: ‘bultype’ +/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 | -75 | bultype = _laAmmoType $ _heldConsumption $ _itUse it - | ^^^^^^^ -/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:371:14: warning: [-Wunused-matches] - Defined but not used: ‘x’ - | -371 | moddelay x = id - | ^ +29 | itemFromAttachType at = case at of + | ^^^^^^^^^^... diff --git a/src/Dodge/Bullet.hs b/src/Dodge/Bullet.hs index 2fcb5927f..c2efe2544 100644 --- a/src/Dodge/Bullet.hs +++ b/src/Dodge/Bullet.hs @@ -1,6 +1,6 @@ module Dodge.Bullet ( updateBullet, - useAmmoParams, + shootBullet, ) where import Linear @@ -58,8 +58,8 @@ updateBulVel bt = case _buTrajectory bt of -- should be made safe? -- should be renamed to shootBullet or something -useAmmoParams :: Item -> Creature -> World -> World -useAmmoParams it cr w = fromMaybe (error "cannot find bullet ammo when expected to") $ do +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 return $ w & cWorld . lWorld . instantBullets @@ -72,7 +72,6 @@ useAmmoParams it cr w = fromMaybe (error "cannot find bullet ammo when expected where sp = _crPos cr +.+ (muzlength ^?! _head . _x) *.* unitVectorAtAngle dir dir = _crDir cr - bultype = _laAmmoType $ _heldConsumption $ _itUse it muzvel = _muzVel $ _heldParams $ _itUse it muzlength = aimingMuzzlePos cr it settrajectory traj = case traj of diff --git a/src/Dodge/Data/Item/Combine.hs b/src/Dodge/Data/Item/Combine.hs index 04e55ba8b..3f95bbc75 100644 --- a/src/Dodge/Data/Item/Combine.hs +++ b/src/Dodge/Data/Item/Combine.hs @@ -111,6 +111,7 @@ data AmmoAttachType | TINMAG | DRUMMAG | BULLETBELT + | SHELLMAG deriving (Eq, Ord, Show, Read) diff --git a/src/Dodge/HeldUse.hs b/src/Dodge/HeldUse.hs index 1c0201433..c0ce52183 100644 --- a/src/Dodge/HeldUse.hs +++ b/src/Dodge/HeldUse.hs @@ -290,7 +290,7 @@ useMod hm = case hm of MiniGunMod i -> [ duplicateNumBarrels 1 , repeatTransformed - [ (moddelay x, modcrpos x) + [ (id, modcrpos x) | x <- map ((/ (fromIntegral i - 1)) . fromIntegral) [0 .. i -1] ] , afterRecoil (fromIntegral i * 5) @@ -368,11 +368,11 @@ useMod hm = case hm of where p = fromMaybe (_crPos cr) $ cr ^? crTargeting . ctPos . _Just a = argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- p) - moddelay x = id - --moddelay x = itUse . heldConsumption . laAmmoType . amBullet . buDelayFraction .~ x - modcrpos x cr = - cr & crDir %~ tweenAngles x (_crOldDir cr) + modcrpos x cr = fromMaybe cr $ do + 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 lasWideRate :: Int lasWideRate = 2 @@ -385,7 +385,7 @@ mcUseHeld hit = case hit of useHeld :: Huse -> Item -> Creature -> World -> World useHeld hu = case hu of HeldDoNothing -> const $ const id - HeldUseAmmoParams -> useAmmoParams + HeldUseAmmoParams -> shootBullet HeldOverNozzlesUseGasParams -> overNozzles useGasParams HeldPJCreation -> usePjCreation HeldPJCreationX i -> usePjCreationX i diff --git a/src/Dodge/Item/Ammo.hs b/src/Dodge/Item/Ammo.hs index f47135975..e412e38af 100644 --- a/src/Dodge/Item/Ammo.hs +++ b/src/Dodge/Item/Ammo.hs @@ -44,3 +44,22 @@ beltMag :: Item beltMag = tinMag & itType . iyBase .~ ATTACH (AMMOATTACH BULLETBELT) & itUse . attachParams . ammoLoadStatus . iaMax .~ 2000 + +shellMag :: Item +shellMag = + defaultHeldItem & itType . iyBase .~ ATTACH (AMMOATTACH 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 + } + } + } diff --git a/src/Dodge/Item/Weapon/Bullet.hs b/src/Dodge/Item/Weapon/Bullet.hs index 9e956ff2a..58b8335b4 100644 --- a/src/Dodge/Item/Weapon/Bullet.hs +++ b/src/Dodge/Item/Weapon/Bullet.hs @@ -4,12 +4,13 @@ module Dodge.Item.Weapon.Bullet ( defaultBullet, ) where -import Dodge.Data.Item.Use.Consumption.Ammo import Control.Lens +import Dodge.Data.Item.Use.Consumption.Ammo import Geometry.Data basicBulletAmmo :: AmmoType basicBulletAmmo = SmallBulletAmmo + -- , _amBullet = defaultBullet defaultBullet :: Bullet @@ -34,10 +35,11 @@ basicBulDams = ] hvBulletAmmo :: Bullet -hvBulletAmmo = defaultBullet - & buWidth .~ 6 - & buVel .~ V2 80 0 - & buDamages .~ heavyBulDams +hvBulletAmmo = + defaultBullet + & buWidth .~ 6 + & buVel .~ V2 80 0 + & buDamages .~ heavyBulDams heavyBulDams :: [Damage] heavyBulDams = diff --git a/tags b/tags index 1a9fb2ca7..a7f362572 100644 --- a/tags +++ b/tags @@ -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 103;" t +AimParams src/Dodge/Data/Item/Use.hs 102;" 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 121;" t +AimStance src/Dodge/Data/Item/Use.hs 120;" 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 @@ -310,7 +310,7 @@ 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 79;" C +BulletParams src/Dodge/Data/Item/Use.hs 78;" C BulletShooterParams src/Dodge/Data/Item/Use.hs 62;" C BulletSource src/Dodge/Data/Item/Use/Consumption/Ammo.hs 38;" C BulletSpawn src/Dodge/Data/Bullet.hs 42;" t @@ -386,7 +386,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 90;" C +CharScrollParams src/Dodge/Data/Item/Use.hs 89;" 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 @@ -472,7 +472,7 @@ 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 ConsumeUse src/Dodge/Data/Item/Use.hs 46;" C -ConsumeUse' src/Dodge/Data/Item/Use.hs 101;" t +ConsumeUse' src/Dodge/Data/Item/Use.hs 100;" 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 @@ -666,7 +666,6 @@ DecorationShape src/Dodge/Data/GenParams.hs 20;" t Default src/Dodge/Default.hs 7;" m Default src/Dodge/Tesla/Arc/Default.hs 1;" m Default src/Preload/Default.hs 1;" m -DefaultAmmoParams src/Dodge/Data/Item/Use.hs 78;" C DefaultArcStep src/Dodge/Data/ArcStep.hs 23;" C DefaultCrGroupUpdate src/Dodge/Data/CrGroupParams.hs 22;" C DefaultDrawButton src/Dodge/Data/Button.hs 17;" C @@ -855,7 +854,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 100;" t +EquipUse' src/Dodge/Data/Item/Use.hs 99;" 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 @@ -1141,7 +1140,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 99;" t +HeldUse' src/Dodge/Data/Item/Use.hs 98;" t HeldUseAmmoParams src/Dodge/Data/Item/HeldUse.hs 17;" C HelpNum src/HelpNum.hs 1;" m HelperParticle src/Dodge/WorldEvent/HelperParticle.hs 2;" m @@ -1288,7 +1287,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 130;" t +ItZoom src/Dodge/Data/Item/Use.hs 129;" 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 @@ -1300,12 +1299,12 @@ 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 96;" C -ItemCraft src/Dodge/Data/Item/Use.hs 97;" C +ItemConsume src/Dodge/Data/Item/Use.hs 95;" C +ItemCraft src/Dodge/Data/Item/Use.hs 96;" C ItemDimension src/Dodge/Data/Item/Misc.hs 13;" t -ItemEquip src/Dodge/Data/Item/Use.hs 95;" C +ItemEquip src/Dodge/Data/Item/Use.hs 94;" C ItemFamily src/Dodge/Item/Family.hs 3;" t -ItemHeld src/Dodge/Data/Item/Use.hs 94;" C +ItemHeld src/Dodge/Data/Item/Use.hs 93;" 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 @@ -1318,7 +1317,7 @@ 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 93;" t +ItemUse' src/Dodge/Data/Item/Use.hs 92;" t JETPACK src/Dodge/Combine/Data.hs 116;" C JETPACK src/Dodge/Data/Item/Combine.hs 137;" C JGK src/Control/Foldl/JGK.hs 1;" m @@ -1670,7 +1669,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 114;" t +Muzzle src/Dodge/Data/Item/Use.hs 113;" t MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvPt src/Dodge/MvPt.hs 1;" m MvTurnToward src/Dodge/Data/ActionPlan.hs 34;" C @@ -1834,7 +1833,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 125;" C +OneHand src/Dodge/Data/Item/Use.hs 124;" 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 @@ -2287,7 +2286,7 @@ 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 81;" t +ScrollAttachParams src/Dodge/Data/Item/Use.hs 80;" t ScrollAttachParams src/Dodge/Data/Item/Use.hs 71;" C ScrollAttachType src/Dodge/Data/Item/Combine.hs 105;" t ScrollValue src/Dodge/ScrollValue.hs 1;" m @@ -2722,9 +2721,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 124;" C -TwoHandOver src/Dodge/Data/Item/Use.hs 123;" C -TwoHandUnder src/Dodge/Data/Item/Use.hs 122;" 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 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 @@ -2936,7 +2935,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 82;" C +ZoomScrollParams src/Dodge/Data/Item/Use.hs 81;" C __Just' src/MaybeHelp.hs 13;" f _actAction src/Dodge/Data/ActionPlan.hs 81;" f _actLabel src/Dodge/Data/ActionPlan.hs 80;" f @@ -2951,13 +2950,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 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 +_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 _allocNewPos src/Dodge/Data/RightButtonOptions.hs 21;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 24;" f _allocNewPos src/Dodge/Data/RightButtonOptions.hs 28;" f @@ -2986,7 +2985,7 @@ _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 79;" f +_ampBullet src/Dodge/Data/Item/Use.hs 78;" 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 @@ -3541,9 +3540,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 133;" f -_izMax src/Dodge/Data/Item/Use.hs 131;" f -_izMin src/Dodge/Data/Item/Use.hs 132;" 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 _killTarget src/Dodge/Data/ActionPlan.hs 198;" f _lClock src/Dodge/Data/LWorld.hs 145;" f _lWorld src/Dodge/Data/CWorld.hs 26;" f @@ -3670,9 +3669,9 @@ _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 117;" f -_mzPos src/Dodge/Data/Item/Use.hs 115;" f -_mzRot src/Dodge/Data/Item/Use.hs 116;" 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 _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 @@ -3696,9 +3695,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 88;" f -_opticPos src/Dodge/Data/Item/Use.hs 84;" f -_opticZoom src/Dodge/Data/Item/Use.hs 87;" 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 _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 @@ -3971,7 +3970,7 @@ _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 91;" f +_scrollChar src/Dodge/Data/Item/Use.hs 90;" 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 @@ -4564,7 +4563,7 @@ batteryGuns src/Dodge/Combine/Combinations.hs 220;" f batteryModules src/Dodge/Item/Held/BatteryGuns.hs 116;" f batteryPack src/Dodge/Item/Equipment.hs 58;" f belowNumX src/Dodge/Combine/Graph.hs 77;" f -beltMag src/Dodge/Item/Ammo.hs 53;" f +beltMag src/Dodge/Item/Ammo.hs 43;" f bezierGun src/Dodge/Item/Weapon/Bezier.hs 24;" f bfsNodePoints src/Dodge/Path.hs 58;" f bfsThenReturn src/Dodge/Creature/ReaderUpdate.hs 233;" f @@ -4609,7 +4608,7 @@ boosterGun src/Dodge/Item/Weapon/Booster.hs 111;" f bossKeyItems src/Dodge/LockAndKey.hs 11;" f bossRoom src/Dodge/Room/Boss.hs 59;" f bounceBall src/Dodge/Base/Collide.hs 77;" f -bounceDir src/Dodge/Bullet.hs 90;" f +bounceDir src/Dodge/Bullet.hs 89;" f bounceModule src/Dodge/Item/Craftable.hs 29;" f bouncePoint src/Dodge/Base/Collide.hs 87;" f boundPoints src/Bound.hs 10;" f @@ -4640,7 +4639,7 @@ bulletBeltPack src/Dodge/Item/Equipment.hs 74;" f bulletBodyCraft src/Dodge/Item/Craftable.hs 24;" f bulletCombinations src/Dodge/Combine/Graph.hs 35;" f bulletMagazines src/Dodge/Combine/Combinations.hs 232;" f -bulletSpawn src/Dodge/Bullet.hs 95;" f +bulletSpawn src/Dodge/Bullet.hs 94;" f bulletTypes src/Dodge/TweakBullet.hs 26;" f bulletWeapons src/Dodge/Combine/Combinations.hs 240;" f burstRifle src/Dodge/Item/Held/Cane.hs 86;" f @@ -4967,7 +4966,7 @@ damageSensor src/Dodge/Machine/Sensor.hs 16;" f damageSensor src/Dodge/Placement/Instance/Sensor.hs 15;" f damageSensor src/Dodge/Placements/Sensor.hs 15;" f damageStone src/Dodge/Material/Damage.hs 20;" f -damageThingHit src/Dodge/Bullet.hs 166;" f +damageThingHit src/Dodge/Bullet.hs 165;" f damageTypeThreshold src/Dodge/Placement/Instance/Sensor.hs 45;" f damageUsing src/Dodge/Machine/Update.hs 151;" f damageWall src/Dodge/Wall/Damage.hs 15;" f @@ -5128,7 +5127,7 @@ deleteWallFromZones src/Dodge/Wall/Zone.hs 23;" f deleteWallID src/Dodge/Wall/Delete.hs 13;" f deleteWallIDs src/Dodge/Wall/Delete.hs 28;" f denormalEdges src/Polyhedra.hs 135;" f -destroyAt src/Dodge/Bullet.hs 191;" f +destroyAt src/Dodge/Bullet.hs 190;" f destroyAt src/Dodge/WorldEvent/HitEffect.hs 24;" f destroyBlock src/Dodge/Block.hs 51;" f destroyDoor src/Dodge/Block.hs 79;" f @@ -5387,7 +5386,7 @@ dropByState src/Dodge/Creature/State.hs 155;" f dropExcept src/Dodge/Creature/Action.hs 178;" f dropItem src/Dodge/Creature/Action.hs 183;" f dropItemKey src/Dodge/Config/KeyConfig.hs 24;" f -drumMag src/Dodge/Item/Ammo.hs 48;" f +drumMag src/Dodge/Item/Ammo.hs 38;" f dualBeam src/Dodge/Item/Held/BatteryGuns.hs 141;" f dualBeamPic src/Dodge/Item/Draw/SPic.hs 462;" f dualRayAt src/Dodge/Item/Weapon/BatteryGuns.hs 194;" f @@ -5446,7 +5445,7 @@ expandPolyByFixed src/Dodge/LevelGen/StaticWalls.hs 97;" f expandPolyCorners src/Dodge/LevelGen/StaticWalls.hs 103;" f expandToSquare src/Dodge/LevelGen/StaticWalls/Deprecated.hs 83;" f expandTreeBy src/Dodge/Layout/Tree/Either.hs 16;" f -expireAndDamage src/Dodge/Bullet.hs 173;" f +expireAndDamage src/Dodge/Bullet.hs 172;" f expireAndDamage src/Dodge/Particle/HitEffect/ExpireAndDamage.hs 11;" f expireAndDamageFL src/Dodge/Flame.hs 48;" f explodeRemoteRocket src/Dodge/Item/Weapon/Launcher.hs 10;" f @@ -5717,7 +5716,7 @@ highBar src/Dodge/Room/Foreground.hs 89;" f highDiagonalMesh src/Dodge/Room/Foreground.hs 35;" f highMesh src/Dodge/Room/Foreground.hs 25;" f hit1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 412;" f -hitEffFromBul src/Dodge/Bullet.hs 135;" f +hitEffFromBul src/Dodge/Bullet.hs 134;" f hitS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 382;" f hitSound src/Dodge/SoundLogic/Synonyms.hs 4;" f holdForm src/Dodge/Creature/Boid.hs 136;" f @@ -6081,7 +6080,7 @@ makeDefaultCorpse src/Dodge/Corpse/Make.hs 14;" f makeDoorDebris src/Dodge/Block/Debris.hs 18;" f makeEnumOption src/Dodge/Menu/OptionType.hs 13;" f makeExplosionAt src/Dodge/WorldEvent/Explosion.hs 79;" f -makeFlak src/Dodge/Bullet.hs 121;" f +makeFlak src/Dodge/Bullet.hs 120;" f makeFlame src/Dodge/Flame.hs 131;" f makeFlame src/Dodge/Particle/Flame.hs 9;" f makeFlameExplosionAt src/Dodge/WorldEvent/Explosion.hs 62;" f @@ -6089,7 +6088,7 @@ makeFlamelet src/Dodge/EnergyBall.hs 16;" f makeFlamerSmokeAt src/Dodge/WorldEvent/Cloud.hs 68;" f makeFlashBall src/Dodge/EnergyBall.hs 74;" f makeFootstepSound src/Dodge/Creature/State/WalkCycle.hs 32;" f -makeFragBullets src/Dodge/Bullet.hs 106;" f +makeFragBullets src/Dodge/Bullet.hs 105;" f makeGasCloud src/Dodge/WorldEvent/SpawnParticle.hs 80;" f makeGrid src/Grid.hs 46;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f @@ -6259,7 +6258,7 @@ mouseCursorType src/Dodge/Render/Picture.hs 68;" f mouseOverSelectionList src/Dodge/Update/Input/ScreenLayer.hs 73;" f mousePlus src/Dodge/Render/Picture.hs 80;" f mouseWorldPos src/Dodge/Base/Coordinate.hs 48;" f -moveBullet src/Dodge/Bullet.hs 183;" f +moveBullet src/Dodge/Bullet.hs 182;" f moveCombineSel src/Dodge/Update/Scroll.hs 55;" f moveDoorToward src/Dodge/LevelGen/MoveDoor.hs 22;" f moveDownKey src/Dodge/Config/KeyConfig.hs 19;" f @@ -6269,7 +6268,7 @@ moveLSThen src/Dodge/Placement/Instance/LightSource.hs 31;" f moveLaser src/Dodge/Item/Weapon/Laser.hs 48;" f moveLeftKey src/Dodge/Config/KeyConfig.hs 20;" f moveOldHotkey src/Dodge/Hotkey.hs 32;" f -movePenBullet src/Dodge/Bullet.hs 201;" f +movePenBullet src/Dodge/Bullet.hs 200;" f moveRightKey src/Dodge/Config/KeyConfig.hs 21;" f moveRoomBy src/Dodge/Room/Link.hs 53;" f moveSelectionMapSelection src/SelectionIntMap.hs 47;" f @@ -6436,7 +6435,7 @@ pauseSound src/Dodge/SoundLogic.hs 41;" f pauseTime src/Dodge/Update.hs 171;" f peZoneSize src/Dodge/Zoning/Pathing.hs 46;" f pedestalRoom src/Dodge/Room/Containing.hs 49;" f -penThing src/Dodge/Bullet.hs 214;" f +penThing src/Dodge/Bullet.hs 213;" f penWalls src/Dodge/Particle/HitEffect.hs 15;" f penWalls src/Dodge/WorldEvent/HitEffect.hs 38;" f penetrate src/Dodge/Particle/HitEffect/Penetrate.hs 12;" f @@ -6843,7 +6842,7 @@ retreatFireLauncher src/Dodge/Humanoid.hs 272;" f retreatPointForFrom src/Dodge/Creature/Action/Flee.hs 7;" f retreatPointForFrom src/Dodge/Creature/Impulse/Flee.hs 7;" f reversePair src/Dodge/LevelGen.hs 82;" f -revolveMag src/Dodge/Item/Ammo.hs 8;" f +revolveMag src/Dodge/Item/Ammo.hs 31;" f revolver src/Dodge/Item/Weapon/BulletGun/Stick.hs 49;" f revolverX src/Dodge/Item/Weapon/BulletGun/Stick.hs 104;" f rewindWatch src/Dodge/Item/Weapon/Utility.hs 37;" f @@ -7019,7 +7018,7 @@ setDepth src/Picture/Base.hs 128;" f setDirPS src/Dodge/PlacementSpot.hs 49;" f setFallback src/Dodge/PlacementSpot.hs 127;" f setFirstPosSelectionSections src/Dodge/SelectionSections.hs 23;" f -setFromToDams src/Dodge/Bullet.hs 161;" f +setFromToDams src/Dodge/Bullet.hs 160;" f setHotkey src/Dodge/Hotkey.hs 38;" f setInLinks src/Dodge/RoomLink.hs 51;" f setInLinksByType src/Dodge/RoomLink.hs 54;" f @@ -7113,6 +7112,7 @@ shootBangCone src/Dodge/HeldUse/BulletWeapon.hs 98;" f shootBangRod src/Dodge/HeldUse/BulletWeapon.hs 185;" f shootBangstick src/Dodge/HeldUse/BulletWeapon.hs 9;" f shootBezier src/Dodge/Item/Weapon/Bezier.hs 51;" f +shootBullet src/Dodge/Bullet.hs 61;" f shootBurstRifle src/Dodge/HeldUse/BulletWeapon.hs 164;" f shootBurstRifleRepeat src/Dodge/HeldUse/BulletWeapon.hs 176;" f shootDualLaser src/Dodge/Item/Weapon/BatteryGuns.hs 153;" f @@ -7447,7 +7447,7 @@ tilesToLine src/Shader/AuxAddition.hs 66;" f timeFlowUpdate src/Dodge/Update.hs 158;" f timeModule src/Dodge/Item/Craftable.hs 35;" f timerTLS src/Dodge/LightSource/Update.hs 22;" f -tinMag src/Dodge/Item/Ammo.hs 27;" f +tinMag src/Dodge/Item/Ammo.hs 10;" f tinitusS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 402;" f titleOptionsMenu src/Dodge/Menu.hs 99;" f titleOptionsNoWrite src/Dodge/Menu.hs 102;" f @@ -7761,7 +7761,6 @@ upsProjectile src/Dodge/Projectile/Update.hs 53;" f useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 339;" f useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 354;" f useAmmoAmount' src/Dodge/Item/Weapon/TriggerType.hs 361;" f -useAmmoParams src/Dodge/Bullet.hs 61;" f useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f useAmmoUpTo src/Dodge/Item/Weapon/TriggerType.hs 346;" f useC src/Dodge/Cuse.hs 6;" f