Adds a Pants slot (#19999)

Does what it says on the tin. Purely cosmetic for now. This is step
zero.

Basically, clothing is starting to get real bloated with a lot of
variants.
More pressingly, accessories as well, and we're probably going to get
accessories of accessories.
After seeing what's going on with arm guards, leg guards, plate carriers
and the like,
it's heading towards a really messy level of abstraction.

Hopefully this will nip it in the bud, so to speak.

I've also added the layering feature used in watches, so you can tuck in
your uniform in your pants, or your coat in your pants if you're so
inclined to.

This also means that in the near future, we'll finally have the ROLL
PANTS feature that has escaped us for so long.

For reviewers : 
This PR is majority legwork of simply adding the new pants slot in. Very
similar to my previous Wrist slot PR.
The rest is just changing the existing pants/skirts over to a new
loadout slot and changing paths.

---------

Signed-off-by: Wowzewow (Wezzy) <42310821+alsoandanswer@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
This commit is contained in:
Wowzewow (Wezzy)
2024-11-15 19:41:09 +00:00
committed by GitHub
co-authored by Fluffy
parent d458941a1a
commit de81867784
78 changed files with 641 additions and 467 deletions
+2 -1
View File
@@ -642,7 +642,8 @@ var/list/global/slot_flags_enumeration = list(
"[slot_w_uniform]" = SLOT_ICLOTHING,
"[slot_wear_id]" = SLOT_ID,
"[slot_tie]" = SLOT_TIE,
"[slot_wrists]" = SLOT_WRISTS
"[slot_wrists]" = SLOT_WRISTS,
"[slot_pants]" = SLOT_PANTS
)
//the mob M is attempting to equip this item into the slot passed through as 'slot'. Return 1 if it can do this and 0 if it can't.
@@ -213,7 +213,7 @@
item_state = "wristset"
slot_flags = SLOT_WRISTS
canhear_range = 1
var/mob_wear_layer = WRISTS_LAYER_OVER
var/mob_wear_layer = ABOVE_SUIT_LAYER_WR
EarSound = FALSE
/obj/item/device/radio/headset/wrist/verb/change_layer()
@@ -221,11 +221,11 @@
set name = "Change Wrist Layer"
set src in usr
if(mob_wear_layer == WRISTS_LAYER_OVER)
mob_wear_layer = WRISTS_LAYER_UNIFORM
if(mob_wear_layer == ABOVE_SUIT_LAYER_WR)
mob_wear_layer = ABOVE_UNIFORM_LAYER_WR
else
mob_wear_layer = WRISTS_LAYER_OVER
to_chat(usr, SPAN_NOTICE("\The [src] will now layer [mob_wear_layer == WRISTS_LAYER_OVER ? "over" : "under"] your outerwear."))
mob_wear_layer = ABOVE_SUIT_LAYER_WR
to_chat(usr, SPAN_NOTICE("\The [src] will now layer [mob_wear_layer == ABOVE_SUIT_LAYER_WR ? "over" : "under"] your outerwear."))
if (ishuman(src.loc))
var/mob/living/carbon/human/H = src.loc
if(H.wrists == src)
@@ -268,7 +268,7 @@
/obj/item/device/radio/headset/wrist/clip/get_wrist_examine_text(mob/living/carbon/human/user)
if(!istype(user))
return ..()
return "clipped to [user.get_pronoun("his")] [(mob_wear_layer == WRISTS_LAYER_OVER) && user.wear_suit ? user.wear_suit.name : user.w_uniform ? user.w_uniform.name : "chest"]"
return "clipped to [user.get_pronoun("his")] [(mob_wear_layer == ABOVE_SUIT_LAYER_WR) && user.wear_suit ? user.wear_suit.name : user.w_uniform ? user.w_uniform.name : "chest"]"
/obj/item/device/radio/headset/wrist/clip/get_ear_examine_text(mob/living/carbon/human/user)
if(!istype(user))
@@ -6,11 +6,11 @@
/obj/structure/closet/athletic_mixed/fill()
new /obj/item/towel/random(src)
new /obj/item/towel/random(src)
new /obj/item/clothing/under/shorts/athletic/grey(src)
new /obj/item/clothing/under/shorts/athletic/black(src)
new /obj/item/clothing/under/shorts/athletic/red(src)
new /obj/item/clothing/under/shorts/athletic/blue(src)
new /obj/item/clothing/under/shorts/athletic/green(src)
new /obj/item/clothing/pants/shorts/athletic/grey(src)
new /obj/item/clothing/pants/shorts/athletic/black(src)
new /obj/item/clothing/pants/shorts/athletic/red(src)
new /obj/item/clothing/pants/shorts/athletic/blue(src)
new /obj/item/clothing/pants/shorts/athletic/green(src)
new /obj/item/clothing/under/swimsuit/red(src)
new /obj/item/clothing/under/swimsuit/black(src)
new /obj/item/clothing/under/swimsuit/blue(src)
@@ -233,7 +233,7 @@
/obj/structure/closet/crate/secure/gear_loadout/frontier_cowboys/fill()
for(var/i in 1 to 6)
var/obj/item/clothing/under/shorts/khaki/pants = new(src)
var/obj/item/clothing/pants/shorts/khaki/pants = new(src)
var/obj/item/clothing/accessory/dressshirt/rolled/shirt = new(src)
var/obj/item/clothing/accessory/chaps/chaps = new(src)
var/obj/item/clothing/accessory/suspenders/suspenders = new(src)
@@ -256,7 +256,7 @@
new /obj/item/gun/projectile/shotgun/pump/lever_action(src)
/obj/structure/closet/crate/secure/gear_loadout/frontier_cowboys/single/fill()
var/obj/item/clothing/under/shorts/khaki/pants = new(src)
var/obj/item/clothing/pants/shorts/khaki/pants = new(src)
var/obj/item/clothing/accessory/dressshirt/rolled/shirt = new(src)
var/obj/item/clothing/accessory/chaps/chaps = new(src)
var/obj/item/clothing/accessory/suspenders/suspenders = new(src)
+1 -1
View File
@@ -159,7 +159,7 @@
/obj/item/clothing/mask/gas/alt = 2,
/obj/item/clothing/mask/gas/half = 2,
/obj/item/clothing/shoes/galoshes = 2,
/obj/item/clothing/under/pants/camo = 2,
/obj/item/clothing/pants/camo = 2,
/obj/item/clothing/under/syndicate/tacticool = 2,
/obj/item/device/camera = 2,
/obj/item/device/flashlight/flare = 2,