This commit is contained in:
kevinz000
2020-05-29 17:48:58 -07:00
parent 18bef15afc
commit 14706a98f4
2 changed files with 18 additions and 4 deletions
+16 -4
View File
@@ -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("<span class='warning'>[src] swings [active_parry_item], !</span>")
else
visible_message("<span class='warning'>[src] rushes forwards!</span>")
/**
* 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("<span class='warning'>[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)
@@ -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