Start unifying heldUse and heldMods
This commit is contained in:
+84
-79
@@ -1,94 +1,99 @@
|
|||||||
/home/justin/Haskell/loop/src/Dodge/Default/Item/Use/AimParams.hs:16:26-45: error:
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:(32,25)-(316,68): warning: [-Wincomplete-patterns]
|
||||||
• Couldn't match expected type ‘Muzzle’
|
Pattern match(es) are non-exhaustive
|
||||||
with actual type ‘Int -> Muzzle’
|
In a case alternative:
|
||||||
• Probable cause: ‘Muzzle’ is applied to too few arguments
|
Patterns not matched:
|
||||||
In the expression: Muzzle (V2 20 0) 0 0
|
FireRemoteShellMod
|
||||||
In the ‘_aimMuzzles’ field of a record
|
ExplodeRemoteShellMod
|
||||||
In the expression:
|
DoNothingMod
|
||||||
AimParams
|
ForceFieldMod
|
||||||
{_aimWeight = 0, _aimTurnSpeed = 1, _aimRange = 0,
|
...
|
||||||
_aimZoom = defaultItZoom, _aimStance = OneHand,
|
|
||||||
_aimHandlePos = V2 3 0, _aimMuzzles = [Muzzle (V2 20 0) 0 0]}
|
|
||||||
|
|
|
|
||||||
16 | , _aimMuzzles = [Muzzle (V2 20 0) 0 0]
|
32 | heldEffect effecttype = case effecttype of
|
||||||
| ^^^^^^^^^^^^^^^^^^^^
|
| ^^^^^^^^^^^^^^^^^^...
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:345:12-14: warning: [-Wunused-matches]
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:325:5-18: warning: [-Wunused-local-binds]
|
||||||
Defined but not used: ‘eff’
|
Defined but not used: ‘directedTelPos’
|
||||||
|
|
|
|
||||||
345 | useAllAmmo eff item cr w = error "use all ammo"
|
325 | directedTelPos _ cr w = (p, a)
|
||||||
|
| ^^^^^^^^^^^^^^
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:335:1-9: warning: [-Wmissing-signatures]
|
||||||
|
Top-level binding with no type signature:
|
||||||
|
gasEffect :: [(LabelDoubleTree ComposeLinkType Item
|
||||||
|
-> Creature -> World -> World)
|
||||||
|
-> LabelDoubleTree ComposeLinkType Item
|
||||||
|
-> Creature
|
||||||
|
-> World
|
||||||
|
-> World]
|
||||||
|
-> LabelDoubleTree ComposeLinkType Item
|
||||||
|
-> Creature
|
||||||
|
-> World
|
||||||
|
-> World
|
||||||
|
|
|
||||||
|
335 | gasEffect = foldl' (&) (overNozzles useGasParams)
|
||||||
|
| ^^^^^^^^^
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:337:1-15: warning: [-Wmissing-signatures]
|
||||||
|
Top-level binding with no type signature:
|
||||||
|
bulletGunEffect :: [(LabelDoubleTree ComposeLinkType Item
|
||||||
|
-> Creature -> World -> World)
|
||||||
|
-> LabelDoubleTree ComposeLinkType Item
|
||||||
|
-> Creature
|
||||||
|
-> World
|
||||||
|
-> World]
|
||||||
|
-> LabelDoubleTree ComposeLinkType Item
|
||||||
|
-> Creature
|
||||||
|
-> World
|
||||||
|
-> World
|
||||||
|
|
|
||||||
|
337 | bulletGunEffect = foldl' (&) shootBullet
|
||||||
|
| ^^^^^^^^^^^^^^^
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:(342,13)-(644,9): warning: [-Wincomplete-patterns]
|
||||||
|
Pattern match(es) are non-exhaustive
|
||||||
|
In a case alternative:
|
||||||
|
Patterns not matched:
|
||||||
|
TractorMod
|
||||||
|
FireRemoteShellMod
|
||||||
|
ExplodeRemoteShellMod
|
||||||
|
DoNothingMod
|
||||||
|
...
|
||||||
|
|
|
||||||
|
342 | useMod hm = case hm of
|
||||||
|
| ^^^^^^^^^^...
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:649:5-26: warning: [-Wunused-local-binds]
|
||||||
|
Defined but not used: ‘increasecycleLasCircle’
|
||||||
|
|
|
||||||
|
649 | increasecycleLasCircle it = it & itParams . lasCycle %~ (flip mod 2000 . (+ 1))
|
||||||
|
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:651:5-14: warning: [-Wunused-local-binds]
|
||||||
|
Defined but not used: ‘fLasCircle’
|
||||||
|
|
|
||||||
|
651 | fLasCircle it = [it & itParams . lasCycle +~ x | x <- [0, 50 .. 1999]]
|
||||||
|
| ^^^^^^^^^^
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:656:5-18: warning: [-Wunused-local-binds]
|
||||||
|
Defined but not used: ‘directedTelPos’
|
||||||
|
|
|
||||||
|
656 | directedTelPos _ cr w = (p, a)
|
||||||
|
| ^^^^^^^^^^^^^^
|
||||||
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:703:16-18: warning: [-Wunused-matches]
|
||||||
|
Defined but not used: ‘itm’
|
||||||
|
|
|
||||||
|
703 | usePjCreationX itm cr = undefined
|
||||||
| ^^^
|
| ^^^
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:345:16-19: warning: [-Wunused-matches]
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:703:20-21: warning: [-Wunused-matches]
|
||||||
Defined but not used: ‘item’
|
|
||||||
|
|
|
||||||
345 | useAllAmmo eff item cr w = error "use all ammo"
|
|
||||||
| ^^^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:345:21-22: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘cr’
|
Defined but not used: ‘cr’
|
||||||
|
|
|
|
||||||
345 | useAllAmmo eff item cr w = error "use all ammo"
|
703 | usePjCreationX itm cr = undefined
|
||||||
| ^^
|
| ^^
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:345:24: warning: [-Wunused-matches]
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:778:17-18: warning: [-Wunused-matches]
|
||||||
Defined but not used: ‘w’
|
|
||||||
|
|
|
||||||
345 | useAllAmmo eff item cr w = error "use all ammo"
|
|
||||||
| ^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:671:17-19: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘eff’
|
|
||||||
|
|
|
||||||
671 | duplicateLoaded eff it cr w = error "duplicateLoaded"
|
|
||||||
| ^^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:671:21-22: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘it’
|
Defined but not used: ‘it’
|
||||||
|
|
|
|
||||||
671 | duplicateLoaded eff it cr w = error "duplicateLoaded"
|
778 | fireRemoteShell it cr w = undefined
|
||||||
| ^^
|
| ^^
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:671:24-25: warning: [-Wunused-matches]
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:778:20-21: warning: [-Wunused-matches]
|
||||||
Defined but not used: ‘cr’
|
Defined but not used: ‘cr’
|
||||||
|
|
|
|
||||||
671 | duplicateLoaded eff it cr w = error "duplicateLoaded"
|
778 | fireRemoteShell it cr w = undefined
|
||||||
| ^^
|
| ^^
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:671:27: warning: [-Wunused-matches]
|
/home/justin/Haskell/loop/src/Dodge/HeldUse.hs:778:23: warning: [-Wunused-matches]
|
||||||
Defined but not used: ‘w’
|
Defined but not used: ‘w’
|
||||||
|
|
|
|
||||||
671 | duplicateLoaded eff it cr w = error "duplicateLoaded"
|
778 | fireRemoteShell it cr w = undefined
|
||||||
| ^
|
| ^
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:681:21: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘n’
|
|
||||||
|
|
|
||||||
681 | duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
|
||||||
| ^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:681:23-25: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘eff’
|
|
||||||
|
|
|
||||||
681 | duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
|
||||||
| ^^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:681:27-29: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘itm’
|
|
||||||
|
|
|
||||||
681 | duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
|
||||||
| ^^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:681:31-32: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘cr’
|
|
||||||
|
|
|
||||||
681 | duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
|
||||||
| ^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:681:34: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘w’
|
|
||||||
|
|
|
||||||
681 | duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
|
||||||
| ^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:697:24-26: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘eff’
|
|
||||||
|
|
|
||||||
697 | duplicateLoadedBarrels eff itm cr = error "duplicateLoadedBarrels"
|
|
||||||
| ^^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:697:28-30: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘itm’
|
|
||||||
|
|
|
||||||
697 | duplicateLoadedBarrels eff itm cr = error "duplicateLoadedBarrels"
|
|
||||||
| ^^^
|
|
||||||
/home/justin/Haskell/loop/src/Dodge/Item/Weapon/TriggerType.hs:697:32-33: warning: [-Wunused-matches]
|
|
||||||
Defined but not used: ‘cr’
|
|
||||||
|
|
|
||||||
697 | duplicateLoadedBarrels eff itm cr = error "duplicateLoadedBarrels"
|
|
||||||
| ^^
|
|
||||||
|
|||||||
+46
-60
@@ -80,34 +80,32 @@ digraph {
|
|||||||
101 [shape=box
|
101 [shape=box
|
||||||
,label="HELD {_ibtHeld = LASWIDE {_xNum = 2}}"];
|
,label="HELD {_ibtHeld = LASWIDE {_xNum = 2}}"];
|
||||||
103 [shape=box
|
103 [shape=box
|
||||||
,label="HELD {_ibtHeld = LASCIRCLE}"];
|
|
||||||
105 [shape=box
|
|
||||||
,label="HELD {_ibtHeld = SPARKGUN}"];
|
,label="HELD {_ibtHeld = SPARKGUN}"];
|
||||||
107 [shape=box
|
105 [shape=box
|
||||||
,label="HELD {_ibtHeld = TESLAGUN}"];
|
,label="HELD {_ibtHeld = TESLAGUN}"];
|
||||||
109 [shape=box
|
107 [shape=box
|
||||||
,label="LEFT {_ibtLeft = BLINKER}"];
|
,label="LEFT {_ibtLeft = BLINKER}"];
|
||||||
112 [shape=box
|
110 [shape=box
|
||||||
,label="LEFT {_ibtLeft = BLINKERUNSAFE}"];
|
,label="LEFT {_ibtLeft = BLINKERUNSAFE}"];
|
||||||
114 [shape=box
|
112 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = MAGSHIELD}"];
|
,label="EQUIP {_ibtEquip = MAGSHIELD}"];
|
||||||
117 [shape=box
|
115 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = POWERLEGS}"];
|
,label="EQUIP {_ibtEquip = POWERLEGS}"];
|
||||||
123 [shape=box
|
121 [shape=box
|
||||||
,label="HELD {_ibtHeld = FLATSHIELD}"];
|
,label="HELD {_ibtHeld = FLATSHIELD}"];
|
||||||
133 [shape=box
|
131 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = AUTODETECTOR ITEMDETECTOR}"];
|
,label="EQUIP {_ibtEquip = AUTODETECTOR ITEMDETECTOR}"];
|
||||||
136 [shape=box
|
134 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"];
|
,label="EQUIP {_ibtEquip = AUTODETECTOR WALLDETECTOR}"];
|
||||||
138 [shape=box
|
136 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"];
|
,label="EQUIP {_ibtEquip = AUTODETECTOR CREATUREDETECTOR}"];
|
||||||
140 [shape=box
|
138 [shape=box
|
||||||
,label="HELD {_ibtHeld = TORCH}"];
|
,label="HELD {_ibtHeld = TORCH}"];
|
||||||
141 [shape=box
|
139 [shape=box
|
||||||
,label="AMMOMAG {_ibtAmmoMag = BATTERY}"];
|
,label="AMMOMAG {_ibtAmmoMag = BATTERY}"];
|
||||||
144 [shape=box
|
142 [shape=box
|
||||||
,label="EQUIP {_ibtEquip = HEADLAMP}"];
|
,label="EQUIP {_ibtEquip = HEADLAMP}"];
|
||||||
152 [shape=box
|
150 [shape=box
|
||||||
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
|
,label="HELD {_ibtHeld = BANGSTICK {_xNum = 2}}"];
|
||||||
}
|
}
|
||||||
subgraph 2 {
|
subgraph 2 {
|
||||||
@@ -153,21 +151,21 @@ digraph {
|
|||||||
102 [shape=point];
|
102 [shape=point];
|
||||||
104 [shape=point];
|
104 [shape=point];
|
||||||
106 [shape=point];
|
106 [shape=point];
|
||||||
108 [shape=point];
|
109 [shape=point];
|
||||||
111 [shape=point];
|
111 [shape=point];
|
||||||
113 [shape=point];
|
114 [shape=point];
|
||||||
116 [shape=point];
|
117 [shape=point];
|
||||||
|
118 [shape=point];
|
||||||
119 [shape=point];
|
119 [shape=point];
|
||||||
120 [shape=point];
|
120 [shape=point];
|
||||||
121 [shape=point];
|
|
||||||
122 [shape=point];
|
122 [shape=point];
|
||||||
124 [shape=point];
|
124 [shape=point];
|
||||||
126 [shape=point];
|
127 [shape=point];
|
||||||
129 [shape=point];
|
130 [shape=point];
|
||||||
132 [shape=point];
|
133 [shape=point];
|
||||||
135 [shape=point];
|
135 [shape=point];
|
||||||
137 [shape=point];
|
137 [shape=point];
|
||||||
139 [shape=point];
|
141 [shape=point];
|
||||||
143 [shape=point];
|
143 [shape=point];
|
||||||
145 [shape=point];
|
145 [shape=point];
|
||||||
147 [shape=point];
|
147 [shape=point];
|
||||||
@@ -176,7 +174,6 @@ digraph {
|
|||||||
153 [shape=point];
|
153 [shape=point];
|
||||||
155 [shape=point];
|
155 [shape=point];
|
||||||
157 [shape=point];
|
157 [shape=point];
|
||||||
159 [shape=point];
|
|
||||||
}
|
}
|
||||||
0 -> 1 [xlabel="",tailport=e];
|
0 -> 1 [xlabel="",tailport=e];
|
||||||
2 -> 0 [xlabel=1
|
2 -> 0 [xlabel=1
|
||||||
@@ -204,7 +201,7 @@ digraph {
|
|||||||
16 -> 27 [xlabel=1
|
16 -> 27 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
16 -> 143 [xlabel=1
|
16 -> 141 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
18 -> 19 [xlabel="",tailport=e];
|
18 -> 19 [xlabel="",tailport=e];
|
||||||
@@ -228,15 +225,15 @@ digraph {
|
|||||||
35 -> 56 [xlabel=1
|
35 -> 56 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
35 -> 151 [xlabel=1
|
35 -> 149 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
|
35 -> 153 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
35 -> 155 [xlabel=1
|
35 -> 155 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
35 -> 157 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
38 -> 39 [xlabel="",tailport=e];
|
38 -> 39 [xlabel="",tailport=e];
|
||||||
39 -> 40 [xlabel=1
|
39 -> 40 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
@@ -259,7 +256,7 @@ digraph {
|
|||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
52 -> 53 [xlabel="",tailport=e];
|
52 -> 53 [xlabel="",tailport=e];
|
||||||
53 -> 159 [xlabel=1
|
53 -> 157 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
54 -> 55 [xlabel="",tailport=e];
|
54 -> 55 [xlabel="",tailport=e];
|
||||||
@@ -273,7 +270,7 @@ digraph {
|
|||||||
57 -> 64 [xlabel=1
|
57 -> 64 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
57 -> 155 [xlabel=1
|
57 -> 153 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
58 -> 59 [xlabel="",tailport=e];
|
58 -> 59 [xlabel="",tailport=e];
|
||||||
@@ -286,7 +283,7 @@ digraph {
|
|||||||
60 -> 61 [xlabel="",tailport=e];
|
60 -> 61 [xlabel="",tailport=e];
|
||||||
62 -> 63 [xlabel="",tailport=e];
|
62 -> 63 [xlabel="",tailport=e];
|
||||||
64 -> 65 [xlabel="",tailport=e];
|
64 -> 65 [xlabel="",tailport=e];
|
||||||
65 -> 157 [xlabel=1
|
65 -> 155 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
67 -> 68 [xlabel="",tailport=e];
|
67 -> 68 [xlabel="",tailport=e];
|
||||||
@@ -337,65 +334,54 @@ digraph {
|
|||||||
95 -> 100 [xlabel=1
|
95 -> 100 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
95 -> 102 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
95 -> 102 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
95 -> 102 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
98 -> 99 [xlabel="",tailport=e];
|
98 -> 99 [xlabel="",tailport=e];
|
||||||
100 -> 101 [xlabel=""
|
100 -> 101 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
101 -> 149 [xlabel=1
|
101 -> 147 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
102 -> 103 [xlabel=""
|
102 -> 103 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
|
103 -> 104 [xlabel=1
|
||||||
|
,arrowhead=onone
|
||||||
|
,headport=w];
|
||||||
104 -> 105 [xlabel=""
|
104 -> 105 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
105 -> 106 [xlabel=1
|
|
||||||
,arrowhead=onone
|
|
||||||
,headport=w];
|
|
||||||
106 -> 107 [xlabel=""
|
106 -> 107 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
108 -> 109 [xlabel=""
|
107 -> 109 [xlabel=1
|
||||||
,tailport=e];
|
|
||||||
109 -> 111 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
|
109 -> 110 [xlabel=""
|
||||||
|
,tailport=e];
|
||||||
111 -> 112 [xlabel=""
|
111 -> 112 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
113 -> 114 [xlabel=""
|
114 -> 115 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
116 -> 117 [xlabel=""
|
120 -> 121 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
122 -> 123 [xlabel=""
|
130 -> 131 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
132 -> 133 [xlabel=""
|
133 -> 134 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
135 -> 136 [xlabel=""
|
135 -> 136 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
137 -> 138 [xlabel=""
|
137 -> 138 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
139 -> 140 [xlabel=""
|
138 -> 141 [xlabel=1
|
||||||
,tailport=e];
|
|
||||||
140 -> 143 [xlabel=1
|
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
141 -> 139 [xlabel=1
|
139 -> 137 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
141 -> 147 [xlabel=1
|
139 -> 145 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
143 -> 144 [xlabel=""
|
141 -> 142 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
151 -> 152 [xlabel=""
|
149 -> 150 [xlabel=""
|
||||||
,tailport=e];
|
,tailport=e];
|
||||||
152 -> 153 [xlabel=1
|
150 -> 151 [xlabel=1
|
||||||
,arrowhead=onone
|
,arrowhead=onone
|
||||||
,headport=w];
|
,headport=w];
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -89,7 +89,7 @@ itemCombinations =
|
|||||||
, p [o $ cr PRISM, o $ cr TRANSFORMER, o $ cr PIPE] lasGun
|
, p [o $ cr PRISM, o $ cr TRANSFORMER, o $ cr PIPE] lasGun
|
||||||
, po [HELD LASGUN, HELD LASGUN, cr HARDWARE] dualBeam
|
, po [HELD LASGUN, HELD LASGUN, cr HARDWARE] dualBeam
|
||||||
, po [HELD LASGUN, cr TRANSFORMER] (lasWide 2)
|
, po [HELD LASGUN, cr TRANSFORMER] (lasWide 2)
|
||||||
, po [HELD LASGUN, HELD LASGUN, HELD LASGUN, cr HARDWARE] lasCircle
|
-- , po [HELD LASGUN, HELD LASGUN, HELD LASGUN, cr HARDWARE] lasCircle
|
||||||
, p [o $ cr TRANSFORMER, p 2 $ cr CAN] sparkGun
|
, p [o $ cr TRANSFORMER, p 2 $ cr CAN] sparkGun
|
||||||
, p [o (HELD SPARKGUN), p 2 $ cr PIPE] teslaGun
|
, p [o (HELD SPARKGUN), p 2 $ cr PIPE] teslaGun
|
||||||
, p [o $ cr TELEPORTMODULE, p 2 $ cr MICROCHIP] blinkGun
|
, p [o $ cr TELEPORTMODULE, p 2 $ cr MICROCHIP] blinkGun
|
||||||
@@ -201,13 +201,13 @@ moduleCombinations =
|
|||||||
, amod [cr (ENERGYBALLCRAFT TeslaBall)] STATICLAS
|
, amod [cr (ENERGYBALLCRAFT TeslaBall)] STATICLAS
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
,
|
-- ,
|
||||||
( ModTeleport
|
-- ( ModTeleport
|
||||||
, teleportableWeapons
|
-- , teleportableWeapons
|
||||||
,
|
-- ,
|
||||||
[ amod [cr TELEPORTMODULE, cr MICROCHIP] WEPTELE
|
-- [ amod [cr TELEPORTMODULE, cr MICROCHIP] WEPTELE
|
||||||
]
|
-- ]
|
||||||
)
|
-- )
|
||||||
,
|
,
|
||||||
( ModLauncherHoming
|
( ModLauncherHoming
|
||||||
, homingLaunchers
|
, homingLaunchers
|
||||||
@@ -224,17 +224,17 @@ moduleCombinations =
|
|||||||
homingLaunchers :: [Item]
|
homingLaunchers :: [Item]
|
||||||
homingLaunchers = launcher : [launcherX i | i <- [2 .. 10]]
|
homingLaunchers = launcher : [launcherX i | i <- [2 .. 10]]
|
||||||
|
|
||||||
batteryGuns :: [Item]
|
--batteryGuns :: [Item]
|
||||||
batteryGuns =
|
--batteryGuns =
|
||||||
[ teslaGun
|
-- [ teslaGun
|
||||||
, sparkGun
|
-- , sparkGun
|
||||||
, lasGun
|
-- , lasGun
|
||||||
]
|
-- ]
|
||||||
++ [ lasWide i | i <- [2 .. 10]
|
-- ++ [ lasWide i | i <- [2 .. 10]
|
||||||
]
|
-- ]
|
||||||
|
|
||||||
teleportableWeapons :: [Item]
|
--teleportableWeapons :: [Item]
|
||||||
teleportableWeapons = bulletWeapons ++ batteryGuns ++ homingLaunchers
|
--teleportableWeapons = bulletWeapons ++ batteryGuns ++ homingLaunchers
|
||||||
|
|
||||||
bulletMagazines :: [Item]
|
bulletMagazines :: [Item]
|
||||||
bulletMagazines =
|
bulletMagazines =
|
||||||
|
|||||||
@@ -30,18 +30,17 @@ moduleModification imt = case imt of
|
|||||||
STATICLAS ->
|
STATICLAS ->
|
||||||
(itParams . lasBeam .~ BeamCombine TeslaBeamCombine)
|
(itParams . lasBeam .~ BeamCombine TeslaBeamCombine)
|
||||||
. (itParams . subParams ?~ teslaParams)
|
. (itParams . subParams ?~ teslaParams)
|
||||||
WEPTELE -> makeDirectedTele
|
-- WEPTELE -> makeDirectedTele
|
||||||
--LAUNCHHOME -> itUse . heldConsumption . laAmmoType . amPjCreation .~ CreateTrackingShell
|
--LAUNCHHOME -> itUse . heldConsumption . laAmmoType . amPjCreation .~ CreateTrackingShell
|
||||||
LAUNCHHOME -> id
|
LAUNCHHOME -> id
|
||||||
ATTACHTORCH -> id
|
ATTACHTORCH -> id
|
||||||
where
|
where
|
||||||
makeDirectedTele it =
|
-- makeDirectedTele it =
|
||||||
it
|
-- it
|
||||||
-- & itUse . useTargeting ?~ TargetRBPress
|
-- & itUse . heldMods %~ ModWithDirectedTeleport -- .:~ withPosDirWallCheck directedTelPos
|
||||||
& itUse . heldMods %~ ModWithDirectedTeleport -- .:~ withPosDirWallCheck directedTelPos
|
-- -- for the camera: the simplest option is to remove all zoom/offset
|
||||||
-- for the camera: the simplest option is to remove all zoom/offset
|
-- & itUse . heldAim . aimZoom . izFac .~ 1
|
||||||
& itUse . heldAim . aimZoom . izFac .~ 1
|
-- & itUse . heldAim . aimRange .~ 0
|
||||||
& itUse . heldAim . aimRange .~ 0
|
|
||||||
|
|
||||||
-- a better option would be to involve a "scope" centered on the firing
|
-- a better option would be to involve a "scope" centered on the firing
|
||||||
-- position
|
-- position
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import Dodge.Data.ComposedItem
|
|||||||
import Dodge.Data.DoubleTree
|
import Dodge.Data.DoubleTree
|
||||||
import Control.Lens
|
import Control.Lens
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Data.Foldable
|
--import Data.Foldable
|
||||||
import Data.Maybe
|
import Data.Maybe
|
||||||
import Dodge.Cuse
|
import Dodge.Cuse
|
||||||
import Dodge.Data.World
|
import Dodge.Data.World
|
||||||
@@ -36,8 +36,11 @@ useItemRightClick cr' w = fromMaybe (f w) $ do
|
|||||||
|
|
||||||
itemEffect :: Creature -> LabelDoubleTree ComposeLinkType Item -> World -> World
|
itemEffect :: Creature -> LabelDoubleTree ComposeLinkType Item -> World -> World
|
||||||
itemEffect cr it w = case it ^. ldtValue . itUse of
|
itemEffect cr it w = case it ^. ldtValue . itUse of
|
||||||
HeldUse{_heldUse = eff, _heldMods = usemods} ->
|
-- HeldUse{_heldUse = eff, _heldMods = usemods} ->
|
||||||
foldl' (&) (useHeld eff) (useMod usemods) it cr w
|
-- foldl' (&) (useHeld eff) (useMod usemods) it cr w
|
||||||
|
-- & pointerToItem itm . itUse . heldHammer .~ HammerDown
|
||||||
|
HeldUse{ _heldMods = usemods} ->
|
||||||
|
heldEffect usemods it cr w
|
||||||
& pointerToItem itm . itUse . heldHammer .~ HammerDown
|
& pointerToItem itm . itUse . heldHammer .~ HammerDown
|
||||||
LeftUse{} -> doequipmentchange
|
LeftUse{} -> doequipmentchange
|
||||||
EquipUse{} -> doequipmentchange
|
EquipUse{} -> doequipmentchange
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ data HeldItemType
|
|||||||
| SPARKGUN
|
| SPARKGUN
|
||||||
| TESLAGUN
|
| TESLAGUN
|
||||||
| LASGUN
|
| LASGUN
|
||||||
| LASCIRCLE
|
-- | LASCIRCLE
|
||||||
| DUALBEAM
|
| DUALBEAM
|
||||||
| LASWIDE {_xNum :: Int}
|
| LASWIDE {_xNum :: Int}
|
||||||
| TRACTORGUN
|
| TRACTORGUN
|
||||||
@@ -214,7 +214,7 @@ data ItemModuleType
|
|||||||
| INCENDLAS
|
| INCENDLAS
|
||||||
| SPLITLAS
|
| SPLITLAS
|
||||||
| STATICLAS
|
| STATICLAS
|
||||||
| WEPTELE
|
-- | WEPTELE
|
||||||
| LAUNCHHOME
|
| LAUNCHHOME
|
||||||
| ATTACHTORCH
|
| ATTACHTORCH
|
||||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|||||||
@@ -66,22 +66,21 @@ data Luse
|
|||||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
data HeldMod
|
data HeldMod
|
||||||
= HeldModNothing
|
= PoisonSprayerMod
|
||||||
| PoisonSprayerMod
|
|
||||||
| FlameSpitterMod
|
| FlameSpitterMod
|
||||||
| FlameSpitterRepeatMod
|
| FlameSpitterRepeatMod
|
||||||
| FlameThrowerMod
|
| FlameThrowerMod
|
||||||
| LauncherMod
|
| LauncherMod
|
||||||
| TeslaMod
|
| TeslaMod
|
||||||
| CircleLaserMod
|
-- | CircleLaserMod
|
||||||
| LasWideMod Int
|
| LasWideMod Int
|
||||||
| DualBeamMod
|
| DualBeamMod
|
||||||
| LasMod
|
| LasMod
|
||||||
| LauncherXMod Int
|
| LauncherXMod Int
|
||||||
| ShatterMod
|
| ShatterMod
|
||||||
| AmmoCheckMod
|
-- | AmmoCheckMod
|
||||||
| AmmoUseCheckMod
|
-- | AmmoUseCheckMod
|
||||||
| AmmoHammerTimeUseOneMod
|
-- | AmmoHammerTimeUseOneMod
|
||||||
| BangCaneMod
|
| BangCaneMod
|
||||||
| VolleyGunMod
|
| VolleyGunMod
|
||||||
| MultiGunMod
|
| MultiGunMod
|
||||||
@@ -90,7 +89,7 @@ data HeldMod
|
|||||||
| ElephantGunMod
|
| ElephantGunMod
|
||||||
| AutoAmrMod
|
| AutoAmrMod
|
||||||
| MachineGunMod
|
| MachineGunMod
|
||||||
| ModWithDirectedTeleport HeldMod
|
-- | ModWithDirectedTeleport HeldMod
|
||||||
| BangStickMod
|
| BangStickMod
|
||||||
| PistolMod
|
| PistolMod
|
||||||
| AutoPistolMod
|
| AutoPistolMod
|
||||||
@@ -100,6 +99,12 @@ data HeldMod
|
|||||||
| MiniGunMod Int
|
| MiniGunMod Int
|
||||||
| SmgMod
|
| SmgMod
|
||||||
| BangConeMod
|
| BangConeMod
|
||||||
|
| TractorMod --apply with AmmoCheckMod
|
||||||
|
| FireRemoteShellMod
|
||||||
|
| ExplodeRemoteShellMod
|
||||||
|
| DoNothingMod
|
||||||
|
| ForceFieldMod
|
||||||
|
| DetectorMod Detector
|
||||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
makeLenses ''Euse
|
makeLenses ''Euse
|
||||||
|
|||||||
@@ -27,8 +27,8 @@ import Dodge.Data.Item.Targeting
|
|||||||
|
|
||||||
data ItemUse
|
data ItemUse
|
||||||
= HeldUse
|
= HeldUse
|
||||||
{ _heldUse :: Huse
|
{ -- _heldUse :: Huse
|
||||||
, _heldDelay :: UseDelay
|
_heldDelay :: UseDelay
|
||||||
, _heldMods :: HeldMod
|
, _heldMods :: HeldMod
|
||||||
, _heldHammer :: HammerPosition
|
, _heldHammer :: HammerPosition
|
||||||
, _heldAim :: AimParams
|
, _heldAim :: AimParams
|
||||||
@@ -118,6 +118,7 @@ data Muzzle = Muzzle
|
|||||||
{ _mzPos :: V2 Float
|
{ _mzPos :: V2 Float
|
||||||
, _mzRot :: Float
|
, _mzRot :: Float
|
||||||
, _mzInaccuracy :: Float
|
, _mzInaccuracy :: Float
|
||||||
|
, _mzAmmoSlot :: Int
|
||||||
}
|
}
|
||||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||||
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ defaultBulletWeapon :: Item
|
|||||||
defaultBulletWeapon =
|
defaultBulletWeapon =
|
||||||
defaultWeapon
|
defaultWeapon
|
||||||
& itUse . heldAmmoTypes .~ [BulletAmmo]
|
& itUse . heldAmmoTypes .~ [BulletAmmo]
|
||||||
& itUse . heldUse .~ HeldUseAmmoParams -- useAmmoParams
|
-- & itUse . heldUse .~ HeldUseAmmoParams -- useAmmoParams
|
||||||
& itType . iyModules . at ModBulletCollision ?~ EMPTYMODULE
|
& itType . iyModules . at ModBulletCollision ?~ EMPTYMODULE
|
||||||
-- & itType . iyModules . at ModBulletPayload ?~ EMPTYMODULE
|
-- & itType . iyModules . at ModBulletPayload ?~ EMPTYMODULE
|
||||||
-- & itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE
|
-- & itType . iyModules . at ModBulletTrajectory ?~ EMPTYMODULE
|
||||||
|
|||||||
@@ -29,9 +29,8 @@ defaultEquipUse = EquipUse
|
|||||||
defaultHeldUse :: ItemUse
|
defaultHeldUse :: ItemUse
|
||||||
defaultHeldUse =
|
defaultHeldUse =
|
||||||
HeldUse
|
HeldUse
|
||||||
{ _heldUse = HeldDoNothing
|
{ _heldDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
||||||
, _heldDelay = FixedRate{_rateMax = 8, _rateTime = 0}
|
, _heldMods = DoNothingMod
|
||||||
, _heldMods = HeldModNothing
|
|
||||||
, _heldHammer = HammerUp
|
, _heldHammer = HammerUp
|
||||||
, _heldAim = defaultAimParams
|
, _heldAim = defaultAimParams
|
||||||
, _heldAmmoTypes = []
|
, _heldAmmoTypes = []
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ defaultAimParams =
|
|||||||
, _aimStance = OneHand
|
, _aimStance = OneHand
|
||||||
, --, _aimHandlePos = 10
|
, --, _aimHandlePos = 10
|
||||||
_aimHandlePos = V2 3 0
|
_aimHandlePos = V2 3 0
|
||||||
, _aimMuzzles = [Muzzle (V2 20 0) 0 0]
|
, _aimMuzzles = [Muzzle (V2 20 0) 0 0 0]
|
||||||
-- , _aimMuzPos = 20
|
-- , _aimMuzPos = 20
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+329
-20
@@ -26,12 +26,321 @@ import qualified IntMapHelp as IM
|
|||||||
import LensHelp
|
import LensHelp
|
||||||
import RandomHelp
|
import RandomHelp
|
||||||
import Sound.Data
|
import Sound.Data
|
||||||
|
import Data.Foldable
|
||||||
|
|
||||||
|
heldEffect :: HeldMod -> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World
|
||||||
|
heldEffect effecttype = case effecttype of
|
||||||
|
-- HeldModNothing -> const $ const id
|
||||||
|
PoisonSprayerMod -> gasEffect
|
||||||
|
[ useAmmoAmount 1
|
||||||
|
, withSoundForI foamSprayLoopS 5
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
FlameSpitterMod -> gasEffect
|
||||||
|
[ withSidePushAfterI 20
|
||||||
|
, withSidePushI 5
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withRandomItemParams f
|
||||||
|
, repeatOnFrames [1 .. 9] FlameSpitterRepeatMod
|
||||||
|
, lockInvFor 10
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
FlameSpitterRepeatMod -> gasEffect
|
||||||
|
[ withSidePushAfterI 20
|
||||||
|
, withSidePushI 5
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withRandomItemParams f
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
FlameThrowerMod -> gasEffect
|
||||||
|
[ withSidePushAfterI 20
|
||||||
|
, --, withTempLight 1 100 (V3 1 0 0)
|
||||||
|
withSidePushI 5
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
LauncherMod -> foldl' (&) usePjCreation
|
||||||
|
--[ useAmmoAmount 1
|
||||||
|
-- , withSoundStart tap4S
|
||||||
|
[ useTimeCheck
|
||||||
|
-- , ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
TeslaMod -> foldl' (&) (shootTeslaArc . _ldtValue)
|
||||||
|
[ useAmmoAmount 1
|
||||||
|
, withSoundForI elecCrackleS 1
|
||||||
|
, withTempLight 1 100 (V3 0 0 1)
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
LasWideMod n -> foldl' (&) (shootLaser . _ldtValue)
|
||||||
|
[ useAmmoAmount 1
|
||||||
|
, withItem $ \it ->
|
||||||
|
duplicateNumBarrels
|
||||||
|
-- ( min
|
||||||
|
-- (it ^?! itUse . heldConsumption . laSource . _InternalSource . iaLoaded)
|
||||||
|
(it ^?! itParams . lasCycle `div` lasWideRate)
|
||||||
|
-- )
|
||||||
|
, withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
||||||
|
, withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
|
||||||
|
, withSoundForI tone440sawtoothquietS 2
|
||||||
|
, withItemUpdateFirst (increasecycleLasWide n)
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
DualBeamMod -> foldl' (&) (shootDualLaser . _ldtValue)
|
||||||
|
[ useAmmoAmount 1
|
||||||
|
, withSoundForI tone440sawtoothquietS 2
|
||||||
|
, withItem $ \it -> withCrPosShift (V2 0 (- thegapDualBeam it)) $ flareCircleAt (_lasColor2 $ _itParams it) 0.8
|
||||||
|
, withItem $ \it -> withCrPosShift (V2 0 (thegapDualBeam it)) $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
LasMod -> foldl' (&) (shootLaser . _ldtValue)
|
||||||
|
[ useAmmoAmount 1
|
||||||
|
, withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
||||||
|
, withSoundForI tone440sawtoothquietS 2
|
||||||
|
, withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
LauncherXMod _ -> foldl' (&) usePjCreationX
|
||||||
|
--[ useAmmoAmount i
|
||||||
|
--, withSoundStart tap4S
|
||||||
|
[ useTimeCheck
|
||||||
|
--, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
ShatterMod -> foldl' (&) (shootShatter . _ldtValue)
|
||||||
|
[ useAmmoAmount 1
|
||||||
|
, -- , withSoundStart tap3S
|
||||||
|
useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
BangCaneMod -> bulletGunEffect
|
||||||
|
[ withFlare
|
||||||
|
, withSmoke 1 black 20 200 5
|
||||||
|
, withRecoil
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
VolleyGunMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAllAmmo
|
||||||
|
, withSoundItemChoiceStart caneStickSoundChoice
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
MultiGunMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAllAmmo
|
||||||
|
, withSoundItemChoiceStart caneStickSoundChoice
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
AutoRifleMod -> bulletGunEffect
|
||||||
|
-- note this is the same as BangCanemMod with the first changed
|
||||||
|
[ withFlare
|
||||||
|
, withSmoke 1 black 20 200 5
|
||||||
|
, withRecoil
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
BangRodMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, withThickSmokeI
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart bangEchoS
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
ElephantGunMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, withThickSmokeI
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart bangEchoS
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
AutoAmrMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, withThickSmokeI
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart bangEchoS
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI -- cf ElephantGun
|
||||||
|
]
|
||||||
|
MachineGunMod -> bulletGunEffect
|
||||||
|
[ withFlare
|
||||||
|
, withThinSmokeI
|
||||||
|
, withSoundStart bangEchoS
|
||||||
|
, rateIncAB (torqueBeforeAtLeast 0.1 0.1) withTorqueAfter
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
BangStickMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, useAllAmmo
|
||||||
|
, withSoundItemChoiceStart bangStickSoundChoice
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withTorqueAfter
|
||||||
|
, withFlare
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
PistolMod -> bulletGunEffect
|
||||||
|
[ withSidePushI 50
|
||||||
|
, withRecoil
|
||||||
|
, withFlare
|
||||||
|
, withTorqueAfter
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
AutoPistolMod -> bulletGunEffect
|
||||||
|
[ withFlare
|
||||||
|
, withSidePushI 50
|
||||||
|
, withRecoil
|
||||||
|
, withTorqueAfter
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
MachinePistolMod -> bulletGunEffect
|
||||||
|
[ withFlare
|
||||||
|
, withRecoil
|
||||||
|
, withSidePushI 50
|
||||||
|
, withTorqueAfter
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withSoundStart tap1S
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
BurstRifleMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, repeatOnFrames [3, 6] BurstRifleRepeatMod
|
||||||
|
, lockInvFor 7
|
||||||
|
, sideEffectOnFrame 7 (\_ cr -> TorqueCr 0.2 (_crID cr)) --(torqueSideEffect 0.2)
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
BurstRifleRepeatMod -> bulletGunEffect
|
||||||
|
[ withRecoil
|
||||||
|
, withFlare
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, sideEffectOnFrame 7 (\_ cr -> TorqueCr 0.2 (_crID cr)) --(torqueSideEffect 0.2)
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
MiniGunMod i -> bulletGunEffect
|
||||||
|
[ duplicateNumBarrels 1
|
||||||
|
, repeatTransformed
|
||||||
|
[ (id, modcrpos x)
|
||||||
|
| x <- map ((/ (fromIntegral i - 1)) . fromIntegral) [0 .. i -1]
|
||||||
|
]
|
||||||
|
, afterRecoil (fromIntegral i * 5)
|
||||||
|
, torqueBefore (fromIntegral i * 0.05)
|
||||||
|
, withSidePushI (fromIntegral i * 25)
|
||||||
|
, withMuzFlare
|
||||||
|
, withSmoke 1 black 20 200 5
|
||||||
|
, useAmmoAmount i
|
||||||
|
, withSoundForI mini1S 2
|
||||||
|
, withWarmUp crankSlowS
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
SmgMod -> bulletGunEffect
|
||||||
|
[ withFlare
|
||||||
|
, withSidePushI 30
|
||||||
|
, withRecoil
|
||||||
|
, withTorqueAfter
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, withSoundStart tap3S
|
||||||
|
, useAmmoAmount 1
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
]
|
||||||
|
BangConeMod -> bulletGunEffect
|
||||||
|
[ withRandomItem coneRandItemParams
|
||||||
|
, withRandomItemUpdate coneRandItemUpdate
|
||||||
|
, withRandomOffset
|
||||||
|
, duplicateLoadedBarrels
|
||||||
|
, duplicateLoaded
|
||||||
|
, withMuzFlare
|
||||||
|
, withRecoil
|
||||||
|
, withTorqueAfter
|
||||||
|
, useAllAmmo
|
||||||
|
, withSoundStart bangEchoS
|
||||||
|
, useTimeCheck
|
||||||
|
, ammoCheckI
|
||||||
|
, blCheck
|
||||||
|
]
|
||||||
|
TractorMod -> foldl' (&) (aTractorBeam . _ldtValue) [ammoCheckI]
|
||||||
|
where
|
||||||
|
f = do
|
||||||
|
nzpres <- state $ randomR (3, 4)
|
||||||
|
return $ sprayNozzles . ix 0 . nzPressure .~ nzpres
|
||||||
|
increasecycleLasWide n it = case _heldHammer (_itUse it) of
|
||||||
|
HammerUp -> it & itParams . lasCycle .~ 1
|
||||||
|
_ -> it & itParams . lasCycle %~ (min (n * lasWideRate) . (+ 1))
|
||||||
|
thegapDualBeam = _dbGap . _itParams
|
||||||
|
directedTelPos _ cr w = (p, a)
|
||||||
|
where
|
||||||
|
p = fromMaybe (_crPos cr) $ cr ^? crTargeting . ctPos . _Just
|
||||||
|
a = argV (mouseWorldPos (w ^. input) (w ^. wCam) -.- p)
|
||||||
|
modcrpos x cr = fromMaybe cr $ do
|
||||||
|
invid <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||||
|
return $ cr & crDir %~ tweenAngles x (_crOldDir cr)
|
||||||
|
& crPos %~ alongSegBy x (_crOldPos cr)
|
||||||
|
& crInv . ix (invid + 1) . itUse . amagParams . ampBullet . buDelayFraction .~ x
|
||||||
|
|
||||||
|
gasEffect = foldl' (&) (overNozzles useGasParams)
|
||||||
|
|
||||||
|
bulletGunEffect = foldl' (&) shootBullet
|
||||||
|
|
||||||
useMod :: HeldMod ->
|
useMod :: HeldMod ->
|
||||||
[(LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World)
|
[(LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World)
|
||||||
-> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World]
|
-> LabelDoubleTree ComposeLinkType Item -> Creature -> World -> World]
|
||||||
useMod hm = case hm of
|
useMod hm = case hm of
|
||||||
HeldModNothing -> []
|
-- HeldModNothing -> []
|
||||||
PoisonSprayerMod ->
|
PoisonSprayerMod ->
|
||||||
[ useAmmoAmount 1
|
[ useAmmoAmount 1
|
||||||
, withSoundForI foamSprayLoopS 5
|
, withSoundForI foamSprayLoopS 5
|
||||||
@@ -74,15 +383,15 @@ useMod hm = case hm of
|
|||||||
, withTempLight 1 100 (V3 0 0 1)
|
, withTempLight 1 100 (V3 0 0 1)
|
||||||
, ammoCheckI
|
, ammoCheckI
|
||||||
]
|
]
|
||||||
CircleLaserMod ->
|
-- CircleLaserMod ->
|
||||||
[ duplicateItem fLasCircle
|
-- [ duplicateItem fLasCircle
|
||||||
, useAmmoAmount 1
|
-- , useAmmoAmount 1
|
||||||
, withSoundForI tone440sawtoothquietS 2
|
-- , withSoundForI tone440sawtoothquietS 2
|
||||||
, withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
-- , withItem $ \it -> withCrPos $ flareCircleAt (_lasColor $ _itParams it) 0.8
|
||||||
, withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
|
-- , withItem $ \it -> withTempLight 1 100 (xyzV4 (_lasColor $ _itParams it))
|
||||||
, withItemUpdateFirst increasecycleLasCircle
|
-- , withItemUpdateFirst increasecycleLasCircle
|
||||||
, ammoCheckI
|
-- , ammoCheckI
|
||||||
]
|
-- ]
|
||||||
LasWideMod n ->
|
LasWideMod n ->
|
||||||
[ useAmmoAmount 1
|
[ useAmmoAmount 1
|
||||||
, withItem $ \it ->
|
, withItem $ \it ->
|
||||||
@@ -126,14 +435,14 @@ useMod hm = case hm of
|
|||||||
, ammoCheckI
|
, ammoCheckI
|
||||||
, blCheck
|
, blCheck
|
||||||
]
|
]
|
||||||
AmmoCheckMod -> [ammoCheckI]
|
-- AmmoCheckMod -> [ammoCheckI]
|
||||||
AmmoUseCheckMod -> [useAmmoAmount 1, useTimeCheck, ammoCheckI]
|
-- AmmoUseCheckMod -> [useAmmoAmount 1, useTimeCheck, ammoCheckI]
|
||||||
AmmoHammerTimeUseOneMod ->
|
-- AmmoHammerTimeUseOneMod ->
|
||||||
[ useAmmoAmount 1
|
-- [ useAmmoAmount 1
|
||||||
, useTimeCheck
|
-- , useTimeCheck
|
||||||
, ammoCheckI
|
-- , ammoCheckI
|
||||||
, blCheck
|
-- , blCheck
|
||||||
]
|
-- ]
|
||||||
BangCaneMod ->
|
BangCaneMod ->
|
||||||
[ withFlare
|
[ withFlare
|
||||||
, withSmoke 1 black 20 200 5
|
, withSmoke 1 black 20 200 5
|
||||||
@@ -222,8 +531,8 @@ useMod hm = case hm of
|
|||||||
, rateIncAB (torqueBeforeAtLeast 0.1 0.1) withTorqueAfter
|
, rateIncAB (torqueBeforeAtLeast 0.1 0.1) withTorqueAfter
|
||||||
, ammoCheckI
|
, ammoCheckI
|
||||||
]
|
]
|
||||||
ModWithDirectedTeleport hm' ->
|
-- ModWithDirectedTeleport hm' ->
|
||||||
reverse $ withPosDirWallCheck directedTelPos : useMod hm'
|
-- reverse $ withPosDirWallCheck directedTelPos : useMod hm'
|
||||||
BangStickMod ->
|
BangStickMod ->
|
||||||
[ withRecoil
|
[ withRecoil
|
||||||
, useAllAmmo
|
, useAllAmmo
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ heldItemSPic ht it = case ht of
|
|||||||
SPARKGUN -> teslaGunPic
|
SPARKGUN -> teslaGunPic
|
||||||
TESLAGUN -> teslaGunPic
|
TESLAGUN -> teslaGunPic
|
||||||
LASGUN -> lasGunPic it
|
LASGUN -> lasGunPic it
|
||||||
LASCIRCLE -> lasGunPic it
|
-- LASCIRCLE -> lasGunPic it
|
||||||
DUALBEAM -> dualBeamPic it
|
DUALBEAM -> dualBeamPic it
|
||||||
LASWIDE _ -> lasGunPic it
|
LASWIDE _ -> lasGunPic it
|
||||||
--SONICGUN -> noPic baseSonicShape
|
--SONICGUN -> noPic baseSonicShape
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ itemFromHeldType ht = case ht of
|
|||||||
SPARKGUN -> sparkGun
|
SPARKGUN -> sparkGun
|
||||||
TESLAGUN -> teslaGun
|
TESLAGUN -> teslaGun
|
||||||
LASGUN -> lasGun
|
LASGUN -> lasGun
|
||||||
LASCIRCLE -> lasCircle
|
-- LASCIRCLE -> lasCircle
|
||||||
DUALBEAM -> dualBeam
|
DUALBEAM -> dualBeam
|
||||||
LASWIDE i -> lasWide i
|
LASWIDE i -> lasWide i
|
||||||
TRACTORGUN -> tractorGun
|
TRACTORGUN -> tractorGun
|
||||||
|
|||||||
@@ -24,13 +24,13 @@ teslaGun =
|
|||||||
& itDimension . dimRad .~ 9
|
& itDimension . dimRad .~ 9
|
||||||
& itDimension . dimCenter .~ V3 4 0 0
|
& itDimension . dimCenter .~ V3 4 0 0
|
||||||
& itParams .~ teslaParams
|
& itParams .~ teslaParams
|
||||||
& itUse . heldUse .~ HeldTeslaArc --shootTeslaArc
|
-- & itUse . heldUse .~ HeldTeslaArc --shootTeslaArc
|
||||||
& itUse . heldDelay .~ NoDelay
|
& itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldMods .~ TeslaMod
|
& itUse . heldMods .~ TeslaMod
|
||||||
& itUse . heldAim . aimWeight .~ 6
|
& itUse . heldAim . aimWeight .~ 6
|
||||||
& itUse . heldAim . aimStance .~ TwoHandFlat
|
& itUse . heldAim . aimStance .~ TwoHandFlat
|
||||||
-- & itUse . heldAim . aimMuzPos .~ 4
|
-- & itUse . heldAim . aimMuzPos .~ 4
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 4 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 4 0) 0 0 0]
|
||||||
& itType . iyBase .~ HELD TESLAGUN
|
& itType . iyBase .~ HELD TESLAGUN
|
||||||
|
|
||||||
lasGun :: Item
|
lasGun :: Item
|
||||||
@@ -51,7 +51,7 @@ lasGun =
|
|||||||
}
|
}
|
||||||
& itDimension . dimRad .~ 10
|
& itDimension . dimRad .~ 10
|
||||||
& itDimension . dimCenter .~ V3 15 0 0
|
& itDimension . dimCenter .~ V3 15 0 0
|
||||||
& itUse . heldUse .~ HeldLaser --shootLaser
|
-- & itUse . heldUse .~ HeldLaser --shootLaser
|
||||||
& itUse . heldDelay .~ NoDelay
|
& itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldMods .~ LasMod
|
& itUse . heldMods .~ LasMod
|
||||||
& itUse . heldAim . aimWeight .~ 6
|
& itUse . heldAim . aimWeight .~ 6
|
||||||
@@ -59,7 +59,7 @@ lasGun =
|
|||||||
& itUse . heldAim . aimStance .~ TwoHandUnder
|
& itUse . heldAim . aimStance .~ TwoHandUnder
|
||||||
-- & itUse . heldAim . aimHandlePos .~ 5
|
-- & itUse . heldAim . aimHandlePos .~ 5
|
||||||
-- & itUse . heldAim . aimMuzPos .~ 30
|
-- & itUse . heldAim . aimMuzPos .~ 30
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0 0]
|
||||||
& itType . iyBase .~ HELD LASGUN
|
& itType . iyBase .~ HELD LASGUN
|
||||||
|
|
||||||
lasGunTweak :: TweakParam
|
lasGunTweak :: TweakParam
|
||||||
@@ -78,12 +78,13 @@ tractorGun =
|
|||||||
.~ Tweakable
|
.~ Tweakable
|
||||||
{ _tweakParams = IM.fromList [(0, tractorGunTweak)]
|
{ _tweakParams = IM.fromList [(0, tractorGunTweak)]
|
||||||
}
|
}
|
||||||
& itUse . heldUse .~ HeldTractor --aTractorBeam
|
-- & itUse . heldUse .~ HeldTractor --aTractorBeam
|
||||||
& itUse . heldDelay .~ NoDelay
|
& itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldMods .~ AmmoCheckMod
|
-- & itUse . heldMods .~ AmmoCheckMod
|
||||||
|
& itUse . heldMods .~ TractorMod
|
||||||
& itUse . heldAim . aimWeight .~ 6
|
& itUse . heldAim . aimWeight .~ 6
|
||||||
& itUse . heldAim . aimRange .~ 1
|
& itUse . heldAim . aimRange .~ 1
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0 0]
|
||||||
& itType . iyBase .~ HELD TRACTORGUN
|
& itType . iyBase .~ HELD TRACTORGUN
|
||||||
|
|
||||||
tractorGunTweak :: TweakParam
|
tractorGunTweak :: TweakParam
|
||||||
@@ -101,7 +102,7 @@ lasWide n =
|
|||||||
& itParams . lasColor .~ yellow
|
& itParams . lasColor .~ yellow
|
||||||
& itParams . lasDamage .~ 2
|
& itParams . lasDamage .~ 2
|
||||||
& itUse . heldMods .~ LasWideMod n
|
& itUse . heldMods .~ LasWideMod n
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 y) 0 0 | y <- spreadFromCenter n 1]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 y) 0 0 0 | y <- spreadFromCenter n 1]
|
||||||
|
|
||||||
defaultBatteryGun :: Item
|
defaultBatteryGun :: Item
|
||||||
defaultBatteryGun =
|
defaultBatteryGun =
|
||||||
@@ -120,24 +121,23 @@ defaultAutoBatteryGun =
|
|||||||
defaultHeldItem
|
defaultHeldItem
|
||||||
& itType . iyModules .~ batteryModules
|
& itType . iyModules .~ batteryModules
|
||||||
|
|
||||||
lasCircle :: Item
|
--lasCircle :: Item
|
||||||
lasCircle =
|
--lasCircle =
|
||||||
lasGun
|
-- lasGun
|
||||||
& itType . iyBase .~ HELD LASCIRCLE
|
-- & itType . iyBase .~ HELD LASCIRCLE
|
||||||
& itParams . lasColor .~ orange
|
-- & itParams . lasColor .~ orange
|
||||||
& itParams . lasDamage .~ 2
|
-- & itParams . lasDamage .~ 2
|
||||||
& itUse . heldUse .~ HeldLaser --shootLaser
|
-- & itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldDelay .~ NoDelay
|
---- & itUse . heldUse .~ HeldCircleLaser --circleLaser
|
||||||
& itUse . heldUse .~ HeldCircleLaser --circleLaser
|
-- & itUse . heldMods .~ CircleLaserMod
|
||||||
& itUse . heldMods .~ CircleLaserMod
|
-- & itUse . heldAim . aimWeight .~ 6
|
||||||
& itUse . heldAim . aimWeight .~ 6
|
-- & itUse . heldAim . aimRange .~ 1
|
||||||
& itUse . heldAim . aimRange .~ 1
|
|
||||||
|
|
||||||
dualBeam :: Item
|
dualBeam :: Item
|
||||||
dualBeam =
|
dualBeam =
|
||||||
lasGun
|
lasGun
|
||||||
& itType . iyBase .~ HELD DUALBEAM
|
& itType . iyBase .~ HELD DUALBEAM
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0 0]
|
||||||
& itParams
|
& itParams
|
||||||
.~ DualBeam
|
.~ DualBeam
|
||||||
{ _phaseV = 1
|
{ _phaseV = 1
|
||||||
@@ -149,7 +149,7 @@ dualBeam =
|
|||||||
, _subParams = Nothing
|
, _subParams = Nothing
|
||||||
, _dbGap = 20
|
, _dbGap = 20
|
||||||
}
|
}
|
||||||
& itUse . heldUse .~ HeldDualLaser --shootDualLaser
|
-- & itUse . heldUse .~ HeldDualLaser --shootDualLaser
|
||||||
& itUse . heldDelay .~ NoDelay
|
& itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldMods .~ DualBeamMod
|
& itUse . heldMods .~ DualBeamMod
|
||||||
& itUse . heldAim . aimWeight .~ 6
|
& itUse . heldAim . aimWeight .~ 6
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ defaultBangCane =
|
|||||||
& itUse . heldMods .~ BangCaneMod
|
& itUse . heldMods .~ BangCaneMod
|
||||||
& itUse . heldAim . aimStance .~ OneHand
|
& itUse . heldAim . aimStance .~ OneHand
|
||||||
-- & itUse . heldAim . aimHandlePos .~ 5
|
-- & itUse . heldAim . aimHandlePos .~ 5
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.01 0]
|
||||||
|
|
||||||
volleyGun :: Int -> Item
|
volleyGun :: Int -> Item
|
||||||
volleyGun i =
|
volleyGun i =
|
||||||
@@ -42,7 +42,8 @@ volleyGun i =
|
|||||||
& itUse . heldAim . aimRange .~ 1
|
& itUse . heldAim . aimRange .~ 1
|
||||||
& itUse . heldAim . aimStance .~ TwoHandFlat
|
& itUse . heldAim . aimStance .~ TwoHandFlat
|
||||||
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3]
|
& itUse . heldAim . aimMuzzles .~
|
||||||
|
([Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3] <*> [0..])
|
||||||
& itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
|
& itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
|
||||||
& itType . iyBase .~ HELD (VOLLEYGUN i)
|
& itType . iyBase .~ HELD (VOLLEYGUN i)
|
||||||
|
|
||||||
@@ -54,7 +55,8 @@ multiGun i =
|
|||||||
& itUse . heldAim . aimRange .~ 1
|
& itUse . heldAim . aimRange .~ 1
|
||||||
& itUse . heldAim . aimStance .~ TwoHandFlat
|
& itUse . heldAim . aimStance .~ TwoHandFlat
|
||||||
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3]
|
& itUse . heldAim . aimMuzzles .~
|
||||||
|
([Muzzle (V2 15 x) 0 0.01 | x <- spreadAroundCenter i 3] <*> [0..])
|
||||||
& itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
|
& itUse . heldParams . torqueAfter .~ 0.15 + 0.05 * fromIntegral i
|
||||||
& itType . iyBase .~ HELD (MULTIGUN i)
|
& itType . iyBase .~ HELD (MULTIGUN i)
|
||||||
|
|
||||||
@@ -66,7 +68,7 @@ rifle =
|
|||||||
& itUse . heldAim . aimWeight .~ 6
|
& itUse . heldAim . aimWeight .~ 6
|
||||||
& itUse . heldAim . aimRange .~ 1
|
& itUse . heldAim . aimRange .~ 1
|
||||||
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 25 0) 0 0.01]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 25 0) 0 0.01 0]
|
||||||
& itType . iyModules . at ModHeldAttach ?~ EMPTYMODULE
|
& itType . iyModules . at ModHeldAttach ?~ EMPTYMODULE
|
||||||
|
|
||||||
repeater :: Item
|
repeater :: Item
|
||||||
@@ -94,7 +96,7 @@ burstRifle =
|
|||||||
miniGunUse :: Int -> ItemUse
|
miniGunUse :: Int -> ItemUse
|
||||||
miniGunUse i =
|
miniGunUse i =
|
||||||
defaultHeldUse
|
defaultHeldUse
|
||||||
& heldUse .~ HeldUseAmmoParams
|
-- & heldUse .~ HeldUseAmmoParams
|
||||||
& heldMods .~ MiniGunMod i
|
& heldMods .~ MiniGunMod i
|
||||||
& heldDelay .~ WarmUpNoDelay{_warmTime = 0, _warmMax = 100}
|
& heldDelay .~ WarmUpNoDelay{_warmTime = 0, _warmMax = 100}
|
||||||
& heldAim . aimWeight .~ 6
|
& heldAim . aimWeight .~ 6
|
||||||
@@ -108,7 +110,7 @@ miniGunX i =
|
|||||||
autoRifle
|
autoRifle
|
||||||
& itUse .~ miniGunUse i
|
& itUse .~ miniGunUse i
|
||||||
& itUse . heldAim . aimTurnSpeed .~ 0.5
|
& itUse . heldAim . aimTurnSpeed .~ 0.5
|
||||||
& itUse . heldAim . aimMuzzles .~ replicate i (Muzzle (V2 30 0) 0 0.05)
|
& itUse . heldAim . aimMuzzles .~ replicate i (Muzzle (V2 30 0) 0 0.05 0)
|
||||||
& itUse . heldParams . recoil .~ 10
|
& itUse . heldParams . recoil .~ 10
|
||||||
& itUse . heldParams . torqueAfter .~ 0.01
|
& itUse . heldParams . torqueAfter .~ 0.01
|
||||||
& itUse . heldParams . randomOffset .~ 10
|
& itUse . heldParams . randomOffset .~ 10
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ bangCone =
|
|||||||
& itUse . heldDelay . rateMax .~ 20
|
& itUse . heldDelay . rateMax .~ 20
|
||||||
& itUse . heldMods .~ BangConeMod
|
& itUse . heldMods .~ BangConeMod
|
||||||
-- & itUse . heldAim . aimHandlePos .~ 5
|
-- & itUse . heldAim . aimHandlePos .~ 5
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.5]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 15 0) 0 0.5 0]
|
||||||
& itUse . heldParams .~ BulletShooterParams
|
& itUse . heldParams .~ BulletShooterParams
|
||||||
{ _muzVel = 0.7
|
{ _muzVel = 0.7
|
||||||
, _rifling = 0.8
|
, _rifling = 0.8
|
||||||
|
|||||||
@@ -24,14 +24,14 @@ launcher =
|
|||||||
& itDimension . dimRad .~ 9
|
& itDimension . dimRad .~ 9
|
||||||
& itDimension . dimCenter .~ V3 10 0 0
|
& itDimension . dimCenter .~ V3 10 0 0
|
||||||
& itUse . heldDelay . rateMax .~ 20
|
& itUse . heldDelay . rateMax .~ 20
|
||||||
& itUse . heldUse .~ HeldPJCreation --usePjCreation
|
-- & itUse . heldUse .~ HeldPJCreation --usePjCreation
|
||||||
& itUse . heldMods .~ LauncherMod
|
& itUse . heldMods .~ LauncherMod
|
||||||
& itUse . heldAim . aimWeight .~ 8
|
& itUse . heldAim . aimWeight .~ 8
|
||||||
& itUse . heldAim . aimRange .~ 0.5
|
& itUse . heldAim . aimRange .~ 0.5
|
||||||
& itUse . heldAim . aimStance .~ TwoHandOver
|
& itUse . heldAim . aimStance .~ TwoHandOver
|
||||||
-- & itUse . heldAim . aimHandlePos .~ V2 3 0
|
-- & itUse . heldAim . aimHandlePos .~ V2 3 0
|
||||||
-- & itUse . heldAim . aimMuzPos .~ 20
|
-- & itUse . heldAim . aimMuzPos .~ 20
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) 0 0 0]
|
||||||
& itUse . heldAmmoTypes .~ [ProjectileAmmo]
|
& itUse . heldAmmoTypes .~ [ProjectileAmmo]
|
||||||
& itType . iyBase .~ HELD LAUNCHER
|
& itType . iyBase .~ HELD LAUNCHER
|
||||||
& itType . iyModules . at ModLauncherHoming ?~ EMPTYMODULE
|
& itType . iyModules . at ModLauncherHoming ?~ EMPTYMODULE
|
||||||
@@ -40,9 +40,9 @@ launcherX :: Int -> Item
|
|||||||
launcherX i =
|
launcherX i =
|
||||||
launcher
|
launcher
|
||||||
& itType . iyBase .~ HELD (LAUNCHERX i)
|
& itType . iyBase .~ HELD (LAUNCHERX i)
|
||||||
& itUse . heldUse .~ HeldPJCreationX i
|
-- & itUse . heldUse .~ HeldPJCreationX i
|
||||||
& itUse . heldMods .~ LauncherXMod i
|
& itUse . heldMods .~ LauncherXMod i
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) a 0 | a <- angles]
|
& itUse . heldAim . aimMuzzles .~ ([Muzzle (V2 20 0) a 0 | a <- angles] <*> [0..])
|
||||||
where
|
where
|
||||||
angles = take i [0,2*pi/ fromIntegral i ..]
|
angles = take i [0,2*pi/ fromIntegral i ..]
|
||||||
--angles = take i [1,2 ..]
|
--angles = take i [1,2 ..]
|
||||||
@@ -51,7 +51,8 @@ remoteLauncher :: Item
|
|||||||
remoteLauncher =
|
remoteLauncher =
|
||||||
launcher
|
launcher
|
||||||
& itType . iyBase .~ HELD REMOTELAUNCHER
|
& itType . iyBase .~ HELD REMOTELAUNCHER
|
||||||
& itUse . heldUse .~ HeldFireRemoteShell --fireRemoteShell
|
-- & itUse . heldUse .~ HeldFireRemoteShell --fireRemoteShell
|
||||||
|
& itUse . heldMods .~ FireRemoteShellMod
|
||||||
& itScope .~ RemoteScope (V2 0 0) 1
|
& itScope .~ RemoteScope (V2 0 0) 1
|
||||||
-- & itUse . heldConsumption . laAmmoType . amPjDraw .~ DrawRemoteShell
|
-- & itUse . heldConsumption . laAmmoType . amPjDraw .~ DrawRemoteShell
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ bangRod =
|
|||||||
& itUse . heldAim . aimStance .~ OneHand
|
& itUse . heldAim . aimStance .~ OneHand
|
||||||
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1.5}
|
||||||
-- & itUse . heldAim . aimHandlePos .~ 5
|
-- & itUse . heldAim . aimHandlePos .~ 5
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0.1]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 30 0) 0 0.1 0]
|
||||||
-- & itUse . heldConsumption . laAmmoType .~ hvBulletAmmo
|
-- & itUse . heldConsumption . laAmmoType .~ hvBulletAmmo
|
||||||
|
|
||||||
elephantGun :: Item
|
elephantGun :: Item
|
||||||
|
|||||||
@@ -81,14 +81,14 @@ flameThrower =
|
|||||||
}
|
}
|
||||||
& itDimension . dimRad .~ 7
|
& itDimension . dimRad .~ 7
|
||||||
& itDimension . dimCenter .~ V3 9 0 0
|
& itDimension . dimCenter .~ V3 9 0 0
|
||||||
& itUse . heldUse .~ HeldOverNozzlesUseGasParams -- overNozzles useGasParams
|
-- & itUse . heldUse .~ HeldOverNozzlesUseGasParams -- overNozzles useGasParams
|
||||||
& itUse . heldDelay .~ NoDelay
|
& itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldMods .~ FlameThrowerMod
|
& itUse . heldMods .~ FlameThrowerMod
|
||||||
& itUse . heldAim . aimWeight .~ 5
|
& itUse . heldAim . aimWeight .~ 5
|
||||||
& itUse . heldAim . aimZoom .~ defaultItZoom{_izMax = 5, _izMin = 1.5}
|
& itUse . heldAim . aimZoom .~ defaultItZoom{_izMax = 5, _izMin = 1.5}
|
||||||
& itUse . heldAim . aimStance .~ TwoHandUnder
|
& itUse . heldAim . aimStance .~ TwoHandUnder
|
||||||
-- & itUse . heldAim . aimHandlePos .~ 0
|
-- & itUse . heldAim . aimHandlePos .~ 0
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 18 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 18 0) 0 0 0]
|
||||||
& itUse . heldAmmoTypes .~ [GasAmmo]
|
& itUse . heldAmmoTypes .~ [GasAmmo]
|
||||||
& itType . iyBase .~ HELD FLAMETHROWER
|
& itType . iyBase .~ HELD FLAMETHROWER
|
||||||
& itUse . heldParams .~ GasSprayParams CreateFlame --aGasCloud
|
& itUse . heldParams .~ GasSprayParams CreateFlame --aGasCloud
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ bangStick i =
|
|||||||
& itDimension . dimCenter .~ V3 5 0 0
|
& itDimension . dimCenter .~ V3 5 0 0
|
||||||
& itUse . heldDelay . rateMax .~ 8
|
& itUse . heldDelay . rateMax .~ 8
|
||||||
& itUse . heldMods .~ BangStickMod
|
& itUse . heldMods .~ BangStickMod
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 10 0) a 0.01 | a <- spreadAroundCenter i baseStickSpread]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 10 0) a 0.01 0 | a <- spreadAroundCenter i baseStickSpread]
|
||||||
|
|
||||||
baseStickSpread :: Float
|
baseStickSpread :: Float
|
||||||
baseStickSpread = 0.2
|
baseStickSpread = 0.2
|
||||||
@@ -41,7 +41,7 @@ pistol =
|
|||||||
& itUse . heldAmmoTypes .~ [BulletAmmo]
|
& itUse . heldAmmoTypes .~ [BulletAmmo]
|
||||||
& itUse . heldDelay . rateMax .~ 6
|
& itUse . heldDelay . rateMax .~ 6
|
||||||
& itUse . heldMods .~ PistolMod
|
& itUse . heldMods .~ PistolMod
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 10 0) 0 0.05]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 10 0) 0 0.05 0]
|
||||||
& itUse . heldParams
|
& itUse . heldParams
|
||||||
%~ ( (muzVel .~ 0.8)
|
%~ ( (muzVel .~ 0.8)
|
||||||
. (rifling .~ 0.8)
|
. (rifling .~ 0.8)
|
||||||
@@ -72,6 +72,6 @@ smg =
|
|||||||
& itUse . heldMods .~ SmgMod --(ammoCheckI : smgAfterHamMods)
|
& itUse . heldMods .~ SmgMod --(ammoCheckI : smgAfterHamMods)
|
||||||
& itType . iyBase .~ HELD SMG
|
& itType . iyBase .~ HELD SMG
|
||||||
& itUse . heldAim . aimStance .~ TwoHandUnder
|
& itUse . heldAim . aimStance .~ TwoHandUnder
|
||||||
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) 0 0]
|
& itUse . heldAim . aimMuzzles .~ [Muzzle (V2 20 0) 0 0 0]
|
||||||
-- & itUse . heldAim . aimHandlePos .~ 2
|
-- & itUse . heldAim . aimHandlePos .~ 2
|
||||||
& itUse . heldParams . torqueAfter .~ 0.05
|
& itUse . heldParams . torqueAfter .~ 0.05
|
||||||
|
|||||||
@@ -37,9 +37,10 @@ forceFieldGun =
|
|||||||
-- & itUse . useTargeting ?~ TargetRBLine
|
-- & itUse . useTargeting ?~ TargetRBLine
|
||||||
& itType . iyModules . at ModTarget ?~ TARGET TargetRBLine
|
& itType . iyModules . at ModTarget ?~ TARGET TargetRBLine
|
||||||
& itParams .~ ParamMID Nothing
|
& itParams .~ ParamMID Nothing
|
||||||
& itUse . heldUse .~ HeldForceField --useForceFieldGun
|
-- & itUse . heldUse .~ HeldForceField --useForceFieldGun
|
||||||
& itUse . heldDelay .~ NoDelay
|
& itUse . heldDelay .~ NoDelay
|
||||||
& itUse . heldMods .~ AmmoHammerTimeUseOneMod -- this is slightly different
|
-- & itUse . heldMods .~ AmmoHammerTimeUseOneMod -- this is slightly different
|
||||||
|
& itUse . heldMods .~ ForceFieldMod -- this is slightly different
|
||||||
-- than the list below
|
-- than the list below
|
||||||
--[ hammerCheckI , ammoCheckI , useAmmoAmount 1]
|
--[ hammerCheckI , ammoCheckI , useAmmoAmount 1]
|
||||||
& itType . iyBase .~ HELD FORCEFIELDGUN
|
& itType . iyBase .~ HELD FORCEFIELDGUN
|
||||||
@@ -52,8 +53,9 @@ clickDetector :: Detector -> Item
|
|||||||
clickDetector dt =
|
clickDetector dt =
|
||||||
defaultWeapon
|
defaultWeapon
|
||||||
& itUse . heldDelay . rateMax .~ 20
|
& itUse . heldDelay . rateMax .~ 20
|
||||||
& itUse . heldUse .~ HeldDetectorEffect dt --detectorEffect dt
|
-- & itUse . heldUse .~ HeldDetectorEffect dt --detectorEffect dt
|
||||||
& itUse . heldMods .~ AmmoUseCheckMod
|
-- & itUse . heldMods .~ AmmoUseCheckMod
|
||||||
|
& itUse . heldMods .~ DetectorMod dt --detectorEffect dt
|
||||||
& itUse . heldAim . aimRange .~ 1
|
& itUse . heldAim . aimRange .~ 1
|
||||||
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1}
|
& itUse . heldAim . aimZoom .~ defaultItZoom{_izFac = 1}
|
||||||
& itType . iyBase .~ HELD (HELDDETECTOR dt)
|
& itType . iyBase .~ HELD (HELDDETECTOR dt)
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ shatterGun =
|
|||||||
defaultHeldItem
|
defaultHeldItem
|
||||||
& itType . iyBase .~ HELD SHATTERGUN
|
& itType . iyBase .~ HELD SHATTERGUN
|
||||||
& itUse . heldDelay . rateMax .~ 10
|
& itUse . heldDelay . rateMax .~ 10
|
||||||
& itUse . heldUse .~ HeldShatter --shootShatter
|
-- & itUse . heldUse .~ HeldShatter --shootShatter
|
||||||
& itUse . heldMods .~ ShatterMod
|
& itUse . heldMods .~ ShatterMod
|
||||||
& itUse . heldAim . aimStance .~ TwoHandFlat
|
& itUse . heldAim . aimStance .~ TwoHandFlat
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ heldInfo hit = case hit of
|
|||||||
SPARKGUN -> "A weapon that produces an arc of electricity. The arc will attempt to discharge at a nearby object."
|
SPARKGUN -> "A weapon that produces an arc of electricity. The arc will attempt to discharge at a nearby object."
|
||||||
TESLAGUN -> "A weapon that discharges a sustained arc of electricity. The arc will attempt to discharge at a nearby object."
|
TESLAGUN -> "A weapon that discharges a sustained arc of electricity. The arc will attempt to discharge at a nearby object."
|
||||||
LASGUN -> "A weapon that continuously emits photons in a narrow beam."
|
LASGUN -> "A weapon that continuously emits photons in a narrow beam."
|
||||||
LASCIRCLE -> "A extensive configuration of prisms and mirrors that produces multiple laser beams around its user."
|
-- LASCIRCLE -> "A extensive configuration of prisms and mirrors that produces multiple laser beams around its user."
|
||||||
DUALBEAM -> "A weapon that emits two beams that converge at a selectable point in front of the user."
|
DUALBEAM -> "A weapon that emits two beams that converge at a selectable point in front of the user."
|
||||||
LASWIDE _ -> "A weapon that continuously emits photons in a narrow beam. The beam expands as the weapon heats up."
|
LASWIDE _ -> "A weapon that continuously emits photons in a narrow beam. The beam expands as the weapon heats up."
|
||||||
TRACTORGUN -> "An item that produces a beam of gravitons."
|
TRACTORGUN -> "An item that produces a beam of gravitons."
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ heldBounds hit = case hit of
|
|||||||
SPARKGUN -> ts
|
SPARKGUN -> ts
|
||||||
TESLAGUN -> ts
|
TESLAGUN -> ts
|
||||||
LASGUN -> ls
|
LASGUN -> ls
|
||||||
LASCIRCLE -> ls
|
-- LASCIRCLE -> ls
|
||||||
DUALBEAM -> ls
|
DUALBEAM -> ls
|
||||||
LASWIDE _ -> ls
|
LASWIDE _ -> ls
|
||||||
TRACTORGUN -> ls
|
TRACTORGUN -> ls
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ droneLauncher :: Item
|
|||||||
droneLauncher =
|
droneLauncher =
|
||||||
defaultHeldItem
|
defaultHeldItem
|
||||||
& itUse . heldDelay . rateMax .~ 20
|
& itUse . heldDelay . rateMax .~ 20
|
||||||
& itUse . heldMods .~ AmmoUseCheckMod
|
-- & itUse . heldMods .~ AmmoUseCheckMod
|
||||||
& itUse . heldAim . aimWeight .~ 8
|
& itUse . heldAim . aimWeight .~ 8
|
||||||
& itUse . heldAim . aimRange .~ 0.5
|
& itUse . heldAim . aimRange .~ 0.5
|
||||||
& itUse . heldAim . aimStance .~ TwoHandOver
|
& itUse . heldAim . aimStance .~ TwoHandOver
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ explodeRemoteRocket itid pjid w =
|
|||||||
w
|
w
|
||||||
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote itid 30 pjid]
|
& cWorld . lWorld . projectiles . ix pjid . prjUpdates .~ [PJRetireRemote itid 30 pjid]
|
||||||
& cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile
|
& cWorld . lWorld . projectiles . ix pjid . prjDraw .~ DrawBlankProjectile
|
||||||
& itPoint . itUse . heldUse .~ HeldDoNothing
|
-- & itPoint . itUse . heldUse .~ HeldDoNothing
|
||||||
|
& itPoint . itUse . heldMods .~ DoNothingMod
|
||||||
& usePayload (_prjPayload thepj) (_prjPos thepj)
|
& usePayload (_prjPayload thepj) (_prjPos thepj)
|
||||||
where
|
where
|
||||||
itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid-- _itemLocations (_cWorld w) IM.! itid
|
itPoint = pointerToItemLocation $ w ^?! cWorld . lWorld . itemLocations . ix itid-- _itemLocations (_cWorld w) IM.! itid
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ spawnGun :: Creature -> Item
|
|||||||
spawnGun _ =
|
spawnGun _ =
|
||||||
defaultHeldItem
|
defaultHeldItem
|
||||||
& itUse . heldDelay . rateMax .~ 100
|
& itUse . heldDelay . rateMax .~ 100
|
||||||
& itUse . heldUse .~ HeldDoNothing --(\_ -> spawnCrNextTo cr)
|
-- & itUse . heldUse .~ HeldDoNothing --(\_ -> spawnCrNextTo cr)
|
||||||
& itUse . heldMods .~ HeldModNothing
|
-- & itUse . heldMods .~ DoNothingMod
|
||||||
& itType . iyBase .~ LEFT SPAWNER
|
& itType . iyBase .~ LEFT SPAWNER
|
||||||
|
|
||||||
spawnCrNextTo ::
|
spawnCrNextTo ::
|
||||||
|
|||||||
@@ -342,7 +342,7 @@ 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 w = error "use all ammo"
|
useAllAmmo = error "use all ammo"
|
||||||
--useAllAmmo eff ams item cr w = fromMaybe w $ do
|
--useAllAmmo eff ams item cr w = fromMaybe w $ do
|
||||||
-- let invids = ams ^.. traverse . itLocation . ipInvID
|
-- let invids = ams ^.. traverse . itLocation . ipInvID
|
||||||
-- return . eff ams item cr $ foldl' f w invids
|
-- return . eff ams item cr $ foldl' f w invids
|
||||||
@@ -668,7 +668,7 @@ repeatOnFrames is hm f it cr w =
|
|||||||
-- return $ f it cr' w'
|
-- return $ f it cr' w'
|
||||||
|
|
||||||
duplicateLoaded :: ChainEffect
|
duplicateLoaded :: ChainEffect
|
||||||
duplicateLoaded eff it cr w = error "duplicateLoaded"
|
duplicateLoaded = error "duplicateLoaded"
|
||||||
--duplicateLoaded :: ChainEffect
|
--duplicateLoaded :: ChainEffect
|
||||||
--duplicateLoaded eff ams it cr w = foldr f w (take numbul [1::Int .. ])
|
--duplicateLoaded eff ams it cr w = foldr f w (take numbul [1::Int .. ])
|
||||||
-- where
|
-- where
|
||||||
@@ -678,7 +678,7 @@ duplicateLoaded eff it cr w = error "duplicateLoaded"
|
|||||||
-- cr ^? crInv . ix i . itUse . amagLoadStatus . iaLoaded
|
-- cr ^? crInv . ix i . itUse . amagLoadStatus . iaLoaded
|
||||||
|
|
||||||
duplicateNumBarrels :: Int -> ChainEffect
|
duplicateNumBarrels :: Int -> ChainEffect
|
||||||
duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
duplicateNumBarrels = error "duplicateNumBarrels"
|
||||||
--duplicateNumBarrels :: Int -> ChainEffect
|
--duplicateNumBarrels :: Int -> ChainEffect
|
||||||
--duplicateNumBarrels n eff ams itm cr w = foldr f w (take n $ itm ^?! itUse . heldAim . aimMuzzles)
|
--duplicateNumBarrels n eff ams itm cr w = foldr f w (take n $ itm ^?! itUse . heldAim . aimMuzzles)
|
||||||
-- where
|
-- where
|
||||||
@@ -694,7 +694,7 @@ duplicateNumBarrels n eff itm cr w = error "duplicateNumBarrels"
|
|||||||
-- (a,g) = randomR (-inacc,inacc) $ _randGen w'
|
-- (a,g) = randomR (-inacc,inacc) $ _randGen w'
|
||||||
|
|
||||||
duplicateLoadedBarrels :: ChainEffect
|
duplicateLoadedBarrels :: ChainEffect
|
||||||
duplicateLoadedBarrels eff itm cr = error "duplicateLoadedBarrels"
|
duplicateLoadedBarrels eff itm cr = eff itm cr
|
||||||
-- = duplicateNumBarrels numbul eff ams itm cr
|
-- = duplicateNumBarrels numbul eff ams itm cr
|
||||||
-- where
|
-- where
|
||||||
-- numbul :: Int
|
-- numbul :: Int
|
||||||
|
|||||||
+1
-1
@@ -35,7 +35,7 @@ moduleName imt = case imt of
|
|||||||
INCENDLAS -> Just "+INCENDIARY"
|
INCENDLAS -> Just "+INCENDIARY"
|
||||||
SPLITLAS -> Just "+SPLIT"
|
SPLITLAS -> Just "+SPLIT"
|
||||||
STATICLAS -> Just "+STATIC"
|
STATICLAS -> Just "+STATIC"
|
||||||
WEPTELE -> Just "+DIRECTEDTELE"
|
-- WEPTELE -> Just "+DIRECTEDTELE"
|
||||||
LAUNCHHOME -> Just "+TARGET HOMING"
|
LAUNCHHOME -> Just "+TARGET HOMING"
|
||||||
ATTACHTORCH -> Just "+TORCH"
|
ATTACHTORCH -> Just "+TORCH"
|
||||||
|
|
||||||
|
|||||||
@@ -82,7 +82,8 @@ retireRemoteProj itid pjid w =
|
|||||||
w
|
w
|
||||||
& pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix itid)
|
& pointerToItemLocation (w ^?! cWorld . lWorld . itemLocations . ix itid)
|
||||||
%~ ( (itScope . remotePos .~ V2 0 0)
|
%~ ( (itScope . remotePos .~ V2 0 0)
|
||||||
. (itUse . heldUse .~ HeldFireRemoteShell)
|
-- . (itUse . heldUse .~ HeldFireRemoteShell)
|
||||||
|
. (itUse . heldMods .~ FireRemoteShellMod)
|
||||||
)
|
)
|
||||||
& cWorld . lWorld . props %~ IM.delete pjid
|
& cWorld . lWorld . props %~ IM.delete pjid
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import Dodge.Creature.Impulse.UseItem
|
|||||||
import Dodge.Data.World
|
import Dodge.Data.World
|
||||||
import Dodge.Default
|
import Dodge.Default
|
||||||
import Dodge.Inventory.Lock
|
import Dodge.Inventory.Lock
|
||||||
import Dodge.Item.Location
|
--import Dodge.Item.Location
|
||||||
import Dodge.SoundLogic
|
import Dodge.SoundLogic
|
||||||
import Dodge.Terminal
|
import Dodge.Terminal
|
||||||
import Dodge.WorldEvent.Cloud
|
import Dodge.WorldEvent.Cloud
|
||||||
@@ -35,7 +35,8 @@ doWdWd we = case we of
|
|||||||
TorqueCr x cid -> torqueCr x cid
|
TorqueCr x cid -> torqueCr x cid
|
||||||
SoundStart so p sid mi -> soundStart so p sid mi
|
SoundStart so p sid mi -> soundStart so p sid mi
|
||||||
WdWdNegateTrig trid -> cWorld . lWorld . triggers . ix trid %~ not
|
WdWdNegateTrig trid -> cWorld . lWorld . triggers . ix trid %~ not
|
||||||
WdWdFromItixCrixWdWd itid crid f -> \w -> fromMaybe w $ do
|
--WdWdFromItixCrixWdWd itid crid f -> \w -> fromMaybe w $ do
|
||||||
|
WdWdFromItixCrixWdWd _ crid f -> \w -> fromMaybe w $ do
|
||||||
cr <- w ^? cWorld . lWorld . creatures . ix crid
|
cr <- w ^? cWorld . lWorld . creatures . ix crid
|
||||||
--it <- getItem itid w
|
--it <- getItem itid w
|
||||||
itRef <- cr ^? crManipulation . manObject . inInventory . ispItem
|
itRef <- cr ^? crManipulation . manObject . inInventory . ispItem
|
||||||
|
|||||||
Reference in New Issue
Block a user