Skip to content

Commit de4fe74

Browse files
Temperature Guns Fun (#5582)
## About The Pull Request ## Why It's Good For The Game We have both the thermal guns and the temperature guns already in the game. In their current state neither of them are ever used as the math behind the scenes are way outdated. This will bring them up to speed and make them actually useful now. ## Changelog Alters how the temperature calculations are done for the temperature guns to ensure that they'll actually change the temperature of their targets in a meaningful way. This makes them useable in combination with the thermal guns. :cl: balance: Completely rebalanced the temperature guns. add: New firemode on the temperature guns /:cl:
1 parent 255e9c4 commit de4fe74

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,18 @@
3434

3535
/obj/item/ammo_casing/energy/temp
3636
projectile_type = /obj/projectile/temp
37-
select_name = "freeze"
37+
select_name = "chill"
3838
e_cost = 250
3939
fire_sound = 'sound/weapons/pulse3.ogg'
4040

4141
/obj/item/ammo_casing/energy/temp/hot
4242
projectile_type = /obj/projectile/temp/hot
43-
select_name = "bake"
43+
select_name = "heat"
44+
45+
/obj/item/ammo_casing/energy/temp/cryo
46+
projectile_type = /obj/projectile/temp/cryo
47+
select_name = "freeze"
48+
e_cost = 500
4449

4550
/obj/item/ammo_casing/energy/meteor
4651
projectile_type = /obj/projectile/meteor

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,19 +331,17 @@
331331
icon_state = "freezegun"
332332
desc = "A gun that changes temperatures. Comes with a collapsible stock."
333333
w_class = WEIGHT_CLASS_NORMAL
334-
ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot)
334+
ammo_type = list(/obj/item/ammo_casing/energy/temp, /obj/item/ammo_casing/energy/temp/hot, /obj/item/ammo_casing/energy/temp/cryo)
335335
cell_type = /obj/item/stock_parts/cell/high
336-
pin = null
336+
pin = /obj/item/firing_pin
337337

338338
/obj/item/gun/energy/temperature/security
339339
name = "security temperature gun"
340340
desc = "A weapon that can only be used to its full potential by the truly robust."
341-
pin = /obj/item/firing_pin
342341

343342
/obj/item/gun/energy/temperature/freeze
344343
name = "cryogenic temperature gun"
345344
desc = "A gun that reduces temperatures. Only for those with ice in their veins."
346-
pin = /obj/item/firing_pin
347345
ammo_type = list(/obj/item/ammo_casing/energy/temp)
348346

349347
/obj/item/gun/energy/gravity_gun

code/modules/projectiles/projectile/special/temperature.dm

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@
55
damage_type = BURN
66
armor_flag = ENERGY
77
/// What temp to trend the target towards
8-
var/temperature = HYPOTHERMIA - 2 CELCIUS
8+
var/temperature = HYPOTHERMIA - 50 CELCIUS
99
/// How much temp per shot to apply
10-
var/temperature_mod_per_shot = 0.25
10+
var/temperature_mod_per_shot = 0.5
1111

1212
/obj/projectile/temp/is_hostile_projectile()
1313
return BODYTEMP_NORMAL - temperature != 0 // our damage is done by cooling or heating (casting to boolean here)
@@ -16,16 +16,17 @@
1616
. = ..()
1717
if(isliving(target))
1818
var/mob/living/M = target
19-
M.adjust_bodytemperature(temperature_mod_per_shot * ((100-blocked) / 100) * (temperature - M.bodytemperature), use_insulation = TRUE)
19+
M.adjust_bodytemperature(temperature_mod_per_shot * ((100-blocked) / 100) * (temperature - M.bodytemperature), temperature, BODYTEMP_NORMAL, use_insulation = TRUE)
2020

2121
/obj/projectile/temp/hot
2222
name = "heat beam"
23-
temperature = CELCIUS_TO_KELVIN(50 CELCIUS) // Raise the body temp by 100 points
23+
temperature = HYPERTHERMIA + 25 CELCIUS
2424

2525
/obj/projectile/temp/cryo
2626
name = "cryo beam"
2727
range = 3
28-
temperature_mod_per_shot = 1.5 // get this guy really chilly really fast
28+
temperature = HYPOTHERMIA - 75 CELCIUS
29+
temperature_mod_per_shot = 2.5 // get this guy really chilly really fast
2930

3031
/obj/projectile/temp/cryo/on_hit(atom/target, blocked, pierce_hit)
3132
. = ..()

0 commit comments

Comments
 (0)