Merge pull request #20654 from Incoming5643/why_did_this_take_months

Lizard Sprites and Digitigrade Limbs: Day 0 fixes
This commit is contained in:
Joan Lung
2016-09-24 19:36:42 -04:00
committed by GitHub
5 changed files with 24 additions and 12 deletions
+14 -8
View File
@@ -399,13 +399,17 @@ BLIND // can't see anything
/obj/item/clothing/under/equipped(mob/user, slot)
..()
if(adjusted)
adjusted = NORMAL_STYLE
fitted = initial(fitted)
if(!alt_covers_chest)
body_parts_covered |= CHEST
if(mutantrace_variation && ishuman(user))
var/mob/living/carbon/human/H = user
if(DIGITIGRADE in H.dna.species.specflags)
adjusted = DIGITIGRADE_STYLE
else if(adjusted == DIGITIGRADE_STYLE)
adjusted = NORMAL_STYLE
H.update_inv_w_uniform()
/obj/item/clothing/under/attackby(obj/item/I, mob/user, params)
@@ -544,7 +548,10 @@ BLIND // can't see anything
usr << "<span class='notice'>You adjust the suit to wear it more casually.</span>"
else
usr << "<span class='notice'>You adjust the suit back to normal.</span>"
usr.update_inv_w_uniform()
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
H.update_inv_w_uniform()
H.update_body()
/obj/item/clothing/under/proc/toggle_jumpsuit_adjust()
if(adjusted == DIGITIGRADE_STYLE)
@@ -553,13 +560,12 @@ BLIND // can't see anything
if(adjusted)
if(fitted != FEMALE_UNIFORM_TOP)
fitted = NO_FEMALE_UNIFORM
if (alt_covers_chest) // for the special snowflake suits that don't expose the chest when adjusted
body_parts_covered = CHEST|GROIN|LEGS
else
body_parts_covered = GROIN|LEGS
if(!alt_covers_chest) // for the special snowflake suits that expose the chest when adjusted
body_parts_covered &= ~CHEST
else
fitted = initial(fitted)
body_parts_covered = CHEST|GROIN|LEGS|ARMS
if(!alt_covers_chest)
body_parts_covered |= CHEST
return adjusted
/obj/item/clothing/under/examine(mob/user)
@@ -164,7 +164,7 @@
if(exotic_bloodtype && C.dna.blood_type != exotic_bloodtype)
C.dna.blood_type = exotic_bloodtype
if(C.dna.features["legs"] == "Digitigrade Legs")
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Digitigrade Legs")
specflags += DIGITIGRADE
if(DIGITIGRADE in specflags)
C.Digitigrade_Leg_Swap(FALSE)
@@ -384,10 +384,13 @@
not_digitigrade = FALSE
if(!(DIGITIGRADE in specflags)) //Someone cut off a digitigrade leg and tacked it on
specflags += DIGITIGRADE
if(O.use_digitigrade == FULL_DIGITIGRADE && (H.wear_suit && ((H.wear_suit.flags_inv & HIDEJUMPSUIT) || (H.wear_suit.body_parts_covered & LEGS)) || (H.w_uniform && (H.w_uniform.body_parts_covered & LEGS))))
var/should_be_squished = FALSE
if(H.wear_suit && ((H.wear_suit.flags_inv & HIDEJUMPSUIT) || (H.wear_suit.body_parts_covered & LEGS)) || (H.w_uniform && (H.w_uniform.body_parts_covered & LEGS)))
should_be_squished = TRUE
if(O.use_digitigrade == FULL_DIGITIGRADE && should_be_squished)
O.use_digitigrade = SQUISHED_DIGITIGRADE
update_needed = TRUE
else if(O.use_digitigrade == SQUISHED_DIGITIGRADE)
else if(O.use_digitigrade == SQUISHED_DIGITIGRADE && !should_be_squished)
O.use_digitigrade = FULL_DIGITIGRADE
update_needed = TRUE
if(update_needed)
+3 -1
View File
@@ -268,4 +268,6 @@
U.adjusted = NORMAL_STYLE
else
U.adjusted = DIGITIGRADE_STYLE
H.update_inv_w_uniform()
H.update_inv_w_uniform()
if(H.shoes && !swap_back)
H.unEquip(H.shoes)