From 1214c99a342edb89557231352505a9502faf6a9d Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Sat, 30 May 2020 01:46:43 -0700 Subject: [PATCH] is this a good idea --- code/game/objects/items/melee/energy.dm | 10 ++++----- code/game/objects/items/twohanded.dm | 21 ++++++++++++++++++- .../modules/mob/living/living_active_parry.dm | 2 +- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 7707192578..44c2db6dff 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -111,21 +111,21 @@ /datum/block_parry_data/energy_sword parry_time_windup = 0 - parry_time_active = 20 + parry_time_active = 25 parry_time_spindown = 0 // we want to signal to players the most dangerous phase, the time when automatic counterattack is a thing. parry_time_windup_visual_override = 1 parry_time_active_visual_override = 3 parry_time_spindown_visual_override = 12 - parry_flags = PARRY_DEFAULT_HANDLE_FEEDBACK // esword users can attack while parrying. + parry_flags = PARRY_DEFAULT_HANDLE_FEEDBACK // esword users can attack while parry_time_perfect = 2.5 // first ds isn't perfect parry_time_perfect_leeway = 1.5 - parry_imperfect_falloff_percent = 10 + parry_imperfect_falloff_percent = 5 parry_efficiency_to_counterattack = 100 parry_efficiency_considered_successful = 65 // VERY generous parry_efficiency_perfect = 100 - parry_failed_stagger_duration = 2 SECONDS - parry_cooldown = 2 SECONDS + parry_failed_stagger_duration = 4 SECONDS + parry_cooldown = 0.5 SECONDS /obj/item/melee/transforming/energy/sword/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm index 4d9b47764a..1bdfe61f73 100644 --- a/code/game/objects/items/twohanded.dm +++ b/code/game/objects/items/twohanded.dm @@ -275,6 +275,8 @@ throw_range = 5 w_class = WEIGHT_CLASS_SMALL var/w_class_on = WEIGHT_CLASS_BULKY + item_flags = ITEM_CAN_PARRY | SLOWS_WHILE_IN_HAND + block_parry_data = /datum/block_parry_data/dual_esword force_unwielded = 3 force_wielded = 34 wieldsound = 'sound/weapons/saberon.ogg' @@ -285,7 +287,6 @@ var/saber_color = "green" light_color = "#00ff00"//green attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - block_chance = 75 max_integrity = 200 armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 70) resistance_flags = FIRE_PROOF @@ -299,6 +300,24 @@ total_mass = 0.4 //Survival flashlights typically weigh around 5 ounces. var/total_mass_on = 3.4 +/datum/block_parry_data/dual_esword + parry_time_windup = 0 + parry_time_active = 40 + parry_time_spindown = 0 + // we want to signal to players the most dangerous phase, the time when automatic counterattack is a thing. + parry_time_windup_visual_override = 1 + parry_time_active_visual_override = 7 + parry_time_spindown_visual_override = 12 + parry_flags = PARRY_DEFAULT_HANDLE_FEEDBACK // esword users can attack while parrying. + parry_time_perfect = 3 // first ds isn't perfect + parry_time_perfect_leeway = 2 + parry_imperfect_falloff_percent = 3.5 + parry_efficiency_to_counterattack = 100 + parry_efficiency_considered_successful = 65 // VERY generous + parry_efficiency_perfect = 100 + parry_failed_stagger_duration = 4 SECONDS + parry_cooldown = 1 SECONDS + /obj/item/twohanded/dualsaber/suicide_act(mob/living/carbon/user) if(wielded) user.visible_message("[user] begins spinning way too fast! It looks like [user.p_theyre()] trying to commit suicide!") diff --git a/code/modules/mob/living/living_active_parry.dm b/code/modules/mob/living/living_active_parry.dm index a9bb68b5db..0fb69cb197 100644 --- a/code/modules/mob/living/living_active_parry.dm +++ b/code/modules/mob/living/living_active_parry.dm @@ -333,4 +333,4 @@ transform = matrix(0.1, 0, 0, 0, 0.1, 0) animate(src, transform = current, time = windup_time) sleep(active_time) - flick(icon, "parry_bm_end") + animate(src, alpha = 0, spindown_time)