diff --git a/code/__defines/_planes+layers.dm b/code/__defines/_planes+layers.dm
index 6221409788..6a4d5c4d81 100644
--- a/code/__defines/_planes+layers.dm
+++ b/code/__defines/_planes+layers.dm
@@ -90,6 +90,8 @@ What is the naming convention for planes or layers?
#define ON_WINDOW_LAYER 3.3 // Ontop of a window
#define ABOVE_WINDOW_LAYER 3.4 //Above full tile windows so wall items are clickable
+#define ABOVE_OBJ_PLANE -30
+
// Mob planes
#define MOB_PLANE -25
#define BELOW_MOB_LAYER 3.9 // Should be converted to plane swaps
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index 1a9f116789..3665c77e91 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -15,6 +15,7 @@ would spawn and follow the beaker, even if it is carried or thrown.
pass_flags = PASSTABLE | PASSGRILLE
blocks_emissive = EMISSIVE_BLOCK_GENERIC
light_on = TRUE
+ plane = ABOVE_OBJ_PLANE
/datum/effect/effect/system
var/number = 3
@@ -267,11 +268,11 @@ steam.start() -- spawns the effect
/obj/effect/effect/smoke/bad/burntfood
color = "#000000"
time_to_live = 600
-
+
/obj/effect/effect/smoke/bad/burntfood/process()
for(var/mob/living/L in get_turf(src))
affect(L)
-
+
/obj/effect/effect/smoke/bad/burntfood/affect(var/mob/living/L) // This stuff is extra-vile.
if (!..())
return 0
@@ -392,7 +393,7 @@ steam.start() -- spawns the effect
/datum/effect/effect/system/smoke_spread/bad
smoke_type = /obj/effect/effect/smoke/bad
-
+
/datum/effect/effect/system/smoke_spread/bad/burntfood
smoke_type = /obj/effect/effect/smoke/bad/burntfood
diff --git a/code/game/objects/effects/misc.dm b/code/game/objects/effects/misc.dm
index 140f4e502d..725d26c1f5 100644
--- a/code/game/objects/effects/misc.dm
+++ b/code/game/objects/effects/misc.dm
@@ -25,7 +25,7 @@
desc = "Something swinging really wide."
icon = 'icons/effects/96x96.dmi'
icon_state = "cleave"
- plane = MOB_PLANE
+ plane = ABOVE_MOB_PLANE
layer = ABOVE_MOB_LAYER
time_to_die = 6
alpha = 140
@@ -44,6 +44,7 @@
icon = 'icons/goonstation/featherzone.dmi'
icon_state = "hazard-corners"
time_to_die = 5 SECONDS
+ plane = PLANE_LIGHTING_ABOVE
//VOREStation Edit End
// The manifestation of Zeus's might. Or just a really unlucky day.
@@ -100,6 +101,7 @@
/obj/effect/abstract
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
+ plane = ABOVE_MOB_PLANE
/obj/effect/abstract/light_spot
icon = 'icons/effects/eris_flashlight.dmi'
@@ -119,14 +121,14 @@
/obj/effect/abstract/directional_lighting/proc/face_light(atom/movable/source, angle, distance)
if(!loc) // We're in nullspace
return
-
+
// Save ourselves some matrix math
if(angle != trans_angle)
trans_angle = angle
// Doing this in one operation (tn = turn(initial(tn), angle)) has strange results...
light_spot.transform = initial(light_spot.transform)
light_spot.transform = turn(light_spot.transform, angle)
-
+
if(icon_dist != distance)
icon_dist = distance
switch(distance)
@@ -143,8 +145,8 @@
if(!force)
stack_trace("Directional light atom deleted, but not by our component")
return QDEL_HINT_LETMELIVE
-
+
vis_contents.Cut()
qdel_null(light_spot)
-
+
return ..()
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index 3a62216be6..9fc898f8c8 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -7,6 +7,7 @@
name="beam"
icon='icons/effects/beam.dmi'
icon_state="b_beam"
+ plane = ABOVE_OBJ_PLANE
var/tmp/atom/BeamSource
/obj/effect/overlay/beam/New()
@@ -62,6 +63,7 @@
icon = 'icons/turf/overlays.dmi'
icon_state = "snow"
anchored = 1
+ plane = TURF_PLANE
// Todo: Add a version that gradually reaccumulates over time by means of alpha transparency. -Spades
/obj/effect/overlay/snow/attackby(obj/item/W as obj, mob/user as mob)
diff --git a/code/game/objects/structures/cliff.dm b/code/game/objects/structures/cliff.dm
index 7c7ce94e3e..10413e3424 100644
--- a/code/game/objects/structures/cliff.dm
+++ b/code/game/objects/structures/cliff.dm
@@ -34,6 +34,7 @@ two tiles on initialization, and which way a cliff is facing may change during m
climbable = TRUE
climb_delay = 10 SECONDS
block_turf_edges = TRUE // Don't want turf edges popping up from the cliff edge.
+ plane = TURF_PLANE
var/icon_variant = null // Used to make cliffs less repeative by having a selection of sprites to display.
var/corner = FALSE // Used for icon things.
diff --git a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm
index dd4e5b4749..b258c35bb2 100644
--- a/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm
+++ b/code/modules/mob/living/carbon/human/species/station/protean_vr/protean_blob.dm
@@ -250,10 +250,12 @@
if(resting)
animate(src,alpha = 40,time = 1 SECOND)
mouse_opacity = 0
+ plane = ABOVE_OBJ_PLANE
else
mouse_opacity = 1
icon_state = "wake"
animate(src,alpha = 255,time = 1 SECOND)
+ plane = MOB_PLANE
sleep(7)
update_icon()
//Potential glob noms
@@ -342,7 +344,7 @@ var/global/list/disallowed_protean_accessories = list(
if(!force && !isturf(loc))
to_chat(src,"You can't change forms while inside something.")
return
-
+
var/panel_was_up = FALSE
if(client?.statpanel == "Protean")
panel_was_up = TRUE
@@ -472,8 +474,14 @@ var/global/list/disallowed_protean_accessories = list(
/mob/living/carbon/human/proc/nano_outofblob(var/mob/living/simple_mob/protean_blob/blob, force)
if(!istype(blob))
return
+<<<<<<< HEAD
if(blob.loc == /obj/item/weapon/rig/protean) //CHOMP Add
return //CHOMP Add
+||||||| parent of c7ec78b7a1... Merge pull request #10937 from Verkister/planecrap
+
+=======
+
+>>>>>>> c7ec78b7a1... Merge pull request #10937 from Verkister/planecrap
if(!force && !isturf(blob.loc))
to_chat(blob,"You can't change forms while inside something.")
return