diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 1c0dc4b74bf..93fbbdf5b07 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -476,7 +476,7 @@ var/global/list/uneatable = list(
/obj/machinery/singularity/narsie/large/New()
..()
- world << "NAR-SIE HAS RISEN"
+ world << "NAR-SIE HAS RISEN"
if(emergency_shuttle)
emergency_shuttle.incall(0.5) // Cannot recall
@@ -488,23 +488,52 @@ var/global/list/uneatable = list(
if(prob(25))
mezzer()
-/obj/machinery/singularity/narsie/consume(var/atom/A) //Has its own consume proc because it doesn't need energy and I don't want BoHs to explode it. --NEO
- if(is_type_in_list(A, uneatable))
- return 0
- if (istype(A,/mob/living))//Mobs get gibbed
- A:gib()
- else if(istype(A,/obj/))
- A:ex_act(1.0)
- if(A) del(A)
+
+/obj/machinery/singularity/narsie/Bump(atom/A)//you dare stand before a god?!
+ godsmack(A)
+ return
+
+/obj/machinery/singularity/narsie/Bumped(atom/A)
+ godsmack(A)
+ return
+
+/obj/machinery/singularity/narsie/proc/godsmack(var/atom/A)
+ if(istype(A,/obj/))
+ var/obj/O = A
+ O.ex_act(1.0)
+ if(O) del(O)
+
else if(isturf(A))
var/turf/T = A
- if(T.intact)
- for(var/obj/O in T.contents)
- if(O.level != 1)
- continue
- if(O.invisibility == 101)
- src.consume(O)
- A:ChangeTurf(/turf/space)
+ T.ChangeTurf(/turf/simulated/floor/engine/cult)
+
+
+/obj/machinery/singularity/narsie/mezzer()
+ for(var/mob/living/carbon/human/M in oviewers(8, src))
+ if(M.stat == CONSCIOUS)
+ if(iscultist(M))
+ continue
+ else
+ M << "\red You feel your sanity crumble away in an instant as you gaze upon [src.name]..."
+ M.apply_effect(3, STUN)
+
+
+/obj/machinery/singularity/narsie/consume(var/atom/A)
+ if(is_type_in_list(A, uneatable))
+ return 0
+
+ if(istype(A,/mob/living/))
+ var/mob/living/C = A
+ if(!iscultist(C))//if someone's not a cultist (includes constructs/cult xenos/whatever)
+ C.dust()
+
+ if(isturf(A))
+ var/turf/T = A
+ if(istype(T, /turf/simulated/floor))
+ if(prob(20)) T.ChangeTurf(/turf/simulated/floor/engine/cult)
+
+ else if(istype(T,/turf/simulated/wall))
+ if(prob(20)) T.ChangeTurf(/turf/simulated/wall/cult)
return
/obj/machinery/singularity/narsie/ex_act() //No throwing bombs at it either. --NEO