Allow firing of different muzzles on different frames after use
This commit is contained in:
+152
-174
@@ -2,303 +2,281 @@ digraph {
|
|||||||
graph [rankdir=LR];
|
graph [rankdir=LR];
|
||||||
subgraph 1 {
|
subgraph 1 {
|
||||||
1 [shape=box
|
1 [shape=box
|
||||||
,label="HELD {_ibtHeld = TIMESCROLLER}"];
|
|
||||||
2 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = TIMESTOPPER}"];
|
|
||||||
3 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = REWINDER}"];
|
|
||||||
11 [shape=box
|
|
||||||
,label="EQUIP {_ibtEquip = FUELPACK}"];
|
,label="EQUIP {_ibtEquip = FUELPACK}"];
|
||||||
15 [shape=box
|
5 [shape=box
|
||||||
,label="AMMOMAG {_ibtAmmoMag = TINMAG}"];
|
,label="AMMOMAG {_ibtAmmoMag = TINMAG}"];
|
||||||
19 [shape=box
|
9 [shape=box
|
||||||
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 1}}"];
|
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 1}}"];
|
||||||
23 [shape=box
|
13 [shape=box
|
||||||
,label="HELD {_ibtHeld = PISTOL}"];
|
,label="HELD {_ibtHeld = PISTOL}"];
|
||||||
25 [shape=box
|
15 [shape=box
|
||||||
,label="HELD {_ibtHeld = AUTOPISTOL}"];
|
,label="HELD {_ibtHeld = AUTOPISTOL}"];
|
||||||
27 [shape=box
|
17 [shape=box
|
||||||
,label="HELD {_ibtHeld = SMG}"];
|
,label="HELD {_ibtHeld = SMG}"];
|
||||||
30 [shape=box
|
20 [shape=box
|
||||||
,label="HELD {_ibtHeld = MACHINEPISTOL}"];
|
,label="HELD {_ibtHeld = MACHINEPISTOL}"];
|
||||||
32 [shape=box
|
22 [shape=box
|
||||||
,label="HELD {_ibtHeld = BANGCONE}"];
|
,label="HELD {_ibtHeld = BANGCONE}"];
|
||||||
35 [shape=box
|
25 [shape=box
|
||||||
,label="HELD {_ibtHeld = BLUNDERBUSS}"];
|
,label="HELD {_ibtHeld = BLUNDERBUSS}"];
|
||||||
37 [shape=box
|
27 [shape=box
|
||||||
,label="HELD {_ibtHeld = GRAPECANNON {_xNum = 1}}"];
|
,label="HELD {_ibtHeld = GRAPECANNON {_xNum = 1}}"];
|
||||||
39 [shape=box
|
29 [shape=box
|
||||||
,label="HELD {_ibtHeld = RIFLE}"];
|
,label="HELD {_ibtHeld = RIFLE}"];
|
||||||
41 [shape=box
|
31 [shape=box
|
||||||
,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"];
|
,label="HELD {_ibtHeld = VOLLEYGUN {_xNum = 3}}"];
|
||||||
43 [shape=box
|
33 [shape=box
|
||||||
,label="HELD {_ibtHeld = AUTORIFLE}"];
|
,label="HELD {_ibtHeld = AUTORIFLE}"];
|
||||||
45 [shape=box
|
35 [shape=box
|
||||||
,label="HELD {_ibtHeld = BURSTRIFLE}"];
|
,label="HELD {_ibtHeld = BURSTRIFLE}"];
|
||||||
47 [shape=box
|
37 [shape=box
|
||||||
,label="HELD {_ibtHeld = MINIGUNX {_xNum = 3}}"];
|
,label="HELD {_ibtHeld = MINIGUNX {_xNum = 3}}"];
|
||||||
50 [shape=box
|
40 [shape=box
|
||||||
,label="HELD {_ibtHeld = SNIPERRIFLE}"];
|
,label="HELD {_ibtHeld = SNIPERRIFLE}"];
|
||||||
51 [shape=box
|
41 [shape=box
|
||||||
,label="HELD {_ibtHeld = AMR}"];
|
,label="HELD {_ibtHeld = AMR}"];
|
||||||
54 [shape=box
|
44 [shape=box
|
||||||
,label="HELD {_ibtHeld = AUTOAMR}"];
|
,label="HELD {_ibtHeld = AUTOAMR}"];
|
||||||
56 [shape=box
|
46 [shape=box
|
||||||
,label="HELD {_ibtHeld = LAUNCHER}"];
|
,label="HELD {_ibtHeld = LAUNCHER}"];
|
||||||
59 [shape=box
|
49 [shape=box
|
||||||
,label="HELD {_ibtHeld = LAUNCHERX {_xNum = 2}}"];
|
,label="HELD {_ibtHeld = LAUNCHERX {_xNum = 2}}"];
|
||||||
63 [shape=box
|
53 [shape=box
|
||||||
,label="HELD {_ibtHeld = FLAMESPITTER}"];
|
,label="HELD {_ibtHeld = FLAMESPITTER}"];
|
||||||
67 [shape=box
|
57 [shape=box
|
||||||
,label="HELD {_ibtHeld = BLOWTORCH}"];
|
,label="HELD {_ibtHeld = BLOWTORCH}"];
|
||||||
69 [shape=box
|
59 [shape=box
|
||||||
,label="HELD {_ibtHeld = FLAMETHROWER}"];
|
,label="HELD {_ibtHeld = FLAMETHROWER}"];
|
||||||
71 [shape=box
|
61 [shape=box
|
||||||
,label="HELD {_ibtHeld = FLAMEWALL}"];
|
,label="HELD {_ibtHeld = FLAMEWALL}"];
|
||||||
73 [shape=box
|
63 [shape=box
|
||||||
,label="HELD {_ibtHeld = FLAMETORRENT}"];
|
,label="HELD {_ibtHeld = FLAMETORRENT}"];
|
||||||
75 [shape=box
|
65 [shape=box
|
||||||
,label="HELD {_ibtHeld = LASER}"];
|
,label="HELD {_ibtHeld = LASER}"];
|
||||||
79 [shape=box
|
69 [shape=box
|
||||||
,label="HELD {_ibtHeld = SPARKGUN}"];
|
,label="HELD {_ibtHeld = SPARKGUN}"];
|
||||||
81 [shape=box
|
71 [shape=box
|
||||||
,label="HELD {_ibtHeld = TESLAGUN}"];
|
,label="HELD {_ibtHeld = TESLAGUN}"];
|
||||||
83 [shape=box
|
73 [shape=box
|
||||||
,label="HELD {_ibtHeld = BLINKER}"];
|
|
||||||
86 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = BLINKERUNSAFE}"];
|
,label="HELD {_ibtHeld = BLINKERUNSAFE}"];
|
||||||
88 [shape=box
|
74 [shape=box
|
||||||
|
,label="HELD {_ibtHeld = BLINKER}"];
|
||||||
|
77 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = MAGSHIELD}"];
|
,label="EQUIP {_ibtEquip = MAGSHIELD}"];
|
||||||
91 [shape=box
|
80 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = POWERLEGS}"];
|
,label="EQUIP {_ibtEquip = POWERLEGS}"];
|
||||||
97 [shape=box
|
86 [shape=box
|
||||||
,label="HELD {_ibtHeld = FLATSHIELD}"];
|
,label="HELD {_ibtHeld = FLATSHIELD}"];
|
||||||
107 [shape=box
|
96 [shape=box
|
||||||
,label="HELD {_ibtHeld = DETECTOR ITEMDETECTOR}"];
|
,label="HELD {_ibtHeld = DETECTOR ITEMDETECTOR}"];
|
||||||
110 [shape=box
|
99 [shape=box
|
||||||
,label="HELD {_ibtHeld = DETECTOR WALLDETECTOR}"];
|
,label="HELD {_ibtHeld = DETECTOR WALLDETECTOR}"];
|
||||||
112 [shape=box
|
101 [shape=box
|
||||||
,label="HELD {_ibtHeld = DETECTOR CREATUREDETECTOR}"];
|
,label="HELD {_ibtHeld = DETECTOR CREATUREDETECTOR}"];
|
||||||
114 [shape=box
|
103 [shape=box
|
||||||
,label="HELD {_ibtHeld = TORCH}"];
|
,label="HELD {_ibtHeld = TORCH}"];
|
||||||
115 [shape=box
|
104 [shape=box
|
||||||
,label="AMMOMAG {_ibtAmmoMag = BATTERY}"];
|
,label="AMMOMAG {_ibtAmmoMag = BATTERY}"];
|
||||||
118 [shape=box
|
107 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = HEADLAMP}"];
|
,label="EQUIP {_ibtEquip = HEADLAMP}"];
|
||||||
119 [shape=box
|
108 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = HAT}"];
|
,label="EQUIP {_ibtEquip = HAT}"];
|
||||||
121 [shape=box
|
110 [shape=box
|
||||||
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
|
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
|
||||||
}
|
}
|
||||||
subgraph 2 {
|
subgraph 2 {
|
||||||
0 [shape=point];
|
0 [shape=point];
|
||||||
4 [shape=point];
|
4 [shape=point];
|
||||||
8 [shape=point];
|
8 [shape=point];
|
||||||
10 [shape=point];
|
12 [shape=point];
|
||||||
14 [shape=point];
|
14 [shape=point];
|
||||||
18 [shape=point];
|
16 [shape=point];
|
||||||
22 [shape=point];
|
19 [shape=point];
|
||||||
|
21 [shape=point];
|
||||||
24 [shape=point];
|
24 [shape=point];
|
||||||
26 [shape=point];
|
26 [shape=point];
|
||||||
29 [shape=point];
|
28 [shape=point];
|
||||||
31 [shape=point];
|
30 [shape=point];
|
||||||
|
32 [shape=point];
|
||||||
34 [shape=point];
|
34 [shape=point];
|
||||||
36 [shape=point];
|
36 [shape=point];
|
||||||
38 [shape=point];
|
39 [shape=point];
|
||||||
40 [shape=point];
|
|
||||||
42 [shape=point];
|
42 [shape=point];
|
||||||
44 [shape=point];
|
43 [shape=point];
|
||||||
46 [shape=point];
|
45 [shape=point];
|
||||||
49 [shape=point];
|
48 [shape=point];
|
||||||
|
50 [shape=point];
|
||||||
52 [shape=point];
|
52 [shape=point];
|
||||||
53 [shape=point];
|
56 [shape=point];
|
||||||
55 [shape=point];
|
|
||||||
58 [shape=point];
|
58 [shape=point];
|
||||||
60 [shape=point];
|
60 [shape=point];
|
||||||
62 [shape=point];
|
62 [shape=point];
|
||||||
66 [shape=point];
|
64 [shape=point];
|
||||||
68 [shape=point];
|
68 [shape=point];
|
||||||
70 [shape=point];
|
70 [shape=point];
|
||||||
72 [shape=point];
|
72 [shape=point];
|
||||||
74 [shape=point];
|
76 [shape=point];
|
||||||
78 [shape=point];
|
79 [shape=point];
|
||||||
80 [shape=point];
|
|
||||||
82 [shape=point];
|
82 [shape=point];
|
||||||
|
83 [shape=point];
|
||||||
|
84 [shape=point];
|
||||||
85 [shape=point];
|
85 [shape=point];
|
||||||
87 [shape=point];
|
87 [shape=point];
|
||||||
90 [shape=point];
|
89 [shape=point];
|
||||||
93 [shape=point];
|
92 [shape=point];
|
||||||
94 [shape=point];
|
|
||||||
95 [shape=point];
|
95 [shape=point];
|
||||||
96 [shape=point];
|
|
||||||
98 [shape=point];
|
98 [shape=point];
|
||||||
100 [shape=point];
|
100 [shape=point];
|
||||||
103 [shape=point];
|
102 [shape=point];
|
||||||
106 [shape=point];
|
106 [shape=point];
|
||||||
109 [shape=point];
|
109 [shape=point];
|
||||||
111 [shape=point];
|
111 [shape=point];
|
||||||
113 [shape=point];
|
113 [shape=point];
|
||||||
|
115 [shape=point];
|
||||||
117 [shape=point];
|
117 [shape=point];
|
||||||
120 [shape=point];
|
|
||||||
122 [shape=point];
|
|
||||||
124 [shape=point];
|
|
||||||
126 [shape=point];
|
|
||||||
128 [shape=point];
|
|
||||||
}
|
}
|
||||||
0 -> 1 [xlabel="",tailport=e];
|
0 -> 1 [xlabel="",tailport=e];
|
||||||
2 -> 0 [xlabel=1
|
4 -> 5 [xlabel="",tailport=e];
|
||||||
|
8 -> 9 [xlabel="",tailport=e];
|
||||||
|
9 -> 12 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
3 -> 0 [xlabel=1
|
9 -> 28 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
9 -> 30 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
9 -> 30 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
9 -> 30 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
9 -> 109 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
9 -> 113 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
9 -> 115 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
12 -> 13 [xlabel="",tailport=e];
|
||||||
|
13 -> 14 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
4 -> 1 [xlabel="",tailport=e];
|
|
||||||
8 -> 1 [xlabel="",tailport=e];
|
|
||||||
10 -> 11 [xlabel="",tailport=e];
|
|
||||||
14 -> 15 [xlabel="",tailport=e];
|
14 -> 15 [xlabel="",tailport=e];
|
||||||
18 -> 19 [xlabel="",tailport=e];
|
15 -> 16 [xlabel=1
|
||||||
19 -> 22 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
19 -> 38 [xlabel=1
|
15 -> 19 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
19 -> 40 [xlabel=1
|
16 -> 17 [xlabel="",tailport=e];
|
||||||
,arrowhead=onone
|
19 -> 20 [xlabel="",tailport=e];
|
||||||
,headport=w];
|
21 -> 22 [xlabel="",tailport=e];
|
||||||
19 -> 40 [xlabel=1
|
22 -> 24 [xlabel=1
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
19 -> 40 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
19 -> 120 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
19 -> 124 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
19 -> 126 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
22 -> 23 [xlabel="",tailport=e];
|
|
||||||
23 -> 24 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
24 -> 25 [xlabel="",tailport=e];
|
24 -> 25 [xlabel="",tailport=e];
|
||||||
25 -> 26 [xlabel=1
|
25 -> 26 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
25 -> 29 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
26 -> 27 [xlabel="",tailport=e];
|
26 -> 27 [xlabel="",tailport=e];
|
||||||
29 -> 30 [xlabel="",tailport=e];
|
27 -> 117 [xlabel=1
|
||||||
31 -> 32 [xlabel="",tailport=e];
|
|
||||||
32 -> 34 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
|
28 -> 29 [xlabel="",tailport=e];
|
||||||
|
29 -> 32 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
29 -> 34 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
29 -> 42 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
30 -> 31 [xlabel="",tailport=e];
|
||||||
|
31 -> 36 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
31 -> 113 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
32 -> 33 [xlabel="",tailport=e];
|
||||||
34 -> 35 [xlabel="",tailport=e];
|
34 -> 35 [xlabel="",tailport=e];
|
||||||
35 -> 36 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
36 -> 37 [xlabel="",tailport=e];
|
36 -> 37 [xlabel="",tailport=e];
|
||||||
37 -> 128 [xlabel=1
|
37 -> 115 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
38 -> 39 [xlabel="",tailport=e];
|
39 -> 40 [xlabel="",tailport=e];
|
||||||
39 -> 42 [xlabel=1
|
41 -> 39 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
39 -> 44 [xlabel=1
|
41 -> 43 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
39 -> 52 [xlabel=1
|
42 -> 41 [xlabel="",tailport=e];
|
||||||
|
43 -> 44 [xlabel="",tailport=e];
|
||||||
|
45 -> 46 [xlabel="",tailport=e];
|
||||||
|
46 -> 48 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
40 -> 41 [xlabel="",tailport=e];
|
48 -> 49 [xlabel="",tailport=e];
|
||||||
41 -> 46 [xlabel=1
|
49 -> 50 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
41 -> 124 [xlabel=1
|
52 -> 53 [xlabel="",tailport=e];
|
||||||
|
53 -> 56 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
42 -> 43 [xlabel="",tailport=e];
|
53 -> 58 [xlabel=1
|
||||||
44 -> 45 [xlabel="",tailport=e];
|
|
||||||
46 -> 47 [xlabel="",tailport=e];
|
|
||||||
47 -> 126 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
49 -> 50 [xlabel="",tailport=e];
|
|
||||||
51 -> 49 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
51 -> 53 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
52 -> 51 [xlabel="",tailport=e];
|
|
||||||
53 -> 54 [xlabel="",tailport=e];
|
|
||||||
55 -> 56 [xlabel="",tailport=e];
|
|
||||||
56 -> 58 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
|
56 -> 57 [xlabel="",tailport=e];
|
||||||
58 -> 59 [xlabel="",tailport=e];
|
58 -> 59 [xlabel="",tailport=e];
|
||||||
59 -> 60 [xlabel=1
|
59 -> 60 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
|
59 -> 62 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
60 -> 61 [xlabel="",tailport=e];
|
||||||
62 -> 63 [xlabel="",tailport=e];
|
62 -> 63 [xlabel="",tailport=e];
|
||||||
63 -> 66 [xlabel=1
|
64 -> 65 [xlabel="",tailport=e];
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
63 -> 68 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
66 -> 67 [xlabel="",tailport=e];
|
|
||||||
68 -> 69 [xlabel="",tailport=e];
|
68 -> 69 [xlabel="",tailport=e];
|
||||||
69 -> 70 [xlabel=1
|
69 -> 70 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
69 -> 72 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
70 -> 71 [xlabel="",tailport=e];
|
70 -> 71 [xlabel="",tailport=e];
|
||||||
72 -> 73 [xlabel="",tailport=e];
|
72 -> 73 [xlabel="",tailport=e];
|
||||||
74 -> 75 [xlabel="",tailport=e];
|
74 -> 72 [xlabel=1
|
||||||
78 -> 79 [xlabel="",tailport=e];
|
|
||||||
79 -> 80 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
80 -> 81 [xlabel="",tailport=e];
|
|
||||||
82 -> 83 [xlabel="",tailport=e];
|
|
||||||
83 -> 85 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
|
76 -> 77 [xlabel="",tailport=e];
|
||||||
|
79 -> 80 [xlabel="",tailport=e];
|
||||||
85 -> 86 [xlabel="",tailport=e];
|
85 -> 86 [xlabel="",tailport=e];
|
||||||
87 -> 88 [xlabel="",tailport=e];
|
95 -> 96 [xlabel="",tailport=e];
|
||||||
90 -> 91 [xlabel="",tailport=e];
|
98 -> 99 [xlabel="",tailport=e];
|
||||||
96 -> 97 [xlabel="",tailport=e];
|
100 -> 101 [xlabel=""
|
||||||
|
,tailport=e];
|
||||||
|
102 -> 103 [xlabel=""
|
||||||
|
,tailport=e];
|
||||||
|
103 -> 106 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
104 -> 102 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
106 -> 107 [xlabel=""
|
106 -> 107 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
|
108 -> 106 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
109 -> 110 [xlabel=""
|
109 -> 110 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
111 -> 112 [xlabel=""
|
110 -> 111 [xlabel=1
|
||||||
,tailport=e];
|
|
||||||
113 -> 114 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
114 -> 117 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
115 -> 113 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
117 -> 118 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
119 -> 117 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
120 -> 121 [xlabel=""
|
|
||||||
,tailport=e];
|
|
||||||
121 -> 122 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -123,7 +123,14 @@ inventoryX c = case c of
|
|||||||
'B' ->
|
'B' ->
|
||||||
[ wristArmour
|
[ wristArmour
|
||||||
, wristArmour
|
, wristArmour
|
||||||
, autoRifle
|
, volleyGun 5
|
||||||
|
, tinMag
|
||||||
|
, tinMag
|
||||||
|
, tinMag
|
||||||
|
, tinMag
|
||||||
|
, tinMag
|
||||||
|
, burstRifle
|
||||||
|
, bangCone
|
||||||
, tinMag
|
, tinMag
|
||||||
, smg
|
, smg
|
||||||
, tinMag
|
, tinMag
|
||||||
|
|||||||
@@ -39,6 +39,7 @@ data ItemUse
|
|||||||
, _heldAim :: AimParams
|
, _heldAim :: AimParams
|
||||||
, _heldParams :: HeldParams
|
, _heldParams :: HeldParams
|
||||||
, _heldTriggerType :: TriggerType
|
, _heldTriggerType :: TriggerType
|
||||||
|
, _heldFrame :: Int
|
||||||
}
|
}
|
||||||
| UseEquip { _uequipEffect :: EquipEffect }
|
| UseEquip { _uequipEffect :: EquipEffect }
|
||||||
| UseAttach {_uaParams :: AttachParams}
|
| UseAttach {_uaParams :: AttachParams}
|
||||||
@@ -163,6 +164,7 @@ data Muzzle = Muzzle
|
|||||||
, _mzFlareType :: FlareType
|
, _mzFlareType :: FlareType
|
||||||
, _mzEffect :: MuzzleEffect
|
, _mzEffect :: MuzzleEffect
|
||||||
, _mzAmmoPerShot :: AmmoPerShot
|
, _mzAmmoPerShot :: AmmoPerShot
|
||||||
|
, _mzFrame :: Int
|
||||||
-- , _mzChargeRequirement :: Maybe Int
|
-- , _mzChargeRequirement :: Maybe Int
|
||||||
-- , _mzRecoil :: Float
|
-- , _mzRecoil :: Float
|
||||||
-- , _mzTorque :: Float
|
-- , _mzTorque :: Float
|
||||||
|
|||||||
@@ -42,7 +42,8 @@ defaultBulletWeapon :: Item
|
|||||||
defaultBulletWeapon =
|
defaultBulletWeapon =
|
||||||
defaultHeldItem
|
defaultHeldItem
|
||||||
& itAmmoSlots .~ singleAmmo BulletAmmo
|
& itAmmoSlots .~ singleAmmo BulletAmmo
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0 PistolFlare MuzzleShootBullet (UseExactly 1)]
|
& itUse . heldAim . aimMuzzles .~
|
||||||
|
[Muzzle (V2 15 0) 0 0.01 0 PistolFlare MuzzleShootBullet (UseExactly 1) 0]
|
||||||
|
|
||||||
defaultItEffect :: ItEffect
|
defaultItEffect :: ItEffect
|
||||||
defaultItEffect =
|
defaultItEffect =
|
||||||
|
|||||||
@@ -1,14 +1,12 @@
|
|||||||
module Dodge.Default.Item.Use (
|
module Dodge.Default.Item.Use (
|
||||||
module Dodge.Default.Item.Use,
|
module Dodge.Default.Item.Use,
|
||||||
module Dodge.Default.Item.Use.AimParams,
|
module Dodge.Default.Item.Use.AimParams,
|
||||||
module Dodge.Default.Item.Use.Consumption,
|
|
||||||
module Dodge.Default.Item.Use.Equipment,
|
module Dodge.Default.Item.Use.Equipment,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Dodge.SoundLogic.ExternallyGeneratedSounds
|
import Dodge.SoundLogic.ExternallyGeneratedSounds
|
||||||
import Dodge.Data.Item.Use
|
import Dodge.Data.Item.Use
|
||||||
import Dodge.Default.Item.Use.AimParams
|
import Dodge.Default.Item.Use.AimParams
|
||||||
import Dodge.Default.Item.Use.Consumption
|
|
||||||
import Dodge.Default.Item.Use.Equipment
|
import Dodge.Default.Item.Use.Equipment
|
||||||
|
|
||||||
--defaultLeftUse :: ItemUse
|
--defaultLeftUse :: ItemUse
|
||||||
@@ -42,4 +40,5 @@ defaultHeldUse = UseHeld
|
|||||||
, _weaponRepeat = []
|
, _weaponRepeat = []
|
||||||
}
|
}
|
||||||
, _heldTriggerType = HammerTrigger
|
, _heldTriggerType = HammerTrigger
|
||||||
|
, _heldFrame = 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ defaultAimParams =
|
|||||||
, _mzFlareType = DefaultFlareType
|
, _mzFlareType = DefaultFlareType
|
||||||
, _mzEffect = MuzzleShootBullet
|
, _mzEffect = MuzzleShootBullet
|
||||||
, _mzAmmoPerShot = UseExactly 1
|
, _mzAmmoPerShot = UseExactly 1
|
||||||
|
, _mzFrame = 0
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
module Dodge.Default.Item.Use.Consumption where
|
|
||||||
|
|
||||||
--import Control.Lens
|
|
||||||
import Dodge.Data.Item.Use.Consumption
|
|
||||||
--import Dodge.Item.Weapon.Bullet
|
|
||||||
--import Dodge.Reloading.Action
|
|
||||||
|
|
||||||
defaultLeftLoadable :: LeftConsumption
|
|
||||||
defaultLeftLoadable = AutoRecharging 10 10 100 100
|
|
||||||
@@ -93,12 +93,14 @@ heldEffectMuzzles t cr w =
|
|||||||
-- need to be careful about inventory lock or item ids here
|
-- need to be careful about inventory lock or item ids here
|
||||||
doWeaponRepetitions :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
|
doWeaponRepetitions :: LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
|
||||||
doWeaponRepetitions itm cr = case itm ^? ldtValue . itUse . heldParams . weaponRepeat of
|
doWeaponRepetitions itm cr = case itm ^? ldtValue . itUse . heldParams . weaponRepeat of
|
||||||
Just (x : xs) -> cWorld . lWorld . delayedEvents .++~ ((x : xs) <&> (,WdWdFromItCrixWdWd upitm (_crID cr) ItCrWdItemHeldEffect))
|
Just xs -> cWorld . lWorld . delayedEvents .++~ map f xs
|
||||||
_ -> id
|
_ -> id
|
||||||
where
|
where
|
||||||
upitm =
|
f x = (x,WdWdFromItCrixWdWd (upitm x) (_crID cr) ItCrWdItemHeldEffect)
|
||||||
|
upitm x =
|
||||||
itm & ldtValue . itUse . heldParams . weaponRepeat .~ []
|
itm & ldtValue . itUse . heldParams . weaponRepeat .~ []
|
||||||
& ldtValue . itUse . heldTriggerType .~ AutoTrigger
|
& ldtValue . itUse . heldTriggerType .~ AutoTrigger
|
||||||
|
& ldtValue . itUse . heldFrame .~ x
|
||||||
|
|
||||||
applyCME :: Item -> Creature -> CumulativeMuzzleEffect -> World -> World
|
applyCME :: Item -> Creature -> CumulativeMuzzleEffect -> World -> World
|
||||||
applyCME itm cr cme
|
applyCME itm cr cme
|
||||||
@@ -174,6 +176,7 @@ loadMuzzle ::
|
|||||||
Muzzle ->
|
Muzzle ->
|
||||||
(LabelDoubleTree ComposeLinkType Item, Maybe (Muzzle, Int, LabelDoubleTree ComposeLinkType Item))
|
(LabelDoubleTree ComposeLinkType Item, Maybe (Muzzle, Int, LabelDoubleTree ComposeLinkType Item))
|
||||||
loadMuzzle t@(LDT _ l _) mz = fromMaybe (t, Nothing) $ do
|
loadMuzzle t@(LDT _ l _) mz = fromMaybe (t, Nothing) $ do
|
||||||
|
guard $ mz ^? mzFrame == t ^? ldtValue . itUse . heldFrame
|
||||||
let as = _mzAmmoSlot mz
|
let as = _mzAmmoSlot mz
|
||||||
amamount = _mzAmmoPerShot mz
|
amamount = _mzAmmoPerShot mz
|
||||||
(i, (_, mag)) <- findWithIx (isAmmoIntLink as . fst) l
|
(i, (_, mag)) <- findWithIx (isAmmoIntLink as . fst) l
|
||||||
|
|||||||
@@ -41,11 +41,16 @@ volleyGun i =
|
|||||||
<*> pure PistolFlare
|
<*> pure PistolFlare
|
||||||
<*> pure MuzzleShootBullet
|
<*> pure MuzzleShootBullet
|
||||||
<*> pure (UseExactly 1)
|
<*> pure (UseExactly 1)
|
||||||
|
<*> ZipList [0..i-1]
|
||||||
)
|
)
|
||||||
& itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
|
& itUse . heldParams . weaponInvLock .~ i + 1
|
||||||
& itUse . heldParams . recoil .~ 20 + 10 * fromIntegral i
|
-- & itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
|
||||||
|
-- & itUse . heldParams . recoil .~ 20 + 10 * fromIntegral i
|
||||||
|
& itUse . heldParams . torqueAfter .~ 0
|
||||||
|
& itUse . heldParams . recoil .~ 0
|
||||||
& itType .~ HELD (VOLLEYGUN i)
|
& itType .~ HELD (VOLLEYGUN i)
|
||||||
& itAmmoSlots .~ IM.fromList (zip [0..i-1] $ repeat BulletAmmo)
|
& itAmmoSlots .~ IM.fromList (zip [0..i-1] $ repeat BulletAmmo)
|
||||||
|
& itUse . heldParams . weaponRepeat .~ [1..i-1]
|
||||||
|
|
||||||
rifle :: Item
|
rifle :: Item
|
||||||
rifle =
|
rifle =
|
||||||
@@ -90,7 +95,7 @@ miniGunX i =
|
|||||||
& itUse . heldAim . aimTurnSpeed .~ 0.5
|
& itUse . heldAim . aimTurnSpeed .~ 0.5
|
||||||
& itUse . heldAim . aimMuzzles
|
& itUse . heldAim . aimMuzzles
|
||||||
.~ replicate i
|
.~ replicate i
|
||||||
(Muzzle (V2 30 0) 0 0.05 0 MiniGunFlare MuzzleShootBullet (UseExactly 1))
|
(Muzzle (V2 30 0) 0 0.05 0 MiniGunFlare MuzzleShootBullet (UseExactly 1) 0)
|
||||||
& itUse . heldParams . recoil .~ 10 * fromIntegral i
|
& itUse . heldParams . recoil .~ 10 * fromIntegral i
|
||||||
& itUse . heldParams . torqueAfter .~ 0.04 + 0.02 * fromIntegral i
|
& itUse . heldParams . torqueAfter .~ 0.04 + 0.02 * fromIntegral i
|
||||||
& itUse . heldParams . sidePush .~ 10 * fromIntegral i
|
& itUse . heldParams . sidePush .~ 10 * fromIntegral i
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ bangCone =
|
|||||||
& itUse . heldDelay . rateMax .~ 20
|
& itUse . heldDelay . rateMax .~ 20
|
||||||
& itUse . heldAim . aimMuzzles
|
& itUse . heldAim . aimMuzzles
|
||||||
.~ replicate 15
|
.~ replicate 15
|
||||||
(Muzzle (V2 15 0) 0 0.5 0 DefaultFlareType MuzzleShootBullet (UseExactly 1))
|
(Muzzle (V2 15 0) 0 0.5 0 DefaultFlareType MuzzleShootBullet (UseExactly 1) 0)
|
||||||
& itUse . heldParams . muzVel .~ UniRandFloat 0.5 0.8
|
& itUse . heldParams . muzVel .~ UniRandFloat 0.5 0.8
|
||||||
& itUse . heldParams . rifling .~ UniRandFloat 0.3 0.8
|
& itUse . heldParams . rifling .~ UniRandFloat 0.3 0.8
|
||||||
& itUse . heldParams . recoil .~ 150
|
& itUse . heldParams . recoil .~ 150
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ launcherX i =
|
|||||||
<*> pure DefaultFlareType
|
<*> pure DefaultFlareType
|
||||||
<*> pure MuzzleLauncher
|
<*> pure MuzzleLauncher
|
||||||
<*> pure (UseExactly 1)
|
<*> pure (UseExactly 1)
|
||||||
|
<*> pure 0
|
||||||
)
|
)
|
||||||
& itAmmoSlots .~ IM.fromList [(j,LauncherAmmo) | j <- [0..i-1]]
|
& itAmmoSlots .~ IM.fromList [(j,LauncherAmmo) | j <- [0..i-1]]
|
||||||
where
|
where
|
||||||
|
|||||||
@@ -85,6 +85,7 @@ flameThrower =
|
|||||||
, _nzCurrentWalkAngle = 0
|
, _nzCurrentWalkAngle = 0
|
||||||
}
|
}
|
||||||
(UseExactly 1)
|
(UseExactly 1)
|
||||||
|
0
|
||||||
]
|
]
|
||||||
& itAmmoSlots .~ singleAmmo GasAmmo
|
& itAmmoSlots .~ singleAmmo GasAmmo
|
||||||
& itType .~ HELD FLAMETHROWER
|
& itType .~ HELD FLAMETHROWER
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ bangStick i =
|
|||||||
& itType .~ HELD (BANGSTICK i)
|
& itType .~ HELD (BANGSTICK i)
|
||||||
& itUse . heldDelay . rateMax .~ 8
|
& itUse . heldDelay . rateMax .~ 8
|
||||||
& itUse . heldAim . aimMuzzles
|
& itUse . heldAim . aimMuzzles
|
||||||
.~ [Muzzle (V2 10 0) a 0.01 0 DefaultFlareType MuzzleShootBullet (UseExactly 1)
|
.~ [Muzzle (V2 10 0) a 0.01 0 DefaultFlareType MuzzleShootBullet (UseExactly 1) 0
|
||||||
| a <- spreadAroundCenter i baseStickSpread]
|
| a <- spreadAroundCenter i baseStickSpread]
|
||||||
|
|
||||||
baseStickSpread :: Float
|
baseStickSpread :: Float
|
||||||
|
|||||||
@@ -2,8 +2,6 @@ module Dodge.Item.InventoryColor (
|
|||||||
itemInvColor,
|
itemInvColor,
|
||||||
) where
|
) where
|
||||||
|
|
||||||
--import Dodge.Data.Item.Use.Consumption.Ammo
|
|
||||||
|
|
||||||
import Color
|
import Color
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
import Dodge.Data.ComposedItem
|
import Dodge.Data.ComposedItem
|
||||||
|
|||||||
Reference in New Issue
Block a user