Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions code/modules/clothing/suits/_suits.dm
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@
if(adjusted)
adjusted = FALSE

if(!(mutantrace_variation & DIGITIGRADE_VARIATION) && ishuman(user))
if(!(mutantrace_variation & DIGITIGRADE_VARIATION) && (flags_inv & HIDEJUMPSUIT) && ishuman(user))
if(slot_flags & slot)
ADD_TRAIT(user, TRAIT_DIGI_SQUISH, REF(src))
else
Expand All @@ -66,7 +66,7 @@
human_user.update_body_parts()

/obj/item/clothing/suit/dropped(mob/user)
if(!(mutantrace_variation & DIGITIGRADE_VARIATION) && ishuman(user))
if(!(mutantrace_variation & DIGITIGRADE_VARIATION) && (flags_inv & HIDEJUMPSUIT) && ishuman(user))
REMOVE_TRAIT(user, TRAIT_DIGI_SQUISH, REF(src))
var/mob/living/carbon/human/human_user = user
human_user.update_inv_w_uniform()
Expand Down
4 changes: 2 additions & 2 deletions code/modules/clothing/under/_under.dm
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
return
var/update_suit = FALSE
var/mob/living/carbon/human/human_user = user
if(!(mutantrace_variation & DIGITIGRADE_VARIATION))
if(!(mutantrace_variation & DIGITIGRADE_VARIATION) && (body_parts_covered & LEGS))
if(slot_flags & slot)
ADD_TRAIT(user, TRAIT_DIGI_SQUISH, REF(src))
else
Expand All @@ -126,7 +126,7 @@
if(ishuman(user))
var/update_suit = FALSE
var/mob/living/carbon/human/human_user = user
if(!(mutantrace_variation & DIGITIGRADE_VARIATION))
if(!(mutantrace_variation & DIGITIGRADE_VARIATION) && (body_parts_covered & LEGS))
REMOVE_TRAIT(user, TRAIT_DIGI_SQUISH, REF(src))
human_user.update_inv_shoes()
human_user.update_body_parts()
Expand Down
10 changes: 9 additions & 1 deletion code/modules/surgery/bodyparts/_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -736,7 +736,15 @@
set_disabled(FALSE)

/obj/item/bodypart/proc/set_digitigrade(use_digi = FALSE)
return
if(use_digitigrade == use_digi)
return
use_digitigrade = use_digi
if(!owner)
return
if(use_digi)
ADD_TRAIT(owner, TRAIT_DIGITIGRADE, REF(src))
else
REMOVE_TRAIT(owner, TRAIT_DIGITIGRADE, REF(src))

///Called when TRAIT_PARALYSIS is added to the limb.
/obj/item/bodypart/proc/on_paralysis_trait_gain(obj/item/bodypart/source)
Expand Down
2 changes: 1 addition & 1 deletion code/modules/surgery/bodyparts/dismemberment.dm
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
LAZYREMOVE(owner.all_scars, S)

var/mob/living/carbon/phantom_owner = owner // so we can still refer to the guy who lost their limb after said limb forgets 'em
owner = null
set_owner(null)

for(var/X in phantom_owner.surgeries) //if we had an ongoing surgery on that limb, we stop it.
var/datum/surgery/S = X
Expand Down
6 changes: 0 additions & 6 deletions code/modules/surgery/bodyparts/parts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -262,9 +262,6 @@
/// Used by the bloodysoles component to make footprints
var/footprint_sprite = FOOTPRINT_SPRITE_SHOES

/obj/item/bodypart/l_leg/set_digitigrade(use_digi)
use_digitigrade = use_digi

/obj/item/bodypart/l_leg/set_owner(new_owner)
. = ..()
if(. == FALSE)
Expand Down Expand Up @@ -357,9 +354,6 @@
/// Used by the bloodysoles component to make footprints
var/footprint_sprite = FOOTPRINT_SPRITE_SHOES

/obj/item/bodypart/r_leg/set_digitigrade(use_digi)
use_digitigrade = use_digi

/obj/item/bodypart/r_leg/set_owner(new_owner)
. = ..()
if(. == FALSE)
Expand Down
4 changes: 2 additions & 2 deletions code/modules/surgery/bodyparts/robot_bodyparts.dm
Original file line number Diff line number Diff line change
Expand Up @@ -174,12 +174,12 @@
set_digitigrade(!use_digitigrade)

/obj/item/bodypart/l_leg/robot/set_digitigrade(use_digi = FALSE)
use_digitigrade = use_digi
if(use_digi)
icon_state = digi_icon_state
else
icon_state = initial(icon_state)
update_icon()
return ..()

/obj/item/bodypart/r_leg/robot/attackby(obj/item/W, mob/user, params)
if(W.tool_behaviour != TOOL_SCREWDRIVER)
Expand All @@ -188,12 +188,12 @@
set_digitigrade(!use_digitigrade)

/obj/item/bodypart/r_leg/robot/set_digitigrade(use_digi = FALSE)
use_digitigrade = use_digi
if(use_digi)
icon_state = digi_icon_state
else
icon_state = initial(icon_state)
update_icon()
return ..()

/obj/item/bodypart/chest/robot
name = "cyborg torso"
Expand Down