Files
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

84 lines
3.5 KiB
Plaintext

/obj/outfit/admin/generic
name = "Generic Outfit"
uniform = list(
/obj/item/clothing/under/color/black,
/obj/item/clothing/under/color/grey,
/obj/item/clothing/under/color/purple,
/obj/item/clothing/under/color/brown,
/obj/item/clothing/under/color/darkblue,
/obj/item/clothing/under/color/darkred,
/obj/item/clothing/under/service_overalls,
/obj/item/clothing/under/overalls,
/obj/item/clothing/under/suit_jacket/charcoal,
)
suit = list(
/obj/item/clothing/suit/storage/hooded/wintercoat,
/obj/item/clothing/suit/storage/hooded/wintercoat/hoodie/random,
/obj/item/clothing/suit/storage/toggle/labcoat,
/obj/item/clothing/suit/storage/toggle/longcoat,
/obj/item/clothing/suit/storage/toggle/leather_jacket,
/obj/item/clothing/suit/storage/toggle/leather_jacket/designer,
/obj/item/clothing/suit/storage/toggle/leather_jacket/designer/black,
/obj/item/clothing/suit/storage/toggle/leather_jacket/flight,
/obj/item/clothing/suit/storage/toggle/leather_jacket/flight/white,
/obj/item/clothing/suit/storage/toggle/leather_jacket/military/tan,
/obj/item/clothing/suit/storage/toggle/highvis,
/obj/item/clothing/suit/storage/toggle/highvis/alt,
/obj/item/clothing/suit/storage/toggle/track,
/obj/item/clothing/suit/storage/toggle/track/blue,
/obj/item/clothing/suit/storage/toggle/trench/colorable/random,
/obj/item/clothing/suit/storage/toggle/bomber,
/obj/item/clothing/suit/wcoat,
)
glasses = list(
/obj/item/clothing/glasses/fakesunglasses/aviator,
/obj/item/clothing/glasses/fakesunglasses/prescription,
/obj/item/clothing/glasses/sunglasses/aviator,
/obj/item/clothing/glasses/regular,
/obj/item/clothing/glasses/safety/goggles,
)
shoes = list(
/obj/item/clothing/shoes/jackboots,
/obj/item/clothing/shoes/workboots,
/obj/item/clothing/shoes/workboots/dark,
/obj/item/clothing/shoes/sneakers/blue,
/obj/item/clothing/shoes/sneakers/brown,
/obj/item/clothing/shoes/sneakers/hitops/brown,
)
back = list(
/obj/item/storage/backpack/duffel,
/obj/item/storage/backpack/satchel,
/obj/item/storage/backpack/satchel/leather,
/obj/item/storage/backpack/satchel/leather/withwallet,
/obj/item/storage/backpack/messenger,
/obj/item/storage/backpack/satchel/pocketbook,
)
backpack_contents = list(
/obj/item/storage/box/survival = 1,
)
species_shoes = list(
SPECIES_UNATHI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA_MSAI = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_TAJARA_ZHAN = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_VAURCA_WORKER = /obj/item/clothing/shoes/workboots/toeless,
SPECIES_VAURCA_WARRIOR = /obj/item/clothing/shoes/vaurca,
SPECIES_VAURCA_ATTENDANT = /obj/item/clothing/shoes/vaurca
)
/obj/outfit/admin/generic/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(isvaurca(H))
H.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/vaurca/filter(H), slot_wear_mask)
var/obj/item/organ/internal/vaurca/preserve/preserve = H.internal_organs_by_name[BP_PHORON_RESERVE]
H.internal = preserve
H.internals.icon_state = "internal1"
H.equip_or_collect(new /obj/item/reagent_containers/inhaler/phoron_special, slot_in_backpack)
H.equip_or_collect(new /obj/item/reagent_containers/food/snacks/koisbar_clean, slot_in_backpack)
if(isoffworlder(H))
H.equip_or_collect(new /obj/item/clothing/accessory/offworlder/bracer, slot_in_backpack)
H.equip_or_collect(new /obj/item/storage/pill_bottle/rmt, slot_in_backpack)
H.equip_or_collect(new /obj/item/rig/light/offworlder, slot_in_backpack)