From 14706a98f4f388048a822efe9b0ff798b5c8a65e Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Fri, 29 May 2020 17:48:58 -0700
Subject: [PATCH] fixes
---
.../modules/mob/living/living_active_parry.dm | 20 +++++++++++++++----
.../mob/living/living_blocking_parrying.dm | 2 ++
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/code/modules/mob/living/living_active_parry.dm b/code/modules/mob/living/living_active_parry.dm
index 9ccb43ff45..3838dea84d 100644
--- a/code/modules/mob/living/living_active_parry.dm
+++ b/code/modules/mob/living/living_active_parry.dm
@@ -45,7 +45,7 @@
parry_start_time = world.time
successful_parries = list()
addtimer(CALLBACK(src, .proc/end_parry_sequence), full_parry_duration)
- handle_parry_starting_effects()
+ handle_parry_starting_effects(data)
return TRUE
/**
@@ -53,12 +53,15 @@
*/
/mob/living/proc/end_parry_sequence()
var/datum/block_parry_data/data = get_parry_data()
+ var/list/effect_text = list()
if(!length(successful_parries)) // didn't parry anything successfully
if(data.parry_failed_stagger_duration)
Stagger(data.parry_failed_stagger_duration)
+ effect_text += "staggering themselves"
if(data.parry_failed_clickcd_duration)
changeNext_move(data.parry_failed_clickcd_duration)
- handle_parry_ending_effects()
+ effect_text += "throwing themselves off balance"
+ handle_parry_ending_effects(data, effect_text)
parrying = NOT_PARRYING
parry_start_time = 0
successful_parries = null
@@ -68,12 +71,20 @@
*/
/mob/living/proc/handle_parry_starting_effects(datum/block_parry_data/data)
new /obj/effect/abstract/parry/main(null, data, src)
+ playsound(src, data.parry_start_sound, 75, 1)
+ switch(parrying)
+ if(ITEM_PARRY)
+ visible_message("[src] swings [active_parry_item], !")
+ else
+ visible_message("[src] rushes forwards!")
/**
* Handles ending effects for parrying.
*/
-/mob/living/proc/handle_parry_ending_effects()
- return
+/mob/living/proc/handle_parry_ending_effects(datum/block_parry_data/data, list/failed_effect_text)
+ if(length(successful_parries))
+ return
+ visible_message("[src] fails to connect their parry[failed_effect_text? english_list(failed_effect_text) : ""]!")
/**
* Gets this item's datum/block_parry_data
@@ -261,6 +272,7 @@
var/mob/living/owner
/obj/effect/abstract/parry/main
+ name = null
icon_state = "parry_bm_hold"
/obj/effect/abstract/parry/main/Initialize(mapload, datum/block_parry_data/data, mob/living/owner)
diff --git a/code/modules/mob/living/living_blocking_parrying.dm b/code/modules/mob/living/living_blocking_parrying.dm
index 81f6208793..2f75f11142 100644
--- a/code/modules/mob/living/living_blocking_parrying.dm
+++ b/code/modules/mob/living/living_blocking_parrying.dm
@@ -118,6 +118,8 @@ GLOBAL_LIST_EMPTY(block_parry_data)
)
/// Enable default handling of audio/visual feedback
var/parry_default_handle_feedback = TRUE
+ /// Parry start sound
+ var/parry_start_sound = 'sound/block_parry/sfx-parry.ogg'
/// Sounds for parrying
var/list/parry_sounds = list('sound/block_parry/block_metal1.ogg' = 1, 'sound/block_parry/block_metal1.ogg' = 1)
/// Stagger duration post-parry if you fail to parry an attack