This commit is contained in:
kevinz000
2020-06-08 08:47:06 -07:00
parent 92d1af5889
commit b3afed69f4
2 changed files with 15 additions and 17 deletions
@@ -20,17 +20,12 @@
if(!(combat_flags & COMBAT_FLAG_PARRY_CAPABLE))
to_chat(src, "<span class='warning'>You are not something that can parry attacks.</span>")
return
//QOL: Try to enable combat mode if it isn't already
SEND_SIGNAL(src, COMSIG_ENABLE_COMBAT_MODE)
if(!SEND_SIGNAL(src, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE))
to_chat(src, "<span class='warning'>You must be in combat mode to parry!</span>")
return FALSE
var/datum/block_parry_data/data
// Prioritize item, then martial art, then unarmed.
// yanderedev else if time
var/obj/item/using_item = get_active_held_item()
var/datum/block_parry_data/data
var/method
if(using_item.can_active_parry())
if(using_item?.can_active_parry())
data = using_item.block_parry_data
method = ITEM_PARRY
else if(mind?.martial_art?.can_martial_parry)
@@ -48,6 +43,11 @@
data = backup.block_parry_data
using_item = backup
method = ITEM_PARRY
//QOL: Try to enable combat mode if it isn't already
SEND_SIGNAL(src, COMSIG_ENABLE_COMBAT_MODE)
if(!SEND_SIGNAL(src, COMSIG_COMBAT_MODE_CHECK, COMBAT_MODE_ACTIVE))
to_chat(src, "<span class='warning'>You must be in combat mode to parry!</span>")
return FALSE
data = return_block_parry_datum(data)
var/full_parry_duration = data.parry_time_windup + data.parry_time_active + data.parry_time_spindown
// no system in place to "fallback" if out of the 3 the top priority one can't parry due to constraints but something else can.
@@ -75,8 +75,7 @@
* Does not look at active held item.
*/
/mob/living/proc/find_backup_parry_item()
for(var/i in held_items - get_active_held_item())
var/obj/item/I = i
for(var/obj/item/I in held_items - get_active_held_item())
if(I.can_active_parry())
return I