Skip to content

Commit 10e11ae

Browse files
committed
Tweaks energy weapons (part I?)
Adjusts the fire delays, charge levels and recharge speeds of many energy weapons. Adjusts the damage of several types of energy beams. Renames the "burst laser" to the "burst energy gun". Also updates the cargo ordering console's entry to match. Converts a few weapon-related booleans to use TRUE/FALSE. Fixes formatting of some weapon fire modes.
1 parent 9a8d1bd commit 10e11ae

File tree

8 files changed

+89
-78
lines changed

8 files changed

+89
-78
lines changed

code/datums/supplypacks/munitions.dm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@
7474
containertype = /obj/structure/closet/crate/secure/weapon
7575
containername = "Shotgun crate"
7676
access = access_armory
77-
77+
7878
/datum/supply_pack/munitions/shotgunsemi
7979
name = "Weapons - Semi-Automatic Shotgun crate"
8080
contains = list(
@@ -96,11 +96,11 @@
9696
access = access_armory
9797

9898
/datum/supply_pack/munitions/burstlaser
99-
name = "Weapons - Burst laser"
99+
name = "Weapons - Burst Energy Gun"
100100
contains = list(/obj/item/gun/energy/gun/burst = 2)
101101
cost = 50
102102
containertype = /obj/structure/closet/crate/secure/lawson
103-
containername = "Burst laser crate"
103+
containername = "Burst Energy Gun crate"
104104
access = access_armory
105105

106106
/datum/supply_pack/munitions/ionweapons
@@ -248,4 +248,4 @@
248248
cost = 50
249249
containertype = /obj/structure/closet/crate/secure/weapon
250250
containername = "Energy ammunition crate"
251-
access = access_security
251+
access = access_security

code/modules/projectiles/guns/energy/laser.dm

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
icon_state = "laser"
77
item_state = "laser"
88
wielded_item_state = "laser-wielded"
9-
fire_delay = 8
9+
fire_delay = 0.8 SECONDS
1010
slot_flags = SLOT_BELT|SLOT_BACK
1111
w_class = ITEMSIZE_LARGE
1212
force = 10
@@ -16,16 +16,16 @@
1616
one_handed_penalty = 30
1717

1818
firemodes = list(
19-
list(mode_name="normal", fire_delay=8, projectile_type=/obj/item/projectile/beam/midlaser, charge_cost = 240),
20-
list(mode_name="suppressive", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 60),
21-
)
19+
list(mode_name = "normal", projectile_type = /obj/item/projectile/beam/midlaser, charge_cost = 240),
20+
list(mode_name = "suppressive", fire_delay = 0.6 SECONDS, projectile_type = /obj/item/projectile/beam/weaklaser, charge_cost = 60),
21+
)
2222

2323
/obj/item/gun/energy/laser/empty
2424
cell_type = null
2525

2626
/obj/item/gun/energy/laser/mounted
27-
self_recharge = 1
28-
use_external_power = 1
27+
self_recharge = TRUE
28+
use_external_power = TRUE
2929
one_handed_penalty = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry.
3030

3131
/obj/item/gun/energy/laser/mounted/augment
@@ -49,9 +49,9 @@
4949
cell_type = /obj/item/cell/device
5050

5151
firemodes = list(
52-
list(mode_name="normal", projectile_type=/obj/item/projectile/beam/practice, charge_cost = 48),
53-
list(mode_name="suppressive", projectile_type=/obj/item/projectile/beam/practice, charge_cost = 12),
54-
)
52+
list(mode_name = "normal", projectile_type = /obj/item/projectile/beam/practice, charge_cost = 48),
53+
list(mode_name = "suppressive", projectile_type = /obj/item/projectile/beam/practice, charge_cost = 12),
54+
)
5555

5656
//Functionally identical, but slightly higher tech due to rarer.
5757
/obj/item/gun/energy/laser/sleek
@@ -71,7 +71,7 @@
7171
icon_state = "mininglaser"
7272
item_state = "laser"
7373
wielded_item_state = "laser-wielded"
74-
fire_delay = 8
74+
fire_delay = 0.8 SECONDS
7575
slot_flags = SLOT_BELT|SLOT_BACK
7676
w_class = ITEMSIZE_LARGE
7777
force = 15
@@ -81,9 +81,9 @@
8181
one_handed_penalty = 30
8282

8383
firemodes = list(
84-
list(mode_name="mining", fire_delay=8, projectile_type=/obj/item/projectile/beam/mininglaser, charge_cost = 200),
85-
list(mode_name="deter", fire_delay=5, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80),
86-
)
84+
list(mode_name = "mining", projectile_type = /obj/item/projectile/beam/mininglaser, charge_cost = 200),
85+
list(mode_name = "deter", fire_delay = 0.6 SECONDS, projectile_type=/obj/item/projectile/beam/weaklaser, charge_cost = 80),
86+
)
8787

8888
/obj/item/gun/energy/retro
8989
name = "retro laser"
@@ -93,11 +93,11 @@
9393
slot_flags = SLOT_BELT
9494
w_class = ITEMSIZE_NORMAL
9595
projectile_type = /obj/item/projectile/beam
96-
fire_delay = 10 //old technology
96+
fire_delay = 1 SECOND //old technology
9797

9898
/obj/item/gun/energy/retro/mounted
99-
self_recharge = 1
100-
use_external_power = 1
99+
self_recharge = TRUE
100+
use_external_power = TRUE
101101

102102
/obj/item/gun/energy/retro/empty
103103
icon_state = "retro"
@@ -138,7 +138,7 @@
138138
catalogue_data = list(/datum/category_item/catalogue/anomalous/precursor_a/alien_pistol)
139139
icon_state = "alienpistol"
140140
item_state = "alienpistol"
141-
fire_delay = 10 // Handguns should be inferior to two-handed weapons. Even alien ones I suppose.
141+
fire_delay = 1 SECOND // Handguns should be inferior to two-handed weapons. Even alien ones I suppose.
142142
charge_cost = 480 // Five shots.
143143

144144
projectile_type = /obj/item/projectile/beam/cyan
@@ -160,7 +160,7 @@
160160
w_class = ITEMSIZE_NORMAL
161161
projectile_type = /obj/item/projectile/beam
162162
origin_tech = null
163-
fire_delay = 10 //Old pistol
163+
fire_delay = 1 SECOND //Old pistol
164164
charge_cost = 480 //to compensate a bit for self-recharging
165165
cell_type = /obj/item/cell/device/weapon/recharge/captain
166166
battery_lock = 1
@@ -176,22 +176,21 @@
176176
slot_flags = SLOT_BELT|SLOT_BACK
177177
projectile_type = /obj/item/projectile/beam/heavylaser/cannon
178178
battery_lock = 1
179-
fire_delay = 20
179+
fire_delay = 2 SECONDS
180180
w_class = ITEMSIZE_LARGE
181181
one_handed_penalty = 90 // The thing's heavy and huge.
182182
accuracy = 45
183183
charge_cost = 600
184+
recharge_time = 1 SECOND
184185

185186
/obj/item/gun/energy/lasercannon/mounted
186187
name = "mounted laser cannon"
187-
self_recharge = 1
188-
use_external_power = 1
189-
recharge_time = 10
188+
self_recharge = TRUE
189+
use_external_power = TRUE
190190
accuracy = 0 // Mounted cannons are just fine the way they are.
191191
one_handed_penalty = 0 // Not sure if two-handing gets checked for mounted weapons, but better safe than sorry.
192192
projectile_type = /obj/item/projectile/beam/heavylaser
193193
charge_cost = 400
194-
fire_delay = 20
195194

196195
/obj/item/gun/energy/xray
197196
name = "xray laser gun"
@@ -202,6 +201,7 @@
202201
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 3, TECH_MAGNET = 2)
203202
projectile_type = /obj/item/projectile/beam/xray
204203
charge_cost = 200
204+
fire_delay = 0.8 SECONDS
205205

206206
/obj/item/gun/energy/sniperrifle
207207
name = "marksman energy rifle"
@@ -218,11 +218,11 @@
218218
action_button_name = "Use Scope"
219219
battery_lock = 1
220220
charge_cost = 600
221-
fire_delay = 35
221+
fire_delay = 3.5 SECONDS
222222
force = 10
223223
w_class = ITEMSIZE_HUGE // So it can't fit in a backpack.
224224
accuracy = -45 //shooting at the hip
225-
scoped_accuracy = 50
225+
scoped_accuracy = 75
226226
one_handed_penalty = 60 // The weapon itself is heavy, and the long barrel makes it hard to hold steady with just one hand.
227227

228228
/obj/item/gun/energy/sniperrifle/ui_action_click()
@@ -246,7 +246,7 @@
246246
slot_flags = SLOT_BACK
247247
action_button_name = "Aim Down Sights"
248248
charge_cost = 1300
249-
fire_delay = 20
249+
fire_delay = 2 SECONDS
250250
force = 8
251251
w_class = ITEMSIZE_LARGE
252252
accuracy = 10

code/modules/projectiles/guns/energy/nuclear.dm

Lines changed: 32 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
description_fluff = "Lawson Arms is Hephaestus Industries’ main personal-energy-weapon branding, often sold alongside MarsTech projectile weapons to security and law enforcement agencies."
55
icon_state = "energystun100"
66
item_state = null //so the human update icon uses the icon_state instead.
7-
fire_delay = 10 // Handguns should be inferior to two-handed weapons.
7+
fire_delay = 1 SECOND // Handguns should be inferior to two-handed weapons.
88

99
projectile_type = /obj/item/projectile/beam/stun/med
1010
origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2)
@@ -13,24 +13,24 @@
1313
firemodes = list(
1414
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="energystun", charge_cost = 240),
1515
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="energykill", charge_cost = 480),
16-
)
16+
)
1717

1818

1919
/obj/item/gun/energy/gun/mounted
2020
name = "mounted energy gun"
21-
self_recharge = 1
22-
use_external_power = 1
21+
self_recharge = TRUE
22+
use_external_power = TRUE
2323

2424
/obj/item/gun/energy/gun/burst
25-
name = "burst laser"
25+
name = "burst energy gun"
2626
desc = "The Lawson Arms FM-2t is a versatile energy based weapon, capable of switching between stun or kill with a three round burst option for both settings."
2727
description_fluff = "Lawson Arms is Hephaestus Industries’ main personal-energy-weapon branding, often sold alongside MarsTech projectile weapons to security and law enforcement agencies."
2828
icon_state = "riflestun100"
2929
item_state = null //so the human update icon uses the icon_state instead.
3030
charge_cost = 100
3131
force = 8
3232
w_class = ITEMSIZE_LARGE //Probably gonna make it a rifle sooner or later
33-
fire_delay = 6
33+
fire_delay = 0.8 SECONDS
3434

3535
projectile_type = /obj/item/projectile/beam/stun/weak
3636
origin_tech = list(TECH_COMBAT = 4, TECH_MAGNET = 2, TECH_ILLEGAL = 3)
@@ -40,11 +40,22 @@
4040
// one_handed_penalty = 30
4141

4242
firemodes = list(
43-
list(mode_name="stun", burst=1, projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="riflestun", charge_cost = 100),
44-
list(mode_name="stun burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/stun/weak, modifystate="riflestun"),
45-
list(mode_name="lethal", burst=1, projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="riflekill", charge_cost = 200),
46-
list(mode_name="lethal burst", burst=3, fire_delay=null, move_delay=4, burst_accuracy=list(0,0,0), dispersion=list(0.0, 0.2, 0.5), projectile_type=/obj/item/projectile/beam/burstlaser, modifystate="riflekill"),
47-
)
43+
list(mode_name = "stun", burst = 1, projectile_type = /obj/item/projectile/beam/stun/weak,
44+
modifystate = "riflestun"
45+
),
46+
list(mode_name = "stun burst", burst = 3, fire_delay = 1 SECOND, move_delay = 4,
47+
burst_accuracy = list(0,0,0), dispersion = list(0.0, 0.2, 0.5),
48+
projectile_type = /obj/item/projectile/beam/stun/weak, modifystate = "riflestun"
49+
),
50+
list(mode_name = "lethal", burst = 1, projectile_type = /obj/item/projectile/beam/burstlaser,
51+
modifystate = "riflekill", charge_cost = 200
52+
),
53+
list(mode_name = "lethal burst", burst = 3, fire_delay = 1 SECOND, move_delay = 4,
54+
burst_accuracy = list(0,0,0), dispersion = list(0.0, 0.2, 0.5),
55+
projectile_type = /obj/item/projectile/beam/burstlaser, modifystate = "riflekill",
56+
charge_cost = 200
57+
),
58+
)
4859

4960
/obj/item/gun/energy/gun/nuclear
5061
name = "advanced energy gun"
@@ -55,7 +66,7 @@
5566
slot_flags = SLOT_BELT
5667
force = 8 //looks heavier than a pistol
5768
w_class = ITEMSIZE_LARGE //Looks bigger than a pistol, too.
58-
fire_delay = 6 //This one's not a handgun, it should have the same fire delay as everything else
69+
fire_delay = 0.8 SECONDS //This one's not a handgun, it should have the same fire delay as everything else
5970
cell_type = /obj/item/cell/device/weapon/recharge
6071
battery_lock = 1
6172
modifystate = null
@@ -64,9 +75,9 @@
6475
// one_handed_penalty = 15 // It's rather bulky, so holding it in one hand is a little harder than with two, however it's not 'required'.
6576

6677
firemodes = list(
67-
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun, modifystate="nucgunstun", charge_cost = 240),
68-
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="nucgunkill", charge_cost = 480),
69-
)
78+
list(mode_name = "stun", projectile_type = /obj/item/projectile/beam/stun, modifystate = "nucgunstun", charge_cost = 240),
79+
list(mode_name = "lethal", projectile_type = /obj/item/projectile/beam, modifystate = "nucgunkill", charge_cost = 480),
80+
)
7081

7182
//Functionally a Perun, but flavoured.
7283
/obj/item/gun/energy/gun/compact
@@ -80,9 +91,9 @@
8091
modifystate = "PDWstun"
8192

8293
firemodes = list(
83-
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="PDWstun", charge_cost = 240),
84-
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="PDWkill", charge_cost = 480),
85-
)
94+
list(mode_name = "stun", projectile_type = /obj/item/projectile/beam/stun/med, modifystate = "PDWstun", charge_cost = 240),
95+
list(mode_name = "lethal", projectile_type = /obj/item/projectile/beam, modifystate = "PDWkill", charge_cost = 480),
96+
)
8697

8798
//What if we went smaller?
8899
/obj/item/gun/energy/gun/pocket
@@ -95,6 +106,6 @@
95106

96107
modifystate = "egunstun"
97108
firemodes = list(
98-
list(mode_name="stun", projectile_type=/obj/item/projectile/beam/stun/med, modifystate="egunstun", charge_cost = 240),
99-
list(mode_name="lethal", projectile_type=/obj/item/projectile/beam, modifystate="egunkill", charge_cost = 480),
100-
)
109+
list(mode_name = "stun", projectile_type = /obj/item/projectile/beam/stun/med, modifystate = "egunstun", charge_cost = 240),
110+
list(mode_name = "lethal", projectile_type = /obj/item/projectile/beam, modifystate = "egunkill", charge_cost = 480),
111+
)

code/modules/projectiles/guns/energy/phase.dm

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@
3636
one_handed_penalty = 0
3737

3838
/obj/item/gun/energy/phasegun/mounted
39-
self_recharge = 1
40-
use_external_power = 1
39+
self_recharge = TRUE
40+
use_external_power = TRUE
4141
one_handed_penalty = 0
4242

4343
/obj/item/gun/energy/phasegun/mounted/cyborg
4444
charge_cost = 400
45-
recharge_time = 7
45+
recharge_time = 0.6 SECONDS
4646

4747
/obj/item/gun/energy/phasegun/pistol
4848
name = "phase pistol"
@@ -57,12 +57,12 @@
5757

5858
/obj/item/gun/energy/phasegun/pistol/mounted
5959
name = "mounted phase pistol"
60-
self_recharge = 1
61-
use_external_power = 1
60+
self_recharge = TRUE
61+
use_external_power = TRUE
6262

6363
/obj/item/gun/energy/phasegun/pistol/mounted/cyborg
6464
charge_cost = 400
65-
recharge_time = 7
65+
recharge_time = 0.6 SECONDS
6666

6767
/obj/item/gun/energy/phasegun/rifle
6868
name = "phase rifle"

code/modules/projectiles/guns/energy/special.dm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
force = 10
1111
slot_flags = SLOT_BACK
1212
projectile_type = /obj/item/projectile/ion
13+
fire_delay = 0.8 SECONDS
1314

1415
/obj/item/gun/energy/ionrifle/emp_act(severity)
1516
..(max(severity, 4)) //so it doesn't EMP itself, I guess
@@ -27,6 +28,7 @@
2728
slot_flags = SLOT_BELT|SLOT_HOLSTER
2829
charge_cost = 480
2930
projectile_type = /obj/item/projectile/ion/pistol
31+
fire_delay = 1 SECOND
3032

3133
/obj/item/gun/energy/decloner
3234
name = "biological demolecularisor"

0 commit comments

Comments
 (0)