diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 656a38928b3..71c8f732d48 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -14,6 +14,7 @@ var/global/list/ghdel_profiling = list() var/pass_flags = 0 var/throwpass = 0 var/germ_level = GERM_LEVEL_AMBIENT // The higher the germ level, the more germ on the atom. + var/simulated = 1 //filter for actions - used by lighting overlays ///Chemistry. var/datum/reagents/reagents = null @@ -244,8 +245,8 @@ its easier to just keep the beam vertical. /atom/proc/relaymove() return - -//called to set the atom's dir and used to add behaviour to dir-changes - Not fully used (yet) + +//called to set the atom's dir and used to add behaviour to dir-changes - Not fully used (yet) /atom/proc/set_dir(new_dir) . = new_dir != dir dir = new_dir diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm index 3edec6687eb..0cc4606419b 100644 --- a/code/game/atoms_movable.dm +++ b/code/game/atoms_movable.dm @@ -14,7 +14,6 @@ var/no_spin = 0 var/moved_recently = 0 var/mob/pulledby = null - var/simulated //filter for actions - used by lighting overlays var/area/areaMaster var/hard_deleted = 0 @@ -269,4 +268,4 @@ return 1 /atom/movable/proc/water_act(var/volume, var/temperature, var/source) //amount of water acting : temperature of water in kelvin : object that called it (for shennagins) - return 1 + return 1 diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm index 6c3172654aa..f320bb64f6c 100644 --- a/code/modules/power/singularity/singularity.dm +++ b/code/modules/power/singularity/singularity.dm @@ -5,6 +5,7 @@ var/global/narsie_cometh = 0 var/global/list/uneatable = list( /turf/space, /obj/effect/overlay, + /atom/movable/lighting_overlay, /mob/dead, /mob/camera, /mob/new_player @@ -222,6 +223,7 @@ var/global/list/uneatable = list( for(var/atom/X in orange(grav_pull,src)) // N3X: Move this up here since get_dist is slow. if(is_type_in_list(X, uneatable)) continue + if(!X.simulated) continue var/dist = get_dist(X, src) @@ -265,6 +267,8 @@ var/global/list/uneatable = list( var/gain = 0 if(is_type_in_list(A, uneatable)) return 0 + if(!A.simulated) + return 0 if (istype(A,/mob/living))//Mobs get gibbed var/mob/living/M = A gain = 20 @@ -561,6 +565,8 @@ var/global/list/uneatable = list( /obj/machinery/singularity/narsie/consume(var/atom/A) if(is_type_in_list(A, uneatable)) return 0 + if(!A.simulated) + return 0 if (istype(A,/mob/living))//Mobs get gibbed A:gib() else if(istype(A,/obj))