diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
index 796a3afedd..b238c5ba36 100644
--- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
+++ b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm
@@ -16,6 +16,7 @@
message_Trigger = "Whom will you subvert to your will?"
must_be_capacitated = TRUE
bloodsucker_can_buy = TRUE
+ var/success
/datum/action/bloodsucker/targeted/mesmerize/CheckCanUse(display_error)
. = ..()
@@ -97,7 +98,8 @@
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30)
user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 30)
if(do_mob(user, target, 30, TRUE, TRUE)) // 3 seconds windup
- if(CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid
+ success = CheckCanTarget(target)
+ if(success) // target just has to be out of view when it is fully charged in order to avoid
PowerActivatedSuccessfully() // blood & cooldown only altered if power activated successfully - less "fuck you"-y
target.face_atom(user)
target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time) // pretty much purely cosmetic
@@ -105,8 +107,15 @@
to_chat(user, "[target] is fixed in place by your hypnotic gaze.")
target.next_move = world.time + power_time // <--- Use direct change instead. We want an unmodified delay to their next move // target.changeNext_move(power_time) // check click.dm
target.notransform = TRUE // <--- Fuck it. We tried using next_move, but they could STILL resist. We're just doing a hard freeze.
+ else
+ to_chat(user, "[target] has escaped your gaze!")
+ DeactivatePower()
+ DeactivateRangedAbility()
+ StartCooldown()
+ // oops! if they knew how they could just spam stun the victim and themselves.
+
spawn(power_time)
- if(istype(target))
+ if(istype(target) && success)
target.notransform = FALSE
// They Woke Up! (Notice if within view)
if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) )