From 585e2ffc55a11603c8a2d447a235b3a7aae64b6d Mon Sep 17 00:00:00 2001
From: Mathilde <146444134+ibexgoetia@users.noreply.github.com>
Date: Fri, 16 Jan 2026 15:09:49 +0100
Subject: [PATCH] Tidied up the Toys tab (#5097)
## About The Pull Request
As title. I moved the /tg/ toys (dice, plushies, cards) into the Toys
tab (for the longest time they've been in the Others tab). Also
categorised them into Plushies, Cards, Dice, Balls, Art tools.
## Why It's Good For The Game
## Proof Of Testing
## Changelog
:cl:
code: Tidied up the Toys tab in the loadout menu.
/:cl:
---------
Co-authored-by: Alexis
---
code/modules/loadout/categories/pocket.dm | 73 ++++----
.../loadout/categories/donator_personal.dm | 46 ++---
.../code/modules/loadout/categories/toys.dm | 167 +++++++++---------
.../code/modules/loadout/categories/toys.dm | 70 +++++---
4 files changed, 190 insertions(+), 166 deletions(-)
diff --git a/code/modules/loadout/categories/pocket.dm b/code/modules/loadout/categories/pocket.dm
index 53357dd1d81..77ce402db32 100644
--- a/code/modules/loadout/categories/pocket.dm
+++ b/code/modules/loadout/categories/pocket.dm
@@ -37,135 +37,140 @@
return ..()
+// BUBBER EDIT - START: Put toys in the toys category
-/datum/loadout_item/pocket_items/plush
+/datum/loadout_item/toys/plush
group = "Plushies"
- abstract_type = /datum/loadout_item/pocket_items/plush
- loadout_flags = LOADOUT_FLAG_ALLOW_NAMING
+ abstract_type = /datum/loadout_item/toys/plush
-/datum/loadout_item/pocket_items/plush/bee
+/datum/loadout_item/toys/plush/bee
name = "Plush (Bee)"
item_path = /obj/item/toy/plush/beeplushie
-/datum/loadout_item/pocket_items/plush/carp
+/datum/loadout_item/toys/plush/carp
name = "Plush (Carp)"
item_path = /obj/item/toy/plush/carpplushie
-/datum/loadout_item/pocket_items/plush/lizard_greyscale
+/datum/loadout_item/toys/plush/lizard_greyscale
name = "Plush (Lizard, Colorable)"
item_path = /obj/item/toy/plush/lizard_plushie/greyscale
-/datum/loadout_item/pocket_items/plush/lizard_random
+/datum/loadout_item/toys/plush/lizard_random
name = "Plush (Lizard, Random)"
loadout_flags = parent_type::loadout_flags | LOADOUT_FLAG_BLOCK_GREYSCALING
ui_icon = 'icons/obj/fluff/previews.dmi'
ui_icon_state = "plushie_lizard_random"
item_path = /obj/item/toy/plush/lizard_plushie
-/datum/loadout_item/pocket_items/plush/moth
+/datum/loadout_item/toys/plush/moth
name = "Plush (Moth)"
item_path = /obj/item/toy/plush/moth
-/datum/loadout_item/pocket_items/plush/nukie
+/datum/loadout_item/toys/plush/nukie
name = "Plush (Nukie)"
item_path = /obj/item/toy/plush/nukeplushie
-/datum/loadout_item/pocket_items/plush/peacekeeper
+/datum/loadout_item/toys/plush/peacekeeper
name = "Plush (Peacekeeper)"
item_path = /obj/item/toy/plush/pkplush
-/datum/loadout_item/pocket_items/plush/plasmaman
+/datum/loadout_item/toys/plush/plasmaman
name = "Plush (Plasmaman)"
item_path = /obj/item/toy/plush/plasmamanplushie
-/datum/loadout_item/pocket_items/plush/human
+/datum/loadout_item/toys/plush/human
name = "Plush (human)"
item_path = /obj/item/toy/plush/human
-/datum/loadout_item/pocket_items/plush/rouny
+/datum/loadout_item/toys/plush/rouny
name = "Plush (Rouny)"
item_path = /obj/item/toy/plush/rouny
-/datum/loadout_item/pocket_items/plush/snake
+/datum/loadout_item/toys/plush/snake
name = "Plush (Snake)"
item_path = /obj/item/toy/plush/snakeplushie
-/datum/loadout_item/pocket_items/plush/horse
+/datum/loadout_item/toys/plush/horse
name = "Plush (Horse)"
item_path = /obj/item/toy/plush/horse
-/datum/loadout_item/pocket_items/dice
+/datum/loadout_item/toys/dice
group = "Dice"
- abstract_type = /datum/loadout_item/pocket_items/dice
-/datum/loadout_item/pocket_items/dice/dice_bag
+/datum/loadout_item/toys/dice/dice_bag
name = "Dice Bag"
item_path = /obj/item/storage/dice
-/datum/loadout_item/pocket_items/dice/d1
+/datum/loadout_item/toys/dice/d1
name = "D1"
item_path = /obj/item/dice/d1
-/datum/loadout_item/pocket_items/dice/d2
+/datum/loadout_item/toys/dice/d2
name = "D2"
item_path = /obj/item/dice/d2
-/datum/loadout_item/pocket_items/dice/d4
+/datum/loadout_item/toys/dice/d4
name = "D4"
item_path = /obj/item/dice/d4
-/datum/loadout_item/pocket_items/dice/d6
+/datum/loadout_item/toys/dice/d6
name = "D6"
item_path = /obj/item/dice/d6
-/datum/loadout_item/pocket_items/dice/d6_ebony
+/datum/loadout_item/toys/dice/d6_ebony
name = "D6 (Ebony)"
item_path = /obj/item/dice/d6/ebony
-/datum/loadout_item/pocket_items/dice/d6_space
+/datum/loadout_item/toys/dice/d6_space
name = "D6 (Space)"
item_path = /obj/item/dice/d6/space
-/datum/loadout_item/pocket_items/dice/d8
+/datum/loadout_item/toys/dice/d8
name = "D8"
item_path = /obj/item/dice/d8
-/datum/loadout_item/pocket_items/dice/d10
+/datum/loadout_item/toys/dice/d10
name = "D10"
item_path = /obj/item/dice/d10
-/datum/loadout_item/pocket_items/dice/d12
+/datum/loadout_item/toys/dice/d12
name = "D12"
item_path = /obj/item/dice/d12
-/datum/loadout_item/pocket_items/dice/d20
+/datum/loadout_item/toys/dice/d20
name = "D20"
item_path = /obj/item/dice/d20
-/datum/loadout_item/pocket_items/dice/d100
+/datum/loadout_item/toys/dice/d100
name = "D100"
item_path = /obj/item/dice/d100
-/datum/loadout_item/pocket_items/dice/d00
+/datum/loadout_item/toys/dice/d00
name = "D00"
item_path = /obj/item/dice/d00
-/datum/loadout_item/pocket_items/card_binder
+/datum/loadout_item/toys/cards
+ group = "Cards"
+ abstract_type = /datum/loadout_item/toys/cards
+
+/datum/loadout_item/toys/cards/card_binder
name = "Card Binder"
item_path = /obj/item/storage/card_binder
-/datum/loadout_item/pocket_items/card_deck
+/datum/loadout_item/toys/cards/card_deck
name = "Playing Card Deck"
item_path = /obj/item/toy/cards/deck
-/datum/loadout_item/pocket_items/kotahi_deck
+/datum/loadout_item/toys/cards/kotahi_deck
name = "Kotahi Deck"
item_path = /obj/item/toy/cards/deck/kotahi
-/datum/loadout_item/pocket_items/wizoff_deck
+/datum/loadout_item/toys/cards/wizoff_deck
name = "Wizoff Deck"
item_path = /obj/item/toy/cards/deck/wizoff
+// BUBBER EDIT - END
+
/datum/loadout_item/pocket_items/lipstick
name = "Lipstick"
item_path = /obj/item/lipstick
diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm b/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm
index f3a2cae73f7..0354c799f4a 100644
--- a/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm
+++ b/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm
@@ -1,14 +1,18 @@
-/datum/loadout_item/toys/miafoxplush
+/datum/loadout_item/toys/plush/miafoxplush
name = "silver fox plushie"
item_path = /obj/item/toy/plush/skyrat/fox/mia
//ckeywhitelist = list("fuzlet")
-/datum/loadout_item/toys/teasefoxplush
+/datum/loadout_item/toys/plush/teasefoxplush
name = "Teasable fox plushie"
item_path = /obj/item/toy/plush/skyrat/fox/kailyn
//ckeywhitelist = list("ratraus")
-/datum/loadout_item/pocket_items/drawingtablet
+/datum/loadout_item/toys/art
+ group = "Art Supplies"
+ abstract_type = /datum/loadout_item/toys/art
+
+/datum/loadout_item/toys/art/drawingtablet
name = "Drawing Tablet"
item_path = /obj/item/canvas/drawingtablet
//ckeywhitelist = list("thedragmeme")
@@ -266,7 +270,7 @@
item_path = /obj/item/clothing/under/occult
//ckeywhitelist = list("gamerguy14948")
-/datum/loadout_item/toys/voodooplush
+/datum/loadout_item/toys/plush/voodooplush
name = "Voodoo Doll"
item_path = /obj/item/toy/plush/skyrat/voodoo
//ckeywhitelist = list("gamerguy14948")
@@ -296,7 +300,7 @@
item_path = /obj/item/clothing/neck/cloak/fluffycloak
//ckeywhitelist = list("realwinterfrost")
-/datum/loadout_item/toys/zappplush
+/datum/loadout_item/toys/plush/zappplush
name = "Lil' Zapp Plushie"
item_path = /obj/item/toy/plush/skyrat/zapp
donator_only = TRUE
@@ -311,12 +315,12 @@
item_path = /obj/item/clothing/neck/fishpendant
//ckeywhitelist = list("cimika")
-/datum/loadout_item/toys/immovable_rod_plush
+/datum/loadout_item/toys/plush/immovable_rod_plush
name = "Immovable Rod Plushie"
item_path = /obj/item/toy/plush/skyrat/immovable_rod
//ckeywhitelist = list("tobjv")
-/datum/loadout_item/toys/tesh_plush
+/datum/loadout_item/toys/plush/tesh_plush
name = "Squish-Me-Tesh Plush"
item_path = /obj/item/toy/plush/skyrat/tesh
//ckeywhitelist = list("tobjv")
@@ -327,16 +331,16 @@
//ckeywhitelist = list("ultimarifox")
restricted_roles = list(JOB_HEAD_OF_SECURITY)
-/datum/loadout_item/toys/roselia_plush
+/datum/loadout_item/toys/plush/roselia_plush
name = "Obscene Sergal Plushie"
item_path = /obj/item/toy/plush/skyrat/roselia
//ckeywhitelist = list("ultimarifox")
-/datum/loadout_item/toys/plushe_winrow
+/datum/loadout_item/toys/plush/plushe_winrow
name = "Dark and Brooding Lizard Plushie"
item_path = /obj/item/toy/plush/skyrat/chunko/plushie_winrow
-/datum/loadout_item/toys/plushie_star
+/datum/loadout_item/toys/plush/plushie_star
name = "Star Angel Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_star
@@ -373,27 +377,27 @@
//Chunko Fops were donated by SlippyJoe, who requested they are usable by everyone
-/datum/loadout_item/toys/CFBonnie
+/datum/loadout_item/toys/plush/CFBonnie
name = "Chunko Fop: Blue Bunny Plushie"
item_path = /obj/item/toy/plush/skyrat/chunko/bonnie
// donator_only = TRUE
-/datum/loadout_item/toys/CFAndrew
+/datum/loadout_item/toys/plush/CFAndrew
name = "Chunko Fop: Green Bunny Plushie"
item_path = /obj/item/toy/plush/skyrat/chunko/andrew
// donator_only = TRUE
-/datum/loadout_item/toys/CFInessa
+/datum/loadout_item/toys/plush/CFInessa
name = "Chunko Fop: Medical Bear Plushie"
item_path = /obj/item/toy/plush/skyrat/chunko/inessa
// donator_only = TRUE
-/datum/loadout_item/toys/plushie_chiara
+/datum/loadout_item/toys/plush/plushie_chiara
name = "Commanding Fox Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_chiara
//ckeywhitelist = list("srq", "superlagg")
-/datum/loadout_item/toys/plushie_dan
+/datum/loadout_item/toys/plush/plushie_dan
name = "Comfy Fox Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_dan
//ckeywhitelist = list("srq", "superlagg")
@@ -409,7 +413,7 @@
item_path = /obj/item/coin/donator/marsoc
//ckeywhitelist = list("sweetsoulbrother")
-/datum/loadout_item/toys/plushie_jeanne
+/datum/loadout_item/toys/plush/plushie_jeanne
name = "Masked Roboticist Plushie"
item_path = /obj/item/toy/plush/skyrat/fox/plushie_jeanne
//ckeywhitelist = list("klb100") // Asked it to be public.
@@ -424,7 +428,7 @@
item_path = /obj/item/clothing/suit/hooded/techpriest
//ckeywhitelist = list("imthinkingarbys")
-/datum/loadout_item/toys/plushie_azyre
+/datum/loadout_item/toys/plush/plushie_azyre
name = "Handsome Chef Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_azyre
//ckeywhitelist = list("dalaoazure")
@@ -440,17 +444,17 @@
restricted_roles = list(JOB_CAPTAIN)
//ckeywhitelist = list("razurath")
-/datum/loadout_item/toys/plushie_razurath
+/datum/loadout_item/toys/plush/plushie_razurath
name = "Science Shark Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_razurath
//ckeywhitelist = list("razurath")
-/datum/loadout_item/toys/plushie_razurath/second
+/datum/loadout_item/toys/plush/plushie_razurath/second
name = "Dwarf Shark Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_razurath/second
// ckeywhitelist = list("razurath")
-/datum/loadout_item/toys/plushie_elofy
+/datum/loadout_item/toys/plush/plushie_elofy
name = "Bumbling Wolfgirl Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_elofy
//ckeywhitelist = list("october23") // Asked it to be public.
@@ -497,7 +501,7 @@
item_path = /obj/item/clothing/suit/hooded/sigmarcoat
//ckeywhitelist = list("sigmaralkahest")
-/datum/loadout_item/toys/plushy_syntax1112
+/datum/loadout_item/toys/plush/plushy_syntax1112
name = "Lop Bunny Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_syntax1112
//ckeywhitelist = list("syntax1112")
diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/toys.dm b/modular_skyrat/master_files/code/modules/loadout/categories/toys.dm
index d6723d930dc..844806292b1 100644
--- a/modular_skyrat/master_files/code/modules/loadout/categories/toys.dm
+++ b/modular_skyrat/master_files/code/modules/loadout/categories/toys.dm
@@ -4,281 +4,268 @@
type_to_generate = /datum/loadout_item/toys
tab_order = /datum/loadout_category/head::tab_order + 13
-/datum/loadout_item/toys
- abstract_type = /datum/loadout_item/toys
+/datum/loadout_item/toys/plush
+ group = "Plushies"
+ abstract_type = /datum/loadout_item/toys/plush
-/datum/loadout_item/toys/shark
+/datum/loadout_item/toys/plush/shark
name = "Shark Plushie"
item_path = /obj/item/toy/plush/shark
-/datum/loadout_item/toys/narsie
+/datum/loadout_item/toys/plush/narsie
name = "Nar'sie Plushie"
item_path = /obj/item/toy/plush/narplush
-/datum/loadout_item/toys/ratvar
+/datum/loadout_item/toys/plush/ratvar
name = "Ratvar Plushie"
item_path = /obj/item/toy/plush/ratplush
-/datum/loadout_item/toys/slime
+/datum/loadout_item/toys/plush/slime
name = "Slime Plushie"
item_path = /obj/item/toy/plush/slimeplushie
-/datum/loadout_item/toys/bubble
+/datum/loadout_item/toys/plush/bubble
name = "Bubblegum Plushie"
item_path = /obj/item/toy/plush/bubbleplush
-/datum/loadout_item/toys/sechound
+/datum/loadout_item/toys/plush/sechound
name = "Sechound Plushie"
item_path = /obj/item/toy/plush/skyrat/sechound
-/datum/loadout_item/toys/medihound
+/datum/loadout_item/toys/plush/medihound
name = "Medihound Plushie"
item_path = /obj/item/toy/plush/skyrat/medihound
-/datum/loadout_item/toys/engihound
+/datum/loadout_item/toys/plush/engihound
name = "Engihound Plushie"
item_path = /obj/item/toy/plush/skyrat/engihound
-/datum/loadout_item/toys/scrubpuppy
+/datum/loadout_item/toys/plush/scrubpuppy
name = "Scrubpuppy Plushie"
item_path = /obj/item/toy/plush/skyrat/scrubpuppy
-/datum/loadout_item/toys/meddrake
+/datum/loadout_item/toys/plush/meddrake
name = "MediDrake Plushie"
item_path = /obj/item/toy/plush/skyrat/meddrake
-/datum/loadout_item/toys/secdrake
+/datum/loadout_item/toys/plush/secdrake
name = "SecDrake Plushie"
item_path = /obj/item/toy/plush/skyrat/secdrake
-/datum/loadout_item/toys/borbplushie
+/datum/loadout_item/toys/plush/borbplushie
name = "Borb Plushie"
item_path = /obj/item/toy/plush/skyrat/borbplushie
-/datum/loadout_item/toys/deer
+/datum/loadout_item/toys/plush/deer
name = "Deer Plushie"
item_path = /obj/item/toy/plush/skyrat/deer
-/datum/loadout_item/toys/fermis
+/datum/loadout_item/toys/plush/fermis
name = "Medcat Plushie"
item_path = /obj/item/toy/plush/skyrat/fermis
-/datum/loadout_item/toys/chen
+/datum/loadout_item/toys/plush/chen
name = "Securicat Plushie"
item_path = /obj/item/toy/plush/skyrat/fermis/chen
-/datum/loadout_item/toys/fox
+/datum/loadout_item/toys/plush/fox
name = "Fox Plushie"
item_path = /obj/item/toy/plush/skyrat/fox
-/datum/loadout_item/toys/duffmoff
+/datum/loadout_item/toys/plush/duffmoff
name = "Suspicious Moth Plushie"
item_path = /obj/item/toy/plush/skyrat/duffmoth
-/datum/loadout_item/toys/musicalduffy
+/datum/loadout_item/toys/plush/musicalduffy
name = "Suspicious Musical moth"
item_path = /obj/item/instrument/musicalduffy
-/datum/loadout_item/toys/leaplush
+/datum/loadout_item/toys/plush/leaplush
name = "Suspicious Deer Plushie"
item_path = /obj/item/toy/plush/skyrat/leaplush
-/datum/loadout_item/toys/sarmie
+/datum/loadout_item/toys/plush/sarmie
name = "Cosplayer Plushie"
item_path = /obj/item/toy/plush/skyrat/sarmieplush
-/datum/loadout_item/toys/sharknet
+/datum/loadout_item/toys/plush/sharknet
name = "Gluttonous Shark Plushie"
item_path = /obj/item/toy/plush/skyrat/sharknet
-/datum/loadout_item/toys/pintaplush
+/datum/loadout_item/toys/plush/pintaplush
name = "Smaller Deer Plushie"
item_path = /obj/item/toy/plush/skyrat/pintaplush
-/datum/loadout_item/toys/szaplush
+/datum/loadout_item/toys/plush/szaplush
name = "Suspicious Spider Plushie"
item_path = /obj/item/toy/plush/skyrat/szaplush
-/datum/loadout_item/toys/riffplush
+/datum/loadout_item/toys/plush/riffplush
name = "Valid Plushie"
item_path = /obj/item/toy/plush/skyrat/riffplush
-/datum/loadout_item/toys/ianbastardman
+/datum/loadout_item/toys/plush/ianbastardman
name = "Ian Plushie"
item_path = /obj/item/toy/plush/skyrat/ian
-/datum/loadout_item/toys/corgiman
+/datum/loadout_item/toys/plush/corgiman
name = "Corgi Plushie"
item_path = /obj/item/toy/plush/skyrat/ian/small
-/datum/loadout_item/toys/corgiwoman
+/datum/loadout_item/toys/plush/corgiwoman
name = "Girly Corgi Plushie"
item_path = /obj/item/toy/plush/skyrat/ian/lisa
-/datum/loadout_item/toys/cat
+/datum/loadout_item/toys/plush/cat
name = "Cat Plushie"
item_path = /obj/item/toy/plush/skyrat/cat
-/datum/loadout_item/toys/tuxcat
+/datum/loadout_item/toys/plush/tuxcat
name = "Tux Cat Plushie"
item_path = /obj/item/toy/plush/skyrat/cat/tux
-/datum/loadout_item/toys/whitecat
+/datum/loadout_item/toys/plush/whitecat
name = "White Cat Plushie"
item_path = /obj/item/toy/plush/skyrat/cat/white
-/datum/loadout_item/toys/seaduplush
+/datum/loadout_item/toys/plush/seaduplush
name = "Sneed Plushie"
item_path = /obj/item/toy/plush/skyrat/seaduplush
-/datum/loadout_item/toys/lizzyplush
+/datum/loadout_item/toys/plush/lizzyplush
name = "Odd Yoga lizzy Plushie"
item_path = /obj/item/toy/plush/skyrat/lizzyplush
-/datum/loadout_item/toys/mechanic_fox
+/datum/loadout_item/toys/plush/mechanic_fox
name = "Mechanist Fox Plushie"
item_path = /obj/item/toy/plush/skyrat/mechanic_fox
-/datum/loadout_item/toys/tribal_salamander
+/datum/loadout_item/toys/plush/tribal_salamander
name = "Tribal Salamander Plushie"
item_path = /obj/item/toy/plush/skyrat/tribal_salamander
-/datum/loadout_item/toys/commanding_teshari
+/datum/loadout_item/toys/plush/commanding_teshari
name = "Commanding Teshari Plushy"
item_path = /obj/item/toy/plush/skyrat/commanding_teshari
-/datum/loadout_item/toys/snow_owl
+/datum/loadout_item/toys/plush/snow_owl
name = "Snowy Owl Plush"
item_path = /obj/item/toy/plush/skyrat/snow_owl
-/datum/loadout_item/toys/breakdancing_bird
+/datum/loadout_item/toys/plush/breakdancing_bird
name = "Breakdancing Bird Plushie"
item_path = /obj/item/toy/plush/skyrat/breakdancing_bird
-/datum/loadout_item/toys/skreking_vox
+/datum/loadout_item/toys/plush/skreking_vox
name = "Skreking Vox Plushie"
item_path = /obj/item/toy/plush/skyrat/skreking_vox
-/datum/loadout_item/toys/blue_dog
+/datum/loadout_item/toys/plush/blue_dog
name = "Blue Dog Plushie"
item_path = /obj/item/toy/plush/skyrat/blue_dog
-/datum/loadout_item/toys/engi_snek
+/datum/loadout_item/toys/plush/engi_snek
name = "Engineering Snek Plushie"
item_path = /obj/item/toy/plush/skyrat/engi_snek
-/datum/loadout_item/toys/glitch_synth
+/datum/loadout_item/toys/plush/glitch_synth
name = "Glitching Synthetic Plushie"
item_path = /obj/item/toy/plush/skyrat/glitch_synth
-/datum/loadout_item/toys/boom_bird
+/datum/loadout_item/toys/plush/boom_bird
name = "Boom Bird Plushie"
item_path = /obj/item/toy/plush/skyrat/boom_bird
-/datum/loadout_item/toys/blue_cat
+/datum/loadout_item/toys/plush/blue_cat
name = "Blue Cat Plushie"
item_path = /obj/item/toy/plush/skyrat/blue_cat
-/datum/loadout_item/toys/igneous_synth
+/datum/loadout_item/toys/plush/igneous_synth
name = "Igneous Synth Plushie"
item_path = /obj/item/toy/plush/skyrat/igneous_synth
-/datum/loadout_item/toys/edgy_bird
+/datum/loadout_item/toys/plush/edgy_bird
name = "Edgy Bird Plushie"
item_path = /obj/item/toy/plush/skyrat/edgy_bird
-/datum/loadout_item/toys/xixi
+/datum/loadout_item/toys/plush/xixi
name = "Familiar Harpy Plushie"
item_path = /obj/item/toy/plush/skyrat/xixi
-/datum/loadout_item/toys/rubi_plush
+/datum/loadout_item/toys/plush/rubi_plush
name = "Huggable Bee Plushie"
item_path = /obj/item/toy/plush/skyrat/rubi
-/datum/loadout_item/toys/derg_plushie
+/datum/loadout_item/toys/plush/derg_plushie
name = "Wingless Dragon Plushie"
item_path = /obj/item/toy/plush/skyrat/derg_plushie
-/datum/loadout_item/toys/tracy
+/datum/loadout_item/toys/plush/tracy
name = "Creature Plushie"
item_path = /obj/item/toy/plush/skyrat/tracy
-/datum/loadout_item/toys/adventurous_synth
+/datum/loadout_item/toys/plush/adventurous_synth
name = "Adventurous Synth Plushie"
item_path = /obj/item/toy/plush/skyrat/plushie_synthia
-/datum/loadout_item/toys/jecca
+/datum/loadout_item/toys/plush/jecca
name = "Sexy Snoodle Plushie"
item_path = /obj/item/toy/plush/skyrat/jecca
-/datum/loadout_item/toys/courier_synth
+/datum/loadout_item/toys/plush/courier_synth
name = "Courier Synth Plushie"
item_path = /obj/item/toy/plush/skyrat/courier_synth
-/datum/loadout_item/toys/plush_janiborg
+/datum/loadout_item/toys/plush/plush_janiborg
name = "Friendly Janiborg Plush"
item_path = /obj/item/toy/plush/skyrat/plush_janiborg
-/datum/loadout_item/toys/tian_plush
- name = "Bureaucratic Goat Plush"
- item_path = /obj/item/toy/plush/tian_plush
-/*
-* CARDS
-*/
+/datum/loadout_item/toys/cards
+ group = "Cards"
+ abstract_type = /datum/loadout_item/toys/cards
-/datum/loadout_item/toys/tarot
+
+/datum/loadout_item/toys/cards/tarot
name = "Tarot Card Deck"
item_path = /obj/item/toy/cards/deck/tarot
-/*
-* TENNIS BALLS
-*/
+/datum/loadout_item/toys/ball
+ group = "Tennis Balls"
+ abstract_type = /datum/loadout_item/toys/ball
-/datum/loadout_item/toys/tennis
+/datum/loadout_item/toys/ball/tennis
name = "Tennis Ball (Classic)"
item_path = /obj/item/toy/tennis
-/datum/loadout_item/toys/tennisred
+/datum/loadout_item/toys/ball/tennisred
name = "Tennis Ball (Red)"
item_path = /obj/item/toy/tennis/red
-/datum/loadout_item/toys/tennisyellow
+/datum/loadout_item/toys/ball/tennisyellow
name = "Tennis Ball (Yellow)"
item_path = /obj/item/toy/tennis/yellow
-/datum/loadout_item/toys/tennisgreen
+/datum/loadout_item/toys/ball/tennisgreen
name = "Tennis Ball (Green)"
item_path = /obj/item/toy/tennis/green
-/datum/loadout_item/toys/tenniscyan
+/datum/loadout_item/toys/ball/tenniscyan
name = "Tennis Ball (Cyan)"
item_path = /obj/item/toy/tennis/cyan
-/datum/loadout_item/toys/tennisblue
+/datum/loadout_item/toys/ball/tennisblue
name = "Tennis Ball (Blue)"
item_path = /obj/item/toy/tennis/blue
-/datum/loadout_item/toys/tennispurple
+/datum/loadout_item/toys/ball/tennispurple
name = "Tennis Ball (Purple)"
item_path = /obj/item/toy/tennis/purple
-/*
-* MISC
-*/
-
/datum/loadout_item/toys/cat_toy
name = "Cat Toy"
item_path = /obj/item/toy/cattoy
-/datum/loadout_item/toys/crayons
- name = "Box of Crayons"
- item_path = /obj/item/storage/crayons
-
-/datum/loadout_item/toys/spray_can
- name = "Spray Can"
- item_path = /obj/item/toy/crayon/spraycan
-
/datum/loadout_item/toys/eightball
name = "Magic Eightball"
item_path = /obj/item/toy/eightball
@@ -308,3 +295,15 @@
item_path = /obj/item/toy/nyamagotchi
ui_icon = 'modular_zubbers/icons/obj/toys/toys.dmi'
ui_icon_state = "nya"
+
+/datum/loadout_item/toys/art
+ group = "Art Supplies"
+ abstract_type = /datum/loadout_item/toys/art
+
+/datum/loadout_item/toys/art/crayons
+ name = "Box of Crayons"
+ item_path = /obj/item/storage/crayons
+
+/datum/loadout_item/toys/art/spray_can
+ name = "Spray Can"
+ item_path = /obj/item/toy/crayon/spraycan
diff --git a/modular_zubbers/code/modules/loadout/categories/toys.dm b/modular_zubbers/code/modules/loadout/categories/toys.dm
index ecf3518fa0f..93bc5ee6270 100644
--- a/modular_zubbers/code/modules/loadout/categories/toys.dm
+++ b/modular_zubbers/code/modules/loadout/categories/toys.dm
@@ -1,59 +1,69 @@
//Title Capitalization for names please!!!
-/datum/loadout_item/toys/moffplush_lovers
+/datum/loadout_category/toys
+ category_name = "Toys"
+ category_ui_icon = FA_ICON_GOLF_BALL
+ type_to_generate = /datum/loadout_item/toys
+ tab_order = /datum/loadout_category/head::tab_order + 13
+
+/datum/loadout_item/toys/plush
+ group = "Plushies"
+ abstract_type = /datum/loadout_item/toys/plush
+
+/datum/loadout_item/toys/plush/moffplush_lovers
name = "Lovers Moth Plushie"
item_path = /obj/item/toy/plush/moth/lovers
donator_only = TRUE //Donor item for Basicguy20
-/datum/loadout_item/toys/chirp_plush
+/datum/loadout_item/toys/plush/chirp_plush
name = "Chirpy Synth Plushie"
item_path = /obj/item/toy/plush/chirp_plush
donator_only = TRUE //Donor item for potatomedic.
-/datum/loadout_item/toys/bigdeer_plush
+/datum/loadout_item/toys/plush/bigdeer_plush
name = "Big Deer Plushie"
item_path = /obj/item/toy/plush/bigdeer //Donor item for Gavla
-/datum/loadout_item/toys/bubbledragon
+/datum/loadout_item/toys/plush/bubbledragon
name = "Bubbledragon Plushie"
item_path = /obj/item/toy/plush/bubbledragon
donator_only = TRUE
-/datum/loadout_item/toys/especiallystrange
+/datum/loadout_item/toys/plush/especiallystrange
name = "Ironmoon Tajaran Plushie"
item_path = /obj/item/toy/plush/especiallystrange
-/datum/loadout_item/toys/headcrab
+/datum/loadout_item/toys/plush/headcrab
name = "Headcrab Plushie"
item_path = /obj/item/toy/plush/headcrab
donator_only = TRUE
-/datum/loadout_item/toys/Bellybird
+/datum/loadout_item/toys/plush/Bellybird
name = "Belly Bird Plushie"
item_path = /obj/item/toy/plush/bellybird
donator_only = TRUE
-/datum/loadout_item/toys/tiredtesh
+/datum/loadout_item/toys/plush/tiredtesh
name = "Tired Teshari Plushie"
item_path = /obj/item/toy/plush/tiredtesh
-/datum/loadout_item/toys/xenoplush
+/datum/loadout_item/toys/plush/xenoplush
name = "Xenomorph Plushie"
item_path = /obj/item/toy/plush/xenoplush
-/datum/loadout_item/toys/xenomaidplush
+/datum/loadout_item/toys/plush/xenomaidplush
name = "Xenomorph Maid Plushie"
item_path = /obj/item/toy/plush/xenoplush/xenomaidplush
-/datum/loadout_item/toys/tunafish
+/datum/loadout_item/toys/plush/tunafish
name = "Tuna Fish Plush"
item_path = /obj/item/toy/plush/tunafish
-/datum/loadout_item/toys/purplecat
+/datum/loadout_item/toys/plush/purplecat
name = "Purple Cat Plush"
item_path = /obj/item/toy/plush/purplecat
-/datum/loadout_item/toys/secoff
+/datum/loadout_item/toys/plush/secoff
name = "GalFed Secoff Plush"
item_path = /obj/item/toy/plush/secoff
@@ -61,58 +71,64 @@
name = "Xeno Action Figure"
item_path = /obj/item/toy/toy_xeno
-/datum/loadout_item/toys/internshiba
+/datum/loadout_item/toys/plush/internshiba
name = "Intern Shiba Plush"
item_path = /obj/item/toy/plush/internshiba
-/datum/loadout_item/toys/cat_annoying
+/datum/loadout_item/toys/plush/cat_annoying
name = "Annoying Cat Plush"
item_path = /obj/item/toy/plush/cat_annoying
-/datum/loadout_item/toys/suspicious_protogen
+/datum/loadout_item/toys/plush/suspicious_protogen
name = "Suspicious Protogen Plush"
item_path = /obj/item/toy/plush/suspicious_protogen
-/datum/loadout_item/toys/foxy_plush
+/datum/loadout_item/toys/plush/foxy_plush
name = "Colorful Fox Plush"
item_path = /obj/item/toy/plush/foxy_plush
-/datum/loadout_item/toys/bottomsynf
+/datum/loadout_item/toys/plush/bottomsynf
name = "CentCom Synth Fox Plush"
item_path = /obj/item/toy/plush/bottomsynf
-/datum/loadout_item/toys/squeaky_toy
+/datum/loadout_item/toys/plush/squeaky_toy
name = "Squeaky Rat Plushie"
item_path = /obj/item/toy/plush/squeaky_toy
-/datum/loadout_item/toys/androiddog
+/datum/loadout_item/toys/plush/androiddog
name = "Android Dog Plushie"
item_path = /obj/item/toy/plush/androiddog
-/datum/loadout_item/toys/ghoul
+/datum/loadout_item/toys/plush/ghoul
name = "Intern Ghoul Plushie"
item_path = /obj/item/toy/plush/ghoul
-/datum/loadout_item/toys/goat
+/datum/loadout_item/toys/plush/goat
name = "Strange Goat Plushie"
item_path = /obj/item/toy/plush/goatplushie
-/datum/loadout_item/toys/mold_kobold
+/datum/loadout_item/toys/plush/mold_kobold
name = "Hemophage Awareness Kobold"
item_path = /obj/item/toy/plush/mold_kobold
-/datum/loadout_item/toys/mothroach_plush
+/datum/loadout_item/toys/plush/mothroach_plush
name = "Mothroach Plush"
item_path = /obj/item/toy/plush/mothroach_plush
-/datum/loadout_item/toys/lazy_synth
+/datum/loadout_item/toys/plush/lazy_synth
name = "Lazy Synth Plush"
item_path = /obj/item/toy/plush/lazy_synth
-/datum/loadout_item/toys/sunny_plush
+/datum/loadout_item/toys/plush/sunny_plush
name = "Weighty Moostoat Plushie"
item_path = /obj/item/toy/plush/sunny_plush
-/datum/loadout_item/toys/amber_shadekin_plush
+/datum/loadout_item/toys/plush/amber_shadekin_plush
name = "Squishy Shadekin Plush"
item_path = /obj/item/toy/plush/amber_shadekin_plush
+
+/datum/loadout_item/toys/plush/tian_plush
+ name = "Bureaucratic Goat Plush"
+ item_path = /obj/item/toy/plush/tian_plush
+
+