From a0adc984cd1db1d8a3a30bb89b92805682472a1f Mon Sep 17 00:00:00 2001 From: necromanceranne <40847847+necromanceranne@users.noreply.github.com> Date: Sun, 30 Aug 2020 12:19:38 +1000 Subject: [PATCH] ports #52214 from /tg/ --- code/game/mecha/mecha_defense.dm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index 40336fb01e..e2d3af149f 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -1,12 +1,10 @@ /obj/mecha/proc/get_armour_facing(relative_dir) switch(relative_dir) - if(0) // BACKSTAB! + if(180) // BACKSTAB! return facing_modifiers[BACK_ARMOUR] - if(45, 90, 270, 315) - return facing_modifiers[SIDE_ARMOUR] - if(225, 180, 135) + if(0, 45) // direct or 45 degrees off return facing_modifiers[FRONT_ARMOUR] - return 1 //always return non-0 + return facing_modifiers[SIDE_ARMOUR] //if its not a front hit or back hit then assume its from the side /obj/mecha/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir) . = ..() @@ -43,7 +41,7 @@ break if(attack_dir) - var/facing_modifier = get_armour_facing(dir2angle(attack_dir) - dir2angle(src)) + var/facing_modifier = get_armour_facing(abs(dir2angle(dir) - dir2angle(attack_dir))) booster_damage_modifier /= facing_modifier booster_deflection_modifier *= facing_modifier if(prob(deflect_chance * booster_deflection_modifier))