diff --git a/README.md b/README.md
index 5ad06a4bdf..7fb49ca3dd 100644
--- a/README.md
+++ b/README.md
@@ -95,4 +95,4 @@ For a basic setup, simply copy every file from config/example to config.
### SQL Setup
-The SQL backend for the library and stats tracking requires a MySQL server. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql. More detailed setup instructions arecoming soon, for now ask in our Discord.
\ No newline at end of file
+The SQL backend for the library and stats tracking requires a MySQL server. Your server details go in /config/dbconfig.txt, and the SQL schema is in /SQL/tgstation_schema.sql. More detailed setup instructions arecoming soon, for now ask in our Discord.
diff --git a/code/datums/supplypacks/materials_yw.dm b/code/datums/supplypacks/materials_yw.dm
new file mode 100644
index 0000000000..de73a90b35
--- /dev/null
+++ b/code/datums/supplypacks/materials_yw.dm
@@ -0,0 +1,14 @@
+/datum/supply_pack/materials/carpet_fancy
+ name = "Fancy Imported carpet"
+ containertype = /obj/structure/closet/crate
+ containername = "Fancy Imported carpet crate"
+ cost = 50
+ contains = list(
+ /obj/fiftyspawner/bcarpet,
+ /obj/fiftyspawner/blucarpet,
+ /obj/fiftyspawner/turcarpet,
+ /obj/fiftyspawner/sblucarpet,
+ /obj/fiftyspawner/gaycarpet,
+ /obj/fiftyspawner/purcarpet,
+ /obj/fiftyspawner/oracarpet
+ ) //REEE
\ No newline at end of file
diff --git a/code/game/objects/items/stacks/tiles/fifty_spawner_tiles_yw.dm b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles_yw.dm
new file mode 100644
index 0000000000..6b1018021b
--- /dev/null
+++ b/code/game/objects/items/stacks/tiles/fifty_spawner_tiles_yw.dm
@@ -0,0 +1,27 @@
+/obj/fiftyspawner/bcarpet
+ name = "stack of black carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/bcarpet
+
+/obj/fiftyspawner/blucarpet
+ name = "stack of blue carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/blucarpet
+
+/obj/fiftyspawner/turcarpet
+ name = "stack of tue carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/turcarpet
+
+/obj/fiftyspawner/sblucarpet
+ name = "stack of silver blue carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/sblucarpet
+
+/obj/fiftyspawner/gaycarpet
+ name = "stack of clown carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/gaycarpet
+
+/obj/fiftyspawner/purcarpet
+ name = "stack of purple carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/purcarpet
+
+/obj/fiftyspawner/oracarpet
+ name = "stack of orange carpet"
+ type_to_spawn = /obj/item/stack/tile/carpet/oracarpet
\ No newline at end of file
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 901158ffe0..1b7d04b14a 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -92,7 +92,8 @@
icon_state = "tile-tealcarpet"
no_variants = FALSE
-/obj/item/stack/tile/carpet/bcarpet
+/*/obj/item/stack/tile/carpet/bcarpet //YW EDIT: Commented out to help with upstream merging. Get on this you fucking virgo bois. -yw
+
icon_state = "tile-carpet"
/obj/item/stack/tile/carpet/blucarpet
icon_state = "tile-carpet"
@@ -105,7 +106,7 @@
/obj/item/stack/tile/carpet/purcarpet
icon_state = "tile-carpet"
/obj/item/stack/tile/carpet/oracarpet
- icon_state = "tile-carpet"
+ icon_state = "tile-carpet"*/
/obj/item/stack/tile/floor
name = "floor tile"
@@ -238,4 +239,4 @@
uses_charge = 1
charge_costs = list(250)
stacktype = /obj/item/stack/tile/roofing
- build_type = /obj/item/stack/tile/roofing
\ No newline at end of file
+ build_type = /obj/item/stack/tile/roofing
diff --git a/code/game/objects/items/stacks/tiles/tile_types_yw.dm b/code/game/objects/items/stacks/tiles/tile_types_yw.dm
new file mode 100644
index 0000000000..a78efd1045
--- /dev/null
+++ b/code/game/objects/items/stacks/tiles/tile_types_yw.dm
@@ -0,0 +1,21 @@
+/obj/item/stack/tile/carpet/bcarpet
+ name = "black carpet"
+ icon_state = "tile-carpet"
+/obj/item/stack/tile/carpet/blucarpet
+ name = "blue carpet"
+ icon_state = "tile-carpet"
+/obj/item/stack/tile/carpet/turcarpet
+ name = "tur carpet"
+ icon_state = "tile-carpet"
+/obj/item/stack/tile/carpet/sblucarpet
+ name = "silver blue carpet"
+ icon_state = "tile-carpet"
+/obj/item/stack/tile/carpet/gaycarpet
+ name = "Clown Carpet"
+ icon_state = "tile-carpet"
+/obj/item/stack/tile/carpet/purcarpet
+ name = "purple carpet"
+ icon_state = "tile-carpet"
+/obj/item/stack/tile/carpet/oracarpet
+ name = "orange carpet"
+ icon_state = "tile-carpet"
\ No newline at end of file
diff --git a/code/modules/DMAPI/st_commands.dm b/code/modules/DMAPI/st_commands.dm
index dc707d8b71..33d4caabb3 100644
--- a/code/modules/DMAPI/st_commands.dm
+++ b/code/modules/DMAPI/st_commands.dm
@@ -1,3 +1,5 @@
+//File DEFUNCT
+
/datum/server_tools_command
var/name = "" //the string to trigger this command on a chat bot. e.g. TGS3_BOT: do_this_command
var/help_text = "" //help text for this command
diff --git a/code/modules/DMAPI/st_interface.dm b/code/modules/DMAPI/st_interface.dm
index 4e975b14c2..544da9434c 100644
--- a/code/modules/DMAPI/st_interface.dm
+++ b/code/modules/DMAPI/st_interface.dm
@@ -1,3 +1,5 @@
+//File DEFUNCT
+
SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(reboot_mode, REBOOT_MODE_NORMAL)
SERVER_TOOLS_DEFINE_AND_SET_GLOBAL(server_tools_api_compatible, FALSE)
diff --git a/code/modules/DMAPI/yawnDMAPI.dm b/code/modules/DMAPI/yawnDMAPI.dm
index d37a0a225a..8f2c5b7605 100644
--- a/code/modules/DMAPI/yawnDMAPI.dm
+++ b/code/modules/DMAPI/yawnDMAPI.dm
@@ -1,3 +1,5 @@
+//File DEFUNCT
+
/datum/server_tools_command/status
name = "status" //the string to trigger this command on a chat bot. e.g. TGS3_BOT: do_this_command
help_text = "Will broadcast the current player count and other round information" //help text for this command
diff --git a/code/modules/client/client procs.dm b/code/modules/client/client procs.dm
index a775bf2568..82d68d7a47 100644
--- a/code/modules/client/client procs.dm
+++ b/code/modules/client/client procs.dm
@@ -92,8 +92,8 @@
var/DBQuery/query = dbcon.NewQuery("UPDATE erro_player SET discord_id = '[sql_discord]' WHERE ckey = '[sql_ckey]'")
if(query.Execute())
to_chat(src, "Registration complete! Thank you for taking the time to register your Discord ID.")
- log_and_message_admins("[ckey] has registered their Discord ID to obtain the Crew Member role. Their Discord snowflake ID is: [their_id]")
- admin_chat_message(message = "[ckey] has registered their Discord ID to obtain the Crew Member role. Their Discord is: <@[their_id]>", color = "#4eff22")
+ log_and_message_admins("[ckey] has registered their Discord ID. Their Discord snowflake ID is: [their_id]") //YW EDIT
+ admin_chat_message(message = "[ckey] has registered their Discord ID. Their Discord is: <@[their_id]>", color = "#4eff22") //YW EDIT
notes_add(ckey, "Discord ID: [their_id]")
world.VgsAddMemberRole(their_id)
else
diff --git a/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm b/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm
index 11c4082794..0bfe5bd45a 100644
--- a/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_fluffitems_yw.dm
@@ -284,7 +284,14 @@
ckeywhitelist = list("dawidoe")
character_name = list("Melissa Krutz")
allowed_roles = list("Security Officer")
-
+//Dopiotl
+//Jeanne Petite
+/datum/gear/fluff/jeans_chocolates
+ path = /obj/item/weapon/storage/secure/briefcase/fluff/jeans
+ display_name = "ChocoBox"
+ description = "M-M-M-M-MONEY SHOT"
+ ckeywhitelist = list("dopiotl")
+ character_name = list("Jeanne Petite")
//dwaggy90
//Saur Darastrix
/datum/gear/fluff/saur_rig
diff --git a/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm b/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm
index b55c3d8a8e..1a8c8ef01a 100644
--- a/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm
+++ b/code/modules/client/preference_setup/loadout/loadout_xeno_yw.dm
@@ -18,3 +18,18 @@
whitelisted = SPECIES_ZADDAT
allowed_roles = list("Chief Engineer", "Atmospheric Technician", "Station Engineer")
+
+//Added from CHOMP
+/datum/gear/suit/hood
+ display_name = "hooded cloak selection (Teshari)"
+ path = /obj/item/clothing/suit/storage/seromi/cloak/standard
+ whitelisted = SPECIES_TESHARI
+ sort_category = "Xenowear"
+
+/datum/gear/suit/hood/New()
+ ..()
+ var/list/cloaks = list()
+ for(var/cloak in typesof(/obj/item/clothing/suit/storage/hooded/teshari/standard))
+ var/obj/item/clothing/suit/storage/seromi/cloak/cloak_type = cloak
+ cloaks[initial(cloak_type.name)] = cloak_type
+ gear_tweaks += new/datum/gear_tweak/path(sortAssoc(cloaks))
\ No newline at end of file
diff --git a/code/modules/clothing/suits/aliens/seromi_yw.dm b/code/modules/clothing/suits/aliens/seromi_yw.dm
new file mode 100644
index 0000000000..440d355cc6
--- /dev/null
+++ b/code/modules/clothing/suits/aliens/seromi_yw.dm
@@ -0,0 +1,315 @@
+//Added from CHOMP https://github.com/CHOMPStation2/CHOMPStation2/pull/207
+//Chompstation teshari cloaks
+/obj/item/clothing/suit/storage/seromi/cloak/standard/dark_retrowave
+ name = "dark aesthetic cloak"
+ icon_state = "tesh_cloak_dretrowave"
+ item_state = "tesh_cloak_dretrowave"
+ icon = 'icons/mob/species/seromi/teshari_cloak_yw.dmi'
+ icon_override = 'icons/mob/species/seromi/teshari_cloak_yw.dmi'
+
+/obj/item/clothing/suit/storage/seromi/cloak/standard/black_glow
+ name = "black and glowing cloak"
+ icon_state = "tesh_cloak_bglowing"
+ item_state = "tesh_cloak_bglowing"
+ icon = 'icons/mob/species/seromi/teshari_cloak_yw.dmi'
+ icon_override = 'icons/mob/species/seromi/teshari_cloak_yw.dmi'
+
+//Hooded teshari cloaks
+/obj/item/clothing/suit/storage/hooded/teshari
+ name = "Hooded Teshari Cloak"
+ desc = "A soft teshari cloak with an added hood."
+ icon_override = 'icons/mob/species/seromi/teshari_hood_yw.dmi'
+ icon = 'icons/mob/species/seromi/teshari_hood_yw.dmi'
+ icon_state = "tesh_hcloak_bo"
+ item_state_slots = list(slot_r_hand_str = "tesh_hcloak_bo", slot_l_hand_str = "tesh_hcloak_bo")
+ body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
+ flags_inv = HIDEHOLSTER|HIDETIE
+ //hooded = 1 Variable no longer exists, hood is now handled by code/modules/clothing/suit/storage/hooded.dm
+ action_button_name = "Toggle Cloak Hood"
+ hoodtype = /obj/item/clothing/head/tesh_hood
+ allowed = list (/obj/item/weapon/pen, /obj/item/weapon/paper, /obj/item/device/flashlight,/obj/item/weapon/tank/emergency/oxygen, /obj/item/weapon/storage/fancy/cigarettes, /obj/item/weapon/storage/box/matches, /obj/item/weapon/reagent_containers/food/drinks/flask)
+
+/obj/item/clothing/head/tesh_hood
+ name = "Cloak Hood"
+ desc = "A hood attached to a teshari cloak."
+ icon_override = 'icons/mob/species/seromi/teshari_hood_yw.dmi'
+ icon = 'icons/mob/species/seromi/teshari_hood_yw.dmi'
+ icon_state = "tesh_hood_bo"
+ item_state_slots = list(slot_r_hand_str = "tesh_hood_bo", slot_l_hand_str = "tesh_hood_bo")
+ flags_inv = BLOCKHAIR
+ body_parts_covered = HEAD
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_orange
+ name = "black and orange hooded cloak"
+ icon_state = "tesh_hcloak_bo"
+ item_state = "tesh_hcloak_bo"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_orange
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_grey
+ name = "black and grey hooded cloak"
+ icon_state = "tesh_hcloak_bg"
+ item_state = "tesh_hcloak_bg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_midgrey
+ name = "black and medium grey hooded cloak"
+ icon_state = "tesh_hcloak_bmg"
+ item_state = "tesh_hcloak_bmg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_midgrey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_lightgrey
+ name = "black and light grey hooded cloak"
+ icon_state = "tesh_hcloak_blg"
+ item_state = "tesh_hcloak_blg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_lightgrey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_white
+ name = "black and white hooded cloak"
+ icon_state = "tesh_hcloak_bw"
+ item_state = "tesh_hcloak_bw"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_white
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_red
+ name = "black and red hooded cloak"
+ icon_state = "tesh_hcloak_br"
+ item_state = "tesh_hcloak_br"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_red
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black
+ name = "black hooded cloak"
+ icon_state = "tesh_hcloak_bn"
+ item_state = "tesh_hcloak_bn"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_yellow
+ name = "black and yellow hooded cloak"
+ icon_state = "tesh_hcloak_by"
+ item_state = "tesh_hcloak_by"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_yellow
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_green
+ name = "black and green hooded cloak"
+ icon_state = "tesh_hcloak_bgr"
+ item_state = "tesh_hcloak_bgr"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_green
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_blue
+ name = "black and blue hooded cloak"
+ icon_state = "tesh_hcloak_bbl"
+ item_state = "tesh_hcloak_bbl"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_blue
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_purple
+ name = "black and purple hooded cloak"
+ icon_state = "tesh_hcloak_bp"
+ item_state = "tesh_hcloak_bp"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_purple
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_pink
+ name = "black and pink hooded cloak"
+ icon_state = "tesh_hcloak_bpi"
+ item_state = "tesh_hcloak_bpi"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_pink
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/black_brown
+ name = "black and brown hooded cloak"
+ icon_state = "tesh_hcloak_bbr"
+ item_state = "tesh_hcloak_bbr"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/black_brown
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/orange_grey
+ name = "orange and grey hooded cloak"
+ icon_state = "tesh_hcloak_og"
+ item_state = "tesh_hcloak_og"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/orange_grey
+
+///obj/item/clothing/suit/storage/hooded/teshari/standard/rainbow
+// name = "rainbow hooded cloak"
+// icon_state = "tesh_hcloak_rainbow"
+// item_state = "tesh_hcloak_rainbow"
+// hoodtype = /obj/item/clothing/head/tesh_hood/standard/rainbow
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/lightgrey_grey
+ name = "light grey and grey hooded cloak"
+ icon_state = "tesh_hcloak_lgg"
+ item_state = "tesh_hcloak_lgg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/lightgrey_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/white_grey
+ name = "white and grey hooded cloak"
+ icon_state = "tesh_hcloak_wg"
+ item_state = "tesh_hcloak_wg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/white_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/red_grey
+ name = "red and grey hooded cloak"
+ icon_state = "tesh_hcloak_rg"
+ item_state = "tesh_hcloak_rg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/red_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/orange
+ name = "orange hooded cloak"
+ icon_state = "tesh_hcloak_on"
+ item_state = "tesh_hcloak_on"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/orange
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/yellow_grey
+ name = "yellow and grey hooded cloak"
+ icon_state = "tesh_hcloak_yg"
+ item_state = "tesh_hcloak_yg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/yellow_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/green_grey
+ name = "green and grey hooded cloak"
+ icon_state = "tesh_hcloak_gg"
+ item_state = "tesh_hcloak_gg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/green_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/blue_grey
+ name = "blue and grey hooded cloak"
+ icon_state = "tesh_hcloak_blug"
+ item_state = "tesh_hcloak_blug"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/blue_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/purple_grey
+ name = "purple and grey hooded cloak"
+ icon_state = "tesh_hcloak_pg"
+ item_state = "tesh_hcloak_pg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/purple_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/pink_grey
+ name = "pink and grey hooded cloak"
+ icon_state = "tesh_hcloak_pig"
+ item_state = "tesh_hcloak_pig"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/pink_grey
+
+/obj/item/clothing/suit/storage/hooded/teshari/standard/brown_grey
+ name = "brown and grey hooded cloak"
+ icon_state = "tesh_hcloak_brg"
+ item_state = "tesh_hcloak_brg"
+ hoodtype = /obj/item/clothing/head/tesh_hood/standard/brown_grey
+
+/obj/item/clothing/head/tesh_hood/standard/black_orange
+ name = "black and orange cloak hood"
+ icon_state = "tesh_hood_bo"
+ item_state = "tesh_hood_bo"
+
+/obj/item/clothing/head/tesh_hood/standard/black_grey
+ name = "black and grey cloak hood"
+ icon_state = "tesh_hood_bg"
+ item_state = "tesh_hood_bg"
+
+/obj/item/clothing/head/tesh_hood/standard/black_midgrey
+ name = "black and medium grey cloak hood"
+ icon_state = "tesh_hood_bmg"
+ item_state = "tesh_hood_bmg"
+
+/obj/item/clothing/head/tesh_hood/standard/black_lightgrey
+ name = "black and light grey cloak hood"
+ icon_state = "tesh_hood_blg"
+ item_state = "tesh_hood_blg"
+
+/obj/item/clothing/head/tesh_hood/standard/black_white
+ name = "black and white cloak hood"
+ icon_state = "tesh_hood_bw"
+ item_state = "tesh_hood_bw"
+
+/obj/item/clothing/head/tesh_hood/standard/black_red
+ name = "black and red cloak hood"
+ icon_state = "tesh_hood_br"
+ item_state = "tesh_hood_br"
+
+/obj/item/clothing/head/tesh_hood/standard/black
+ name = "black cloak hood"
+ icon_state = "tesh_hood_bn"
+ item_state = "tesh_hood_bn"
+
+/obj/item/clothing/head/tesh_hood/standard/black_yellow
+ name = "black and yellow cloak hood"
+ icon_state = "tesh_hood_by"
+ item_state = "tesh_hood_by"
+
+/obj/item/clothing/head/tesh_hood/standard/black_green
+ name = "black and green cloak hood"
+ icon_state = "tesh_hood_bgr"
+ item_state = "tesh_hood_bgr"
+
+/obj/item/clothing/head/tesh_hood/standard/black_blue
+ name = "black and blue cloak hood"
+ icon_state = "tesh_hood_bbl"
+ item_state = "tesh_hood_bbl"
+
+/obj/item/clothing/head/tesh_hood/standard/black_purple
+ name = "black and purple cloak hood"
+ icon_state = "tesh_hood_bp"
+ item_state = "tesh_hood_bp"
+
+/obj/item/clothing/head/tesh_hood/standard/black_pink
+ name = "black and pink cloak hood"
+ icon_state = "tesh_hood_bpi"
+ item_state = "tesh_hood_bpi"
+
+/obj/item/clothing/head/tesh_hood/standard/black_brown
+ name = "black and brown cloak hood"
+ icon_state = "tesh_hood_bbr"
+ item_state = "tesh_hood_bbr"
+
+/obj/item/clothing/head/tesh_hood/standard/orange_grey
+ name = "orange and grey cloak hood"
+ icon_state = "tesh_hood_og"
+ item_state = "tesh_hood_og"
+
+/obj/item/clothing/head/tesh_hood/standard/rainbow
+ name = "rainbow cloak hood"
+ icon_state = "tesh_hood_rainbow"
+ item_state = "tesh_hood_rainbow"
+
+/obj/item/clothing/head/tesh_hood/standard/lightgrey_grey
+ name = "light grey and grey cloak hood"
+ icon_state = "tesh_hood_lgg"
+ item_state = "tesh_hood_lgg"
+
+/obj/item/clothing/head/tesh_hood/standard/white_grey
+ name = "white and grey cloak hood"
+ icon_state = "tesh_hood_wg"
+ item_state = "tesh_hood_wg"
+
+/obj/item/clothing/head/tesh_hood/standard/red_grey
+ name = "red and grey cloak hood"
+ icon_state = "tesh_hood_rg"
+ item_state = "tesh_hood_rg"
+
+/obj/item/clothing/head/tesh_hood/standard/orange
+ name = "orange cloak hood"
+ icon_state = "tesh_hood_on"
+ item_state = "tesh_hood_on"
+
+/obj/item/clothing/head/tesh_hood/standard/yellow_grey
+ name = "yellow and grey cloak hood"
+ icon_state = "tesh_hood_yg"
+ item_state = "tesh_hood_yg"
+
+/obj/item/clothing/head/tesh_hood/standard/green_grey
+ name = "green and grey cloak hood"
+ icon_state = "tesh_hood_gg"
+ item_state = "tesh_hood_gg"
+
+/obj/item/clothing/head/tesh_hood/standard/blue_grey
+ name = "blue and grey cloak hood"
+ icon_state = "tesh_hood_blug"
+ item_state = "tesh_hood_blug"
+
+/obj/item/clothing/head/tesh_hood/standard/purple_grey
+ name = "purple and grey cloak hood"
+ icon_state = "tesh_hood_pg"
+ item_state = "tesh_hood_pg"
+
+/obj/item/clothing/head/tesh_hood/standard/pink_grey
+ name = "pink and grey cloak hood"
+ icon_state = "tesh_hood_pig"
+ item_state = "tesh_hood_pig"
+
+/obj/item/clothing/head/tesh_hood/standard/brown_grey
+ name = "brown and grey cloak hood"
+ icon_state = "tesh_hood_brg"
+ item_state = "tesh_hood_brg"
\ No newline at end of file
diff --git a/code/modules/tgs/v5/chat_commands.dm b/code/modules/tgs/v5/chat_commands.dm
index acae136587..53aeb57a3a 100644
--- a/code/modules/tgs/v5/chat_commands.dm
+++ b/code/modules/tgs/v5/chat_commands.dm
@@ -2,10 +2,10 @@
name = "status"
help_text = "Shows the current production server status"
admin_only = FALSE
-
+/* YW EDIT: replaced by yw variant
/datum/tgs_chat_command/status/Run(datum/tgs_chat_user/sender, params)
return "Current server status:\n**Web Manifest:** \n**Players:** [TGS_CLIENT_COUNT]\n**Round Duration:** [roundduration2text()]"
-
+*/
/datum/tgs_chat_command/parsetest
name = "parsetest"
help_text = "Shows the current production server status"
@@ -117,3 +117,21 @@ GLOBAL_LIST_EMPTY(pending_discord_registrations)
GLOB.pending_discord_registrations[GLOB.pending_discord_registrations.len] = list("ckey" = key_to_find, "id" = sender.id, "time" = world.realtime)
return "[sender.friendly_name], I've sent you a message in-game. Please verify your username there to complete your registration within 10 minutes."
+
+//YW Commands
+//Status
+/datum/tgs_chat_command/status/Run(datum/tgs_chat_user/sender, params)
+ return "Current server status:**Players:** [TGS_CLIENT_COUNT]\n**Round Duration:** [roundduration2text()]"
+
+// - FAX
+/datum/tgs_chat_command/readfax
+ name = "readfax"
+ help_text = "Reads a fax with specified faxid"
+ //required_parameters = 1 Is not a thing
+ admin_only = TRUE
+
+/datum/tgs_chat_command/readfax/Run(sender, params)
+ var/list/all_params = splittext(params, " ")
+ var/faxid = all_params[1]
+ var/faxmsg = return_file_text("[config.fax_export_dir]/fax_[faxid].html")
+ return "FAX: ```[strip_html_properly(faxmsg)]```"
\ No newline at end of file
diff --git a/code/modules/vore/appearance/sprite_accessories_yw.dm b/code/modules/vore/appearance/sprite_accessories_yw.dm
index 70b1680b9f..735f56d6f7 100644
--- a/code/modules/vore/appearance/sprite_accessories_yw.dm
+++ b/code/modules/vore/appearance/sprite_accessories_yw.dm
@@ -41,6 +41,14 @@
icon_state = "cyberdoe_s"
do_colouration = 0
+/datum/sprite_accessory/wing/cyberangel
+ name = "Cyber angel wing (colorable)"
+ desc = ""
+ icon = 'icons/mob/vore/wings_yw.dmi'
+ icon_state = "cyber_angel"
+ do_colouration = 1
+ color_blend_mode = ICON_MULTIPLY
+
//Tails
/datum/sprite_accessory/tail/tripplekitsune_colorable_yw
icon = 'icons/mob/vore/tails_yw.dmi'
diff --git a/code/modules/vore/fluffstuff/custom_items_yw.dm b/code/modules/vore/fluffstuff/custom_items_yw.dm
index 0ff0ea5c69..c9de33290a 100644
--- a/code/modules/vore/fluffstuff/custom_items_yw.dm
+++ b/code/modules/vore/fluffstuff/custom_items_yw.dm
@@ -650,3 +650,36 @@
H.resize(1)
if("Large")
H.resize(1.22)
+
+// *************
+// Dopiotl
+// *************
+/obj/item/weapon/storage/secure/briefcase/fluff/jeans
+ name = "Sweet Ebony"
+ desc = "An ebony/wooden secure case lined with gold. It looks thick, heavy, expensive, and incredibly sturdy. The design is sleek and elegant, adorned in intricate markings on the side, with hand-crafted artwork of a constellation you can't quite seem to recollect. It is surprisingly cold to the touch."
+ icon = 'icons/vore/custom_items_yw.dmi'
+ icon_state = "jeans_lockbox"
+ item_state_slots = list(slot_r_hand_str = "jeans_lockbox", slot_l_hand_str = "jeans_lockbox")
+ item_icons = list(
+ slot_l_hand_str = 'icons/vore/custom_items_left_hand_yw.dmi',
+ slot_r_hand_str = 'icons/vore/custom_items_right_hand_yw.dmi',
+ )
+ var/list/has_items = list(
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ /obj/item/weapon/reagent_containers/food/snacks/chocolatebar,
+ )
+
+/obj/item/weapon/storage/secure/briefcase/fluff/jeans/New() //this is entierly nessicary to spawn stuff. "FUN" -luke
+ storage_slots = has_items.len
+ allowed = list()
+ for(var/P in has_items)
+ allowed += P
+ new P(src)
+ ..()
+ return
\ No newline at end of file
diff --git a/icons/mob/species/seromi/teshari_cloak_yw.dmi b/icons/mob/species/seromi/teshari_cloak_yw.dmi
new file mode 100644
index 0000000000..0c48f9bd87
Binary files /dev/null and b/icons/mob/species/seromi/teshari_cloak_yw.dmi differ
diff --git a/icons/mob/species/seromi/teshari_hood_yw.dmi b/icons/mob/species/seromi/teshari_hood_yw.dmi
new file mode 100644
index 0000000000..2b6796cbe0
Binary files /dev/null and b/icons/mob/species/seromi/teshari_hood_yw.dmi differ
diff --git a/icons/mob/vore/wings_yw.dmi b/icons/mob/vore/wings_yw.dmi
index c6c4d7a548..b4e9630aa6 100644
Binary files a/icons/mob/vore/wings_yw.dmi and b/icons/mob/vore/wings_yw.dmi differ
diff --git a/icons/vore/custom_items_left_hand_yw.dmi b/icons/vore/custom_items_left_hand_yw.dmi
index b527bcd0a8..b503889d55 100644
Binary files a/icons/vore/custom_items_left_hand_yw.dmi and b/icons/vore/custom_items_left_hand_yw.dmi differ
diff --git a/icons/vore/custom_items_right_hand_yw.dmi b/icons/vore/custom_items_right_hand_yw.dmi
index 0ed094c161..fc303c9c2d 100644
Binary files a/icons/vore/custom_items_right_hand_yw.dmi and b/icons/vore/custom_items_right_hand_yw.dmi differ
diff --git a/icons/vore/custom_items_yw.dmi b/icons/vore/custom_items_yw.dmi
index 293396d8cc..a4bce86d2c 100644
Binary files a/icons/vore/custom_items_yw.dmi and b/icons/vore/custom_items_yw.dmi differ
diff --git a/vorestation.dme b/vorestation.dme
index 749f7d7185..86615c68d1 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -416,6 +416,7 @@
#include "code\datums\supplypacks\hydroponics.dm"
#include "code\datums\supplypacks\hydroponics_vr.dm"
#include "code\datums\supplypacks\materials.dm"
+#include "code\datums\supplypacks\materials_yw.dm"
#include "code\datums\supplypacks\medical.dm"
#include "code\datums\supplypacks\medical_vr.dm"
#include "code\datums\supplypacks\misc.dm"
@@ -1201,7 +1202,9 @@
#include "code\game\objects\items\stacks\telecrystal.dm"
#include "code\game\objects\items\stacks\sheets\leather.dm"
#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles.dm"
+#include "code\game\objects\items\stacks\tiles\fifty_spawner_tiles_yw.dm"
#include "code\game\objects\items\stacks\tiles\tile_types.dm"
+#include "code\game\objects\items\stacks\tiles\tile_types_yw.dm"
#include "code\game\objects\items\weapons\AI_modules.dm"
#include "code\game\objects\items\weapons\autopsy.dm"
#include "code\game\objects\items\weapons\bones.dm"
@@ -1974,6 +1977,7 @@
#include "code\modules\clothing\suits\wiz_robe.dm"
#include "code\modules\clothing\suits\wolfbrigade.dm"
#include "code\modules\clothing\suits\aliens\seromi.dm"
+#include "code\modules\clothing\suits\aliens\seromi_yw.dm"
#include "code\modules\clothing\suits\aliens\tajara.dm"
#include "code\modules\clothing\suits\aliens\unathi.dm"
#include "code\modules\clothing\suits\aliens\vox.dm"