Loadout Expansion (#31708)

* plushies4all

* adds redescriptioning

* geartweak vars

* marks uniform

* updates general

* sorry  you can't edit racial items

* Revert "marks uniform"

This reverts commit c738baa29a.

* black tango dress

* forgot jorts

* the cone beckons

* we love good comments

* missed some periods

* what do you mean i missed a placeholder
This commit is contained in:
iramoye
2026-03-13 14:44:31 -05:00
committed by GitHub
parent 6461bffd9a
commit 64475a8bc8
6 changed files with 323 additions and 44 deletions
@@ -47,13 +47,13 @@
/datum/gear_tweak/rename
display_type = "Name"
fa_icon = "edit"
info = "Renameable"
info = "Customizable name"
/datum/gear_tweak/rename/get_default()
return ""
/datum/gear_tweak/rename/get_metadata(user, metadata)
var/new_name = tgui_input_text(user, "Rename an object. Enter empty line for stock name", "Rename Gear", metadata, MAX_NAME_LEN)
var/new_name = tgui_input_text(user, "Rename an object. Enter empty line for stock name.", "Rename Gear", metadata, MAX_NAME_LEN)
if(isnull(new_name))
return metadata
return new_name
@@ -63,3 +63,24 @@
return
gear.name = metadata
// MARK: Redesc
/datum/gear_tweak/redesc
display_type = "Description"
fa_icon = "edit"
info = "Customizable description"
/datum/gear_tweak/redesc/get_default()
return ""
/datum/gear_tweak/redesc/get_metadata(user, metadata)
var/new_desc = tgui_input_text(user, "Edit an object's description. Enter empty line for stock description.", "Edit Gear Description", metadata, MAX_NAME_LEN)
if(isnull(new_desc))
return metadata
return new_desc
/datum/gear_tweak/redesc/tweak_item(obj/item/gear, metadata)
if(!metadata)
return
gear.desc = metadata
@@ -17,6 +17,10 @@ GLOBAL_LIST_EMPTY(gear_datums)
var/sort_category = "General"
/// List of datums which will alter the item after it has been spawned. (NYI)
var/list/gear_tweaks = list()
/// Can this item's name be customized?
var/tweakname = TRUE
/// Can this item's description be customized?
var/tweakdesc = TRUE
/// Set on empty category datums to skip them being added to the list. (/datum/gear/accessory, /datum/gear/suit/coat/job, etc.)
var/main_typepath = /datum/gear
/// Does selecting a second item with the same `main_typepath` cost loadout points.
@@ -29,6 +33,11 @@ GLOBAL_LIST_EMPTY(gear_datums)
if(!description)
var/obj/O = path
description = initial(O.desc)
if(tweakname == TRUE) // makes either option not work if their respective var is set to `false`
gear_tweaks |= new /datum/gear_tweak/rename
if(tweakdesc == TRUE)
gear_tweaks |= new /datum/gear_tweak/redesc
/datum/gear_data
var/path
@@ -15,34 +15,70 @@
display_name = "D20"
path = /obj/item/dice/d20
/datum/gear/uplift
display_name = "Pack of Uplifts"
path = /obj/item/storage/fancy/cigarettes/cigpack_uplift
/datum/gear/carp
display_name = "Pack of Carps"
path = /obj/item/storage/fancy/cigarettes/cigpack_carp
/datum/gear/dromedary
display_name = "Pack of Dromedaries"
path = /obj/item/storage/fancy/cigarettes/dromedaryco
/datum/gear/ourbrand
display_name = "Pack of Our Brand"
path = /obj/item/storage/fancy/cigarettes/cigpack_our_brand
/datum/gear/robust
display_name = "Pack of Robusts"
path = /obj/item/storage/fancy/cigarettes/cigpack_robust
/datum/gear/carp
display_name = "Pack of Carps"
path = /obj/item/storage/fancy/cigarettes/cigpack_carp
/datum/gear/robustgold
display_name = "Pack of Robust Golds"
path = /obj/item/storage/fancy/cigarettes/cigpack_robustgold
/datum/gear/robustjunior
display_name = "Pack of Robust Juniors"
path = /obj/item/storage/fancy/cigarettes/cigpack_candy
/datum/gear/shadyjims
display_name = "Pack of Shady Jims"
path = /obj/item/storage/fancy/cigarettes/cigpack_shadyjims
/datum/gear/solarrays
display_name = "Pack of Solar Rays"
path = /obj/item/storage/fancy/cigarettes/cigpack_solar_rays
/datum/gear/uplift
display_name = "Pack of Uplifts"
path = /obj/item/storage/fancy/cigarettes/cigpack_uplift
/datum/gear/midori
display_name = "Pack of Midoris"
path = /obj/item/storage/fancy/cigarettes/cigpack_midori
/datum/gear/carcinoma
display_name = "Pack of Carcinomas"
path = /obj/item/storage/fancy/cigarettes/cigpack_carcinoma
/datum/gear/matches
display_name = "Box of matches"
path = /obj/item/storage/fancy/matches
/datum/gear/lighter
display_name = "Cheap lighter"
path = /obj/item/lighter
/datum/gear/zippolighter
display_name = "Zippo lighter"
path = /obj/item/lighter/zippo
/datum/gear/smokingpipe
display_name = "Smoking pipe"
path = /obj/item/clothing/mask/cigarette/pipe
cost = 2
/datum/gear/lighter
display_name = "Cheap lighter"
path = /obj/item/lighter
/datum/gear/matches
display_name = "Box of matches"
path = /obj/item/storage/fancy/matches
/datum/gear/kingsown
display_name = "King's Own tobacco"
path = /obj/item/food/grown/tobacco/pre_dried
/datum/gear/candlebox
display_name = "Box of candles"
@@ -57,73 +93,227 @@
display_name = "Camera"
path = /obj/item/camera
/datum/gear/photo_album
display_name = "Photo album"
path = /obj/item/storage/photo_album
/datum/gear/filmcartridge
display_name = "Film cartridge"
path = /obj/item/camera_film
/datum/gear/taperecorder
display_name = "Universal recorder"
path = /obj/item/taperecorder
/datum/gear/tapebox
display_name = "Box of tapes"
path = /obj/item/storage/box/tapes
// MARK: Plushies
/datum/gear/redfoxplushie
display_name = "Red fox plushie"
path = /obj/item/toy/plushie/red_fox
sort_category = "Plushies"
/datum/gear/blackfoxplushie
display_name = "Black fox plushie"
path = /obj/item/toy/plushie/black_fox
sort_category = "Plushies"
/datum/gear/marblefoxplushie
display_name = "Marble fox plushie"
path = /obj/item/toy/plushie/marble_fox
sort_category = "Plushies"
/datum/gear/bluefoxplushie
display_name = "Blue fox plushie"
path = /obj/item/toy/plushie/blue_fox
sort_category = "Plushies"
/datum/gear/orangefoxplushie
display_name = "Orange fox plushie"
path = /obj/item/toy/plushie/orange_fox
sort_category = "Plushies"
/datum/gear/coffeefoxplushie
display_name = "Coffee fox plushie"
path = /obj/item/toy/plushie/coffee_fox
sort_category = "Plushies"
/datum/gear/pinkfoxplushie
display_name = "Pink fox plushie"
path = /obj/item/toy/plushie/pink_fox
sort_category = "Plushies"
/datum/gear/purplefoxplushie
display_name = "Purple fox plushie"
path = /obj/item/toy/plushie/purple_fox
sort_category = "Plushies"
/datum/gear/crimsonfoxplushie
display_name = "Crimson fox plushie"
path = /obj/item/toy/plushie/crimson_fox
sort_category = "Plushies"
/datum/gear/blackcatplushie
display_name = "Black cat plushie"
path = /obj/item/toy/plushie/black_cat
sort_category = "Plushies"
/datum/gear/voxplushie
display_name = "Vox plushie"
path = /obj/item/toy/plushie/voxplushie
/datum/gear/greycatplushie
display_name = "Grey cat plushie"
path = /obj/item/toy/plushie/grey_cat
sort_category = "Plushies"
/datum/gear/whitecatplushie
display_name = "White cat plushie"
path = /obj/item/toy/plushie/white_cat
sort_category = "Plushies"
/datum/gear/orangecatplushie
display_name = "Orange cat plushie"
path = /obj/item/toy/plushie/orange_cat
sort_category = "Plushies"
/datum/gear/siamesecatplushie
display_name = "Siamese cat plushie"
path = /obj/item/toy/plushie/siamese_cat
sort_category = "Plushies"
/datum/gear/tabbycatplushie
display_name = "Tabby cat plushie"
path = /obj/item/toy/plushie/tabby_cat
sort_category = "Plushies"
/datum/gear/tuxedocatplushie
display_name = "Tuxedo cat plushie"
path = /obj/item/toy/plushie/tuxedo_cat
sort_category = "Plushies"
/datum/gear/lizardplushie
display_name = "Lizard plushie"
path = /obj/item/toy/plushie/lizardplushie
sort_category = "Plushies"
/datum/gear/deerplushie
display_name = "Deer plushie"
path = /obj/item/toy/plushie/deer
sort_category = "Plushies"
/datum/gear/carpplushie
display_name = "Carp plushie"
path = /obj/item/toy/plushie/carpplushie
sort_category = "Plushies"
/datum/gear/greyplushie
display_name = "Grey Plushie"
path = /obj/item/toy/plushie/greyplushie
/datum/gear/icecarpplushie
display_name = "Ice carp plushie"
path = /obj/item/toy/plushie/carpplushie/ice
sort_category = "Plushies"
/datum/gear/nianplushie
display_name = "Nian plushie"
path = /obj/item/toy/plushie/nianplushie
/datum/gear/silentcarpplushie
display_name = "Silent carp plushie"
path = /obj/item/toy/plushie/carpplushie/silent
sort_category = "Plushies"
/datum/gear/ipcplushie
display_name = "IPC plushie"
path = /obj/item/toy/plushie/ipcplushie
/datum/gear/electriccarpplushie
display_name = "Electric carp plushie"
path = /obj/item/toy/plushie/carpplushie/electric
sort_category = "Plushies"
/datum/gear/kidanplushie
display_name = "Kidan plushie"
path = /obj/item/toy/plushie/kidanplushie
/datum/gear/goldcarpplushie
display_name = "Gold carp plushie"
path = /obj/item/toy/plushie/carpplushie/gold
sort_category = "Plushies"
/datum/gear/plasmaplushie
display_name = "Plasmaman plushie"
path = /obj/item/toy/plushie/plasmamanplushie
/datum/gear/toxincarpplushie
display_name = "Toxin carp plushie"
path = /obj/item/toy/plushie/carpplushie/toxin
sort_category = "Plushies"
/datum/gear/dragoncarpplushie
display_name = "Dragon carp plushie"
path = /obj/item/toy/plushie/carpplushie/dragon
sort_category = "Plushies"
/datum/gear/pinkcarpplushie
display_name = "Pink carp plushie"
path = /obj/item/toy/plushie/carpplushie/pink
sort_category = "Plushies"
/datum/gear/candycarpplushie
display_name = "Candy carp plushie"
path = /obj/item/toy/plushie/carpplushie/candy
sort_category = "Plushies"
/datum/gear/nebulacarpplushie
display_name = "Nebula carp plushie"
path = /obj/item/toy/plushie/carpplushie/nebula
sort_category = "Plushies"
/datum/gear/voidcarpplushie
display_name = "Void carp plushie"
path = /obj/item/toy/plushie/carpplushie/void
sort_category = "Plushies"
/datum/gear/humanplushie
display_name = "Human plushie"
path = /obj/item/toy/plushie/humanplushie
sort_category = "Plushies"
/datum/gear/skrellplushie
display_name = "Skrell plushie"
path = /obj/item/toy/plushie/skrellplushie
sort_category = "Plushies"
/datum/gear/voxplushie
display_name = "Vox plushie"
path = /obj/item/toy/plushie/voxplushie
sort_category = "Plushies"
/datum/gear/draskplushie
display_name = "Drask plushie"
path = /obj/item/toy/plushie/draskplushie
sort_category = "Plushies"
/datum/gear/borgplushie
display_name = "Borg plushie"
path = /obj/item/toy/plushie/borgplushie
/datum/gear/greyplushie
display_name = "Grey Plushie"
path = /obj/item/toy/plushie/greyplushie
sort_category = "Plushies"
/datum/gear/nymphplushie
display_name = "Diona nymph plushie"
path = /obj/item/toy/plushie/nymphplushie
sort_category = "Plushies"
/datum/gear/ipcplushie
display_name = "IPC plushie"
path = /obj/item/toy/plushie/ipcplushie
sort_category = "Plushies"
/datum/gear/kidanplushie
display_name = "Kidan plushie"
path = /obj/item/toy/plushie/kidanplushie
sort_category = "Plushies"
/datum/gear/plasmaplushie
display_name = "Plasmaman plushie"
path = /obj/item/toy/plushie/plasmamanplushie
sort_category = "Plushies"
/datum/gear/nianplushie
display_name = "Nian plushie"
path = /obj/item/toy/plushie/nianplushie
sort_category = "Plushies"
/datum/gear/borgplushie
display_name = "Borg plushie"
path = /obj/item/toy/plushie/borgplushie
sort_category = "Plushies"
/datum/gear/sharkplushie
display_name = "Shark plushie"
path = /obj/item/toy/plushie/shark
sort_category = "Plushies"
/datum/gear/cryaonbox
display_name = "Box of crayons"
@@ -210,30 +400,26 @@
display_name = "Wizard's staff"
path = /obj/item/staff
/datum/gear/photo_album
display_name = "Photo album"
path = /obj/item/storage/photo_album
//////////////////////
// Mugs //
//////////////////////
/datum/gear/mug
display_name = "Coffee mug, random"
description = "A randomly colored coffee mug. You'll need to supply your own beverage though."
description = "A randomly colored coffee mug. You'll need to supply your own beverage, though."
path = /obj/item/reagent_containers/drinks/mug
sort_category = "Mugs"
/datum/gear/novelty_mug
display_name = "Coffee mug, novelty"
description = "A random novelty coffee mug. You'll need to supply your own beverage though."
description = "A random novelty coffee mug. You'll need to supply your own beverage, though."
path = /obj/item/reagent_containers/drinks/mug/novelty
cost = 2
sort_category = "Mugs"
/datum/gear/mug/flask
display_name = "Flask"
description = "A flask for drink transportation. You'll need to supply your own beverage though."
description = "A flask for drink transportation. You'll need to supply your own beverage, though."
path = /obj/item/reagent_containers/drinks/flask/barflask
/datum/gear/mug/department
@@ -327,3 +513,52 @@
/datum/gear/instrument/xylo
display_name = "Xylophone"
path = /obj/item/instrument/xylophone
//////////////////////
// Paperwork //
//////////////////////
/datum/gear/paperwork
display_name = "Paper bin"
path = /obj/item/paper_bin
sort_category = "Paperwork"
/datum/gear/paperwork/clipboard
display_name = "Clipboard"
path = /obj/item/clipboard
/datum/gear/paperwork/redpen
display_name = "Red pen"
path = /obj/item/pen/red
/datum/gear/paperwork/bluepen
display_name = "Blue pen"
path = /obj/item/pen/blue
/datum/gear/paperwork/graypen
display_name = "Gray pen" // is this not a pencil
path = /obj/item/pen/gray
/datum/gear/paperwork/multipen
display_name = "Multicolored pen"
path = /obj/item/pen/multi
/datum/gear/paperwork/folder
display_name = "Folder"
path = /obj/item/folder
/datum/gear/paperwork/folder/red
display_name = "Red folder"
path = /obj/item/folder/red
/datum/gear/paperwork/folder/blue
display_name = "Blue folder"
path = /obj/item/folder/blue
/datum/gear/paperwork/folder/white
display_name = "White folder"
path = /obj/item/folder/white
/datum/gear/paperwork/folder/yellow
display_name = "Yellow folder"
path = /obj/item/folder/yellow
@@ -31,6 +31,10 @@
path = /obj/item/clothing/head/hardhat/dblue
allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist")
/datum/gear/hat/warning_cone
display_name = "Warning cone"
path = /obj/item/clothing/head/cone
/datum/gear/hat/that
display_name = "Top hat"
path = /obj/item/clothing/head/that
@@ -14,6 +14,8 @@
/datum/gear/racial
sort_category = "Racial"
main_typepath = /datum/gear/racial
tweakname = FALSE // Just to keep things identifiable, really.
tweakdesc = FALSE
/datum/gear/racial/taj
display_name = "Tajaran veil"
@@ -61,7 +63,7 @@
display_name = "Tajaran Skills Veil"
description = "A common traditional nano-fiber veil worn by many Tajaran. It is rare and offensive to see it on other races. Comes equipped with a skills HUD."
path = /obj/item/clothing/glasses/hud/tajblind/skill
allowed_roles = list("Head of Personnel", "Psychiatrist")
allowed_roles = list("Head of Personnel", "Psychiatrist", "Nanotrasen Representative")
/datum/gear/racial/taj/hydroponics
display_name = "Tajaran Hydroponic Veil"
@@ -231,6 +231,10 @@
display_name = "Skirt, black"
path = /obj/item/clothing/under/dress/blackskirt
/datum/gear/uniform/skirt/black_tango
display_name = "black tango dress"
path = /obj/item/clothing/under/dress/blacktango
/datum/gear/uniform/skirt/blue_tango
display_name = "blue tango dress"
path = /obj/item/clothing/under/dress/blacktango/blue
@@ -625,6 +629,10 @@
display_name = "Shorts, grey"
path = /obj/item/clothing/under/pants/shorts/grey
/datum/gear/uniform/shorts/jean
display_name = "Shorts, jean"
path = /obj/item/clothing/under/pants/shorts/jeanshorts
/datum/gear/uniform/pants
main_typepath = /datum/gear/uniform/pants