From dc234c9939efeb43170a934437f50148323407f7 Mon Sep 17 00:00:00 2001 From: InsaneRed <47158596+InsaneRed@users.noreply.github.com> Date: Sat, 9 Dec 2023 01:53:43 +0300 Subject: [PATCH] Oppressor cooldown changes (#5154) # About the pull request Lowers the oppressor tail_abudct (the hook) to 15 seconds of cooldown and makes the windup faster. Makes punch shave off cooldown from the abduct for 5 seconds All have been tested but i would like this to get testmerged first so i can actually see the results in game, nothing is set in stone and i want to edit this further so the cd / cd reduction isnt too powerful, they're just numbers ive decided were good enough to atleast make the caste decent for the time being. # Explain why it's good for the game Oppressor has been a snoozer strain for a while now where you cast an ability, and IF it hits you get to play the game otherwise you wait 20 seconds and thats just not fun. Especially for what the ability is, a 20 second cooldown is not worth it. I've talked with a few people that all agree that the downtime for what you "could" do with oppressor is not worth it. And i have to agree with them, the caste feels boring to play and its basically half dead due to the amnout of downtime you have between abilities compared to how everything else works. The idea of this is to make it so its not busted out of its brain but atleast not an observer++ strain so you can feel more involved in the gameplay. # Testing Photographs and Procedure # Changelog :cl: balance: Oppressor tail abduct changed to 15 seconds and lowers the windup to 7 deciseconds balance: Changes around the punch effect so that instead of having to meet demonic standards, you only need to punch to lower your tail/hook on oppressor. fix: You will now automatically punch chest if the target you are aiming at is delimbed instead of doing nothing /:cl: --------- Co-authored-by: InsaneRed Co-authored-by: Birdtalon --- .../abilities/praetorian/praetorian_abilities.dm | 6 +++--- .../abilities/praetorian/praetorian_powers.dm | 15 +++++++-------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm index d3865872f0ab..f876c2c50669 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_abilities.dm @@ -124,12 +124,12 @@ macro_path = /datum/action/xeno_action/verb/verb_prae_abduct ability_primacy = XENO_PRIMARY_ACTION_1 action_type = XENO_ACTION_CLICK - xeno_cooldown = 180 + xeno_cooldown = 15 SECONDS plasma_cost = 180 // Config var/max_distance = 7 - var/windup = 8 + var/windup = 7 DECISECONDS /datum/action/xeno_action/activable/oppressor_punch name = "Dislocate" @@ -169,7 +169,7 @@ // Config var/fling_dist = 3 - var/windup = 2 + var/windup = 2 DECISECONDS ////////// Dancer Abilities diff --git a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm index 85a9ee8f054b..1a0205862480 100644 --- a/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm +++ b/code/modules/mob/living/carbon/xenomorph/abilities/praetorian/praetorian_powers.dm @@ -386,7 +386,7 @@ var/obj/limb/target_limb = target_carbon.get_limb(check_zone(oppressor_user.zone_selected)) if (ishuman(target_carbon) && (!target_limb || (target_limb.status & LIMB_DESTROYED))) - return + target_limb = target_carbon.get_limb("chest") if (!check_and_use_plasma_owner()) return @@ -412,19 +412,18 @@ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(unroot_human), target_carbon, TRAIT_SOURCE_ABILITY("Oppressor Punch")), get_xeno_stun_duration(target_carbon, 1.2 SECONDS)) to_chat(target_carbon, SPAN_XENOHIGHDANGER("[oppressor_user] has pinned you to the ground! You cannot move!")) - - var/datum/action/xeno_action/activable/prae_abduct/abduct_action = get_xeno_action_by_type(oppressor_user, /datum/action/xeno_action/activable/prae_abduct) - var/datum/action/xeno_action/activable/tail_lash/tail_lash_action = get_xeno_action_by_type(oppressor_user, /datum/action/xeno_action/activable/tail_lash) - if(abduct_action && abduct_action.action_cooldown_check()) - abduct_action.reduce_cooldown(5 SECONDS) - if(tail_lash_action && tail_lash_action.action_cooldown_check()) - tail_lash_action.reduce_cooldown(5 SECONDS) else target_carbon.apply_armoured_damage(get_xeno_damage_slash(target_carbon, damage), ARMOR_MELEE, BRUTE, target_limb? target_limb.name : "chest") step_away(target_carbon, oppressor_user, 2) shake_camera(target_carbon, 2, 1) + var/datum/action/xeno_action/activable/prae_abduct/abduct_action = get_xeno_action_by_type(oppressor_user, /datum/action/xeno_action/activable/prae_abduct) + var/datum/action/xeno_action/activable/tail_lash/tail_lash_action = get_xeno_action_by_type(oppressor_user, /datum/action/xeno_action/activable/tail_lash) + if(abduct_action && !abduct_action.action_cooldown_check()) + abduct_action.reduce_cooldown(5 SECONDS) + if(tail_lash_action && !tail_lash_action.action_cooldown_check()) + tail_lash_action.reduce_cooldown(5 SECONDS) apply_cooldown() return ..()