diff --git a/code/game/gamemodes/shadowling/shadowling_abilities.dm b/code/game/gamemodes/shadowling/shadowling_abilities.dm
index 02b3be7adca..7c24f988d0a 100644
--- a/code/game/gamemodes/shadowling/shadowling_abilities.dm
+++ b/code/game/gamemodes/shadowling/shadowling_abilities.dm
@@ -46,13 +46,26 @@
return
var/mob/living/carbon/human/M = target
user.visible_message("[user]'s eyes flash a blinding red!")
- target.visible_message("[target] freezes in place, [target.p_their()] eyes glazing over...")
- if(in_range(target, user))
+ var/distance = get_dist(target, user)
+ if (distance <= 1) //Melee glare
+ target.visible_message("[target] freezes in place, [target.p_their()] eyes glazing over...")
to_chat(target, "Your gaze is forcibly drawn into [user]'s eyes, and you are mesmerized by [user.p_their()] heavenly beauty...")
- else //Only alludes to the shadowling if the target is close by
+ target.Stun(10)
+ M.AdjustSilence(10)
+ else //Distant glare
+ var/loss = 10 - distance
+ var/duration = 10 - loss
+ if(loss <= 0)
+ to_chat(user, "Your glare had no effect over such long distance!")
+ return
+ target.slowed = duration
+ target.stuttering = duration
+ to_chat(target, "A red light flashes across your vision, and your mind tries to resist them.. you are exhausted..")
+ sleep(duration*10)
+ target.Stun(loss)
+ M.AdjustSilence(loss)
+ target.visible_message("[target] freezes in place, [target.p_their()] eyes glazing over...")
to_chat(target, "Red lights suddenly dance in your vision, and you are mesmerized by the heavenly lights...")
- target.Stun(10)
- M.AdjustSilence(10)
/obj/effect/proc_holder/spell/aoe_turf/veil
name = "Veil"