Files
CHOMPStation2/code/game/objects/effects/prop/columnblast.dm
CHOMPStation2StaffMirrorBot 9f292671ae [MIRROR] Port /datum/status_effect and convert wetness and fire stacks to it (#11666)
Co-authored-by: ShadowLarkens <shadowlarkens@gmail.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
2025-09-17 14:21:49 +02:00

49 lines
1.2 KiB
Plaintext

/obj/effect/temporary_effect/eruption
name = "eruption"
desc = "Oh shit!"
icon_state = "pool"
icon = 'icons/effects/64x64.dmi'
time_to_die = 0.7 SECONDS
pixel_x = -16
/obj/effect/temporary_effect/eruption/Initialize(mapload, var/ttd = 10 SECONDS, var/newcolor)
if(ttd)
time_to_die += ttd
addtimer(CALLBACK(src, PROC_REF(on_eruption), get_turf(src)), time_to_die - 0.2 SECONDS, TIMER_DELETE_ME)
if(newcolor)
color = newcolor
. = ..()
flick("[icon_state]_create",src)
/obj/effect/temporary_effect/eruption/proc/on_eruption(var/turf/Target) // Override for specific functions, as below.
flick("[icon_state]_erupt",src)
return TRUE
/obj/effect/temporary_effect/eruption/test/on_eruption(var/turf/Target)
flick("[icon_state]_erupt",src)
if(Target)
new /obj/effect/explosion(Target)
return TRUE
/*
* Subtypes
*/
/obj/effect/temporary_effect/eruption/flamestrike
desc = "A bubbling pool of fire!"
/obj/effect/temporary_effect/eruption/flamestrike/on_eruption(var/turf/Target)
flick("[icon_state]_erupt",src)
if(Target)
Target.hotspot_expose(1000, 50, 1)
for(var/mob/living/L in Target)
L.adjust_fire_stacks(2)
L.ignite_mob()
return TRUE