Continue weapon effect chain refactor

This commit is contained in:
2024-09-16 19:27:21 +01:00
parent abc0dd1106
commit 1d1d1527e7
19 changed files with 358 additions and 340 deletions
+1 -1
View File
@@ -1 +1 @@
All good (616 modules, at 13:05:37) All good (616 modules, at 19:05:45)
+98 -106
View File
@@ -44,68 +44,66 @@ digraph {
57 [shape=box 57 [shape=box
,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"]; ,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"];
59 [shape=box 59 [shape=box
,label="HELD {_ibtHeld = REPEATER}"];
61 [shape=box
,label="HELD {_ibtHeld = AUTORIFLE}"]; ,label="HELD {_ibtHeld = AUTORIFLE}"];
63 [shape=box 61 [shape=box
,label="HELD {_ibtHeld = BURSTRIFLE}"]; ,label="HELD {_ibtHeld = BURSTRIFLE}"];
65 [shape=box 63 [shape=box
,label="HELD {_ibtHeld = MINIGUNX {_xNum = 3}}"]; ,label="HELD {_ibtHeld = MINIGUNX {_xNum = 3}}"];
68 [shape=box 66 [shape=box
,label="HELD {_ibtHeld = SNIPERRIFLE}"]; ,label="HELD {_ibtHeld = SNIPERRIFLE}"];
69 [shape=box 67 [shape=box
,label="HELD {_ibtHeld = AMR}"]; ,label="HELD {_ibtHeld = AMR}"];
72 [shape=box 70 [shape=box
,label="HELD {_ibtHeld = AUTOAMR}"]; ,label="HELD {_ibtHeld = AUTOAMR}"];
74 [shape=box 72 [shape=box
,label="HELD {_ibtHeld = MACHINEGUN}"]; ,label="HELD {_ibtHeld = MACHINEGUN}"];
76 [shape=box 74 [shape=box
,label="HELD {_ibtHeld = LAUNCHER}"]; ,label="HELD {_ibtHeld = LAUNCHER}"];
79 [shape=box 77 [shape=box
,label="HELD {_ibtHeld = LAUNCHERX {_xNum = 2}}"]; ,label="HELD {_ibtHeld = LAUNCHERX {_xNum = 2}}"];
83 [shape=box 81 [shape=box
,label="HELD {_ibtHeld = FLAMESPITTER}"]; ,label="HELD {_ibtHeld = FLAMESPITTER}"];
87 [shape=box 85 [shape=box
,label="HELD {_ibtHeld = BLOWTORCH}"]; ,label="HELD {_ibtHeld = BLOWTORCH}"];
89 [shape=box 87 [shape=box
,label="HELD {_ibtHeld = FLAMETHROWER}"]; ,label="HELD {_ibtHeld = FLAMETHROWER}"];
91 [shape=box 89 [shape=box
,label="HELD {_ibtHeld = FLAMEWALL}"]; ,label="HELD {_ibtHeld = FLAMEWALL}"];
93 [shape=box 91 [shape=box
,label="HELD {_ibtHeld = FLAMETORRENT}"]; ,label="HELD {_ibtHeld = FLAMETORRENT}"];
95 [shape=box 93 [shape=box
,label="HELD {_ibtHeld = LASGUN}"]; ,label="HELD {_ibtHeld = LASGUN}"];
99 [shape=box 97 [shape=box
,label="HELD {_ibtHeld = DUALBEAM}"]; ,label="HELD {_ibtHeld = DUALBEAM}"];
99 [shape=box
,label="HELD {_ibtHeld = LASWIDE {_xNum = 2}}"];
101 [shape=box 101 [shape=box
,label="HELD {_ibtHeld = LASWIDE {_xNum = 2}}"];
103 [shape=box
,label="HELD {_ibtHeld = SPARKGUN}"]; ,label="HELD {_ibtHeld = SPARKGUN}"];
105 [shape=box 103 [shape=box
,label="HELD {_ibtHeld = TESLAGUN}"]; ,label="HELD {_ibtHeld = TESLAGUN}"];
107 [shape=box 105 [shape=box
,label="LEFT {_ibtLeft = BLINKER}"]; ,label="LEFT {_ibtLeft = BLINKER}"];
110 [shape=box 108 [shape=box
,label="LEFT {_ibtLeft = BLINKERUNSAFE}"]; ,label="LEFT {_ibtLeft = BLINKERUNSAFE}"];
112 [shape=box 110 [shape=box
,label="EQUIP {_ibtEquip = MAGSHIELD}"]; ,label="EQUIP {_ibtEquip = MAGSHIELD}"];
115 [shape=box 113 [shape=box
,label="EQUIP {_ibtEquip = POWERLEGS}"]; ,label="EQUIP {_ibtEquip = POWERLEGS}"];
121 [shape=box 119 [shape=box
,label="HELD {_ibtHeld = FLATSHIELD}"]; ,label="HELD {_ibtHeld = FLATSHIELD}"];
131 [shape=box 129 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR ITEMDETECTOR}"]; ,label="EQUIP {_ibtEquip = AUTODETECTOR ITEMDETECTOR}"];
134 [shape=box 132 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"]; ,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"];
136 [shape=box 134 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"]; ,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"];
138 [shape=box 136 [shape=box
,label="HELD {_ibtHeld = TORCH}"]; ,label="HELD {_ibtHeld = TORCH}"];
139 [shape=box 137 [shape=box
,label="AMMOMAG {_ibtAmmoMag = BATTERY}"]; ,label="AMMOMAG {_ibtAmmoMag = BATTERY}"];
142 [shape=box 140 [shape=box
,label="EQUIP {_ibtEquip = HEADLAMP}"]; ,label="EQUIP {_ibtEquip = HEADLAMP}"];
150 [shape=box 148 [shape=box
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"]; ,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
} }
subgraph 2 { subgraph 2 {
@@ -132,39 +130,39 @@ digraph {
58 [shape=point]; 58 [shape=point];
60 [shape=point]; 60 [shape=point];
62 [shape=point]; 62 [shape=point];
64 [shape=point]; 65 [shape=point];
67 [shape=point]; 68 [shape=point];
70 [shape=point]; 69 [shape=point];
71 [shape=point]; 71 [shape=point];
73 [shape=point]; 73 [shape=point];
75 [shape=point]; 76 [shape=point];
78 [shape=point]; 78 [shape=point];
80 [shape=point]; 80 [shape=point];
82 [shape=point]; 84 [shape=point];
86 [shape=point]; 86 [shape=point];
88 [shape=point]; 88 [shape=point];
90 [shape=point]; 90 [shape=point];
92 [shape=point]; 92 [shape=point];
94 [shape=point]; 96 [shape=point];
98 [shape=point]; 98 [shape=point];
100 [shape=point]; 100 [shape=point];
102 [shape=point]; 102 [shape=point];
104 [shape=point]; 104 [shape=point];
106 [shape=point]; 107 [shape=point];
109 [shape=point]; 109 [shape=point];
111 [shape=point]; 112 [shape=point];
114 [shape=point]; 115 [shape=point];
116 [shape=point];
117 [shape=point]; 117 [shape=point];
118 [shape=point]; 118 [shape=point];
119 [shape=point];
120 [shape=point]; 120 [shape=point];
122 [shape=point]; 122 [shape=point];
124 [shape=point]; 125 [shape=point];
127 [shape=point]; 128 [shape=point];
130 [shape=point]; 131 [shape=point];
133 [shape=point]; 133 [shape=point];
135 [shape=point]; 135 [shape=point];
137 [shape=point]; 139 [shape=point];
141 [shape=point]; 141 [shape=point];
143 [shape=point]; 143 [shape=point];
145 [shape=point]; 145 [shape=point];
@@ -173,7 +171,6 @@ digraph {
151 [shape=point]; 151 [shape=point];
153 [shape=point]; 153 [shape=point];
155 [shape=point]; 155 [shape=point];
157 [shape=point];
} }
0 -> 1 [xlabel="",tailport=e]; 0 -> 1 [xlabel="",tailport=e];
2 -> 0 [xlabel=1 2 -> 0 [xlabel=1
@@ -201,7 +198,7 @@ digraph {
16 -> 27 [xlabel=1 16 -> 27 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
16 -> 141 [xlabel=1 16 -> 139 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
18 -> 19 [xlabel="",tailport=e]; 18 -> 19 [xlabel="",tailport=e];
@@ -225,15 +222,15 @@ digraph {
35 -> 56 [xlabel=1 35 -> 56 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
35 -> 149 [xlabel=1 35 -> 147 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 151 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
35 -> 153 [xlabel=1 35 -> 153 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
35 -> 155 [xlabel=1
,arrowhead=onone
,headport=w];
38 -> 39 [xlabel="",tailport=e]; 38 -> 39 [xlabel="",tailport=e];
39 -> 40 [xlabel=1 39 -> 40 [xlabel=1
,arrowhead=onone ,arrowhead=onone
@@ -256,132 +253,127 @@ digraph {
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
52 -> 53 [xlabel="",tailport=e]; 52 -> 53 [xlabel="",tailport=e];
53 -> 157 [xlabel=1 53 -> 155 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
54 -> 55 [xlabel="",tailport=e]; 54 -> 55 [xlabel="",tailport=e];
55 -> 58 [xlabel=1 55 -> 58 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
55 -> 70 [xlabel=1 55 -> 60 [xlabel=1
,arrowhead=onone
,headport=w];
55 -> 68 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
56 -> 57 [xlabel="",tailport=e]; 56 -> 57 [xlabel="",tailport=e];
57 -> 64 [xlabel=1 57 -> 62 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
57 -> 153 [xlabel=1 57 -> 151 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
58 -> 59 [xlabel="",tailport=e]; 58 -> 59 [xlabel="",tailport=e];
59 -> 60 [xlabel=1
,arrowhead=onone
,headport=w];
59 -> 62 [xlabel=1
,arrowhead=onone
,headport=w];
60 -> 61 [xlabel="",tailport=e]; 60 -> 61 [xlabel="",tailport=e];
62 -> 63 [xlabel="",tailport=e]; 62 -> 63 [xlabel="",tailport=e];
64 -> 65 [xlabel="",tailport=e]; 63 -> 153 [xlabel=1
65 -> 155 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
67 -> 68 [xlabel="",tailport=e]; 65 -> 66 [xlabel="",tailport=e];
69 -> 67 [xlabel=1 67 -> 65 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
69 -> 71 [xlabel=1 67 -> 69 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
69 -> 73 [xlabel=1 67 -> 71 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
70 -> 69 [xlabel="",tailport=e]; 68 -> 67 [xlabel="",tailport=e];
69 -> 70 [xlabel="",tailport=e];
71 -> 72 [xlabel="",tailport=e]; 71 -> 72 [xlabel="",tailport=e];
73 -> 74 [xlabel="",tailport=e]; 73 -> 74 [xlabel="",tailport=e];
75 -> 76 [xlabel="",tailport=e]; 74 -> 76 [xlabel=1
76 -> 78 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
78 -> 79 [xlabel="",tailport=e]; 76 -> 77 [xlabel="",tailport=e];
79 -> 80 [xlabel=1 77 -> 78 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
82 -> 83 [xlabel="",tailport=e]; 80 -> 81 [xlabel="",tailport=e];
83 -> 86 [xlabel=1 81 -> 84 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
83 -> 88 [xlabel=1 81 -> 86 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
84 -> 85 [xlabel="",tailport=e];
86 -> 87 [xlabel="",tailport=e]; 86 -> 87 [xlabel="",tailport=e];
87 -> 88 [xlabel=1
,arrowhead=onone
,headport=w];
87 -> 90 [xlabel=1
,arrowhead=onone
,headport=w];
88 -> 89 [xlabel="",tailport=e]; 88 -> 89 [xlabel="",tailport=e];
89 -> 90 [xlabel=1
,arrowhead=onone
,headport=w];
89 -> 92 [xlabel=1
,arrowhead=onone
,headport=w];
90 -> 91 [xlabel="",tailport=e]; 90 -> 91 [xlabel="",tailport=e];
92 -> 93 [xlabel="",tailport=e]; 92 -> 93 [xlabel="",tailport=e];
94 -> 95 [xlabel="",tailport=e]; 93 -> 96 [xlabel=1
95 -> 98 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
95 -> 98 [xlabel=1 93 -> 96 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
95 -> 100 [xlabel=1 93 -> 98 [xlabel=1
,arrowhead=onone
,headport=w];
96 -> 97 [xlabel="",tailport=e];
98 -> 99 [xlabel="",tailport=e];
99 -> 145 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
98 -> 99 [xlabel="",tailport=e];
100 -> 101 [xlabel="" 100 -> 101 [xlabel=""
,tailport=e]; ,tailport=e];
101 -> 147 [xlabel=1 101 -> 102 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
102 -> 103 [xlabel="" 102 -> 103 [xlabel=""
,tailport=e]; ,tailport=e];
103 -> 104 [xlabel=1
,arrowhead=onone
,headport=w];
104 -> 105 [xlabel="" 104 -> 105 [xlabel=""
,tailport=e]; ,tailport=e];
106 -> 107 [xlabel="" 105 -> 107 [xlabel=1
,tailport=e];
107 -> 109 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
107 -> 108 [xlabel=""
,tailport=e];
109 -> 110 [xlabel="" 109 -> 110 [xlabel=""
,tailport=e]; ,tailport=e];
111 -> 112 [xlabel="" 112 -> 113 [xlabel=""
,tailport=e]; ,tailport=e];
114 -> 115 [xlabel="" 118 -> 119 [xlabel=""
,tailport=e]; ,tailport=e];
120 -> 121 [xlabel="" 128 -> 129 [xlabel=""
,tailport=e]; ,tailport=e];
130 -> 131 [xlabel="" 131 -> 132 [xlabel=""
,tailport=e]; ,tailport=e];
133 -> 134 [xlabel="" 133 -> 134 [xlabel=""
,tailport=e]; ,tailport=e];
135 -> 136 [xlabel="" 135 -> 136 [xlabel=""
,tailport=e]; ,tailport=e];
137 -> 138 [xlabel="" 136 -> 139 [xlabel=1
,tailport=e];
138 -> 141 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
139 -> 137 [xlabel=1 137 -> 135 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
139 -> 145 [xlabel=1 137 -> 143 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
141 -> 142 [xlabel="" 139 -> 140 [xlabel=""
,tailport=e]; ,tailport=e];
149 -> 150 [xlabel="" 147 -> 148 [xlabel=""
,tailport=e]; ,tailport=e];
150 -> 151 [xlabel=1 148 -> 149 [xlabel=1
,arrowhead=onone ,arrowhead=onone
,headport=w]; ,headport=w];
} }
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -67,9 +67,9 @@ itemCombinations =
, po [HELD BLUNDERBUSS, cr STEELDRUM] (grapeCannon 1) , po [HELD BLUNDERBUSS, cr STEELDRUM] (grapeCannon 1)
, po [HELD (BANGSTICK 1), cr PLANK] rifle , po [HELD (BANGSTICK 1), cr PLANK] rifle
, po [HELD (BANGSTICK 1), HELD (BANGSTICK 1), HELD (BANGSTICK 1)] (volleyGun 3) , po [HELD (BANGSTICK 1), HELD (BANGSTICK 1), HELD (BANGSTICK 1)] (volleyGun 3)
, po [HELD RIFLE, cr TIN] repeater -- , po [HELD RIFLE, cr TIN] repeater
, po [HELD REPEATER, cr SPRING] autoRifle , po [HELD RIFLE, cr SPRING] autoRifle
, po [HELD REPEATER, cr CAN] burstRifle , po [HELD RIFLE, cr CAN] burstRifle
] ]
++ [ po [cr MOTOR, HELD (VOLLEYGUN i)] $ miniGunX i | i <- [3 .. 10] ++ [ po [cr MOTOR, HELD (VOLLEYGUN i)] $ miniGunX i | i <- [3 .. 10]
] ]
@@ -255,7 +255,7 @@ bulletWeapons =
, smg , smg
, machinePistol , machinePistol
, rifle , rifle
, repeater -- , repeater
, autoRifle , autoRifle
, burstRifle , burstRifle
, bangCone , bangCone
+3
View File
@@ -269,6 +269,9 @@ testInventory =
stackedInventory :: [Item] stackedInventory :: [Item]
stackedInventory = stackedInventory =
[ burstRifle [ burstRifle
, volleyGun 3
, tinMag
, tinMag
, tinMag , tinMag
, bulletSynthesizer , bulletSynthesizer
, drumMag , drumMag
+1 -1
View File
@@ -170,7 +170,7 @@ data HeldItemType
| VOLLEYGUN {_xNum :: Int} | VOLLEYGUN {_xNum :: Int}
| MULTIGUN {_xNum :: Int} | MULTIGUN {_xNum :: Int}
| RIFLE | RIFLE
| REPEATER -- | REPEATER
| AUTORIFLE | AUTORIFLE
| BURSTRIFLE | BURSTRIFLE
| BANGROD | BANGROD
+5 -5
View File
@@ -81,10 +81,10 @@ data HeldMod
-- | AmmoCheckMod -- | AmmoCheckMod
-- | AmmoUseCheckMod -- | AmmoUseCheckMod
-- | AmmoHammerTimeUseOneMod -- | AmmoHammerTimeUseOneMod
| BangCaneMod -- | BangCaneMod
| VolleyGunMod | VolleyGunMod
| MultiGunMod | MultiGunMod
| AutoRifleMod -- | AutoRifleMod
| BangRodMod | BangRodMod
| ElephantGunMod | ElephantGunMod
| AutoAmrMod | AutoAmrMod
@@ -92,12 +92,12 @@ data HeldMod
-- | ModWithDirectedTeleport HeldMod -- | ModWithDirectedTeleport HeldMod
| BangStickMod | BangStickMod
| PistolMod | PistolMod
| AutoPistolMod -- | AutoPistolMod
| MachinePistolMod -- | MachinePistolMod
| BurstRifleMod | BurstRifleMod
| BurstRifleRepeatMod | BurstRifleRepeatMod
| MiniGunMod Int | MiniGunMod Int
| SmgMod -- | SmgMod
| BangConeMod | BangConeMod
| TractorMod --apply with AmmoCheckMod | TractorMod --apply with AmmoCheckMod
| FireRemoteShellMod | FireRemoteShellMod
+1
View File
@@ -125,6 +125,7 @@ data AimParams = AimParams
data FlareType = DefaultFlareType data FlareType = DefaultFlareType
| PistolFlare
deriving (Eq, Ord, Show, Read) --Generic, Flat) deriving (Eq, Ord, Show, Read) --Generic, Flat)
data Muzzle = Muzzle data Muzzle = Muzzle
+1
View File
@@ -48,6 +48,7 @@ singleAmmo x = IM.insert 0 x mempty
defaultBulletWeapon :: Item defaultBulletWeapon :: Item
defaultBulletWeapon = defaultBulletWeapon =
defaultWeapon defaultWeapon
& itUse . heldMods .~ PistolMod
& itUse . heldAmmoTypes .~ singleAmmo BulletAmmo & itUse . heldAmmoTypes .~ singleAmmo BulletAmmo
-- & itUse . heldUse .~ HeldUseAmmoParams -- useAmmoParams -- & itUse . heldUse .~ HeldUseAmmoParams -- useAmmoParams
& itType . iyModules . at ModBulletCollision ?~ EMPTYMODULE & itType . iyModules . at ModBulletCollision ?~ EMPTYMODULE
+144 -129
View File
@@ -1,5 +1,11 @@
module Dodge.HeldUse where module Dodge.HeldUse
-- ( heldEffect
-- , mcUseHeld
-- )
where
import Dodge.WorldEvent.Cloud
import Dodge.LightSource
import qualified SDL import qualified SDL
import Dodge.Base.You import Dodge.Base.You
import Dodge.Data.MuzzleEffect import Dodge.Data.MuzzleEffect
@@ -120,18 +126,18 @@ heldEffect effecttype = case effecttype of
, ammoCheckI , ammoCheckI
, blCheck , blCheck
] ]
BangCaneMod -> bulletGunEffect -- BangCaneMod -> bulletGunEffect
[ withFlare -- [ withFlare
, withSmoke 1 black 20 200 5 -- , withSmoke 1 black 20 200 5
, withRecoil -- , withRecoil
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withTorqueAfter -- , withTorqueAfter
, useAmmoAmount 1 -- , useAmmoAmount 1
, withSoundStart tap3S -- , withSoundStart tap3S
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
, blCheck -- , blCheck
] -- ]
VolleyGunMod -> bulletGunEffect VolleyGunMod -> bulletGunEffect
[ withRecoil [ withRecoil
, withFlare , withFlare
@@ -154,18 +160,18 @@ heldEffect effecttype = case effecttype of
, ammoCheckI , ammoCheckI
, blCheck , blCheck
] ]
AutoRifleMod -> bulletGunEffect -- AutoRifleMod -> bulletGunEffect
-- note this is the same as BangCanemMod with the first changed -- -- note this is the same as BangCanemMod with the first changed
[ withFlare -- [ withFlare
, withSmoke 1 black 20 200 5 -- , withSmoke 1 black 20 200 5
, withRecoil -- , withRecoil
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withTorqueAfter -- , withTorqueAfter
, useAmmoAmount 1 -- , useAmmoAmount 1
, withSoundStart tap3S -- , withSoundStart tap3S
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
] -- ]
BangRodMod -> bulletGunEffect BangRodMod -> bulletGunEffect
[ withRecoil [ withRecoil
, withFlare , withFlare
@@ -220,40 +226,28 @@ heldEffect effecttype = case effecttype of
, blCheck , blCheck
] ]
PistolMod -> bulGunEffect PistolMod -> bulGunEffect
-- bulletGunEffect -- AutoPistolMod -> bulletGunEffect
-- [ withSidePushI 50 -- [ withFlare
-- , withSidePushI 50
-- , withRecoil -- , withRecoil
-- , withFlare
-- , withTorqueAfter -- , withTorqueAfter
-- , duplicateLoadedBarrels -- , duplicateLoadedBarrels
-- , withSoundStart tap3S -- , withSoundStart tap3S
-- , useAmmoAmount 1 -- , useAmmoAmount 1
-- , useTimeCheck -- , useTimeCheck
-- , ammoCheckI -- , ammoCheckI
-- , blCheck
-- ] -- ]
AutoPistolMod -> bulletGunEffect -- MachinePistolMod -> bulletGunEffect
[ withFlare -- [ withFlare
, withSidePushI 50 -- , withRecoil
, withRecoil -- , withSidePushI 50
, withTorqueAfter -- , withTorqueAfter
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withSoundStart tap3S -- , withSoundStart tap1S
, useAmmoAmount 1 -- , useAmmoAmount 1
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
] -- ]
MachinePistolMod -> bulletGunEffect
[ withFlare
, withRecoil
, withSidePushI 50
, withTorqueAfter
, duplicateLoadedBarrels
, withSoundStart tap1S
, useAmmoAmount 1
, useTimeCheck
, ammoCheckI
]
BurstRifleMod -> bulletGunEffect BurstRifleMod -> bulletGunEffect
[ withRecoil [ withRecoil
, withFlare , withFlare
@@ -292,17 +286,17 @@ heldEffect effecttype = case effecttype of
, withWarmUp crankSlowS , withWarmUp crankSlowS
, ammoCheckI , ammoCheckI
] ]
SmgMod -> bulletGunEffect -- SmgMod -> bulletGunEffect
[ withFlare -- [ withFlare
, withSidePushI 30 -- , withSidePushI 30
, withRecoil -- , withRecoil
, withTorqueAfter -- , withTorqueAfter
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withSoundStart tap3S -- , withSoundStart tap3S
, useAmmoAmount 1 -- , useAmmoAmount 1
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
] -- ]
BangConeMod -> bulletGunEffect BangConeMod -> bulletGunEffect
[ withRandomItem coneRandItemParams [ withRandomItem coneRandItemParams
, withRandomItemUpdate coneRandItemUpdate , withRandomItemUpdate coneRandItemUpdate
@@ -361,15 +355,28 @@ bulGunEffect' :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> Wo
bulGunEffect' t cr w = fromMaybe (error "error in bulGunEffect") $ do bulGunEffect' t cr w = fromMaybe (error "error in bulGunEffect") $ do
muzzles <- t ^? ldtValue . itUse . heldAim . aimMuzzles muzzles <- t ^? ldtValue . itUse . heldAim . aimMuzzles
let (_,loadedmuzzles) = mapAccumR loadMuzzle t muzzles let (_,loadedmuzzles) = mapAccumR loadMuzzle t muzzles
cmew = foldl' (useLoadedAmmo (_ldtValue t) cr) (CME 0 0 False,w) loadedmuzzles -- let (_,loadedmuzzles) = ((),[])
--cmew = foldl' (useLoadedAmmo (_ldtValue t) cr) (CME 0 0 False,w) loadedmuzzles
cmew = foldl' (useLoadedAmmo (_ldtValue t) cr) (CME 0 0 False,w) $ loadedmuzzles
return $ uncurry (applyCME (_ldtValue t) cr) cmew return $ uncurry (applyCME (_ldtValue t) cr) cmew
-- return $ snd cmew
applyCME :: Item -> Creature -> CumulativeMuzzleEffect -> World -> World applyCME :: Item -> Creature -> CumulativeMuzzleEffect -> World -> World
applyCME itm cr cme applyCME itm cr cme
| _cmeSound cme = applySidePush spush cr . applyTorqueCME itm cr . applyRecoil itm cr | _cmeSound cme = applySoundCME itm cr . applySidePush spush cr . applyTorqueCME itm cr . applyRecoil itm cr
| otherwise = id | otherwise = failsound
where where
spush = fromMaybe 0 $ itm ^? itUse . heldParams . sidePush spush = fromMaybe 0 $ itm ^? itUse . heldParams . sidePush
failsound w = case w ^? input . mouseButtons . ix SDL.ButtonLeft of
Just 0 -> soundStart (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing w
_ -> soundContinue (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing w
applySoundCME :: Item -> Creature -> World -> World
applySoundCME itm cr = fromMaybe id $ do
soundid <- itm ^? itUse . heldParams . bulGunSound
return $ soundMultiFrom [CrWeaponSound cid j | j <- [0..3]] (_crPos cr) soundid Nothing
where
cid = _crID cr
applyRecoil :: Item -> Creature -> World -> World applyRecoil :: Item -> Creature -> World -> World
applyRecoil itm cr = over (cWorld . lWorld . creatures . ix cid) pushback applyRecoil itm cr = over (cWorld . lWorld . creatures . ix cid) pushback
@@ -409,6 +416,7 @@ applyTorqueCME itm cr w
-- (Muzzle,Int,Int) = (muzzle, amountloaded, id of mag taken from) -- (Muzzle,Int,Int) = (muzzle, amountloaded, id of mag taken from)
loadMuzzle :: LabelDoubleTree ComposeLinkType Item loadMuzzle :: LabelDoubleTree ComposeLinkType Item
-> Muzzle -> (LabelDoubleTree ComposeLinkType Item,(Muzzle, Int,Maybe Int)) -> Muzzle -> (LabelDoubleTree ComposeLinkType Item,(Muzzle, Int,Maybe Int))
--loadMuzzle t@(LDT _ l _) mz = (t,(mz, 0,Nothing))
loadMuzzle t@(LDT _ l _) mz = fromMaybe (t,(mz, 0,Nothing)) $ do loadMuzzle t@(LDT _ l _) mz = fromMaybe (t,(mz, 0,Nothing)) $ do
let as = _mzAmmoSlot mz let as = _mzAmmoSlot mz
amamount = 1 amamount = 1
@@ -419,8 +427,26 @@ loadMuzzle t@(LDT _ l _) mz = fromMaybe (t,(mz, 0,Nothing)) $ do
, (mz, usedammo, mag ^? ldtValue . itLocation . ipInvID) , (mz, usedammo, mag ^? ldtValue . itLocation . ipInvID)
) )
makeMuzzleFlare :: (Muzzle,Int,Maybe Int) -> Item -> Creature -> World -> World makeMuzzleFlare :: Muzzle -> Item -> Creature -> World -> World
makeMuzzleFlare _ _ _ = id makeMuzzleFlare mz itm cr = case mz ^. mzFlareType of
DefaultFlareType -> id
PistolFlare -> makeTlsTimeRadColPos 2 100 (V3 1 1 0.5) (pos `v2z` 20)
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
. muzFlareAt (V4 10 10 1 3) (pos `v2z` 20) dir
where
pos = _crPos cr + rotateV (_crDir cr) (_mzPos mz + aimingWeaponZeroPos cr itm)
dir = _crDir cr + _mzRot mz
makeMuzzleSmoke :: Muzzle -> Item -> Creature -> World -> World
makeMuzzleSmoke mz itm cr w = case mz ^. mzFlareType of
DefaultFlareType -> w
PistolFlare -> foldl' (flip $ smokeCloudAt (greyN 0.5) 20 400 5 . (+.+.+ pos) . (* 8)) w ps
where
ps = replicateM 2 randOnUnitSphere & evalState $ _randGen w
pos = addZ 10 $ _crPos cr + rotateV (_crDir cr) (_mzPos mz + aimingWeaponZeroPos cr itm)
-- , withSmoke 1 black 20 200 5
isAmmoIntLink :: Int -> ComposeLinkType -> Bool isAmmoIntLink :: Int -> ComposeLinkType -> Bool
isAmmoIntLink i (AmmoInLink j _) = i == j isAmmoIntLink i (AmmoInLink j _) = i == j
@@ -428,11 +454,9 @@ isAmmoIntLink _ _ = False
useLoadedAmmo :: Item -> Creature -> (CumulativeMuzzleEffect,World) -> (Muzzle,Int,Maybe Int) useLoadedAmmo :: Item -> Creature -> (CumulativeMuzzleEffect,World) -> (Muzzle,Int,Maybe Int)
-> (CumulativeMuzzleEffect,World) -> (CumulativeMuzzleEffect,World)
useLoadedAmmo _ cr (cme,w) (_,0,_) = (cme,failsound w) --useLoadedAmmo _ cr (cme,w) (_,0,_) = (cme,failsound w)
where useLoadedAmmo _ _ (cme,w) (_,0,_) = (cme, w)
failsound = case w ^? input . mouseButtons . ix SDL.ButtonLeft of --useLoadedAmmo itm cr (cme,w) (mz,x,mid) = (cme,w)
Just 0 -> soundStart (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing
_ -> soundContinue (CrWeaponSound (_crID cr) 0) (_crPos cr) click1S Nothing
useLoadedAmmo itm cr (cme,w) (mz,x,mid) = fromMaybe (cme,w) $ do useLoadedAmmo itm cr (cme,w) (mz,x,mid) = fromMaybe (cme,w) $ do
magid <- mid magid <- mid
-- should be able to pass the magazine in from elsewhere? -- should be able to pass the magazine in from elsewhere?
@@ -440,6 +464,8 @@ useLoadedAmmo itm cr (cme,w) (mz,x,mid) = fromMaybe (cme,w) $ do
return $ (cme & cmeSound .~ True, return $ (cme & cmeSound .~ True,
w & cWorld . lWorld . creatures . ix cid . crInv . ix magid . itUse . amagLoadStatus . iaLoaded -~ x w & cWorld . lWorld . creatures . ix cid . crInv . ix magid . itUse . amagLoadStatus . iaLoaded -~ x
& flip (foldl' (&)) (replicate x (makeBullet thebullet itm cr mz)) & flip (foldl' (&)) (replicate x (makeBullet thebullet itm cr mz))
& makeMuzzleFlare mz itm cr
& makeMuzzleSmoke mz itm cr
) )
where where
cid = _crID cr cid = _crID cr
@@ -586,18 +612,18 @@ useMod hm = case hm of
-- , ammoCheckI -- , ammoCheckI
-- , blCheck -- , blCheck
-- ] -- ]
BangCaneMod -> -- BangCaneMod ->
[ withFlare -- [ withFlare
, withSmoke 1 black 20 200 5 -- , withSmoke 1 black 20 200 5
, withRecoil -- , withRecoil
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withTorqueAfter -- , withTorqueAfter
, useAmmoAmount 1 -- , useAmmoAmount 1
, withSoundStart tap3S -- , withSoundStart tap3S
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
, blCheck -- , blCheck
] -- ]
VolleyGunMod -> VolleyGunMod ->
[ withRecoil [ withRecoil
, withFlare , withFlare
@@ -620,18 +646,18 @@ useMod hm = case hm of
, ammoCheckI , ammoCheckI
, blCheck , blCheck
] ]
AutoRifleMod -> -- AutoRifleMod ->
-- note this is the same as BangCanemMod with the first changed -- -- note this is the same as BangCanemMod with the first changed
[ withFlare -- [ withFlare
, withSmoke 1 black 20 200 5 -- , withSmoke 1 black 20 200 5
, withRecoil -- , withRecoil
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withTorqueAfter -- , withTorqueAfter
, useAmmoAmount 1 -- , useAmmoAmount 1
, withSoundStart tap3S -- , withSoundStart tap3S
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
] -- ]
BangRodMod -> BangRodMod ->
[ withRecoil [ withRecoil
, withFlare , withFlare
@@ -699,28 +725,17 @@ useMod hm = case hm of
, ammoCheckI , ammoCheckI
, blCheck , blCheck
] ]
AutoPistolMod -> -- MachinePistolMod ->
[ withFlare -- [ withFlare
, withSidePushI 50 -- , withRecoil
, withRecoil -- , withSidePushI 50
, withTorqueAfter -- , withTorqueAfter
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withSoundStart tap3S -- , withSoundStart tap1S
, useAmmoAmount 1 -- , useAmmoAmount 1
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
] -- ]
MachinePistolMod ->
[ withFlare
, withRecoil
, withSidePushI 50
, withTorqueAfter
, duplicateLoadedBarrels
, withSoundStart tap1S
, useAmmoAmount 1
, useTimeCheck
, ammoCheckI
]
BurstRifleMod -> BurstRifleMod ->
[ withRecoil [ withRecoil
, withFlare , withFlare
@@ -759,17 +774,17 @@ useMod hm = case hm of
, withWarmUp crankSlowS , withWarmUp crankSlowS
, ammoCheckI , ammoCheckI
] ]
SmgMod -> -- SmgMod ->
[ withFlare -- [ withFlare
, withSidePushI 30 -- , withSidePushI 30
, withRecoil -- , withRecoil
, withTorqueAfter -- , withTorqueAfter
, duplicateLoadedBarrels -- , duplicateLoadedBarrels
, withSoundStart tap3S -- , withSoundStart tap3S
, useAmmoAmount 1 -- , useAmmoAmount 1
, useTimeCheck -- , useTimeCheck
, ammoCheckI -- , ammoCheckI
] -- ]
BangConeMod -> BangConeMod ->
[ withRandomItem coneRandItemParams [ withRandomItem coneRandItemParams
, withRandomItemUpdate coneRandItemUpdate , withRandomItemUpdate coneRandItemUpdate
+1 -1
View File
@@ -170,7 +170,7 @@ heldItemSPic ht it = case ht of
VOLLEYGUN i -> noPic $ volleyGunShape i -- <> addBullets it VOLLEYGUN i -> noPic $ volleyGunShape i -- <> addBullets it
MULTIGUN i -> noPic $ volleyGunShape i -- <> addBullets it MULTIGUN i -> noPic $ volleyGunShape i -- <> addBullets it
RIFLE -> noPic $ baseRifleShape -- <> addBullets it RIFLE -> noPic $ baseRifleShape -- <> addBullets it
REPEATER -> noPic $ baseRifleShape <> addTinClip it -- REPEATER -> noPic $ baseRifleShape <> addTinClip it
AUTORIFLE -> noPic $ baseRifleShape <> addTinClip it AUTORIFLE -> noPic $ baseRifleShape <> addTinClip it
BURSTRIFLE -> noPic $ baseRifleShape <> addTinClip it BURSTRIFLE -> noPic $ baseRifleShape <> addTinClip it
BANGROD -> noPic $ baseRodShape -- <> addBullets it BANGROD -> noPic $ baseRodShape -- <> addBullets it
+1 -1
View File
@@ -39,7 +39,7 @@ itemFromHeldType ht = case ht of
VOLLEYGUN i -> volleyGun i VOLLEYGUN i -> volleyGun i
MULTIGUN i -> multiGun i MULTIGUN i -> multiGun i
RIFLE -> rifle RIFLE -> rifle
REPEATER -> repeater -- REPEATER -> repeater
AUTORIFLE -> autoRifle AUTORIFLE -> autoRifle
BURSTRIFLE -> burstRifle BURSTRIFLE -> burstRifle
BANGROD -> bangRod BANGROD -> bangRod
+16 -14
View File
@@ -1,7 +1,6 @@
module Dodge.Item.Held.Cane ( module Dodge.Item.Held.Cane (
volleyGun, volleyGun,
multiGun, multiGun,
repeater,
rifle, rifle,
autoRifle, autoRifle,
burstRifle, burstRifle,
@@ -12,6 +11,7 @@ import Dodge.SoundLogic.ExternallyGeneratedSounds
import Dodge.Base import Dodge.Base
import Dodge.Data.Item import Dodge.Data.Item
import Dodge.Default import Dodge.Default
import qualified Data.IntMap.Strict as IM
--import Dodge.Reloading.Action --import Dodge.Reloading.Action
import Geometry.Data import Geometry.Data
import LensHelp import LensHelp
@@ -32,23 +32,24 @@ defaultBangCane =
& itDimension . dimRad .~ 8 & itDimension . dimRad .~ 8
& itDimension . dimCenter .~ V3 5 0 0 & itDimension . dimCenter .~ V3 5 0 0
& itUse . heldDelay . rateMax .~ 6 & itUse . heldDelay . rateMax .~ 6
& itUse . heldMods .~ BangCaneMod -- & itUse . heldMods .~ BangCaneMod
& itUse . heldAim . aimStance .~ OneHand & itUse . heldAim . aimStance .~ OneHand
-- & itUse . heldAim . aimHandlePos .~ 5 -- & itUse . heldAim . aimHandlePos .~ 5
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0 DefaultFlareType] & itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0 PistolFlare]
volleyGun :: Int -> Item volleyGun :: Int -> Item
volleyGun i = volleyGun i =
defaultBangCane defaultBangCane
& itUse . heldMods .~ VolleyGunMod -- & itUse . heldMods .~ VolleyGunMod
& itUse . heldAim . aimWeight .~ 6 & itUse . heldAim . aimWeight .~ 6
& itUse . heldAim . aimRange .~ 1 & itUse . heldAim . aimRange .~ 1
& itUse . heldAim . aimStance .~ TwoHandFlat & itUse . heldAim . aimStance .~ TwoHandFlat
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5} & itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
& itUse . heldAim . aimMuzzles .~ & itUse . heldAim . aimMuzzles .~
([Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3] <*> [0..] <*> repeat DefaultFlareType) take i ([Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3] <*> [0..] <*> repeat PistolFlare)
& itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i & itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
& itType . iyBase .~ HELD (VOLLEYGUN i) & itType . iyBase .~ HELD (VOLLEYGUN i)
& itUse . heldAmmoTypes .~ IM.fromList (zip [0..i-1] $ repeat BulletAmmo)
multiGun :: Int -> Item multiGun :: Int -> Item
multiGun i = multiGun i =
@@ -71,26 +72,27 @@ rifle =
& itUse . heldAim . aimWeight .~ 6 & itUse . heldAim . aimWeight .~ 6
& itUse . heldAim . aimRange .~ 1 & itUse . heldAim . aimRange .~ 1
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5} & itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 25 0) 0 0.01 0 DefaultFlareType] & itUse . heldAim . aimMuzzles .~ [Muzzle (V2 25 0) 0 0.01 0 PistolFlare]
& itType . iyModules . at ModHeldAttach ?~ EMPTYMODULE & itType . iyModules . at ModHeldAttach ?~ EMPTYMODULE
repeater :: Item --repeater :: Item
repeater = --repeater =
rifle -- rifle
& itType . iyModules . at ModRifleMag ?~ EMPTYMODULE -- & itType . iyModules . at ModRifleMag ?~ EMPTYMODULE
& itType . iyBase .~ HELD REPEATER -- & itType . iyBase .~ HELD REPEATER
autoRifle :: Item autoRifle :: Item
autoRifle = autoRifle =
repeater rifle
& itType . iyBase .~ HELD AUTORIFLE & itType . iyBase .~ HELD AUTORIFLE
& itUse . heldMods .~ AutoRifleMod & itUse . heldTriggerType .~ AutoTrigger
-- & itUse . heldMods .~ AutoRifleMod
& itType . iyModules . at ModAutoMag ?~ EMPTYMODULE & itType . iyModules . at ModAutoMag ?~ EMPTYMODULE
-- & itUse . useDelay . rateMax .~ 6 -- & itUse . useDelay . rateMax .~ 6
burstRifle :: Item burstRifle :: Item
burstRifle = burstRifle =
repeater rifle
& itType . iyBase .~ HELD BURSTRIFLE & itType . iyBase .~ HELD BURSTRIFLE
& itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy .~ 0.05 & itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy .~ 0.05
& itUse . heldDelay . rateMax .~ 18 & itUse . heldDelay . rateMax .~ 18
+11 -5
View File
@@ -45,7 +45,9 @@ pistol =
-- & itUse . heldAmmoTypes .~ [BulletAmmo] -- & itUse . heldAmmoTypes .~ [BulletAmmo]
& itUse . heldDelay . rateMax .~ 6 & itUse . heldDelay . rateMax .~ 6
& itUse . heldMods .~ PistolMod & itUse . heldMods .~ PistolMod
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 10 0) 0 0.05 0 DefaultFlareType] & itUse . heldAim . aimMuzzles . ix 0 . mzPos %~ const (V2 10 0)
& itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy %~ const 0.05
& itUse . heldAim . aimMuzzles . ix 0 . mzFlareType %~ const PistolFlare
& itUse . heldParams & itUse . heldParams
%~ ( (muzVel .~ 0.8) %~ ( (muzVel .~ 0.8)
. (rifling .~ 0.8) . (rifling .~ 0.8)
@@ -58,7 +60,9 @@ pistol =
autoPistol :: Item autoPistol :: Item
autoPistol = autoPistol =
pistol pistol
& itUse . heldMods .~ AutoPistolMod & itUse . heldMods .~ PistolMod
& itUse . heldTriggerType .~ AutoTrigger
& itUse . heldParams . bulGunSound .~ tap1S
& itType . iyBase .~ HELD AUTOPISTOL & itType . iyBase .~ HELD AUTOPISTOL
& itType . iyModules . at ModAutoMag ?~ EMPTYMODULE & itType . iyModules . at ModAutoMag ?~ EMPTYMODULE
@@ -66,7 +70,7 @@ machinePistol :: Item
machinePistol = machinePistol =
autoPistol autoPistol
& itUse . heldDelay . rateMax .~ 2 & itUse . heldDelay . rateMax .~ 2
& itUse . heldMods .~ MachinePistolMod -- (ammoCheckI : machinePistolAfterHamMods) & itUse . heldMods .~ PistolMod -- (ammoCheckI : machinePistolAfterHamMods)
& itType . iyBase .~ HELD MACHINEPISTOL & itType . iyBase .~ HELD MACHINEPISTOL
& itType . iyModules . at ModAutoMag .~ Nothing & itType . iyModules . at ModAutoMag .~ Nothing
& itUse . heldParams . recoil .~ 20 & itUse . heldParams . recoil .~ 20
@@ -74,9 +78,11 @@ machinePistol =
smg :: Item smg :: Item
smg = smg =
autoPistol -- & some parameter affecting stability autoPistol -- & some parameter affecting stability
& itUse . heldMods .~ SmgMod --(ammoCheckI : smgAfterHamMods) & itUse . heldMods .~ PistolMod --(ammoCheckI : smgAfterHamMods)
& itType . iyBase .~ HELD SMG & itType . iyBase .~ HELD SMG
& itUse . heldAim . aimStance .~ TwoHandUnder & itUse . heldAim . aimStance .~ TwoHandUnder
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) 0 0 0 DefaultFlareType] & itUse . heldAim . aimMuzzles . ix 0 . mzPos .~ V2 20 0
& itUse . heldAim . aimMuzzles . ix 0 . mzInaccuracy .~ 0
-- & itUse . heldAim . aimHandlePos .~ 2 -- & itUse . heldAim . aimHandlePos .~ 2
& itUse . heldParams . torqueAfter .~ 0.05 & itUse . heldParams . torqueAfter .~ 0.05
& itUse . heldParams . sidePush .~ 30
+1 -1
View File
@@ -74,7 +74,7 @@ heldInfo hit = case hit of
VOLLEYGUN i -> over _head toUpper (showInt i) ++ " gun barrels lined up to be roughly parallel. Draws bullets from a single magazine. All loaded barrels discharge simultaneously." VOLLEYGUN i -> over _head toUpper (showInt i) ++ " gun barrels lined up to be roughly parallel. Draws bullets from a single magazine. All loaded barrels discharge simultaneously."
MULTIGUN i -> over _head toUpper (showInt i) ++ " gun barrels lined up to be roughly parallel. Each barrel requires a separate magazine. All barrels must be loaded to fire." MULTIGUN i -> over _head toUpper (showInt i) ++ " gun barrels lined up to be roughly parallel. Each barrel requires a separate magazine. All barrels must be loaded to fire."
RIFLE -> "A firearm with a mid length barrel that requires reloading after each shot." RIFLE -> "A firearm with a mid length barrel that requires reloading after each shot."
REPEATER -> "A firearm fed by a magazine. The entire magazine must be replaced when reloading the weapon." -- REPEATER -> "A firearm fed by a magazine. The entire magazine must be replaced when reloading the weapon."
AUTORIFLE -> "A firearm automatically fed by a magazine. The entire magazine must be replaced when reloading the weapon." AUTORIFLE -> "A firearm automatically fed by a magazine. The entire magazine must be replaced when reloading the weapon."
BURSTRIFLE -> "A firearm that rapidly fires three projectiles from its magazine. The entire magazine must be replaced when reloading the weapon." BURSTRIFLE -> "A firearm that rapidly fires three projectiles from its magazine. The entire magazine must be replaced when reloading the weapon."
BANGROD -> "A firearm with a long barrel that requires reloading after each shot." BANGROD -> "A firearm with a long barrel that requires reloading after each shot."
+1 -1
View File
@@ -38,7 +38,7 @@ heldBounds hit = case hit of
VOLLEYGUN _ -> undefined VOLLEYGUN _ -> undefined
MULTIGUN _ -> undefined MULTIGUN _ -> undefined
RIFLE -> rs RIFLE -> rs
REPEATER -> rs -- REPEATER -> rs
AUTORIFLE -> rs AUTORIFLE -> rs
BURSTRIFLE -> rs BURSTRIFLE -> rs
BANGROD -> amrs BANGROD -> amrs
+3 -1
View File
@@ -1,6 +1,7 @@
{-# OPTIONS_GHC -Wno-unused-imports #-} {-# OPTIONS_GHC -Wno-unused-imports #-}
module Dodge.TestString where module Dodge.TestString where
import Dodge.DoubleTree
import Dodge.Data.DoubleTree import Dodge.Data.DoubleTree
import Dodge.Item.Grammar import Dodge.Item.Grammar
import Dodge.Item.Display import Dodge.Item.Display
@@ -22,7 +23,8 @@ testStringInit :: Universe -> [String]
testStringInit _ = mempty testStringInit _ = mempty
--testStringInit u = fromMaybe mempty $ do --testStringInit u = fromMaybe mempty $ do
-- inv <- fmap invLDT $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv -- inv <- fmap invLDT $ u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv
-- return $ concatMap (prettyLDT (\(x,_,_,_) -> take 5 (show $ x ^. itType . iyBase))) inv -- invitm <- inv ^? ix 1
-- return $ concatMap (prettyLDT (\(x,_,_,_) -> take 5 (show $ x ^. itType . iyBase))) [invitm]
--testStringInit u = maybe [] invTree (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv) --testStringInit u = maybe [] invTree (u ^? uvWorld . cWorld . lWorld . creatures . ix 0 . crInv)
-- [fromMaybe "" $ do -- [fromMaybe "" $ do
+64 -68
View File
@@ -58,7 +58,7 @@ AimParams src/Dodge/Data/Item/Use.hs 115;" t
AimParams src/Dodge/Default/AimParams.hs 1;" m AimParams src/Dodge/Default/AimParams.hs 1;" m
AimParams src/Dodge/Default/Item/Held/AimParams.hs 1;" m AimParams src/Dodge/Default/Item/Held/AimParams.hs 1;" m
AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m AimParams src/Dodge/Default/Item/Use/AimParams.hs 1;" m
AimStance src/Dodge/Data/Item/Use.hs 148;" t AimStance src/Dodge/Data/Item/Use.hs 149;" t
Aiming src/Dodge/Creature/Stance/Data.hs 42;" C Aiming src/Dodge/Creature/Stance/Data.hs 42;" C
Aiming src/Dodge/Data/Creature/Stance.hs 39;" C Aiming src/Dodge/Data/Creature/Stance.hs 39;" C
AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C AirFiltrationSS src/Dodge/Data/Scenario.hs 95;" C
@@ -148,10 +148,8 @@ AutoCrit src/Dodge/Creature/AutoCrit.hs 1;" m
AutoDoor src/Dodge/LevelGen/AutoDoor.hs 5;" m AutoDoor src/Dodge/LevelGen/AutoDoor.hs 5;" m
AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C AutoDoorObstacle src/Dodge/Data/PathGraph.hs 51;" C
AutoGun src/Dodge/Item/Weapon/AutoGun.hs 1;" m AutoGun src/Dodge/Item/Weapon/AutoGun.hs 1;" m
AutoPistolMod src/Dodge/Data/Item/HeldUse.hs 95;" C
AutoRecharging src/Dodge/Data/Item/Consumption.hs 23;" C AutoRecharging src/Dodge/Data/Item/Consumption.hs 23;" C
AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 28;" C AutoRecharging src/Dodge/Data/Item/Use/Consumption.hs 28;" C
AutoRifleMod src/Dodge/Data/Item/HeldUse.hs 87;" C
AutoTrigger src/Dodge/Data/Item/Use.hs 68;" C AutoTrigger src/Dodge/Data/Item/Use.hs 68;" C
AuxAddition src/Shader/AuxAddition.hs 1;" m AuxAddition src/Shader/AuxAddition.hs 1;" m
AwakeLevel src/Dodge/Creature/AlertLevel/Data.hs 14;" t AwakeLevel src/Dodge/Creature/AlertLevel/Data.hs 14;" t
@@ -202,7 +200,6 @@ BURSTRIFLE src/Dodge/Combine/Data.hs 152;" C
BURSTRIFLE src/Dodge/Data/Item/Combine.hs 175;" C BURSTRIFLE src/Dodge/Data/Item/Combine.hs 175;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C
Ball src/Dodge/Tesla/Ball.hs 1;" m Ball src/Dodge/Tesla/Ball.hs 1;" m
BangCaneMod src/Dodge/Data/Item/HeldUse.hs 84;" C
BangConeMod src/Dodge/Data/Item/HeldUse.hs 101;" C BangConeMod src/Dodge/Data/Item/HeldUse.hs 101;" C
BangRodMod src/Dodge/Data/Item/HeldUse.hs 88;" C BangRodMod src/Dodge/Data/Item/HeldUse.hs 88;" C
BangStickMod src/Dodge/Data/Item/HeldUse.hs 93;" C BangStickMod src/Dodge/Data/Item/HeldUse.hs 93;" C
@@ -1300,7 +1297,7 @@ ItInvEffect src/Dodge/Data/ItEffect.hs 13;" C
ItInvEffectDrop src/Dodge/Data/ItEffect.hs 29;" C ItInvEffectDrop src/Dodge/Data/ItEffect.hs 29;" C
ItInvEffectID src/Dodge/Data/ItEffect.hs 25;" C ItInvEffectID src/Dodge/Data/ItEffect.hs 25;" C
ItRewindEffect src/Dodge/Data/ItEffect.hs 17;" C ItRewindEffect src/Dodge/Data/ItEffect.hs 17;" C
ItZoom src/Dodge/Data/Item/Use.hs 157;" t ItZoom src/Dodge/Data/Item/Use.hs 158;" t
Item src/Dodge/Data/Item.hs 33;" t Item src/Dodge/Data/Item.hs 33;" t
Item src/Dodge/Base/Item.hs 1;" m Item src/Dodge/Base/Item.hs 1;" m
Item src/Dodge/Data/Item.hs 6;" m Item src/Dodge/Data/Item.hs 6;" m
@@ -1551,7 +1548,6 @@ Machine src/Dodge/Machine.hs 1;" m
MachineAltSound src/Dodge/Data/SoundOrigin.hs 20;" C MachineAltSound src/Dodge/Data/SoundOrigin.hs 20;" C
MachineGunMod src/Dodge/Data/Item/HeldUse.hs 91;" C MachineGunMod src/Dodge/Data/Item/HeldUse.hs 91;" C
MachinePart src/Dodge/Data/Wall.hs 51;" C MachinePart src/Dodge/Data/Wall.hs 51;" C
MachinePistolMod src/Dodge/Data/Item/HeldUse.hs 96;" C
MachineSound src/Dodge/Data/SoundOrigin.hs 19;" C MachineSound src/Dodge/Data/SoundOrigin.hs 19;" C
MachineType src/Dodge/Data/Machine.hs 49;" t MachineType src/Dodge/Data/Machine.hs 49;" t
MagShieldParams src/Dodge/Data/Item/Params.hs 18;" C MagShieldParams src/Dodge/Data/Item/Params.hs 18;" C
@@ -1679,7 +1675,7 @@ Music src/Music.hs 1;" m
MusicData src/Music.hs 7;" t MusicData src/Music.hs 7;" t
Mute src/Dodge/Data/Creature/Misc.hs 28;" C Mute src/Dodge/Data/Creature/Misc.hs 28;" C
MuzFlare src/Dodge/Data/Flare.hs 15;" C MuzFlare src/Dodge/Data/Flare.hs 15;" C
Muzzle src/Dodge/Data/Item/Use.hs 130;" t Muzzle src/Dodge/Data/Item/Use.hs 131;" t
MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 5;" m MuzzleEffect src/Dodge/Data/MuzzleEffect.hs 5;" m
MvForward src/Dodge/Data/ActionPlan.hs 35;" C MvForward src/Dodge/Data/ActionPlan.hs 35;" C
MvPt src/Dodge/MvPt.hs 1;" m MvPt src/Dodge/MvPt.hs 1;" m
@@ -1844,7 +1840,7 @@ OnSpecial src/Dodge/Equipment/Data.hs 24;" C
OnTurret src/Dodge/Data/Item/Location.hs 13;" C OnTurret src/Dodge/Data/Item/Location.hs 13;" C
OnceSound src/Dodge/Data/SoundOrigin.hs 15;" C OnceSound src/Dodge/Data/SoundOrigin.hs 15;" C
OneArgument src/Dodge/Data/Terminal.hs 94;" C OneArgument src/Dodge/Data/Terminal.hs 94;" C
OneHand src/Dodge/Data/Item/Use.hs 152;" C OneHand src/Dodge/Data/Item/Use.hs 153;" C
OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C OnwardCluster src/Dodge/Data/RoomCluster.hs 14;" C
OnwardCluster src/Dodge/RoomCluster/Data.hs 12;" C OnwardCluster src/Dodge/RoomCluster/Data.hs 12;" C
OnwardList src/Dodge/Annotation/Data.hs 15;" C OnwardList src/Dodge/Annotation/Data.hs 15;" C
@@ -1965,6 +1961,7 @@ Pillar src/Dodge/Room/Pillar.hs 1;" m
Pipe src/Dodge/Placement/Instance/Pipe.hs 1;" m Pipe src/Dodge/Placement/Instance/Pipe.hs 1;" m
PistolAI src/Dodge/Data/Creature/Misc.hs 53;" C PistolAI src/Dodge/Data/Creature/Misc.hs 53;" C
PistolCrit src/Dodge/Creature/PistolCrit.hs 1;" m PistolCrit src/Dodge/Creature/PistolCrit.hs 1;" m
PistolFlare src/Dodge/Data/Item/Use.hs 128;" C
PistolMod src/Dodge/Data/Item/HeldUse.hs 94;" C PistolMod src/Dodge/Data/Item/HeldUse.hs 94;" C
PlaceSpot src/Dodge/Placement/PlaceSpot.hs 4;" m PlaceSpot src/Dodge/Placement/PlaceSpot.hs 4;" m
Placement src/Dodge/Data/GenWorld.hs 77;" t Placement src/Dodge/Data/GenWorld.hs 77;" t
@@ -2112,7 +2109,6 @@ RED src/Color/Data.hs 15;" C
REMOTELAUNCHER src/Dodge/Combine/Data.hs 182;" C REMOTELAUNCHER src/Dodge/Combine/Data.hs 182;" C
REMOTELAUNCHER src/Dodge/Data/Item/Combine.hs 196;" C REMOTELAUNCHER src/Dodge/Data/Item/Combine.hs 196;" C
REPEATER src/Dodge/Combine/Data.hs 150;" C REPEATER src/Dodge/Combine/Data.hs 150;" C
REPEATER src/Dodge/Data/Item/Combine.hs 173;" C
REVOLVEMAG src/Dodge/Data/Item/Combine.hs 110;" C REVOLVEMAG src/Dodge/Data/Item/Combine.hs 110;" C
REVOLVER src/Dodge/Combine/Data.hs 136;" C REVOLVER src/Dodge/Combine/Data.hs 136;" C
REVOLVERX src/Dodge/Combine/Data.hs 137;" C REVOLVERX src/Dodge/Combine/Data.hs 137;" C
@@ -2419,7 +2415,6 @@ SkiffBaySS src/Dodge/Data/Scenario.hs 108;" C
SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C SleepingQuatersSS src/Dodge/Data/Scenario.hs 90;" C
SlotsTaken src/Dodge/Item/SlotsTaken.hs 1;" m SlotsTaken src/Dodge/Item/SlotsTaken.hs 1;" m
Small src/Shape/Data.hs 31;" C Small src/Shape/Data.hs 31;" C
SmgMod src/Dodge/Data/Item/HeldUse.hs 100;" C
SmokeCloud src/Dodge/Data/Cloud.hs 30;" C SmokeCloud src/Dodge/Data/Cloud.hs 30;" C
SmoothScroll src/Dodge/SmoothScroll.hs 1;" m SmoothScroll src/Dodge/SmoothScroll.hs 1;" m
SocialUpheaval src/Dodge/Data/Scenario.hs 27;" C SocialUpheaval src/Dodge/Data/Scenario.hs 27;" C
@@ -2733,9 +2728,9 @@ TweakTractionPower src/Dodge/Data/Item/Tweak.hs 22;" C
TweakType src/Dodge/Data/Item/Tweak.hs 20;" t TweakType src/Dodge/Data/Item/Tweak.hs 20;" t
Tweakable src/Dodge/Data/Item/Tweak.hs 15;" C Tweakable src/Dodge/Data/Item/Tweak.hs 15;" C
TwistGoal src/Dodge/Data/Scenario.hs 15;" C TwistGoal src/Dodge/Data/Scenario.hs 15;" C
TwoHandFlat src/Dodge/Data/Item/Use.hs 151;" C TwoHandFlat src/Dodge/Data/Item/Use.hs 152;" C
TwoHandOver src/Dodge/Data/Item/Use.hs 150;" C TwoHandOver src/Dodge/Data/Item/Use.hs 151;" C
TwoHandUnder src/Dodge/Data/Item/Use.hs 149;" C TwoHandUnder src/Dodge/Data/Item/Use.hs 150;" C
Type src/Dodge/Data/Damage/Type.hs 6;" m Type src/Dodge/Data/Damage/Type.hs 6;" m
Typical src/Shape/Data.hs 36;" C Typical src/Shape/Data.hs 36;" C
UPtLayer src/Dodge/Picture/Layer/Data.hs 16;" C UPtLayer src/Dodge/Picture/Layer/Data.hs 16;" C
@@ -3553,9 +3548,9 @@ _iyBase src/Dodge/Data/Item/Combine.hs 17;" f
_iyModules src/Dodge/Combine/Data.hs 14;" f _iyModules src/Dodge/Combine/Data.hs 14;" f
_iyModules src/Dodge/Data/Item/Combine.hs 18;" f _iyModules src/Dodge/Data/Item/Combine.hs 18;" f
_iyStack src/Dodge/Combine/Data.hs 15;" f _iyStack src/Dodge/Combine/Data.hs 15;" f
_izFac src/Dodge/Data/Item/Use.hs 160;" f _izFac src/Dodge/Data/Item/Use.hs 161;" f
_izMax src/Dodge/Data/Item/Use.hs 158;" f _izMax src/Dodge/Data/Item/Use.hs 159;" f
_izMin src/Dodge/Data/Item/Use.hs 159;" f _izMin src/Dodge/Data/Item/Use.hs 160;" f
_killTarget src/Dodge/Data/ActionPlan.hs 198;" f _killTarget src/Dodge/Data/ActionPlan.hs 198;" f
_lClock src/Dodge/Data/LWorld.hs 145;" f _lClock src/Dodge/Data/LWorld.hs 145;" f
_lWorld src/Dodge/Data/CWorld.hs 26;" f _lWorld src/Dodge/Data/CWorld.hs 26;" f
@@ -3683,11 +3678,11 @@ _mvSpeed src/Dodge/Data/Creature/Misc.hs 39;" f
_mvToPoint src/Dodge/Data/Creature.hs 98;" f _mvToPoint src/Dodge/Data/Creature.hs 98;" f
_mvTurnJit src/Dodge/Data/Creature/Misc.hs 43;" f _mvTurnJit src/Dodge/Data/Creature/Misc.hs 43;" f
_mvTurnRad src/Dodge/Data/Creature/Misc.hs 42;" f _mvTurnRad src/Dodge/Data/Creature/Misc.hs 42;" f
_mzAmmoSlot src/Dodge/Data/Item/Use.hs 134;" f _mzAmmoSlot src/Dodge/Data/Item/Use.hs 135;" f
_mzFlareType src/Dodge/Data/Item/Use.hs 135;" f _mzFlareType src/Dodge/Data/Item/Use.hs 136;" f
_mzInaccuracy src/Dodge/Data/Item/Use.hs 133;" f _mzInaccuracy src/Dodge/Data/Item/Use.hs 134;" f
_mzPos src/Dodge/Data/Item/Use.hs 131;" f _mzPos src/Dodge/Data/Item/Use.hs 132;" f
_mzRot src/Dodge/Data/Item/Use.hs 132;" f _mzRot src/Dodge/Data/Item/Use.hs 133;" f
_newArcStep src/Dodge/Data/Item/Params.hs 57;" f _newArcStep src/Dodge/Data/Item/Params.hs 57;" f
_newBeams src/Dodge/Data/LWorld.hs 114;" f _newBeams src/Dodge/Data/LWorld.hs 114;" f
_noClip src/Dodge/Debug/Flag/Data.hs 7;" f _noClip src/Dodge/Debug/Flag/Data.hs 7;" f
@@ -4436,7 +4431,7 @@ anyTargeting src/Dodge/Render/ShapePicture.hs 70;" f
anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f anyUnusedSpot src/Dodge/PlacementSpot.hs 66;" f
anythingHitCirc src/Dodge/Base/Collide.hs 242;" f anythingHitCirc src/Dodge/Base/Collide.hs 242;" f
appendEitherTree src/Dodge/Layout/Tree/Either.hs 29;" f appendEitherTree src/Dodge/Layout/Tree/Either.hs 29;" f
applyCME src/Dodge/HeldUse.hs 366;" f applyCME src/Dodge/HeldUse.hs 364;" f
applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f applyCreatureDamage src/Dodge/Creature/Damage.hs 14;" f
applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f applyDamageEffect src/Dodge/Creature/Damage.hs 31;" f
applyEventIO src/Loop.hs 89;" f applyEventIO src/Loop.hs 89;" f
@@ -4448,10 +4443,11 @@ applyNoDamage src/Dodge/Creature/Damage.hs 11;" f
applyPastDamages src/Dodge/Creature/State.hs 169;" f applyPastDamages src/Dodge/Creature/State.hs 169;" f
applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f applyPiercingDamage src/Dodge/Creature/Damage.hs 57;" f
applyPosition src/Sound.hs 110;" f applyPosition src/Sound.hs 110;" f
applyRecoil src/Dodge/HeldUse.hs 373;" f applyRecoil src/Dodge/HeldUse.hs 381;" f
applyResFactor src/Dodge/Data/Config.hs 108;" f applyResFactor src/Dodge/Data/Config.hs 108;" f
applySetTerminalString src/Dodge/Debug/Terminal.hs 78;" f applySetTerminalString src/Dodge/Debug/Terminal.hs 78;" f
applySidePush src/Dodge/HeldUse.hs 380;" f applySidePush src/Dodge/HeldUse.hs 388;" f
applySoundCME src/Dodge/HeldUse.hs 374;" f
applyTerminalCommand src/Dodge/Debug/Terminal.hs 27;" f applyTerminalCommand src/Dodge/Debug/Terminal.hs 27;" f
applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 39;" f applyTerminalCommandArguments src/Dodge/Debug/Terminal.hs 39;" f
applyTerminalString src/Dodge/Debug/Terminal.hs 21;" f applyTerminalString src/Dodge/Debug/Terminal.hs 21;" f
@@ -4466,7 +4462,7 @@ applyToSubforest src/Dodge/Tree/Polymorphic.hs 66;" f
applyToSubforest src/TreeHelp.hs 77;" f applyToSubforest src/TreeHelp.hs 77;" f
applyToSubtree src/Dodge/Tree/Polymorphic.hs 60;" f applyToSubtree src/Dodge/Tree/Polymorphic.hs 60;" f
applyToSubtree src/TreeHelp.hs 70;" f applyToSubtree src/TreeHelp.hs 70;" f
applyTorqueCME src/Dodge/HeldUse.hs 390;" f applyTorqueCME src/Dodge/HeldUse.hs 398;" f
applyWorldConfig src/Dodge/Config/Update.hs 38;" f applyWorldConfig src/Dodge/Config/Update.hs 38;" f
aquamarine src/Color.hs 23;" f aquamarine src/Color.hs 23;" f
arc src/Picture/Base.hs 287;" f arc src/Picture/Base.hs 287;" f
@@ -4512,10 +4508,10 @@ autoGun src/Dodge/Item/Weapon/AutoGun.hs 24;" f
autoGunPic src/Dodge/Item/Weapon/AutoGun.hs 66;" f autoGunPic src/Dodge/Item/Weapon/AutoGun.hs 66;" f
autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 496;" f autoGunS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 496;" f
autoGunSound src/Dodge/SoundLogic/Synonyms.hs 4;" f autoGunSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
autoPistol src/Dodge/Item/Held/Stick.hs 58;" f autoPistol src/Dodge/Item/Held/Stick.hs 60;" f
autoPistol src/Dodge/Item/Weapon/BulletGun/Stick.hs 79;" f autoPistol src/Dodge/Item/Weapon/BulletGun/Stick.hs 79;" f
autoRadarEffect src/Dodge/Item/Weapon/ExtraEffect.hs 39;" f autoRadarEffect src/Dodge/Item/Weapon/ExtraEffect.hs 39;" f
autoRifle src/Dodge/Item/Held/Cane.hs 83;" f autoRifle src/Dodge/Item/Held/Cane.hs 84;" f
autoRifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 97;" f autoRifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 97;" f
autoSonarEffect src/Dodge/Item/Weapon/ExtraEffect.hs 43;" f autoSonarEffect src/Dodge/Item/Weapon/ExtraEffect.hs 43;" f
autogunSpread src/Dodge/Item/Weapon/AutoGun.hs 78;" f autogunSpread src/Dodge/Item/Weapon/AutoGun.hs 78;" f
@@ -4537,7 +4533,7 @@ bangRod src/Dodge/Item/Weapon/BulletGun/Rod.hs 18;" f
bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 478;" f bangS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 478;" f
bangStick src/Dodge/Item/Held/Stick.hs 17;" f bangStick src/Dodge/Item/Held/Stick.hs 17;" f
bangStick src/Dodge/Item/Weapon/BulletGun/Stick.hs 17;" f bangStick src/Dodge/Item/Weapon/BulletGun/Stick.hs 17;" f
bangStickSoundChoice src/Dodge/HeldUse.hs 947;" f bangStickSoundChoice src/Dodge/HeldUse.hs 968;" f
bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f bangStickSoundChoice src/Dodge/HeldUse/BulletWeapon.hs 226;" f
barPP src/Dodge/Room/Foreground.hs 236;" f barPP src/Dodge/Room/Foreground.hs 236;" f
barrel src/Dodge/Creature/Inanimate.hs 17;" f barrel src/Dodge/Creature/Inanimate.hs 17;" f
@@ -4650,20 +4646,20 @@ bufferPokedVBO src/Shader/Bind.hs 18;" f
bufferShaderLayers src/Shader/Bind.hs 35;" f bufferShaderLayers src/Shader/Bind.hs 35;" f
bulDamageCr src/Dodge/Particle/Bullet/DestroyDamage.hs 21;" f bulDamageCr src/Dodge/Particle/Bullet/DestroyDamage.hs 21;" f
bulDamageWall src/Dodge/Particle/Bullet/DestroyDamage.hs 30;" f bulDamageWall src/Dodge/Particle/Bullet/DestroyDamage.hs 30;" f
bulGunEffect src/Dodge/HeldUse.hs 356;" f bulGunEffect src/Dodge/HeldUse.hs 351;" f
bulGunEffect' src/Dodge/HeldUse.hs 359;" f bulGunEffect' src/Dodge/HeldUse.hs 354;" f
bulSelTweak src/Dodge/TweakBullet.hs 15;" f bulSelTweak src/Dodge/TweakBullet.hs 15;" f
bulletBeltBracer src/Dodge/Item/Equipment.hs 83;" f bulletBeltBracer src/Dodge/Item/Equipment.hs 83;" f
bulletBeltPack src/Dodge/Item/Equipment.hs 74;" f bulletBeltPack src/Dodge/Item/Equipment.hs 74;" f
bulletBodyCraft src/Dodge/Item/Craftable.hs 24;" f bulletBodyCraft src/Dodge/Item/Craftable.hs 24;" f
bulletCombinations src/Dodge/Combine/Graph.hs 35;" f bulletCombinations src/Dodge/Combine/Graph.hs 35;" f
bulletGunEffect src/Dodge/HeldUse.hs 458;" f bulletGunEffect src/Dodge/HeldUse.hs 490;" f
bulletMagazines src/Dodge/Combine/Combinations.hs 239;" f bulletMagazines src/Dodge/Combine/Combinations.hs 239;" f
bulletSpawn src/Dodge/Bullet.hs 97;" f bulletSpawn src/Dodge/Bullet.hs 97;" f
bulletSynthesizer src/Dodge/Item/Ammo.hs 76;" f bulletSynthesizer src/Dodge/Item/Ammo.hs 76;" f
bulletTypes src/Dodge/TweakBullet.hs 26;" f bulletTypes src/Dodge/TweakBullet.hs 26;" f
bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f bulletWeapons src/Dodge/Combine/Combinations.hs 247;" f
burstRifle src/Dodge/Item/Held/Cane.hs 91;" f burstRifle src/Dodge/Item/Held/Cane.hs 93;" f
burstRifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 105;" f burstRifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 105;" f
buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f buzzS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 502;" f
buzzSound src/Dodge/SoundLogic/Synonyms.hs 4;" f buzzSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
@@ -4673,7 +4669,7 @@ canAttachTargeting src/Dodge/Item/Display.hs 19;" f
canHeldScrollAttach src/Dodge/HeldScroll.hs 75;" f canHeldScrollAttach src/Dodge/HeldScroll.hs 75;" f
canSee src/Dodge/Base/Collide.hs 228;" f canSee src/Dodge/Base/Collide.hs 228;" f
canSeeIndirect src/Dodge/Base/Collide.hs 235;" f canSeeIndirect src/Dodge/Base/Collide.hs 235;" f
caneStickSoundChoice src/Dodge/HeldUse.hs 942;" f caneStickSoundChoice src/Dodge/HeldUse.hs 963;" f
cardList src/Dodge/Base/CardinalPoint.hs 6;" f cardList src/Dodge/Base/CardinalPoint.hs 6;" f
cardVec src/Dodge/Base/CardinalPoint.hs 9;" f cardVec src/Dodge/Base/CardinalPoint.hs 9;" f
cardinalVectors src/Dodge/FloorItem.hs 39;" f cardinalVectors src/Dodge/FloorItem.hs 39;" f
@@ -4826,8 +4822,8 @@ composeTree src/Dodge/Tree/Compose.hs 46;" f
computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f computerBeepingS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 458;" f
conEffects src/Dodge/Concurrent.hs 17;" f conEffects src/Dodge/Concurrent.hs 17;" f
concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f concBall src/Dodge/WorldEvent/SpawnParticle.hs 27;" f
coneRandItemParams src/Dodge/HeldUse.hs 956;" f coneRandItemParams src/Dodge/HeldUse.hs 977;" f
coneRandItemUpdate src/Dodge/HeldUse.hs 950;" f coneRandItemUpdate src/Dodge/HeldUse.hs 971;" f
connectRoom src/Dodge/Layout/Tree/Either.hs 48;" f connectRoom src/Dodge/Layout/Tree/Either.hs 48;" f
connectTrunk src/Dodge/Layout/Tree/Either.hs 54;" f connectTrunk src/Dodge/Layout/Tree/Either.hs 54;" f
connectionBlurb src/Dodge/Terminal.hs 100;" f connectionBlurb src/Dodge/Terminal.hs 100;" f
@@ -5064,7 +5060,7 @@ defaultChaseMvType src/Dodge/Default/Creature.hs 113;" f
defaultClusterStatus src/Dodge/Default/Room.hs 38;" f defaultClusterStatus src/Dodge/Default/Room.hs 38;" f
defaultConfig src/Dodge/Config/Data.hs 83;" f defaultConfig src/Dodge/Config/Data.hs 83;" f
defaultConfig src/Dodge/Data/Config.hs 125;" f defaultConfig src/Dodge/Data/Config.hs 125;" f
defaultConsumable src/Dodge/Default/Item.hs 67;" f defaultConsumable src/Dodge/Default/Item.hs 68;" f
defaultCorpse src/Dodge/Corpse/Make.hs 29;" f defaultCorpse src/Dodge/Corpse/Make.hs 29;" f
defaultCraftItem src/Dodge/Default/Item.hs 42;" f defaultCraftItem src/Dodge/Default/Item.hs 42;" f
defaultCreature src/Dodge/Default/Creature.hs 12;" f defaultCreature src/Dodge/Default/Creature.hs 12;" f
@@ -5131,7 +5127,7 @@ defaultTerminal src/Dodge/Default/Terminal.hs 8;" f
defaultTerminalInput src/Dodge/Default/Terminal.hs 30;" f defaultTerminalInput src/Dodge/Default/Terminal.hs 30;" f
defaultVision src/Dodge/Default/Creature.hs 92;" f defaultVision src/Dodge/Default/Creature.hs 92;" f
defaultWall src/Dodge/Default/Wall.hs 10;" f defaultWall src/Dodge/Default/Wall.hs 10;" f
defaultWeapon src/Dodge/Default/Item.hs 57;" f defaultWeapon src/Dodge/Default/Item.hs 58;" f
defaultWindow src/Dodge/Default/Wall.hs 74;" f defaultWindow src/Dodge/Default/Wall.hs 74;" f
defaultWorld src/Dodge/Default/World.hs 31;" f defaultWorld src/Dodge/Default/World.hs 31;" f
defaultWorldHammers src/Dodge/Default/Input.hs 28;" f defaultWorldHammers src/Dodge/Default/Input.hs 28;" f
@@ -5505,7 +5501,7 @@ findWallFreeDropPoint src/Dodge/FloorItem.hs 47;" f
findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f findWallsInPolygon src/Dodge/LevelGen/StaticWalls/Deprecated.hs 78;" f
findWithIx src/ListHelp.hs 123;" f findWithIx src/ListHelp.hs 123;" f
fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f fireLoudS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 504;" f
fireRemoteShell src/Dodge/HeldUse.hs 914;" f fireRemoteShell src/Dodge/HeldUse.hs 935;" f
fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f fireS src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 332;" f
fireShell src/Dodge/Projectile/Create.hs 35;" f fireShell src/Dodge/Projectile/Create.hs 35;" f
fireSound src/Dodge/SoundLogic/Synonyms.hs 4;" f fireSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
@@ -5608,7 +5604,7 @@ gameRoomViewpoints src/Dodge/Viewpoints.hs 35;" f
gameRoomsFromRooms src/Dodge/Layout.hs 158;" f gameRoomsFromRooms src/Dodge/Layout.hs 158;" f
gameplayMenu src/Dodge/Menu.hs 131;" f gameplayMenu src/Dodge/Menu.hs 131;" f
gameplayMenuOptions src/Dodge/Menu.hs 134;" f gameplayMenuOptions src/Dodge/Menu.hs 134;" f
gasEffect src/Dodge/HeldUse.hs 344;" f gasEffect src/Dodge/HeldUse.hs 339;" f
generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f generateGenParams src/Dodge/LevelGen/LevelStructure.hs 22;" f
generateGraphs src/Dodge/LevelGen.hs 39;" f generateGraphs src/Dodge/LevelGen.hs 39;" f
generateLayout src/Dodge/Layout/Generate.hs 10;" f generateLayout src/Dodge/Layout/Generate.hs 10;" f
@@ -5619,7 +5615,7 @@ geometryQuickCheckTests test/Spec.hs 55;" f
geometryTests test/Spec.hs 17;" f geometryTests test/Spec.hs 17;" f
geometryUnitTests test/Spec.hs 22;" f geometryUnitTests test/Spec.hs 22;" f
geqConstr src/SameConstr.hs 21;" f geqConstr src/SameConstr.hs 21;" f
getAmmoMagazine src/Dodge/HeldUse.hs 888;" f getAmmoMagazine src/Dodge/HeldUse.hs 909;" f
getArguments src/Dodge/Update/Scroll.hs 147;" f getArguments src/Dodge/Update/Scroll.hs 147;" f
getArguments' src/Dodge/Update/Scroll.hs 135;" f getArguments' src/Dodge/Update/Scroll.hs 135;" f
getAvailableListLines src/Dodge/SelectionList.hs 11;" f getAvailableListLines src/Dodge/SelectionList.hs 11;" f
@@ -5736,7 +5732,7 @@ heightWallPS src/Dodge/Placement/Instance/Wall.hs 13;" f
heldAimEffects src/Dodge/Creature/State.hs 68;" f heldAimEffects src/Dodge/Creature/State.hs 68;" f
heldBounds src/Dodge/Item/Module.hs 27;" f heldBounds src/Dodge/Item/Module.hs 27;" f
heldComposedItem src/Dodge/Item/Grammar.hs 38;" f heldComposedItem src/Dodge/Item/Grammar.hs 38;" f
heldEffect src/Dodge/HeldUse.hs 34;" f heldEffect src/Dodge/HeldUse.hs 41;" f
heldInfo src/Dodge/Item/Info.hs 61;" f heldInfo src/Dodge/Item/Info.hs 61;" f
heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f heldItemOffset src/Dodge/Item/HeldOffset.hs 24;" f
heldItemSPic src/Dodge/Item/Draw/SPic.hs 156;" f heldItemSPic src/Dodge/Item/Draw/SPic.hs 156;" f
@@ -5871,7 +5867,7 @@ invertIntMap src/Multiset.hs 61;" f
invertInventoryToMap src/Dodge/Combine.hs 25;" f invertInventoryToMap src/Dodge/Combine.hs 25;" f
invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f invisibleChaseCrit src/Dodge/Creature/ChaseCrit.hs 25;" f
invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f invisibleWall src/Dodge/Placement/Instance/Wall.hs 16;" f
isAmmoIntLink src/Dodge/HeldUse.hs 424;" f isAmmoIntLink src/Dodge/HeldUse.hs 451;" f
isAnimate src/Dodge/Creature/Test.hs 138;" f isAnimate src/Dodge/Creature/Test.hs 138;" f
isCognizant src/Dodge/Creature/Perception.hs 105;" f isCognizant src/Dodge/Creature/Perception.hs 105;" f
isElectrical src/Dodge/Data/Damage.hs 42;" f isElectrical src/Dodge/Data/Damage.hs 42;" f
@@ -5991,7 +5987,7 @@ lasTunnelRunPast src/Dodge/Room/LasTurret.hs 165;" f
lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f lasTurret src/Dodge/Placement/Instance/Turret.hs 23;" f
lasTurret src/Dodge/Placements/Turret.hs 29;" f lasTurret src/Dodge/Placements/Turret.hs 29;" f
lasWide src/Dodge/Item/Held/BatteryGuns.hs 98;" f lasWide src/Dodge/Item/Held/BatteryGuns.hs 98;" f
lasWideRate src/Dodge/HeldUse.hs 803;" f lasWideRate src/Dodge/HeldUse.hs 824;" f
lastMap src/Dodge/DoubleTree.hs 65;" f lastMap src/Dodge/DoubleTree.hs 65;" f
latchkey src/Dodge/Item/Held/Utility.hs 23;" f latchkey src/Dodge/Item/Held/Utility.hs 23;" f
latchkey src/Dodge/Item/PassKey.hs 14;" f latchkey src/Dodge/Item/PassKey.hs 14;" f
@@ -6057,7 +6053,7 @@ loadEject src/Dodge/Reloading/Action.hs 12;" f
loadInsert src/Dodge/Reloading/Action.hs 6;" f loadInsert src/Dodge/Reloading/Action.hs 6;" f
loadKeyConfig src/Dodge/Config/KeyConfig.hs 60;" f loadKeyConfig src/Dodge/Config/KeyConfig.hs 60;" f
loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f loadMusic src/Dodge/SoundLogic/LoadSound.hs 21;" f
loadMuzzle src/Dodge/HeldUse.hs 409;" f loadMuzzle src/Dodge/HeldUse.hs 417;" f
loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f loadPartialInsert src/Dodge/Reloading/Action.hs 9;" f
loadPrime src/Dodge/Reloading/Action.hs 15;" f loadPrime src/Dodge/Reloading/Action.hs 15;" f
loadSaveSlot src/Dodge/Save.hs 74;" f loadSaveSlot src/Dodge/Save.hs 74;" f
@@ -6097,7 +6093,7 @@ ltAutoCrit src/Dodge/Creature/LtAutoCrit.hs 13;" f
machineAddSound src/Dodge/Machine.hs 49;" f machineAddSound src/Dodge/Machine.hs 49;" f
machineGun src/Dodge/Item/Held/Rod.hs 71;" f machineGun src/Dodge/Item/Held/Rod.hs 71;" f
machineGun src/Dodge/Item/Weapon/BulletGun/Rod.hs 79;" f machineGun src/Dodge/Item/Weapon/BulletGun/Rod.hs 79;" f
machinePistol src/Dodge/Item/Held/Stick.hs 65;" f machinePistol src/Dodge/Item/Held/Stick.hs 69;" f
machinePistol src/Dodge/Item/Weapon/BulletGun/Stick.hs 86;" f machinePistol src/Dodge/Item/Weapon/BulletGun/Stick.hs 86;" f
machineUpdateDeathEff src/Dodge/Machine.hs 34;" f machineUpdateDeathEff src/Dodge/Machine.hs 34;" f
machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f machineUpdateLiveDieEff src/Dodge/Machine.hs 16;" f
@@ -6115,7 +6111,7 @@ makeArc src/Picture/Base.hs 157;" f
makeBlip src/Dodge/RadarSweep.hs 50;" f makeBlip src/Dodge/RadarSweep.hs 50;" f
makeBlockDebris src/Dodge/Block/Debris.hs 28;" f makeBlockDebris src/Dodge/Block/Debris.hs 28;" f
makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f makeBoolOption src/Dodge/Menu/OptionType.hs 8;" f
makeBullet src/Dodge/HeldUse.hs 441;" f makeBullet src/Dodge/HeldUse.hs 473;" f
makeButton src/Dodge/LevelGen/Switch.hs 16;" f makeButton src/Dodge/LevelGen/Switch.hs 16;" f
makeByteStringShaderUsingVAO src/Shader/Compile.hs 137;" f makeByteStringShaderUsingVAO src/Shader/Compile.hs 137;" f
makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f makeCloudAt src/Dodge/WorldEvent/Cloud.hs 18;" f
@@ -6145,7 +6141,8 @@ makeGrid src/Grid.hs 46;" f
makeIntInterval src/Dodge/Zoning/Base.hs 33;" f makeIntInterval src/Dodge/Zoning/Base.hs 33;" f
makeLaserAt src/Dodge/Item/Weapon/Laser.hs 42;" f makeLaserAt src/Dodge/Item/Weapon/Laser.hs 42;" f
makeLaserScope src/Dodge/Item/Weapon/Decoration.hs 12;" f makeLaserScope src/Dodge/Item/Weapon/Decoration.hs 12;" f
makeMuzzleFlare src/Dodge/HeldUse.hs 421;" f makeMuzzleFlare src/Dodge/HeldUse.hs 430;" f
makeMuzzleSmoke src/Dodge/HeldUse.hs 441;" f
makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f makeOptionsSelectionList src/Dodge/Menu/Option.hs 46;" f
makeParagraph src/Justify.hs 6;" f makeParagraph src/Justify.hs 6;" f
makePathBetween src/Dodge/Path.hs 35;" f makePathBetween src/Dodge/Path.hs 35;" f
@@ -6209,10 +6206,10 @@ mcProximitySensorUpdate src/Dodge/Machine/Update.hs 104;" f
mcSPic src/Dodge/Render/ShapePicture.hs 169;" f mcSPic src/Dodge/Render/ShapePicture.hs 169;" f
mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f mcSensorTriggerUpdate src/Dodge/Machine/Update.hs 69;" f
mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f mcSensorUpdate src/Dodge/Machine/Update.hs 99;" f
mcShootLaser src/Dodge/HeldUse.hs 964;" f mcShootLaser src/Dodge/HeldUse.hs 985;" f
mcTriggerVal src/Dodge/Machine/Update.hs 75;" f mcTriggerVal src/Dodge/Machine/Update.hs 75;" f
mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f mcTypeUpdate src/Dodge/Machine/Update.hs 24;" f
mcUseHeld src/Dodge/HeldUse.hs 806;" f mcUseHeld src/Dodge/HeldUse.hs 827;" f
mcUseItem src/Dodge/Machine/Update.hs 61;" f mcUseItem src/Dodge/Machine/Update.hs 61;" f
medkit src/Dodge/Item/Consumable.hs 8;" f medkit src/Dodge/Item/Consumable.hs 8;" f
meleeHeadingMove src/Dodge/Creature/Boid.hs 281;" f meleeHeadingMove src/Dodge/Creature/Boid.hs 281;" f
@@ -6254,9 +6251,9 @@ minOn src/FoldableHelp.hs 35;" f
minStreamOn src/StreamingHelp.hs 14;" f minStreamOn src/StreamingHelp.hs 14;" f
mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 322;" f mini1S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 322;" f
miniGunCrit src/Dodge/Creature.hs 62;" f miniGunCrit src/Dodge/Creature.hs 62;" f
miniGunUse src/Dodge/Item/Held/Cane.hs 99;" f miniGunUse src/Dodge/Item/Held/Cane.hs 101;" f
miniGunUse src/Dodge/Item/Weapon/BulletGun/Cane.hs 113;" f miniGunUse src/Dodge/Item/Weapon/BulletGun/Cane.hs 113;" f
miniGunX src/Dodge/Item/Held/Cane.hs 111;" f miniGunX src/Dodge/Item/Held/Cane.hs 113;" f
miniGunX src/Dodge/Item/Weapon/BulletGun/Cane.hs 120;" f miniGunX src/Dodge/Item/Weapon/BulletGun/Cane.hs 120;" f
miniGunXPict src/Dodge/Item/Draw/SPic.hs 392;" f miniGunXPict src/Dodge/Item/Draw/SPic.hs 392;" f
miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 386;" f miniGunXPictItem src/Dodge/Item/Draw/SPic.hs 386;" f
@@ -6344,7 +6341,7 @@ muchWlDustAt src/Dodge/Wall/Dust.hs 15;" f
muin src/Dodge/RoomLink.hs 132;" f muin src/Dodge/RoomLink.hs 132;" f
multGunCrit src/Dodge/Creature.hs 76;" f multGunCrit src/Dodge/Creature.hs 76;" f
multiArrow src/Picture/Composite.hs 11;" f multiArrow src/Picture/Composite.hs 11;" f
multiGun src/Dodge/Item/Held/Cane.hs 53;" f multiGun src/Dodge/Item/Held/Cane.hs 54;" f
multiLookupTrie src/SimpleTrie.hs 28;" f multiLookupTrie src/SimpleTrie.hs 28;" f
multiLookupTrieI src/SimpleTrie.hs 36;" f multiLookupTrieI src/SimpleTrie.hs 36;" f
muout src/Dodge/RoomLink.hs 129;" f muout src/Dodge/RoomLink.hs 129;" f
@@ -6449,9 +6446,9 @@ overColObj src/Shape.hs 269;" f
overColSH src/Shape.hs 237;" f overColSH src/Shape.hs 237;" f
overLnkPosDir src/Dodge/RoomLink.hs 100;" f overLnkPosDir src/Dodge/RoomLink.hs 100;" f
overLnkType src/Dodge/RoomLink.hs 87;" f overLnkType src/Dodge/RoomLink.hs 87;" f
overNozzle src/Dodge/HeldUse.hs 870;" f overNozzle src/Dodge/HeldUse.hs 891;" f
overNozzles src/Dodge/HeldUse.hs 848;" f overNozzles src/Dodge/HeldUse.hs 869;" f
overNozzles' src/Dodge/HeldUse.hs 856;" f overNozzles' src/Dodge/HeldUse.hs 877;" f
overPos src/Picture/Base.hs 303;" f overPos src/Picture/Base.hs 303;" f
overPosObj src/Shape.hs 273;" f overPosObj src/Shape.hs 273;" f
overPosSH src/Shape.hs 257;" f overPosSH src/Shape.hs 257;" f
@@ -6871,7 +6868,6 @@ renderListAt src/Dodge/Render/List.hs 160;" f
renderShadows src/Render.hs 117;" f renderShadows src/Render.hs 117;" f
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 668;" f repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 668;" f
repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 96;" f repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 96;" f
repeater src/Dodge/Item/Held/Cane.hs 77;" f
repeater src/Dodge/Item/Weapon/BulletGun/Cane.hs 89;" f repeater src/Dodge/Item/Weapon/BulletGun/Cane.hs 89;" f
replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f replaceNullWith src/Dodge/Creature/ReaderUpdate.hs 160;" f
replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f replacePutID src/Dodge/Placement/Instance/Wall.hs 102;" f
@@ -6910,7 +6906,7 @@ rezInvBox src/Dodge/Room/RezBox.hs 131;" f
rezText src/Dodge/Story.hs 4;" f rezText src/Dodge/Story.hs 4;" f
rezText' src/Dodge/Story.hs 17;" f rezText' src/Dodge/Story.hs 17;" f
rhombus src/Polyhedra.hs 71;" f rhombus src/Polyhedra.hs 71;" f
rifle src/Dodge/Item/Held/Cane.hs 66;" f rifle src/Dodge/Item/Held/Cane.hs 67;" f
rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f rifle src/Dodge/Item/Weapon/BulletGun/Cane.hs 77;" f
right src/DoubleStack.hs 16;" f right src/DoubleStack.hs 16;" f
rightIsParentCombine src/Dodge/Item/Grammar.hs 66;" f rightIsParentCombine src/Dodge/Item/Grammar.hs 66;" f
@@ -7188,7 +7184,7 @@ shootRevolverXRepeat src/Dodge/HeldUse/BulletWeapon.hs 49;" f
shootRifle src/Dodge/HeldUse/BulletWeapon.hs 140;" f shootRifle src/Dodge/HeldUse/BulletWeapon.hs 140;" f
shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f shootShatter src/Dodge/Item/Weapon/Shatter.hs 12;" f
shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f shootSmgMod src/Dodge/HeldUse/BulletWeapon.hs 86;" f
shootTeslaArc src/Dodge/HeldUse.hs 973;" f shootTeslaArc src/Dodge/HeldUse.hs 994;" f
shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f shootTillEmpty src/Dodge/Creature/Volition.hs 18;" f
shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f shootVolleyGun src/Dodge/HeldUse/BulletWeapon.hs 128;" f
shootersRoom src/Dodge/Room/Room.hs 317;" f shootersRoom src/Dodge/Room/Room.hs 317;" f
@@ -7213,7 +7209,7 @@ showIntsString src/Dodge/Tree/Compose.hs 129;" f
showLoadedAmount src/Dodge/Item/Display.hs 144;" f showLoadedAmount src/Dodge/Item/Display.hs 144;" f
showPhaseV src/Dodge/Tweak/Show.hs 16;" f showPhaseV src/Dodge/Tweak/Show.hs 16;" f
showTerminalError src/Dodge/Debug/Terminal.hs 75;" f showTerminalError src/Dodge/Debug/Terminal.hs 75;" f
showTimeFlow src/Dodge/TestString.hs 61;" f showTimeFlow src/Dodge/TestString.hs 63;" f
showTractionPower src/Dodge/Tweak/Show.hs 22;" f showTractionPower src/Dodge/Tweak/Show.hs 22;" f
showTweak src/Dodge/Tweak/Show.hs 5;" f showTweak src/Dodge/Tweak/Show.hs 5;" f
shrinkGun src/Dodge/Item/Weapon/Utility.hs 44;" f shrinkGun src/Dodge/Item/Weapon/Utility.hs 44;" f
@@ -7265,7 +7261,7 @@ smallGlass3S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 372;" f
smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 334;" f smallGlass4S src/Dodge/SoundLogic/ExternallyGeneratedSounds.hs 334;" f
smallPillar src/Dodge/Room/Pillar.hs 32;" f smallPillar src/Dodge/Room/Pillar.hs 32;" f
smallRoom src/Dodge/Room/RunPast.hs 31;" f smallRoom src/Dodge/Room/RunPast.hs 31;" f
smg src/Dodge/Item/Held/Stick.hs 74;" f smg src/Dodge/Item/Held/Stick.hs 78;" f
smg src/Dodge/Item/Weapon/BulletGun/Stick.hs 95;" f smg src/Dodge/Item/Weapon/BulletGun/Stick.hs 95;" f
smokeCloudAt src/Dodge/WorldEvent/Cloud.hs 41;" f smokeCloudAt src/Dodge/WorldEvent/Cloud.hs 41;" f
smokeTrailSound src/Dodge/SoundLogic/Synonyms.hs 4;" f smokeTrailSound src/Dodge/SoundLogic/Synonyms.hs 4;" f
@@ -7468,7 +7464,7 @@ testEvent src/Dodge/Event/Test.hs 10;" f
testEventKey src/Dodge/Config/KeyConfig.hs 27;" f testEventKey src/Dodge/Config/KeyConfig.hs 27;" f
testInventory src/Dodge/Creature.hs 245;" f testInventory src/Dodge/Creature.hs 245;" f
testPic src/Dodge/Render/ShapePicture.hs 153;" f testPic src/Dodge/Render/ShapePicture.hs 153;" f
testStringInit src/Dodge/TestString.hs 21;" f testStringInit src/Dodge/TestString.hs 22;" f
text src/Picture/Base.hs 193;" f text src/Picture/Base.hs 193;" f
textGrad src/Picture/Text.hs 5;" f textGrad src/Picture/Text.hs 5;" f
textJustifyCenter src/Picture/Base.hs 212;" f textJustifyCenter src/Picture/Base.hs 212;" f
@@ -7819,9 +7815,9 @@ useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
useC src/Dodge/Cuse.hs 6;" f useC src/Dodge/Cuse.hs 6;" f
useE src/Dodge/Euse.hs 24;" f useE src/Dodge/Euse.hs 24;" f
useEquipment src/Dodge/Creature/State.hs 218;" f useEquipment src/Dodge/Creature/State.hs 218;" f
useForceFieldGun src/Dodge/HeldUse.hs 986;" f useForceFieldGun src/Dodge/HeldUse.hs 1007;" f
useGasParams src/Dodge/HeldUse.hs 897;" f useGasParams src/Dodge/HeldUse.hs 918;" f
useHeld src/Dodge/HeldUse.hs 811;" f useHeld src/Dodge/HeldUse.hs 832;" f
useHotKey src/Dodge/Creature/YourControl.hs 49;" f useHotKey src/Dodge/Creature/YourControl.hs 49;" f
useItem src/Dodge/Creature/Action/UseItem.hs 14;" f useItem src/Dodge/Creature/Action/UseItem.hs 14;" f
useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 124;" f useItemHotkey src/Dodge/Creature/Impulse/UseItem.hs 124;" f
@@ -7830,13 +7826,13 @@ useItemRightClick src/Dodge/Creature/Impulse/UseItem.hs 25;" f
useL src/Dodge/Luse.hs 13;" f useL src/Dodge/Luse.hs 13;" f
useLeftItem src/Dodge/Creature/Action/UseItem.hs 38;" f useLeftItem src/Dodge/Creature/Action/UseItem.hs 38;" f
useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f useLnkRoomPos src/Dodge/PlacementSpot.hs 244;" f
useLoadedAmmo src/Dodge/HeldUse.hs 428;" f useLoadedAmmo src/Dodge/HeldUse.hs 455;" f
useMagShield src/Dodge/Euse.hs 69;" f useMagShield src/Dodge/Euse.hs 69;" f
useMod src/Dodge/HeldUse.hs 470;" f useMod src/Dodge/HeldUse.hs 502;" f
useNormalCamera src/Dodge/Camera.hs 6;" f useNormalCamera src/Dodge/Camera.hs 6;" f
usePayload src/Dodge/Payload.hs 7;" f usePayload src/Dodge/Payload.hs 7;" f
usePjCreation src/Dodge/HeldUse.hs 830;" f usePjCreation src/Dodge/HeldUse.hs 851;" f
usePjCreationX src/Dodge/HeldUse.hs 839;" f usePjCreationX src/Dodge/HeldUse.hs 860;" f
useRewindGun src/Dodge/Luse.hs 41;" f useRewindGun src/Dodge/Luse.hs 41;" f
useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f useRoomPosCond src/Dodge/PlacementSpot.hs 178;" f
useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f