From 4391fc3714f03d6b9088905db5f05556885f1aa8 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Thu, 26 Mar 2020 12:51:17 -0700 Subject: [PATCH] pixel shifting --- .../living/carbon/alien/humanoid/humanoid.dm | 18 +++++++------- code/modules/mob/living/carbon/carbon.dm | 5 ++-- .../modules/mob/living/living_active_block.dm | 24 ++++++++++++++++++- 3 files changed, 33 insertions(+), 14 deletions(-) diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm index 048b5062ec..a3b801f4b9 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm @@ -76,20 +76,18 @@ return TRUE /mob/living/carbon/alien/humanoid/get_standard_pixel_y_offset(lying = 0) + . = ..() if(leaping) - return -32 - else if(custom_pixel_y_offset) - return custom_pixel_y_offset - else - return initial(pixel_y) + . -= 32 + if(custom_pixel_y_offset) + . += custom_pixel_y_offset /mob/living/carbon/alien/humanoid/get_standard_pixel_x_offset(lying = 0) + . = ..() if(leaping) - return -32 - else if(custom_pixel_x_offset) - return custom_pixel_x_offset - else - return initial(pixel_x) + . -= 32 + if(custom_pixel_x_offset) + . += custom_pixel_x_offset /mob/living/carbon/alien/humanoid/get_permeability_protection(list/target_zones) return 0.8 diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 938f6531f1..f9630e4c66 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -431,10 +431,9 @@ return TRUE /mob/living/carbon/get_standard_pixel_y_offset(lying = 0) + . = ..() if(lying) - return -6 - else - return initial(pixel_y) + . -= 6 /mob/living/carbon/proc/accident(obj/item/I) if(!I || (I.item_flags & ABSTRACT) || HAS_TRAIT(I, TRAIT_NODROP)) diff --git a/code/modules/mob/living/living_active_block.dm b/code/modules/mob/living/living_active_block.dm index 51ba75755d..90f77b13ff 100644 --- a/code/modules/mob/living/living_active_block.dm +++ b/code/modules/mob/living/living_active_block.dm @@ -2,7 +2,7 @@ /mob/living /// Whether or not the user is actively blocking. var/active_blocking = FALSE - /// The item the user is actively blocking with. + /// The item the user is actively blocking with if any. var/obj/item/active_block_item /mob/living/on_item_dropped(obj/item/I) @@ -36,6 +36,28 @@ active_block_effect_start() return TRUE +/// Visual effect setup for starting a directional block +/mob/living/proc/active_block_effect_start() + +/// Visual effect cleanup for starting a directional block +/mob/living/proc/active_block_effect_end() + +/mob/living/get_standard_pixel_x_offset() + . = ..() + if(active_blocking) + if(dir & EAST) + . += 12 + if(dir & WEST) + . -= 12 + +/mob/living/get_standard_pixel_y_offset() + . = ..() + if(active_blocking) + if(dir & NORTH) + . += 12 + if(dir & SOUTH) + . -= 12 + /// The amount of damage that is blocked. /obj/item/proc/active_block_damage_mitigation(mob/living/owner, atom/object, damage, attack_text, attack_type, armour_penetration, mob/attacker, def_zone, final_block_chance, list/block_return) var/absorption = block_parry_data.block_damage_absorption_override[attack_type]