Fixes symmetry scaling side views and runtime spam with sloshy footsteps (#6998)

Co-authored-by: Raeschen <rycoop29@gmail.com>
This commit is contained in:
Verkister
2023-09-18 18:57:39 +03:00
committed by GitHub
parent ecd1696a26
commit 0c3e15ddb8
5 changed files with 27 additions and 18 deletions

View File

@@ -124,7 +124,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
//Do any species specific layering updates, such as when hiding.
update_icon_special()
/mob/living/carbon/human/update_transform()
/mob/living/carbon/human/update_transform(var/instant = FALSE) //CHOMPEdit
/* VOREStation Edit START
// First, get the correct size.
var/desired_scale_x = icon_scale_x
@@ -143,9 +143,9 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
var/desired_scale_y = size_multiplier * icon_scale_y
desired_scale_x *= species.icon_scale_x
desired_scale_y *= species.icon_scale_y
center_offset = species.center_offset //CHOMPEdit
if(offset_override) //CHOMPEdit
center_offset = 0 //CHOMPEdit
var/cent_offset = species.center_offset //CHOMPEdit
if(fuzzy || offset_override || dir == EAST || dir == WEST) //CHOMPEdit
cent_offset = 0 //CHOMPEdit
vis_height = species.icon_height
appearance_flags |= PIXEL_SCALE
if(fuzzy)
@@ -177,17 +177,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
else
M.Translate(1,-6)
M.Scale(desired_scale_y, desired_scale_x)
M.Translate(center_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit
M.Translate(cent_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit
// CHOMPEdit End
layer = MOB_LAYER -0.01 // Fix for a byond bug where turf entry order no longer matters
else
M.Scale(desired_scale_x, desired_scale_y)//VOREStation Edit
M.Translate(center_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit
M.Translate(cent_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit
if(tail_style?.can_loaf) // VOREStation Edit: Taur Loafing
update_tail_showing() // VOREStation Edit: Taur Loafing
layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters
animate(src, transform = M, time = anim_time)
if(instant) //CHOMPEdit Start
transform = M
else
animate(src, transform = M, time = anim_time) //CHOMPEdit End
update_icon_special() //May contain transform-altering things
//DAMAGE OVERLAYS

View File

@@ -1035,17 +1035,17 @@
if(!isnull(M.icon_scale_y_percent))
. *= M.icon_scale_y_percent
/mob/living/update_transform()
/mob/living/update_transform(var/instant = FALSE) //CHOMPEdit
// First, get the correct size.
var/desired_scale_x = size_multiplier * icon_scale_x //VOREStation edit
var/desired_scale_y = size_multiplier * icon_scale_y //VOREStation edit
var/cent_offset = center_offset //CHOMPEdit
// Now for the regular stuff.
if(offset_override) //CHOMPEdit
center_offset = 0 //CHOMPEdit
if(fuzzy || offset_override || dir == EAST || dir == WEST) //CHOMPEdit
cent_offset = 0 //CHOMPEdit
var/matrix/M = matrix()
M.Scale(desired_scale_x, desired_scale_y)
M.Translate(center_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit
M.Translate(cent_offset * desired_scale_x, (vis_height/2)*(desired_scale_y-1)) //CHOMPEdit
src.transform = M //VOREStation edit
handle_status_indicators()

View File

@@ -364,7 +364,7 @@
thing.enter_belly(src) // Atom movable proc, does nothing by default. Overridden in children for special behavior.
if(owner && istype(owner.loc,/turf/simulated) && !cycle_sloshed && reagents.total_volume > 0)
var/turf/simulated/T = owner.loc
var/S = pick(T.vorefootstep_sounds["human"])
var/S = pick(T.base_vorefootstep_sounds["human"]) //ChompEDIT
if(S)
playsound(T, S, sound_volume * (reagents.total_volume / 100), FALSE, preference = /datum/client_preference/digestion_noises)
cycle_sloshed = TRUE

View File

@@ -30,11 +30,12 @@
/mob/living/update_icons()
. = ..()
ASSERT(!ishuman(src))
if(fuzzy || offset_override) //CHOMPEdit
center_offset = 0 //CHOMPEdit
var/cent_offset = center_offset //ChompEDIT
if(fuzzy || offset_override || dir == EAST || dir == WEST) //CHOMPEdit
cent_offset = 0 //CHOMPEdit
var/matrix/M = matrix()
M.Scale(size_multiplier * icon_scale_x, size_multiplier * icon_scale_y)
M.Translate(center_offset * size_multiplier * icon_scale_x, (vis_height/2)*(size_multiplier-1)) //CHOMPEdit
M.Translate(cent_offset * size_multiplier * icon_scale_x, (vis_height/2)*(size_multiplier-1)) //CHOMPEdit
transform = M
/**

View File

@@ -186,3 +186,8 @@ Maybe later, gotta figure out a way to click yourself when in a locker etc.
return
else
transform_into_mob(tf_form, TRUE, TRUE, TRUE)
/mob/living/set_dir(var/new_dir)
. = ..()
if(size_multiplier != 1 || icon_scale_x != 1 && center_offset > 0)
update_transform(TRUE)