mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 20:47:10 +01:00
Oil temperature reaction tweaks (#21201)
This commit is contained in:
@@ -175,20 +175,35 @@
|
||||
var/reagent_after_burning = "ash"
|
||||
|
||||
/datum/reagent/oil/reaction_temperature(exposed_temperature, exposed_volume)
|
||||
if(exposed_temperature > T0C + 600)
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
holder.my_atom.visible_message("<b>The oil burns!</b>")
|
||||
var/datum/reagents/old_holder = holder
|
||||
fire_flash_log(holder, id)
|
||||
if(holder)
|
||||
holder.del_reagent(id) // Remove first. Else fireflash triggers a reaction again
|
||||
if(exposed_temperature <= T0C + 600)
|
||||
return
|
||||
|
||||
fireflash(T, min(max(0, volume / 40), 8))
|
||||
var/datum/effect_system/smoke_spread/bad/BS = new
|
||||
BS.set_up(1, FALSE, T)
|
||||
BS.start()
|
||||
if(!QDELETED(old_holder) && reagent_after_burning)
|
||||
old_holder.add_reagent(reagent_after_burning, round(volume * 0.5))
|
||||
var/violent = volume > 30
|
||||
var/message_type = violent ? "class='boldwarning'" : "class='warning'"
|
||||
holder.my_atom.visible_message("<span [message_type]>The oil [violent ? "boils and burns violently" : "burns"]!</span>")
|
||||
|
||||
var/datum/reagents/old_holder = holder
|
||||
var/turf/T = get_turf(holder.my_atom)
|
||||
var/smoke_type = /datum/effect_system/smoke_spread
|
||||
|
||||
if(violent)
|
||||
// Log -> remove reagent -> fireflash. Else the log fails or fireflash triggers a reaction again
|
||||
fire_flash_log(holder, id)
|
||||
holder.del_reagent(id)
|
||||
fireflash(T, clamp(volume / 40, 0, 8))
|
||||
|
||||
smoke_type = /datum/effect_system/smoke_spread/bad
|
||||
else
|
||||
holder.del_reagent(id)
|
||||
|
||||
// Flavor reaction effects
|
||||
playsound(T, 'sound/goonstation/misc/drinkfizz.ogg', 80, TRUE)
|
||||
var/datum/effect_system/smoke_spread/BS = new smoke_type
|
||||
BS.set_up(1, FALSE, T)
|
||||
BS.start()
|
||||
|
||||
if(!QDELETED(old_holder) && reagent_after_burning)
|
||||
old_holder.add_reagent(reagent_after_burning, round(volume * 0.5))
|
||||
|
||||
/datum/reagent/oil/reaction_turf(turf/T, volume)
|
||||
if(volume >= 3 && !isspaceturf(T) && !(locate(/obj/effect/decal/cleanable/blood/oil) in T))
|
||||
|
||||
Reference in New Issue
Block a user