diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 5586a81b04e..02e3df67977 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1018,55 +1018,6 @@ GLOBAL_LIST_INIT(can_embed_types, typecacheof(list(
if(is_type_in_typecache(W, GLOB.can_embed_types))
return 1
-/proc/is_hot(obj/item/W)
- if(W.tool_behaviour == TOOL_WELDER)
- if(W.tool_enabled)
- return 2500
- else
- return 0
- if(istype(W, /obj/item/lighter))
- var/obj/item/lighter/O = W
- if(O.lit)
- return 1500
- else
- return 0
- if(istype(W, /obj/item/match))
- var/obj/item/match/O = W
- if(O.lit == 1)
- return 1000
- else
- return 0
- if(istype(W, /obj/item/clothing/mask/cigarette))
- var/obj/item/clothing/mask/cigarette/O = W
- if(O.lit)
- return 1000
- else
- return 0
- if(istype(W, /obj/item/candle))
- var/obj/item/candle/O = W
- if(O.lit)
- return 1000
- else
- return 0
- if(istype(W, /obj/item/flashlight/flare))
- var/obj/item/flashlight/flare/O = W
- if(O.on)
- return 1000
- else
- return 0
- if(istype(W, /obj/item/gun/energy/plasmacutter))
- return 3800
- if(istype(W, /obj/item/melee/energy))
- var/obj/item/melee/energy/O = W
- if(O.active)
- return 3500
- else
- return 0
- if(isigniter(W))
- return 20000
- else
- return 0
-
//Whether or not the given item counts as sharp in terms of dealing damage
/proc/is_sharp(obj/O)
if(!O)
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 9685413c685..40f909b66bb 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -114,11 +114,11 @@
. |= ATTACK_CHAIN_NO_AFTERATTACK
if(signal_out & COMPONENT_CANCEL_ATTACK_CHAIN)
return .|ATTACK_CHAIN_BLOCKED
- var/is_hot = is_hot(src)
- if(is_hot && target.reagents && !ismob(target))
- to_chat(user, span_notice("You heat [target] with [src]."))
- target.reagents.temperature_reagents(is_hot)
+ var/temperature = get_heat()
+ if(temperature && target.reagents && !ismob(target) && !istype(target, /obj/item/clothing/mask/cigarette))
+ to_chat(user, span_notice("You heat [target] with [src]."))
+ target.reagents.temperature_reagents(temperature)
/**
* Called on an object being hit by an item
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index a58e3ab6cdb..5effef97ba7 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -688,7 +688,7 @@ GLOBAL_LIST_EMPTY(multiverse)
/obj/item/voodoo/attackby(obj/item/I, mob/user, params)
if(target && COOLDOWN_FINISHED(src, cooldown))
add_fingerprint(user)
- if(is_hot(I))
+ if(I.get_heat())
to_chat(target, span_userdanger("You suddenly feel very hot."))
target.adjust_bodytemperature(50)
else if(is_pointed(I))
diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm
index 622ebf8bb73..170b76a171e 100644
--- a/code/game/machinery/doors/airlock_types.dm
+++ b/code/game/machinery/doors/airlock_types.dm
@@ -195,12 +195,11 @@
/obj/machinery/door/airlock/plasma/attackby(obj/item/I, mob/user, params)
- var/heat_temp = is_hot(I)
- if(heat_temp > 300)
+ if(I.get_heat() > 300)
add_fingerprint(user)
add_attack_logs(user, src, "ignited using [I]", ATKLOG_FEW)
investigate_log("was ignited by [key_name_log(user)]", INVESTIGATE_ATMOS)
- ignite(heat_temp)
+ ignite(I.get_heat())
return ATTACK_CHAIN_PROCEED_SUCCESS
return ..()
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index c9fe0e29818..578476c38c9 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -273,7 +273,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g
else
return TRUE
-
+
/obj/item/blob_act(obj/structure/blob/B)
if(B && B.loc == loc && !QDELETED(src) && !(obj_flags & IGNORE_BLOB_ACT))
obj_destruction(MELEE)
@@ -540,6 +540,9 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g
/obj/item/proc/talk_into(mob/M, var/text, var/channel=null)
return
+/// Generic get_heat proc. Returns 0 or number amount of heat an item gives.
+/obj/item/proc/get_heat()
+ return
/**
* When item is officially left user
@@ -915,7 +918,6 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g
if(w_class < WEIGHT_CLASS_BULKY)
itempush = FALSE // too light to push anything
- var/is_hot = is_hot(src)
var/volume = get_volume_by_throwforce_and_or_w_class()
var/impact_throwforce = throwforce
@@ -927,7 +929,7 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/g
if(. && living.is_in_hands(src))
item_catched = TRUE
- if(is_hot && !item_catched)
+ if(get_heat() && !item_catched)
living.IgniteMob()
if(impact_throwforce > 0 && !item_catched)
diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm
index 851f0aa12d4..5b6a27e86df 100644
--- a/code/game/objects/items/candle.dm
+++ b/code/game/objects/items/candle.dm
@@ -47,9 +47,11 @@
return FALSE
return TRUE
+/obj/item/candle/get_heat()
+ return lit * 1000
/obj/item/candle/attackby(obj/item/I, mob/user, params)
- if(is_hot(I) && light(span_notice("[user] lights [src] with [I].")))
+ if(I.get_heat() && light(span_notice("[user] lights [src] with [I].")))
add_fingerprint(user)
return ATTACK_CHAIN_PROCEED_SUCCESS
return ..()
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index caa2e3e215a..2a31185bba6 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -226,6 +226,8 @@
turn_off()
STOP_PROCESSING(SSobj, src)
+/obj/item/flashlight/flare/get_heat()
+ return on * 1000
/obj/item/flashlight/flare/proc/turn_off()
on = FALSE
diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm
index dcfccd141d5..059119cbb0f 100644
--- a/code/game/objects/items/flag.dm
+++ b/code/game/objects/items/flag.dm
@@ -15,7 +15,7 @@
/obj/item/flag/attackby(obj/item/I, mob/user, params)
. = ..()
- if(ATTACK_CHAIN_CANCEL_CHECK(.) || !is_hot(I) || (resistance_flags & ON_FIRE))
+ if(ATTACK_CHAIN_CANCEL_CHECK(.) || !I.get_heat() || (resistance_flags & ON_FIRE))
return .
. |= ATTACK_CHAIN_SUCCESS
user.visible_message(
@@ -285,7 +285,7 @@
add_attack_logs(user, src, "has hidden [I] ready for detonation in", ATKLOG_MOST)
return ATTACK_CHAIN_BLOCKED_ALL
- if(is_hot(I) && !(resistance_flags & ON_FIRE) && boobytrap && trapper)
+ if(I.get_heat() && !(resistance_flags & ON_FIRE) && boobytrap && trapper)
var/turf/bombturf = get_turf(src)
add_game_logs("has lit the [src] trapped with [boobytrap] by [key_name_log(trapper)] at [AREACOORD(bombturf)].", user)
investigate_log("[key_name_log(user)] has lit the [src] trapped with [boobytrap] by [key_name_log(trapper)].", INVESTIGATE_BOMB)
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index 7824eeabbf9..94290e1b8a6 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -81,7 +81,7 @@
blow(I, user)
return ATTACK_CHAIN_PROCEED_SUCCESS
- if(state == BALLOON_BLOW && (is_sharp(I) || is_hot(I) || is_pointed(I)))
+ if(state == BALLOON_BLOW && (is_sharp(I) || I.get_heat() || is_pointed(I)))
burst()
return ATTACK_CHAIN_PROCEED_SUCCESS
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index 27876c98834..77862f73fb0 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -252,7 +252,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( \
/obj/item/stack/sheet/mineral/plasma/attackby(obj/item/I, mob/user, params)
- if(is_hot(I))
+ if(I.get_heat())
log_and_set_aflame(user, I)
return ATTACK_CHAIN_BLOCKED_ALL
return ..()
diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm
index fd7cbe7613a..e689daa2784 100644
--- a/code/game/objects/items/tools/welder.dm
+++ b/code/game/objects/items/tools/welder.dm
@@ -5,6 +5,8 @@
desc = "A standard edition welder provided by Nanotrasen."
icon = 'icons/obj/tools.dmi'
icon_state = "welder"
+ righthand_file = 'icons/mob/inhands/tools_righthand.dmi'
+ lefthand_file = 'icons/mob/inhands/tools_lefthand.dmi'
item_state = "welder"
belt_icon = "welding_tool"
flags = CONDUCT
@@ -210,6 +212,8 @@
if(tool_enabled)
. += "[initial(icon_state)]-on"
+/obj/item/weldingtool/get_heat()
+ return tool_enabled * 2500
/obj/item/weldingtool/largetank
name = "industrial welding tool"
diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm
index 1623198aa22..99f0134d92d 100644
--- a/code/game/objects/items/weapons/cigs.dm
+++ b/code/game/objects/items/weapons/cigs.dm
@@ -67,6 +67,15 @@ LIGHTERS ARE IN LIGHTERS.DM
STOP_PROCESSING(SSobj, src)
return ..()
+/obj/item/clothing/mask/cigarette/pre_attackby(atom/target, mob/living/user, params)
+ . = ..()
+ var/obj/item/lighting_item = target
+ if(ATTACK_CHAIN_CANCEL_CHECK(.) || !istype(lighting_item))
+ return .
+
+ if(lighting_item.get_heat())
+ light()
+ return .|ATTACK_CHAIN_BLOCKED
/obj/item/clothing/mask/cigarette/attack(mob/living/target, mob/living/user, params, def_zone, skip_attack_anim = FALSE)
if(target.on_fire)
@@ -102,7 +111,7 @@ LIGHTERS ARE IN LIGHTERS.DM
if(I.tool_enabled)
light(span_notice("[user] непринуждённо зажига[pluralize_ru(user, "ет", "ют")] [declent_ru(ACCUSATIVE)] с помощью [I.declent_ru(GENITIVE)]. Чёрт, как же он[genderize_ru(user.gender, "", "а", "о", "и")] крут[genderize_ru(user.gender, "", "а", "о", "ы")]."))
return ATTACK_CHAIN_PROCEED_SUCCESS
-
+
if(istype(I, /obj/item/lighter/zippo))
add_fingerprint(user)
var/obj/item/lighter/zippo/zippo = I
@@ -216,6 +225,9 @@ LIGHTERS ARE IN LIGHTERS.DM
. = ..()
name = lit ? "lit [initial(name)]" : initial(name)
+/obj/item/clothing/mask/cigarette/get_heat()
+ return lit * 1000
+
/obj/item/clothing/mask/cigarette/proc/light(flavor_text = null)
if(lit)
@@ -314,6 +326,8 @@ LIGHTERS ARE IN LIGHTERS.DM
STOP_PROCESSING(SSobj, src)
qdel(src)
+/obj/item/clothing/mask/cigarette/get_heat()
+ return lit * 1000
/obj/item/clothing/mask/cigarette/menthol
list_reagents = list("nicotine" = 40, "menthol" = 20)
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index 7331a194e12..f458944bd7a 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -151,7 +151,7 @@
if(active)
return ATTACK_CHAIN_BLOCKED_ALL
- if(is_hot(I))
+ if(I.get_heat())
trigger(user)
return ATTACK_CHAIN_BLOCKED_ALL
diff --git a/code/game/objects/items/weapons/lighters.dm b/code/game/objects/items/weapons/lighters.dm
index d6a060b788f..2d408f0f126 100644
--- a/code/game/objects/items/weapons/lighters.dm
+++ b/code/game/objects/items/weapons/lighters.dm
@@ -37,6 +37,9 @@
else
turn_off_lighter(user)
+/obj/item/lighter/get_heat()
+ return lit * 1500
+
/obj/item/lighter/proc/turn_on_lighter(mob/living/user)
lit = TRUE
w_class = WEIGHT_CLASS_BULKY
@@ -359,6 +362,8 @@
var/init_name = initial(name)
desc = lit ? "A [init_name]. This one is lit." : burnt ? "A [init_name]. This one has seen better days." : initial(desc)
+/obj/item/match/get_heat()
+ return lit * 1000
/obj/item/match/proc/matchignite()
if(!lit && !burnt)
diff --git a/code/game/objects/items/weapons/melee/energy.dm b/code/game/objects/items/weapons/melee/energy.dm
index 619ac098e63..7ed800f792b 100644
--- a/code/game/objects/items/weapons/melee/energy.dm
+++ b/code/game/objects/items/weapons/melee/energy.dm
@@ -85,6 +85,8 @@
add_fingerprint(user)
update_icon(UPDATE_ICON_STATE)
+/obj/item/melee/energy/get_heat()
+ return active * 3500
/obj/item/melee/energy/axe
name = "energy axe"
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index f10084aa8af..ac34dc01d10 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -328,7 +328,7 @@
if(opening)
return ..()
- if(is_hot(I) > 300)
+ if(I.get_heat() > 300)
add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW)
investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS)
burnbabyburn()
diff --git a/code/game/objects/structures/firepit.dm b/code/game/objects/structures/firepit.dm
index 4325233b8b1..e4390bae6cc 100644
--- a/code/game/objects/structures/firepit.dm
+++ b/code/game/objects/structures/firepit.dm
@@ -32,7 +32,7 @@
I.fire_act()
return ..()
- if(is_hot(I))
+ if(I.get_heat())
add_fingerprint(user)
if(active)
to_chat(user, span_warning("The [name] is already lit!"))
diff --git a/code/game/objects/structures/fireplace.dm b/code/game/objects/structures/fireplace.dm
index 9ca71103dfd..393d7f3255e 100644
--- a/code/game/objects/structures/fireplace.dm
+++ b/code/game/objects/structures/fireplace.dm
@@ -87,7 +87,7 @@
qdel(I)
return ATTACK_CHAIN_BLOCKED_ALL
- if(!is_hot(I))
+ if(!I.get_heat())
return ..()
add_fingerprint(user)
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 20fb8fa0021..90234dd7b89 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -209,7 +209,7 @@
/obj/structure/mineral_door/transparent/plasma/attackby(obj/item/I, mob/user, params)
- var/hot_temp = is_hot(I)
+ var/hot_temp = I.get_heat()
if(hot_temp)
add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW)
investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS)
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index 035365cd653..5fc5e105dc6 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -131,11 +131,10 @@
/obj/structure/statue/plasma/attackby(obj/item/I, mob/user, params)
- var/is_hot = is_hot(I)
- if(is_hot > 300)//If the temperature of the object is over 300, then ignite
+ if(I.get_heat() > 300)//If the temperature of the object is over 300, then ignite
add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW)
investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS)
- ignite(is_hot)
+ ignite(I.get_heat())
return ATTACK_CHAIN_BLOCKED_ALL
return ..()
@@ -458,7 +457,7 @@
/obj/structure/statue/unknown/attackby(obj/item/I, mob/user, params)
- if(is_hot(I) && light(span_notice("[user] lights [src] with [I].")))
+ if(I.get_heat() && light(span_notice("[user] lights [src] with [I].")))
add_fingerprint(user)
return ATTACK_CHAIN_PROCEED_SUCCESS
return ..()
diff --git a/code/game/turfs/simulated/floor/mineral.dm b/code/game/turfs/simulated/floor/mineral.dm
index fa13b7a6b03..18a80e5b655 100644
--- a/code/game/turfs/simulated/floor/mineral.dm
+++ b/code/game/turfs/simulated/floor/mineral.dm
@@ -42,11 +42,10 @@
if(ATTACK_CHAIN_CANCEL_CHECK(.))
return .
- var/hot_temp = is_hot(I)
- if(hot_temp > 300)//If the temperature of the object is over 300, then ignite
+ if(I.get_heat() > 300)//If the temperature of the object is over 300, then ignite
add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW)
investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS)
- ignite(hot_temp)
+ ignite(I.get_heat())
return .|ATTACK_CHAIN_BLOCKED_ALL
diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm
index 43c89d59964..cf0f2bc0786 100644
--- a/code/game/turfs/simulated/walls_mineral.dm
+++ b/code/game/turfs/simulated/walls_mineral.dm
@@ -104,13 +104,12 @@
. = ..()
if(ATTACK_CHAIN_CANCEL_CHECK(.))
return .
- var/hot_temp = is_hot(I)
- if(hot_temp <= 300) //If the temperature of the object is over 300, then ignite
+ if(I.get_heat() <= 300) //If the temperature of the object is over 300, then ignite
return .
. |= ATTACK_CHAIN_BLOCKED_ALL
add_attack_logs(user, src, "Ignited using [I]", ATKLOG_FEW)
investigate_log("was ignited by [key_name_log(user)]",INVESTIGATE_ATMOS)
- ignite(hot_temp)
+ ignite(I.get_heat())
diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm
index 0389339efb7..46ef56e8c81 100644
--- a/code/modules/assembly/igniter.dm
+++ b/code/modules/assembly/igniter.dm
@@ -63,3 +63,5 @@
activate()
add_fingerprint(user)
+/obj/item/assembly/igniter/get_heat()
+ return 20000
diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
index ca610bbb5b6..f28db711ed4 100644
--- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm
@@ -437,7 +437,7 @@
/obj/item/reagent_containers/food/drinks/bottle/molotov/attackby(obj/item/I, mob/user, params)
. = ..()
- if(ATTACK_CHAIN_CANCEL_CHECK(.) || !is_hot(I))
+ if(ATTACK_CHAIN_CANCEL_CHECK(.) || !I.get_heat())
return .
add_fingerprint(user)
diff --git a/code/modules/food_and_drinks/drinks/drinks/shotglass.dm b/code/modules/food_and_drinks/drinks/drinks/shotglass.dm
index 83b58bb84d5..29111b89d66 100644
--- a/code/modules/food_and_drinks/drinks/drinks/shotglass.dm
+++ b/code/modules/food_and_drinks/drinks/drinks/shotglass.dm
@@ -94,7 +94,7 @@
/obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/attackby(obj/item/I, mob/user, params)
. = ..()
- if(!ATTACK_CHAIN_CANCEL_CHECK(.) && is_hot(I))
+ if(!ATTACK_CHAIN_CANCEL_CHECK(.) && I.get_heat())
fire_act()
diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm
index c84615e784f..10e776e817c 100644
--- a/code/modules/hydroponics/grown/towercap.dm
+++ b/code/modules/hydroponics/grown/towercap.dm
@@ -222,7 +222,7 @@
update_icon(UPDATE_OVERLAYS) // update underlays some day
return ATTACK_CHAIN_PROCEED_SUCCESS
- if(is_hot(I) && StartBurning())
+ if(I.get_heat() && StartBurning())
add_fingerprint(user)
lighter = user.ckey
add_misc_logs(user, "lit a bonfire", src)
diff --git a/code/modules/mining/lavaland/loot/colossus_loot.dm b/code/modules/mining/lavaland/loot/colossus_loot.dm
index 2fe4ec95358..16fb4cfe780 100644
--- a/code/modules/mining/lavaland/loot/colossus_loot.dm
+++ b/code/modules/mining/lavaland/loot/colossus_loot.dm
@@ -36,7 +36,7 @@
var/activation_sound = 'sound/effects/break_stone.ogg'
/obj/machinery/anomalous_crystal/New()
- activation_method = pick("touch","laser","bullet","energy","bomb","mob_bump","weapon","speech") // "heat" removed due to lack of is_hot()
+ activation_method = pick("touch","laser","bullet","energy","bomb","mob_bump","weapon","speech")
..()
/obj/machinery/anomalous_crystal/hear_talk(mob/speaker, list/message_pieces)
diff --git a/code/modules/paperwork/contract.dm b/code/modules/paperwork/contract.dm
index 2a8eaffcab1..4007260ad78 100644
--- a/code/modules/paperwork/contract.dm
+++ b/code/modules/paperwork/contract.dm
@@ -188,7 +188,7 @@
to_chat(user, span_notice("You stamp the paper with your rubber stamp, however the ink ignites as you release the stamp."))
return ATTACK_CHAIN_PROCEED
- if(is_hot(I))
+ if(I.get_heat())
user.visible_message(
span_danger("[user] brings [I] next to [src], but it does not catch a fire!"),
span_danger("The [name] refuses to ignite!"),
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 8e87d85aa63..11594c7fe8d 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -447,7 +447,7 @@
if(resistance_flags & ON_FIRE)
return ATTACK_CHAIN_BLOCKED_ALL
- if(is_hot(I))
+ if(I.get_heat())
if(!Adjacent(user)) //to prevent issues as a result of telepathically lighting a paper
return ATTACK_CHAIN_BLOCKED_ALL
diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm
index 50c13cab267..7483f177a49 100644
--- a/code/modules/paperwork/paper_bundle.dm
+++ b/code/modules/paperwork/paper_bundle.dm
@@ -40,7 +40,7 @@
if(resistance_flags & ON_FIRE)
return ATTACK_CHAIN_BLOCKED_ALL
- if(is_hot(I))
+ if(I.get_heat())
if(!Adjacent(user)) //to prevent issues as a result of telepathically lighting a paper bundles
return ATTACK_CHAIN_BLOCKED_ALL
diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm
index bbbd0bde014..173bb691cf2 100644
--- a/code/modules/paperwork/paperplane.dm
+++ b/code/modules/paperwork/paperplane.dm
@@ -78,7 +78,7 @@
return ATTACK_CHAIN_PROCEED_SUCCESS
. = ..()
- if(ATTACK_CHAIN_CANCEL_CHECK(.) || !is_hot(I) || !Adjacent(user))
+ if(ATTACK_CHAIN_CANCEL_CHECK(.) || !I.get_heat() || !Adjacent(user))
return .
. |= ATTACK_CHAIN_BLOCKED_ALL
diff --git a/code/modules/paperwork/papershredder.dm b/code/modules/paperwork/papershredder.dm
index a8b2336c9ce..1fb732aeeaf 100644
--- a/code/modules/paperwork/papershredder.dm
+++ b/code/modules/paperwork/papershredder.dm
@@ -129,7 +129,7 @@
if(resistance_flags & ON_FIRE)
return ATTACK_CHAIN_BLOCKED_ALL
- if(is_hot(I))
+ if(I.get_heat())
add_fingerprint(user)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10))
user.visible_message(
diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm
index 0e3ccf77536..cf31118359d 100644
--- a/code/modules/paperwork/ticketmachine.dm
+++ b/code/modules/paperwork/ticketmachine.dm
@@ -214,7 +214,7 @@
/obj/item/ticket_machine_ticket/attackby(obj/item/I, mob/living/user, params) //Stolen from papercode
. = ..()
- if(ATTACK_CHAIN_CANCEL_CHECK(.) || !is_hot(I) || !Adjacent(user))
+ if(ATTACK_CHAIN_CANCEL_CHECK(.) || !I.get_heat() || !Adjacent(user))
return .
. |= ATTACK_CHAIN_BLOCKED_ALL
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 1e1cb7e47c7..27c6b0b3054 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -198,6 +198,8 @@
if(cell)
. += "[src] is [round(cell.percent())]% charged."
+/obj/item/gun/energy/plasmacutter/get_heat()
+ return 3800
/obj/item/gun/energy/plasmacutter/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/stack/sheet/mineral/plasma))
diff --git a/code/modules/projectiles/guns/throw/crossbow.dm b/code/modules/projectiles/guns/throw/crossbow.dm
index a1afbe1724c..944dc57fbaf 100644
--- a/code/modules/projectiles/guns/throw/crossbow.dm
+++ b/code/modules/projectiles/guns/throw/crossbow.dm
@@ -269,7 +269,7 @@
/obj/item/arrow/rod/fire/attackby(obj/item/I, mob/user, params)
. = ..()
- if(!ATTACK_CHAIN_CANCEL_CHECK(.) && is_hot(I))
+ if(!ATTACK_CHAIN_CANCEL_CHECK(.) && I.get_heat())
fire_up()