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
+3 -1
View File
@@ -126,7 +126,9 @@
//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
#define NORMAL_STYLE 0
#define ALT_STYLE 1
#define DIGITIGRADE_STYLE 2
#define NORMAL_SUIT_STYLE 0
#define DIGITIGRADE_SUIT_STYLE 1
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
#define NO_MUTANTRACE_VARIATION 0
+2
View File
@@ -51,6 +51,8 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/interaction_flags_item = INTERACT_ITEM_ATTACK_HAND_PICKUP
var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
var/item_color = null //this needs deprecating, soonish
var/body_parts_covered = 0 //see setup.dm for appropriate bit flags
+2 -2
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.
+4 -2
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))
@@ -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
@@ -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
+2 -2
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)
Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

@@ -27,6 +27,8 @@
secondary_color = "#FFFFFF"
tertiary_color = "#808080"
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION // because I'm too lazy to port these to digi-compatible and to prove a point from /tg/ whining - Pooj
suit_style = NORMAL_SUIT_STYLE
/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE alternate_worn_icon
. = ..()
@@ -63,7 +65,8 @@
item_state = "kilt"
primary_color = "#FFFFFF" //RGB in hexcode
secondary_color = "#F08080"
tertiary_color = "#808080"
hastertiary = FALSE // so it doesn't futz with digilegs
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/polychromic/skirt
name = "polychromic skirt"
@@ -74,6 +77,7 @@
primary_color = "#FFFFFF" //RGB in hexcode
secondary_color = "#F08080"
tertiary_color = "#808080"
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/polychromic/shorts
name = "polychromic shorts"
@@ -84,6 +88,7 @@
primary_color = "#353535" //RGB in hexcode
secondary_color = "#808080"
tertiary_color = "#808080"
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/polychromic/jumpsuit
name = "polychromic tri-tone jumpsuit"
@@ -116,6 +121,7 @@
primary_color = "#8CC6FF" //RGB in hexcode
secondary_color = "#808080"
tertiary_color = "#FF3535"
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/polychromic/femtank
name = "polychromic feminine tank top"
@@ -126,6 +132,7 @@
hastertiary = FALSE
primary_color = "#808080" //RGB in hexcode
secondary_color = "#FF3535"
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/polychromic/shortpants/pantsu
name = "polychromic panties"
@@ -136,6 +143,7 @@
hastertiary = FALSE
primary_color = "#FFFFFF" //RGB in hexcode
secondary_color = "#8CC6FF"
body_parts_covered = GROIN
/obj/item/clothing/under/polychromic/bottomless
name = "polychromic bottomless shirt"
@@ -146,7 +154,7 @@
hastertiary = FALSE
primary_color = "#808080" //RGB in hexcode
secondary_color = "#FF3535"
body_parts_covered = CHEST //Because there's no bottom included
body_parts_covered = CHEST|ARMS //Because there's no bottom included
/obj/item/clothing/under/polychromic/shimatank
name = "polychromic tank top"
@@ -156,4 +164,5 @@
item_state = "rainbow"
primary_color = "#808080" //RGB in hexcode
secondary_color = "#FFFFFF"
tertiary_color = "#8CC6FF"
tertiary_color = "#8CC6FF"
body_parts_covered = CHEST|GROIN
@@ -15,6 +15,7 @@
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
item_state = ""
can_adjust = FALSE //to prevent you from "wearing it casually"
mutantrace_variation = NO_MUTANTRACE_VARIATION
//TOS
/obj/item/clothing/under/rank/trek/command
@@ -16,11 +16,12 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0)
can_adjust = TRUE
alt_covers_chest = TRUE
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/structure/closet/secure_closet/CMO/PopulateContents() //This is placed here because it's a very specific addition for a very specific niche
..()
new /obj/item/clothing/under/rank/chief_medical_officer/turtleneck(src)
/obj/item/clothing/under/syndicate/cosmetic
name = "tactitool turtleneck"
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
@@ -28,11 +29,12 @@
item_state = "bl_suit"
item_color = "tactifool"
has_sensor = TRUE
mutantrace_variation = NO_MUTANTRACE_VARIATION
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
/obj/item/clothing/under/syndicate/tacticool
has_sensor = TRUE
// Sweaters are good enough for this category too.
/obj/item/clothing/under/bb_sweater
@@ -45,6 +47,7 @@
can_adjust = 1
icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/bb_sweater/black
name = "black sweater"
@@ -13,6 +13,7 @@
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
item_state = "r_suit"
item_color = "secskirt"
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/rank/head_of_security/skirt
name = "head of security's skirt"
@@ -22,6 +23,7 @@
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
item_state = "gy_suit"
item_color = "hosskirt"
body_parts_covered = CHEST|GROIN|ARMS
/obj/item/clothing/under/corporateuniform
name = "corporate uniform"
@@ -31,7 +33,8 @@
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
item_state = "r_suit"
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/under/rank/captain/femformal
name ="captain's female formal outfit"
desc = ""
@@ -43,3 +46,4 @@
can_adjust = FALSE
sensor_mode = SENSOR_COORDS //it's still a captain's suit nerd
random_sensor = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB