diff --git a/code/datums/elements/decal.dm b/code/datums/elements/decal.dm index e3baf9aafa..bc322b18c0 100644 --- a/code/datums/elements/decal.dm +++ b/code/datums/elements/decal.dm @@ -12,6 +12,8 @@ * such collision by forcing a non-collision. */ var/rotated + //BLUEMOON FIX - ADDED BY GS13 + var/initial_dir // Stores the initial direction of the decal /datum/element/decal/Attach(atom/target, _icon, _icon_state, _dir, _cleanable=CLEAN_GOD, _color, _layer=TURF_LAYER, _description, _alpha=255, _rotated=FALSE) . = ..() @@ -20,6 +22,8 @@ description = _description cleanable = _cleanable rotated = _rotated + //BLUEMOON FIX - ADDED BY GS13 + initial_dir = _dir // Store the initial direction RegisterSignal(target,COMSIG_ATOM_UPDATE_OVERLAYS, PROC_REF(apply_overlay), TRUE) if(isturf(target)) @@ -63,7 +67,8 @@ /datum/element/decal/proc/apply_overlay(atom/source, list/overlay_list) SIGNAL_HANDLER - + //BLUEMOON FIX - ADDED BY GS13 + pic.dir = initial_dir // Use the initial direction instead of the turf's direction overlay_list += pic /datum/element/decal/proc/shuttlemove_react(datum/source, turf/newT) diff --git a/code/game/objects/effects/decals/decal.dm b/code/game/objects/effects/decals/decal.dm index 1a44e806e0..14e7f42380 100644 --- a/code/game/objects/effects/decals/decal.dm +++ b/code/game/objects/effects/decals/decal.dm @@ -46,5 +46,4 @@ var/turf/T = loc if(!istype(T)) //you know this will happen somehow CRASH("Turf decal initialized in an object/nullspace") - var/turn_dir = 180 - dir2angle(T.dir) //Turning a dir by 0 results in a roulette of random dirs. - T.AddElement(/datum/element/decal, icon, icon_state, turn_dir ? turn(dir, turn_dir) : dir, CLEAN_GOD, color, null, null, alpha, FALSE) + T.AddElement(/datum/element/decal, icon, icon_state, dir, CLEAN_GOD, color, null, null, alpha) //BLUEMOON FIX - ADDED BY GS13