Mid implementation of external ammo sources

This commit is contained in:
2024-06-20 22:58:52 +01:00
parent 7162893c4f
commit d41604fcde
16 changed files with 313 additions and 254 deletions
+5 -8
View File
@@ -1,4 +1,4 @@
/home/justin/Haskell/loop/src/Dodge/Base/You.hs:45:19: warning: [-Wunused-matches]
/home/justin/Haskell/loop/src/Dodge/Base/You.hs:45:19-20: warning: [-Wunused-matches]
Defined but not used: cr
|
45 | upDownAttachments cr i j s = s
@@ -13,12 +13,9 @@
|
45 | upDownAttachments cr i j s = s
| ^
/home/justin/Haskell/loop/src/Dodge/Item.hs:29:25: warning: [-Wincomplete-patterns]
/home/justin/Haskell/loop/src/Dodge/Item/Info.hs:(62,16)-(109,62): warning: [-Wincomplete-patterns]
Pattern match(es) are non-exhaustive
In a case alternative:
Patterns not matched:
BULPAYLOADATTACH
BULTRAJECTORYATTACH
In a case alternative: Patterns not matched: MULTIGUN _
|
29 | itemFromAttachType at = case at of
| ^^^^^^^^^^...
62 | heldInfo hit = case hit of
| ^^^^^^^^^^^...
+169 -165
View File
@@ -22,92 +22,94 @@ digraph {
28 [shape=box
,label="EQUIP {_ibtEquip = TARGETINGHAT TargetCursor}"];
31 [shape=box
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 1}}"];
,label="ATTACH {_ibtAttach = AMMOATTACH TINMAG}"];
35 [shape=box
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 1}}"];
39 [shape=box
,label="HELD {_ibtHeld = PISTOL}"];
38 [shape=box
,label="HELD {_ibtHeld = AUTOPISTOL}"];
41 [shape=box
,label="HELD {_ibtHeld = AUTOPISTOL}"];
43 [shape=box
,label="HELD {_ibtHeld = SMG}"];
44 [shape=box
,label="HELD {_ibtHeld = MACHINEPISTOL}"];
46 [shape=box
,label="HELD {_ibtHeld = MACHINEPISTOL}"];
48 [shape=box
,label="HELD {_ibtHeld = REVOLVER}"];
49 [shape=box
,label="HELD {_ibtHeld = REVOLVERX {_xNum = 1}}"];
51 [shape=box
,label="HELD {_ibtHeld = BANGCONE}"];
,label="HELD {_ibtHeld = REVOLVERX {_xNum = 1}}"];
53 [shape=box
,label="HELD {_ibtHeld = BLUNDERBUSS}"];
,label="HELD {_ibtHeld = BANGCONE}"];
55 [shape=box
,label="HELD {_ibtHeld = GRAPECANNON {_xNum = 1}}"];
,label="HELD {_ibtHeld = BLUNDERBUSS}"];
57 [shape=box
,label="HELD {_ibtHeld = RIFLE}"];
,label="HELD {_ibtHeld = GRAPECANNON {_xNum = 1}}"];
59 [shape=box
,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"];
,label="HELD {_ibtHeld = RIFLE}"];
61 [shape=box
,label="HELD {_ibtHeld = REPEATER}"];
,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"];
63 [shape=box
,label="HELD {_ibtHeld = AUTORIFLE}"];
,label="HELD {_ibtHeld = REPEATER}"];
65 [shape=box
,label="HELD {_ibtHeld = BURSTRIFLE}"];
,label="HELD {_ibtHeld = AUTORIFLE}"];
67 [shape=box
,label="HELD {_ibtHeld = BURSTRIFLE}"];
69 [shape=box
,label="HELD {_ibtHeld = MINIGUNX {_xNum = 3}}"];
70 [shape=box
72 [shape=box
,label="HELD {_ibtHeld = SNIPERRIFLE}"];
71 [shape=box
73 [shape=box
,label="HELD {_ibtHeld = AMR}"];
74 [shape=box
,label="HELD {_ibtHeld = AUTOAMR}"];
76 [shape=box
,label="HELD {_ibtHeld = MACHINEGUN}"];
,label="HELD {_ibtHeld = AUTOAMR}"];
78 [shape=box
,label="HELD {_ibtHeld = MACHINEGUN}"];
80 [shape=box
,label="HELD {_ibtHeld = LAUNCHER}"];
81 [shape=box
83 [shape=box
,label="HELD {_ibtHeld = LAUNCHERX {_xNum = 2}}"];
85 [shape=box
87 [shape=box
,label="HELD {_ibtHeld = FLAMESPITTER}"];
89 [shape=box
,label="HELD {_ibtHeld = BLOWTORCH}"];
91 [shape=box
,label="HELD {_ibtHeld = FLAMETHROWER}"];
,label="HELD {_ibtHeld = BLOWTORCH}"];
93 [shape=box
,label="HELD {_ibtHeld = FLAMEWALL}"];
,label="HELD {_ibtHeld = FLAMETHROWER}"];
95 [shape=box
,label="HELD {_ibtHeld = FLAMETORRENT}"];
,label="HELD {_ibtHeld = FLAMEWALL}"];
97 [shape=box
,label="HELD {_ibtHeld = FLAMETORRENT}"];
99 [shape=box
,label="HELD {_ibtHeld = LASGUN}"];
101 [shape=box
,label="HELD {_ibtHeld = DUALBEAM}"];
103 [shape=box
,label="HELD {_ibtHeld = LASWIDE {_xNum = 2}}"];
,label="HELD {_ibtHeld = DUALBEAM}"];
105 [shape=box
,label="HELD {_ibtHeld = LASCIRCLE}"];
,label="HELD {_ibtHeld = LASWIDE {_xNum = 2}}"];
107 [shape=box
,label="HELD {_ibtHeld = SPARKGUN}"];
,label="HELD {_ibtHeld = LASCIRCLE}"];
109 [shape=box
,label="HELD {_ibtHeld = TESLAGUN}"];
,label="HELD {_ibtHeld = SPARKGUN}"];
111 [shape=box
,label="HELD {_ibtHeld = TESLAGUN}"];
113 [shape=box
,label="LEFT {_ibtLeft = BLINKER}"];
114 [shape=box
,label="LEFT {_ibtLeft = BLINKERUNSAFE}"];
116 [shape=box
,label="LEFT {_ibtLeft = BLINKERUNSAFE}"];
118 [shape=box
,label="EQUIP {_ibtEquip = MAGSHIELD}"];
119 [shape=box
121 [shape=box
,label="EQUIP {_ibtEquip = POWERLEGS}"];
125 [shape=box
127 [shape=box
,label="HELD {_ibtHeld = FLATSHIELD}"];
135 [shape=box
137 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR ITEMDETECTOR}"];
138 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"];
140 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"];
,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"];
142 [shape=box
,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"];
144 [shape=box
,label="HELD {_ibtHeld = TORCH}"];
146 [shape=box
148 [shape=box
,label="EQUIP {_ibtEquip = HEADLAMP}"];
154 [shape=box
156 [shape=box
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
}
subgraph 2 {
@@ -122,11 +124,11 @@ digraph {
27 [shape=point];
30 [shape=point];
34 [shape=point];
37 [shape=point];
38 [shape=point];
40 [shape=point];
43 [shape=point];
42 [shape=point];
45 [shape=point];
48 [shape=point];
47 [shape=point];
50 [shape=point];
52 [shape=point];
54 [shape=point];
@@ -136,40 +138,40 @@ digraph {
62 [shape=point];
64 [shape=point];
66 [shape=point];
69 [shape=point];
72 [shape=point];
73 [shape=point];
68 [shape=point];
71 [shape=point];
74 [shape=point];
75 [shape=point];
77 [shape=point];
80 [shape=point];
79 [shape=point];
82 [shape=point];
84 [shape=point];
88 [shape=point];
86 [shape=point];
90 [shape=point];
92 [shape=point];
94 [shape=point];
96 [shape=point];
100 [shape=point];
98 [shape=point];
102 [shape=point];
104 [shape=point];
106 [shape=point];
108 [shape=point];
110 [shape=point];
113 [shape=point];
112 [shape=point];
115 [shape=point];
118 [shape=point];
121 [shape=point];
122 [shape=point];
117 [shape=point];
120 [shape=point];
123 [shape=point];
124 [shape=point];
125 [shape=point];
126 [shape=point];
128 [shape=point];
131 [shape=point];
134 [shape=point];
137 [shape=point];
130 [shape=point];
133 [shape=point];
136 [shape=point];
139 [shape=point];
141 [shape=point];
145 [shape=point];
143 [shape=point];
147 [shape=point];
149 [shape=point];
151 [shape=point];
@@ -179,6 +181,7 @@ digraph {
159 [shape=point];
161 [shape=point];
163 [shape=point];
165 [shape=point];
}
0 -> 1 [xlabel="",tailport=e];
2 -> 0 [xlabel=1
@@ -206,7 +209,7 @@ digraph {
16 -> 27 [xlabel=1
,arrowhead=onone
,headport=w];
16 -> 145 [xlabel=1
16 -> 147 [xlabel=1
,arrowhead=onone
,headport=w];
18 -> 19 [xlabel="",tailport=e];
@@ -214,195 +217,196 @@ digraph {
24 -> 25 [xlabel="",tailport=e];
27 -> 28 [xlabel="",tailport=e];
30 -> 31 [xlabel="",tailport=e];
31 -> 34 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 45 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 56 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 58 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 58 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 58 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 153 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 159 [xlabel=1
,arrowhead=onone
,headport=w];
31 -> 161 [xlabel=1
,arrowhead=onone
,headport=w];
34 -> 35 [xlabel="",tailport=e];
35 -> 37 [xlabel=1
35 -> 38 [xlabel=1
,arrowhead=onone
,headport=w];
37 -> 38 [xlabel="",tailport=e];
38 -> 40 [xlabel=1
35 -> 47 [xlabel=1
,arrowhead=onone
,headport=w];
38 -> 43 [xlabel=1
35 -> 58 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 60 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 60 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 60 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 155 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 161 [xlabel=1
,arrowhead=onone
,headport=w];
35 -> 163 [xlabel=1
,arrowhead=onone
,headport=w];
38 -> 39 [xlabel="",tailport=e];
39 -> 40 [xlabel=1
,arrowhead=onone
,headport=w];
40 -> 41 [xlabel="",tailport=e];
43 -> 44 [xlabel="",tailport=e];
45 -> 46 [xlabel="",tailport=e];
46 -> 48 [xlabel=1
41 -> 42 [xlabel=1
,arrowhead=onone
,headport=w];
48 -> 49 [xlabel="",tailport=e];
49 -> 157 [xlabel=1
41 -> 45 [xlabel=1
,arrowhead=onone
,headport=w];
42 -> 43 [xlabel="",tailport=e];
45 -> 46 [xlabel="",tailport=e];
47 -> 48 [xlabel="",tailport=e];
48 -> 50 [xlabel=1
,arrowhead=onone
,headport=w];
50 -> 51 [xlabel="",tailport=e];
51 -> 159 [xlabel=1
,arrowhead=onone
,headport=w];
50 -> 51 [xlabel="",tailport=e];
51 -> 52 [xlabel=1
,arrowhead=onone
,headport=w];
52 -> 53 [xlabel="",tailport=e];
53 -> 54 [xlabel=1
,arrowhead=onone
,headport=w];
54 -> 55 [xlabel="",tailport=e];
55 -> 163 [xlabel=1
,arrowhead=onone
,headport=w];
55 -> 56 [xlabel=1
,arrowhead=onone
,headport=w];
56 -> 57 [xlabel="",tailport=e];
57 -> 60 [xlabel=1
,arrowhead=onone
,headport=w];
57 -> 72 [xlabel=1
,arrowhead=onone
,headport=w];
58 -> 59 [xlabel="",tailport=e];
59 -> 66 [xlabel=1
,arrowhead=onone
,headport=w];
59 -> 159 [xlabel=1
57 -> 165 [xlabel=1
,arrowhead=onone
,headport=w];
58 -> 59 [xlabel="",tailport=e];
59 -> 62 [xlabel=1
,arrowhead=onone
,headport=w];
59 -> 74 [xlabel=1
,arrowhead=onone
,headport=w];
60 -> 61 [xlabel="",tailport=e];
61 -> 62 [xlabel=1
,arrowhead=onone
,headport=w];
61 -> 64 [xlabel=1
61 -> 68 [xlabel=1
,arrowhead=onone
,headport=w];
61 -> 161 [xlabel=1
,arrowhead=onone
,headport=w];
62 -> 63 [xlabel="",tailport=e];
63 -> 64 [xlabel=1
,arrowhead=onone
,headport=w];
63 -> 66 [xlabel=1
,arrowhead=onone
,headport=w];
64 -> 65 [xlabel="",tailport=e];
66 -> 67 [xlabel="",tailport=e];
67 -> 161 [xlabel=1
68 -> 69 [xlabel="",tailport=e];
69 -> 163 [xlabel=1
,arrowhead=onone
,headport=w];
69 -> 70 [xlabel="",tailport=e];
71 -> 69 [xlabel=1
71 -> 72 [xlabel="",tailport=e];
73 -> 71 [xlabel=1
,arrowhead=onone
,headport=w];
71 -> 73 [xlabel=1
73 -> 75 [xlabel=1
,arrowhead=onone
,headport=w];
71 -> 75 [xlabel=1
73 -> 77 [xlabel=1
,arrowhead=onone
,headport=w];
72 -> 71 [xlabel="",tailport=e];
73 -> 74 [xlabel="",tailport=e];
74 -> 73 [xlabel="",tailport=e];
75 -> 76 [xlabel="",tailport=e];
77 -> 78 [xlabel="",tailport=e];
78 -> 80 [xlabel=1
79 -> 80 [xlabel="",tailport=e];
80 -> 82 [xlabel=1
,arrowhead=onone
,headport=w];
80 -> 81 [xlabel="",tailport=e];
81 -> 82 [xlabel=1
82 -> 83 [xlabel="",tailport=e];
83 -> 84 [xlabel=1
,arrowhead=onone
,headport=w];
84 -> 85 [xlabel="",tailport=e];
85 -> 88 [xlabel=1
86 -> 87 [xlabel="",tailport=e];
87 -> 90 [xlabel=1
,arrowhead=onone
,headport=w];
85 -> 90 [xlabel=1
87 -> 92 [xlabel=1
,arrowhead=onone
,headport=w];
88 -> 89 [xlabel="",tailport=e];
90 -> 91 [xlabel="",tailport=e];
91 -> 92 [xlabel=1
,arrowhead=onone
,headport=w];
91 -> 94 [xlabel=1
,arrowhead=onone
,headport=w];
92 -> 93 [xlabel="",tailport=e];
93 -> 94 [xlabel=1
,arrowhead=onone
,headport=w];
93 -> 96 [xlabel=1
,arrowhead=onone
,headport=w];
94 -> 95 [xlabel="",tailport=e];
96 -> 97 [xlabel="",tailport=e];
97 -> 100 [xlabel=1
98 -> 99 [xlabel="",tailport=e];
99 -> 102 [xlabel=1
,arrowhead=onone
,headport=w];
97 -> 100 [xlabel=1
99 -> 102 [xlabel=1
,arrowhead=onone
,headport=w];
97 -> 102 [xlabel=1
99 -> 104 [xlabel=1
,arrowhead=onone
,headport=w];
97 -> 104 [xlabel=1
99 -> 106 [xlabel=1
,arrowhead=onone
,headport=w];
97 -> 104 [xlabel=1
99 -> 106 [xlabel=1
,arrowhead=onone
,headport=w];
97 -> 104 [xlabel=1
99 -> 106 [xlabel=1
,arrowhead=onone
,headport=w];
100 -> 101 [xlabel=""
,tailport=e];
102 -> 103 [xlabel=""
,tailport=e];
103 -> 151 [xlabel=1
,arrowhead=onone
,headport=w];
104 -> 105 [xlabel=""
,tailport=e];
105 -> 153 [xlabel=1
,arrowhead=onone
,headport=w];
106 -> 107 [xlabel=""
,tailport=e];
107 -> 108 [xlabel=1
,arrowhead=onone
,headport=w];
108 -> 109 [xlabel=""
,tailport=e];
110 -> 111 [xlabel=""
,tailport=e];
111 -> 113 [xlabel=1
109 -> 110 [xlabel=1
,arrowhead=onone
,headport=w];
113 -> 114 [xlabel=""
110 -> 111 [xlabel=""
,tailport=e];
112 -> 113 [xlabel=""
,tailport=e];
113 -> 115 [xlabel=1
,arrowhead=onone
,headport=w];
115 -> 116 [xlabel=""
,tailport=e];
118 -> 119 [xlabel=""
117 -> 118 [xlabel=""
,tailport=e];
124 -> 125 [xlabel=""
120 -> 121 [xlabel=""
,tailport=e];
134 -> 135 [xlabel=""
126 -> 127 [xlabel=""
,tailport=e];
137 -> 138 [xlabel=""
136 -> 137 [xlabel=""
,tailport=e];
139 -> 140 [xlabel=""
,tailport=e];
141 -> 142 [xlabel=""
,tailport=e];
142 -> 145 [xlabel=1
143 -> 144 [xlabel=""
,tailport=e];
144 -> 147 [xlabel=1
,arrowhead=onone
,headport=w];
145 -> 146 [xlabel=""
147 -> 148 [xlabel=""
,tailport=e];
153 -> 154 [xlabel=""
155 -> 156 [xlabel=""
,tailport=e];
154 -> 155 [xlabel=1
156 -> 157 [xlabel=1
,arrowhead=onone
,headport=w];
}
+1
View File
@@ -24,6 +24,7 @@ void main() {
float y = y2;
//float x = 1 - dist / rad;
float x = 1 - (pow(dist / rad,4));
//float x = 1 ;
//float x = 1;
//float x = 1 - max(0, ((dist + 10000) - rad) * 0.0001) ;
//vec3 c = y* (x * x * x) * lumRad.rgb;
+8
View File
@@ -5,6 +5,7 @@ module Dodge.Combine.Combinations
, bulletWeapons
) where
import Dodge.Item.Ammo
import Dodge.Data.Item
import Dodge.Item
import LensHelp
@@ -35,12 +36,19 @@ hatCombinations =
po xs it = (map o xs, it)
o = (1,)
magazineCombinations :: [([(ItAmount,ItemBaseType)],Item)]
magazineCombinations =
[ po [CRAFT TIN, CRAFT SPRING] tinMag ]
where
po xs it = (map o xs, it)
o = (1,)
itemCombinations :: [([(ItAmount, ItemBaseType)], Item)]
itemCombinations =
watchCombinations ++
backpackCombinations ++
hatCombinations ++
magazineCombinations ++
[ po [CRAFT PIPE, CRAFT HARDWARE] (bangStick 1)
, po [HELD (BANGSTICK 1), CRAFT TIN] pistol
, po [HELD PISTOL, CRAFT SPRING] autoPistol
+3 -2
View File
@@ -98,8 +98,8 @@ data AttachType
= SCROLLATTACH ScrollAttachType
| AMMOATTACH AmmoAttachType
| TARGETATTACH {_ibtAttachTarget :: TargetType}
| BULPAYLOADATTACH
| BULTRAJECTORYATTACH
-- | BULPAYLOADATTACH
-- | BULTRAJECTORYATTACH
deriving (Eq, Ord, Show, Read)
data ScrollAttachType
@@ -167,6 +167,7 @@ data HeldItemType
| GRAPECANNON {_xNum :: Int}
| MINIGUNX {_xNum :: Int}
| VOLLEYGUN {_xNum :: Int}
| MULTIGUN {_xNum :: Int}
| RIFLE
| REPEATER
| AUTORIFLE
+1
View File
@@ -84,6 +84,7 @@ data HeldMod
| AmmoHammerTimeUseOneMod
| BangCaneMod
| VolleyGunMod
| MultiGunMod
| AutoRifleMod
| BangRodMod
| ElephantGunMod
+1 -1
View File
@@ -58,7 +58,7 @@ data ItemUse
data AttachParams
= ScrollAttachParams {_scrollAttachParams :: ScrollAttachParams}
| AmmoAttachParams
| AmmoAttachParams {_ammoAttachParams :: InternalAmmo}
| TargetAttachParams
data ScrollAttachParams
+11
View File
@@ -153,6 +153,17 @@ useMod hm = case hm of
, ammoCheckI
, blCheck
]
MultiGunMod ->
[ withRecoil
, withFlare
, duplicateLoadedBarrels
, withTorqueAfter
, useAllAmmo
, withSoundItemChoiceStart caneStickSoundChoice
, useTimeCheck
, ammoCheckI
, blCheck
]
AutoRifleMod ->
-- note this is the same as BangCanemMod with the first changed
[ withFlare
+10 -1
View File
@@ -6,10 +6,19 @@ import Dodge.Default.Item
tinMag :: Item
tinMag = defaultHeldItem & itType . iyBase .~ ATTACH (AMMOATTACH TINMAG)
& itUse .~ AttachUse AmmoAttachParams
& itUse .~ AttachUse {_attachParams = AmmoAttachParams {_ammoAttachParams = InternalAmmo
{ _iaMax = 15
, _iaLoaded = 15
, _iaPrimed = True
, _iaCycle = []
, _iaProgress = Nothing
}
}
}
drumMag :: Item
drumMag = tinMag & itType . iyBase .~ ATTACH (AMMOATTACH DRUMMAG)
& itUse . attachParams . ammoAttachParams . iaMax .~ 30
beltMag :: Item
beltMag = tinMag & itType . iyBase .~ ATTACH (AMMOATTACH BULLETBELT)
+9
View File
@@ -81,6 +81,7 @@ ammoPosition itm hit = case hit of
GRAPECANNON _ -> NoAmmoPosition
MINIGUNX _ -> NoAmmoPosition
VOLLEYGUN i -> volleygunAmmoPos i
MULTIGUN i -> multigunAmmoPos i
RIFLE -> Bullets [(V3 5 0 3, Q.axisAngle (V3 1 0 0) 0)]
REPEATER -> Magazine (V3 10 (-2) 0) rhs
AUTORIFLE -> Magazine (V3 10 (-2) 0) rhs
@@ -129,6 +130,13 @@ volleygunAmmoPos i =
where
f n = fromIntegral n * 5 - ((fromIntegral i - 1) * 2.5)
multigunAmmoPos :: Int -> AmmoPosition
multigunAmmoPos i =
Bullets
[(V3 5 (f n) 3, Q.axisAngle (V3 1 0 0) 0) | n <- [0 .. i -1]]
where
f n = fromIntegral n * 5 - ((fromIntegral i - 1) * 2.5)
revolverAmmoPos :: AmmoPosition
revolverAmmoPos =
Bullets
@@ -154,6 +162,7 @@ heldItemSPic ht it = case ht of
GRAPECANNON _ -> noPic $ bangConeShape 20
MINIGUNX i -> miniGunXPictItem i it
VOLLEYGUN i -> noPic $ volleyGunShape i <> addBullets it
MULTIGUN i -> noPic $ volleyGunShape i <> addBullets it
RIFLE -> noPic $ baseRifleShape <> addBullets it
REPEATER -> noPic $ baseRifleShape <> addTinClip it
AUTORIFLE -> noPic $ baseRifleShape <> addTinClip it
+1
View File
@@ -39,6 +39,7 @@ itemFromHeldType ht = case ht of
GRAPECANNON i -> grapeCannon i
MINIGUNX i -> miniGunX i
VOLLEYGUN i -> volleyGun i
MULTIGUN i -> multiGun i
RIFLE -> rifle
REPEATER -> repeater
AUTORIFLE -> autoRifle
+14
View File
@@ -1,5 +1,6 @@
module Dodge.Item.Held.Cane (
volleyGun,
multiGun,
repeater,
rifle,
autoRifle,
@@ -49,6 +50,19 @@ volleyGun i =
& itParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
& itType . iyBase .~ HELD (VOLLEYGUN i)
multiGun :: Int -> Item
multiGun i =
defaultBangCane
& itUse . heldMods .~ MultiGunMod
& itUse . heldAim . aimWeight .~ 6
& itUse . heldAim . aimRange .~ 1
& itUse . heldAim . aimStance .~ TwoHandFlat
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3]
& itUse . heldConsumption . laSource . _InternalSource . iaMax .~ i
& itParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
& itType . iyBase .~ HELD (MULTIGUN i)
rifle :: Item
rifle =
defaultBangCane
+1 -2
View File
@@ -55,8 +55,7 @@ pistol =
bangStick 1
& itUse . heldConsumption
.~ ( defaultBulletLoadable
& laSource . _InternalSource . iaMax .~ 15
& laSource . _InternalSource . iaCycle .~ [loadEject 5, loadInsert 5, loadPrime 5]
& laSource .~ BelowSource
)
& itUse . heldDelay . rateMax .~ 6
& itUse . heldMods .~ PistolMod
+1 -1
View File
@@ -24,7 +24,6 @@ itBounds ibt = case ibt of
HELD hit -> heldBounds hit
_ -> V3 0 0 0
heldBounds :: HeldItemType -> Point3
heldBounds hit = case hit of
BANGSTICK _ -> V3 0 0 0
@@ -39,6 +38,7 @@ heldBounds hit = case hit of
GRAPECANNON _ -> bbs
MINIGUNX _ -> minis
VOLLEYGUN _ -> undefined
MULTIGUN _ -> undefined
RIFLE -> rs
REPEATER -> rs
AUTORIFLE -> rs
+15 -10
View File
@@ -150,6 +150,12 @@ ammoCheckI eff itm cr w = case itm ^? itUse . heldConsumption . laSource of
x <- cr ^? crInv . ix (invid - 1) . itUse . equipEffect . eeUse . euseAmmoAmount
return $ x <= 0 ->
failsound w
Just BelowSource
| fromMaybe True $ do
invid <- itm ^? itLocation . ipInvID
x <- cr ^? crInv . ix (invid + 1) . itUse . attachParams . ammoAttachParams . iaLoaded
return $ x <= 0 ->
failsound w
_ -> eff itm cr $ w & cWorld . lWorld . creatures . ix (_crID cr) %~ crCancelReloading
where
failsound = case w ^? input . mouseButtons . ix SDL.ButtonLeft of
@@ -342,20 +348,19 @@ withSidePushAfterI maxSide eff item cr w =
(pushAmount, g) = randomR (- maxSide, maxSide) $ _randGen w
useAllAmmo :: ChainEffect
useAllAmmo eff item cr =
eff item cr
. (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itRef . itUse . heldConsumption . laSource . _InternalSource . iaLoaded .~ 0)
where
itRef = cr ^?! crManipulation . manObject . inInventory . ispItem -- unsafe!! TODO change
useAllAmmo eff item cr = fromMaybe id $ do
invid <- item ^? itLocation . ipInvID
return $ eff item cr
. (cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (invid + 1)
. itUse . heldConsumption . laSource . _InternalSource . iaLoaded .~ 0)
useAmmoUpTo :: Int -> ChainEffect
useAmmoUpTo amAmount eff item cr =
eff item cr
. ( cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix itRef . itUse . heldConsumption . laSource . _InternalSource . iaLoaded
useAmmoUpTo amAmount eff itm cr = fromMaybe id $ do
invid <- itm ^? itLocation . ipInvID
return $ eff itm cr
. ( cWorld . lWorld . creatures . ix (_crID cr) . crInv . ix (invid + 1) . itUse . attachParams . ammoAttachParams . iaLoaded
%~ (max 0 . subtract amAmount)
)
where
itRef = cr ^?! crManipulation . manObject . inInventory . ispItem -- unsafe!! TODO change
useAmmoAmount :: Int -> ChainEffect
useAmmoAmount amAmount eff item cr =
+63 -64
View File
@@ -198,9 +198,7 @@ BULLETBELT src/Dodge/Data/Item/Combine.hs 112;" C
BULLETBELTBRACER src/Dodge/Data/Item/Combine.hs 139;" C
BULLETBELTPACK src/Dodge/Data/Item/Combine.hs 138;" C
BULPAY src/Dodge/Data/Item/Combine.hs 208;" C
BULPAYLOADATTACH src/Dodge/Data/Item/Combine.hs 101;" C
BULTRAJ src/Dodge/Data/Item/Combine.hs 210;" C
BULTRAJECTORYATTACH src/Dodge/Data/Item/Combine.hs 102;" C
BURSTRIFLE src/Dodge/Combine/Data.hs 152;" C
BURSTRIFLE src/Dodge/Data/Item/Combine.hs 173;" C
BackgroundSound src/Dodge/Data/SoundOrigin.hs 14;" C
@@ -2992,6 +2990,7 @@ _amString src/Dodge/Data/Item/Use/Consumption/Ammo.hs 47;" f
_amString src/Dodge/Data/Item/Use/Consumption/Ammo.hs 52;" f
_amString src/Dodge/Data/Item/Use/Consumption/Ammo.hs 56;" f
_ambushTarget src/Dodge/Data/ActionPlan.hs 178;" f
_ammoAttachParams src/Dodge/Data/Item/Use.hs 61;" 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
@@ -4396,7 +4395,7 @@ advanceScrollAmount src/Dodge/Update.hs 297;" f
advanceSmoothScroll src/Dodge/SmoothScroll.hs 29;" f
advanceStepCounter src/Dodge/Creature/Action/Movement.hs 56;" f
advanceStepCounter src/Dodge/Creature/Impulse/Movement.hs 45;" f
afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 293;" f
afterRecoil src/Dodge/Item/Weapon/TriggerType.hs 299;" f
aimDelaySweep src/Dodge/Render/ShapePicture.hs 44;" f
aimStanceInfo src/Dodge/Item/Info.hs 231;" f
aimTurn src/Dodge/Creature/YourControl.hs 188;" f
@@ -4493,7 +4492,7 @@ attachList' src/Dodge/Tree/Compose.hs 80;" f
attachOnward src/Dodge/Tree/Compose.hs 95;" f
attachOnward' src/Dodge/Tree/Compose.hs 98;" f
attachTree src/Dodge/Tree/Compose.hs 38;" f
attachmentTree src/Dodge/Base/You.hs 40;" f
attachmentTree src/Dodge/Base/You.hs 39;" f
attentionViewPoint src/Dodge/Creature/ReaderUpdate.hs 67;" f
attribSize src/Shader/Compile.hs 352;" f
autoAmr src/Dodge/Item/Held/Rod.hs 59;" f
@@ -4574,12 +4573,12 @@ batteryGuns src/Dodge/Combine/Combinations.hs 220;" f
batteryModules src/Dodge/Item/Held/BatteryGuns.hs 122;" f
batteryPack src/Dodge/Item/Equipment.hs 58;" f
belowNumX src/Dodge/Combine/Graph.hs 78;" f
beltMag src/Dodge/Item/Ammo.hs 14;" f
beltMag src/Dodge/Item/Ammo.hs 23;" 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
bindFBO src/Render.hs 244;" f
blCheck src/Dodge/Item/Weapon/TriggerType.hs 397;" f
blCheck src/Dodge/Item/Weapon/TriggerType.hs 403;" f
black src/Color.hs 27;" f
blank src/Picture/Base.hs 59;" f
blinkAcrossChallenge src/Dodge/Room/BlinkAcross.hs 14;" f
@@ -5400,17 +5399,17 @@ 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 11;" f
drumMag src/Dodge/Item/Ammo.hs 19;" f
dualBeam src/Dodge/Item/Held/BatteryGuns.hs 148;" f
dualBeamPic src/Dodge/Item/Draw/SPic.hs 451;" f
dualRayAt src/Dodge/Item/Weapon/BatteryGuns.hs 194;" f
dummyMenuOption src/Dodge/Menu/Option.hs 81;" f
duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 718;" f
duplicateLoaded src/Dodge/Item/Weapon/TriggerType.hs 674;" f
duplicateLoadedBarrels src/Dodge/Item/Weapon/TriggerType.hs 694;" f
duplicateNumBarrels src/Dodge/Item/Weapon/TriggerType.hs 680;" f
duplicateOffsetsFocus src/Dodge/Item/Weapon/TriggerType.hs 699;" f
duplicateOffsetsV2 src/Dodge/Item/Weapon/TriggerType.hs 723;" f
duplicateItem src/Dodge/Item/Weapon/TriggerType.hs 724;" f
duplicateLoaded src/Dodge/Item/Weapon/TriggerType.hs 680;" f
duplicateLoadedBarrels src/Dodge/Item/Weapon/TriggerType.hs 700;" f
duplicateNumBarrels src/Dodge/Item/Weapon/TriggerType.hs 686;" f
duplicateOffsetsFocus src/Dodge/Item/Weapon/TriggerType.hs 705;" f
duplicateOffsetsV2 src/Dodge/Item/Weapon/TriggerType.hs 729;" f
ebFlicker src/Dodge/EnergyBall.hs 94;" f
edgeFormatting src/Dodge/Combine/Graph.hs 120;" f
edgeToPic src/Dodge/Debug/Picture.hs 392;" f
@@ -5686,7 +5685,7 @@ hackOutline src/Dodge/Render/Outline.hs 5;" f
halfHeight src/Dodge/Base/Window.hs 48;" f
halfWidth src/Dodge/Base/Window.hs 48;" f
haltSound src/Dodge/SoundLogic.hs 37;" f
hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 405;" f
hammerCheckL src/Dodge/Item/Weapon/TriggerType.hs 411;" f
handleEvent src/Dodge/Event.hs 27;" f
handleHotkeys src/Dodge/Creature/YourControl.hs 42;" f
handleKeyboardEvent src/Dodge/Event/Input.hs 22;" f
@@ -5879,8 +5878,8 @@ itBounds src/Dodge/Item/Module.hs 22;" f
itSlotsTaken src/Dodge/Inventory/ItemSpace.hs 9;" f
itSlotsTaken src/Dodge/Item/SlotsTaken.hs 9;" f
itStackAmount src/Dodge/Item/Amount.hs 7;" f
itUseAmmo src/Dodge/Item/Weapon/TriggerType.hs 162;" f
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 159;" f
itUseAmmo src/Dodge/Item/Weapon/TriggerType.hs 168;" f
itUseCharge src/Dodge/Item/Weapon/TriggerType.hs 165;" f
itemBaseName src/Dodge/Item/Display.hs 75;" f
itemBlips src/Dodge/Item/Weapon/UseEffect.hs 38;" f
itemBlips src/Dodge/RadarSweep.hs 74;" f
@@ -6252,7 +6251,7 @@ mntLight src/Dodge/Placement/Instance/LightSource.hs 154;" f
mntLight src/Dodge/Placements/LightSource.hs 89;" f
mntLightLnkCond src/Dodge/Placement/Instance/LightSource.hs 159;" f
mntLightLnkCond src/Dodge/Placements/LightSource.hs 94;" f
modClock src/Dodge/Item/Weapon/TriggerType.hs 464;" f
modClock src/Dodge/Item/Weapon/TriggerType.hs 470;" f
modTo src/Geometry/Zone.hs 10;" f
modifierKey src/Dodge/Config/KeyConfig.hs 34;" f
moduleAttachPosition src/Dodge/Item/Module.hs 6;" f
@@ -6783,7 +6782,7 @@ randsOnCirc src/RandomHelp.hs 118;" f
randsSpread src/Dodge/RandomHelp.hs 100;" f
randsSpread src/RandomHelp.hs 111;" f
ratIntersectLineLine src/Geometry/Intersect.hs 195;" f
rateIncAB src/Dodge/Item/Weapon/TriggerType.hs 169;" f
rateIncAB src/Dodge/Item/Weapon/TriggerType.hs 175;" f
readSaveSlot src/Dodge/Save.hs 45;" f
rectNESW src/Geometry/Polygon.hs 13;" f
rectNSWE src/Geometry/Polygon.hs 19;" f
@@ -6834,7 +6833,7 @@ renderLayer src/Render.hs 233;" f
renderLightingNoShadows src/Render.hs 48;" f
renderListAt src/Dodge/Render/List.hs 160;" f
renderShadows src/Render.hs 117;" f
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 662;" f
repeatOnFrames src/Dodge/Item/Weapon/TriggerType.hs 668;" f
repeatTransformed src/Dodge/Item/Weapon/TriggerType.hs 93;" f
repeater src/Dodge/Item/Held/Cane.hs 66;" f
repeater src/Dodge/Item/Weapon/BulletGun/Cane.hs 89;" f
@@ -6939,8 +6938,8 @@ rotateV src/Geometry/Vector.hs 105;" f
rotateVAround src/Geometry/Vector.hs 112;" f
rotateXY src/Polyhedra.hs 30;" f
roundPoint2 src/Geometry/Intersect.hs 216;" f
roundTank src/Dodge/Placement/Instance/Tank.hs 41;" f
roundTankCross src/Dodge/Placement/Instance/Tank.hs 47;" f
roundTank src/Dodge/Placement/Instance/Tank.hs 25;" f
roundTankCross src/Dodge/Placement/Instance/Tank.hs 31;" f
rpIsOffPath src/Dodge/PlacementSpot.hs 80;" f
rpIsOnPath src/Dodge/PlacementSpot.hs 75;" f
rpOffPathFromEdge src/Dodge/PlacementSpot.hs 85;" f
@@ -7140,7 +7139,7 @@ shootFirstMiss src/Dodge/Creature/Volition.hs 33;" f
shootFlameSpitter src/Dodge/HeldUse/SprayWeapon.hs 9;" f
shootFlameSpitterRepeat src/Dodge/HeldUse/SprayWeapon.hs 19;" f
shootFlameThrower src/Dodge/HeldUse/SprayWeapon.hs 26;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 419;" f
shootL src/Dodge/Item/Weapon/TriggerType.hs 425;" f
shootLaser src/Dodge/Item/Weapon/BatteryGuns.hs 127;" f
shootMachineGun src/Dodge/HeldUse/BulletWeapon.hs 218;" f
shootMachinePistol src/Dodge/HeldUse/BulletWeapon.hs 62;" f
@@ -7190,7 +7189,7 @@ shuffleLinks src/Dodge/Room/Link.hs 30;" f
shuffleRoomPos src/Dodge/Layout.hs 78;" f
shuffleTail src/Dodge/RandomHelp.hs 50;" f
shuffleTail src/RandomHelp.hs 55;" f
sideEffectOnFrame src/Dodge/Item/Weapon/TriggerType.hs 642;" f
sideEffectOnFrame src/Dodge/Item/Weapon/TriggerType.hs 648;" f
sideEffectUpdatePreload src/Dodge/PreloadData.hs 7;" f
sigmoid src/Dodge/Base.hs 129;" f
simpleCrSprings src/Dodge/Update.hs 639;" f
@@ -7504,10 +7503,10 @@ topPrismEdgeIndices src/Shader/Poke.hs 327;" f
topPrismIndices src/Shader/Poke.hs 402;" f
torch src/Dodge/Item/Held/Utility.hs 26;" f
torchShape src/Dodge/Item/Draw/SPic.hs 189;" f
torqueBefore src/Dodge/Item/Weapon/TriggerType.hs 572;" f
torqueBeforeAtLeast src/Dodge/Item/Weapon/TriggerType.hs 595;" f
torqueBefore src/Dodge/Item/Weapon/TriggerType.hs 578;" f
torqueBeforeAtLeast src/Dodge/Item/Weapon/TriggerType.hs 601;" f
torqueCr src/Dodge/WorldEffect.hs 64;" f
torqueSideEffect src/Dodge/Item/Weapon/TriggerType.hs 650;" f
torqueSideEffect src/Dodge/Item/Weapon/TriggerType.hs 656;" f
torso src/Dodge/Creature/Picture.hs 132;" f
tractCr src/Dodge/TractorBeam/Update.hs 27;" f
tractFlIt src/Dodge/TractorBeam/Update.hs 22;" f
@@ -7639,7 +7638,7 @@ unusedSpotAwayFromInLink src/Dodge/PlacementSpot.hs 139;" f
unusedSpotAwayFromLink src/Dodge/PlacementSpot.hs 122;" f
unusedSpotNearInLink src/Dodge/PlacementSpot.hs 191;" f
upCT src/Dodge/Targeting.hs 34;" f
upDownAttachments src/Dodge/Base/You.hs 45;" f
upDownAttachments src/Dodge/Base/You.hs 44;" f
upHammer src/Dodge/Default.hs 77;" f
upProjectile src/Dodge/Projectile/Update.hs 56;" f
updateAllNodes src/TreeHelp.hs 85;" f
@@ -7777,12 +7776,12 @@ upperPrismPolySU src/Shape.hs 112;" f
upperPrismPolyTS src/Shape.hs 118;" f
upperRounded src/Shape.hs 181;" f
upsProjectile src/Dodge/Projectile/Update.hs 53;" f
useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 344;" f
useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 360;" f
useAmmoAmount' src/Dodge/Item/Weapon/TriggerType.hs 367;" f
useAllAmmo src/Dodge/Item/Weapon/TriggerType.hs 350;" f
useAmmoAmount src/Dodge/Item/Weapon/TriggerType.hs 366;" f
useAmmoAmount' src/Dodge/Item/Weapon/TriggerType.hs 373;" f
useAmmoParams src/Dodge/Bullet.hs 59;" f
useAmmoParams src/Dodge/Item/Weapon/AmmoParams.hs 17;" f
useAmmoUpTo src/Dodge/Item/Weapon/TriggerType.hs 351;" f
useAmmoUpTo src/Dodge/Item/Weapon/TriggerType.hs 357;" f
useC src/Dodge/Cuse.hs 6;" f
useE src/Dodge/Euse.hs 24;" f
useEquipment src/Dodge/Creature/State.hs 219;" f
@@ -7809,7 +7808,7 @@ useRoomPosRoomCond src/Dodge/PlacementSpot.hs 181;" f
useShrinkGun src/Dodge/Luse.hs 59;" f
useStopWatch src/Dodge/Luse.hs 24;" f
useTargetPos src/Dodge/Item/Weapon/Targeting.hs 9;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 386;" f
useTimeCheck src/Dodge/Item/Weapon/TriggerType.hs 392;" f
useTimeScrollGun src/Dodge/Luse.hs 32;" f
useUnusedLnk src/Dodge/PlacementSpot.hs 169;" f
useUpdate src/Dodge/Creature/State.hs 211;" f
@@ -7907,35 +7906,35 @@ windowxsize src/LoadConfig.hs 12;" f
windowysize src/LoadConfig.hs 13;" f
withAlpha src/Color.hs 10;" f
withByteString src/Shader/Compile.hs 370;" f
withCrPos src/Dodge/Item/Weapon/TriggerType.hs 502;" f
withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 505;" f
withFlare src/Dodge/Item/Weapon/TriggerType.hs 469;" f
withItem src/Dodge/Item/Weapon/TriggerType.hs 442;" f
withItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 451;" f
withItemUpdateFirst src/Dodge/Item/Weapon/TriggerType.hs 446;" f
withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 481;" f
withOldDir src/Dodge/Item/Weapon/TriggerType.hs 519;" f
withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 554;" f
withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 538;" f
withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 545;" f
withRandomDirI src/Dodge/Item/Weapon/TriggerType.hs 511;" f
withRandomItemParams src/Dodge/Item/Weapon/TriggerType.hs 533;" f
withRandomItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 526;" f
withRandomOffset src/Dodge/Item/Weapon/TriggerType.hs 564;" f
withRecoil src/Dodge/Item/Weapon/TriggerType.hs 302;" f
withSidePushAfterI src/Dodge/Item/Weapon/TriggerType.hs 331;" f
withSidePushI src/Dodge/Item/Weapon/TriggerType.hs 312;" f
withCrPos src/Dodge/Item/Weapon/TriggerType.hs 508;" f
withCrPosShift src/Dodge/Item/Weapon/TriggerType.hs 511;" f
withFlare src/Dodge/Item/Weapon/TriggerType.hs 475;" f
withItem src/Dodge/Item/Weapon/TriggerType.hs 448;" f
withItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 457;" f
withItemUpdateFirst src/Dodge/Item/Weapon/TriggerType.hs 452;" f
withMuzFlare src/Dodge/Item/Weapon/TriggerType.hs 487;" f
withOldDir src/Dodge/Item/Weapon/TriggerType.hs 525;" f
withPosDirWallCheck src/Dodge/Item/Weapon/TriggerType.hs 560;" f
withPositionOffset src/Dodge/Item/Weapon/TriggerType.hs 544;" f
withPositionWallCheck src/Dodge/Item/Weapon/TriggerType.hs 551;" f
withRandomDirI src/Dodge/Item/Weapon/TriggerType.hs 517;" f
withRandomItemParams src/Dodge/Item/Weapon/TriggerType.hs 539;" f
withRandomItemUpdate src/Dodge/Item/Weapon/TriggerType.hs 532;" f
withRandomOffset src/Dodge/Item/Weapon/TriggerType.hs 570;" f
withRecoil src/Dodge/Item/Weapon/TriggerType.hs 308;" f
withSidePushAfterI src/Dodge/Item/Weapon/TriggerType.hs 337;" f
withSidePushI src/Dodge/Item/Weapon/TriggerType.hs 318;" f
withSmoke src/Dodge/Item/Weapon/TriggerType.hs 113;" f
withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 255;" f
withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 268;" f
withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 281;" f
withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 226;" f
withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 242;" f
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 456;" f
withSoundContinue src/Dodge/Item/Weapon/TriggerType.hs 261;" f
withSoundForI src/Dodge/Item/Weapon/TriggerType.hs 274;" f
withSoundForVol src/Dodge/Item/Weapon/TriggerType.hs 287;" f
withSoundItemChoiceStart src/Dodge/Item/Weapon/TriggerType.hs 232;" f
withSoundStart src/Dodge/Item/Weapon/TriggerType.hs 248;" f
withTempLight src/Dodge/Item/Weapon/TriggerType.hs 462;" f
withThickSmokeI src/Dodge/Item/Weapon/TriggerType.hs 131;" f
withThinSmokeI src/Dodge/Item/Weapon/TriggerType.hs 122;" f
withTorqueAfter src/Dodge/Item/Weapon/TriggerType.hs 621;" f
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 206;" f
withTorqueAfter src/Dodge/Item/Weapon/TriggerType.hs 627;" f
withWarmUp src/Dodge/Item/Weapon/TriggerType.hs 212;" f
wlDustAt src/Dodge/Wall/Dust.hs 10;" f
wlIXsNearCirc src/Dodge/Zoning/Wall.hs 32;" f
wlIXsNearPoint src/Dodge/Zoning/Wall.hs 22;" f
@@ -7974,20 +7973,20 @@ xyzV4 src/Geometry/Vector.hs 207;" f
yIntercepts' src/Dodge/Zoning/Base.hs 74;" f
yV2 src/Geometry/Vector.hs 203;" f
yellow src/Color.hs 17;" f
you src/Dodge/Base/You.hs 12;" f
you src/Dodge/Base/You.hs 11;" f
youBox' src/Dodge/Creature/ShadowBox.hs 8;" f
youDropItem src/Dodge/Creature/Action.hs 192;" f
youSil src/Dodge/Creature/ShadowBox.hs 15;" f
youc src/Dodge/Base/You.hs 15;" f
youc src/Dodge/Base/You.hs 14;" f
yourAugmentedItem src/Dodge/Render/HUD.hs 118;" f
yourControl src/Dodge/Creature/YourControl.hs 22;" f
yourDefaultSpeed src/Dodge/Default/Creature.hs 134;" f
yourDefaultStrideLength src/Dodge/Default/Creature.hs 137;" f
yourInfo src/Dodge/Creature/Info.hs 8;" f
yourInv src/Dodge/Base/You.hs 37;" f
yourItem src/Dodge/Base/You.hs 18;" f
yourScopeInvID src/Dodge/Base/You.hs 31;" f
yourScrollAttachment src/Dodge/Base/You.hs 23;" f
yourInv src/Dodge/Base/You.hs 36;" f
yourItem src/Dodge/Base/You.hs 17;" f
yourScopeInvID src/Dodge/Base/You.hs 30;" f
yourScrollAttachment src/Dodge/Base/You.hs 22;" f
yourStatsInfo src/Dodge/Creature/Info.hs 25;" f
zConnect src/Dodge/Render/Connectors.hs 9;" f
zConnectCol src/Dodge/Render/Connectors.hs 16;" f