Files
GS13NG/code/game/objects/effects/decals/decal.dm
Ghom 25dbed5b0b Made the decal component an element. (#12388)
* Made the decal component an element.

* Is this really worth it?

* Oh.
2020-05-30 14:06:53 -07:00

50 lines
1.4 KiB
Plaintext

/obj/effect/decal
name = "decal"
plane = FLOOR_PLANE
anchored = TRUE
resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF
var/turf_loc_check = TRUE
/obj/effect/decal/Initialize()
. = ..()
if(turf_loc_check && (!isturf(loc) || NeverShouldHaveComeHere(loc)))
return INITIALIZE_HINT_QDEL
/obj/effect/decal/blob_act(obj/structure/blob/B)
if(B && B.loc == loc)
qdel(src)
/obj/effect/decal/proc/NeverShouldHaveComeHere(turf/T)
return isclosedturf(T) || isgroundlessturf(T)
/obj/effect/decal/ex_act(severity, target)
qdel(src)
/obj/effect/decal/fire_act(exposed_temperature, exposed_volume)
if(!(resistance_flags & FIRE_PROOF)) //non fire proof decal or being burned by lava
qdel(src)
/obj/effect/decal/HandleTurfChange(turf/T)
..()
if(T == loc && NeverShouldHaveComeHere(T))
qdel(src)
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/obj/effect/turf_decal
icon = 'icons/turf/decals.dmi'
icon_state = "warningline"
layer = TURF_DECAL_LAYER
plane = ABOVE_WALL_PLANE
/obj/effect/turf_decal/Initialize()
..()
return INITIALIZE_HINT_QDEL
/obj/effect/turf_decal/ComponentInitialize()
. = ..()
var/turf/T = loc
if(!istype(T)) //you know this will happen somehow
CRASH("Turf decal initialized in an object/nullspace")
T.AddElement(/datum/element/decal, icon, icon_state, turn(dir, -dir2angle(T.dir)), CLEAN_GOD, color, null, null, alpha)