mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-13 08:03:43 +01:00
Loadout DB Storage Refactor (#16453)
* `display_name` -> Typepaths V1 * Loadout display name capitalisation #15857 * Review 1, plus json fixes * (Hopefully) final tweaks * Styling nitpicks * Extra tweaks because why not It never caused a runtime, but the `?.` is just in case. * Deconflicting * Warning comment * Whoops Typing faster than my brain
This commit is contained in:
@@ -115,7 +115,7 @@
|
||||
if(!isemptylist(player_alt_titles))
|
||||
playertitlelist = list2params(player_alt_titles)
|
||||
if(!isemptylist(loadout_gear))
|
||||
gearlist = list2params(loadout_gear)
|
||||
gearlist = json_encode(loadout_gear)
|
||||
|
||||
var/datum/db_query/firstquery = SSdbcore.NewQuery("SELECT slot FROM characters WHERE ckey=:ckey ORDER BY slot", list(
|
||||
"ckey" = C.ckey
|
||||
@@ -438,7 +438,7 @@
|
||||
//socks
|
||||
socks = query.item[49]
|
||||
body_accessory = query.item[50]
|
||||
loadout_gear = params2list(query.item[51])
|
||||
loadout_gear = query.item[51]
|
||||
autohiss_mode = text2num(query.item[52])
|
||||
|
||||
//Sanitize
|
||||
@@ -507,6 +507,7 @@
|
||||
|
||||
socks = sanitize_text(socks, initial(socks))
|
||||
body_accessory = sanitize_text(body_accessory, initial(body_accessory))
|
||||
loadout_gear = sanitize_json(loadout_gear)
|
||||
|
||||
if(!player_alt_titles)
|
||||
player_alt_titles = new()
|
||||
@@ -1457,11 +1458,11 @@
|
||||
|
||||
|
||||
|
||||
/datum/character_save/proc/get_gear_metadata(datum/gear/G)
|
||||
. = loadout_gear[G.display_name]
|
||||
/datum/character_save/proc/get_gear_metadata(datum/gear/G) // NYI
|
||||
. = loadout_gear[G.type]
|
||||
if(!.)
|
||||
. = list()
|
||||
loadout_gear[G.display_name] = .
|
||||
loadout_gear[G.type] = .
|
||||
|
||||
/datum/character_save/proc/get_tweak_metadata(datum/gear/G, datum/gear_tweak/tweak)
|
||||
var/list/metadata = get_gear_metadata(G)
|
||||
|
||||
@@ -96,29 +96,17 @@
|
||||
|
||||
if(href_list["preference"] == "gear")
|
||||
if(href_list["toggle_gear"])
|
||||
var/datum/gear/TG = GLOB.gear_datums[href_list["toggle_gear"]]
|
||||
if(TG.display_name in active_character.loadout_gear)
|
||||
active_character.loadout_gear -= TG.display_name
|
||||
var/datum/gear/TG = GLOB.gear_datums[text2path(href_list["toggle_gear"])]
|
||||
if(TG && (TG.type in active_character.loadout_gear))
|
||||
active_character.loadout_gear -= TG.type
|
||||
else
|
||||
if(TG.donator_tier && user.client.donator_level < TG.donator_tier)
|
||||
to_chat(user, "<span class='warning'>That gear is only available at a higher donation tier than you are on.</span>")
|
||||
return
|
||||
var/total_cost = 0
|
||||
var/list/type_blacklist = list()
|
||||
for(var/gear_name in active_character.loadout_gear)
|
||||
var/datum/gear/G = GLOB.gear_datums[gear_name]
|
||||
if(istype(G))
|
||||
if(!G.subtype_cost_overlap)
|
||||
if(G.subtype_path in type_blacklist)
|
||||
continue
|
||||
type_blacklist += G.subtype_path
|
||||
total_cost += G.cost
|
||||
build_loadout(TG)
|
||||
|
||||
if((total_cost + TG.cost) <= max_gear_slots)
|
||||
active_character.loadout_gear += TG.display_name
|
||||
|
||||
else if(href_list["gear"] && href_list["tweak"])
|
||||
var/datum/gear/gear = GLOB.gear_datums[href_list["gear"]]
|
||||
else if(href_list["gear"] && href_list["tweak"]) // NYI
|
||||
var/datum/gear/gear = GLOB.gear_datums[text2path(href_list["gear"])]
|
||||
var/datum/gear_tweak/tweak = locate(href_list["tweak"])
|
||||
if(!tweak || !istype(gear) || !(tweak in gear.gear_tweaks))
|
||||
return
|
||||
|
||||
@@ -10,17 +10,27 @@ GLOBAL_LIST_EMPTY(gear_datums)
|
||||
..()
|
||||
|
||||
/datum/gear
|
||||
var/display_name //Name/index. Must be unique.
|
||||
var/description //Description of this gear. If left blank will default to the description of the pathed item.
|
||||
var/path //Path to item.
|
||||
var/cost = 1 //Number of points used. Items in general cost 1 point, storage/armor/gloves/special use costs 2 points.
|
||||
var/slot //Slot to equip to.
|
||||
var/list/allowed_roles //Roles that can spawn with this item.
|
||||
var/whitelisted //Term to check the whitelist for..
|
||||
/// Displayed name of the item listing.
|
||||
var/display_name
|
||||
/// Description of the item listing. If left blank will default to the description of the pathed item.
|
||||
var/description
|
||||
/// Typepath of the item.
|
||||
var/path
|
||||
/// Loadout points cost to select the item listing.
|
||||
var/cost = 1
|
||||
/// Slot to equip the item to.
|
||||
var/slot
|
||||
/// List of job roles which can spawn with the item.
|
||||
var/list/allowed_roles
|
||||
/// Loadout category of the item listing.
|
||||
var/sort_category = "General"
|
||||
var/list/gear_tweaks = list() //List of datums which will alter the item after it has been spawned.
|
||||
var/subtype_path = /datum/gear //for skipping organizational subtypes (optional)
|
||||
var/subtype_cost_overlap = TRUE //if subtypes can take points at the same time
|
||||
/// List of datums which will alter the item after it has been spawned. (NYI)
|
||||
var/list/gear_tweaks = list()
|
||||
/// 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.
|
||||
var/subtype_selection_cost = TRUE
|
||||
/// Patreon donator tier needed to select this item listing.
|
||||
var/donator_tier = 0
|
||||
|
||||
/datum/gear/New()
|
||||
|
||||
@@ -1,203 +1,215 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/accessory
|
||||
subtype_path = /datum/gear/accessory
|
||||
main_typepath = /datum/gear/accessory
|
||||
slot = slot_tie
|
||||
sort_category = "Accessories"
|
||||
|
||||
/datum/gear/accessory/scarf
|
||||
display_name = "scarf"
|
||||
display_name = "Scarf"
|
||||
path = /obj/item/clothing/accessory/scarf
|
||||
|
||||
/datum/gear/accessory/scarf/red
|
||||
display_name = "scarf, red"
|
||||
display_name = "Scarf, red"
|
||||
path = /obj/item/clothing/accessory/scarf/red
|
||||
|
||||
/datum/gear/accessory/scarf/green
|
||||
display_name = "scarf, green"
|
||||
display_name = "Scarf, green"
|
||||
path = /obj/item/clothing/accessory/scarf/green
|
||||
|
||||
/datum/gear/accessory/scarf/darkblue
|
||||
display_name = "scarf, dark blue"
|
||||
display_name = "Scarf, dark blue"
|
||||
path = /obj/item/clothing/accessory/scarf/darkblue
|
||||
|
||||
/datum/gear/accessory/scarf/purple
|
||||
display_name = "scarf, purple"
|
||||
display_name = "Scarf, purple"
|
||||
path = /obj/item/clothing/accessory/scarf/purple
|
||||
|
||||
/datum/gear/accessory/scarf/yellow
|
||||
display_name = "scarf, yellow"
|
||||
display_name = "Scarf, yellow"
|
||||
path = /obj/item/clothing/accessory/scarf/yellow
|
||||
|
||||
/datum/gear/accessory/scarf/orange
|
||||
display_name = "scarf, orange"
|
||||
display_name = "Scarf, orange"
|
||||
path = /obj/item/clothing/accessory/scarf/orange
|
||||
|
||||
/datum/gear/accessory/scarf/lightblue
|
||||
display_name = "scarf, light blue"
|
||||
display_name = "Scarf, light blue"
|
||||
path = /obj/item/clothing/accessory/scarf/lightblue
|
||||
|
||||
/datum/gear/accessory/scarf/white
|
||||
display_name = "scarf, white"
|
||||
display_name = "Scarf, white"
|
||||
path = /obj/item/clothing/accessory/scarf/white
|
||||
|
||||
/datum/gear/accessory/scarf/black
|
||||
display_name = "scarf, black"
|
||||
display_name = "Scarf, black"
|
||||
path = /obj/item/clothing/accessory/scarf/black
|
||||
|
||||
/datum/gear/accessory/scarf/zebra
|
||||
display_name = "scarf, zebra"
|
||||
display_name = "Scarf, zebra"
|
||||
path = /obj/item/clothing/accessory/scarf/zebra
|
||||
|
||||
/datum/gear/accessory/scarf/christmas
|
||||
display_name = "scarf, christmas"
|
||||
display_name = "Scarf, christmas"
|
||||
path = /obj/item/clothing/accessory/scarf/christmas
|
||||
|
||||
/datum/gear/accessory/scarf/stripedred
|
||||
display_name = "scarf, striped red"
|
||||
display_name = "Scarf, striped red"
|
||||
path = /obj/item/clothing/accessory/stripedredscarf
|
||||
|
||||
/datum/gear/accessory/scarf/stripedgreen
|
||||
display_name = "scarf, striped green"
|
||||
display_name = "Scarf, striped green"
|
||||
path = /obj/item/clothing/accessory/stripedgreenscarf
|
||||
|
||||
/datum/gear/accessory/scarf/stripedblue
|
||||
display_name = "scarf, striped blue"
|
||||
display_name = "Scarf, striped blue"
|
||||
path = /obj/item/clothing/accessory/stripedbluescarf
|
||||
|
||||
/datum/gear/accessory/holobadge
|
||||
display_name = "holobadge, pin"
|
||||
display_name = "Holobadge, pin"
|
||||
path = /obj/item/clothing/accessory/holobadge
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/accessory/holobadge_n
|
||||
display_name = "holobadge, cord"
|
||||
display_name = "Holobadge, cord"
|
||||
path = /obj/item/clothing/accessory/holobadge/cord
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/accessory/tieblue
|
||||
display_name = "tie, blue"
|
||||
display_name = "Tie, blue"
|
||||
path = /obj/item/clothing/accessory/blue
|
||||
|
||||
/datum/gear/accessory/tiered
|
||||
display_name = "tie, red"
|
||||
display_name = "Tie, red"
|
||||
path = /obj/item/clothing/accessory/red
|
||||
|
||||
/datum/gear/accessory/tieblack
|
||||
display_name = "tie, black"
|
||||
display_name = "Tie, black"
|
||||
path = /obj/item/clothing/accessory/black
|
||||
|
||||
/datum/gear/accessory/tiehorrible
|
||||
display_name = "tie, vomit green"
|
||||
display_name = "Tie, vomit green"
|
||||
path = /obj/item/clothing/accessory/horrible
|
||||
|
||||
/datum/gear/accessory/stethoscope
|
||||
display_name = "stethoscope"
|
||||
display_name = "Stethoscope"
|
||||
path = /obj/item/clothing/accessory/stethoscope
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Paramedic", "Brig Physician")
|
||||
|
||||
/datum/gear/accessory/cowboyshirt
|
||||
display_name = "cowboy shirt, black"
|
||||
display_name = "Cowboy shirt, black"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/short_sleeved
|
||||
display_name = "cowboy shirt, short sleeved black"
|
||||
display_name = "Cowboy shirt, short sleeved black"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/short_sleeved
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/white
|
||||
display_name = "cowboy shirt, white"
|
||||
display_name = "Cowboy shirt, white"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/white
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/white/short_sleeved
|
||||
display_name = "cowboy shirt, short sleeved white"
|
||||
display_name = "Cowboy shirt, short sleeved white"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/white/short_sleeved
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/pink
|
||||
display_name = "cowboy shirt, pink"
|
||||
display_name = "Cowboy shirt, pink"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/pink
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/pink/short_sleeved
|
||||
display_name = "cowboy shirt, short sleeved pink"
|
||||
display_name = "Cowboy shirt, short sleeved pink"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/pink/short_sleeved
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/red
|
||||
display_name = "cowboy shirt, red"
|
||||
display_name = "Cowboy shirt, red"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/red
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/red/short_sleeved
|
||||
display_name = "cowboy shirt, short sleeved red"
|
||||
display_name = "Cowboy shirt, short sleeved red"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/red/short_sleeved
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/navy
|
||||
display_name = "cowboy shirt, navy"
|
||||
display_name = "Cowboy shirt, navy"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/navy
|
||||
|
||||
/datum/gear/accessory/cowboyshirt/navy/short_sleeved
|
||||
display_name = "cowboy shirt, short sleeved navy"
|
||||
display_name = "Cowboy shirt, short sleeved navy"
|
||||
path = /obj/item/clothing/accessory/cowboyshirt/navy/short_sleeved
|
||||
|
||||
/datum/gear/accessory/locket
|
||||
display_name = "gold locket"
|
||||
display_name = "Gold locket"
|
||||
path = /obj/item/clothing/accessory/necklace/locket
|
||||
|
||||
/datum/gear/accessory/necklace
|
||||
display_name = "simple necklace"
|
||||
display_name = "Simple necklace"
|
||||
path = /obj/item/clothing/accessory/necklace
|
||||
|
||||
/datum/gear/accessory/corset
|
||||
display_name = "corset, black"
|
||||
display_name = "Corset, black"
|
||||
path = /obj/item/clothing/accessory/corset
|
||||
|
||||
/datum/gear/accessory/corsetred
|
||||
display_name = "corset, red"
|
||||
display_name = "Corset, red"
|
||||
path = /obj/item/clothing/accessory/corset/red
|
||||
|
||||
/datum/gear/accessory/corsetblue
|
||||
display_name = "corset, blue"
|
||||
display_name = "Corset, blue"
|
||||
path = /obj/item/clothing/accessory/corset/blue
|
||||
|
||||
|
||||
/datum/gear/accessory/armband_red
|
||||
display_name = "armband"
|
||||
display_name = "Armband"
|
||||
path = /obj/item/clothing/accessory/armband
|
||||
|
||||
/datum/gear/accessory/armband_civ
|
||||
display_name = "armband, blue-yellow"
|
||||
display_name = "Armband, blue-yellow"
|
||||
path = /obj/item/clothing/accessory/armband/yb
|
||||
|
||||
/datum/gear/accessory/armband_job
|
||||
subtype_path = /datum/gear/accessory/armband_job
|
||||
subtype_cost_overlap = FALSE
|
||||
main_typepath = /datum/gear/accessory/armband_job
|
||||
subtype_selection_cost = FALSE
|
||||
|
||||
/datum/gear/accessory/armband_job/sec
|
||||
display_name = " armband, security"
|
||||
display_name = "Armband, security"
|
||||
path = /obj/item/clothing/accessory/armband/sec
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer", "Brig Physician")
|
||||
|
||||
/datum/gear/accessory/armband_job/cargo
|
||||
display_name = "cargo armband"
|
||||
display_name = "Armband, cargo"
|
||||
path = /obj/item/clothing/accessory/armband/cargo
|
||||
allowed_roles = list("Quartermaster","Cargo Technician", "Shaft Miner")
|
||||
|
||||
/datum/gear/accessory/armband_job/medical
|
||||
display_name = "armband, medical"
|
||||
display_name = "Armband, medical"
|
||||
path = /obj/item/clothing/accessory/armband/med
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Coroner", "Paramedic", "Brig Physician")
|
||||
|
||||
/datum/gear/accessory/armband_job/emt
|
||||
display_name = "armband, EMT"
|
||||
display_name = "Armband, EMT"
|
||||
path = /obj/item/clothing/accessory/armband/medgreen
|
||||
allowed_roles = list("Paramedic", "Brig Physician")
|
||||
|
||||
/datum/gear/accessory/armband_job/engineering
|
||||
display_name = "armband, engineering"
|
||||
display_name = "Armband, engineering"
|
||||
path = /obj/item/clothing/accessory/armband/engine
|
||||
allowed_roles = list("Chief Engineer","Station Engineer", "Life Support Specialist")
|
||||
|
||||
/datum/gear/accessory/armband_job/hydro
|
||||
display_name = "armband, hydroponics"
|
||||
display_name = "Armband, hydroponics"
|
||||
path = /obj/item/clothing/accessory/armband/hydro
|
||||
allowed_roles = list("Botanist")
|
||||
|
||||
/datum/gear/accessory/armband_job/sci
|
||||
display_name = "armband, science"
|
||||
display_name = "Armband, science"
|
||||
path = /obj/item/clothing/accessory/armband/science
|
||||
allowed_roles = list("Research Director","Scientist", "Roboticist")
|
||||
|
||||
@@ -1,24 +1,37 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/lipstick
|
||||
display_name = "lipstick, red"
|
||||
display_name = "Lipstick, red"
|
||||
path = /obj/item/lipstick
|
||||
sort_category = "Cosmetics"
|
||||
|
||||
/datum/gear/lipstick/black
|
||||
display_name = "lipstick, black"
|
||||
display_name = "Lipstick, black"
|
||||
path = /obj/item/lipstick/black
|
||||
|
||||
/datum/gear/lipstick/jade
|
||||
display_name = "lipstick, jade"
|
||||
display_name = "Lipstick, jade"
|
||||
path = /obj/item/lipstick/jade
|
||||
|
||||
/datum/gear/lipstick/purple
|
||||
display_name = "lipstick, purple"
|
||||
display_name = "Lipstick, purple"
|
||||
path = /obj/item/lipstick/purple
|
||||
|
||||
/datum/gear/lipstick/blue
|
||||
display_name = "lipstick, blue"
|
||||
display_name = "Lipstick, blue"
|
||||
path = /obj/item/lipstick/blue
|
||||
|
||||
/datum/gear/lipstick/lime
|
||||
display_name = "lipstick, lime"
|
||||
display_name = "Lipstick, lime"
|
||||
path = /obj/item/lipstick/lime
|
||||
|
||||
@@ -1,7 +1,20 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/donor
|
||||
donator_tier = 2
|
||||
sort_category = "Donor"
|
||||
subtype_path = /datum/gear/donor
|
||||
main_typepath = /datum/gear/donor
|
||||
|
||||
/datum/gear/donor/furgloves
|
||||
display_name = "Fur Gloves"
|
||||
|
||||
@@ -1,136 +1,149 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/dice
|
||||
display_name = "a d20"
|
||||
display_name = "D20"
|
||||
path = /obj/item/dice/d20
|
||||
|
||||
/datum/gear/uplift
|
||||
display_name = "a pack of Uplifts"
|
||||
display_name = "Pack of Uplifts"
|
||||
path = /obj/item/storage/fancy/cigarettes/cigpack_uplift
|
||||
|
||||
/datum/gear/robust
|
||||
display_name = "a pack of Robusts"
|
||||
display_name = "Pack of Robusts"
|
||||
path = /obj/item/storage/fancy/cigarettes/cigpack_robust
|
||||
|
||||
/datum/gear/carp
|
||||
display_name = "a pack of Carps"
|
||||
display_name = "Pack of Carps"
|
||||
path = /obj/item/storage/fancy/cigarettes/cigpack_carp
|
||||
|
||||
/datum/gear/midori
|
||||
display_name = "a pack of Midoris"
|
||||
display_name = "Pack of Midoris"
|
||||
path = /obj/item/storage/fancy/cigarettes/cigpack_midori
|
||||
|
||||
/datum/gear/smokingpipe
|
||||
display_name = "smoking pipe"
|
||||
display_name = "Smoking pipe"
|
||||
path = /obj/item/clothing/mask/cigarette/pipe
|
||||
cost = 2
|
||||
|
||||
/datum/gear/lighter
|
||||
display_name = "a cheap lighter"
|
||||
display_name = "Cheap lighter"
|
||||
path = /obj/item/lighter
|
||||
|
||||
/datum/gear/matches
|
||||
display_name = "a box of matches"
|
||||
display_name = "Box of matches"
|
||||
path = /obj/item/storage/box/matches
|
||||
|
||||
/datum/gear/candlebox
|
||||
display_name = "a box candles"
|
||||
display_name = "Box of candles"
|
||||
description = "For setting the mood or for occult rituals."
|
||||
path = /obj/item/storage/fancy/candle_box/full
|
||||
|
||||
/datum/gear/rock
|
||||
display_name = "a pet rock"
|
||||
display_name = "Pet rock"
|
||||
path = /obj/item/toy/pet_rock
|
||||
|
||||
/datum/gear/camera
|
||||
display_name = "a camera"
|
||||
display_name = "Camera"
|
||||
path = /obj/item/camera
|
||||
|
||||
/datum/gear/redfoxplushie
|
||||
display_name = "a red fox plushie"
|
||||
display_name = "Red fox plushie"
|
||||
path = /obj/item/toy/plushie/red_fox
|
||||
|
||||
/datum/gear/blackcatplushie
|
||||
display_name = "a black cat plushie"
|
||||
display_name = "Black cat plushie"
|
||||
path = /obj/item/toy/plushie/black_cat
|
||||
|
||||
/datum/gear/voxplushie
|
||||
display_name = "a vox plushie"
|
||||
display_name = "Vox plushie"
|
||||
path = /obj/item/toy/plushie/voxplushie
|
||||
|
||||
/datum/gear/lizardplushie
|
||||
display_name = "a lizard plushie"
|
||||
display_name = "Lizard plushie"
|
||||
path = /obj/item/toy/plushie/lizardplushie
|
||||
|
||||
/datum/gear/deerplushie
|
||||
display_name = "a deer plushie"
|
||||
display_name = "Deer plushie"
|
||||
path = /obj/item/toy/plushie/deer
|
||||
|
||||
/datum/gear/carpplushie
|
||||
display_name = "a carp plushie"
|
||||
display_name = "Carp plushie"
|
||||
path = /obj/item/toy/carpplushie
|
||||
|
||||
/datum/gear/sechud
|
||||
display_name = "a classic security HUD"
|
||||
display_name = "Classic security HUD"
|
||||
path = /obj/item/clothing/glasses/hud/security
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer", "Internal Affairs Agent","Magistrate")
|
||||
|
||||
/datum/gear/cryaonbox
|
||||
display_name = "a box of crayons"
|
||||
display_name = "Box of crayons"
|
||||
path = /obj/item/storage/fancy/crayons
|
||||
|
||||
/datum/gear/cane
|
||||
display_name = "a walking cane"
|
||||
display_name = "Walking cane"
|
||||
path = /obj/item/cane
|
||||
|
||||
/datum/gear/cards
|
||||
display_name = "a deck of standard cards"
|
||||
display_name = "Deck of standard cards"
|
||||
path = /obj/item/deck/cards
|
||||
|
||||
/datum/gear/doublecards
|
||||
display_name = "a double deck of standard cards"
|
||||
display_name = "Double deck of standard cards"
|
||||
path = /obj/item/deck/doublecards
|
||||
|
||||
/datum/gear/tarot
|
||||
display_name = "a deck of tarot cards"
|
||||
display_name = "Deck of tarot cards"
|
||||
path = /obj/item/deck/tarot
|
||||
|
||||
/datum/gear/headphones
|
||||
display_name = "a pair of headphones"
|
||||
display_name = "Headphones"
|
||||
path = /obj/item/clothing/ears/headphones
|
||||
|
||||
/datum/gear/fannypack
|
||||
display_name = "a fannypack"
|
||||
display_name = "Fannypack"
|
||||
path = /obj/item/storage/belt/fannypack
|
||||
|
||||
/datum/gear/blackbandana
|
||||
display_name = "bandana, black"
|
||||
display_name = "Bandana, black"
|
||||
path = /obj/item/clothing/mask/bandana/black
|
||||
|
||||
/datum/gear/purplebandana
|
||||
display_name = "bandana, purple"
|
||||
display_name = "Bandana, purple"
|
||||
path = /obj/item/clothing/mask/bandana/purple
|
||||
|
||||
/datum/gear/orangebandana
|
||||
display_name = "bandana, orange"
|
||||
display_name = "Bandana, orange"
|
||||
path = /obj/item/clothing/mask/bandana/orange
|
||||
|
||||
/datum/gear/greenbandana
|
||||
display_name = "bandana, green"
|
||||
display_name = "Bandana, green"
|
||||
path = /obj/item/clothing/mask/bandana/green
|
||||
|
||||
/datum/gear/bluebandana
|
||||
display_name = "bandana, blue"
|
||||
display_name = "Bandana, blue"
|
||||
path = /obj/item/clothing/mask/bandana/blue
|
||||
|
||||
/datum/gear/redbandana
|
||||
display_name = "bandana, red"
|
||||
display_name = "Bandana, red"
|
||||
path = /obj/item/clothing/mask/bandana/red
|
||||
|
||||
/datum/gear/goldbandana
|
||||
display_name = "bandana, gold"
|
||||
display_name = "Bandana, gold"
|
||||
path = /obj/item/clothing/mask/bandana/gold
|
||||
|
||||
/datum/gear/skullbandana
|
||||
display_name = "bandana, skull"
|
||||
display_name = "Bandana, skull"
|
||||
path = /obj/item/clothing/mask/bandana/skull
|
||||
|
||||
/datum/gear/mob_hunt_game
|
||||
@@ -143,54 +156,54 @@
|
||||
//////////////////////
|
||||
|
||||
/datum/gear/mug
|
||||
display_name = "random coffee mug"
|
||||
display_name = "Coffee mug, random"
|
||||
description = "A randomly colored coffee mug. You'll need to supply your own beverage though."
|
||||
path = /obj/item/reagent_containers/food/drinks/mug
|
||||
sort_category = "Mugs"
|
||||
|
||||
/datum/gear/novelty_mug
|
||||
display_name = "novelty coffee mug"
|
||||
display_name = "Coffee mug, novelty"
|
||||
description = "A random novelty coffee mug. You'll need to supply your own beverage though."
|
||||
path = /obj/item/reagent_containers/food/drinks/mug/novelty
|
||||
cost = 2
|
||||
sort_category = "Mugs"
|
||||
|
||||
/datum/gear/mug/flask
|
||||
display_name = "flask"
|
||||
display_name = "Flask"
|
||||
description = "A flask for drink transportation. You'll need to supply your own beverage though."
|
||||
path = /obj/item/reagent_containers/food/drinks/flask/barflask
|
||||
|
||||
/datum/gear/mug/department
|
||||
subtype_path = /datum/gear/mug/department
|
||||
main_typepath = /datum/gear/mug/department
|
||||
sort_category = "Mugs"
|
||||
subtype_cost_overlap = FALSE
|
||||
subtype_selection_cost = FALSE
|
||||
|
||||
/datum/gear/mug/department/eng
|
||||
display_name = "engineer coffee mug"
|
||||
display_name = "Coffee mug, engineering"
|
||||
description = "An engineer's coffee mug, emblazoned in the colors of the Engineering department."
|
||||
allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist")
|
||||
path = /obj/item/reagent_containers/food/drinks/mug/eng
|
||||
|
||||
/datum/gear/mug/department/med
|
||||
display_name = "doctor coffee mug"
|
||||
display_name = "Coffee mug, medical"
|
||||
description = "A doctor's coffee mug, emblazoned in the colors of the Medical department."
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Coroner")
|
||||
path = /obj/item/reagent_containers/food/drinks/mug/med
|
||||
|
||||
/datum/gear/mug/department/sci
|
||||
display_name = "scientist coffee mug"
|
||||
display_name = "Coffee mug, science"
|
||||
description = "A scientist's coffee mug, emblazoned in the colors of the Science department."
|
||||
allowed_roles = list("Research Director", "Scientist", "Roboticist")
|
||||
path = /obj/item/reagent_containers/food/drinks/mug/sci
|
||||
|
||||
/datum/gear/mug/department/sec
|
||||
display_name = "officer coffee mug"
|
||||
display_name = "Coffee mug, security"
|
||||
description = "An officer's coffee mug, emblazoned in the colors of the Security department."
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer", "Brig Physician", "Internal Affairs Agent")
|
||||
path = /obj/item/reagent_containers/food/drinks/mug/sec
|
||||
|
||||
/datum/gear/mug/department/serv
|
||||
display_name = "crewmember coffee mug"
|
||||
display_name = "Coffee mug, service"
|
||||
description = "A crewmember's coffee mug, emblazoned in the colors of the Service department."
|
||||
path = /obj/item/reagent_containers/food/drinks/mug/serv
|
||||
|
||||
|
||||
@@ -1,10 +1,23 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/glasses
|
||||
subtype_path = /datum/gear/glasses
|
||||
main_typepath = /datum/gear/glasses
|
||||
slot = slot_glasses
|
||||
sort_category = "Glasses"
|
||||
|
||||
/datum/gear/glasses/sunglasses
|
||||
display_name = "cheap sunglasses"
|
||||
display_name = "Cheap sunglasses"
|
||||
path = /obj/item/clothing/glasses/sunglasses_fake
|
||||
|
||||
/datum/gear/glasses/eyepatch
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/gloves
|
||||
subtype_path = /datum/gear/gloves
|
||||
main_typepath = /datum/gear/gloves
|
||||
slot = slot_gloves
|
||||
sort_category = "Gloves"
|
||||
|
||||
|
||||
@@ -1,184 +1,197 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/hat
|
||||
subtype_path = /datum/gear/hat
|
||||
main_typepath = /datum/gear/hat
|
||||
slot = slot_head
|
||||
sort_category = "Headwear"
|
||||
|
||||
/datum/gear/hat/hhat_yellow
|
||||
display_name = "hardhat, yellow"
|
||||
display_name = "Hardhat, yellow"
|
||||
path = /obj/item/clothing/head/hardhat
|
||||
allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist")
|
||||
|
||||
/datum/gear/hat/hhat_orange
|
||||
display_name = "hardhat, orange"
|
||||
display_name = "Hardhat, orange"
|
||||
path = /obj/item/clothing/head/hardhat/orange
|
||||
allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist")
|
||||
|
||||
/datum/gear/hat/hhat_blue
|
||||
display_name = "hardhat, blue"
|
||||
display_name = "Hardhat, blue"
|
||||
path = /obj/item/clothing/head/hardhat/dblue
|
||||
allowed_roles = list("Chief Engineer", "Station Engineer", "Life Support Specialist")
|
||||
|
||||
/datum/gear/hat/that
|
||||
display_name = "top hat"
|
||||
display_name = "Top hat"
|
||||
path = /obj/item/clothing/head/that
|
||||
|
||||
/datum/gear/hat/flatcap
|
||||
display_name = "flat cap"
|
||||
display_name = "Flat cap"
|
||||
path = /obj/item/clothing/head/flatcap
|
||||
|
||||
/datum/gear/hat/witch
|
||||
display_name = "witch hat"
|
||||
display_name = "Witch hat"
|
||||
path = /obj/item/clothing/head/wizard/marisa/fake
|
||||
|
||||
/datum/gear/hat/piratecaphat
|
||||
display_name = "pirate captian hat"
|
||||
display_name = "Pirate captian hat"
|
||||
path = /obj/item/clothing/head/pirate
|
||||
|
||||
/datum/gear/hat/fez
|
||||
display_name = "fez"
|
||||
display_name = "Fez"
|
||||
path = /obj/item/clothing/head/fez
|
||||
|
||||
/datum/gear/hat/rasta
|
||||
display_name = "rasta hat"
|
||||
display_name = "Rasta hat"
|
||||
path = /obj/item/clothing/head/beanie/rasta
|
||||
|
||||
/datum/gear/hat/bfedora
|
||||
display_name = "fedora, black"
|
||||
display_name = "Fedora, black"
|
||||
path = /obj/item/clothing/head/fedora
|
||||
|
||||
/datum/gear/hat/wfedora
|
||||
display_name = "fedora, white"
|
||||
display_name = "Fedora, white"
|
||||
path = /obj/item/clothing/head/fedora/whitefedora
|
||||
|
||||
/datum/gear/hat/brfedora
|
||||
display_name = "fedora, brown"
|
||||
display_name = "Fedora, brown"
|
||||
path = /obj/item/clothing/head/fedora/brownfedora
|
||||
|
||||
/datum/gear/hat/capcsec
|
||||
display_name = "security corporate cap"
|
||||
display_name = "Security cap, corporate"
|
||||
path = /obj/item/clothing/head/soft/sec/corp
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer")
|
||||
|
||||
/datum/gear/hat/capsec
|
||||
display_name = "security cap"
|
||||
display_name = "Security cap"
|
||||
path = /obj/item/clothing/head/soft/sec
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer")
|
||||
|
||||
/datum/gear/hat/capred
|
||||
display_name = "cap, red"
|
||||
display_name = "Cap, red"
|
||||
path = /obj/item/clothing/head/soft/red
|
||||
|
||||
/datum/gear/hat/capblue
|
||||
display_name = "cap, blue"
|
||||
display_name = "Cap, blue"
|
||||
path = /obj/item/clothing/head/soft/blue
|
||||
|
||||
/datum/gear/hat/capgreen
|
||||
display_name = "cap, green"
|
||||
display_name = "Cap, green"
|
||||
path = /obj/item/clothing/head/soft/green
|
||||
|
||||
/datum/gear/hat/capblack
|
||||
display_name = "cap, black"
|
||||
display_name = "Cap, black"
|
||||
path = /obj/item/clothing/head/soft/black
|
||||
|
||||
/datum/gear/hat/cappurple
|
||||
display_name = "cap, purple"
|
||||
display_name = "Cap, purple"
|
||||
path = /obj/item/clothing/head/soft/purple
|
||||
|
||||
/datum/gear/hat/capwhite
|
||||
display_name = "cap, white"
|
||||
display_name = "Cap, white"
|
||||
path = /obj/item/clothing/head/soft/mime
|
||||
|
||||
/datum/gear/hat/caporange
|
||||
display_name = "cap, orange"
|
||||
display_name = "Cap, orange"
|
||||
path = /obj/item/clothing/head/soft/orange
|
||||
|
||||
/datum/gear/hat/capgrey
|
||||
display_name = "cap, grey"
|
||||
display_name = "Cap, grey"
|
||||
path = /obj/item/clothing/head/soft/grey
|
||||
|
||||
/datum/gear/hat/capyellow
|
||||
display_name = "cap, yellow"
|
||||
display_name = "Cap, yellow"
|
||||
path = /obj/item/clothing/head/soft/yellow
|
||||
|
||||
/datum/gear/hat/cowboyhat
|
||||
display_name = "cowboy hat, brown"
|
||||
display_name = "Cowboy hat, brown"
|
||||
path = /obj/item/clothing/head/cowboyhat
|
||||
|
||||
/datum/gear/hat/cowboyhat/tan
|
||||
display_name = "cowboy hat, tan"
|
||||
display_name = "Cowboy hat, tan"
|
||||
path = /obj/item/clothing/head/cowboyhat/tan
|
||||
|
||||
/datum/gear/hat/cowboyhat/black
|
||||
display_name = "cowboy hat, black"
|
||||
display_name = "Cowboy hat, black"
|
||||
path = /obj/item/clothing/head/cowboyhat/black
|
||||
|
||||
/datum/gear/hat/cowboyhat/white
|
||||
display_name = "cowboy hat, white"
|
||||
display_name = "Cowboy hat, white"
|
||||
path = /obj/item/clothing/head/cowboyhat/white
|
||||
|
||||
/datum/gear/hat/cowboyhat/pink
|
||||
display_name = "cowboy hat, pink"
|
||||
display_name = "Cowboy hat, pink"
|
||||
path = /obj/item/clothing/head/cowboyhat/pink
|
||||
|
||||
/datum/gear/hat/beret_purple
|
||||
display_name = "beret, purple"
|
||||
display_name = "Beret, purple"
|
||||
path = /obj/item/clothing/head/beret/purple_normal
|
||||
|
||||
/datum/gear/hat/beret_black
|
||||
display_name = "beret, black"
|
||||
display_name = "Beret, black"
|
||||
path = /obj/item/clothing/head/beret/black
|
||||
|
||||
/datum/gear/hat/beret_blue
|
||||
display_name = "beret, blue"
|
||||
display_name = "Beret, blue"
|
||||
path = /obj/item/clothing/head/beret/blue
|
||||
|
||||
/datum/gear/hat/beret_red
|
||||
display_name = "beret, red"
|
||||
display_name = "Beret, red"
|
||||
path = /obj/item/clothing/head/beret
|
||||
|
||||
/datum/gear/hat/beret_job
|
||||
subtype_path = /datum/gear/hat/beret_job
|
||||
subtype_cost_overlap = FALSE
|
||||
main_typepath = /datum/gear/hat/beret_job
|
||||
subtype_selection_cost = FALSE
|
||||
|
||||
/datum/gear/hat/beret_job/sec
|
||||
display_name = "security beret"
|
||||
display_name = "Beret, security"
|
||||
path = /obj/item/clothing/head/beret/sec
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer")
|
||||
|
||||
/datum/gear/hat/beret_job/sci
|
||||
display_name = "science beret"
|
||||
display_name = "Beret, science"
|
||||
path = /obj/item/clothing/head/beret/sci
|
||||
allowed_roles = list("Research Director", "Scientist")
|
||||
|
||||
/datum/gear/hat/beret_job/med
|
||||
display_name = "medical beret"
|
||||
display_name = "Beret, medical"
|
||||
path = /obj/item/clothing/head/beret/med
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor" , "Virologist", "Brig Physician" , "Coroner")
|
||||
|
||||
/datum/gear/hat/beret_job/eng
|
||||
display_name = "engineering beret"
|
||||
display_name = "Beret, engineering"
|
||||
path = /obj/item/clothing/head/beret/eng
|
||||
allowed_roles = list("Chief Engineer", "Station Engineer")
|
||||
|
||||
/datum/gear/hat/beret_job/atmos
|
||||
display_name = "atmospherics beret"
|
||||
display_name = "Beret, atmospherics"
|
||||
path = /obj/item/clothing/head/beret/atmos
|
||||
allowed_roles = list("Chief Engineer", "Life Support Specialist")
|
||||
|
||||
/datum/gear/hat/surgicalcap_purple
|
||||
display_name = "surgical cap, purple"
|
||||
display_name = "Surgical cap, purple"
|
||||
path = /obj/item/clothing/head/surgery/purple
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/hat/surgicalcap_green
|
||||
display_name = "surgical cap, green"
|
||||
display_name = "Surgical cap, green"
|
||||
path = /obj/item/clothing/head/surgery/green
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/hat/flowerpin
|
||||
display_name = "hair flower"
|
||||
display_name = "Hair flower"
|
||||
path = /obj/item/clothing/head/hairflower
|
||||
|
||||
/datum/gear/hat/capsolgov
|
||||
display_name = "cap, Sol Gov"
|
||||
display_name = "Cap, Sol Gov"
|
||||
path = /obj/item/clothing/head/soft/solgov
|
||||
|
||||
@@ -1,47 +1,60 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/racial
|
||||
sort_category = "Racial"
|
||||
subtype_path = /datum/gear/racial
|
||||
main_typepath = /datum/gear/racial
|
||||
cost = 1
|
||||
|
||||
/datum/gear/racial/taj
|
||||
display_name = "embroidered veil"
|
||||
display_name = "Embroidered veil"
|
||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races."
|
||||
path = /obj/item/clothing/glasses/tajblind
|
||||
slot = slot_glasses
|
||||
|
||||
/datum/gear/racial/taj/sec
|
||||
display_name = "sleek veil"
|
||||
display_name = "Sleek veil"
|
||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built security HUD."
|
||||
path = /obj/item/clothing/glasses/hud/security/tajblind
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer", "Internal Affairs Agent", "Magistrate")
|
||||
cost = 2
|
||||
|
||||
/datum/gear/racial/taj/med
|
||||
display_name = "lightweight veil"
|
||||
display_name = "Lightweight veil"
|
||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. This one has an in-built medical HUD."
|
||||
path = /obj/item/clothing/glasses/hud/health/tajblind
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Brig Physician" , "Coroner")
|
||||
cost = 2
|
||||
|
||||
/datum/gear/racial/taj/sci
|
||||
display_name = "hi-tech veil"
|
||||
display_name = "Hi-tech veil"
|
||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races."
|
||||
path = /obj/item/clothing/glasses/tajblind/sci
|
||||
cost = 2
|
||||
|
||||
/datum/gear/racial/taj/eng
|
||||
display_name = "industrial veil"
|
||||
display_name = "Industrial veil"
|
||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races."
|
||||
path = /obj/item/clothing/glasses/tajblind/eng
|
||||
cost = 2
|
||||
|
||||
/datum/gear/racial/taj/cargo
|
||||
display_name = "khaki veil"
|
||||
display_name = "Khaki veil"
|
||||
description = "A common traditional nano-fiber veil worn by many Tajaran, It is rare and offensive to see it on other races. It is light and comfy!"
|
||||
path = /obj/item/clothing/glasses/tajblind/cargo
|
||||
cost = 2
|
||||
|
||||
/datum/gear/racial/footwraps
|
||||
display_name = "cloth footwraps"
|
||||
display_name = "Cloth footwraps"
|
||||
path = /obj/item/clothing/shoes/footwraps
|
||||
slot = slot_shoes
|
||||
|
||||
@@ -1,54 +1,67 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/shoes
|
||||
subtype_path = /datum/gear/shoes
|
||||
main_typepath = /datum/gear/shoes
|
||||
slot = slot_shoes
|
||||
sort_category = "Shoes"
|
||||
|
||||
/datum/gear/shoes/sandals
|
||||
display_name = "sandals, wooden"
|
||||
display_name = "Sandals, wooden"
|
||||
path = /obj/item/clothing/shoes/sandal
|
||||
|
||||
/datum/gear/shoes/winterboots
|
||||
display_name = "winter boots"
|
||||
display_name = "Winter boots"
|
||||
path = /obj/item/clothing/shoes/winterboots
|
||||
|
||||
/datum/gear/shoes/workboots
|
||||
display_name = "work boots"
|
||||
display_name = "Work boots"
|
||||
path = /obj/item/clothing/shoes/workboots
|
||||
|
||||
/datum/gear/shoes/fancysandals
|
||||
display_name = "sandals, fancy"
|
||||
display_name = "Sandals, fancy"
|
||||
path = /obj/item/clothing/shoes/sandal/fancy
|
||||
|
||||
/datum/gear/shoes/dressshoes
|
||||
display_name = "dress shoes"
|
||||
display_name = "Dress shoes"
|
||||
path = /obj/item/clothing/shoes/centcom
|
||||
|
||||
/datum/gear/shoes/cowboyboots
|
||||
display_name = "cowboy boots, brown"
|
||||
display_name = "Cowboy boots, brown"
|
||||
path = /obj/item/clothing/shoes/cowboy
|
||||
|
||||
/datum/gear/shoes/cowboyboots_black
|
||||
display_name = "cowboy boots, black"
|
||||
display_name = "Cowboy boots, black"
|
||||
path = /obj/item/clothing/shoes/cowboy/black
|
||||
|
||||
/datum/gear/shoes/cowboyboots/white
|
||||
display_name = "cowboy boots, white"
|
||||
display_name = "Cowboy boots, white"
|
||||
path = /obj/item/clothing/shoes/cowboy/white
|
||||
|
||||
/datum/gear/shoes/cowboyboots/pink
|
||||
display_name = "cowboy boots, pink"
|
||||
display_name = "Cowboy boots, pink"
|
||||
path = /obj/item/clothing/shoes/cowboy/pink
|
||||
|
||||
/datum/gear/shoes/jackboots
|
||||
display_name = "jackboots"
|
||||
display_name = "Jackboots"
|
||||
path = /obj/item/clothing/shoes/jackboots
|
||||
|
||||
/datum/gear/shoes/jacksandals
|
||||
display_name = "jacksandals"
|
||||
display_name = "Jacksandals"
|
||||
path = /obj/item/clothing/shoes/jackboots/jacksandals
|
||||
|
||||
/datum/gear/shoes/laceup
|
||||
display_name = "laceup shoes"
|
||||
display_name = "Laceup shoes"
|
||||
path = /obj/item/clothing/shoes/laceup
|
||||
|
||||
/datum/gear/shoes/blackshoes
|
||||
|
||||
@@ -1,115 +1,128 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
/datum/gear/suit
|
||||
subtype_path = /datum/gear/suit
|
||||
main_typepath = /datum/gear/suit
|
||||
slot = slot_wear_suit
|
||||
sort_category = "External Wear"
|
||||
|
||||
//WINTER COATS
|
||||
/datum/gear/suit/coat
|
||||
subtype_path = /datum/gear/suit/coat
|
||||
main_typepath = /datum/gear/suit/coat
|
||||
|
||||
/datum/gear/suit/coat/grey
|
||||
display_name = "winter coat"
|
||||
display_name = "Winter coat"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat
|
||||
|
||||
/datum/gear/suit/coat/job
|
||||
subtype_path = /datum/gear/suit/coat/job
|
||||
subtype_cost_overlap = FALSE
|
||||
main_typepath = /datum/gear/suit/coat/job
|
||||
subtype_selection_cost = FALSE
|
||||
|
||||
/datum/gear/suit/coat/job/sec
|
||||
display_name = "winter coat, security"
|
||||
display_name = "Winter coat, security"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/security
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/suit/coat/job/captain
|
||||
display_name = "winter coat, captain"
|
||||
display_name = "Winter coat, captain"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/captain
|
||||
allowed_roles = list("Captain")
|
||||
|
||||
/datum/gear/suit/coat/job/med
|
||||
display_name = "winter coat, medical"
|
||||
display_name = "Winter coat, medical"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/medical
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor", "Chemist", "Psychiatrist", "Paramedic", "Virologist", "Brig Physician" , "Coroner")
|
||||
|
||||
/datum/gear/suit/coat/job/sci
|
||||
display_name = "winter coat, science"
|
||||
display_name = "Winter coat, science"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/science
|
||||
allowed_roles = list("Scientist", "Research Director")
|
||||
|
||||
/datum/gear/suit/coat/job/engi
|
||||
display_name = "winter coat, engineering"
|
||||
display_name = "Winter coat, engineering"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/engineering
|
||||
allowed_roles = list("Chief Engineer", "Station Engineer")
|
||||
|
||||
/datum/gear/suit/coat/job/atmos
|
||||
display_name = "winter coat, atmospherics"
|
||||
display_name = "Winter coat, atmospherics"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos
|
||||
allowed_roles = list("Chief Engineer", "Life Support Specialist")
|
||||
|
||||
/datum/gear/suit/coat/job/hydro
|
||||
display_name = "winter coat, hydroponics"
|
||||
display_name = "Winter coat, hydroponics"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/hydro
|
||||
allowed_roles = list("Botanist")
|
||||
|
||||
/datum/gear/suit/coat/job/cargo
|
||||
display_name = "winter coat, cargo"
|
||||
display_name = "Winter coat, cargo"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/cargo
|
||||
allowed_roles = list("Quartermaster", "Cargo Technician")
|
||||
|
||||
/datum/gear/suit/coat/job/miner
|
||||
display_name = "winter coat, miner"
|
||||
display_name = "Winter coat, mining"
|
||||
path = /obj/item/clothing/suit/hooded/wintercoat/miner
|
||||
allowed_roles = list("Shaft Miner")
|
||||
|
||||
//LABCOATS
|
||||
/datum/gear/suit/labcoat_emt
|
||||
display_name = "labcoat, paramedic"
|
||||
display_name = "Labcoat, paramedic"
|
||||
path = /obj/item/clothing/suit/storage/labcoat/emt
|
||||
allowed_roles = list("Chief Medical Officer", "Paramedic")
|
||||
|
||||
//JACKETS
|
||||
/datum/gear/suit/leather_jacket
|
||||
display_name = "leather jacket"
|
||||
display_name = "Leather jacket"
|
||||
path = /obj/item/clothing/suit/jacket/leather
|
||||
|
||||
/datum/gear/suit/motojacket
|
||||
display_name = "leather motorcycle jacket"
|
||||
display_name = "Leather motorcycle jacket"
|
||||
path = /obj/item/clothing/suit/jacket/motojacket
|
||||
|
||||
/datum/gear/suit/br_tcoat
|
||||
display_name = "trenchcoat, brown"
|
||||
display_name = "Trenchcoat, brown"
|
||||
path = /obj/item/clothing/suit/browntrenchcoat
|
||||
|
||||
/datum/gear/suit/bl_tcoat
|
||||
display_name = "trenchcoat, black"
|
||||
display_name = "Trenchcoat, black"
|
||||
path = /obj/item/clothing/suit/blacktrenchcoat
|
||||
|
||||
/datum/gear/suit/bomber_jacket
|
||||
display_name = "bomber jacket"
|
||||
display_name = "Bomber jacket"
|
||||
path = /obj/item/clothing/suit/jacket
|
||||
|
||||
/datum/gear/suit/ol_miljacket
|
||||
display_name = "military jacket, olive"
|
||||
display_name = "Military jacket, olive"
|
||||
path = /obj/item/clothing/suit/jacket/miljacket
|
||||
|
||||
/datum/gear/suit/nv_miljacket
|
||||
display_name = "military jacket, navy"
|
||||
display_name = "Military jacket, navy"
|
||||
path = /obj/item/clothing/suit/jacket/miljacket/navy
|
||||
|
||||
/datum/gear/suit/ds_miljacket
|
||||
display_name = "military jacket, desert"
|
||||
display_name = "Military jacket, desert"
|
||||
path = /obj/item/clothing/suit/jacket/miljacket/desert
|
||||
|
||||
/datum/gear/suit/wh_miljacket
|
||||
display_name = "military jacket, white"
|
||||
display_name = "Military jacket, white"
|
||||
path = /obj/item/clothing/suit/jacket/miljacket/white
|
||||
|
||||
/datum/gear/suit/secjacket
|
||||
display_name = "security jacket"
|
||||
display_name = "Security jacket"
|
||||
path = /obj/item/clothing/suit/armor/secjacket
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/suit/secbomberjacket
|
||||
display_name = "security bomber jacket"
|
||||
display_name = "Security bomber jacket"
|
||||
path = /obj/item/clothing/suit/jacket/secbomber
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
@@ -118,110 +131,108 @@
|
||||
path = /obj/item/clothing/suit/ianshirt
|
||||
|
||||
/datum/gear/suit/poncho
|
||||
display_name = "poncho, classic"
|
||||
display_name = "Poncho, classic"
|
||||
path = /obj/item/clothing/suit/poncho
|
||||
|
||||
/datum/gear/suit/grponcho
|
||||
display_name = "poncho, green"
|
||||
display_name = "Poncho, green"
|
||||
path = /obj/item/clothing/suit/poncho/green
|
||||
|
||||
/datum/gear/suit/rdponcho
|
||||
display_name = "poncho, red"
|
||||
display_name = "Poncho, red"
|
||||
path = /obj/item/clothing/suit/poncho/red
|
||||
|
||||
/datum/gear/suit/tphoodie
|
||||
display_name = "hoodie, Tharsis Polytech"
|
||||
display_name = "Hoodie, Tharsis Polytech"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie/tp
|
||||
|
||||
/datum/gear/suit/nthoodie
|
||||
display_name = "hoodie, Nanotrasen"
|
||||
display_name = "Hoodie, Nanotrasen"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie/nt
|
||||
|
||||
/datum/gear/suit/lamhoodie
|
||||
display_name = "hoodie, Lunar Academy of Medicine"
|
||||
display_name = "Hoodie, Lunar Academy of Medicine"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie/lam
|
||||
|
||||
/datum/gear/suit/cuthoodie
|
||||
display_name = "hoodie, Canaan University of Technology"
|
||||
display_name = "Hoodie, Canaan University of Technology"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie/cut
|
||||
|
||||
/datum/gear/suit/mithoodie
|
||||
display_name = "hoodie, Martian Institute of Technology"
|
||||
display_name = "Hoodie, Martian Institute of Technology"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie/mit
|
||||
|
||||
/datum/gear/suit/bluehoodie
|
||||
display_name = "hoodie, blue"
|
||||
display_name = "Hoodie, blue"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie/blue
|
||||
|
||||
/datum/gear/suit/blackhoodie
|
||||
display_name = "hoodie, black"
|
||||
display_name = "Hoodie, black"
|
||||
path = /obj/item/clothing/suit/hooded/hoodie
|
||||
|
||||
//SUITS!
|
||||
|
||||
/datum/gear/suit/blacksuit
|
||||
display_name = "suit jacket, black"
|
||||
display_name = "Suit jacket, black"
|
||||
path = /obj/item/clothing/suit/storage/lawyer/blackjacket
|
||||
|
||||
/datum/gear/suit/bluesuit
|
||||
display_name = "suit jacket, blue"
|
||||
display_name = "Suit jacket, blue"
|
||||
path = /obj/item/clothing/suit/storage/lawyer/bluejacket
|
||||
|
||||
/datum/gear/suit/purplesuit
|
||||
display_name = "suit jacket, purple"
|
||||
display_name = "Suit jacket, purple"
|
||||
path = /obj/item/clothing/suit/storage/lawyer/purpjacket
|
||||
|
||||
//Mantles!
|
||||
/datum/gear/suit/mantle
|
||||
display_name = "mantle"
|
||||
display_name = "Mantle"
|
||||
path = /obj/item/clothing/suit/mantle
|
||||
|
||||
/datum/gear/suit/old_scarf
|
||||
display_name = "old scarf"
|
||||
display_name = "Old scarf"
|
||||
path = /obj/item/clothing/suit/mantle/old
|
||||
|
||||
/datum/gear/suit/regal_shawl
|
||||
display_name = "regal shawl"
|
||||
display_name = "Regal shawl"
|
||||
path = /obj/item/clothing/suit/mantle/regal
|
||||
|
||||
/datum/gear/suit/mantle/job
|
||||
subtype_path = /datum/gear/suit/mantle/job
|
||||
subtype_cost_overlap = FALSE
|
||||
main_typepath = /datum/gear/suit/mantle/job
|
||||
subtype_selection_cost = FALSE
|
||||
|
||||
/datum/gear/suit/mantle/job/captain
|
||||
display_name = "mantle, captain"
|
||||
display_name = "Mantle, captain"
|
||||
path = /obj/item/clothing/suit/mantle/armor/captain
|
||||
allowed_roles = list("Captain")
|
||||
|
||||
/datum/gear/suit/mantle/job/ce
|
||||
display_name = "mantle, chief engineer"
|
||||
display_name = "Mantle, chief engineer"
|
||||
path = /obj/item/clothing/suit/mantle/chief_engineer
|
||||
allowed_roles = list("Chief Engineer")
|
||||
|
||||
/datum/gear/suit/mantle/job/cmo
|
||||
display_name = "mantle, chief medical officer"
|
||||
display_name = "Mantle, chief medical officer"
|
||||
path = /obj/item/clothing/suit/mantle/labcoat/chief_medical_officer
|
||||
allowed_roles = list("Chief Medical Officer")
|
||||
|
||||
/datum/gear/suit/mantle/job/hos
|
||||
display_name = "mantle, head of security"
|
||||
display_name = "Mantle, head of security"
|
||||
path = /obj/item/clothing/suit/mantle/armor
|
||||
allowed_roles = list("Head of Security")
|
||||
|
||||
/datum/gear/suit/mantle/job/hop
|
||||
display_name = "mantle, head of personnel"
|
||||
display_name = "Mantle, head of personnel"
|
||||
path = /obj/item/clothing/suit/mantle/armor/head_of_personnel
|
||||
allowed_roles = list("Head of Personnel")
|
||||
|
||||
/datum/gear/suit/mantle/job/rd
|
||||
display_name = "mantle, research director"
|
||||
display_name = "Mantle, research director"
|
||||
path = /obj/item/clothing/suit/mantle/labcoat
|
||||
allowed_roles = list("Research Director")
|
||||
|
||||
//Robes!
|
||||
|
||||
/datum/gear/suit/witch
|
||||
display_name = "witch robes"
|
||||
display_name = "Witch robes"
|
||||
path = /obj/item/clothing/suit/wizrobe/marisa/fake
|
||||
|
||||
|
||||
|
||||
@@ -1,96 +1,105 @@
|
||||
/*
|
||||
######################################################################################
|
||||
## ##
|
||||
## IMPORTANT README ##
|
||||
## ##
|
||||
## Changing any /datum/gear typepaths --WILL-- break people's loadouts. ##
|
||||
## The typepaths are stored directly in the `characters.gear` column of the DB. ##
|
||||
## Please inform the server host if you wish to modify any of these. ##
|
||||
## ##
|
||||
######################################################################################
|
||||
*/
|
||||
|
||||
|
||||
// Uniform slot
|
||||
/datum/gear/uniform
|
||||
subtype_path = /datum/gear/uniform
|
||||
main_typepath = /datum/gear/uniform
|
||||
slot = slot_w_uniform
|
||||
sort_category = "Uniforms and Casual Dress"
|
||||
|
||||
/datum/gear/uniform/suit
|
||||
subtype_path = /datum/gear/uniform/suit
|
||||
main_typepath = /datum/gear/uniform/suit
|
||||
|
||||
//there's a lot more colors than I thought there were @_@
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitblack
|
||||
display_name = "jumpsuit, black"
|
||||
display_name = "Jumpsuit, black"
|
||||
path = /obj/item/clothing/under/color/black
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitblue
|
||||
display_name = "jumpsuit, blue"
|
||||
display_name = "Jumpsuit, blue"
|
||||
path = /obj/item/clothing/under/color/blue
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitgreen
|
||||
display_name = "jumpsuit, green"
|
||||
display_name = "Jumpsuit, green"
|
||||
path = /obj/item/clothing/under/color/green
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitgrey
|
||||
display_name = "jumpsuit, grey"
|
||||
display_name = "Jumpsuit, grey"
|
||||
path = /obj/item/clothing/under/color/grey
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitorange
|
||||
display_name = "jumpsuit, orange"
|
||||
display_name = "Jumpsuit, orange"
|
||||
path = /obj/item/clothing/under/color/orange
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitpink
|
||||
display_name = "jumpsuit, pink"
|
||||
display_name = "Jumpsuit, pink"
|
||||
path = /obj/item/clothing/under/color/pink
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitred
|
||||
display_name = "jumpsuit, red"
|
||||
display_name = "Jumpsuit, red"
|
||||
path = /obj/item/clothing/under/color/red
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitwhite
|
||||
display_name = "jumpsuit, white"
|
||||
display_name = "Jumpsuit, white"
|
||||
path = /obj/item/clothing/under/color/white
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuityellow
|
||||
display_name = "jumpsuit, yellow"
|
||||
display_name = "Jumpsuit, yellow"
|
||||
path = /obj/item/clothing/under/color/yellow
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitlightblue
|
||||
display_name = "jumpsuit, lightblue"
|
||||
display_name = "Jumpsuit, lightblue"
|
||||
path = /obj/item/clothing/under/color/lightblue
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitaqua
|
||||
display_name = "jumpsuit, aqua"
|
||||
display_name = "Jumpsuit, aqua"
|
||||
path = /obj/item/clothing/under/color/aqua
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitpurple
|
||||
display_name = "jumpsuit, purple"
|
||||
display_name = "Jumpsuit, purple"
|
||||
path = /obj/item/clothing/under/color/purple
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitlightpurple
|
||||
display_name = "jumpsuit, lightpurple"
|
||||
display_name = "Jumpsuit, lightpurple"
|
||||
path = /obj/item/clothing/under/color/lightpurple
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitlightgreen
|
||||
display_name = "jumpsuit, lightgreen"
|
||||
display_name = "Jumpsuit, lightgreen"
|
||||
path = /obj/item/clothing/under/color/lightgreen
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitlightblue
|
||||
display_name = "jumpsuit, lightblue"
|
||||
path = /obj/item/clothing/under/color/lightblue
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitlightbrown
|
||||
display_name = "jumpsuit, lightbrown"
|
||||
display_name = "Jumpsuit, lightbrown"
|
||||
path = /obj/item/clothing/under/color/lightbrown
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitbrown
|
||||
display_name = "jumpsuit, brown"
|
||||
display_name = "Jumpsuit, brown"
|
||||
path = /obj/item/clothing/under/color/brown
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuityellowgreen
|
||||
display_name = "jumpsuit, yellowgreen"
|
||||
display_name = "Jumpsuit, yellowgreen"
|
||||
path = /obj/item/clothing/under/color/yellowgreen
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitdarkblue
|
||||
display_name = "jumpsuit, darkblue"
|
||||
display_name = "Jumpsuit, darkblue"
|
||||
path = /obj/item/clothing/under/color/darkblue
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitlightred
|
||||
display_name = "jumpsuit, lightred"
|
||||
display_name = "Jumpsuit, lightred"
|
||||
path = /obj/item/clothing/under/color/lightred
|
||||
|
||||
/datum/gear/uniform/suit/jumpsuitdarkred
|
||||
display_name = "jumpsuit, darkred"
|
||||
display_name = "Jumpsuit, darkred"
|
||||
path = /obj/item/clothing/under/color/darkred
|
||||
|
||||
/datum/gear/uniform/suit/soviet
|
||||
@@ -98,229 +107,229 @@
|
||||
path = /obj/item/clothing/under/soviet
|
||||
|
||||
/datum/gear/uniform/suit/kilt
|
||||
display_name = "a kilt"
|
||||
display_name = "Kilt"
|
||||
path = /obj/item/clothing/under/kilt
|
||||
|
||||
/datum/gear/uniform/skirt
|
||||
subtype_path = /datum/gear/uniform/skirt
|
||||
main_typepath = /datum/gear/uniform/skirt
|
||||
|
||||
/datum/gear/uniform/skirt/blue
|
||||
display_name = "plaid skirt, blue"
|
||||
display_name = "Plaid skirt, blue"
|
||||
path = /obj/item/clothing/under/dress/plaid_blue
|
||||
|
||||
/datum/gear/uniform/skirt/purple
|
||||
display_name = "plaid skirt, purple"
|
||||
display_name = "Plaid skirt, purple"
|
||||
path = /obj/item/clothing/under/dress/plaid_purple
|
||||
|
||||
/datum/gear/uniform/skirt/red
|
||||
display_name = "plaid skirt, red"
|
||||
display_name = "Plaid skirt, red"
|
||||
path = /obj/item/clothing/under/dress/plaid_red
|
||||
|
||||
/datum/gear/uniform/skirt/black
|
||||
display_name = "skirt, black"
|
||||
display_name = "Skirt, black"
|
||||
path = /obj/item/clothing/under/blackskirt
|
||||
|
||||
/datum/gear/uniform/skirt/job
|
||||
subtype_path = /datum/gear/uniform/skirt/job
|
||||
subtype_cost_overlap = FALSE
|
||||
main_typepath = /datum/gear/uniform/skirt/job
|
||||
subtype_selection_cost = FALSE
|
||||
|
||||
/datum/gear/uniform/skirt/job/ce
|
||||
display_name = "skirt, ce"
|
||||
display_name = "Skirt, ce"
|
||||
path = /obj/item/clothing/under/rank/chief_engineer/skirt
|
||||
allowed_roles = list("Chief Engineer")
|
||||
|
||||
/datum/gear/uniform/skirt/job/atmos
|
||||
display_name = "skirt, atmos"
|
||||
display_name = "Skirt, atmos"
|
||||
path = /obj/item/clothing/under/rank/atmospheric_technician/skirt
|
||||
allowed_roles = list("Chief Engineer","Life Support Specialist")
|
||||
|
||||
/datum/gear/uniform/skirt/job/eng
|
||||
display_name = "skirt, engineer"
|
||||
display_name = "Skirt, engineer"
|
||||
path = /obj/item/clothing/under/rank/engineer/skirt
|
||||
allowed_roles = list("Chief Engineer","Station Engineer")
|
||||
|
||||
/datum/gear/uniform/skirt/job/roboticist
|
||||
display_name = "skirt, roboticist"
|
||||
display_name = "Skirt, roboticist"
|
||||
path = /obj/item/clothing/under/rank/roboticist/skirt
|
||||
allowed_roles = list("Research Director","Roboticist")
|
||||
|
||||
/datum/gear/uniform/skirt/job/cmo
|
||||
display_name = "skirt, cmo"
|
||||
display_name = "Skirt, cmo"
|
||||
path = /obj/item/clothing/under/rank/chief_medical_officer/skirt
|
||||
allowed_roles = list("Chief Medical Officer")
|
||||
|
||||
/datum/gear/uniform/skirt/job/chem
|
||||
display_name = "skirt, chemist"
|
||||
display_name = "Skirt, chemist"
|
||||
path = /obj/item/clothing/under/rank/chemist/skirt
|
||||
allowed_roles = list("Chief Medical Officer","Chemist")
|
||||
|
||||
/datum/gear/uniform/skirt/job/viro
|
||||
display_name = "skirt, virologist"
|
||||
display_name = "Skirt, virologist"
|
||||
path = /obj/item/clothing/under/rank/virologist/skirt
|
||||
allowed_roles = list("Virologist")
|
||||
|
||||
/datum/gear/uniform/skirt/job/med
|
||||
display_name = "skirt, medical"
|
||||
display_name = "Skirt, medical"
|
||||
path = /obj/item/clothing/under/rank/medical/skirt
|
||||
allowed_roles = list("Chief Medical Officer","Medical Doctor","Psychiatrist","Paramedic","Coroner")
|
||||
|
||||
/datum/gear/uniform/skirt/job/phys
|
||||
display_name = "skirt, physician"
|
||||
display_name = "Skirt, physician"
|
||||
path = /obj/item/clothing/under/rank/security/brigphys/skirt
|
||||
allowed_roles = list("Brig Physician")
|
||||
|
||||
/datum/gear/uniform/skirt/job/sci
|
||||
display_name = "skirt, scientist"
|
||||
display_name = "Skirt, scientist"
|
||||
path = /obj/item/clothing/under/rank/scientist/skirt
|
||||
allowed_roles = list("Research Director","Scientist")
|
||||
|
||||
/datum/gear/uniform/skirt/job/cargo
|
||||
display_name = "skirt, cargo"
|
||||
display_name = "Skirt, cargo"
|
||||
path = /obj/item/clothing/under/rank/cargotech/skirt
|
||||
allowed_roles = list("Quartermaster","Cargo Technician")
|
||||
|
||||
/datum/gear/uniform/skirt/job/qm
|
||||
display_name = "skirt, QM"
|
||||
display_name = "Skirt, QM"
|
||||
path = /obj/item/clothing/under/rank/cargo/skirt
|
||||
allowed_roles = list("Quartermaster")
|
||||
|
||||
/datum/gear/uniform/skirt/job/warden
|
||||
display_name = "skirt, warden"
|
||||
display_name = "Skirt, warden"
|
||||
path = /obj/item/clothing/under/rank/warden/skirt
|
||||
allowed_roles = list("Head of Security", "Warden")
|
||||
|
||||
/datum/gear/uniform/skirt/job/security
|
||||
display_name = "skirt, security"
|
||||
display_name = "Skirt, security"
|
||||
path = /obj/item/clothing/under/rank/security/skirt
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/uniform/skirt/job/head_of_security
|
||||
display_name = "skirt, hos"
|
||||
display_name = "Skirt, hos"
|
||||
path = /obj/item/clothing/under/rank/head_of_security/skirt
|
||||
allowed_roles = list("Head of Security")
|
||||
|
||||
/datum/gear/uniform/skirt/job/ntrep
|
||||
display_name = "skirt, nt rep"
|
||||
display_name = "Skirt, nt rep"
|
||||
path = /obj/item/clothing/under/rank/ntrep/skirt
|
||||
allowed_roles = list("Nanotrasen Representative")
|
||||
|
||||
/datum/gear/uniform/skirt/job/blueshield
|
||||
display_name = "skirt, blueshield"
|
||||
display_name = "Skirt, blueshield"
|
||||
path = /obj/item/clothing/under/rank/blueshield/skirt
|
||||
allowed_roles = list("Blueshield")
|
||||
|
||||
|
||||
/datum/gear/uniform/medical
|
||||
subtype_path = /datum/gear/uniform/medical
|
||||
main_typepath = /datum/gear/uniform/medical
|
||||
|
||||
/datum/gear/uniform/medical/pscrubs
|
||||
display_name = "medical scrubs, purple"
|
||||
display_name = "Medical scrubs, purple"
|
||||
path = /obj/item/clothing/under/rank/medical/purple
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/uniform/medical/gscrubs
|
||||
display_name = "medical scrubs, green"
|
||||
display_name = "Medical scrubs, green"
|
||||
path = /obj/item/clothing/under/rank/medical/green
|
||||
allowed_roles = list("Chief Medical Officer", "Medical Doctor")
|
||||
|
||||
/datum/gear/uniform/sec
|
||||
subtype_path = /datum/gear/uniform/sec
|
||||
main_typepath = /datum/gear/uniform/sec
|
||||
|
||||
/datum/gear/uniform/sec/formal
|
||||
display_name = "security uniform, formal"
|
||||
display_name = "Security uniform, formal"
|
||||
path = /obj/item/clothing/under/rank/security/formal
|
||||
allowed_roles = list("Head of Security", "Warden", "Detective", "Security Officer")
|
||||
|
||||
/datum/gear/uniform/sec/secorporate
|
||||
display_name = "security uniform, corporate"
|
||||
display_name = "Security uniform, corporate"
|
||||
path = /obj/item/clothing/under/rank/security/corp
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer")
|
||||
|
||||
/datum/gear/uniform/sec/dispatch
|
||||
display_name = "security uniform, dispatch"
|
||||
display_name = "Security uniform, dispatch"
|
||||
path = /obj/item/clothing/under/rank/dispatch
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer")
|
||||
|
||||
/datum/gear/uniform/sec/casual
|
||||
display_name = "security uniform, casual"
|
||||
display_name = "Security uniform, casual"
|
||||
path = /obj/item/clothing/under/rank/security2
|
||||
allowed_roles = list("Head of Security", "Warden", "Security Officer", "Detective")
|
||||
|
||||
/datum/gear/uniform/shorts
|
||||
subtype_path = /datum/gear/uniform/shorts
|
||||
main_typepath = /datum/gear/uniform/shorts
|
||||
|
||||
/datum/gear/uniform/shorts/red
|
||||
display_name = "shorts, red"
|
||||
display_name = "Shorts, red"
|
||||
path = /obj/item/clothing/under/shorts/red
|
||||
|
||||
/datum/gear/uniform/shorts/green
|
||||
display_name = "shorts, green"
|
||||
display_name = "Shorts, green"
|
||||
path = /obj/item/clothing/under/shorts/green
|
||||
|
||||
/datum/gear/uniform/shorts/blue
|
||||
display_name = "shorts, blue"
|
||||
display_name = "Shorts, blue"
|
||||
path = /obj/item/clothing/under/shorts/blue
|
||||
|
||||
/datum/gear/uniform/shorts/black
|
||||
display_name = "shorts, black"
|
||||
display_name = "Shorts, black"
|
||||
path = /obj/item/clothing/under/shorts/black
|
||||
|
||||
/datum/gear/uniform/shorts/grey
|
||||
display_name = "shorts, grey"
|
||||
display_name = "Shorts, grey"
|
||||
path = /obj/item/clothing/under/shorts/grey
|
||||
|
||||
/datum/gear/uniform/pants
|
||||
subtype_path = /datum/gear/uniform/pants
|
||||
main_typepath = /datum/gear/uniform/pants
|
||||
|
||||
/datum/gear/uniform/pants/jeans
|
||||
display_name = "jeans, classic"
|
||||
display_name = "Jeans, classic"
|
||||
path = /obj/item/clothing/under/pants/classicjeans
|
||||
|
||||
/datum/gear/uniform/pants/mjeans
|
||||
display_name = "jeans, mustang"
|
||||
display_name = "Jeans, mustang"
|
||||
path = /obj/item/clothing/under/pants/mustangjeans
|
||||
|
||||
/datum/gear/uniform/pants/bljeans
|
||||
display_name = "jeans, black"
|
||||
display_name = "Jeans, black"
|
||||
path = /obj/item/clothing/under/pants/blackjeans
|
||||
|
||||
/datum/gear/uniform/pants/yfjeans
|
||||
display_name = "jeans, Young Folks"
|
||||
display_name = "Jeans, Young Folks"
|
||||
path = /obj/item/clothing/under/pants/youngfolksjeans
|
||||
|
||||
/datum/gear/uniform/pants/whitepants
|
||||
display_name = "pants, white"
|
||||
display_name = "Pants, white"
|
||||
path = /obj/item/clothing/under/pants/white
|
||||
|
||||
/datum/gear/uniform/pants/redpants
|
||||
display_name = "pants, red"
|
||||
display_name = "Pants, red"
|
||||
path = /obj/item/clothing/under/pants/red
|
||||
|
||||
/datum/gear/uniform/pants/blackpants
|
||||
display_name = "pants, black"
|
||||
display_name = "Pants, black"
|
||||
path = /obj/item/clothing/under/pants/black
|
||||
|
||||
/datum/gear/uniform/pants/tanpants
|
||||
display_name = "pants, tan"
|
||||
display_name = "Pants, tan"
|
||||
path = /obj/item/clothing/under/pants/tan
|
||||
|
||||
/datum/gear/uniform/pants/bluepants
|
||||
display_name = "pants, blue"
|
||||
display_name = "Pants, blue"
|
||||
path = /obj/item/clothing/under/pants/blue
|
||||
|
||||
/datum/gear/uniform/pants/trackpants
|
||||
display_name = "trackpants"
|
||||
display_name = "Trackpants"
|
||||
path = /obj/item/clothing/under/pants/track
|
||||
|
||||
/datum/gear/uniform/pants/khakipants
|
||||
display_name = "pants, khaki"
|
||||
display_name = "Pants, khaki"
|
||||
path = /obj/item/clothing/under/pants/khaki
|
||||
|
||||
/datum/gear/uniform/pants/caopants
|
||||
display_name = "pants, camo"
|
||||
display_name = "Pants, camo"
|
||||
path = /obj/item/clothing/under/pants/camo
|
||||
|
||||
/datum/gear/uniform/suit/tacticool
|
||||
display_name = "tacticool turtleneck"
|
||||
display_name = "Tacticool turtleneck"
|
||||
description = "A sleek black turtleneck paired with some khakis (WARNING DOES NOT HAVE SUIT SENSORS)"
|
||||
path = /obj/item/clothing/under/syndicate/tacticool
|
||||
|
||||
@@ -413,19 +413,9 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
|
||||
dat += "</td></tr></table>"
|
||||
|
||||
if(TAB_GEAR)
|
||||
var/total_cost = 0
|
||||
var/list/type_blacklist = list()
|
||||
if(length(active_character.loadout_gear))
|
||||
for(var/i in 1 to length(active_character.loadout_gear))
|
||||
var/datum/gear/G = GLOB.gear_datums[active_character.loadout_gear[i]]
|
||||
if(G)
|
||||
if(!G.subtype_cost_overlap)
|
||||
if(G.subtype_path in type_blacklist)
|
||||
continue
|
||||
type_blacklist += G.subtype_path
|
||||
total_cost += G.cost
|
||||
var/total_cost = build_loadout()
|
||||
|
||||
var/fcolor = "#3366CC"
|
||||
var/fcolor = "#3366CC"
|
||||
if(total_cost < max_gear_slots)
|
||||
fcolor = "#E67300"
|
||||
dat += "<table align='center' width='100%'>"
|
||||
@@ -450,11 +440,11 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
|
||||
dat += "<tr><td colspan=4><hr></td></tr>"
|
||||
for(var/gear_name in LC.gear)
|
||||
var/datum/gear/G = LC.gear[gear_name]
|
||||
var/ticked = (G.display_name in active_character.loadout_gear)
|
||||
var/ticked = (G.type in active_character.loadout_gear)
|
||||
if(G.donator_tier > user.client.donator_level)
|
||||
dat += "<tr style='vertical-align:top;'><td width=15%><B>[G.display_name]</B></td>"
|
||||
else
|
||||
dat += "<tr style='vertical-align:top;'><td width=15%><a style='white-space:normal;' [ticked ? "class='linkOn' " : ""]href='?_src_=prefs;preference=gear;toggle_gear=[G.display_name]'>[G.display_name]</a></td>"
|
||||
dat += "<tr style='vertical-align:top;'><td width=15%><a style='white-space:normal;' [ticked ? "class='linkOn' " : ""]href='?_src_=prefs;preference=gear;toggle_gear=[G.type]'>[G.display_name]</a></td>"
|
||||
dat += "<td width = 5% style='vertical-align:top'>[G.cost]</td><td>"
|
||||
if(G.allowed_roles)
|
||||
dat += "<font size=2>Restrictions: "
|
||||
@@ -465,7 +455,7 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
|
||||
if(ticked)
|
||||
. += "<tr><td colspan=4>"
|
||||
for(var/datum/gear_tweak/tweak in G.gear_tweaks)
|
||||
. += " <a href='?_src_=prefs;preference=gear;gear=[G.display_name];tweak=\ref[tweak]'>[tweak.get_contents(active_character.get_tweak_metadata(G, tweak))]</a>"
|
||||
. += " <a href='?_src_=prefs;preference=gear;gear=[G.type];tweak=\ref[tweak]'>[tweak.get_contents(active_character.get_tweak_metadata(G, tweak))]</a>"
|
||||
. += "</td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
@@ -562,3 +552,39 @@ GLOBAL_LIST_INIT(special_role_times, list( //minimum age (in days) for accounts
|
||||
|
||||
active_character.SetChoices(user)
|
||||
return 1
|
||||
|
||||
/**
|
||||
* Rebuilds the `loadout_gear` list of the [active_character], and returns the total end cost.
|
||||
*
|
||||
* Caches and cuts the existing [/datum/character_save/var/loadout_gear] list and remakes it, checking the `subtype_selection_cost` and overall cost validity of each item.
|
||||
*
|
||||
* If the item's [/datum/gear/var/subtype_selection_cost] is `FALSE`, any future items with the same [/datum/gear/var/main_typepath] will have their cost skipped.
|
||||
* If adding the item will take the total cost over the maximum, it won't be added to the list.
|
||||
*
|
||||
* Arguments:
|
||||
* * new_item - A new [/datum/gear] item to be added to the `loadout_gear` list.
|
||||
*/
|
||||
/datum/preferences/proc/build_loadout(datum/gear/new_item)
|
||||
var/total_cost = 0
|
||||
var/list/type_blacklist = list()
|
||||
var/list/loadout_cache = active_character.loadout_gear.Copy()
|
||||
active_character.loadout_gear.Cut()
|
||||
if(new_item)
|
||||
loadout_cache += new_item.type
|
||||
|
||||
for(var/I in loadout_cache)
|
||||
var/datum/gear/G = GLOB.gear_datums[text2path(I) || I]
|
||||
if(!G)
|
||||
continue
|
||||
var/added_cost = G.cost
|
||||
if(!G.subtype_selection_cost) // If listings of the same subtype shouldn't have their cost added.
|
||||
if(G.main_typepath in type_blacklist)
|
||||
added_cost = 0
|
||||
else
|
||||
type_blacklist += G.main_typepath
|
||||
|
||||
if((total_cost + added_cost) > max_gear_slots)
|
||||
continue // If the final cost is too high, don't add the item.
|
||||
active_character.loadout_gear += G.type
|
||||
total_cost += added_cost
|
||||
return total_cost
|
||||
|
||||
Reference in New Issue
Block a user