diff --git a/code/modules/mob/living/living_active_parry.dm b/code/modules/mob/living/living_active_parry.dm index 07498cfb11..73dfb17d97 100644 --- a/code/modules/mob/living/living_active_parry.dm +++ b/code/modules/mob/living/living_active_parry.dm @@ -119,17 +119,17 @@ /** * Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack. */ -/obj/item/proc/active_parry_reflex_counter(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, list/return_list, parry_efficiency) +/obj/item/proc/active_parry_reflex_counter(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, list/return_list, parry_efficiency, list/effect_text) /** * Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack. */ -/mob/living/proc/active_parry_reflex_counter(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, list/return_list, parry_efficiency) +/mob/living/proc/active_parry_reflex_counter(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, list/return_list, parry_efficiency, list/effect_text) /** * Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack. */ -/datum/martial_art/proc/active_parry_reflex_counter(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, list/return_list, parry_efficiency) +/datum/martial_art/proc/active_parry_reflex_counter(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, list/return_list, parry_efficiency, list/effect_text) /** * Gets the stage of our parry sequence we're currently in. @@ -231,19 +231,22 @@ if(PARRY_COUNTERATTACK_PROC) switch(parrying) if(ITEM_PARRY) - active_parry_item.active_parry_reflex_counter(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, parry_efficiency) + active_parry_item.active_parry_reflex_counter(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, parry_efficiency, effect_list) if(UNARMED_PARRY) - active_parry_reflex_counter(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, parry_efficiency) + active_parry_reflex_counter(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, parry_efficiency, effect_list) if(MARTIAL_PARRY) - mind.martial_art.active_parry_reflex_counter(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, parry_efficiency) - if(PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN) + mind.martial_art.active_parry_reflex_counter(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, parry_efficiency, effect_list) + if(PARRY_COUNTERATTACK_MELEE_ATTACK_CHAIN && Adjacent(attacker)) // adjacent is probably a shit check but whatever. switch(parrying) if(ITEM_PARRY) active_parry_item.melee_attack_chain(src, attacker, null) + effect_text += "reflexively counterattacking with [active_parry_item]" if(UNARMED_PARRY) UnarmedAttack(attacker) + effect_text += "reflexively counterattacking in the process" if(MARTIAL_PARRY) UnarmedAttack(attacker) + effect_text += "reflexively maneuvering to retaliate" if(data.parry_data[PARRY_DISARM_ATTACKER]) L.drop_all_held_items() effect_text += "disarming"