Files
CHOMPStation2/code/game/objects/effects/prop/columnblast.dm
2025-04-12 14:14:28 +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/testing/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.fire_stacks += 2
L.add_modifier(/datum/modifier/fire/stack_managed/intense, 30 SECONDS)
return TRUE