From 6e32a466afcbf22591a5d6b393cd23c037973d48 Mon Sep 17 00:00:00 2001 From: raspyosu Date: Mon, 17 Feb 2020 17:24:09 -0500 Subject: [PATCH 1/8] tweak mesmerize range increased added a "windup" hardstun length increased to counteract windup windup allows target to attempt to avoid via breaking line of sight at the time the windup completes initial stun reduced to major slowdown, user also recieves slowdown to prevent sprint memes from just letting them follow around a corner if there is one --- code/datums/status_effects/debuffs.dm | 4 +- .../bloodsucker/powers/bs_mesmerize.dm | 54 ++++++++++--------- 2 files changed, 33 insertions(+), 25 deletions(-) diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index c694f27d64..999fd33a00 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -101,14 +101,16 @@ /datum/status_effect/no_combat_mode/mesmerize/on_creation(mob/living/new_owner, set_duration) . = ..() ADD_TRAIT(owner, TRAIT_MUTE, "mesmerize") + owner.add_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]", TRUE, priority = 64, override = TRUE, multiplicative_slowdown = 5, blacklisted_movetypes = FALSE? NONE : CRAWLING) /datum/status_effect/no_combat_mode/mesmerize/on_remove() . = ..() REMOVE_TRAIT(owner, TRAIT_MUTE, "mesmerize") + owner.remove_movespeed_modifier("[STATUS_EFFECT_MESMERIZE]_[id]") /obj/screen/alert/status_effect/mesmerized name = "Mesmerized" - desc = "You cant tear your sight from who is in front of you...Their gaze is simply too enthralling.." + desc = "You cant tear your sight from who is in front of you... their gaze is simply too enthralling.." icon = 'icons/mob/actions/bloodsucker.dmi' icon_state = "power_mez" diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm index dc9d1d46a0..2ee8c3e33f 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm @@ -11,8 +11,8 @@ button_icon_state = "power_mez" bloodcost = 30 cooldown = 300 - target_range = 1 - power_activates_immediately = FALSE + target_range = 3 + power_activates_immediately = TRUE message_Trigger = "Whom will you subvert to your will?" must_be_capacitated = TRUE bloodsucker_can_buy = TRUE @@ -41,6 +41,7 @@ if (A == owner) return FALSE var/mob/living/carbon/target = A // We already know it's carbon due to CheckValidTarget() + // Bloodsucker if (target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) if (display_error) @@ -62,7 +63,7 @@ to_chat(owner, "Your victim's eyes are glazed over. They cannot perceive you.") return FALSE // Check: Target See Me? (behind wall) - if (!(owner in view(target_range, get_turf(target)))) + if (!(target in view(target_range, get_turf(owner)))) // Sub-Check: GET CLOSER //if (!(owner in range(target_range, get_turf(target))) // if (display_error) @@ -70,6 +71,10 @@ if (display_error) to_chat(owner, "You're too far outside your victim's view.") return FALSE + + if (target.has_status_effect(STATUS_EFFECT_MESMERIZE)) // ? + return TRUE + // Check: Facing target? if (!is_A_facing_B(owner,target)) // in unsorted.dm if (display_error) @@ -83,28 +88,29 @@ return TRUE /datum/action/bloodsucker/targeted/mesmerize/FireTargetedPower(atom/A) - // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. - var/mob/living/carbon/target = A - var/mob/living/user = owner + // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. + var/mob/living/carbon/target = A + var/mob/living/user = owner - if(istype(target)) - target.Stun(40) //Utterly useless without this, its okay since there are so many checks to go through - target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 45) //So you cant rotate with combat mode, plus fancy status alert - - if(do_mob(user, target, 40, 0, TRUE, extra_checks = CALLBACK(src, .proc/ContinueActive, user, target))) - PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN! - var/power_time = 90 + level_current * 12 - target.apply_status_effect(STATUS_EFFECT_MESMERIZE, power_time + 80) - to_chat(user, "[target] is fixed in place by your hypnotic gaze.") - target.Stun(power_time) - 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. - spawn(power_time) - if(istype(target)) - target.notransform = FALSE - // They Woke Up! (Notice if within view) - if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) ) - to_chat(user, "[target] has snapped out of their trance.") + if(istype(target)) + PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN! + var/power_time = 138 + level_current * 12 + target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) + user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) + if(do_mob(user, target, 50, TRUE, TRUE)) + if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid + 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. + spawn(power_time) + if(istype(target)) + target.notransform = FALSE + // They Woke Up! (Notice if within view) + if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) ) + to_chat(user, "[target] has snapped out of their trance.") /datum/action/bloodsucker/targeted/mesmerize/ContinueActive(mob/living/user, mob/living/target) From 0fa679771bdd129ba089bd8d44f59b2afed33879 Mon Sep 17 00:00:00 2001 From: raspyosu Date: Mon, 17 Feb 2020 17:46:47 -0500 Subject: [PATCH 2/8] fix indentation muh spaces --- .../bloodsucker/powers/bs_mesmerize.dm | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm index 2ee8c3e33f..0e1a9d44b0 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm @@ -88,29 +88,29 @@ return TRUE /datum/action/bloodsucker/targeted/mesmerize/FireTargetedPower(atom/A) - // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. - var/mob/living/carbon/target = A - var/mob/living/user = owner + // set waitfor = FALSE <---- DONT DO THIS!We WANT this power to hold up ClickWithPower(), so that we can unlock the power when it's done. + var/mob/living/carbon/target = A + var/mob/living/user = owner - if(istype(target)) - PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN! - var/power_time = 138 + level_current * 12 - target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) - user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) - if(do_mob(user, target, 50, TRUE, TRUE)) - if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid - 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. - spawn(power_time) - if(istype(target)) - target.notransform = FALSE - // They Woke Up! (Notice if within view) - if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) ) - to_chat(user, "[target] has snapped out of their trance.") + if(istype(target)) + PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN! + var/power_time = 138 + level_current * 12 + target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) + user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) + if(do_mob(user, target, 50, TRUE, TRUE)) + if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid + 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. + spawn(power_time) + if(istype(target)) + target.notransform = FALSE + // They Woke Up! (Notice if within view) + if(istype(user) && target.stat == CONSCIOUS && (target in view(10, get_turf(user))) ) + to_chat(user, "[target] has snapped out of their trance.") /datum/action/bloodsucker/targeted/mesmerize/ContinueActive(mob/living/user, mob/living/target) From 9803a0835c4ff028f5ac3e4f99bb2502ee20fb38 Mon Sep 17 00:00:00 2001 From: raspyosu Date: Tue, 18 Feb 2020 19:04:20 -0500 Subject: [PATCH 3/8] lunge tweaks added short (20 frames at 30fps) windup w/ telegraphing via audio only played to target range increased to 4 added flavor text --- .../bloodsucker/powers/bs_lunge.dm | 40 +++++++++--------- sound/bloodsucker/lunge_warn.ogg | Bin 0 -> 73076 bytes 2 files changed, 21 insertions(+), 19 deletions(-) create mode 100644 sound/bloodsucker/lunge_warn.ogg diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm index 48e12332a2..0f2aba49b6 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm @@ -7,9 +7,9 @@ button_icon_state = "power_lunge" bloodcost = 10 cooldown = 120 - target_range = 3 + target_range = 4 power_activates_immediately = TRUE - message_Trigger = ""//"Whom will you subvert to your will?" + message_Trigger = "Whom will you ensnare within your grasp?" must_be_capacitated = TRUE bloodsucker_can_buy = TRUE @@ -59,24 +59,26 @@ // CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet // Step One: Heatseek toward Target's Turf - walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. addtimer(CALLBACK(owner, .proc/_walk, 0), 2 SECONDS) - if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting) - var/send_dir = get_dir(owner, T) - new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) - owner.spin(10) - // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination) - sleep(1) - if(target.Adjacent(owner)) - // LEVEL 2: If behind target, mute or unconscious! - if(do_knockdown) // && level_current >= 1) - target.Knockdown(15 + 10 * level_current,1) - target.adjustStaminaLoss(40 + 10 * level_current) - // Cancel Walk (we were close enough to contact them) - walk(owner, 0) - target.Stun(10,1) //Without this the victim can just walk away - target.grabbedby(owner) // Taken from mutations.dm under changelings - target.grippedby(owner, instant = TRUE) //instant aggro grab + target.playsound_local(get_turf(owner), 'sound/bloodsucker/lunge_warn.ogg', 60, FALSE, pressure_affected = FALSE) // target-only telegraphing + if(do_mob(owner, owner, 7, TRUE, TRUE)) + walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. + if(get_turf(owner) != T && !(isliving(target) && target.Adjacent(owner)) && owner.incapacitated() && owner.resting) + var/send_dir = get_dir(owner, T) + new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) + owner.spin(10) + // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination) + sleep(1.5) + if(target.Adjacent(owner)) + // LEVEL 2: If behind target, mute or unconscious! + if(do_knockdown) // && level_current >= 1) + target.Knockdown(15 + 10 * level_current,1) + target.adjustStaminaLoss(40 + 10 * level_current) + // Cancel Walk (we were close enough to contact them) + walk(owner, 0) + target.Stun(10,1) //Without this the victim can just walk away + target.grabbedby(owner) // Taken from mutations.dm under changelings + target.grippedby(owner, instant = TRUE) //instant aggro grab /datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE diff --git a/sound/bloodsucker/lunge_warn.ogg b/sound/bloodsucker/lunge_warn.ogg new file mode 100644 index 0000000000000000000000000000000000000000..0feec43228b178402fcb1e199434253316485369 GIT binary patch literal 73076 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

8|UMo*98JZ(xkh=rgE0w`c$G3q^Zd!JMY)^pKc_ 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 z�{(Zn&cUisXI+<*0|$cCX3Xkr{J0P5yF_1o2dv*xVKG`jPcMFSX$Dlv#?x*DZl? zhwqu4xcnSl+$^0)o7CGXL+JF|kHI~xuet&Jq%(^DyaYZ07U_BS&6uF2eYWP@5*$pF zIyEJEM5ljN;g+vJ0BCW|ulH51>=AC^+#KdM%-V1C6)WbpPg5*23-69FoG9mO zN;jvu-6N_Qdeg{UD4?wK?anh(2s$(l1% ziFAhXiv6WO(8kOy3Cixq=L0qVzP(%5_+wL&Uzcg%ux>nyDm&q?>1Q>yY6873EURAo z zlsV(vguVbJVa@SvgckQ_bB^dclH5e$Z2vS~C{@kTN7dzKH4?t+4>5`808{?iT%%#^3u-9J8g51@Nl&!q-yNO#1zFS z;_MF_L1j9+GUxp};AaG@`$Bzx z!7N0#8z&#QSU~jd{kc+Sl@BAB{3+rCm?Z0?LenvstvGC&tKHo@eH`nfWw)qs5`GAW zd(UT~sbJ&2z6g!ER2Q-u+4Svz+cU_DetLVn%(A+Lfu2;~AhZ%#Itl|lX$#CJU5Rq1 znIJ?=mY1Umgi;Z#`g1)I!zdqu$@jCkY44`NkU6o<%0M1~>agEnhWdr^H6urEM ztL!8sl00_8bjyzaTHqXLu3)4d|7jynKEeUL*L3acu)NsJLt#2fJKg(cN0RXaG~9t# zT|o#GLj9MmJn2pF#1K@*O&Zz|`5gS@+Ns-?JSIR(6OSyNrZ!HP13|1*;Xg(JNVOA} zH^M|yzTU0D4!k{=T9}zjL2)kxd*y3c0RNC55GgFZ`7UWZkbjWrYZg4iAFpHM06??) z-GKSIaAtG@rC+aHa1QyLS#&$G-E*wA&(02cm(*eJahN)8Pu(H};(K<_9m-c*=X}iT zbN2TOOTQ_=NPS?`S#r7cy{v|y*^tnv?!yd0QcZ9=q$TXi4Zv^%VmDR&z0QRQ0II#y z>Hy1SF>1*ZY>un~^KXl6n-9GIE%BN~0kC1*($Tq`Ca0c}sgCZNNk5B<#uTuug1J#(XXvLH9*SL#(YLi{^CVa`e0>k6@c5)eb2oK8>lB zkB-!vEf*U|{FKNk1^Lac2?sj}+YD-)a%3$)O$&?@9tlI}Y+>U&Yl0&JZU)4J|DCpi zoMI+k;c{OE&#jr)cHD{3F+Vu5s%C%;vHAO)!+T(|d&vnC&=lf>X*n-?HdK&8gFJ+i zz8ss@#QY5vVtUy&gU94jugo}zRJLu66R7cW{ADFePqLg!VzdL5;b{G5@IhcbS9zaS z0h6&h##dCtJNSzlrw>IecW!npmac6aJzZ@rMLOcyU`}wWEwfgK%(SzuQcxZlnb5uB zWAR*BEFgQC4ETL+@ZfNCtaQ)FfnBr~-@8&hv~jAB=zZNQXVHVoJG3XTKVzoA*$;0d zl^WdaJ~-4>QQYKR`RG3rQ}LWC&#kt@;TqlC-muqq&!W*~XnCZEh&f?>^u+(3{kxyK%~&xft%12W=0Y3ACdC$VWQcE zT^^_p^+Nl-y}hk}R>~;`YOa-0+e5dBv7BGRSYsL8Mjl> b?;5-d&U@1Az5q(w5Pjm?o(>#CzYO_5@T>9{ literal 0 HcmV?d00001 From 6e013d7f8c4fed4c7f0e1a6a9fc3ac2fd3b67c52 Mon Sep 17 00:00:00 2001 From: raspyosu Date: Tue, 18 Feb 2020 23:18:52 -0500 Subject: [PATCH 4/8] zzzzzz the rest of the changes to be described in new pr --- .../bloodsucker/powers/bs_cloak.dm | 52 ++++++++++++------- .../bloodsucker/powers/bs_mesmerize.dm | 38 +++++++------- 2 files changed, 51 insertions(+), 39 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm b/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm index 9d83c95f05..2281a2cecd 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm @@ -2,40 +2,56 @@ /datum/action/bloodsucker/cloak name = "Cloak of Darkness" - desc = "Blend into the shadows and become invisible to the untrained eye." + desc = "Blend into the shadows and become invisible to the untrained eye. Movement is slowed in brightly lit areas." button_icon_state = "power_cloak" bloodcost = 5 cooldown = 50 bloodsucker_can_buy = TRUE amToggle = TRUE warn_constant_cost = TRUE - var/was_running - - var/light_min = 0.2 // If lum is above this, no good. + var/moveintent_was_run + var/walk_threshold = 0.4 // arbitrary number, to be changed. + var/lum /datum/action/bloodsucker/cloak/CheckCanUse(display_error) . = ..() if(!.) return - // Must be Dark - var/turf/T = owner.loc - if(istype(T) && T.get_lumcount() > light_min) - to_chat(owner, "This area is not dark enough to blend in") - return FALSE + + // must have nobody around to see the cloak + var/watchers = viewers(9,get_turf(owner)) + for(var/mob/living/M in watchers) + if(M != owner) + to_chat(owner, "You may only vanish into the shadows unseen.") + return FALSE + return TRUE /datum/action/bloodsucker/cloak/ActivatePower() var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER) var/mob/living/user = owner - was_running = (user.m_intent == MOVE_INTENT_RUN) - if(was_running) - user.toggle_move_intent() - ADD_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") + while(bloodsuckerdatum && ContinueActive(user)) // Pay Blood Toll (if awake) - owner.alpha = max(20, owner.alpha - min(75, 10 + 5 * level_current)) + owner.alpha = max(35, owner.alpha - min(75, 10 + 5 * level_current)) bloodsuckerdatum.AddBloodVolume(-0.2) - sleep(5) // Check every few ticks that we haven't disabled this power + + moveintent_was_run = (user.m_intent == MOVE_INTENT_RUN) + var/turf/T = get_turf(user) + lum = T.get_lumcount() + + if(istype(owner.loc)) + if(lum > walk_threshold) + if(moveintent_was_run) + user.toggle_move_intent() + ADD_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") + + if(lum < walk_threshold) + if(!moveintent_was_run) + user.toggle_move_intent() + REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") + + sleep(5) // Check every few ticks /datum/action/bloodsucker/cloak/ContinueActive(mob/living/user, mob/living/target) if (!..()) @@ -43,15 +59,11 @@ if(user.stat == !CONSCIOUS) // Must be CONSCIOUS to_chat(owner, "Your cloak failed due to you falling unconcious! ") return FALSE - var/turf/T = owner.loc // Must be DARK - if(istype(T) && T.get_lumcount() > light_min) - to_chat(owner, "Your cloak failed due to there being too much light!") - return FALSE return TRUE /datum/action/bloodsucker/cloak/DeactivatePower(mob/living/user = owner, mob/living/target) ..() REMOVE_TRAIT(user, TRAIT_NORUNNING, "cloak of darkness") user.alpha = 255 - if(was_running && user.m_intent != MOVE_INTENT_RUN) + if(!moveintent_was_run) user.toggle_move_intent() diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm index 0e1a9d44b0..796a3afedd 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm @@ -21,14 +21,14 @@ . = ..() if(!.) return - if (!owner.getorganslot(ORGAN_SLOT_EYES)) + if(!owner.getorganslot(ORGAN_SLOT_EYES)) if (display_error) to_chat(owner, "You have no eyes with which to mesmerize.") return FALSE // Check: Eyes covered? var/mob/living/L = owner - if (istype(L) && L.is_eyes_covered() || !isturf(owner.loc)) - if (display_error) + if(istype(L) && L.is_eyes_covered() || !isturf(owner.loc)) + if(display_error) to_chat(owner, "Your eyes are concealed from sight.") return FALSE return TRUE @@ -38,51 +38,51 @@ /datum/action/bloodsucker/targeted/mesmerize/CheckCanTarget(atom/A,display_error) // Check: Self - if (A == owner) + if(A == owner) return FALSE var/mob/living/carbon/target = A // We already know it's carbon due to CheckValidTarget() // Bloodsucker - if (target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) + if(target.mind && target.mind.has_antag_datum(ANTAG_DATUM_BLOODSUCKER)) if (display_error) to_chat(owner, "Bloodsuckers are immune to [src].") return FALSE // Dead/Unconscious - if (target.stat > CONSCIOUS) + if(target.stat > CONSCIOUS) if (display_error) to_chat(owner, "Your victim is not [(target.stat == DEAD || HAS_TRAIT(target, TRAIT_FAKEDEATH))?"alive":"conscious"].") return FALSE // Check: Target has eyes? - if (!target.getorganslot(ORGAN_SLOT_EYES)) + if(!target.getorganslot(ORGAN_SLOT_EYES)) if (display_error) to_chat(owner, "They have no eyes!") return FALSE // Check: Target blind? - if (target.eye_blind > 0) + if(target.eye_blind > 0) if (display_error) to_chat(owner, "Your victim's eyes are glazed over. They cannot perceive you.") return FALSE // Check: Target See Me? (behind wall) - if (!(target in view(target_range, get_turf(owner)))) + if(!(target in view(target_range, get_turf(owner)))) // Sub-Check: GET CLOSER //if (!(owner in range(target_range, get_turf(target))) // if (display_error) // to_chat(owner, "You're too far from your victim.") - if (display_error) + if(display_error) 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)) // ? return TRUE // Check: Facing target? - if (!is_A_facing_B(owner,target)) // in unsorted.dm + if(!is_A_facing_B(owner,target)) // in unsorted.dm if (display_error) to_chat(owner, "You must be facing your victim.") return FALSE // Check: Target facing me? - if (!target.resting && !is_A_facing_B(target,owner)) - if (display_error) + if(!target.resting && !is_A_facing_B(target,owner)) + if(display_error) to_chat(owner, "Your victim must be facing you to see into your eyes.") return FALSE return TRUE @@ -93,12 +93,12 @@ var/mob/living/user = owner if(istype(target)) - PowerActivatedSuccessfully() // PAY COST! BEGIN COOLDOWN! var/power_time = 138 + level_current * 12 - target.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) - user.apply_status_effect(STATUS_EFFECT_MESMERIZE, 50) - if(do_mob(user, target, 50, TRUE, TRUE)) - if (CheckCanTarget(target)) // target just has to be out of view when it is fully charged in order to avoid + 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 + 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) From a570a8fea86bf35c65008e685807890607dff994 Mon Sep 17 00:00:00 2001 From: raspyosu Date: Tue, 18 Feb 2020 23:24:01 -0500 Subject: [PATCH 5/8] this is fine it's fine --- code/modules/antagonists/bloodsucker/powers/bs_cloak.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm b/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm index 2281a2cecd..23b35d1eaa 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm @@ -10,7 +10,7 @@ amToggle = TRUE warn_constant_cost = TRUE var/moveintent_was_run - var/walk_threshold = 0.4 // arbitrary number, to be changed. + var/walk_threshold = 0.4 // arbitrary number, to be changed. edit in last commit: this is fine after testing on box station for a bit var/lum /datum/action/bloodsucker/cloak/CheckCanUse(display_error) From 00f21ed685e58e72fd724613c5c836023bb3766d Mon Sep 17 00:00:00 2001 From: raspyosu Date: Wed, 19 Feb 2020 23:37:11 -0500 Subject: [PATCH 6/8] revert mesmerize spammability used to not begin cooldown upon windup fail, now does --- .../antagonists/bloodsucker/powers/bs_mesmerize.dm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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))) ) From 7d769b3984c31a996370bf5ddc6f3e0dceb151ae Mon Sep 17 00:00:00 2001 From: raspyosu Date: Fri, 21 Feb 2020 01:34:22 -0500 Subject: [PATCH 7/8] preemptive lunge buff range increased by 1 windup length decreased by 0.1s to 0.6s grabbing system altered to make grabbing more instantaneous depending on range telegraphing sound now plays to the user as well for feedback --- .../bloodsucker/powers/bs_lunge.dm | 32 ++++++++++--------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm index 0f2aba49b6..c3a3090d55 100644 --- a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm +++ b/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm @@ -7,7 +7,7 @@ button_icon_state = "power_lunge" bloodcost = 10 cooldown = 120 - target_range = 4 + target_range = 5 power_activates_immediately = TRUE message_Trigger = "Whom will you ensnare within your grasp?" must_be_capacitated = TRUE @@ -58,27 +58,29 @@ var/do_knockdown = !is_A_facing_B(target,owner) || owner.alpha <= 0 || istype(owner.loc, /obj/structure/closet) // CAUSES: Target has their back to me, I'm invisible, or I'm in a Closet // Step One: Heatseek toward Target's Turf - 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 - if(do_mob(owner, owner, 7, TRUE, TRUE)) - walk_towards(owner, T, 0.1, 10) // NOTE: this runs in the background! to cancel it, you need to use walk(owner.current,0), or give them a new path. + 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)) + 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) new /datum/forced_movement(owner, get_ranged_target_turf(owner, send_dir, 1), 1, FALSE) owner.spin(10) // Step Two: Check if I'm at/adjectent to Target's CURRENT turf (not original...that was just a destination) - sleep(1.5) - if(target.Adjacent(owner)) - // LEVEL 2: If behind target, mute or unconscious! - if(do_knockdown) // && level_current >= 1) - target.Knockdown(15 + 10 * level_current,1) - target.adjustStaminaLoss(40 + 10 * level_current) - // Cancel Walk (we were close enough to contact them) - walk(owner, 0) - target.Stun(10,1) //Without this the victim can just walk away - target.grabbedby(owner) // Taken from mutations.dm under changelings - target.grippedby(owner, instant = TRUE) //instant aggro grab + for(var/i in 1 to 6) + if (target.Adjacent(owner)) + // LEVEL 2: If behind target, mute or unconscious! + if(do_knockdown) // && level_current >= 1) + target.Knockdown(15 + 10 * level_current,1) + target.adjustStaminaLoss(40 + 10 * level_current) + // Cancel Walk (we were close enough to contact them) + walk(owner, 0) + target.Stun(10,1) //Without this the victim can just walk away + target.grabbedby(owner) // Taken from mutations.dm under changelings + target.grippedby(owner, instant = TRUE) //instant aggro grab + break + sleep(i*3) /datum/action/bloodsucker/targeted/lunge/DeactivatePower(mob/living/user = owner, mob/living/target) ..() // activate = FALSE From 4de8391ba4e2564fd55a716b2908a7007a24714e Mon Sep 17 00:00:00 2001 From: raspyosu Date: Fri, 21 Feb 2020 01:40:35 -0500 Subject: [PATCH 8/8] fix filenames zzzz does this work even time to fIND OUT --- .../antagonists/bloodsucker/powers/{bs_cloak.dm => cloak.dm} | 0 .../antagonists/bloodsucker/powers/{bs_lunge.dm => lunge.dm} | 0 .../bloodsucker/powers/{bs_mesmerize.dm => mesmerize.dm} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename code/modules/antagonists/bloodsucker/powers/{bs_cloak.dm => cloak.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_lunge.dm => lunge.dm} (100%) rename code/modules/antagonists/bloodsucker/powers/{bs_mesmerize.dm => mesmerize.dm} (100%) diff --git a/code/modules/antagonists/bloodsucker/powers/bs_cloak.dm b/code/modules/antagonists/bloodsucker/powers/cloak.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_cloak.dm rename to code/modules/antagonists/bloodsucker/powers/cloak.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_lunge.dm b/code/modules/antagonists/bloodsucker/powers/lunge.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_lunge.dm rename to code/modules/antagonists/bloodsucker/powers/lunge.dm diff --git a/code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm b/code/modules/antagonists/bloodsucker/powers/mesmerize.dm similarity index 100% rename from code/modules/antagonists/bloodsucker/powers/bs_mesmerize.dm rename to code/modules/antagonists/bloodsucker/powers/mesmerize.dm