Files
FabianK3 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

40 lines
1.3 KiB
Plaintext

/obj/item/clothing/pants/highvis
name = "high visibility pants"
desc = "A pair of loose-fitting, high visibility pants to help the wearer be recognizable in high traffic areas with large industrial equipment."
icon = 'icons/obj/item/clothing/pants/highvis.dmi'
icon_state = "pants_highvis"
item_state = "pants_highvis"
contained_sprite = TRUE
body_parts_covered = LOWER_TORSO|LEGS
siemens_coefficient = 0.8
armor = list(
MELEE = ARMOR_MELEE_MINOR,
BIO = ARMOR_BIO_MINOR
)
/obj/item/clothing/pants/highvis/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot)
var/image/I = ..()
if(slot == slot_pants_str)
var/image/emissive_overlay = emissive_appearance(mob_icon, "[icon_state][species_sprite_adaption_type]-emis", alpha = src.alpha)
I.AddOverlays(emissive_overlay)
return I
/obj/item/clothing/pants/highvis/colorable
icon_state = "pants_highvis_colorable"
item_state = "pants_highvis_colorable"
build_from_parts = TRUE
worn_overlay = "lining"
has_accents = TRUE
/obj/item/clothing/pants/highvis/alt
icon_state = "pants_highvis_alt"
item_state = "pants_highvis_alt"
/obj/item/clothing/pants/highvis/red
icon_state = "pants_highvis_red"
item_state = "pants_highvis_red"
/obj/item/clothing/pants/highvis/orange
icon_state = "pants_highvis_orange"
item_state = "pants_highvis_orange"