From 004d7d10b7e3eb5603fd539cb099e5702865eb85 Mon Sep 17 00:00:00 2001 From: DGamerL <108773801+DGamerL@users.noreply.github.com> Date: Mon, 11 Dec 2023 17:53:51 +0100 Subject: [PATCH] Refactors is_hot and fixes some issues from the beaker lighting PR (#22964) * Idk what I'm doing * The is_hot refactor * Fixes that I forgot to push before making the PR * Update code/game/objects/items.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Contra review * TODO: Find out why this isn't working * Removes the signal stuff for now, this works * Fixes it all * Add new signal * Update code/_onclick/item_attack.dm Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> * Contra reivew * Ayyy it works * Merge master * Forgot this one * Update code/game/machinery/doors/airlock_types.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/objects/structures/mineral_doors.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/turfs/simulated/floor/mineral_floors.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> * Update code/game/turfs/simulated/walls_mineral.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> --------- Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> --- code/__DEFINES/dcs/signals.dm | 2 + code/__HELPERS/unsorted.dm | 49 ------------------- code/_onclick/item_attack.dm | 11 +++-- code/game/machinery/doors/airlock_types.dm | 8 +-- code/game/objects/items.dm | 6 ++- code/game/objects/items/candle.dm | 5 +- code/game/objects/items/devices/flashlight.dm | 3 ++ code/game/objects/items/flag.dm | 4 +- code/game/objects/items/latexballoon.dm | 2 +- .../objects/items/stacks/sheets/mineral.dm | 2 +- code/game/objects/items/tools/welder.dm | 3 ++ code/game/objects/items/weapons/cigs.dm | 9 ++++ code/game/objects/items/weapons/lighters.dm | 6 +++ .../weapons/melee/energy_melee_weapons.dm | 3 ++ code/game/objects/structures/false_walls.dm | 2 +- code/game/objects/structures/mineral_doors.dm | 4 +- code/game/objects/structures/statues.dm | 4 +- .../turfs/simulated/floor/mineral_floors.dm | 6 +-- code/game/turfs/simulated/walls_mineral.dm | 8 +-- code/modules/assembly/igniter.dm | 3 ++ .../food_and_drinks/drinks/drinks/bottle.dm | 2 +- .../drinks/drinks/shotglass.dm | 2 +- code/modules/hydroponics/grown/towercap.dm | 2 +- .../mob/living/carbon/human/species/golem.dm | 2 +- code/modules/paperwork/paper.dm | 2 +- code/modules/paperwork/paper_bundle.dm | 4 +- code/modules/paperwork/paperplane.dm | 2 +- code/modules/paperwork/ticketmachine.dm | 2 +- .../projectiles/guns/energy/special_eguns.dm | 3 ++ 29 files changed, 77 insertions(+), 84 deletions(-) diff --git a/code/__DEFINES/dcs/signals.dm b/code/__DEFINES/dcs/signals.dm index 3c9b1d1ec2d..4be8046aecd 100644 --- a/code/__DEFINES/dcs/signals.dm +++ b/code/__DEFINES/dcs/signals.dm @@ -564,6 +564,8 @@ ///from base of obj/item/pre_attack(): (atom/target, mob/user, params) #define COMSIG_ITEM_PRE_ATTACK "item_pre_attack" #define COMPONENT_NO_ATTACK (1<<0) +///from base of obj/item/pre_attack(): (atom/target, mob/user, params) +#define COMSIG_ITEM_BEING_ATTACKED "item_being_attacked" ///from base of obj/item/afterattack(): (atom/target, mob/user, params) #define COMSIG_ITEM_AFTERATTACK "item_afterattack" ///from base of obj/item/attack_qdeleted(): (atom/target, mob/user, params) diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index 6bf10711157..ee1008b7ec3 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -1171,55 +1171,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 as obj) - 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) - 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(istype(W, /obj/item/assembly/igniter)) - 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 ea78bd77695..abde11138fa 100644 --- a/code/_onclick/item_attack.dm +++ b/code/_onclick/item_attack.dm @@ -26,12 +26,17 @@ /obj/item/proc/pre_attack(atom/A, mob/living/user, params) //do stuff before attackby! if(SEND_SIGNAL(src, COMSIG_ITEM_PRE_ATTACK, A, user, params) & COMPONENT_CANCEL_ATTACK_CHAIN) return TRUE - if(is_hot(src) && A.reagents && !ismob(A)) + + if(SEND_SIGNAL(A, COMSIG_ITEM_BEING_ATTACKED, src, user, params) & COMPONENT_CANCEL_ATTACK_CHAIN) + return TRUE + + var/temperature = get_heat() + if(temperature && A.reagents && !ismob(A) && !istype(A, /obj/item/clothing/mask/cigarette)) var/reagent_temp = A.reagents.chem_temp - var/time = (reagent_temp / 10) / (is_hot(src) / 1000) + var/time = (reagent_temp / 10) / (temperature / 1000) if(do_after_once(user, time, TRUE, user, TRUE, attempt_cancel_message = "You stop heating up [A].")) to_chat(user, "You heat [A] with [src].") - A.reagents.temperature_reagents(is_hot(src)) + A.reagents.temperature_reagents(temperature) return TRUE //return FALSE to avoid calling attackby after this proc does stuff // No comment diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 3b3aa9c7616..6c0a6bd9dff 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -201,12 +201,12 @@ DA.update_name() qdel(src) -/obj/machinery/door/airlock/plasma/attackby(obj/C, mob/user, params) - if(is_hot(C) > 300) - message_admins("Plasma airlock ignited by [key_name_admin(user)] in ([x],[y],[z] - JMP)") +/obj/machinery/door/airlock/plasma/attackby(obj/item/C, mob/user, params) + if(C.get_heat() > 300) + message_admins("Plasma airlock ignited by [key_name_admin(user)] in ([x],[y],[z] - JMP)") log_game("Plasma airlock ignited by [key_name(user)] in ([x],[y],[z])") investigate_log("was ignited by [key_name(user)]","atmos") - ignite(is_hot(C)) + ignite(C.get_heat()) else return ..() diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 61f4e4b8656..d6ba038494c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -133,7 +133,6 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons /// Holder var for the item outline filter, null when no outline filter on the item. var/outline_filter - /obj/item/New() ..() @@ -646,7 +645,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(w_class < WEIGHT_CLASS_BULKY) itempush = FALSE //too light to push anything if(isliving(hit_atom)) //Living mobs handle hit sounds differently. - if(is_hot(src)) + if(get_heat()) var/mob/living/L = hit_atom L.IgniteMob() var/volume = get_volume_by_throwforce_and_or_w_class() @@ -902,3 +901,6 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.regenerate_icons() + +/obj/item/proc/get_heat() + return diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm index 3dde2eb17be..00ae37bb2b2 100644 --- a/code/game/objects/items/candle.dm +++ b/code/game/objects/items/candle.dm @@ -42,7 +42,7 @@ return TRUE /obj/item/candle/attackby(obj/item/W, mob/user, params) - if(is_hot(W)) + if(W.get_heat()) light("[user] lights [src] with [W].") return return ..() @@ -152,6 +152,9 @@ infinite = FALSE wax = 1 // next process will burn it out +/obj/item/candle/get_heat() + return lit * 1000 + #undef TALL_CANDLE #undef MID_CANDLE #undef SHORT_CANDLE diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index d471e918c6e..62ac9244111 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -230,6 +230,9 @@ return TRUE return ..() +/obj/item/flashlight/flare/get_heat() + return produce_heat * on * 1000 + // GLOWSTICKS /obj/item/flashlight/flare/glowstick diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm index 302b2703d95..665faa1d6d1 100644 --- a/code/game/objects/items/flag.dm +++ b/code/game/objects/items/flag.dm @@ -13,7 +13,7 @@ /obj/item/flag/attackby(obj/item/W, mob/user, params) . = ..() - if(is_hot(W) && !(resistance_flags & ON_FIRE)) + if(W.get_heat() && !(resistance_flags & ON_FIRE)) user.visible_message("[user] lights [src] with [W].", "You light [src] with [W].", "You hear a low whoosh.") fire_act() @@ -259,7 +259,7 @@ log_game("[key_name(user)] has hidden [I] in [src] ready for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).") investigate_log("[key_name(user)] has hidden [I] in [src] ready for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).", INVESTIGATE_BOMB) add_attack_logs(user, src, "has hidden [I] ready for detonation in", ATKLOG_MOST) - else if(is_hot(I) && !(resistance_flags & ON_FIRE) && boobytrap && trapper) + else if(I.get_heat() && !(resistance_flags & ON_FIRE) && boobytrap && trapper) var/turf/bombturf = get_turf(src) var/area/A = get_area(bombturf) log_game("[key_name_admin(user)] has lit [src] trapped with [boobytrap] by [key_name_admin(trapper)] at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).") diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index d936ec32227..03415cbecf5 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -61,5 +61,5 @@ var/obj/item/tank/T = W blow(T, user) return - if(is_sharp(W) || is_hot(W) || is_pointed(W)) + if(is_sharp(W) || W.get_heat() || is_pointed(W)) burst() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index 8aab03be8a5..588e3f243e8 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -264,7 +264,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list ( return TRUE /obj/item/stack/sheet/mineral/plasma/attackby(obj/item/I, mob/living/user, params) - if(is_hot(I)) + if(I.get_heat()) log_and_set_aflame(user, I) else return ..() diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm index 60ec8bf0efc..72f286458d9 100644 --- a/code/game/objects/items/tools/welder.dm +++ b/code/game/objects/items/tools/welder.dm @@ -207,6 +207,9 @@ if(reagents.check_and_add("fuel", maximum_fuel, 2 * coeff)) update_icon() +/obj/item/weldingtool/get_heat() + return tool_enabled * 2500 + /obj/item/weldingtool/largetank name = "industrial welding tool" desc = "A slightly larger welder with a larger tank." diff --git a/code/game/objects/items/weapons/cigs.dm b/code/game/objects/items/weapons/cigs.dm index 9c54f803b83..6e2d363c319 100644 --- a/code/game/objects/items/weapons/cigs.dm +++ b/code/game/objects/items/weapons/cigs.dm @@ -47,12 +47,19 @@ LIGHTERS ARE IN LIGHTERS.DM reagents.set_reacting(FALSE) // so it doesn't react until you light it if(list_reagents) reagents.add_reagent_list(list_reagents) + RegisterSignal(src, COMSIG_ITEM_BEING_ATTACKED, PROC_REF(can_light)) /obj/item/clothing/mask/cigarette/Destroy() QDEL_NULL(reagents) STOP_PROCESSING(SSobj, src) return ..() +/obj/item/clothing/mask/cigarette/proc/can_light(obj/item/cigarette, obj/item/lighting_item) + SIGNAL_HANDLER + if(lighting_item.get_heat()) + light() + return COMPONENT_CANCEL_ATTACK_CHAIN + /obj/item/clothing/mask/cigarette/decompile_act(obj/item/matter_decompiler/C, mob/user) if(isdrone(user)) C.stored_comms["wood"] += 1 @@ -250,6 +257,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/lighters.dm b/code/game/objects/items/weapons/lighters.dm index bf720995b07..235ec5816c9 100644 --- a/code/game/objects/items/weapons/lighters.dm +++ b/code/game/objects/items/weapons/lighters.dm @@ -125,6 +125,9 @@ item_state = "[initial(item_state)][lit ? "-on" : ""]" return ..() +/obj/item/lighter/get_heat() + return lit * 1500 + // Zippo lighters /obj/item/lighter/zippo name = "zippo lighter" @@ -304,6 +307,9 @@ if(istype(mask_item, /obj/item/clothing/mask/cigarette)) return mask_item +/obj/item/match/get_heat() + return lit * 1000 + /obj/item/match/firebrand name = "firebrand" desc = "An unlit firebrand. It makes you wonder why it's not just called a stick." diff --git a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm index 92768750e7e..2086e1677e0 100644 --- a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm +++ b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm @@ -85,6 +85,9 @@ add_fingerprint(user) return +/obj/item/melee/energy/get_heat() + return active * 3500 + /obj/item/melee/energy/axe name = "energy axe" desc = "An energised battle axe." diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index d8203fe9fcd..e6bd754e6e2 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -284,7 +284,7 @@ canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS) /obj/structure/falsewall/plasma/attackby(obj/item/W, mob/user, params) - if(is_hot(W) > 300) + if(W.get_heat() > 300) var/turf/T = locate(user) message_admins("Plasma falsewall ignited by [key_name_admin(user)] in [ADMIN_VERBOSEJMP(T)]") log_game("Plasma falsewall ignited by [key_name(user)] in [AREACOORD(T)]") diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 6a4eb718120..20424ff6b73 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -177,8 +177,8 @@ sheetType = /obj/item/stack/sheet/mineral/plasma /obj/structure/mineral_door/transparent/plasma/attackby(obj/item/W, mob/user) - if(is_hot(W)) - message_admins("Plasma mineral door ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)", 0, 1) + if(W.get_heat()) + message_admins("Plasma mineral door ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)", 0, 1) log_game("Plasma mineral door ignited by [key_name(user)] in ([x], [y], [z])") investigate_log("was ignited by [key_name(user)]","atmos") TemperatureAct(100) diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm index 849b4cc1d59..c7310b9141d 100644 --- a/code/game/objects/structures/statues.dm +++ b/code/game/objects/structures/statues.dm @@ -125,11 +125,11 @@ ..() /obj/structure/statue/plasma/attackby(obj/item/W, mob/user, params) - if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite + if(W.get_heat() > 300)//If the temperature of the object is over 300, then ignite message_admins("[key_name_admin(user)] ignited a plasma statue at [COORD(loc)]") log_game("[key_name(user)] ignited plasma a statue at [COORD(loc)]") investigate_log("[key_name(user)] ignited a plasma statue at [COORD(loc)]", "atmos") - ignite(is_hot(W)) + ignite(W.get_heat()) return return ..() diff --git a/code/game/turfs/simulated/floor/mineral_floors.dm b/code/game/turfs/simulated/floor/mineral_floors.dm index fb75450a8a5..d33d5a8d2f3 100644 --- a/code/game/turfs/simulated/floor/mineral_floors.dm +++ b/code/game/turfs/simulated/floor/mineral_floors.dm @@ -36,11 +36,11 @@ PlasmaBurn() /turf/simulated/floor/mineral/plasma/attackby(obj/item/W, mob/user, params) - if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite - message_admins("Plasma flooring was ignited by [key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) in ([x],[y],[z] - JMP)",0,1) + if(W.get_heat() > 300)//If the temperature of the object is over 300, then ignite + message_admins("Plasma flooring was ignited by [key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) in ([x],[y],[z] - JMP)",0,1) log_game("Plasma flooring was ignited by [key_name(user)] in ([x],[y],[z])") investigate_log("was ignited by [key_name(user)]","atmos") - ignite(is_hot(W)) + ignite(W.get_heat()) return ..() diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index 5f7bb041f3a..57a7f7dbc04 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -106,12 +106,12 @@ smoothing_groups = list(SMOOTH_GROUP_SIMULATED_TURFS, SMOOTH_GROUP_WALLS, SMOOTH_GROUP_PLASMA_WALLS) canSmoothWith = list(SMOOTH_GROUP_PLASMA_WALLS) -/turf/simulated/wall/mineral/plasma/attackby(obj/item/W as obj, mob/user as mob) - if(is_hot(W) > 300)//If the temperature of the object is over 300, then ignite - message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1) +/turf/simulated/wall/mineral/plasma/attackby(obj/item/W, mob/user) + if(W.get_heat() > 300)//If the temperature of the object is over 300, then ignite + message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1) log_game("Plasma wall ignited by [key_name(user)] in ([x], [y], [z])") investigate_log("was ignited by [key_name(user)]","atmos") - ignite(is_hot(W)) + ignite(W.get_heat()) return ..() diff --git a/code/modules/assembly/igniter.dm b/code/modules/assembly/igniter.dm index 509d30e35b6..dd9c6f9ec05 100644 --- a/code/modules/assembly/igniter.dm +++ b/code/modules/assembly/igniter.dm @@ -59,3 +59,6 @@ if(!istype(loc, /obj/item/assembly_holder)) activate() add_fingerprint(user) + +/obj/item/assembly/igniter/get_heat() + return 2000 diff --git a/code/modules/food_and_drinks/drinks/drinks/bottle.dm b/code/modules/food_and_drinks/drinks/drinks/bottle.dm index b618c902a40..5307f00752d 100644 --- a/code/modules/food_and_drinks/drinks/drinks/bottle.dm +++ b/code/modules/food_and_drinks/drinks/drinks/bottle.dm @@ -372,7 +372,7 @@ new /obj/effect/hotspot(get_turf(target)) /obj/item/reagent_containers/food/drinks/bottle/molotov/attackby(obj/item/I, mob/user, params) - if(is_hot(I) && !active) + if(I.get_heat() && !active) active = TRUE var/turf/bombturf = get_turf(src) var/area/bombarea = get_area(bombturf) diff --git a/code/modules/food_and_drinks/drinks/drinks/shotglass.dm b/code/modules/food_and_drinks/drinks/drinks/shotglass.dm index 680c32c7e01..c181349498b 100644 --- a/code/modules/food_and_drinks/drinks/drinks/shotglass.dm +++ b/code/modules/food_and_drinks/drinks/drinks/shotglass.dm @@ -98,7 +98,7 @@ /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/attackby(obj/item/W) ..() - if(is_hot(W)) + if(W.get_heat()) fire_act() /obj/item/reagent_containers/food/drinks/drinkingglass/shotglass/attack_hand(mob/user, pickupfireoverride = TRUE) diff --git a/code/modules/hydroponics/grown/towercap.dm b/code/modules/hydroponics/grown/towercap.dm index 9303991005a..43525465b32 100644 --- a/code/modules/hydroponics/grown/towercap.dm +++ b/code/modules/hydroponics/grown/towercap.dm @@ -137,7 +137,7 @@ to_chat(user, "You add a rod to [src].") var/image/U = image(icon='icons/obj/hydroponics/equipment.dmi',icon_state="bonfire_rod",pixel_y=16) underlays += U - if(is_hot(W)) + if(W.get_heat()) lighter = user.ckey user.create_log(MISC_LOG, "lit a bonfire", src) StartBurning() diff --git a/code/modules/mob/living/carbon/human/species/golem.dm b/code/modules/mob/living/carbon/human/species/golem.dm index 55d7083777a..84a9006f9e0 100644 --- a/code/modules/mob/living/carbon/human/species/golem.dm +++ b/code/modules/mob/living/carbon/human/species/golem.dm @@ -761,6 +761,6 @@ if(resistance_flags & ON_FIRE) return - if(is_hot(P)) + if(P.get_heat()) visible_message("[src] bursts into flames!") fire_act() diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index df08b12638e..59df9c8eba7 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -460,7 +460,7 @@ to_chat(user, "You stamp the paper with your rubber stamp.") playsound(user, 'sound/items/handling/standard_stamp.ogg', 50, vary = TRUE) - if(is_hot(P)) + if(P.get_heat()) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10)) user.visible_message("[user] accidentally ignites [user.p_themselves()]!", \ "You miss the paper and accidentally light yourself on fire!") diff --git a/code/modules/paperwork/paper_bundle.dm b/code/modules/paperwork/paper_bundle.dm index 21afc9c66b3..60646ef54c6 100644 --- a/code/modules/paperwork/paper_bundle.dm +++ b/code/modules/paperwork/paper_bundle.dm @@ -53,7 +53,7 @@ to_chat(user, "You add [(W.name == "photo") ? "the photo" : W.name] to [(src.name == "paper bundle") ? "the paper bundle" : src.name].") user.unEquip(W) W.loc = src - else if(is_hot(W)) + else if(W.get_heat()) burnpaper(W, user) else if(istype(W, /obj/item/paper_bundle)) user.unEquip(W) @@ -85,7 +85,7 @@ user.visible_message("[user] holds [heating_object] up to [src], it looks like [user.p_theyre()] trying to burn it!", "You hold [heating_object] up to [src], burning it slowly.") - if(!do_after(user, 2 SECONDS, target = src) || !is_hot(heating_object)) + if(!do_after(user, 2 SECONDS, target = src) || !heating_object.get_heat()) return user.visible_message("[user] burns right through [src], turning it to ash. It flutters through the air before settling on the floor in a heap.", \ "You burn right through [src], turning it to ash. It flutters through the air before settling on the floor in a heap.") diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm index 16999baf0ed..e894c699d41 100644 --- a/code/modules/paperwork/paperplane.dm +++ b/code/modules/paperwork/paperplane.dm @@ -70,7 +70,7 @@ internal_paper.attackby(P, user) //spoofed attack to update internal paper. update_icon() - else if(is_hot(P)) + else if(P.get_heat()) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10)) user.visible_message("[user] accidentally ignites [user.p_themselves()]!", \ "You miss [src] and accidentally light yourself on fire!") diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm index 75e999732af..5b231a81701 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/P, mob/living/carbon/human/user, params) //Stolen from papercode ..() - if(is_hot(P)) + if(P.get_heat()) if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10)) user.visible_message("[user] accidentally ignites [user.p_themselves()]!", \ "You miss the paper and accidentally light yourself on fire!") diff --git a/code/modules/projectiles/guns/energy/special_eguns.dm b/code/modules/projectiles/guns/energy/special_eguns.dm index cced4f362f0..51fbb320263 100644 --- a/code/modules/projectiles/guns/energy/special_eguns.dm +++ b/code/modules/projectiles/guns/energy/special_eguns.dm @@ -190,6 +190,9 @@ /obj/item/gun/energy/plasmacutter/update_overlays() return list() +/obj/item/gun/energy/plasmacutter/get_heat() + return 3800 + /obj/item/gun/energy/plasmacutter/adv name = "advanced plasma cutter" icon_state = "adv_plasmacutter"