diff --git a/aurorastation.dme b/aurorastation.dme index 53b6bc79e71..ff58a54fcce 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -2014,6 +2014,7 @@ #include "code\modules\clothing\masks\xeno\skrell.dm" #include "code\modules\clothing\masks\xeno\tajara.dm" #include "code\modules\clothing\masks\xeno\unathi.dm" +#include "code\modules\clothing\pants\highvis.dm" #include "code\modules\clothing\pants\pants.dm" #include "code\modules\clothing\pants\shorts.dm" #include "code\modules\clothing\pants\skirts.dm" @@ -2074,6 +2075,7 @@ #include "code\modules\clothing\suits\armor.dm" #include "code\modules\clothing\suits\hazardvests.dm" #include "code\modules\clothing\suits\hazmat.dm" +#include "code\modules\clothing\suits\highvis.dm" #include "code\modules\clothing\suits\hoodies.dm" #include "code\modules\clothing\suits\jobs.dm" #include "code\modules\clothing\suits\labcoat.dm" diff --git a/code/datums/outfits/event/outfit_generic/_generic.dm b/code/datums/outfits/event/outfit_generic/_generic.dm index 7be449ffbc4..6ccbb46fffb 100644 --- a/code/datums/outfits/event/outfit_generic/_generic.dm +++ b/code/datums/outfits/event/outfit_generic/_generic.dm @@ -25,7 +25,7 @@ /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/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, diff --git a/code/datums/outfits/event/outfit_generic/engineering.dm b/code/datums/outfits/event/outfit_generic/engineering.dm index e32747f06ff..79cad7dd248 100644 --- a/code/datums/outfits/event/outfit_generic/engineering.dm +++ b/code/datums/outfits/event/outfit_generic/engineering.dm @@ -17,7 +17,7 @@ /obj/item/clothing/suit/storage/toggle/leather_jacket/military/tan, /obj/item/clothing/suit/storage/toggle/highvis, /obj/item/clothing/suit/storage/toggle/highvis, - /obj/item/clothing/suit/storage/toggle/highvis_alt, + /obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/suit/storage/toggle/track, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest/green, diff --git a/code/datums/outfits/event/outfit_generic/mining.dm b/code/datums/outfits/event/outfit_generic/mining.dm index 97cc4a8cf9b..807667655b4 100644 --- a/code/datums/outfits/event/outfit_generic/mining.dm +++ b/code/datums/outfits/event/outfit_generic/mining.dm @@ -17,7 +17,7 @@ /obj/item/clothing/suit/storage/toggle/leather_jacket/military/tan, /obj/item/clothing/suit/storage/toggle/highvis, /obj/item/clothing/suit/storage/toggle/highvis, - /obj/item/clothing/suit/storage/toggle/highvis_alt, + /obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/suit/storage/toggle/track, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest/green, diff --git a/code/game/machinery/vending/wardrobe.dm b/code/game/machinery/vending/wardrobe.dm index 9ee33ca8b6f..9067797730a 100644 --- a/code/game/machinery/vending/wardrobe.dm +++ b/code/game/machinery/vending/wardrobe.dm @@ -32,9 +32,9 @@ /obj/item/clothing/suit/storage/toggle/corp/zavod = 2, /obj/item/clothing/suit/storage/toggle/corp/zavod/alt = 2, /obj/item/clothing/suit/storage/toggle/highvis = 5, - /obj/item/clothing/suit/storage/toggle/highvis_alt = 5, - /obj/item/clothing/suit/storage/toggle/highvis_orange = 5, - /obj/item/clothing/suit/storage/toggle/highvis_red = 5, + /obj/item/clothing/suit/storage/toggle/highvis/alt = 5, + /obj/item/clothing/suit/storage/toggle/highvis/orange = 5, + /obj/item/clothing/suit/storage/toggle/highvis/red = 5, /obj/item/clothing/suit/storage/toggle/labcoat/heph = 2, /obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi = 2, /obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi/alt = 2, @@ -61,9 +61,9 @@ /obj/item/clothing/head/wool/zavod/alt = 2, /obj/item/clothing/accessory/storage/overalls/engineer = 4, /obj/item/clothing/pants/highvis = 5, - /obj/item/clothing/pants/highvis_alt = 5, - /obj/item/clothing/pants/highvis_orange = 5, - /obj/item/clothing/pants/highvis_red = 5, + /obj/item/clothing/pants/highvis/alt = 5, + /obj/item/clothing/pants/highvis/orange = 5, + /obj/item/clothing/pants/highvis/red = 5, /obj/item/clothing/shoes/sneakers/orange = 6, /obj/item/clothing/shoes/workboots = 4, /obj/item/clothing/shoes/workboots/dark = 6, @@ -101,9 +101,9 @@ /obj/item/clothing/suit/storage/toggle/corp/zavod = 2, /obj/item/clothing/suit/storage/toggle/corp/zavod/alt = 2, /obj/item/clothing/suit/storage/toggle/highvis = 3, - /obj/item/clothing/suit/storage/toggle/highvis_alt = 3, - /obj/item/clothing/suit/storage/toggle/highvis_orange = 3, - /obj/item/clothing/suit/storage/toggle/highvis_red = 3, + /obj/item/clothing/suit/storage/toggle/highvis/alt = 3, + /obj/item/clothing/suit/storage/toggle/highvis/orange = 3, + /obj/item/clothing/suit/storage/toggle/highvis/red = 3, /obj/item/clothing/suit/storage/toggle/labcoat/heph = 2, /obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi = 2, /obj/item/clothing/suit/storage/toggle/labcoat/zavodskoi/alt = 2, @@ -111,9 +111,9 @@ /obj/item/clothing/suit/storage/toggle/longcoat/zavodskoi = 2, /obj/item/clothing/accessory/poncho/roles/engineering = 3, /obj/item/clothing/pants/highvis = 3, - /obj/item/clothing/pants/highvis_alt = 3, - /obj/item/clothing/pants/highvis_orange = 3, - /obj/item/clothing/pants/highvis_red = 3, + /obj/item/clothing/pants/highvis/alt = 3, + /obj/item/clothing/pants/highvis/orange = 3, + /obj/item/clothing/pants/highvis/red = 3, /obj/item/clothing/glasses/safety/goggles = 3, /obj/item/clothing/head/bandana/atmos = 2, /obj/item/clothing/head/beret/atmos = 2, @@ -394,13 +394,13 @@ /obj/item/clothing/suit/storage/toggle/corp/orion = 2, /obj/item/clothing/suit/storage/toggle/corp/orion/alt = 2, /obj/item/clothing/suit/storage/toggle/highvis = 5, - /obj/item/clothing/suit/storage/toggle/highvis_alt = 5, - /obj/item/clothing/suit/storage/toggle/highvis_orange = 5, - /obj/item/clothing/suit/storage/toggle/highvis_red = 5, + /obj/item/clothing/suit/storage/toggle/highvis/alt = 5, + /obj/item/clothing/suit/storage/toggle/highvis/orange = 5, + /obj/item/clothing/suit/storage/toggle/highvis/red = 5, /obj/item/clothing/pants/highvis = 3, - /obj/item/clothing/pants/highvis_alt = 3, - /obj/item/clothing/pants/highvis_orange = 3, - /obj/item/clothing/pants/highvis_red = 3, + /obj/item/clothing/pants/highvis/alt = 3, + /obj/item/clothing/pants/highvis/orange = 3, + /obj/item/clothing/pants/highvis/red = 3, /obj/item/clothing/head/bandana/janitor = 3, /obj/item/clothing/head/beret/janitor = 3, /obj/item/clothing/head/softcap/idris = 3, @@ -758,14 +758,14 @@ /obj/item/clothing/suit/storage/toggle/corp/heph = 4, /obj/item/clothing/suit/storage/toggle/corp/orion = 4, /obj/item/clothing/suit/storage/toggle/highvis = 3, - /obj/item/clothing/suit/storage/toggle/highvis_alt = 3, - /obj/item/clothing/suit/storage/toggle/highvis_orange = 3, - /obj/item/clothing/suit/storage/toggle/highvis_red = 3, + /obj/item/clothing/suit/storage/toggle/highvis/alt = 3, + /obj/item/clothing/suit/storage/toggle/highvis/orange = 3, + /obj/item/clothing/suit/storage/toggle/highvis/red = 3, /obj/item/clothing/pants/shorts/khaki = 24, /obj/item/clothing/pants/highvis = 3, - /obj/item/clothing/pants/highvis_alt = 3, - /obj/item/clothing/pants/highvis_orange = 3, - /obj/item/clothing/pants/highvis_red = 3, + /obj/item/clothing/pants/highvis/alt = 3, + /obj/item/clothing/pants/highvis/orange = 3, + /obj/item/clothing/pants/highvis/red = 3, /obj/item/clothing/head/bandana/cargo = 3, /obj/item/clothing/head/bandana/miner = 4, /obj/item/clothing/head/beret/cargo = 3, @@ -808,18 +808,18 @@ /obj/item/clothing/suit/storage/toggle/corp/heph = 4, /obj/item/clothing/suit/storage/toggle/corp/orion = 4, /obj/item/clothing/suit/storage/toggle/highvis = 3, - /obj/item/clothing/suit/storage/toggle/highvis_alt = 3, - /obj/item/clothing/suit/storage/toggle/highvis_orange = 3, - /obj/item/clothing/suit/storage/toggle/highvis_red = 3, + /obj/item/clothing/suit/storage/toggle/highvis/alt = 3, + /obj/item/clothing/suit/storage/toggle/highvis/orange = 3, + /obj/item/clothing/suit/storage/toggle/highvis/red = 3, /obj/item/clothing/suit/storage/toggle/labcoat = 3, /obj/item/clothing/suit/storage/toggle/labcoat/heph = 2, /obj/item/clothing/suit/storage/toggle/labcoat/orion = 2, /obj/item/clothing/suit/storage/toggle/longcoat/heph = 2, /obj/item/clothing/suit/storage/toggle/longcoat/orion = 2, /obj/item/clothing/pants/highvis = 3, - /obj/item/clothing/pants/highvis_alt = 3, - /obj/item/clothing/pants/highvis_orange = 3, - /obj/item/clothing/pants/highvis_red = 3, + /obj/item/clothing/pants/highvis/alt = 3, + /obj/item/clothing/pants/highvis/orange = 3, + /obj/item/clothing/pants/highvis/red = 3, /obj/item/clothing/head/bandana/cargo = 3, /obj/item/clothing/head/beret/cargo = 3, /obj/item/clothing/head/beret/corporate/heph = 3, diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 493bc235a50..83514433127 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -177,7 +177,7 @@ new /obj/item/clothing/suit/storage/hazardvest/red(src) new /obj/item/clothing/suit/storage/hazardvest/blue/atmos(src) new /obj/item/clothing/suit/storage/toggle/highvis(src) - new /obj/item/clothing/suit/storage/toggle/highvis_alt(src) + new /obj/item/clothing/suit/storage/toggle/highvis/alt(src) return @@ -205,7 +205,7 @@ new /obj/item/clothing/head/bandana/engineering(src) new /obj/item/clothing/head/bandana/engineering(src) new /obj/item/clothing/suit/storage/toggle/highvis(src) - new /obj/item/clothing/suit/storage/toggle/highvis_alt(src) + new /obj/item/clothing/suit/storage/toggle/highvis/alt(src) new /obj/item/clothing/suit/storage/hazardvest/green(src) new /obj/item/clothing/suit/storage/hazardvest/red(src) diff --git a/code/modules/client/preference_setup/loadout/items/pants.dm b/code/modules/client/preference_setup/loadout/items/pants.dm index 4303147c533..52a99739f6c 100644 --- a/code/modules/client/preference_setup/loadout/items/pants.dm +++ b/code/modules/client/preference_setup/loadout/items/pants.dm @@ -21,10 +21,6 @@ ABSTRACT_TYPE(/datum/gear/pants) 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["high visibility pants"] = /obj/item/clothing/pants/highvis - pants["high visibility pants, alt"] = /obj/item/clothing/pants/highvis_alt - pants["high visibility pants, red"] = /obj/item/clothing/pants/highvis_red - pants["high visibility pants, orange"] = /obj/item/clothing/pants/highvis_orange 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 @@ -111,3 +107,22 @@ ABSTRACT_TYPE(/datum/gear/pants) 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 diff --git a/code/modules/client/preference_setup/loadout/items/suit.dm b/code/modules/client/preference_setup/loadout/items/suit.dm index 7a51ec663ad..d81a6c6df9c 100644 --- a/code/modules/client/preference_setup/loadout/items/suit.dm +++ b/code/modules/client/preference_setup/loadout/items/suit.dm @@ -42,10 +42,6 @@ jackets["flannel jacket, grey"] = /obj/item/clothing/suit/storage/toggle/flannel/gray jackets["flannel jacket, purple"] = /obj/item/clothing/suit/storage/toggle/flannel/purple jackets["flannel jacket, yellow"] = /obj/item/clothing/suit/storage/toggle/flannel/yellow - jackets["high visibility jacket"] = /obj/item/clothing/suit/storage/toggle/highvis - jackets["high visibility jacket, alt"] = /obj/item/clothing/suit/storage/toggle/highvis_alt - jackets["high visibility jacket, red"] = /obj/item/clothing/suit/storage/toggle/highvis_red - jackets["high visibility jacket, orange"] = /obj/item/clothing/suit/storage/toggle/highvis_orange jackets["black vest"] = /obj/item/clothing/suit/storage/toggle/leather_vest jackets["brown vest"] = /obj/item/clothing/suit/storage/toggle/brown_jacket/sleeveless jackets["leather coat"] = /obj/item/clothing/suit/storage/leathercoat @@ -56,6 +52,7 @@ /datum/gear/suit/hazard_vest display_name = "hazard vest selection" + description = "A selection of hazard vests." path = /obj/item/clothing/suit/storage/hazardvest /datum/gear/suit/hazard_vest/New() @@ -71,6 +68,38 @@ hazard["hazard vest, hephaestus green"] = /obj/item/clothing/suit/storage/hazardvest/green gear_tweaks += new /datum/gear_tweak/path(hazard) +/datum/gear/suit/hazard_vest_colorable + display_name = "colorable hazard vest selection" + description = "A selection of colorable hazard vests." + path = /obj/item/clothing/suit/storage/hazardvest/colorable + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION + +/datum/gear/suit/hazard_vest_colorable/New() + ..() + var/list/hazard_vest = list() + hazard_vest["colorable hazard vest"] = /obj/item/clothing/suit/storage/hazardvest/colorable + hazard_vest["colorable hazard vest, alt"] = /obj/item/clothing/suit/storage/hazardvest/colorable/alt + gear_tweaks += new /datum/gear_tweak/path(hazard_vest) + +/datum/gear/suit/highvis + display_name = "high visibility jacket selection" + description = "A selection of high visibility jackets." + path = /obj/item/clothing/suit/storage/toggle/highvis + +/datum/gear/suit/highvis/New() + ..() + var/list/highvis = list() + highvis["high visibility jacket"] = /obj/item/clothing/suit/storage/toggle/highvis + highvis["high visibility jacket, alt"] = /obj/item/clothing/suit/storage/toggle/highvis/alt + highvis["high visibility jacket, red"] = /obj/item/clothing/suit/storage/toggle/highvis/red + highvis["high visibility jacket, orange"] = /obj/item/clothing/suit/storage/toggle/highvis/orange + gear_tweaks += new /datum/gear_tweak/path(highvis) + +/datum/gear/suit/highvis_colorable + display_name = "colorable high visibility jacket" + path = /obj/item/clothing/suit/storage/toggle/highvis/colorable + flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION + /datum/gear/suit/hoodie display_name = "hoodie selection" path = /obj/item/clothing/suit/storage/hooded/wintercoat/hoodie @@ -631,15 +660,3 @@ ABSTRACT_TYPE(/datum/gear/suit/miscellaneous) description = "A heavy threaded tweed gray jacket. For a different sort of Gentleman." path = /obj/item/clothing/suit/storage/toggle/wizrobe/gentlecoat flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION - -/datum/gear/suit/hazard_vest_colorable - display_name = "colorable hazard vest selection" - path = /obj/item/clothing/suit/storage/hazardvest/colorable - flags = GEAR_HAS_NAME_SELECTION | GEAR_HAS_DESC_SELECTION | GEAR_HAS_COLOR_SELECTION | GEAR_HAS_ACCENT_COLOR_SELECTION - -/datum/gear/suit/hazard_vest_colorable/New() - ..() - var/list/hazard_vest = list() - hazard_vest["colorable hazard vest"] = /obj/item/clothing/suit/storage/hazardvest/colorable - hazard_vest["colorable hazard vest, alt"] = /obj/item/clothing/suit/storage/hazardvest/colorable/alt - gear_tweaks += new /datum/gear_tweak/path(hazard_vest) diff --git a/code/modules/clothing/pants/highvis.dm b/code/modules/clothing/pants/highvis.dm new file mode 100644 index 00000000000..a1a0c92e135 --- /dev/null +++ b/code/modules/clothing/pants/highvis.dm @@ -0,0 +1,39 @@ +/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" diff --git a/code/modules/clothing/pants/pants.dm b/code/modules/clothing/pants/pants.dm index 61a9c5a6cc9..52689fb9fcd 100644 --- a/code/modules/clothing/pants/pants.dm +++ b/code/modules/clothing/pants/pants.dm @@ -84,62 +84,6 @@ ABSTRACT_TYPE(/obj/item/clothing/pants) icon_state = "khaki" item_state = "khaki" -/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" - -/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_alt - name = "high visibility pants" - desc = "A pair of bright yellow pants with reflective stripes. For use in operations, engineering, and sometimes even law enforcement, in cold and poor weather or when visibility is low." - icon = 'icons/obj/item/clothing/pants/highvis.dmi' - icon_state = "pants_highvis_alt" - item_state = "pants_highvis_alt" - -/obj/item/clothing/pants/highvis_alt/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_red - name = "high visibility pants" - desc = "A pair of red pants with reflective stripes. For use in different departments, commonly found in civilian emergency services, in cold and poor weather or when visibility is low." - icon = 'icons/obj/item/clothing/pants/highvis.dmi' - icon_state = "pants_highvis_red" - item_state = "pants_highvis_red" - -/obj/item/clothing/pants/highvis_red/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_orange - name = "high visibility pants" - desc = "A pair of orange pants with reflective stripes. For use in different departments, commonly found in civilian industrial services, in dark or secluded areas where visibility is critical for safety." - icon = 'icons/obj/item/clothing/pants/highvis.dmi' - icon_state = "pants_highvis_orange" - item_state = "pants_highvis_orange" - -/obj/item/clothing/pants/highvis_orange/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/camo name = "camouflage pants" desc = "A pair of woodland camouflage pants. Probably not the best choice for a space station." diff --git a/code/modules/clothing/suits/highvis.dm b/code/modules/clothing/suits/highvis.dm new file mode 100644 index 00000000000..2be87574f30 --- /dev/null +++ b/code/modules/clothing/suits/highvis.dm @@ -0,0 +1,49 @@ +/obj/item/clothing/suit/storage/toggle/highvis + name = "high visibility jacket" + desc = "A loose-fitting, high visibility jacket to help the wearer be recognizable in high traffic areas with large industrial equipment." + icon = 'icons/obj/item/clothing/suit/storage/toggle/highvis.dmi' + icon_state = "jacket_highvis" + item_state = "jacket_highvis" + var/emissive_variant = "plain" + contained_sprite = TRUE + body_parts_covered = UPPER_TORSO|ARMS + siemens_coefficient = 0.8 + armor = list( + MELEE = ARMOR_MELEE_MINOR, + BIO = ARMOR_BIO_MINOR + ) + protects_against_weather = TRUE + fire_resist = T0C+200 + +/obj/item/clothing/suit/storage/toggle/highvis/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) + var/image/I = ..() + if(slot == slot_wear_suit_str) + var/image/emissive_overlay = emissive_appearance(mob_icon, "[opened ? "jacket_highvis_[emissive_variant]_open_su-emis" : "jacket_highvis_[emissive_variant]_su-emis"]", alpha = src.alpha) + I.AddOverlays(emissive_overlay) + return I + +/obj/item/clothing/suit/storage/toggle/highvis/colorable + name = "high visibility jacket" + desc = "A jacket with reflective stripes. For use in different departments, commonly found in civilian industrial services, in dark or secluded areas where visibility is critical for safety." + icon = 'icons/obj/item/clothing/suit/storage/toggle/highvis.dmi' + icon_state = "jacket_highvis_colorable" + item_state = "jacket_highvis_colorable" + emissive_variant = "light" + build_from_parts = TRUE + worn_overlay = "lining" + has_accents = TRUE + +/obj/item/clothing/suit/storage/toggle/highvis/alt + icon_state = "jacket_highvis_alt" + item_state = "jacket_highvis_alt" + emissive_variant = "light" + +/obj/item/clothing/suit/storage/toggle/highvis/red + icon_state = "jacket_highvis_red" + item_state = "jacket_highvis_red" + emissive_variant = "light" + +/obj/item/clothing/suit/storage/toggle/highvis/orange + icon_state = "jacket_highvis_orange" + item_state = "jacket_highvis_orange" + emissive_variant = "plain_alt" diff --git a/code/modules/clothing/suits/miscellaneous.dm b/code/modules/clothing/suits/miscellaneous.dm index 9feb0eaec0a..71f440e65d2 100644 --- a/code/modules/clothing/suits/miscellaneous.dm +++ b/code/modules/clothing/suits/miscellaneous.dm @@ -399,71 +399,6 @@ item_state = "trench_colorable2" has_accents = TRUE -/obj/item/clothing/suit/storage/toggle/highvis - name = "high visibility jacket" - desc = "A loose-fitting, high visibility jacket to help the wearer be recognizable in high traffic areas with large industrial equipment." - icon = 'icons/obj/item/clothing/suit/storage/toggle/highvis.dmi' - icon_state = "jacket_highvis" - item_state = "jacket_highvis" - body_parts_covered = UPPER_TORSO|ARMS - contained_sprite = TRUE - -/obj/item/clothing/suit/storage/toggle/highvis/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) - var/image/I = ..() - if(slot == slot_wear_suit_str) - var/image/emissive_overlay = emissive_appearance(mob_icon, "[opened ? "jacket_highvis_open_su-emis" : "jacket_highvis_su-emis"]", alpha = src.alpha) - I.AddOverlays(emissive_overlay) - return I - -/obj/item/clothing/suit/storage/toggle/highvis_alt - name = "high visibility jacket" - desc = "A bright yellow jacket with reflective stripes. For use in operations, engineering, and sometimes even law enforcement, in cold and poor weather or when visibility is low." - icon = 'icons/obj/item/clothing/suit/storage/toggle/highvis.dmi' - icon_state = "jacket_highvis_alt" - item_state = "jacket_highvis_alt" - body_parts_covered = UPPER_TORSO|ARMS - contained_sprite = TRUE - -/obj/item/clothing/suit/storage/toggle/highvis_alt/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) - var/image/I = ..() - if(slot == slot_wear_suit_str) - var/image/emissive_overlay = emissive_appearance(mob_icon, "[opened ? "jacket_highvis_alt_open_su-emis" : "jacket_highvis_alt_su-emis"]", alpha = src.alpha) - I.AddOverlays(emissive_overlay) - return I - -/obj/item/clothing/suit/storage/toggle/highvis_red - name = "high visibility jacket" - desc = "A red jacket with reflective stripes. For use in different departments, commonly found in civilian emergency services, in cold and poor weather or when visibility is low." - icon = 'icons/obj/item/clothing/suit/storage/toggle/highvis.dmi' - icon_state = "jacket_highvis_red" - item_state = "jacket_highvis_red" - body_parts_covered = UPPER_TORSO|ARMS - contained_sprite = TRUE - -/obj/item/clothing/suit/storage/toggle/highvis_red/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) - var/image/I = ..() - if(slot == slot_wear_suit_str) - var/image/emissive_overlay = emissive_appearance(mob_icon, "[opened ? "jacket_highvis_red_open_su-emis" : "jacket_highvis_red_su-emis"]", alpha = src.alpha) - I.AddOverlays(emissive_overlay) - return I - -/obj/item/clothing/suit/storage/toggle/highvis_orange - name = "high visibility jacket" - desc = "An orange jacket with reflective stripes. For use in different departments, commonly found in civilian industrial services, in dark or secluded areas where visibility is critical for safety." - icon = 'icons/obj/item/clothing/suit/storage/toggle/highvis.dmi' - icon_state = "jacket_highvis_orange" - item_state = "jacket_highvis_orange" - body_parts_covered = UPPER_TORSO|ARMS - contained_sprite = TRUE - -/obj/item/clothing/suit/storage/toggle/highvis_orange/get_mob_overlay(mob/living/carbon/human/H, mob_icon, mob_state, slot) - var/image/I = ..() - if(slot == slot_wear_suit_str) - var/image/emissive_overlay = emissive_appearance(mob_icon, "[opened ? "jacket_highvis_orange_open_su-emis" : "jacket_highvis_orange_su-emis"]", alpha = src.alpha) - I.AddOverlays(emissive_overlay) - return I - - /obj/item/clothing/suit/storage/toggle/track name = "track jacket" desc = "a track jacket, for the athletic." diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 1bc2562975e..077519b12a4 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -312,6 +312,8 @@ There are several things that need to be remembered: return WORN_BELT if(slot_wear_suit_str) return WORN_SUIT + if(slot_pants_str) + return WORN_PANTS if(slot_l_ear_str) return WORN_LEAR if(slot_r_ear_str) diff --git a/html/changelogs/fabiank3-highvis-refactor.yml b/html/changelogs/fabiank3-highvis-refactor.yml new file mode 100644 index 00000000000..717159fddf2 --- /dev/null +++ b/html/changelogs/fabiank3-highvis-refactor.yml @@ -0,0 +1,11 @@ +author: FabianK3 + +delete-after: True + +changes: + - imageadd: "Added colorable high visibility jackets and pants. They can be found in the loadout as a dedicated piece to select. Existing presets of high visibility clothing still exists and can still be selected in the loadout or in vendors." + - balance: "Added some very minor brute, bio and electrical protection to high visibility clothing." + - qol: "Added a dedicated category in the loadout selection for existing high visibility jackets and pants respectively. This change will break current loadouts using either jacket or pants, they need to be re-added manually." + - bugfix: "Fixed pants slot items not getting the correct overlays due to a missing formatting. This PR probably encountered on it for the first time." + - bugfix: "Fixed some high visibility jackets having the incorrect emissive sprite." + - code_imp: "High visibility jackets and plants now have their own dedicated code file and their code has been refactored. Duplicate emissive patterns for the jackets have been removed." diff --git a/icons/obj/item/clothing/pants/highvis.dmi b/icons/obj/item/clothing/pants/highvis.dmi index 81c9ffa5596..fed736240c6 100644 Binary files a/icons/obj/item/clothing/pants/highvis.dmi and b/icons/obj/item/clothing/pants/highvis.dmi differ diff --git a/icons/obj/item/clothing/suit/storage/toggle/highvis.dmi b/icons/obj/item/clothing/suit/storage/toggle/highvis.dmi index 595f694e002..16067175d1c 100644 Binary files a/icons/obj/item/clothing/suit/storage/toggle/highvis.dmi and b/icons/obj/item/clothing/suit/storage/toggle/highvis.dmi differ diff --git a/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot.dmm b/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot.dmm index 4f0026cd3cd..993e2f828f8 100644 --- a/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot.dmm +++ b/maps/away/away_site/abandoned_propellant_depot/abandoned_propellant_depot.dmm @@ -1861,7 +1861,7 @@ /obj/item/clothing/shoes/jackboots/cavalry{ pixel_y = -3 }, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /turf/simulated/floor/tiled, /area/abandoned_propellant_depot/security) "fK" = ( diff --git a/maps/away/away_site/cult_base/cult_base.dmm b/maps/away/away_site/cult_base/cult_base.dmm index 33ba6188b74..36c6666dbda 100644 --- a/maps/away/away_site/cult_base/cult_base.dmm +++ b/maps/away/away_site/cult_base/cult_base.dmm @@ -3978,7 +3978,7 @@ /obj/random/gloves, /obj/random/loot, /obj/item/clothing/suit/storage/toggle/leather_jacket/flight/green, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/random/dirt_75, /turf/simulated/floor/tiled/dark, /area/cult_base/crew_quarters) @@ -5712,7 +5712,7 @@ "aDH" = ( /obj/structure/closet, /obj/item/clothing/shoes/winter/tajara, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/random/spacecash, /obj/random/loot, /obj/random/colored_jumpsuit, diff --git a/maps/away/scenarios/cryo_outpost/cryo_outpost.dmm b/maps/away/scenarios/cryo_outpost/cryo_outpost.dmm index 1566a9eadc4..1192db71209 100644 --- a/maps/away/scenarios/cryo_outpost/cryo_outpost.dmm +++ b/maps/away/scenarios/cryo_outpost/cryo_outpost.dmm @@ -4104,7 +4104,7 @@ /area/cryo_outpost/inside/labs_rnd) "exS" = ( /obj/structure/closet, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/reagent_containers/spray/pepper, /obj/effect/floor_decal/corner/blue/diagonal, /obj/item/melee/telebaton, @@ -13273,7 +13273,7 @@ pixel_x = -3; pixel_y = 4 }, -/obj/item/clothing/suit/storage/toggle/highvis_alt{ +/obj/item/clothing/suit/storage/toggle/highvis/alt{ pixel_x = 3; pixel_y = -2 }, diff --git a/maps/away/scenarios/cryo_outpost/cryo_outpost_outfits.dm b/maps/away/scenarios/cryo_outpost/cryo_outpost_outfits.dm index ee8f60f4fde..a4aef3dd0cd 100644 --- a/maps/away/scenarios/cryo_outpost/cryo_outpost_outfits.dm +++ b/maps/away/scenarios/cryo_outpost/cryo_outpost_outfits.dm @@ -195,7 +195,7 @@ /obj/item/clothing/suit/storage/toggle/leather_jacket/military/tan, /obj/item/clothing/suit/storage/toggle/highvis, /obj/item/clothing/suit/storage/toggle/highvis, - /obj/item/clothing/suit/storage/toggle/highvis_alt, + /obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/suit/storage/toggle/track, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest/green, diff --git a/maps/away/scenarios/enviro_testing_facility/enviro_testing_facility_submaps_main.dmm b/maps/away/scenarios/enviro_testing_facility/enviro_testing_facility_submaps_main.dmm index 4ce934661e6..74fb89e0b8e 100644 --- a/maps/away/scenarios/enviro_testing_facility/enviro_testing_facility_submaps_main.dmm +++ b/maps/away/scenarios/enviro_testing_facility/enviro_testing_facility_submaps_main.dmm @@ -13979,8 +13979,8 @@ /area/enviro_testing_facility/inside/engineering/storage_1) "nZi" = ( /obj/structure/closet, -/obj/item/clothing/pants/highvis_alt, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/pants/highvis/alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/head/softcap/engineering, /obj/item/clothing/suit/storage/hazardvest, /obj/outfit/admin/generic/engineer, @@ -23355,8 +23355,8 @@ "xQT" = ( /obj/structure/closet, /obj/effect/floor_decal/industrial/outline/engineering, -/obj/item/clothing/pants/highvis_alt, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/pants/highvis/alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/head/softcap/engineering, /obj/item/clothing/suit/storage/hazardvest, /obj/outfit/admin/generic/engineer, diff --git a/maps/away/scenarios/nuclear_silo/nuclear_silo_outfits.dm b/maps/away/scenarios/nuclear_silo/nuclear_silo_outfits.dm index a2abc629e21..7d7dae99685 100644 --- a/maps/away/scenarios/nuclear_silo/nuclear_silo_outfits.dm +++ b/maps/away/scenarios/nuclear_silo/nuclear_silo_outfits.dm @@ -173,7 +173,7 @@ ) suit = list( /obj/item/clothing/suit/storage/toggle/highvis, - /obj/item/clothing/suit/storage/toggle/highvis_alt, + /obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/suit/storage/hooded/wintercoat/engineering, /obj/item/clothing/suit/storage/hazardvest, /obj/item/clothing/suit/storage/hazardvest/blue, diff --git a/maps/away/scenarios/ruined_propellant_depot/ruined_propellant_depot.dmm b/maps/away/scenarios/ruined_propellant_depot/ruined_propellant_depot.dmm index 80dcae5de51..6b87881e138 100644 --- a/maps/away/scenarios/ruined_propellant_depot/ruined_propellant_depot.dmm +++ b/maps/away/scenarios/ruined_propellant_depot/ruined_propellant_depot.dmm @@ -1916,7 +1916,7 @@ /obj/item/clothing/shoes/jackboots/cavalry{ pixel_y = -3 }, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /turf/simulated/floor/tiled, /area/ruined_propellant_depot/security) "fK" = ( diff --git a/maps/away/ships/scc/scc_scout_ship.dmm b/maps/away/ships/scc/scc_scout_ship.dmm index 866b0706529..693732f911f 100644 --- a/maps/away/ships/scc/scc_scout_ship.dmm +++ b/maps/away/ships/scc/scc_scout_ship.dmm @@ -1206,7 +1206,7 @@ /obj/item/clothing/accessory/tie/black, /obj/random/hoodie, /obj/item/clothing/under/konyangdresstraditional, -/obj/item/clothing/suit/storage/toggle/highvis_alt, +/obj/item/clothing/suit/storage/toggle/highvis/alt, /obj/item/clothing/suit/ianshirt, /turf/simulated/floor/tiled/dark, /area/ship/scc_scout_ship/quarters) diff --git a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm index 6e1a360d77d..8444473f3fb 100644 --- a/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm +++ b/maps/away/ships/tirakqi_smuggler/tirakqi_smuggler_ghostroles.dm @@ -188,5 +188,5 @@ uniform = /obj/item/clothing/under/skrell/wetsuit/tirakqi/engineer accessory = /obj/item/clothing/accessory/storage/pouches/brown - suit = /obj/item/clothing/suit/storage/toggle/highvis_alt + suit = /obj/item/clothing/suit/storage/toggle/highvis/alt gloves = /obj/item/clothing/gloves/yellow