mirror of
https://github.com/evilew/GS13-Citadel.git
synced 2026-07-11 08:14:51 +01:00
a8b6735093
this fixes a decal issue, where it would show up in map maker normally but randomly rotate in the live server
50 lines
1.5 KiB
Plaintext
50 lines
1.5 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(mapload)
|
|
. = ..()
|
|
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, origin)
|
|
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 = 'GainStation13/icons/turf/decals.dmi' //GS13 EDIT
|
|
icon_state = "warningline"
|
|
layer = TURF_DECAL_LAYER
|
|
plane = ABOVE_WALL_PLANE
|
|
|
|
/obj/effect/turf_decal/Initialize(mapload)
|
|
..()
|
|
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, dir, CLEAN_GOD, color, null, null, alpha) //BLUEMOON FIX - ADDED BY GS13
|