There's a bounty for this right? i spent nearly two full days at this

This commit is contained in:
SandPoot
2021-10-05 18:10:32 -03:00
parent 59f33198f1
commit 5aa12b4716
270 changed files with 770 additions and 779 deletions
+9 -9
View File
@@ -985,14 +985,14 @@
. = ..()
if(href_list[VV_HK_ADD_REAGENT] && check_rights(R_VAREDIT))
if(!reagents)
var/amount = input(usr, "Specify the reagent size of [src]", "Set Reagent Size", 50) as num
var/amount = tgui_input_num(usr, "Specify the reagent size of [src]", "Set Reagent Size", 50)
if(amount)
create_reagents(amount)
if(reagents)
var/chosen_id = choose_reagent_id(usr)
if(chosen_id)
var/amount = input(usr, "Choose the amount to add.", "Choose the amount.", reagents.maximum_volume) as num
var/amount = tgui_input_num(usr, "Choose the amount to add.", "Choose the amount.", reagents.maximum_volume)
if(amount)
reagents.add_reagent(chosen_id, amount)
log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to [src]")
@@ -1002,25 +1002,25 @@
if(href_list[VV_HK_TRIGGER_EMP] && check_rights(R_FUN))
usr.client.cmd_admin_emp(src)
if(href_list[VV_HK_MODIFY_TRANSFORM] && check_rights(R_VAREDIT))
var/result = input(usr, "Choose the transformation to apply","Transform Mod") as null|anything in list("Scale","Translate","Rotate")
var/result = tgui_input_list(usr, "Choose the transformation to apply","Transform Mod", list("Scale","Translate","Rotate"))
var/matrix/M = transform
switch(result)
if("Scale")
var/x = input(usr, "Choose x mod","Transform Mod") as null|num
var/y = input(usr, "Choose y mod","Transform Mod") as null|num
var/x = tgui_input_num(usr, "Choose x mod","Transform Mod")
var/y = tgui_input_num(usr, "Choose y mod","Transform Mod")
if(!isnull(x) && !isnull(y))
transform = M.Scale(x,y)
if("Translate")
var/x = input(usr, "Choose x mod","Transform Mod") as null|num
var/y = input(usr, "Choose y mod","Transform Mod") as null|num
var/x = tgui_input_num(usr, "Choose x mod","Transform Mod")
var/y = tgui_input_num(usr, "Choose y mod","Transform Mod")
if(!isnull(x) && !isnull(y))
transform = M.Translate(x,y)
if("Rotate")
var/angle = input(usr, "Choose angle to rotate","Transform Mod") as null|num
var/angle = tgui_input_num(usr, "Choose angle to rotate","Transform Mod")
if(!isnull(angle))
transform = M.Turn(angle)
if(href_list[VV_HK_AUTO_RENAME] && check_rights(R_VAREDIT))
var/newname = input(usr, "What do you want to rename this to?", "Automatic Rename") as null|text
var/newname = tgui_input_text(usr, "What do you want to rename this to?", "Automatic Rename")
if(newname)
vv_auto_rename(newname)
if(href_list[VV_HK_EDIT_FILTERS] && check_rights(R_VAREDIT))
+3 -3
View File
@@ -191,7 +191,7 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null)
else if (href_list["classic_secret"])
GLOB.dynamic_classic_secret = !GLOB.dynamic_classic_secret
else if (href_list["adjustthreat"])
var/threatadd = input("Specify how much threat to add (negative to subtract). This can inflate the threat level.", "Adjust Threat", 0) as null|num
var/threatadd = tgui_input_num(usr, "Specify how much threat to add (negative to subtract). This can inflate the threat level.", "Adjust Threat", 0)
if(!threatadd)
return
create_threat(threatadd)
@@ -206,13 +206,13 @@ GLOBAL_VAR_INIT(dynamic_forced_storyteller, null)
else if (href_list["threatlog"])
show_threatlog(usr)
else if (href_list["stacking_limit"])
GLOB.dynamic_stacking_limit = input(usr,"Change the threat limit at which round-endings rulesets will start to stack.", "Change stacking limit", null) as num
GLOB.dynamic_stacking_limit = tgui_input_num(usr,"Change the threat limit at which round-endings rulesets will start to stack.", "Change stacking limit", null)
else if (href_list["change_storyteller"])
var/list/choices = list()
for(var/T in config.storyteller_cache)
var/datum/dynamic_storyteller/S = T
choices[initial(S.name)] = T
var/selected_storyteller = choices[input("Select storyteller:", "Storyteller", storyteller.name) as null|anything in choices]
var/selected_storyteller = choices[tgui_input_list(usr, "Select storyteller:", "Storyteller", choices)]
storyteller = new selected_storyteller
storyteller.on_start()
message_admins("[key_name(usr)] changed the storyteller to [storyteller].", 1)
+5 -5
View File
@@ -108,11 +108,11 @@
.["Set domination time left"] = CALLBACK(src, .proc/set_dom_time_left)
/datum/antagonist/gang/admin_add(datum/mind/new_owner,mob/admin)
var/new_or_existing = input(admin, "Which gang do you want to be assigned to the user?", "Gangs") as null|anything in list("New","Existing")
var/new_or_existing = tgui_input_list(admin, "Which gang do you want to be assigned to the user?", "Gangs", list("New","Existing"))
if(isnull(new_or_existing))
return
else if(new_or_existing == "New")
var/newgang = input(admin, "Select a gang, or select random to pick a random one.", "New gang") as null|anything in GLOB.possible_gangs + "Random"
var/newgang = tgui_input_list(admin, "Select a gang, or select random to pick a random one.", "New gang", GLOB.possible_gangs + "Random")
if(isnull(newgang))
return
else if(newgang == "Random")
@@ -125,7 +125,7 @@
if(!GLOB.gangs.len) // no gangs exist
to_chat(admin, "<span class='danger'>No gangs exist, please create a new one instead.</span>")
return
var/existinggang = input(admin, "Select a gang, or select random to pick a random one.", "Existing gang") as null|anything in GLOB.gangs + "Random"
var/existinggang = tgui_input_list(admin, "Select a gang, or select random to pick a random one.", "Existing gang", GLOB.gangs + "Random")
if(isnull(existinggang))
return
else if(existinggang == "Random")
@@ -141,7 +141,7 @@
promote()
/datum/antagonist/gang/proc/admin_adjust_influence()
var/inf = input("Influence for [gang.name]","Gang influence", gang.influence) as null | num
var/inf = tgui_input_num("Influence for [gang.name]","Gang influence", gang.influence)
if(!isnull(inf))
gang.influence = inf
message_admins("[key_name_admin(usr)] changed [gang.name]'s influence to [inf].")
@@ -158,7 +158,7 @@
/datum/antagonist/gang/proc/set_dom_time_left(mob/admin)
if(gang.domination_time == NOT_DOMINATING)
return // an admin shouldn't need this
var/seconds = input(admin, "Set the time left for the gang to win, in seconds", "Domination time left") as null|num
var/seconds = tgui_input_num(admin, "Set the time left for the gang to win, in seconds", "Domination time left", (gang.domination_time - world.time) * 0.1)
if(seconds && seconds > 0)
gang.domination_time = world.time + seconds*10
gang.message_gangtools("Takeover shortened to [gang.domination_time_remaining()] seconds by your Syndicate benefactors.")
+7 -12
View File
@@ -39,16 +39,11 @@ GLOBAL_LIST_EMPTY(objectives)
//Shared by few objective types
/datum/objective/proc/admin_simple_target_pick(mob/admin)
var/list/possible_targets = list("Free objective")
var/def_value
for(var/datum/mind/possible_target in SSticker.minds)
if ((possible_target != src) && ishuman(possible_target.current))
possible_targets += possible_target.current
if(target && target.current)
def_value = target.current
var/mob/new_target = input(admin,"Select target:", "Objective target", def_value) as null|anything in possible_targets
var/mob/new_target = tgui_input_list(admin,"Select target:", "Objective target", possible_targets)
if (!new_target)
return
@@ -605,12 +600,12 @@ GLOBAL_LIST_EMPTY(possible_items)
/datum/objective/steal/admin_edit(mob/admin)
var/list/possible_items_all = GLOB.possible_items+"custom"
var/new_target = input(admin,"Select target:", "Objective target", steal_target) as null|anything in possible_items_all
var/new_target = tgui_input_list(admin,"Select target:", "Objective target", possible_items_all)
if (!new_target)
return
if (new_target == "custom") //Can set custom items.
var/custom_path = input(admin,"Search for target item type:","Type") as null|text
var/custom_path = tgui_input_text(admin,"Search for target item type:","Type")
if (!custom_path)
return
var/obj/item/custom_target = pick_closest_path(custom_path, make_types_fancy(subtypesof(/obj/item)))
@@ -727,7 +722,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
return checking.researched_nodes.len >= target_amount
/datum/objective/download/admin_edit(mob/admin)
var/count = input(admin,"How many nodes ?","Nodes",target_amount) as num|null
var/count = tgui_input_num(admin,"How many nodes ?","Nodes",target_amount)
if(count)
target_amount = count
update_explanation_text()
@@ -773,7 +768,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
return captured_amount >= target_amount
/datum/objective/capture/admin_edit(mob/admin)
var/count = input(admin,"How many mobs to capture ?","capture",target_amount) as num|null
var/count = tgui_input_num(admin,"How many mobs to capture ?","capture",target_amount)
if(count)
target_amount = count
update_explanation_text()
@@ -805,7 +800,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
explanation_text = "Extract [target_amount] compatible genome\s."
/datum/objective/absorb/admin_edit(mob/admin)
var/count = input(admin,"How many people to absorb?","absorb",target_amount) as num|null
var/count = tgui_input_num(admin,"How many people to absorb?","absorb",target_amount)
if(count)
target_amount = count
update_explanation_text()
@@ -895,7 +890,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
/datum/objective/destroy/admin_edit(mob/admin)
var/list/possible_targets = active_ais(1)
if(possible_targets.len)
var/mob/new_target = input(admin,"Select target:", "Objective target") as null|anything in possible_targets
var/mob/new_target = tgui_input_list(admin,"Select target:", "Objective target", possible_targets)
target = new_target.mind
else
to_chat(admin, "No active AIs with minds")
+1 -1
View File
@@ -112,7 +112,7 @@
if(!storedpda)
to_chat(user, "<span class='notice'>[src] is empty.</span>")
return
var/choice = input(user, "Select the new skin!", "PDA Painting") as null|anything in colorlist
var/choice = tgui_input_list(user, "Select the new skin!", "PDA Painting", colorlist)
if(!choice || !storedpda || !in_range(src, user))
return
var/list/P = colorlist[choice]
+9 -9
View File
@@ -8,14 +8,14 @@
max_integrity = 200
var/obj/item/bodypart/storedpart
var/initial_icon_state
var/static/list/style_list_icons = list("standard" = 'icons/mob/augmentation/augments.dmi',
"engineer" = 'icons/mob/augmentation/augments_engineer.dmi',
"security" = 'icons/mob/augmentation/augments_security.dmi',
"mining" = 'icons/mob/augmentation/augments_mining.dmi',
"Talon" = 'icons/mob/augmentation/cosmetic_prosthetic/talon.dmi',
"Nanotrasen" = 'icons/mob/augmentation/cosmetic_prosthetic/nanotrasen.dmi',
"Hephaesthus" = 'icons/mob/augmentation/cosmetic_prosthetic/hephaestus.dmi',
"Bishop" = 'icons/mob/augmentation/cosmetic_prosthetic/bishop.dmi',
var/static/list/style_list_icons = list("standard" = 'icons/mob/augmentation/augments.dmi',
"engineer" = 'icons/mob/augmentation/augments_engineer.dmi',
"security" = 'icons/mob/augmentation/augments_security.dmi',
"mining" = 'icons/mob/augmentation/augments_mining.dmi',
"Talon" = 'icons/mob/augmentation/cosmetic_prosthetic/talon.dmi',
"Nanotrasen" = 'icons/mob/augmentation/cosmetic_prosthetic/nanotrasen.dmi',
"Hephaesthus" = 'icons/mob/augmentation/cosmetic_prosthetic/hephaestus.dmi',
"Bishop" = 'icons/mob/augmentation/cosmetic_prosthetic/bishop.dmi',
"Xion" = 'icons/mob/augmentation/cosmetic_prosthetic/xion.dmi',
"Grayson" = 'icons/mob/augmentation/cosmetic_prosthetic/grayson.dmi',
"Cybersolutions" = 'icons/mob/augmentation/cosmetic_prosthetic/cybersolutions.dmi',
@@ -116,7 +116,7 @@
add_fingerprint(user)
if(storedpart)
var/augstyle = input(user, "Select style.", "Augment Custom Fitting") as null|anything in style_list_icons
var/augstyle = tgui_input_list(user, "Select style.", "Augment Custom Fitting", style_list_icons)
if(!augstyle)
return
if(!in_range(src, user))
+1 -1
View File
@@ -184,7 +184,7 @@
if(materials.materials[i] > 0)
list_to_show += i
used_material = input("Choose [used_material]", "Custom Material") as null|anything in sortList(list_to_show, /proc/cmp_typepaths_asc)
used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, /proc/cmp_typepaths_asc))
if(!used_material)
return //Didn't pick any material, so you can't build shit either.
custom_materials[used_material] += amount_needed
+1 -1
View File
@@ -16,7 +16,7 @@
/mob/living/silicon/ai/proc/show_camera_list()
var/list/cameras = get_camera_list()
var/camera = input(src, "Choose which camera you want to view", "Cameras") as null|anything in cameras
var/camera = tgui_input_list(src, "Choose which camera you want to view", "Cameras", cameras)
switchCamera(cameras[camera])
/datum/trackable
@@ -301,12 +301,12 @@
/obj/machinery/computer/arcade/minesweeper/proc/custom_generation(mob/user)
playsound(loc, 'sound/arcade/minesweeper_menuselect.ogg', 50, FALSE, extrarange = -3) //Entered into the menu so ping sound
var/new_rows = input(user, "How many rows do you want? (Minimum: 4, Maximum: 30)", "Minesweeper Rows") as null|num
var/new_rows = tgui_input_num(user, "How many rows do you want? (Minimum: 4, Maximum: 30)", "Minesweeper Rows")
if(!new_rows || !user.canUseTopic(src, !hasSiliconAccessInArea(user)))
return FALSE
new_rows = clamp(new_rows + 1, 4, 20)
playsound(loc, 'sound/arcade/minesweeper_menuselect.ogg', 50, FALSE, extrarange = -3)
var/new_columns = input(user, "How many columns do you want? (Minimum: 4, Maximum: 50)", "Minesweeper Squares") as null|num
var/new_columns = tgui_input_num(user, "How many columns do you want? (Minimum: 4, Maximum: 50)", "Minesweeper Squares")
if(!new_columns || !user.canUseTopic(src, !hasSiliconAccessInArea(user)))
return FALSE
new_columns = clamp(new_columns + 1, 4, 30)
@@ -314,7 +314,7 @@
var/grid_area = (new_rows - 1) * (new_columns - 1)
var/lower_limit = round(grid_area*0.156)
var/upper_limit = round(grid_area*0.85)
var/new_mine_limit = input(user, "How many mines do you want? (Minimum: [lower_limit], Maximum: [upper_limit])", "Minesweeper Mines") as null|num
var/new_mine_limit = tgui_input_num(user, "How many mines do you want? (Minimum: [lower_limit], Maximum: [upper_limit])", "Minesweeper Mines")
if(!new_mine_limit || !user.canUseTopic(src, !hasSiliconAccessInArea(user)))
return FALSE
playsound(loc, 'sound/arcade/minesweeper_menuselect.ogg', 50, FALSE, extrarange = -3)
@@ -251,7 +251,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers)
IO |= text[1]
if(!IO.len)
to_chat(user, "<span class='alert'>No machinery detected.</span>")
var/S = input("Select the device set: ", "Selection", IO[1]) as anything in sortList(IO)
var/S = tgui_input_list(user, "Select the device set: ", "Selection", sortList(IO))
if(src)
src.input_tag = "[S]_in"
src.output_tag = "[S]_out"
@@ -269,7 +269,7 @@
T["[netcam.c_tag][netcam.can_use() ? null : " (Deactivated)"]"] = netcam
playsound(origin, 'sound/machines/terminal_prompt.ogg', 25, 0)
var/camera = input("Choose which camera you want to view", "Cameras") as null|anything in T
var/camera = tgui_input_list(usr, "Choose which camera you want to view", "Cameras", T)
var/obj/machinery/camera/final = T[camera]
playsound(src, "terminal_type", 25, 0)
if(final)
+1 -1
View File
@@ -447,7 +447,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if (authenticated == 2)
var/t1 = href_list["assign_target"]
if(t1 == "Custom")
var/newJob = reject_bad_text(input("Enter a custom job assignment.", "Assignment", inserted_modify_id ? inserted_modify_id.assignment : "Unassigned"), MAX_NAME_LEN)
var/newJob = reject_bad_text(tgui_input_text(usr, "Enter a custom job assignment.", "Assignment", inserted_modify_id ? inserted_modify_id.assignment : "Unassigned"), MAX_NAME_LEN)
if(newJob)
t1 = newJob
+1 -1
View File
@@ -289,7 +289,7 @@
active1.fields["gender"] = "Male"
if("age")
if(active1)
var/t1 = input("Please input age:", "Med. records", active1.fields["age"], null) as num
var/t1 = tgui_input_num(usr, "Please input age:", "Med. records", active1.fields["age"])
if(!canUseMedicalRecordsConsole(usr, t1, a1))
return
active1.fields["age"] = t1
@@ -99,7 +99,7 @@
if("reset")
contained_id.points = 0
if("setgoal")
var/num = round(input(usr, "Choose prisoner's goal:", "Input an Integer", null) as num|null)
var/num = round(tgui_input_num(usr, "Choose prisoner's goal:", "Input an Integer", contained_id.goal))
if(num >= 0)
num = min(num,1000) //Cap the quota to the equivilent of 10 minutes.
contained_id.goal = num
+2 -2
View File
@@ -577,13 +577,13 @@ What a mess.*/
active1.fields["gender"] = "Male"
if("age")
if(istype(active1, /datum/data/record))
var/t1 = input("Please input age:", "Secure. records", active1.fields["age"], null) as num
var/t1 = tgui_input_num(usr, "Please input age:", "Secure. records", active1.fields["age"])
if(!canUseSecurityRecordsConsole(usr, "age", a1))
return
active1.fields["age"] = t1
if("species")
if(istype(active1, /datum/data/record))
var/t1 = input("Select a species", "Species Selection") as null|anything in GLOB.roundstart_races
var/t1 = stripped_input("Please input species name", "Secure. records", active1.fields["species"], null)
if(!canUseSecurityRecordsConsole(usr, t1, a1))
return
active1.fields["species"] = t1
+2 -2
View File
@@ -139,7 +139,7 @@
if(is_eligible(M))
L[avoid_assoc_duplicate_keys(M.real_name, areaindex)] = M
var/desc = input("Please select a location to lock in.", "Locking Computer") as null|anything in L
var/desc = tgui_input_list(user, "Please select a location to lock in.", "Locking Computer", L)
if(!user.canUseTopic(src, !hasSiliconAccessInArea(user), NO_DEXTERY)) //check if we are still around
return
target = L[desc]
@@ -167,7 +167,7 @@
if(!L.len)
to_chat(user, "<span class='alert'>No active connected stations located.</span>")
return
var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in L
var/desc = tgui_input_list(user, "Please select a station to lock in.", "Locking Computer", L)
if(!user.canUseTopic(src, !hasSiliconAccessInArea(user), NO_DEXTERY)) //again, check if we are still around
return
var/obj/machinery/teleport/station/target_station = L[desc]
+1 -1
View File
@@ -101,7 +101,7 @@
updateUsrDialog()
return
var/obj/I = input(user, "Please choose which object to retrieve.","Object recovery",null) as null|anything in stored_packages
var/obj/I = tgui_input_list(user, "Please choose which object to retrieve.","Object recovery", stored_packages)
playsound(src, "terminal_type", 25, 0)
if(!I)
return
+2 -2
View File
@@ -102,7 +102,7 @@
rad_insulation = RAD_MEDIUM_INSULATION
var/static/list/airlock_overlays = list()
/// sigh
var/unelectrify_timerid
@@ -1212,7 +1212,7 @@
else
optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Freezer", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance")
var/paintjob = input(user, "Please select a paintjob for this airlock.") in optionlist
var/paintjob = tgui_input_list(user, "Please select a paintjob for this airlock.", "", optionlist)
if((!in_range(src, usr) && src.loc != usr) || !W.use_paint(user))
return
switch(paintjob)
+1 -1
View File
@@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
if(A)
LAZYADD(callnames[A], I)
callnames -= get_area(src)
var/result = input(usr, "Choose an area to call", "Holocall") as null|anything in sortNames(callnames)
var/result = tgui_input_list(usr, "Choose an area to call", "Holocall", sortNames(callnames))
if(QDELETED(usr) || !result || outgoing_call)
return
if(usr.loc == loc)
+1 -1
View File
@@ -245,7 +245,7 @@ Buildable meters
disposable = FALSE
/obj/item/pipe/bluespace/attack_self(mob/user)
var/new_name = input(user, "Enter identifier for bluespace pipe network", "bluespace pipe", bluespace_network_name) as text|null
var/new_name = tgui_input_text(user, "Enter identifier for bluespace pipe network", "bluespace pipe", bluespace_network_name)
if(!isnull(new_name))
bluespace_network_name = new_name
+1 -1
View File
@@ -193,7 +193,7 @@
playsound(loc, 'sound/machines/click.ogg', 30, 1)
/obj/machinery/syndicatebomb/proc/settings(mob/user)
var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num
var/new_timer = tgui_input_num(user, "Please set the timer.", "Timer", "[timer_set]")
if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station
timer_set = clamp(new_timer, minimum_timer, maximum_timer)
loc.visible_message("<span class='notice'>[icon2html(src, viewers(src))] timer set for [timer_set] seconds.</span>")
@@ -316,7 +316,7 @@
// Get out list of viable PDAs
var/list/obj/item/pda/sendPDAs = get_viewable_pdas()
if(GLOB.PDAs && LAZYLEN(GLOB.PDAs) > 0)
customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortNames(sendPDAs)
customrecepient = tgui_input_list(usr, "Select a PDA from the list.", "", sortNames(sendPDAs))
else
customrecepient = null
return
@@ -177,7 +177,7 @@
links.Remove(T)
if("freq")
if("add" in params)
var/newfreq = input("Specify a new frequency to filter (GHz). Decimals assigned automatically.", src.name, null) as null|num
var/newfreq = tgui_input_num(usr, "Specify a new frequency to filter (GHz). Decimals assigned automatically.", src.name, null)
if(!canAccess(usr) || !newfreq || isnull(newfreq))
return
+1 -1
View File
@@ -38,7 +38,7 @@
to_chat(user, "You have a very great feeling about this!")
else
to_chat(user, "The Wish Granter awaits your wish.")
var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","The Station To Disappear","To Kill","Nothing")
var/wish = tgui_input_list(user, "You want...","Wish", list("Power","Wealth","The Station To Disappear","To Kill","Nothing"))
switch(wish)
if("Power") //Gives infinite power in exchange for infinite power going off in your face!
if(charges <= 0)
@@ -407,7 +407,7 @@
return
if(href_list["cut"])
if(cable && cable.amount)
var/m = round(input(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)) as num, 1)
var/m = round(tgui_input_num(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)), 1)
m = min(m, cable.amount)
if(m)
use_cable(m)
+1 -1
View File
@@ -246,7 +246,7 @@
output_maintenance_dialog(id_card, usr)
if(href_list["set_internal_tank_valve"] && state >=1)
var/new_pressure = input(usr,"Input new output pressure","Pressure setting",internal_tank_valve) as num
var/new_pressure = tgui_input_num(usr,"Input new output pressure","Pressure setting",internal_tank_valve)
if(new_pressure)
internal_tank_valve = new_pressure
to_chat(usr, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
+2 -2
View File
@@ -18,7 +18,7 @@
if(act_intent == INTENT_HELP || act_intent == INTENT_GRAB)
return
if(buckled_mobs.len > 1)
var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs
var/unbuckled = tgui_input_list(user, "Who do you wish to unbuckle?","Unbuckle Who?", buckled_mobs)
if(user_unbuckle_mob(unbuckled,user))
return 1
else
@@ -161,6 +161,6 @@
else if(length(buckled_mobs) == 1)
return user_unbuckle_mob(buckled_mobs[1], user)
else
var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs
var/unbuckled = tgui_input_list(user, "Who do you wish to unbuckle?","Unbuckle Who?", buckled_mobs)
return user_unbuckle_mob(unbuckled, user)
+2 -2
View File
@@ -229,7 +229,7 @@ AI MODULES
laws = list("")
/obj/item/aiModule/supplied/freeform/attack_self(mob/user)
var/newpos = input("Please enter the priority for your new law. Can only write to law sectors 15 and above.", "Law Priority (15+)", lawpos) as num|null
var/newpos = tgui_input_num(user, "Please enter the priority for your new law. Can only write to law sectors 15 and above.", "Law Priority (15+)", lawpos)
if(newpos == null)
return
if(newpos < 15)
@@ -264,7 +264,7 @@ AI MODULES
var/lawpos = 1
/obj/item/aiModule/remove/attack_self(mob/user)
lawpos = input("Please enter the law you want to delete.", "Law Number", lawpos) as num|null
lawpos = tgui_input_num(user, "Please enter the law you want to delete.", "Law Number", lawpos)
if(lawpos == null)
return
if(lawpos <= 0)
+1 -1
View File
@@ -25,7 +25,7 @@
for(var/datum/track/S in SSjukeboxes.songs)
if(istype(S) && (S.song_associated_id in availabletrackids))
tracklist[S.song_name] = S
var/selected = input(user, "Play song", "Track:") as null|anything in tracklist
var/selected = tgui_input_list(user, "Play song", "Track:", tracklist)
if(QDELETED(src) || !selected || !istype(tracklist[selected], /datum/track))
return
var/jukeboxslottotake = SSjukeboxes.addjukebox(src, tracklist[selected])
+2 -2
View File
@@ -302,7 +302,7 @@
. = FALSE
var/datum/bank_account/old_account = registered_account
var/new_bank_id = input(user, "Enter your account ID number.", "Account Reclamation", 111111) as num | null
var/new_bank_id = tgui_input_num(user, "Enter your account ID number.", "Account Reclamation", 111111)
if (isnull(new_bank_id))
return
@@ -344,7 +344,7 @@
registered_account.bank_card_talk("<span class='warning'>ERROR: UNABLE TO LOGIN DUE TO SCHEDULED MAINTENANCE. MAINTENANCE IS SCHEDULED TO COMPLETE IN [(registered_account.withdrawDelay - world.time)/10] SECONDS.</span>", TRUE)
return
var/amount_to_remove = input(user, "How much do you want to withdraw? Current Balance: [registered_account.account_balance]", "Withdraw Funds", 5) as num|null
var/amount_to_remove = tgui_input_num(user, "How much do you want to withdraw? Current Balance: [registered_account.account_balance]", "Withdraw Funds", 5)
if(!amount_to_remove || amount_to_remove < 0)
return
@@ -654,7 +654,7 @@
display_vending_names_paths = list()
for(var/path in vending_names_paths)
display_vending_names_paths[vending_names_paths[path]] = path
var/choice = input(user,"Choose a new brand","Select an Item") as null|anything in sortList(display_vending_names_paths)
var/choice = tgui_input_list(user,"Choose a new brand","Select an Item", sortList(display_vending_names_paths))
set_type(display_vending_names_paths[choice])
else
return ..()
@@ -856,7 +856,7 @@
// /obj/item/circuitboard/machine/medical_kiosk/multitool_act(mob/living/user)
// . = ..()
// var/new_cost = input("Set a new cost for using this medical kiosk.","New cost", custom_cost) as num|null
// var/new_cost = tgui_input_num(user, "Set a new cost for using this medical kiosk.","New cost", custom_cost)
// if(!new_cost || (loc != user))
// to_chat(user, "<span class='warning'>You must hold the circuitboard to change its cost!</span>")
// return
@@ -1050,7 +1050,7 @@
/obj/item/circuitboard/machine/public_nanite_chamber/multitool_act(mob/living/user)
. = ..()
var/new_cloud = input("Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id) as num|null
var/new_cloud = tgui_input_num(user, "Set the public nanite chamber's Cloud ID (1-100).", "Cloud ID", cloud_id)
if(!new_cloud || (loc != user))
to_chat(user, "<span class='warning'>You must hold the circuitboard to change its Cloud ID!</span>")
return
+1 -1
View File
@@ -95,7 +95,7 @@
/obj/item/holochip/AltClick(mob/user)
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
var/split_amount = round(input(user,"How many credits do you want to extract from the holochip?") as null|num)
var/split_amount = round(tgui_input_num(user,"How many credits do you want to extract from the holochip?"))
if(split_amount == null || split_amount <= 0 || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
else
+2 -2
View File
@@ -21,9 +21,9 @@
/obj/item/debug/human_spawner/attack_self(mob/user)
..()
var/choice = input("Select a species", "Human Spawner", null) in GLOB.species_list
var/choice = tgui_input_list("Select a species", "Human Spawner", null, GLOB.species_list)
selected_species = GLOB.species_list[choice]
/* Revive this once we purge all the istype checks for tools for tool_behaviour
/obj/item/debug/omnitool
name = "omnitool"
+4 -4
View File
@@ -144,7 +144,7 @@ GLOBAL_LIST_EMPTY(PDAs)
dat += "\n[V]: <span class='reallybig'>[output]</span>"
to_chat(M, dat)
var/choice = input(M, "Choose the a reskin for [src]","Reskin Object") as null|anything in GLOB.pda_reskins
var/choice = tgui_input_list(M, "Choose the a reskin for [src]","Reskin Object", GLOB.pda_reskins)
var/new_icon = GLOB.pda_reskins[choice]
if(QDELETED(src) || isnull(new_icon) || new_icon == icon || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
@@ -619,7 +619,7 @@ GLOBAL_LIST_EMPTY(PDAs)
playsound(src, 'sound/machines/terminal_select.ogg', 15, 1)
if("Drone Phone")
var/alert_s = input(U,"Alert severity level","Ping Drones",null) as null|anything in list("Low","Medium","High","Critical")
var/alert_s = tgui_input_list(U,"Alert severity level","Ping Drones", list("Low","Medium","High","Critical"))
var/area/A = get_area(U)
if(A && alert_s && !QDELETED(U))
var/msg = "<span class='boldnotice'>NON-DRONE PING: [U.name]: [alert_s] priority alert in [A.name]!</span>"
@@ -1147,7 +1147,7 @@ GLOBAL_LIST_EMPTY(PDAs)
plist[avoid_assoc_duplicate_keys(P.owner, namecounts)] = P
var/c = input(user, "Please select a PDA") as null|anything in sortList(plist)
var/c = tgui_input_list(user, "Please select a PDA", "", sortList(plist))
if (!c)
return
@@ -1155,7 +1155,7 @@ GLOBAL_LIST_EMPTY(PDAs)
var/selected = plist[c]
if(aicamera.stored.len)
var/add_photo = input(user,"Do you want to attach a photo?","Photo","No") as null|anything in list("Yes","No")
var/add_photo = tgui_input_list(user,"Do you want to attach a photo?","Photo","No", list("Yes","No"))
if(add_photo=="Yes")
var/datum/picture/Pic = aicamera.selectpicture(user)
aiPDA.picture = Pic
+2 -2
View File
@@ -656,10 +656,10 @@ Code:
if("alert")
post_status("alert", href_list["alert"])
if("setmsg1")
message1 = reject_bad_text(input("Line 1", "Enter Message Text", message1) as text|null, 40)
message1 = reject_bad_text(tgui_input_text(usr, "Line 1", "Enter Message Text", message1), 40)
updateSelfDialog()
if("setmsg2")
message2 = reject_bad_text(input("Line 2", "Enter Message Text", message2) as text|null, 40)
message2 = reject_bad_text(tgui_input_text(usr, "Line 2", "Enter Message Text", message2), 40)
updateSelfDialog()
else
post_status(href_list["statdisp"])
@@ -36,7 +36,7 @@
. = ..()
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
var/new_duration = input(user, "Set the duration (5-300):", "Desynchronizer", duration / 10) as null|num
var/new_duration = tgui_input_num(user, "Set the duration (5-300):", "Desynchronizer", duration / 10)
if(new_duration)
new_duration = new_duration SECONDS
new_duration = clamp(new_duration, 50, max_duration)
@@ -8,7 +8,7 @@
. = ..()
if(.)
return
var/new_id = input(user, "Set this kit's electrochromatic ID", "Set ID", id) as text|null
var/new_id = tgui_input_text(user, "Set this kit's electrochromatic ID", "Set ID", id)
if(isnull(new_id))
return
id = new_id
@@ -23,7 +23,7 @@
user.visible_message("<span class='notice'>[user] paints \the [P] [paint_color].</span>","<span class='notice'>You paint \the [P] [paint_color].</span>")
/obj/item/pipe_painter/attack_self(mob/user)
paint_color = input("Which colour do you want to use?","Pipe painter") in GLOB.pipe_paint_colors
paint_color = tgui_input_list(user, "Which colour do you want to use?","Pipe painter", GLOB.pipe_paint_colors)
/obj/item/pipe_painter/examine(mob/user)
. = ..()
@@ -18,7 +18,7 @@
else
if(zero_amount())
return
chosen_circuit = input("What type of circuit would you like to remove?", "Choose a Circuit Type", chosen_circuit) as null|anything in list("airlock","firelock","fire alarm","air alarm","APC")
chosen_circuit = tgui_input_list(user, "What type of circuit would you like to remove?", "Choose a Circuit Type", list("airlock","firelock","fire alarm","air alarm","APC"))
if(zero_amount() || !chosen_circuit || !in_range(src,user))
return
switch(chosen_circuit)
@@ -150,7 +150,7 @@
if(tune == "input")
var/min = format_frequency(freerange ? MIN_FREE_FREQ : MIN_FREQ)
var/max = format_frequency(freerange ? MAX_FREE_FREQ : MAX_FREQ)
tune = input("Tune frequency ([min]-[max]):", name, format_frequency(frequency)) as null|num
tune = tgui_input_num(usr, "Tune frequency ([min]-[max]):", name, format_frequency(frequency))
if(!isnull(tune) && !..())
if (tune < MIN_FREE_FREQ && tune <= MAX_FREE_FREQ / 10)
// allow typing 144.7 to get 1447
+1 -1
View File
@@ -946,7 +946,7 @@ GENETICS SCANNER
for(var/A in buffer)
options += get_display_name(A)
var/answer = input(user, "Analyze Potential", "Sequence Analyzer") as null|anything in sortList(options)
var/answer = tgui_input_list(user, "Analyze Potential", "Sequence Analyzer", sortList(options))
if(answer && ready && user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
var/sequence
for(var/A in buffer) //this physically hurts but i dont know what anything else short of an assoc list
+1 -1
View File
@@ -23,7 +23,7 @@
return
var/mob/living/carbon/human/human_target = target
var/new_grad_style = input(usr, "Choose a color pattern:", "Character Preference") as null|anything in GLOB.hair_gradients_list
var/new_grad_style = tgui_input_list(usr, "Choose a color pattern:", "Character Preference", GLOB.hair_gradients_list)
if(!new_grad_style)
return
+1 -1
View File
@@ -95,7 +95,7 @@
if(nadeassembly)
nadeassembly.attack_self(user)
return
var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num
var/newtime = tgui_input_num(usr, "Please set the timer.", "Timer", 10)
if(user.get_active_held_item() == src)
newtime = clamp(newtime, 10, 60000)
det_time = newtime
+2 -2
View File
@@ -26,7 +26,7 @@
stored_options = generate_display_names()
if(!stored_options.len)
return
var/choice = input(M,"Which item would you like to order?","Select an Item") as null|anything in stored_options
var/choice = tgui_input_list(M,"Which item would you like to order?","Select an Item", stored_options)
if(!choice || !M.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
@@ -182,7 +182,7 @@
return carrier
/obj/item/choice_beacon/pet/spawn_option(atom/choice,mob/living/M)
pet_name = input(M, "What would you like to name the pet? (leave blank for default name)", "Pet Name")
pet_name = tgui_input_text(M, "What would you like to name the pet? (leave blank for default name)", "Pet Name")
..()
//choice boxes (they just open in your hand instead of making a pod)
+1 -1
View File
@@ -154,7 +154,7 @@
user.visible_message("<span class='notice'>[user]'s pinpointer fails to detect a signal.</span>", "<span class='notice'>Your pinpointer fails to detect a signal.</span>")
return
var/A = input(user, "Person to track", "Pinpoint") in names
var/A = tgui_input_list(user, "Person to track", "Pinpoint", names)
if(!A || QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated())
return
+1 -1
View File
@@ -997,7 +997,7 @@
to_chat(user, "<span class='warning'>[target] is firmly secured!</span>")
/obj/item/cyborg_clamp/attack_self(mob/user)
var/obj/chosen_cargo = input(user, "Drop what?") as null|anything in cargo
var/obj/chosen_cargo = tgui_input_list(user, "Drop what?", cargo)
if(!chosen_cargo)
return
chosen_cargo.forceMove(get_turf(chosen_cargo))
+1 -1
View File
@@ -48,7 +48,7 @@
var/A
A = input(user, "Area to jump to", "BOOYEA", A) as null|anything in GLOB.teleportlocs
A = tgui_input_list(user, "Area to jump to", "BOOYEA", GLOB.teleportlocs)
if(!src || QDELETED(src) || !user || !user.is_holding(src) || user.incapacitated() || !A || !uses)
return
var/area/thearea = GLOB.teleportlocs[A]
+1 -1
View File
@@ -465,7 +465,7 @@
return
//get amount from user
var/max = get_amount()
var/stackmaterial = round(input(user,"How many sheets do you wish to take out of this stack? (Maximum [max])") as null|num)
var/stackmaterial = round(tgui_input_num(user,"How many sheets do you wish to take out of this stack? (Maximum [max])"))
max = get_amount()
stackmaterial = min(max, stackmaterial)
if(stackmaterial == null || stackmaterial <= 0 || !user.canUseTopic(src, BE_CLOSE, TRUE, FALSE)) //, !iscyborg(user)
+1 -1
View File
@@ -24,7 +24,7 @@
var/custom_name
if(icon_state == "daki_base")
body_choice = input("Pick a body.") in dakimakura_options
body_choice = tgui_input_list(user, "Pick a body.", "", dakimakura_options)
icon_state = "daki_[body_choice]"
custom_name = stripped_input(user, "What's her name?")
if(length(custom_name) > MAX_NAME_LEN)
+1 -1
View File
@@ -164,7 +164,7 @@
turfs += T
if(turfs.len)
L["None (Dangerous)"] = pick(turfs)
var/t1 = input(user, "Please select a teleporter to lock in on.", "Hand Teleporter") as null|anything in L
var/t1 = tgui_input_list(user, "Please select a teleporter to lock in on.", "Hand Teleporter", L)
if (!t1 || user.get_active_held_item() != src || user.incapacitated())
return
if(active_portal_pairs.len >= max_portal_pairs)
+1 -1
View File
@@ -120,7 +120,7 @@
/obj/structure/sign/barsign/proc/pick_sign(mob/user)
var/picked_name = input(user, "Available Signage", "Bar Sign", name) as null|anything in barsigns
var/picked_name = tgui_input_list(user, "Available Signage", "Bar Sign", barsigns)
if(!picked_name)
return
set_sign(picked_name)
@@ -40,13 +40,13 @@
return TRUE
/obj/structure/closet/secure_closet/genpop/proc/handle_edit_sentence(mob/user)
var/prisoner_name = input(user, "Please input the name of the prisoner.", "Prisoner Name", registered_id.registered_name) as text|null
var/prisoner_name = tgui_input_text(user, "Please input the name of the prisoner.", "Prisoner Name", registered_id.registered_name)
if(prisoner_name == null | !user.Adjacent(src))
return FALSE
var/sentence_length = input(user, "Please input the length of their sentence in minutes (0 for perma).", "Sentence Length", registered_id.sentence) as num|null
var/sentence_length = tgui_input_num(user, "Please input the length of their sentence in minutes (0 for perma).", "Sentence Length", registered_id.sentence)
if(sentence_length == null | !user.Adjacent(src))
return FALSE
var/crimes = input(user, "Please input their crimes.", "Crimes", registered_id.crime) as text|null
var/crimes = tgui_input_text(user, "Please input their crimes.", "Crimes", registered_id.crime)
if(crimes == null | !user.Adjacent(src))
return FALSE
+1 -1
View File
@@ -470,7 +470,7 @@
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE)
return
var/new_price_input = input(usr,"Set the sale price for this vend-a-tray.","new price",0) as num|null
var/new_price_input = tgui_input_num(usr,"Set the sale price for this vend-a-tray.","new price",sale_price)
if(isnull(new_price_input) || (payments_acc != potential_acc.registered_account))
to_chat(usr, "<span class='warning'>[src] rejects your new price.</span>")
return
+4 -4
View File
@@ -37,7 +37,7 @@
if(!(GLOB.socks_list[H.socks]?.has_color))
undergarment_choices -= "Socks Color"
var/choice = input(H, "Underwear, Undershirt, or Socks?", "Changing") as null|anything in undergarment_choices
var/choice = tgui_input_list(H, "Underwear, Undershirt, or Socks?", "Changing", undergarment_choices)
if(!H.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
var/dye_undie = FALSE
@@ -45,21 +45,21 @@
var/dye_socks = FALSE
switch(choice)
if("Underwear")
var/new_undies = input(H, "Select your underwear", "Changing") as null|anything in GLOB.underwear_list
var/new_undies = tgui_input_list(H, "Select your underwear", "Changing", GLOB.underwear_list)
if(new_undies)
H.underwear = new_undies
H.saved_underwear = new_undies
var/datum/sprite_accessory/underwear/bottom/B = GLOB.underwear_list[new_undies]
dye_undie = B?.has_color
if("Undershirt")
var/new_undershirt = input(H, "Select your undershirt", "Changing") as null|anything in GLOB.undershirt_list
var/new_undershirt = tgui_input_list(H, "Select your undershirt", "Changing", GLOB.undershirt_list)
if(new_undershirt)
H.undershirt = new_undershirt
H.saved_undershirt = new_undershirt
var/datum/sprite_accessory/underwear/top/T = GLOB.undershirt_list[new_undershirt]
dye_shirt = T?.has_color
if("Socks")
var/new_socks = input(H, "Select your socks", "Changing") as null|anything in GLOB.socks_list
var/new_socks = tgui_input_list(H, "Select your socks", "Changing", GLOB.socks_list)
if(new_socks)
H.socks = new_socks
H.saved_socks = new_socks
@@ -742,7 +742,7 @@
/datum/action/disguise/Trigger()
var/mob/living/carbon/human/H = owner
if(!currently_disguised)
var/user_object_type = input(H, "Disguising as OBJECT or MOB?") as null|anything in list("OBJECT", "MOB")
var/user_object_type = tgui_input_list(H, "Disguising as OBJECT or MOB?", "", list("OBJECT", "MOB"))
if(user_object_type)
var/search_term = stripped_input(H, "Enter the search term")
if(search_term)
@@ -758,7 +758,7 @@
if(!length(filtered_results))
to_chat(H, "Nothing matched your search query!")
else
var/disguise_selection = input("Select item to disguise as") as null|anything in filtered_results
var/disguise_selection = tgui_input_list(H, "Select item to disguise as", "", filtered_results)
if(disguise_selection)
var/atom/disguise_item = disguise_selection
var/image/I = image(icon = initial(disguise_item.icon), icon_state = initial(disguise_item.icon_state), loc = H)
+6 -6
View File
@@ -26,7 +26,7 @@
//handle facial hair (if necessary)
if(H.gender != FEMALE)
var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in GLOB.facial_hair_styles_list
var/new_style = tgui_input_list(user, "Select a facial hair style", "Grooming", GLOB.facial_hair_styles_list)
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return //no tele-grooming
if(new_style)
@@ -35,7 +35,7 @@
H.facial_hair_style = "Shaved"
//handle normal hair
var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in GLOB.hair_styles_list
var/new_style = tgui_input_list(user, "Select a hair style", "Grooming", GLOB.hair_styles_list)
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return //no tele-grooming
if(new_style)
@@ -141,7 +141,7 @@
var/mob/living/carbon/human/H = user
var/choice = input(user, "Something to change?", "Magical Grooming") as null|anything in list("name", "race", "gender", "hair", "eyes")
var/choice = tgui_input_list(user, "Something to change?", "Magical Grooming", list("name", "race", "gender", "hair", "eyes"))
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
@@ -163,7 +163,7 @@
if("race")
var/newrace
var/racechoice = input(H, "What are we again?", "Race change") as null|anything in choosable_races
var/racechoice = tgui_input_list(H, "What are we again?", "Race change", choosable_races)
newrace = GLOB.species_list[racechoice]
if(!newrace)
@@ -176,7 +176,7 @@
var/list/choices = GLOB.skin_tones
if(CONFIG_GET(flag/allow_custom_skintones))
choices += "custom"
var/new_s_tone = input(H, "Choose your skin tone:", "Race change") as null|anything in choices
var/new_s_tone = tgui_input_list(H, "Choose your skin tone:", "Race change", choices)
if(new_s_tone)
if(new_s_tone == "custom")
var/default = H.dna.skin_tone_override || null
@@ -249,7 +249,7 @@
H.update_hair()
if(BODY_ZONE_PRECISE_EYES)
var/eye_type = input(H, "Choose the eye you want to color", "Eye Color") as null|anything in list("Both Eyes", "Left Eye", "Right Eye")
var/eye_type = tgui_input_list(H, "Choose the eye you want to color", "Eye Color", list("Both Eyes", "Left Eye", "Right Eye"))
if(eye_type)
var/input_color = H.left_eye_color
if(eye_type == "Right Eye")
+1 -1
View File
@@ -159,7 +159,7 @@
if (!can_rotate || admin)
to_chat(user, "<span class='warning'>The rotation is locked!</span>")
return FALSE
var/new_angle = input(user, "Input a new angle for primary reflection face.", "Reflector Angle", rotation_angle) as null|num
var/new_angle = tgui_input_num(user, "Input a new angle for primary reflection face.", "Reflector Angle", rotation_angle)
if(!user.canUseTopic(src, BE_CLOSE, ismonkey(user)))
return
if(!isnull(new_angle))
+1 -1
View File
@@ -45,7 +45,7 @@
var/list/sign_types = list("Secure Area", "Biohazard", "High Voltage", "Radiation", "Hard Vacuum Ahead", "Disposal: Leads To Space", "Danger: Fire", "No Smoking", "Medbay", "Science", "Chemistry", \
"Hydroponics", "Xenobiology")
var/obj/structure/sign/sign_type
switch(input(user, "Select a sign type.", "Sign Customization") as null|anything in sign_types)
switch(tgui_input_list(user, "Select a sign type.", "Sign Customization", sign_types))
if("Blank")
sign_type = /obj/structure/sign/basic
if("Secure Area")
+1 -1
View File
@@ -31,7 +31,7 @@
virgin = 0
notify_ghosts("Someone has begun playing with a [src.name] in [get_area(src)]!", source = src)
planchette = input("Choose the letter.", "Seance!") as null|anything in list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z")
planchette = tgui_input_list(M, "Choose the letter.", "Seance!", list("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"))
if(!planchette || !Adjacent(M) || next_use > world.time)
return
M.log_message("picked a letter on [src], which was \"[planchette]\".")