diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm
index 4167a7d24f8..0a627518e15 100644
--- a/code/game/objects/effects/decals/misc.dm
+++ b/code/game/objects/effects/decals/misc.dm
@@ -1,9 +1,13 @@
-/obj/effect/decal/point
- name = "arrow"
+/obj/effect/overlay/temp/point
+ name = "pointer"
icon = 'icons/mob/screen_gen.dmi'
icon_state = "arrow"
layer = 16
- mouse_opacity = 0
+ duration = 25
+
+/obj/effect/overlay/temp/point/New(loc, set_invis = 0)
+ ..()
+ invisibility = set_invis
// Used for spray that you spray at walls, tables, hydrovats etc
/obj/effect/decal/spraystill
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index 94a556d9b2e..8f5712523bc 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -111,36 +111,28 @@
/obj/item/device/flashlight/pen/afterattack(atom/target, mob/user, proximity_flag)
if(!proximity_flag)
- if(holo_cooldown)
+ if(holo_cooldown > world.time)
user << "[src] is not ready yet!"
return
var/T = get_turf(target)
if(locate(/mob/living) in T)
- CreateHolo(T, user)
+ PoolOrNew(/obj/effect/medical_holosign, list(T,user)) //produce a holographic glow
+ holo_cooldown = world.time + 100
return
..()
-/obj/item/device/flashlight/pen/proc/CreateHolo(tturf,creator)
- var/obj/effect/medical_holosign/M = new /obj/effect/medical_holosign(tturf)
- M.visible_message("[creator] created a medical hologram!")
- holo_cooldown = 1
- spawn(100)
- holo_cooldown = 0
- return
-
-/obj/effect/medical_holosign
+/obj/effect/overlay/temp/medical_holosign
name = "medical holosign"
- desc = "A small holographic barrier that indicates a medic is coming to treat a patient."
- icon = 'icons/effects/effects.dmi'
+ desc = "A small holographic glow that indicates a medic is coming to treat a patient."
icon_state = "medi_holo"
- layer = 4.1
- mouse_opacity = 0
+ duration = 30
+
+/obj/effect/medical_holosign/New(loc, creator)
+ ..()
+ playsound(loc, 'sound/machines/ping.ogg', 50, 0) //make some noise!
+ if(creator)
+ visible_message("[creator] created a medical hologram!")
-/obj/effect/medical_holosign/New()
- playsound(loc, 'sound/machines/ping.ogg', 50, 0)
- spawn(30)
- qdel(src)
- return
/obj/item/device/flashlight/seclite
name = "seclite"
diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
index aded2b10a63..22f706b7091 100644
--- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm
@@ -451,14 +451,7 @@ Auto Patrol[]"},
if(severity==2 && prob(70))
..(severity-1)
else
- var/obj/effect/overlay/pulse2 = new/obj/effect/overlay ( loc )
- pulse2.icon = 'icons/effects/effects.dmi'
- pulse2.icon_state = "empdisable"
- pulse2.name = "emp sparks"
- pulse2.anchored = 1
- pulse2.dir = pick(cardinal)
- spawn(10)
- qdel(pulse2)
+ PoolOrNew(/obj/effect/overlay/temp/emp, loc)
var/list/mob/living/carbon/targets = new
for(var/mob/living/carbon/C in view(12,src))
if(C.stat==2)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 0277e7528d2..bfeb2f6cf6e 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -326,11 +326,7 @@ var/next_mob_id = 0
if (!tile)
return 0
- var/obj/P = new /obj/effect/decal/point(tile)
- P.invisibility = invisibility
- spawn (20)
- if(P)
- qdel(P)
+ PoolOrNew(/obj/effect/overlay/temp/point, list(tile,invisibility))
return 1