mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
[Goonchem] Reagent Temperature
This commit is contained in:
@@ -90,7 +90,8 @@
|
||||
icon_state = "cobweb1"
|
||||
burntime = 1
|
||||
|
||||
/obj/effect/decal/cleanable/cobweb/fire_act()
|
||||
/obj/effect/decal/cleanable/cobweb/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/decal/cleanable/molten_object
|
||||
|
||||
@@ -35,22 +35,9 @@
|
||||
if(!reagents.total_volume && !noclear) //scooped up all of it
|
||||
qdel(src)
|
||||
return
|
||||
if(is_hot(W)) //todo: make heating a reagent holder proc
|
||||
if(istype(W, /obj/item/clothing/mask/cigarette))
|
||||
return
|
||||
else
|
||||
src.reagents.chem_temp += 15
|
||||
src.reagents.handle_reactions()
|
||||
to_chat(user, "<span class='notice'>You heat [src] with [W]!</span>")
|
||||
|
||||
/obj/effect/decal/cleanable/ex_act()
|
||||
if(reagents)
|
||||
for(var/datum/reagent/R in reagents.reagent_list)
|
||||
R.on_ex_act()
|
||||
..()
|
||||
|
||||
/obj/effect/decal/cleanable/fire_act()
|
||||
if(reagents)
|
||||
reagents.chem_temp += 30
|
||||
reagents.handle_reactions()
|
||||
..()
|
||||
..()
|
||||
@@ -84,7 +84,10 @@
|
||||
|
||||
// foam disolves when heated
|
||||
// except metal foams
|
||||
/obj/effect/particle_effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
/obj/effect/particle_effect/foam/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE) //Don't heat the reagents inside
|
||||
return
|
||||
|
||||
/obj/effect/particle_effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) // overriden to prevent weird behaviors with heating reagents inside
|
||||
if(!metal && prob(max(0, exposed_temperature - 475)))
|
||||
flick("[icon_state]-disolve", src)
|
||||
|
||||
|
||||
@@ -12,8 +12,5 @@
|
||||
/obj/effect/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
|
||||
return
|
||||
|
||||
/obj/effect/fire_act()
|
||||
return
|
||||
|
||||
/obj/effect/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE)
|
||||
return FALSE
|
||||
@@ -180,6 +180,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 300)
|
||||
endurance -= 5
|
||||
CheckEndurance()
|
||||
|
||||
@@ -113,7 +113,8 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/effect/snow/fire_act()
|
||||
/obj/effect/snow/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/snow/ex_act(severity)
|
||||
@@ -133,7 +134,8 @@
|
||||
..()
|
||||
qdel(src)
|
||||
|
||||
/obj/item/snowball/fire_act()
|
||||
/obj/item/snowball/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
qdel(src)
|
||||
|
||||
/obj/item/snowball/ex_act(severity)
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 300)
|
||||
health -= 5
|
||||
healthcheck()
|
||||
|
||||
@@ -51,7 +51,8 @@
|
||||
light("<span class='notice'>[user] tilts [C] and lights [src] with it.</span>")
|
||||
|
||||
|
||||
/obj/item/candle/fire_act()
|
||||
/obj/item/candle/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
if(!lit)
|
||||
light() //honk
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/taperecorder/fire_act()
|
||||
/obj/item/taperecorder/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
mytape.ruin() //Fires destroy the tape
|
||||
return ..()
|
||||
|
||||
@@ -262,7 +262,8 @@
|
||||
var/list/timestamp = list()
|
||||
var/ruined = 0
|
||||
|
||||
/obj/item/tape/fire_act()
|
||||
/obj/item/tape/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
ruin()
|
||||
|
||||
/obj/item/tape/attack_self(mob/user)
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
user.visible_message("<span class='notice'>[user] [rolled ? "rolls up" : "unfurls"] [src].</span>", "<span class='notice'>You [rolled ? "roll up" : "unfurl"] [src].</span>", "<span class='warning'>You hear fabric rustling.</span>")
|
||||
update_icon()
|
||||
|
||||
/obj/item/flag/fire_act(global_overlay = FALSE)
|
||||
/obj/item/flag/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = FALSE)
|
||||
..()
|
||||
update_icon()
|
||||
|
||||
|
||||
@@ -50,9 +50,9 @@
|
||||
burst()
|
||||
|
||||
/obj/item/latexballon/temperature_expose(datum/gas_mixture/air, temperature, volume)
|
||||
..()
|
||||
if(temperature > T0C+100)
|
||||
burst()
|
||||
return
|
||||
|
||||
/obj/item/latexballon/attackby(obj/item/W, mob/user, params)
|
||||
if(istype(W, /obj/item/tank))
|
||||
|
||||
@@ -179,7 +179,8 @@ var/global/list/datum/stack_recipe/adamantine_recipes = list(
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/item/stack/sheet/mineral/plasma/fire_act()
|
||||
/obj/item/stack/sheet/mineral/plasma/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, amount*10)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -275,7 +275,8 @@
|
||||
playsound(src, 'sound/effects/snap.ogg', 50, 1)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/toy/snappop/fire_act()
|
||||
/obj/item/toy/snappop/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
pop_burst()
|
||||
|
||||
/obj/item/toy/snappop/throw_impact(atom/hit_atom)
|
||||
@@ -1689,5 +1690,5 @@ obj/item/toy/cards/deck/syndicate/black
|
||||
/obj/item/restraints/handcuffs/toy
|
||||
desc = "Toy handcuffs. Plastic and extremely cheaply made."
|
||||
throwforce = 0
|
||||
breakouttime = 0
|
||||
breakouttime = 0
|
||||
ignoresClumsy = TRUE
|
||||
@@ -61,7 +61,8 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/clothing/mask/cigarette/fire_act()
|
||||
/obj/item/clothing/mask/cigarette/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
light()
|
||||
|
||||
/obj/item/clothing/mask/cigarette/attackby(obj/item/W as obj, mob/user as mob, params)
|
||||
|
||||
@@ -166,7 +166,8 @@
|
||||
location.hotspot_expose(700, 5)
|
||||
return
|
||||
|
||||
/obj/item/match/fire_act()
|
||||
/obj/item/match/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
matchignite()
|
||||
|
||||
/obj/item/match/proc/matchignite()
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
/obj/move_crushed(atom/movable/pusher, force = MOVE_FORCE_DEFAULT, direction)
|
||||
collision_damage(pusher, force, direction)
|
||||
return TRUE
|
||||
|
||||
|
||||
/obj/proc/collision_damage(atom/movable/pusher, force = MOVE_FORCE_DEFAULT, direction)
|
||||
var/amt = max(0, ((force - (move_resist * MOVE_FORCE_CRUSH_RATIO)) / (move_resist * MOVE_FORCE_CRUSH_RATIO)) * 10)
|
||||
take_damage(amt, BRUTE)
|
||||
@@ -163,14 +163,15 @@
|
||||
|
||||
//// FIRE
|
||||
|
||||
/obj/fire_act(global_overlay=1)
|
||||
/obj/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
if(!burn_state)
|
||||
burn_state = ON_FIRE
|
||||
SSfires.processing[src] = src
|
||||
burn_world_time = world.time + burntime*rand(10,20)
|
||||
if(global_overlay)
|
||||
overlays += fire_overlay
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/proc/burn()
|
||||
empty_object_contents(1, loc)
|
||||
|
||||
@@ -157,6 +157,7 @@
|
||||
new /obj/structure/alien/weeds(T, linked_node)
|
||||
|
||||
/obj/structure/alien/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 300)
|
||||
take_damage(5, BURN, 0, 0)
|
||||
|
||||
@@ -294,6 +295,7 @@
|
||||
Burst(kill = TRUE)
|
||||
|
||||
/obj/structure/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 500)
|
||||
take_damage(5, BURN, 0, 0)
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ LINEN BINS
|
||||
else icon_state = "linenbin-full"
|
||||
|
||||
|
||||
/obj/structure/bedsheetbin/fire_act()
|
||||
/obj/structure/bedsheetbin/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
if(!amount)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -249,6 +249,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/falsewall/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 300)
|
||||
burnbabyburn()
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/structure/girder/temperature_expose(datum/gas_mixture/air, exposed_temperature)
|
||||
..()
|
||||
var/temp_check = exposed_temperature
|
||||
if(temp_check >= GIRDER_MELTING_TEMP)
|
||||
take_damage(10)
|
||||
|
||||
@@ -261,10 +261,10 @@
|
||||
return 0
|
||||
|
||||
/obj/structure/grille/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(!broken)
|
||||
if(exposed_temperature > T0C + 1500)
|
||||
take_damage(1, BURN, 0, 0)
|
||||
..()
|
||||
|
||||
/obj/structure/grille/hitby(atom/movable/AM)
|
||||
if(istype(AM, /obj))
|
||||
|
||||
@@ -229,6 +229,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/structure/mineral_door/transparent/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 300)
|
||||
TemperatureAct(exposed_temperature)
|
||||
|
||||
|
||||
@@ -169,6 +169,7 @@
|
||||
icon_state = "xeno"
|
||||
|
||||
/obj/structure/statue/plasma/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > 300)
|
||||
PlasmaBurn(exposed_temperature)
|
||||
|
||||
@@ -359,7 +360,8 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/snowman/built/fire_act()
|
||||
/obj/structure/snowman/built/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
|
||||
..()
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
@@ -461,9 +461,9 @@ var/global/wcCommon = pick(list("#379963", "#0d8395", "#58b5c3", "#49e46e", "#8f
|
||||
overlays += crack_overlay
|
||||
|
||||
/obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
|
||||
..()
|
||||
if(exposed_temperature > (T0C + heat_resistance))
|
||||
take_damage(round(exposed_volume / 100), BURN, 0, 0)
|
||||
..()
|
||||
|
||||
/obj/structure/window/GetExplosionBlock()
|
||||
return reinf && fulltile ? real_explosion_block : 0
|
||||
|
||||
Reference in New Issue
Block a user