This commit is contained in:
kevinz000
2020-04-30 19:26:11 -07:00
parent 7d17da1bac
commit cf8168a17c
3 changed files with 5 additions and 6 deletions
@@ -205,7 +205,7 @@
active_block_do_stamina_damage(owner, object, stamina_cost, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, block_return)
block_return[BLOCK_RETURN_ACTIVE_BLOCK_DAMAGE_MITIGATED] = damage_mitigated
block_return[BLOCK_RETURN_SET_DAMAGE_TO] = final_damage
. = BLOCK_CHANGE_DAMAGE
. = BLOCK_SHOULD_CHANGE_DAMAGE
if(final_damage <= 0)
. |= BLOCK_SUCCESS //full block
owner.visible_message("<span class='warning'>[owner] blocks \the [attack_text] with [src]!</span>")
+1 -3
View File
@@ -40,9 +40,7 @@
// i don't like this too
var/final_block_chance = I.block_chance - (CLAMP((armour_penetration-I.armour_penetration)/2,0,100)) + block_chance_modifier //So armour piercing blades can still be parried by other blades, for example
var/results
if(I == active_parry_item)
results = I.active_parry(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, return_list)
else if(I == active_block_item)
if(I == active_block_item)
results = I.active_block(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, return_list)
else
results = I.run_block(src, object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, final_block_chance, return_list)
@@ -213,6 +213,7 @@ GLOBAL_LIST_EMPTY(block_parry_data)
var/stage = get_parry_stage()
if(stage == NOT_PARRYING)
return BLOCK_NONE
var/datum/block_parry_data/data = get_block_parry_data()
var/efficiency = get_parry_efficiency(attack_type)
switch(parrying)
if(ITEM_PARRY)
@@ -227,7 +228,7 @@ GLOBAL_LIST_EMPTY(block_parry_data)
var/current = return_list[BLOCK_RETURN_MITIGATION_PERCENT] || 0
return_list[BLOCK_RETURN_MITIGATION_PERCENT] = 100 - (clamp(100 - current, 0, 100) * clamp(1 - (efficiency / 100), 0, 1))
var/list/effect_text = run_parry_countereffects(object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, efficiency)
if(parry_default_handle-feedback)
if(data.parry_default_handle_feedback)
handle_parry_feedback(object, damage, attack_text, attack_type, armour_penetration, attacker, def_zone, return_list, efficiency, effect_text)
successful_parries |= efficiency
@@ -296,7 +297,7 @@ GLOBAL_LIST_EMPTY(block_parry_data)
/obj/effect/abstract/parry/main
icon_state = "parry_bm_hold"
/obj/effect/abstract/parry/main/proc/run(windup_time = 2, active_time = 5, spindown_time = 3, qdel_end = TRUE)
/obj/effect/abstract/parry/main/proc/run_animation(windup_time = 2, active_time = 5, spindown_time = 3, qdel_end = TRUE)
QDEL_IN(src, windup_time + active_time + spindown_time)
var/matrix/current = transform
transform = matrix(0.1, 0, 0, 0, 0.1, 0)