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