From 9ec828f1f24820a8b97748efdc1ea61bb9321417 Mon Sep 17 00:00:00 2001 From: raspyosu Date: Thu, 27 Feb 2020 16:29:15 -0500 Subject: [PATCH] lunge & mesmerize tweaks lunge nerfed (holy FUCK) - windup reverted to 0.7s - range reverted to 3 - adjacency check fixed (must've been tired) mesmerize - now can be broken via line of sight breaking (checks for LoS every 0.5s there is probably a better way of doing this) --- .../antagonists/bloodsucker/powers/lunge.dm | 6 ++--- .../bloodsucker/powers/mesmerize.dm | 26 ++++++++++++------- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm index c3a3090d55..ea25286ba9 100644 --- a/code/modules/antagonists/bloodsucker/powers/lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/lunge.dm @@ -7,7 +7,7 @@ button_icon_state = "power_lunge" bloodcost = 10 cooldown = 120 - target_range = 5 + target_range = 3 // artur was right power_activates_immediately = TRUE message_Trigger = "Whom will you ensnare within your grasp?" must_be_capacitated = TRUE @@ -61,7 +61,7 @@ addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS) target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing owner.playsound_local(owner, 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // audio feedback to the user - if(do_mob(owner, owner, 6, TRUE, TRUE)) + if(do_mob(owner, owner, 7, TRUE, TRUE)) walk_towards(owner, T, 0.1, 10) // yes i know i shouldn't use this but i don't know how to work in anything better if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting) var/send_dir = get_dir(owner, T) @@ -80,7 +80,7 @@ target.grabbedby(owner) // Taken from mutations.dm under changelings target.grippedby(owner, instant = TRUE) //instant aggro grab break - sleep(i*3) + sleep(3) /datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE diff --git a/code/modules/antagonists/bloodsucker/powers/mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm index b238c5ba36..d715a1bb69 100644 --- a/code/modules/antagonists/bloodsucker/powers/mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm @@ -73,7 +73,7 @@ to_chat(owner, "You're too far outside your victim's view.") return FALSE - if(target.has_status_effect(STATUS_EFFECT_MESMERIZE)) // ? + if(target.has_status_effect(STATUS_EFFECT_MESMERIZE)) // ignores facing once the windup has started (now i know why i put this here!) return TRUE // Check: Facing target? @@ -97,21 +97,27 @@ var/power_time = 138 + level_current * 12 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 + for(var/i in 1 to 6) // this is a test lol 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 - target.Stun(power_time) - 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. + if(success) + if(i==6) + 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 + target.Stun(power_time) + 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. + break + sleep(5) else to_chat(user, "[target] has escaped your gaze!") + target.remove_status_effect(STATUS_EFFECT_MESMERIZE) + user.remove_status_effect(STATUS_EFFECT_MESMERIZE) DeactivatePower() DeactivateRangedAbility() StartCooldown() + break // oops! if they knew how they could just spam stun the victim and themselves. spawn(power_time)