Files
Aurora.3/code/modules/client/preference_setup/loadout/items/pants.dm
T
FabianK3andGitHub 2e5141df0f Colorable high visibility clothing (#21635)
# Summary

This PR introduces colorable high visibility jackets and pants. They are
available in the character loadout.
**[Breaking change]**  
Existing high visibility clothing received its own category in the
loadout and breaks current loadouts using said clothing.
The currently worn clothes need to be re-selected from the new group.

## Changes

- Added a colorable version of high visibility jackets and pants.
- Moved existing high visibility clothing to their own selection in the
loadout out of the generic jackets/pants group.
- Fixed a bug that prevents the usage of accents/part-building for
pants.
- Added a dedicated code file for high visibility jackets and pants
along some refactoring.
- Introduced minor protection values for high visibility clothing.
- Removed duplicate jacket emissive sprites and fixed jackets getting
the right pattern for their type.

## PR Notes

Any mapping-tag is due to the changes in the high visibility clothing
type names, no map has been changed aside a global type name
replacement.

## Preview

A combination of colored jacket and pants. Selected was green for the
base color and yellow for the accent color.

<img width="93" height="96" alt="Screenshot 2025-11-30 023923"
src="https://github.com/user-attachments/assets/5162608e-b325-4d8c-8691-9d23ada1641d"
/>
2025-12-04 07:55:53 +00:00

129 lines
6.0 KiB
Plaintext

ABSTRACT_TYPE(/datum/gear/pants)
sort_category = "Skirts and Trousers" //wikipedia definition puts shorts under trousers category, so.
slot = slot_pants
/datum/gear/pants/trousers
display_name = "pants and shorts selection"
description = "A selection of pants and shorts."
path = /obj/item/clothing/pants
/datum/gear/pants/trousers/New()
..()
var/list/pants = list()
// Pants
pants["jeans"] = /obj/item/clothing/pants/jeans
pants["classic jeans"] = /obj/item/clothing/pants/classic
pants["mustang jeans"] = /obj/item/clothing/pants/mustang
pants["black jeans"] = /obj/item/clothing/pants/jeansblack
pants["white pants"] = /obj/item/clothing/pants/white
pants["black pants"] = /obj/item/clothing/pants/black
pants["red pants"] = /obj/item/clothing/pants/red
pants["tan pants"] = /obj/item/clothing/pants/tan
pants["khaki pants"] = /obj/item/clothing/pants/khaki
pants["track pants"] = /obj/item/clothing/pants/track
pants["blue track pants"] = /obj/item/clothing/pants/track/blue
pants["green track pants"] = /obj/item/clothing/pants/track/green
pants["white track pants"] = /obj/item/clothing/pants/track/white
pants["red track pants"] = /obj/item/clothing/pants/track/red
pants["camo pants"] = /obj/item/clothing/pants/camo
pants["tacticool pants"] = /obj/item/clothing/pants/tacticool
pants["designer jeans"] = /obj/item/clothing/pants/designer
pants["ripped jeans"] = /obj/item/clothing/pants/ripped
pants["black ripped jeans"] = /obj/item/clothing/pants/blackripped
// Shorts
pants["black shorts"] = /obj/item/clothing/pants/shorts/black
pants["black short shorts"] = /obj/item/clothing/pants/shorts/black/short
pants["khaki shorts"] = /obj/item/clothing/pants/shorts/khaki
pants["khaki short shorts"] = /obj/item/clothing/pants/shorts/khaki/short
// Jeans Shorts
pants["jeans shorts"] = /obj/item/clothing/pants/shorts/jeans
pants["jeans short shorts"] = /obj/item/clothing/pants/shorts/jeans/short
pants["classic jeans shorts"] = /obj/item/clothing/pants/shorts/jeans/classic
pants["classic jeans short shorts"] = /obj/item/clothing/pants/shorts/jeans/classic/short
pants["mustang jeans shorts"] = /obj/item/clothing/pants/shorts/jeans/mustang
pants["mustang jeans short shorts"] = /obj/item/clothing/pants/shorts/jeans/mustang/short
pants["black jeans shorts"] = /obj/item/clothing/pants/shorts/jeans/black
pants["black jeans short shorts"] = /obj/item/clothing/pants/shorts/jeans/black/short
pants["grey jeans shorts"] = /obj/item/clothing/pants/shorts/jeans/grey
pants["grey jeans short shorts"] = /obj/item/clothing/pants/shorts/jeans/grey/short
// Athletic Shorts
pants["black athletic shorts"] = /obj/item/clothing/pants/shorts/athletic/black
pants["red athletic shorts"] = /obj/item/clothing/pants/shorts/athletic/red
pants["green athletic shorts"] = /obj/item/clothing/pants/shorts/athletic/green
pants["grey athletic shorts"] = /obj/item/clothing/pants/shorts/athletic/grey
pants["SCC-branded athletic shorts"] = /obj/item/clothing/pants/shorts/athletic/scc
gear_tweaks += new /datum/gear_tweak/path(pants)
/datum/gear/pants/colorpants
display_name = "pants and shorts selection (colourable)"
description = "A selection of colourable pants and shorts."
path = /obj/item/clothing/pants/dress
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/pants/colorpants/New()
..()
var/list/colorpants = list()
// Pants
colorpants["dress pants"] = /obj/item/clothing/pants/dress
colorpants["dress pants, with belt"] = /obj/item/clothing/pants/dress/belt
colorpants["striped pants"] = /obj/item/clothing/pants/striped
colorpants["flared pants"] = /obj/item/clothing/pants/flared
colorpants["mustang jeans"] = /obj/item/clothing/pants/mustang/colourable
colorpants["tailored jeans"] = /obj/item/clothing/pants/tailoredjeans
// Shorts
colorpants["shorts"] = /obj/item/clothing/pants/shorts/colourable
colorpants["short shorts"] = /obj/item/clothing/pants/shorts/colourable/short
colorpants["athletic shorts"] = /obj/item/clothing/pants/shorts/athletic/colourable
gear_tweaks += new /datum/gear_tweak/path(colorpants)
/datum/gear/pants/skirt
display_name = "skirt selection"
description = "A selection of skirts."
path = /obj/item/clothing/pants/skirt
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION
/datum/gear/pants/skirt/New()
..()
var/list/skirts = list()
skirts["casual skirt"] = /obj/item/clothing/pants/skirt
skirts["puffy skirt"] = /obj/item/clothing/pants/skirt/puffy
skirts["long skirt"] = /obj/item/clothing/pants/skirt/long
skirts["pencil skirt"] = /obj/item/clothing/pants/skirt/pencil
skirts["swept skirt"] = /obj/item/clothing/pants/skirt/swept
skirts["plaid skirt"] = /obj/item/clothing/pants/skirt/plaid
skirts["pleated skirt"] = /obj/item/clothing/pants/skirt/pleated
skirts["high skirt"] = /obj/item/clothing/pants/skirt/high
skirts["skater skirt"] = /obj/item/clothing/pants/skirt/skater
skirts["tube skirt"] = /obj/item/clothing/pants/skirt/tube
skirts["jumper skirt"] = /obj/item/clothing/pants/skirt/jumper
skirts["jumper dress"] = /obj/item/clothing/pants/skirt/jumper_highcut
skirts["long straight skirt"] = /obj/item/clothing/pants/skirt/straightlong
gear_tweaks += new /datum/gear_tweak/path(skirts)
/datum/gear/pants/highvis
display_name = "high visibility pants selection"
description = "A selection of high visibility pants."
path = /obj/item/clothing/pants/highvis
/datum/gear/pants/highvis/New()
..()
var/list/highvis = list()
highvis["high visibility pants"] = /obj/item/clothing/pants/highvis
highvis["high visibility pants, alt"] = /obj/item/clothing/pants/highvis/alt
highvis["high visibility pants, red"] = /obj/item/clothing/pants/highvis/red
highvis["high visibility pants, orange"] = /obj/item/clothing/pants/highvis/orange
gear_tweaks += new /datum/gear_tweak/path(highvis)
/datum/gear/pants/highvis_colorable
display_name = "colorable high visibility pants"
path = /obj/item/clothing/pants/highvis/colorable
flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION