From b88f65d26ead30c8d5d6f8c0b92d97c70e72b31e Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 1 May 2021 15:03:03 +0200 Subject: [PATCH] [MIRROR] Resolve chameleon GAGS item issues (#5381) * Resolve chameleon GAGS item issues * AAAAAAAA Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com> Co-authored-by: Gandalf --- .../RandomRuins/SpaceRuins/gasthelizards.dmm | 2 +- .../map_files/Deltastation/DeltaStation2.dmm | 4 +-- .../map_files/IceBoxStation/IceBoxStation.dmm | 18 +++++----- _maps/map_files/KiloStation/KiloStation.dmm | 16 ++++----- _maps/map_files/MetaStation/MetaStation.dmm | 30 ++++++++-------- _maps/map_files/tramstation/tramstation.dmm | 10 +++--- code/datums/components/crafting/tailoring.dm | 4 +-- code/game/machinery/computer/arcade/arcade.dm | 2 +- code/game/machinery/gulag_teleporter.dm | 4 +-- code/game/machinery/washing_machine.dm | 4 +-- code/game/objects/items.dm | 19 +++++++++++ .../game/objects/items/storage/uplink_kits.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 4 +-- .../crates_lockers/closets/wardrobe.dm | 4 +-- .../objects/structures/ghost_role_spawners.dm | 4 +-- .../antagonists/fugitive/fugitive_outfits.dm | 8 ++--- code/modules/cargo/bounties/security.dm | 2 +- code/modules/clothing/chameleon.dm | 34 +++++++++++++------ code/modules/clothing/shoes/colour.dm | 10 ++---- code/modules/clothing/shoes/miscellaneous.dm | 22 ++++++------ code/modules/clothing/under/color.dm | 24 ++++--------- .../clothing/under/jobs/civilian/curator.dm | 10 +++--- code/modules/clothing/under/jobs/security.dm | 6 ++-- code/modules/jobs/job_types/prisoner.dm | 2 +- code/modules/mafia/outfits.dm | 2 +- code/modules/vehicles/scooter.dm | 2 +- code/modules/vending/games.dm | 4 +-- 27 files changed, 136 insertions(+), 117 deletions(-) diff --git a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm index 08b7d28c497..fb5e8ff166e 100644 --- a/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm +++ b/_maps/RandomRuins/SpaceRuins/gasthelizards.dmm @@ -125,7 +125,7 @@ /obj/item/food/meat/slab/human/mutant/lizard, /obj/item/food/meat/slab/human/mutant/lizard, /obj/item/food/meat/slab/human/mutant/lizard, -/obj/item/clothing/under/color/prisoner, +/obj/item/clothing/under/rank/prisoner, /obj/item/food/meat/slab/human/mutant/lizard, /obj/item/food/meat/slab/human/mutant/lizard, /obj/item/food/meat/slab/human/mutant/lizard, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 57da4770a0e..b4b3de177c2 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -80629,8 +80629,8 @@ "pmV" = ( /obj/structure/closet/crate/trashcart/laundry, /obj/effect/spawner/lootdrop/prison_contraband, -/obj/item/clothing/under/color/jumpskirt/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index efac149e8e6..4644e863ed8 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -4284,10 +4284,10 @@ }, /obj/structure/closet/crate/trashcart/laundry, /obj/effect/spawner/lootdrop/prison_contraband, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, /turf/open/floor/iron/cafeteria, /area/security/prison) "anP" = ( @@ -8511,7 +8511,7 @@ pixel_x = -6; pixel_y = -8 }, -/obj/item/clothing/under/color/prisoner{ +/obj/item/clothing/under/rank/prisoner{ pixel_x = 8; pixel_y = 5 }, @@ -8519,15 +8519,15 @@ /area/security/prison) "aGL" = ( /obj/structure/table, -/obj/item/clothing/under/color/jumpskirt/prisoner{ +/obj/item/clothing/under/rank/prisoner/skirt{ pixel_x = -13; pixel_y = 5 }, -/obj/item/clothing/under/color/jumpskirt/prisoner{ +/obj/item/clothing/under/rank/prisoner/skirt{ pixel_x = 9; pixel_y = 5 }, -/obj/item/clothing/under/color/prisoner{ +/obj/item/clothing/under/rank/prisoner{ pixel_x = -2; pixel_y = 5 }, @@ -41343,7 +41343,7 @@ /obj/item/clothing/head/beanie/orange{ pixel_y = 8 }, -/obj/item/clothing/shoes/sneakers/wheelys/skishoes{ +/obj/item/clothing/shoes/wheelys/skishoes{ pixel_y = -8 }, /turf/open/floor/plating/asteroid/snow/icemoon, diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm index be62b6ebfbd..f3745bf807a 100644 --- a/_maps/map_files/KiloStation/KiloStation.dmm +++ b/_maps/map_files/KiloStation/KiloStation.dmm @@ -28318,7 +28318,7 @@ pixel_x = -6; pixel_y = -8 }, -/obj/item/clothing/under/color/prisoner{ +/obj/item/clothing/under/rank/prisoner{ pixel_x = 8; pixel_y = 5 }, @@ -28337,15 +28337,15 @@ /area/security/prison) "bti" = ( /obj/structure/table, -/obj/item/clothing/under/color/jumpskirt/prisoner{ +/obj/item/clothing/under/rank/prisoner/skirt{ pixel_x = -13; pixel_y = 5 }, -/obj/item/clothing/under/color/jumpskirt/prisoner{ +/obj/item/clothing/under/rank/prisoner/skirt{ pixel_x = 9; pixel_y = 5 }, -/obj/item/clothing/under/color/prisoner{ +/obj/item/clothing/under/rank/prisoner{ pixel_x = -2; pixel_y = 5 }, @@ -74158,10 +74158,10 @@ }, /obj/structure/closet/crate/trashcart/laundry, /obj/effect/spawner/lootdrop/prison_contraband, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, /turf/open/floor/iron/cafeteria, /area/security/prison) "omv" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 24837fa8fc0..4c3741c21fb 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -1300,10 +1300,10 @@ }, /obj/structure/closet/crate/trashcart/laundry, /obj/effect/spawner/lootdrop/prison_contraband, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, /obj/structure/window/reinforced{ dir = 1 }, @@ -4968,11 +4968,11 @@ /area/hallway/primary/fore) "aGr" = ( /obj/structure/rack, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, /obj/item/clothing/shoes/sneakers/orange, /obj/item/clothing/shoes/sneakers/orange, /obj/item/clothing/shoes/sneakers/orange, @@ -41970,10 +41970,10 @@ "kHA" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, -/obj/item/clothing/shoes/sneakers/wheelys/rollerskates{ +/obj/item/clothing/shoes/wheelys/rollerskates{ pixel_y = 5 }, -/obj/item/clothing/shoes/sneakers/wheelys/rollerskates, +/obj/item/clothing/shoes/wheelys/rollerskates, /obj/structure/extinguisher_cabinet{ pixel_x = -26 }, @@ -54188,7 +54188,7 @@ pixel_x = -6; pixel_y = -8 }, -/obj/item/clothing/under/color/prisoner{ +/obj/item/clothing/under/rank/prisoner{ pixel_x = 8; pixel_y = 5 }, @@ -57372,15 +57372,15 @@ /area/hallway/secondary/exit/departure_lounge) "pOr" = ( /obj/structure/table, -/obj/item/clothing/under/color/jumpskirt/prisoner{ +/obj/item/clothing/under/rank/prisoner/skirt{ pixel_x = -13; pixel_y = 5 }, -/obj/item/clothing/under/color/jumpskirt/prisoner{ +/obj/item/clothing/under/rank/prisoner/skirt{ pixel_x = 9; pixel_y = 5 }, -/obj/item/clothing/under/color/prisoner{ +/obj/item/clothing/under/rank/prisoner{ pixel_x = -2; pixel_y = 5 }, diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index d0a9a322992..d0b084eb038 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -22743,8 +22743,8 @@ "ewN" = ( /obj/structure/closet/crate/trashcart/laundry, /obj/effect/spawner/lootdrop/prison_contraband, -/obj/item/clothing/under/color/prisoner, -/obj/item/clothing/under/color/prisoner, +/obj/item/clothing/under/rank/prisoner, +/obj/item/clothing/under/rank/prisoner, /obj/item/clothing/shoes/sneakers/orange, /obj/item/clothing/shoes/sneakers/orange, /turf/open/floor/iron/cafeteria, @@ -68777,9 +68777,9 @@ /area/commons/dorms) "wIw" = ( /obj/structure/closet/crate/trashcart/laundry, -/obj/item/clothing/under/color/jumpskirt/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, -/obj/item/clothing/under/color/jumpskirt/prisoner, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, +/obj/item/clothing/under/rank/prisoner/skirt, /obj/item/clothing/shoes/sneakers/orange, /turf/open/floor/iron/cafeteria, /area/security/prison) diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm index 5bcd350a63c..00f59cde168 100644 --- a/code/datums/components/crafting/tailoring.dm +++ b/code/datums/components/crafting/tailoring.dm @@ -146,14 +146,14 @@ /datum/crafting_recipe/prisonsuit name = "Prisoner Uniform (Suit)" - result = /obj/item/clothing/under/color/prisoner + result = /obj/item/clothing/under/rank/prisoner reqs = list(/obj/item/stack/sheet/cloth = 3, /obj/item/stack/license_plates = 1) time = 20 category = CAT_CLOTHING /datum/crafting_recipe/prisonskirt name = "Prisoner Uniform (Skirt)" - result = /obj/item/clothing/under/color/jumpskirt/prisoner + result = /obj/item/clothing/under/rank/prisoner/skirt reqs = list(/obj/item/stack/sheet/cloth = 3, /obj/item/stack/license_plates = 1) time = 20 category = CAT_CLOTHING diff --git a/code/game/machinery/computer/arcade/arcade.dm b/code/game/machinery/computer/arcade/arcade.dm index 3ccf14fba3a..d2eda3a7e01 100644 --- a/code/game/machinery/computer/arcade/arcade.dm +++ b/code/game/machinery/computer/arcade/arcade.dm @@ -46,7 +46,7 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( /obj/item/extendohand/acme = 1, /obj/item/hot_potato/harmless/toy = 1, /obj/item/card/emagfake = 1, - /obj/item/clothing/shoes/sneakers/wheelys = 2, + /obj/item/clothing/shoes/wheelys = 2, /obj/item/clothing/shoes/kindle_kicks = 2, /obj/item/toy/plush/goatplushie = 2, /obj/item/toy/plush/moth = 2, diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 6038eb3b9bc..7fb37a4129d 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -22,8 +22,8 @@ The console is located at computer/gulag_teleporter.dm var/locked = FALSE var/message_cooldown var/breakout_time = 600 - var/jumpsuit_type = /obj/item/clothing/under/color/prisoner - var/jumpskirt_type = /obj/item/clothing/under/color/jumpskirt/prisoner + var/jumpsuit_type = /obj/item/clothing/under/rank/prisoner + var/jumpskirt_type = /obj/item/clothing/under/rank/prisoner/skirt var/shoes_type = /obj/item/clothing/shoes/sneakers/orange var/emergency_plasglove_type = /obj/item/clothing/gloves/color/plasmaman var/obj/machinery/gulag_item_reclaimer/linked_reclaimer diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index c83c6fc578d..052a36fb3da 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -22,7 +22,7 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_RD = /obj/item/clothing/under/rank/rnd/research_director, DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer, DYE_REDCOAT = /obj/item/clothing/under/costume/redcoat, - DYE_PRISONER = /obj/item/clothing/under/color/prisoner, + DYE_PRISONER = /obj/item/clothing/under/rank/prisoner, DYE_SYNDICATE = /obj/item/clothing/under/syndicate, DYE_CENTCOM = /obj/item/clothing/under/rank/centcom/commander ), @@ -45,7 +45,7 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer/skirt, DYE_RD = /obj/item/clothing/under/rank/rnd/research_director/skirt, DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt, - DYE_PRISONER = /obj/item/clothing/under/color/jumpskirt/prisoner, + DYE_PRISONER = /obj/item/clothing/under/rank/prisoner/skirt, ), DYE_REGISTRY_GLOVES = list( DYE_RED = /obj/item/clothing/gloves/color/red, diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 3f6fca7a48c..a8a400cf63c 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -35,6 +35,12 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb var/worn_icon_state ///Forced mob worn layer instead of the standard preferred ssize. var/alternate_worn_layer + ///The config type to use for greyscaled worn sprites. Both this and greyscale_colors must be assigned to work. + var/greyscale_config_worn + ///The config type to use for greyscaled left inhand sprites. Both this and greyscale_colors must be assigned to work. + var/greyscale_config_inhand_left + ///The config type to use for greyscaled right inhand sprites. Both this and greyscale_colors must be assigned to work. + var/greyscale_config_inhand_right /* !!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!! @@ -208,6 +214,7 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb for(var/path in actions_types) new path(src) actions_types = null + update_item_greyscale() if(force_string) item_flags |= FORCE_STRING_OVERRIDE @@ -265,6 +272,18 @@ GLOBAL_VAR_INIT(embedpocalypse, FALSE) // if true, all items will be able to emb /obj/item/proc/suicide_act(mob/user) return +/// Checks if this atom uses the GAS system and if so updates the worn and inhand icons +/obj/item/proc/update_item_greyscale() + if(!greyscale_colors) + return + if(greyscale_config_worn) + worn_icon = SSgreyscale.GetColoredIconByType(greyscale_config_worn, greyscale_colors) + if(greyscale_config_inhand_left) + lefthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_left, greyscale_colors) + if(greyscale_config_inhand_right) + righthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_right, greyscale_colors) + return + /obj/item/verb/move_to_top() set name = "Move To Top" set category = "Object" diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm index 854e34e3c54..ea3a603be44 100644 --- a/code/game/objects/items/storage/uplink_kits.dm +++ b/code/game/objects/items/storage/uplink_kits.dm @@ -28,7 +28,7 @@ KIT_BLOODY_SPAI = 3, KIT_STEALTHY = 2, KIT_SCREWED = 2, - KIT_SABOTAGE = 0, //SKYRAT EDIT: ORIGINAL: 2 + KIT_SABOTAGE = 3, KIT_GUN = 2, KIT_MURDER = 2, KIT_IMPLANTS = 1, diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index c064ec16da4..96b62432353 100755 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -226,8 +226,8 @@ /obj/structure/closet/secure_closet/brig/PopulateContents() ..() - new /obj/item/clothing/under/color/prisoner( src ) - new /obj/item/clothing/under/color/jumpskirt/prisoner( src ) + new /obj/item/clothing/under/rank/prisoner( src ) + new /obj/item/clothing/under/rank/prisoner/skirt( src ) new /obj/item/clothing/shoes/sneakers/orange( src ) /obj/structure/closet/secure_closet/courtroom diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 3dd87278deb..bca315340a4 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -75,9 +75,9 @@ /obj/structure/closet/wardrobe/orange/PopulateContents() for(var/i in 1 to 3) - new /obj/item/clothing/under/color/prisoner(src) + new /obj/item/clothing/under/rank/prisoner(src) for(var/i in 1 to 3) - new /obj/item/clothing/under/color/jumpskirt/prisoner(src) + new /obj/item/clothing/under/rank/prisoner/skirt(src) for(var/i in 1 to 3) new /obj/item/clothing/shoes/sneakers/orange(src) return diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 7345795f1a1..9085e79a92e 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -302,7 +302,7 @@ flavour_text += "you're an exile from the Tiger Cooperative. Their technological fanaticism drove you to question the power and beliefs of the Exolitics, and they saw you as a \ heretic and subjected you to hours of horrible torture. You were hours away from execution when a high-ranking friend of yours in the Cooperative managed to secure you a pod, \ scrambled its destination's coordinates, and launched it. You awoke from stasis when you landed and have been surviving - barely - ever since." - outfit.uniform = /obj/item/clothing/under/color/prisoner + outfit.uniform = /obj/item/clothing/under/rank/prisoner outfit.shoes = /obj/item/clothing/shoes/sneakers/orange if(3) flavour_text += "you were a doctor on one of Nanotrasen's space stations, but you left behind that damn corporation's tyranny and everything it stood for. From a metaphorical hell \ @@ -371,7 +371,7 @@ /datum/outfit/lavalandprisoner name = "Lavaland Prisoner" - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner mask = /obj/item/clothing/mask/breath shoes = /obj/item/clothing/shoes/sneakers/orange r_pocket = /obj/item/tank/internals/emergency_oxygen diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index 0ff95e27147..a893d2b22f2 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -1,6 +1,6 @@ /datum/outfit/prisoner name = "Prison Escapee" - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner shoes = /obj/item/clothing/shoes/sneakers/orange r_pocket = /obj/item/kitchen/knife/shiv @@ -95,7 +95,7 @@ /datum/outfit/bountyarmor name = "Bounty Hunter - Armored" - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner back = /obj/item/storage/backpack head = /obj/item/clothing/head/hunter suit = /obj/item/clothing/suit/space/hunter @@ -120,7 +120,7 @@ /datum/outfit/bountyhook name = "Bounty Hunter - Hook" - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner back = /obj/item/storage/backpack head = /obj/item/clothing/head/scarecrow_hat gloves = /obj/item/clothing/gloves/botanic_leather @@ -146,7 +146,7 @@ /datum/outfit/bountysynth name = "Bounty Hunter - Synth" - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner back = /obj/item/storage/backpack suit = /obj/item/clothing/suit/armor/riot shoes = /obj/item/clothing/shoes/jackboots diff --git a/code/modules/cargo/bounties/security.dm b/code/modules/cargo/bounties/security.dm index f7bdfb551e6..a6ce06ec8d6 100644 --- a/code/modules/cargo/bounties/security.dm +++ b/code/modules/cargo/bounties/security.dm @@ -17,7 +17,7 @@ description = "Terragov has been unable to source any new prisoner uniforms, so if you have any spares, we'll take them off your hands." reward = CARGO_CRATE_VALUE * 4 required_count = 4 - wanted_types = list(/obj/item/clothing/under/color/prisoner) + wanted_types = list(/obj/item/clothing/under/rank/prisoner) /datum/bounty/item/security/plates name = "License Plates" diff --git a/code/modules/clothing/chameleon.dm b/code/modules/clothing/chameleon.dm index f12775872f1..7a243d1bb41 100644 --- a/code/modules/clothing/chameleon.dm +++ b/code/modules/clothing/chameleon.dm @@ -220,16 +220,26 @@ target.icon_state = initial(picked_item.icon_state) if(isitem(target)) var/obj/item/clothing/I = target + I.worn_icon = initial(picked_item.worn_icon) I.lefthand_file = initial(picked_item.lefthand_file) I.righthand_file = initial(picked_item.righthand_file) - I.inhand_icon_state = initial(picked_item.inhand_icon_state) - I.worn_icon = initial(picked_item.worn_icon) + if(initial(picked_item.greyscale_colors)) + if(initial(picked_item.greyscale_config_worn)) + I.worn_icon = SSgreyscale.GetColoredIconByType(initial(picked_item.greyscale_config_worn), initial(picked_item.greyscale_colors)) + if(initial(picked_item.greyscale_config_inhand_left)) + I.lefthand_file = SSgreyscale.GetColoredIconByType(initial(picked_item.greyscale_config_inhand_left), initial(picked_item.greyscale_colors)) + if(initial(picked_item.greyscale_config_inhand_right)) + I.righthand_file = SSgreyscale.GetColoredIconByType(initial(picked_item.greyscale_config_inhand_right), initial(picked_item.greyscale_colors)) I.worn_icon_state = initial(picked_item.worn_icon_state) + I.inhand_icon_state = initial(picked_item.inhand_icon_state) if(istype(I, /obj/item/clothing) && istype(initial(picked_item), /obj/item/clothing)) var/obj/item/clothing/CL = I var/obj/item/clothing/PCL = picked_item CL.flags_cover = initial(PCL.flags_cover) - target.icon = initial(picked_item.icon) + if(initial(picked_item.greyscale_config) && initial(picked_item.greyscale_colors)) + target.icon = SSgreyscale.GetColoredIconByType(initial(picked_item.greyscale_config), initial(picked_item.greyscale_colors)) + else + target.icon = initial(picked_item.icon) /datum/action/item_action/chameleon/change/Trigger() if(!IsAvailable()) @@ -358,10 +368,12 @@ /obj/item/clothing/under/chameleon //starts off as black name = "black jumpsuit" - icon = 'icons/obj/clothing/under/color.dmi' - icon_state = "black" - inhand_icon_state = "bl_suit" - worn_icon = 'icons/mob/clothing/under/color.dmi' + icon_state = "jumpsuit" + greyscale_colors = "#3f3f3f" + greyscale_config = /datum/greyscale_config/jumpsuit + greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_inhand_left + greyscale_config_inhand_right = /datum/greyscale_config/jumpsuit_inhand_right + greyscale_config_worn = /datum/greyscale_config/jumpsuit_worn desc = "It's a plain jumpsuit. It has a small dial on the wrist." sensor_mode = SENSOR_OFF //Hey who's this guy on the Syndicate Shuttle?? random_sensor = FALSE @@ -591,7 +603,10 @@ /obj/item/clothing/shoes/chameleon name = "black shoes" - icon_state = "black" + icon_state = "sneakers" + greyscale_colors = "#545454#ffffff" + greyscale_config = /datum/greyscale_config/sneakers + greyscale_config_worn = /datum/greyscale_config/sneakers_worn desc = "A pair of black shoes." permeability_coefficient = 0.05 resistance_flags = NONE @@ -618,9 +633,6 @@ chameleon_action.emp_randomise() /obj/item/clothing/shoes/chameleon/noslip - name = "black shoes" - icon_state = "black" - desc = "A pair of black shoes." clothing_flags = NOSLIP can_be_bloody = FALSE special_desc_requirement = EXAMINE_CHECK_SYNDICATE // Skyrat edit diff --git a/code/modules/clothing/shoes/colour.dm b/code/modules/clothing/shoes/colour.dm index 251d690c113..bea95c41597 100644 --- a/code/modules/clothing/shoes/colour.dm +++ b/code/modules/clothing/shoes/colour.dm @@ -1,18 +1,13 @@ /obj/item/clothing/shoes/sneakers dying_key = DYE_REGISTRY_SNEAKERS icon_state = "sneakers" + greyscale_colors = "#545454#ffffff" greyscale_config = /datum/greyscale_config/sneakers - var/datum/greyscale_config/greyscale_config_worn = /datum/greyscale_config/sneakers_worn - -/obj/item/clothing/shoes/sneakers/Initialize() - . = ..() - if(greyscale_config_worn && greyscale_colors) - worn_icon = SSgreyscale.GetColoredIconByType(greyscale_config_worn, greyscale_colors) + greyscale_config_worn = /datum/greyscale_config/sneakers_worn /obj/item/clothing/shoes/sneakers/black name = "black shoes" desc = "A pair of black shoes." - greyscale_colors = "#545454#ffffff" custom_price = PAYCHECK_ASSISTANT cold_protection = FEET @@ -29,6 +24,7 @@ name = "blue shoes" permeability_coefficient = 0.01 greyscale_colors = "#16a9eb#ffffff" + permeability_coefficient = 0.01 /obj/item/clothing/shoes/sneakers/green name = "green shoes" diff --git a/code/modules/clothing/shoes/miscellaneous.dm b/code/modules/clothing/shoes/miscellaneous.dm index 0021312b1e1..d1bd763a413 100644 --- a/code/modules/clothing/shoes/miscellaneous.dm +++ b/code/modules/clothing/shoes/miscellaneous.dm @@ -46,7 +46,7 @@ /obj/item/clothing/shoes/sandal/marisa desc = "A pair of magic black shoes." name = "magic shoes" - icon_state = "black" + resistance_flags = FIRE_PROOF | ACID_PROOF species_exception = null @@ -305,13 +305,13 @@ . = ..() AddComponent(/datum/component/squeak, list('sound/machines/clockcult/integration_cog_install.ogg' = 1, 'sound/magic/clockwork/fellowship_armory.ogg' = 1), 50, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) -/obj/item/clothing/shoes/sneakers/wheelys +/obj/item/clothing/shoes/wheelys name = "Wheely-Heels" desc = "Uses patented retractable wheel technology. Never sacrifice speed for style - not that this provides much of either." //Thanks Fel worn_icon_state = "wheelys" greyscale_colors = "#545454#ffffff" + icon_state = "sneakers" greyscale_config = /datum/greyscale_config/sneakers_wheelys - greyscale_config_worn = null inhand_icon_state = "wheelys" worn_icon = 'icons/mob/large-worn-icons/64x64/feet.dmi' worn_x_dimension = 64 @@ -323,16 +323,16 @@ ///The vehicle associated with the shoes var/obj/vehicle/ridden/scooter/skateboard/wheelys/wheels = /obj/vehicle/ridden/scooter/skateboard/wheelys -/obj/item/clothing/shoes/sneakers/wheelys/Initialize() +/obj/item/clothing/shoes/wheelys/Initialize() . = ..() AddElement(/datum/element/update_icon_updates_onmob) wheels = new wheels(null) wheels.link_shoes(src) -/obj/item/clothing/shoes/sneakers/wheelys/ui_action_click(mob/user, action) +/obj/item/clothing/shoes/wheelys/ui_action_click(mob/user, action) if(!isliving(user)) return - if(!istype(user.get_item_by_slot(ITEM_SLOT_FEET), /obj/item/clothing/shoes/sneakers/wheelys)) + if(!istype(user.get_item_by_slot(ITEM_SLOT_FEET), /obj/item/clothing/shoes/wheelys)) to_chat(user, "You must be wearing the wheely-heels to use them!") return if(!(wheels.is_occupant(user))) @@ -345,13 +345,13 @@ wheels.buckle_mob(user) wheelToggle = TRUE -/obj/item/clothing/shoes/sneakers/wheelys/dropped(mob/user) +/obj/item/clothing/shoes/wheelys/dropped(mob/user) if(wheelToggle) wheels.unbuckle_mob(user) wheelToggle = FALSE ..() -/obj/item/clothing/shoes/sneakers/wheelys/proc/toggle_wheels(status) +/obj/item/clothing/shoes/wheelys/proc/toggle_wheels(status) if (status) worn_icon_state = "[initial(worn_icon_state)]-on" else @@ -359,11 +359,11 @@ playsound(src, 'sound/weapons/tap.ogg', 10, TRUE) update_appearance() -/obj/item/clothing/shoes/sneakers/wheelys/Destroy() +/obj/item/clothing/shoes/wheelys/Destroy() QDEL_NULL(wheels) . = ..() -/obj/item/clothing/shoes/sneakers/wheelys/rollerskates +/obj/item/clothing/shoes/wheelys/rollerskates name = "roller skates" desc = "An EightO brand pair of roller skates. The wheels are retractable, though're quite bulky to walk in." icon_state = "rollerskates" @@ -375,7 +375,7 @@ custom_premium_price = PAYCHECK_EASY * 5 custom_price = PAYCHECK_EASY * 5 -/obj/item/clothing/shoes/sneakers/wheelys/skishoes +/obj/item/clothing/shoes/wheelys/skishoes name = "ski shoes" desc = "A pair of shoes equipped with foldable skis! Very handy to move in snowy environments unimpeded." icon_state = "skishoes" diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 73c38c2c5f2..31b5d87ac3d 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -1,13 +1,13 @@ /obj/item/clothing/under/color desc = "A standard issue colored jumpsuit. Variety is the spice of life!" dying_key = DYE_REGISTRY_UNDER + greyscale_colors = "#3f3f3f" greyscale_config = /datum/greyscale_config/jumpsuit - var/datum/greyscale_config/greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_inhand_left - var/datum/greyscale_config/greyscale_config_inhand_right = /datum/greyscale_config/jumpsuit_inhand_right - var/datum/greyscale_config/greyscale_config_worn = /datum/greyscale_config/jumpsuit_worn + greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_inhand_left + greyscale_config_inhand_right = /datum/greyscale_config/jumpsuit_inhand_right + greyscale_config_worn = /datum/greyscale_config/jumpsuit_worn icon = 'icons/obj/clothing/under/color.dmi' icon_state = "jumpsuit" - inhand_icon_state = "jumpsuit" worn_icon = 'icons/mob/clothing/under/color.dmi' /obj/item/clothing/under/color/jumpskirt @@ -21,7 +21,7 @@ /obj/item/clothing/under/color/random/Initialize() ..() - var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/ancient - /obj/item/clothing/under/color/black/ghost - /obj/item/clothing/under/color/prisoner) + var/obj/item/clothing/under/color/C = pick(subtypesof(/obj/item/clothing/under/color) - typesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/random - /obj/item/clothing/under/color/grey/ancient - /obj/item/clothing/under/color/black/ghost - /obj/item/clothing/under/rank/prisoner) if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.equip_to_slot_or_del(new C(H), ITEM_SLOT_ICLOTHING, initial=TRUE) //or else you end up with naked assistants running around everywhere... @@ -34,7 +34,7 @@ /obj/item/clothing/under/color/jumpskirt/random/Initialize() ..() - var/obj/item/clothing/under/color/jumpskirt/C = pick(subtypesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/jumpskirt/random - /obj/item/clothing/under/color/jumpskirt/prisoner) + var/obj/item/clothing/under/color/jumpskirt/C = pick(subtypesof(/obj/item/clothing/under/color/jumpskirt) - /obj/item/clothing/under/color/jumpskirt/random - /obj/item/clothing/under/rank/prisoner/skirt) if(ishuman(loc)) var/mob/living/carbon/human/H = loc H.equip_to_slot_or_del(new C(H), ITEM_SLOT_ICLOTHING, initial=TRUE) @@ -42,24 +42,12 @@ new C(loc) return INITIALIZE_HINT_QDEL -/obj/item/clothing/under/color/Initialize() - . = ..() - if(greyscale_colors) - if(greyscale_config_inhand_left) - lefthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_left, greyscale_colors) - if(greyscale_config_inhand_right) - righthand_file = SSgreyscale.GetColoredIconByType(greyscale_config_inhand_right, greyscale_colors) - if(greyscale_config_worn) - worn_icon = SSgreyscale.GetColoredIconByType(greyscale_config_worn, greyscale_colors) - /obj/item/clothing/under/color/black name = "black jumpsuit" resistance_flags = NONE - greyscale_colors = "#3f3f3f" /obj/item/clothing/under/color/jumpskirt/black name = "black jumpskirt" - greyscale_colors = "#3f3f3f" /obj/item/clothing/under/color/black/ghost item_flags = DROPDEL diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm index 9080dcfeb97..936c574e157 100644 --- a/code/modules/clothing/under/jobs/civilian/curator.dm +++ b/code/modules/clothing/under/jobs/civilian/curator.dm @@ -30,10 +30,12 @@ /obj/item/clothing/under/rank/civilian/curator/nasa name = "\improper NASA jumpsuit" desc = "It has a NASA logo on it and is made of space-proofed materials." - icon = 'icons/obj/clothing/under/color.dmi' - icon_state = "black" - inhand_icon_state = "bl_suit" - worn_icon = 'icons/mob/clothing/under/color.dmi' + icon_state = "jumpsuit" + greyscale_colors = "#3f3f3f" + greyscale_config = /datum/greyscale_config/jumpsuit + greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_inhand_left + greyscale_config_inhand_right = /datum/greyscale_config/jumpsuit_inhand_right + greyscale_config_worn = /datum/greyscale_config/jumpsuit_worn w_class = WEIGHT_CLASS_BULKY gas_transfer_coefficient = 0.01 permeability_coefficient = 0.02 diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 695034ff4aa..86f6cf8f292 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -195,9 +195,10 @@ inhand_icon_state = "spacepol" can_adjust = FALSE -/obj/item/clothing/under/color/prisoner +/obj/item/clothing/under/rank/prisoner name = "prison jumpsuit" desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." + icon_state = "jumpsuit" greyscale_colors = "#ff8300" greyscale_config = /datum/greyscale_config/jumpsuit_prison greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_prison_inhand_left @@ -207,9 +208,10 @@ sensor_mode = SENSOR_COORDS random_sensor = FALSE -/obj/item/clothing/under/color/jumpskirt/prisoner +/obj/item/clothing/under/rank/prisoner/skirt name = "prison jumpskirt" desc = "It's standardised Nanotrasen prisoner-wear. Its suit sensors are stuck in the \"Fully On\" position." + icon_state = "jumpskirt" greyscale_colors = "#ff8300" greyscale_config = /datum/greyscale_config/jumpsuit_prison greyscale_config_inhand_left = /datum/greyscale_config/jumpsuit_prison_inhand_left diff --git a/code/modules/jobs/job_types/prisoner.dm b/code/modules/jobs/job_types/prisoner.dm index 452e26332f0..c25f18921aa 100644 --- a/code/modules/jobs/job_types/prisoner.dm +++ b/code/modules/jobs/job_types/prisoner.dm @@ -24,7 +24,7 @@ name = "Prisoner" jobtype = /datum/job/prisoner - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner shoes = /obj/item/clothing/shoes/sneakers/orange id = /obj/item/card/id/advanced/prisoner ears = null diff --git a/code/modules/mafia/outfits.dm b/code/modules/mafia/outfits.dm index 5f91109d96d..1c1fbb3cc29 100644 --- a/code/modules/mafia/outfits.dm +++ b/code/modules/mafia/outfits.dm @@ -100,7 +100,7 @@ /datum/outfit/mafia/fugitive name = "Mafia Fugitive" - uniform = /obj/item/clothing/under/color/prisoner + uniform = /obj/item/clothing/under/rank/prisoner shoes = /obj/item/clothing/shoes/sneakers/orange /datum/outfit/mafia/obsessed diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm index bb34a690247..75cdd4456ab 100644 --- a/code/modules/vehicles/scooter.dm +++ b/code/modules/vehicles/scooter.dm @@ -250,7 +250,7 @@ density = FALSE instability = 12 ///Stores the shoes associated with the vehicle - var/obj/item/clothing/shoes/sneakers/wheelys/shoes = null + var/obj/item/clothing/shoes/wheelys/shoes = null ///Name of the wheels, for visible messages var/wheel_name = "wheels" ///Component typepath to attach in [/obj/vehicle/ridden/scooter/skateboard/wheelys/proc/make_ridable()] diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index 975e751a1f0..4321952e15a 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -22,10 +22,10 @@ /obj/item/skillchip/light_remover=2, /obj/item/skillchip/useless_adapter=5) contraband = list(/obj/item/dice/fudge = 9, - /obj/item/clothing/shoes/sneakers/wheelys/skishoes=4, + /obj/item/clothing/shoes/wheelys/skishoes=4, /obj/item/instrument/musicalmoth=1) premium = list(/obj/item/melee/skateboard/pro = 3, - /obj/item/clothing/shoes/sneakers/wheelys/rollerskates= 3, + /obj/item/clothing/shoes/wheelys/rollerskates= 3, /obj/item/melee/skateboard/hoverboard = 1, /obj/item/storage/box/tail_pin = 1, /obj/item/toy/intento = 3)