Merge pull request #7603 from Greenjoe12345/customloadout

adds the ability to give loadout items a custom name/description
This commit is contained in:
Atermonera
2020-09-04 19:31:04 -07:00
committed by VirgoBot
parent 807d89d9e9
commit f612958f0c
12 changed files with 118 additions and 48 deletions

View File

@@ -615,7 +615,7 @@
jobs += "</tr></table>"
//Other races (Blue) ... And also graffiti.
var/list/misc_roles = list("Dionaea", "Graffiti")
var/list/misc_roles = list("Dionaea", "Graffiti", "Custom loadout")
jobs += "<tr bgcolor='ccccff'><th colspan='[LAZYLEN(misc_roles)]'>Other Roles</th></tr><tr align='center'>"
for(var/entry in misc_roles)
if(jobban_isbanned(M, entry))

View File

@@ -141,6 +141,74 @@
. = valid_reagents[metadata]
I.reagents.add_reagent(., I.reagents.get_free_space())
//Custom name and desciption code
//note to devs downstream: where 'gear_tweaks = list(gear_tweak_free_color_choice)' was used before for color selection
//in the loadout, now 'gear_tweaks += gear_tweak_free_color_choice' will need to be used, otherwise the item will not
// be able to be given a custom name or description
/*
Custom Name
*/
var/datum/gear_tweak/custom_name/gear_tweak_free_name = new()
/datum/gear_tweak/custom_name
var/list/valid_custom_names
/datum/gear_tweak/custom_name/New(var/list/valid_custom_names)
src.valid_custom_names = valid_custom_names
..()
/datum/gear_tweak/custom_name/get_contents(var/metadata)
return "Name: [metadata]"
/datum/gear_tweak/custom_name/get_default()
return ""
/datum/gear_tweak/custom_name/get_metadata(var/user, var/metadata)
if(jobban_isbanned(user, "Custom loadout"))
to_chat(user, SPAN_WARNING("You are banned from using custom loadout names/descriptions."))
return
if(valid_custom_names)
return input(user, "Choose an item name.", "Character Preference", metadata) as null|anything in valid_custom_names
return sanitize(input(user, "Choose the item's name. Leave it blank to use the default name.", "Item Name", metadata) as text|null, MAX_LNAME_LEN, extra = 0)
/datum/gear_tweak/custom_name/tweak_item(var/obj/item/I, var/metadata)
if(!metadata)
return I.name
I.name = metadata
/*
Custom Description
*/
var/datum/gear_tweak/custom_desc/gear_tweak_free_desc = new()
/datum/gear_tweak/custom_desc
var/list/valid_custom_desc
/datum/gear_tweak/custom_desc/New(var/list/valid_custom_desc)
src.valid_custom_desc = valid_custom_desc
..()
/datum/gear_tweak/custom_desc/get_contents(var/metadata)
return "Description: [metadata]"
/datum/gear_tweak/custom_desc/get_default()
return ""
/datum/gear_tweak/custom_desc/get_metadata(var/user, var/metadata)
if(jobban_isbanned(user, "Custom loadout"))
to_chat(user, SPAN_WARNING("You are banned from using custom loadout names/descriptions."))
return
if(valid_custom_desc)
return input(user, "Choose an item description.", "Character Preference", metadata) as null|anything in valid_custom_desc
return sanitize(input(user, "Choose the item's description. Leave it blank to use the default description.", "Item Description", metadata) as message|null, extra = 0)
/datum/gear_tweak/custom_desc/tweak_item(var/obj/item/I, var/metadata)
if(!metadata)
return I.desc
I.desc = metadata
//end of custom description
/datum/gear_tweak/tablet
var/list/ValidProcessors = list(/obj/item/weapon/computer_hardware/processor_unit/small)

View File

@@ -261,6 +261,7 @@ var/list/gear_datums = list()
if(!description)
var/obj/O = path
description = initial(O.desc)
gear_tweaks = list(gear_tweak_free_name, gear_tweak_free_desc)
/datum/gear_data
var/path

View File

@@ -24,7 +24,7 @@
/datum/gear/accessory/armband/colored/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/wallet
display_name = "wallet, orange"
@@ -43,7 +43,7 @@
/datum/gear/accessory/wallet/womens/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/clutch
display_name = "clutch bag"
@@ -52,7 +52,7 @@
/datum/gear/accessory/clutch/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/purse
display_name = "purse"
@@ -61,7 +61,7 @@
/datum/gear/accessory/purse/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/wcoat
display_name = "waistcoat selection"
@@ -122,7 +122,7 @@
/datum/gear/accessory/scarfcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/jacket
display_name = "suit jacket selection"
@@ -270,7 +270,7 @@
/datum/gear/accessory/sash/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/asym
display_name = "asymmetric jacket selection"

View File

@@ -126,7 +126,7 @@
/datum/gear/towel/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/cahwhite
display_name = "Cards Against The Galaxy (white deck)"

View File

@@ -62,7 +62,7 @@
/datum/gear/gloves/evening/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/gloves/duty
display_name = "gloves, work"

View File

@@ -119,7 +119,7 @@
/datum/gear/head/cap/white/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/cap/mbill
display_name = "cap, bill"
@@ -155,7 +155,7 @@
/datum/gear/head/hairflower/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/pin
display_name = "pin selection"
@@ -229,7 +229,7 @@
/datum/gear/head/hijab/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/kippa
display_name = "kippa"
@@ -237,7 +237,7 @@
/datum/gear/head/kippa/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/turban
display_name = "turban"
@@ -245,7 +245,7 @@
/datum/gear/head/turban/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/taqiyah
display_name = "taqiyah"
@@ -253,7 +253,7 @@
/datum/gear/head/taqiyah/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/kitty
display_name = "kitty ears"
@@ -269,7 +269,7 @@
/datum/gear/head/beanie/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/loose_beanie
display_name = "loose beanie"
@@ -277,7 +277,7 @@
/datum/gear/head/loose_beanie/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/beretg
display_name = "beret"
@@ -285,7 +285,7 @@
/datum/gear/head/beretg/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/sombrero
display_name = "sombrero"
@@ -297,7 +297,7 @@
/datum/gear/head/flatcapg/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/bow/small
display_name = "hair bow, small (colorable)"
@@ -305,7 +305,7 @@
/datum/gear/head/bow/small/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/head/welding/
display_name = "welding, normal (engineering/robotics)"

View File

@@ -95,7 +95,7 @@
/datum/gear/shoes/flipflops/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/shoes/athletic
display_name = "athletic shoes"
@@ -103,7 +103,7 @@
/datum/gear/shoes/athletic/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/shoes/skater
display_name = "skater shoes"
@@ -111,7 +111,7 @@
/datum/gear/shoes/skater/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/shoes/flats
display_name = "flats"
@@ -119,7 +119,7 @@
/datum/gear/shoes/flats/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/shoes/cowboy
display_name = "cowboy boots"
@@ -157,7 +157,7 @@
/datum/gear/shoes/heels/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/shoes/slippers
display_name = "bunny slippers"

View File

@@ -12,7 +12,7 @@
/datum/gear/suit/apron_white/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/greatcoat
display_name = "greatcoat"
@@ -104,7 +104,7 @@ datum/gear/suit/duster
/datum/gear/suit/duster/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/hazard_vest
display_name = "hazard vest selection"
@@ -290,7 +290,7 @@ datum/gear/suit/duster
/datum/gear/suit/roles/poncho/cloak/custom/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/unathi_robe
display_name = "roughspun robe"
@@ -437,7 +437,7 @@ datum/gear/suit/duster
/datum/gear/suit/miscellaneous/kimono/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/miscellaneous/sec_dep_jacket
display_name = "department jacket, security"
@@ -465,7 +465,7 @@ datum/gear/suit/duster
/datum/gear/suit/miscellaneous/peacoat/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/miscellaneous/kamishimo
display_name = "kamishimo"
@@ -511,4 +511,4 @@ datum/gear/suit/duster
/datum/gear/suit/miscellaneous/cardigan/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice

View File

@@ -351,7 +351,7 @@
/datum/gear/uniform/shortplaindress/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/longdress
display_name = "long dress"
@@ -359,7 +359,7 @@
/datum/gear/uniform/longdress/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/longwidedress
display_name = "long wide dress"
@@ -367,7 +367,7 @@
/datum/gear/uniform/longwidedress/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/reddress
display_name = "red dress with belt"
@@ -456,7 +456,7 @@
/datum/gear/uniform/yogapants/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/black_corset
display_name = "black corset"
@@ -512,7 +512,7 @@
/datum/gear/uniform/pleated/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/lilacdress
display_name = "lilac dress"

View File

@@ -167,7 +167,7 @@
/datum/gear/utility/wheelchair/color/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/utility/umbrella
display_name = "Umbrella"
@@ -176,7 +176,7 @@
/datum/gear/utility/umbrella/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/****************
modular computers

View File

@@ -80,7 +80,7 @@
/datum/gear/ears/skrell/colored/band/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/ears/skrell/colored/chain
display_name = "Colored chain (Skrell)"
@@ -90,7 +90,7 @@
/datum/gear/ears/skrell/colored/chain/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/smock
display_name = "smock selection (Teshari)"
@@ -147,7 +147,7 @@
/datum/gear/shoes/footwraps/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/cohesionsuits
display_name = "cohesion suit selection (Promethean)"
@@ -358,7 +358,7 @@
/datum/gear/uniform/smockcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/uniform/undercoatcolor
display_name = "undercoat, recolorable (Teshari)"
@@ -368,7 +368,7 @@
/datum/gear/uniform/undercoatcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/cloakcolor
display_name = "cloak, recolorable (Teshari)"
@@ -378,7 +378,7 @@
/datum/gear/suit/cloakcolor/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/labcoat_tesh
display_name = "labcoat, colorable (Teshari)"
path = /obj/item/clothing/suit/storage/toggle/labcoat/teshari
@@ -387,7 +387,7 @@
/datum/gear/suit/labcoat_tesh/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/teshcoat
display_name = "small black coat, recolorable stripes (Teshari)"
@@ -397,7 +397,8 @@
/datum/gear/suit/teshcoat/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/suit/teshcoatwhite
display_name = "smallcoat, recolorable (Teshari)"
@@ -407,7 +408,7 @@
/datum/gear/suit/teshcoatwhite/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/accessory/teshneckscarf
display_name = "neckscarf, recolorable (Teshari)"
@@ -417,7 +418,7 @@
/datum/gear/accessory/teshneckscarf/New()
..()
gear_tweaks = list(gear_tweak_free_color_choice)
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/shoes/toelessjack
display_name = "toe-less jackboots"