mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-29 16:18:01 +01:00
Adds sorting to most input() lists (#47117)
* Adds sorting to most input() lists. * Sorted some global lists, added more input sorting * Should now use correct sort everywhere. * compiles * Last fixes.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
return
|
||||
|
||||
if (!istype(borgo, /mob/living/silicon/robot))
|
||||
borgo = input("Select a borg", "Select a borg", null, null) as null|anything in GLOB.silicon_mobs
|
||||
borgo = input("Select a borg", "Select a borg", null, null) as null|anything in sortNames(GLOB.silicon_mobs)
|
||||
if (!istype(borgo, /mob/living/silicon/robot))
|
||||
to_chat(usr, "<span class='warning'>Borg is required for borgpanel</span>")
|
||||
|
||||
|
||||
@@ -6,6 +6,6 @@
|
||||
if(!SSticker)
|
||||
return
|
||||
|
||||
var/datum/cinematic/choice = input(src,"Cinematic","Choose",null) as anything in subtypesof(/datum/cinematic)
|
||||
var/datum/cinematic/choice = input(src,"Cinematic","Choose",null) as anything in sortList(subtypesof(/datum/cinematic), /proc/cmp_typepaths_asc)
|
||||
if(choice)
|
||||
Cinematic(initial(choice.id),world,null)
|
||||
|
||||
@@ -96,7 +96,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
for(var/mob/C in GLOB.mob_list)
|
||||
if(C.key)
|
||||
available.Add(C)
|
||||
var/mob/choice = input("Choose a player to play the pAI", "Spawn pAI") in available
|
||||
var/mob/choice = input("Choose a player to play the pAI", "Spawn pAI") in sortNames(available)
|
||||
if(!choice)
|
||||
return 0
|
||||
if(!isobserver(choice))
|
||||
@@ -162,7 +162,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
if(matches.len==0)
|
||||
return
|
||||
var/hsbitem = input(usr, "Choose an object to delete.", "Delete:") as null|anything in matches
|
||||
var/hsbitem = input(usr, "Choose an object to delete.", "Delete:") as null|anything in sortList(matches)
|
||||
if(hsbitem)
|
||||
hsbitem = matches[hsbitem]
|
||||
var/counter = 0
|
||||
@@ -494,14 +494,17 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
message_admins("<span class='adminnotice'>[key_name_admin(usr)] changed the equipment of [ADMIN_LOOKUPFLW(H)] to [dresscode].</span>")
|
||||
|
||||
/client/proc/robust_dress_shop()
|
||||
var/list/outfits = list("Naked","Custom","As Job...", "As Plasmaman...")
|
||||
|
||||
var/list/baseoutfits = list("Naked","Custom","As Job...", "As Plasmaman...")
|
||||
var/list/outfits = list()
|
||||
var/list/paths = subtypesof(/datum/outfit) - typesof(/datum/outfit/job) - typesof(/datum/outfit/plasmaman)
|
||||
|
||||
for(var/path in paths)
|
||||
var/datum/outfit/O = path //not much to initalize here but whatever
|
||||
if(initial(O.can_be_admin_equipped))
|
||||
outfits[initial(O.name)] = path
|
||||
|
||||
var/dresscode = input("Select outfit", "Robust quick dress shop") as null|anything in outfits
|
||||
var/dresscode = input("Select outfit", "Robust quick dress shop") as null|anything in baseoutfits + sortList(outfits)
|
||||
if (isnull(dresscode))
|
||||
return
|
||||
|
||||
@@ -516,7 +519,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
if(initial(O.can_be_admin_equipped))
|
||||
job_outfits[initial(O.name)] = path
|
||||
|
||||
dresscode = input("Select job equipment", "Robust quick dress shop") as null|anything in job_outfits
|
||||
dresscode = input("Select job equipment", "Robust quick dress shop") as null|anything in sortList(job_outfits)
|
||||
dresscode = job_outfits[dresscode]
|
||||
if(isnull(dresscode))
|
||||
return
|
||||
@@ -529,7 +532,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
if(initial(O.can_be_admin_equipped))
|
||||
plasmaman_outfits[initial(O.name)] = path
|
||||
|
||||
dresscode = input("Select plasmeme equipment", "Robust quick dress shop") as null|anything in plasmaman_outfits
|
||||
dresscode = input("Select plasmeme equipment", "Robust quick dress shop") as null|anything in sortList(plasmaman_outfits)
|
||||
dresscode = plasmaman_outfits[dresscode]
|
||||
if(isnull(dresscode))
|
||||
return
|
||||
@@ -538,7 +541,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
var/list/custom_names = list()
|
||||
for(var/datum/outfit/D in GLOB.custom_outfits)
|
||||
custom_names[D.name] = D
|
||||
var/selected_name = input("Select outfit", "Robust quick dress shop") as null|anything in custom_names
|
||||
var/selected_name = input("Select outfit", "Robust quick dress shop") as null|anything in sortList(custom_names)
|
||||
dresscode = custom_names[selected_name]
|
||||
if(isnull(dresscode))
|
||||
return
|
||||
@@ -697,7 +700,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
|
||||
names[name] = ruin_landmark
|
||||
|
||||
var/ruinname = input("Select ruin", "Jump to Ruin") as null|anything in names
|
||||
var/ruinname = input("Select ruin", "Jump to Ruin") as null|anything in sortList(names)
|
||||
|
||||
|
||||
var/obj/effect/landmark/ruin/landmark = names[ruinname]
|
||||
@@ -728,7 +731,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
|
||||
for(var/name in SSmapping.lava_ruins_templates)
|
||||
names[name] = list(SSmapping.lava_ruins_templates[name], ZTRAIT_LAVA_RUINS, /area/lavaland/surface/outdoors/unexplored)
|
||||
|
||||
var/ruinname = input("Select ruin", "Spawn Ruin") as null|anything in names
|
||||
var/ruinname = input("Select ruin", "Spawn Ruin") as null|anything in sortList(names)
|
||||
var/data = names[ruinname]
|
||||
if (!data)
|
||||
return
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
var/datum/map_template/template
|
||||
|
||||
var/map = input(src, "Choose a Map Template to place at your CURRENT LOCATION","Place Map Template") as null|anything in SSmapping.map_templates
|
||||
var/map = input(src, "Choose a Map Template to place at your CURRENT LOCATION","Place Map Template") as null|anything in sortList(SSmapping.map_templates)
|
||||
if(!map)
|
||||
return
|
||||
template = SSmapping.map_templates[map]
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
mapname += "\]"
|
||||
|
||||
maprotatechoices[mapname] = VM
|
||||
var/chosenmap = input("Choose a map to change to", "Change Map") as null|anything in maprotatechoices
|
||||
var/chosenmap = input("Choose a map to change to", "Change Map") as null|anything in sortList(maprotatechoices)
|
||||
if (!chosenmap)
|
||||
return
|
||||
SSticker.maprotatechecked = 1
|
||||
@@ -41,4 +41,4 @@
|
||||
message_admins("[key_name_admin(usr)] is changing the map to [VM.map_name]")
|
||||
log_admin("[key_name(usr)] is changing the map to [VM.map_name]")
|
||||
if (SSmapping.changemap(VM) == 0)
|
||||
message_admins("[key_name_admin(usr)] has changed the map to [VM.map_name]")
|
||||
message_admins("[key_name_admin(usr)] has changed the map to [VM.map_name]")
|
||||
|
||||
@@ -296,7 +296,7 @@
|
||||
continue //we have a live body we are tied to
|
||||
candidates += M.ckey
|
||||
if(candidates.len)
|
||||
ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in candidates
|
||||
ckey = input("Pick the player you want to respawn as a xeno.", "Suitable Candidates") as null|anything in sortKey(candidates)
|
||||
else
|
||||
to_chat(usr, "<span class='danger'>Error: create_xeno(): no suitable candidates.</span>")
|
||||
if(!istext(ckey))
|
||||
@@ -890,7 +890,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if(!holder)
|
||||
return
|
||||
|
||||
var/weather_type = input("Choose a weather", "Weather") as null|anything in subtypesof(/datum/weather)
|
||||
var/weather_type = input("Choose a weather", "Weather") as null|anything in sortList(subtypesof(/datum/weather), /proc/cmp_typepaths_asc)
|
||||
if(!weather_type)
|
||||
return
|
||||
|
||||
@@ -1042,7 +1042,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
var/list/punishment_list = list(ADMIN_PUNISHMENT_LIGHTNING, ADMIN_PUNISHMENT_BRAINDAMAGE, ADMIN_PUNISHMENT_GIB, ADMIN_PUNISHMENT_BSA, ADMIN_PUNISHMENT_FIREBALL, ADMIN_PUNISHMENT_ROD, ADMIN_PUNISHMENT_SUPPLYPOD_QUICK, ADMIN_PUNISHMENT_SUPPLYPOD, ADMIN_PUNISHMENT_MAZING)
|
||||
|
||||
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in punishment_list
|
||||
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in sortList(punishment_list)
|
||||
|
||||
if(QDELETED(target) || !punishment)
|
||||
return
|
||||
@@ -1205,7 +1205,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
var/name = GLOB.trait_name_map[trait] || trait
|
||||
availible_traits[name] = trait
|
||||
|
||||
var/chosen_trait = input("Select trait to modify", "Trait") as null|anything in availible_traits
|
||||
var/chosen_trait = input("Select trait to modify", "Trait") as null|anything in sortList(availible_traits)
|
||||
if(!chosen_trait)
|
||||
return
|
||||
chosen_trait = availible_traits[chosen_trait]
|
||||
@@ -1222,7 +1222,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
if("All")
|
||||
source = null
|
||||
if("Specific")
|
||||
source = input("Source to be removed","Trait Remove/Add") as null|anything in D.status_traits[chosen_trait]
|
||||
source = input("Source to be removed","Trait Remove/Add") as null|anything in sortList(D.status_traits[chosen_trait])
|
||||
if(!source)
|
||||
return
|
||||
REMOVE_TRAIT(D,chosen_trait,source)
|
||||
|
||||
Reference in New Issue
Block a user