Enables Digitigrade jumpsuit wearing

This commit is contained in:
Poojawa
2018-09-27 05:08:39 -05:00
parent 4ed3ac7b3d
commit 70d969c5cf
14 changed files with 54 additions and 20 deletions

View File

@@ -248,9 +248,8 @@ BLIND // can't see anything
H.update_body()
/obj/item/clothing/under/proc/toggle_jumpsuit_adjust()
if(adjusted == DIGITIGRADE_STYLE)
return
adjusted = !adjusted
if(adjusted)
if(fitted != FEMALE_UNIFORM_TOP)
fitted = NO_FEMALE_UNIFORM
@@ -260,6 +259,7 @@ BLIND // can't see anything
fitted = initial(fitted)
if(!alt_covers_chest)
body_parts_covered |= CHEST
return adjusted
/obj/item/clothing/proc/weldingvisortoggle(mob/user) //proc to toggle welding visors on helmets, masks, goggles, etc.

View File

@@ -11,10 +11,11 @@
var/sensor_mode = NO_SENSORS
var/can_adjust = TRUE
var/adjusted = NORMAL_STYLE
var/suit_style = NORMAL_SUIT_STYLE
var/alt_covers_chest = FALSE // for adjusted/rolled-down jumpsuits, FALSE = exposes chest and arms, TRUE = exposes arms only
var/obj/item/clothing/accessory/attached_accessory
var/mutable_appearance/accessory_overlay
var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
mutantrace_variation = MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
. = list()
@@ -49,6 +50,7 @@
//make the sensor mode favor higher levels, except coords.
sensor_mode = pick(SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS, SENSOR_COORDS)
adjusted = NORMAL_STYLE
suit_style = NORMAL_SUIT_STYLE
..()
/obj/item/clothing/under/equipped(mob/user, slot)
@@ -62,7 +64,7 @@
if(mutantrace_variation && ishuman(user))
var/mob/living/carbon/human/H = user
if(DIGITIGRADE in H.dna.species.species_traits)
adjusted = DIGITIGRADE_STYLE
suit_style = DIGITIGRADE_SUIT_STYLE
H.update_inv_w_uniform()
if(attached_accessory && slot != SLOT_HANDS && ishuman(user))

View File

@@ -628,8 +628,12 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!(DIGITIGRADE in species_traits)) //Someone cut off a digitigrade leg and tacked it on
species_traits += DIGITIGRADE
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(H.wear_suit)
if((H.wear_suit.flags_inv & HIDEJUMPSUIT) || ((H.wear_suit.body_parts_covered & LEGS) && (H.wear_suit.body_parts_covered & FEET)))
should_be_squished = TRUE
if(H.w_uniform && !H.wear_suit)
if(H.w_uniform.mutantrace_variation == NO_MUTANTRACE_VARIATION)
should_be_squished = TRUE
if(O.use_digitigrade == FULL_DIGITIGRADE && should_be_squished)
O.use_digitigrade = SQUISHED_DIGITIGRADE
update_needed = TRUE

View File

@@ -119,10 +119,17 @@ There are several things that need to be remembered:
var/t_color = U.item_color
if(!t_color)
t_color = U.icon_state
if(U.adjusted == ALT_STYLE)
t_color = "[t_color]_d"
else if(U.adjusted == DIGITIGRADE_STYLE)
t_color = "[t_color]_l"
if(U.suit_style == NORMAL_SUIT_STYLE)
if(U.adjusted == ALT_STYLE)
t_color = "[t_color]_d"
if(U.mutantrace_variation)
if(U.suit_style == DIGITIGRADE_SUIT_STYLE)
U.alternate_worn_icon = 'icons/mob/uniform_digi.dmi'
if(U.adjusted == ALT_STYLE)
t_color = "[t_color]_d_l"
else if(U.adjusted == NORMAL_STYLE)
t_color = "[t_color]_l"
var/mutable_appearance/uniform_overlay

View File

@@ -294,9 +294,9 @@
var/obj/item/clothing/under/U = H.w_uniform
if(U.mutantrace_variation)
if(swap_back)
U.adjusted = NORMAL_STYLE
U.suit_style = NORMAL_SUIT_STYLE
else
U.adjusted = DIGITIGRADE_STYLE
U.suit_style = DIGITIGRADE_SUIT_STYLE
H.update_inv_w_uniform()
if(H.shoes && !swap_back)
H.dropItemToGround(H.shoes)