Merge branch 'master' into upstream-merge-13122

This commit is contained in:
Nadyr
2022-06-22 22:37:44 -04:00
committed by GitHub
397 changed files with 9458 additions and 7952 deletions

View File

@@ -7,13 +7,13 @@
var/obj/effect/spawner/newbomb/proto = /obj/effect/spawner/newbomb/radio/custom
var/p = input(usr, "Enter phoron amount (mol):","Phoron", initial(proto.phoron_amt)) as num|null
var/p = tgui_input_number(usr, "Enter phoron amount (mol):","Phoron", initial(proto.phoron_amt))
if(p == null) return
var/o = input(usr, "Enter oxygen amount (mol):","Oxygen", initial(proto.oxygen_amt)) as num|null
var/o = tgui_input_number(usr, "Enter oxygen amount (mol):","Oxygen", initial(proto.oxygen_amt))
if(o == null) return
var/c = input(usr, "Enter carbon dioxide amount (mol):","Carbon Dioxide", initial(proto.carbon_amt)) as num|null
var/c = tgui_input_number(usr, "Enter carbon dioxide amount (mol):","Carbon Dioxide", initial(proto.carbon_amt))
if(c == null) return
new /obj/effect/spawner/newbomb/radio/custom(get_turf(mob), p, o, c)

View File

@@ -1,5 +1,5 @@
/client/proc/kaboom()
var/power = input(src, "power?", "power?") as num
var/power = tgui_input_number(src, "power?", "power?")
var/turf/T = get_turf(src.mob)
explosion_rec(T, power)

View File

@@ -53,7 +53,7 @@
/obj/structure/closet/body_bag/attackby(var/obj/item/W as obj, mob/user as mob)
if (istype(W, /obj/item/weapon/pen))
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
var/t = tgui_input_text(user, "What would you like the label to be?", text("[]", src.name), null)
if (user.get_active_hand() != W)
return
if (!in_range(src, user) && src.loc != user)

View File

@@ -322,7 +322,7 @@
. = TRUE
switch(action)
if("rename")
var/new_name = sanitizeSafe(input(usr,"Please enter your name.","Communicator",usr.name) )
var/new_name = sanitizeSafe(tgui_input_text(usr,"Please enter your name.","Communicator",usr.name) )
if(new_name)
register_device(new_name)
@@ -376,7 +376,7 @@
to_chat(usr, "<span class='danger'>Error: Cannot connect to Exonet node.</span>")
return FALSE
var/their_address = params["message"]
var/text = sanitizeSafe(input(usr,"Enter your message.","Text Message"))
var/text = sanitizeSafe(tgui_input_text(usr,"Enter your message.","Text Message"))
if(text)
exonet.send_message(their_address, "text", text)
im_list += list(list("address" = exonet.address, "to_address" = their_address, "im" = text))
@@ -424,7 +424,7 @@
selected_tab = params["switch_tab"]
if("edit")
var/n = input(usr, "Please enter message", name, notehtml) as message|null
var/n = tgui_input_text(usr, "Please enter message", name, notehtml, multiline = TRUE)
n = sanitizeSafe(n, extra = 0)
if(n)
note = html_decode(n)

View File

@@ -102,7 +102,7 @@
switch(href_list["action"])
if("Reply")
var/obj/item/device/communicator/comm = locate(href_list["target"])
var/message = input(usr, "Enter your message below.", "Reply")
var/message = tgui_input_text(usr, "Enter your message below.", "Reply")
if(message)
exonet.send_message(comm.exonet.address, "text", message)
@@ -153,7 +153,7 @@
if(choice)
var/obj/item/device/communicator/chosen_communicator = choice
var/mob/observer/dead/O = src
var/text_message = sanitize(input(src, "What do you want the message to say?") as message)
var/text_message = sanitize(tgui_input_text(src, "What do you want the message to say?", multiline = TRUE))
if(text_message && O.exonet)
O.exonet.send_message(chosen_communicator.exonet.address, "text", text_message)

View File

@@ -323,7 +323,7 @@ var/list/GPS_list = list()
. = TRUE
if(href_list["tag"])
var/a = input(usr, "Please enter desired tag.", name, gps_tag) as text
var/a = tgui_input_text(usr, "Please enter desired tag.", name, gps_tag)
a = uppertext(copytext(sanitize(a), 1, 11))
if(in_range(src, usr))
gps_tag = a

View File

@@ -40,7 +40,7 @@
user.audible_message("<B>[user.GetVoice()]</B>[user.GetAltName()] broadcasts, <FONT size=3>\"[message]\"</FONT>", runemessage = message)
/obj/item/device/megaphone/attack_self(var/mob/living/user)
var/message = sanitize(input(user, "Shout a message?", "Megaphone", null) as text)
var/message = sanitize(tgui_input_text(user, "Shout a message?", "Megaphone", null))
if(!message)
return
message = capitalize(message)

View File

@@ -49,7 +49,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
var/actual_pai_name
var/turf/location = get_turf(src)
if(choice == "No")
var/pai_name = input(user, "Choose your character's name", "Character Name") as text
var/pai_name = tgui_input_text(user, "Choose your character's name", "Character Name")
actual_pai_name = sanitize_name(pai_name, ,1)
if(isnull(actual_pai_name))
return ..()
@@ -73,7 +73,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
new_pai.key = user.key
card.setPersonality(new_pai)
if(!new_pai.savefile_load(new_pai))
var/pai_name = input(new_pai, "Choose your character's name", "Character Name") as text
var/pai_name = tgui_input_text(new_pai, "Choose your character's name", "Character Name")
actual_pai_name = sanitize_name(pai_name, ,1)
if(isnull(actual_pai_name))
return ..()
@@ -83,7 +83,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
new_pai.key = user.key
card.setPersonality(new_pai)
if(!new_pai.savefile_load(new_pai))
var/pai_name = input(new_pai, "Choose your character's name", "Character Name") as text
var/pai_name = tgui_input_text(new_pai, "Choose your character's name", "Character Name")
actual_pai_name = sanitize_name(pai_name, ,1)
if(isnull(actual_pai_name))
return ..()
@@ -328,7 +328,7 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
if(2)
radio.ToggleReception()
if(href_list["setlaws"])
var/newlaws = sanitize(input(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws) as message)
var/newlaws = sanitize(tgui_input_text(usr, "Enter any additional directives you would like your pAI personality to follow. Note that these directives will not override the personality's allegiance to its imprinted master. Conflicting directives will be ignored.", "pAI Directive Configuration", pai.pai_laws, multiline = TRUE))
if(newlaws)
pai.pai_laws = newlaws
to_chat(pai, "Your supplemental directives have been updated. Your new directives are:")

View File

@@ -417,7 +417,7 @@
return
else if(istype(I, /obj/item/weapon/pen))
if(loc == user && !user.incapacitated())
var/new_name = input(user, "What would you like to label the tape?", "Tape labeling") as null|text
var/new_name = tgui_input_text(user, "What would you like to label the tape?", "Tape labeling")
if(isnull(new_name)) return
new_name = sanitizeSafe(new_name)
if(new_name)

View File

@@ -22,7 +22,7 @@
named = 1
*/
var/message = sanitize(input(user,"Choose a message to relay to those around you.") as text|null)
var/message = sanitize(tgui_input_text(user,"Choose a message to relay to those around you."))
if(message)
audible_message("[bicon(src)] \The [src.name] states, \"[message]\"", runemessage = "synthesized speech")
if(ismob(loc))

View File

@@ -65,7 +65,7 @@
if(..())
return 1
if(href_list["channel"])
var/nc = input(usr, "Channel name", "Select new channel name", channel) as text|null
var/nc = tgui_input_text(usr, "Channel name", "Select new channel name", channel)
if(nc)
channel = nc
camera.c_tag = channel

View File

@@ -19,7 +19,7 @@
to_chat(usr, "The hailer is fried. The tiny input screen just shows a waving ASCII penis.")
return
var/new_message = input(usr, "Please enter new message (leave blank to reset).") as text
var/new_message = tgui_input_text(usr, "Please enter new message (leave blank to reset).")
if(!new_message || new_message == "")
use_message = "Halt! Security!"
else

View File

@@ -229,7 +229,7 @@
to_chat(user, "<span class='warning'>The MMI must go in after everything else!</span>")
if (istype(W, /obj/item/weapon/pen))
var/t = sanitizeSafe(input(user, "Enter new robot name", src.name, src.created_name), MAX_NAME_LEN)
var/t = sanitizeSafe(tgui_input_text(user, "Enter new robot name", src.name, src.created_name), MAX_NAME_LEN)
if (!t)
return
if (!in_range(src, usr) && src.loc != usr)

View File

@@ -399,7 +399,7 @@
/obj/item/stack/attack_hand(mob/user as mob)
if (user.get_inactive_hand() == src)
var/N = input(usr, "How many stacks of [src] would you like to split off? There are currently [amount].", "Split stacks", 1) as num|null
var/N = tgui_input_number(usr, "How many stacks of [src] would you like to split off? There are currently [amount].", "Split stacks", 1, amount, 1)
if(N)
var/obj/item/stack/F = src.split(N)
if (F)

View File

@@ -28,14 +28,22 @@
name = "stack of teal carpet"
type_to_spawn = /obj/item/stack/tile/carpet/teal
/obj/fiftyspawner/decocarpet
name = "stack of deco carpet"
type_to_spawn = /obj/item/stack/tile/carpet/deco
/obj/fiftyspawner/geocarpet
name = "stack of geometric carpet"
type_to_spawn = /obj/item/stack/tile/carpet/geo
/obj/fiftyspawner/retrocarpet
name = "stack of retro carpet"
name = "stack of blue retro carpet"
type_to_spawn = /obj/item/stack/tile/carpet/retro
/obj/fiftyspawner/retrocarpet_red
name = "stack of red retro carpet"
type_to_spawn = /obj/item/stack/tile/carpet/retro_red
/obj/fiftyspawner/happycarpet
name = "stack of happy carpet"
type_to_spawn = /obj/item/stack/tile/carpet/happy
/obj/fiftyspawner/floor
name = "stack of floor tiles"
type_to_spawn = /obj/item/stack/tile/floor

View File

@@ -85,6 +85,26 @@
desc = "An easy to fit wooden floor tile. It's blue!"
icon_state = "tile-sifwood"
/obj/item/stack/tile/wood/alt
name = "wood floor tile"
singular_name = "wood floor tile"
icon_state = "tile-wood_tile"
/obj/item/stack/tile/wood/parquet
name = "parquet wood floor tile"
singular_name = "parquet wood floor tile"
icon_state = "tile-wood_parquet"
/obj/item/stack/tile/wood/panel
name = "large wood floor tile"
singular_name = "large wood floor tile"
icon_state = "tile-wood_large"
/obj/item/stack/tile/wood/tile
name = "tiled wood floor tile"
singular_name = "tiled wood floor tile"
icon_state = "tile-wood_tile"
/obj/item/stack/tile/wood/cyborg
name = "wood floor tile synthesizer"
desc = "A device that makes wood floor tiles."
@@ -117,8 +137,23 @@
icon_state = "tile-tealcarpet"
no_variants = FALSE
/obj/item/stack/tile/carpet/bcarpet //YW EDIT: Commented out to help with upstream merging. Get on this you fucking virgo bois. -yw //CHOMP Comment: Yawn commented out this block, but CHOMP already commented out this stuff so I just removed theirs.
/obj/item/stack/tile/carpet/geo
icon_state = "tile-carpet-deco"
desc = "A piece of carpet with a gnarly geometric design. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/retro
icon_state = "tile-carpet-retro"
desc = "A piece of carpet with totally wicked blue space patterns. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/retro_red
icon_state = "tile-carpet-retro-red"
desc = "A piece of carpet with red-ical space patterns. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/happy
icon_state = "tile-carpet-happy"
desc = "A piece of carpet with happy patterns. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/bcarpet //YW EDIT: Commented out to help with upstream merging. Get on this you fucking virgo bois. -yw //CHOMP Comment: Yawn commented out this block, but CHOMP already commented out this stuff so I just removed theirs.
icon_state = "tile-carpet"
/obj/item/stack/tile/carpet/blucarpet
icon_state = "tile-carpet"
@@ -133,10 +168,6 @@
/obj/item/stack/tile/carpet/oracarpet
icon_state = "tile-carpet"
*/
/obj/item/stack/tile/carpet/deco
icon_state = "tile-carpet-deco"
/obj/item/stack/tile/carpet/retro
icon_state = "tile-carpet-retro"
/obj/item/stack/tile/floor
name = "floor tile"

View File

@@ -101,4 +101,20 @@
singular_name = "orange carpet"
desc = "A piece of orange carpet. It is the same size as a normal floor tile!"
icon_state = "tile-carpet"
default_type = MAT_CARPET_ORANGE
default_type = MAT_CARPET_ORANGE
/obj/item/stack/tile/carpet/geo
icon_state = "tile-carpet-deco"
desc = "A piece of carpet with a gnarly geometric design. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/retro
icon_state = "tile-carpet-retro"
desc = "A piece of carpet with totally wicked blue space patterns. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/retro_red
icon_state = "tile-carpet-retro-red"
desc = "A piece of carpet with red-ical space patterns. It is the same size as a normal floor tile!"
/obj/item/stack/tile/carpet/happy
icon_state = "tile-carpet-happy"
desc = "A piece of carpet with happy patterns. It is the same size as a normal floor tile!"

View File

@@ -161,7 +161,7 @@
/obj/item/surplus_voucher/ser/proc/spawn_item(var/turf/T)
var/path = pick(prob(4);/obj/item/weapon/reagent_containers/food/drinks/milk,
prob(4);/obj/item/weapon/reagent_containers/food/condiment/flour,
prob(4);/obj/item/weapon/reagent_containers/food/condiment/carton/flour,
prob(4);/obj/item/weapon/reagent_containers/food/drinks/soymilk,
prob(4);/obj/item/weapon/storage/fancy/egg_box,
prob(3);/obj/item/weapon/reagent_containers/food/snacks/meat,

View File

@@ -843,7 +843,7 @@
if(!M.mind)
return 0
var/input = sanitizeSafe(input(usr, "What do you want to name the plushie?", ,""), MAX_NAME_LEN)
var/input = sanitizeSafe(tgui_input_text(usr, "What do you want to name the plushie?", ,""), MAX_NAME_LEN)
if(src && input && !M.stat && in_range(M,src))
name = input

View File

@@ -133,7 +133,7 @@ AI MODULES
/obj/item/weapon/aiModule/safeguard/attack_self(var/mob/user as mob)
..()
var/targName = sanitize(input(usr, "Please enter the name of the person to safeguard.", "Safeguard who?", user.name))
var/targName = sanitize(tgui_input_text(usr, "Please enter the name of the person to safeguard.", "Safeguard who?", user.name))
targetName = targName
desc = text("A 'safeguard' AI module: 'Safeguard []. Anyone threatening or attempting to harm [] is no longer to be considered a crew member, and is a threat which must be neutralized.'", targetName, targetName)
@@ -159,7 +159,7 @@ AI MODULES
/obj/item/weapon/aiModule/oneHuman/attack_self(var/mob/user as mob)
..()
var/targName = sanitize(input(usr, "Please enter the name of the person who is the only crew member.", "Who?", user.real_name))
var/targName = sanitize(tgui_input_text(usr, "Please enter the name of the person who is the only crew member.", "Who?", user.real_name))
targetName = targName
desc = text("A 'one crew member' AI module: 'Only [] is a crew member.'", targetName)
@@ -244,7 +244,7 @@ AI MODULES
if(new_lawpos < MIN_SUPPLIED_LAW_NUMBER) return
lawpos = min(new_lawpos, MAX_SUPPLIED_LAW_NUMBER)
var/newlaw = ""
var/targName = sanitize(input(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw))
var/targName = sanitize(tgui_input_text(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw))
newFreeFormLaw = targName
desc = "A 'freeform' AI module: ([lawpos]) '[newFreeFormLaw]'"
@@ -357,7 +357,7 @@ AI MODULES
/obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob)
..()
var/newlaw = ""
var/targName = sanitize(input(usr, "Please enter a new core law for the AI.", "Freeform Law Entry", newlaw))
var/targName = sanitize(tgui_input_text(usr, "Please enter a new core law for the AI.", "Freeform Law Entry", newlaw))
newFreeFormLaw = targName
desc = "A 'freeform' Core AI module: '[newFreeFormLaw]'"
@@ -381,7 +381,7 @@ AI MODULES
/obj/item/weapon/aiModule/syndicate/attack_self(var/mob/user as mob)
..()
var/newlaw = ""
var/targName = sanitize(input(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw))
var/targName = sanitize(tgui_input_text(usr, "Please enter a new law for the AI.", "Freeform Law Entry", newlaw))
newFreeFormLaw = targName
desc = "A hacked AI law module: '[newFreeFormLaw]'"

View File

@@ -74,7 +74,7 @@
to_chat(user, "<span class='warning'>Circuit controls are locked.</span>")
return
var/existing_networks = jointext(network,",")
var/input = sanitize(input(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks))
var/input = sanitize(tgui_input_text(usr, "Which networks would you like to connect this camera console circuit to? Seperate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Multitool-Circuitboard interface", existing_networks))
if(!input)
to_chat(usr, "No input found please hang up and try your call again.")
return

View File

@@ -39,7 +39,7 @@
..()
/obj/item/weapon/plastique/attack_self(mob/user as mob)
var/newtime = input(usr, "Please set the timer.", "Timer", 10) as num
var/newtime = tgui_input_number(usr, "Please set the timer.", "Timer", 10, 60000, 10)
if(user.get_active_hand() == src)
newtime = CLAMP(newtime, 10, 60000)
timer = newtime

View File

@@ -288,7 +288,7 @@ Implant Specifics:<BR>"}
/obj/item/weapon/implant/explosive/post_implant(mob/source as mob)
elevel = tgui_alert(usr, "What sort of explosion would you prefer?", "Implant Intent", list("Localized Limb", "Destroy Body", "Full Explosion"))
phrase = input(usr, "Choose activation phrase:") as text
phrase = tgui_input_text(usr, "Choose activation phrase:")
var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "")
phrase = replace_characters(phrase, replacechars)
usr.mind.store_memory("Explosive implant in [source] can be activated by saying something containing the phrase ''[src.phrase]'', <B>say [src.phrase]</B> to attempt to activate.", 0, 0)

View File

@@ -21,7 +21,7 @@
/obj/item/weapon/implantcase/attackby(obj/item/weapon/I as obj, mob/user as mob)
..()
if (istype(I, /obj/item/weapon/pen))
var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text
var/t = tgui_input_text(user, "What would you like the label to be?", text("[]", src.name), null)
if (user.get_active_hand() != I)
return
if((!in_range(src, usr) && src.loc != user))

View File

@@ -3,8 +3,10 @@
req_access = list(access_kitchen)
starts_with = list(
/obj/item/weapon/reagent_containers/food/condiment/flour = 7,
/obj/item/weapon/reagent_containers/food/condiment/sugar = 2,
/obj/item/weapon/reagent_containers/food/condiment/carton/flour = 6,
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar = 1,
/obj/item/weapon/reagent_containers/food/condiment/carton/flour/rustic = 1,
/obj/item/weapon/reagent_containers/food/condiment/carton/sugar/rustic = 1,
/obj/item/weapon/reagent_containers/food/condiment/spacespice = 2
)

View File

@@ -90,7 +90,9 @@
src.set_dir(turn(src.dir, 90))
/obj/structure/closet/crate/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(opened)
if(W.is_wrench() && istype(src,/obj/structure/closet/crate/bin))
return ..()
else if(opened)
if(isrobot(user))
return
if(W.loc != user) // This should stop mounted modules ending up outside the module.

View File

@@ -3,7 +3,7 @@
icon_state = "girder"
anchored = TRUE
density = TRUE
plane = PLATING_PLANE
layer = TABLE_LAYER //CHOMPEdit - moved so that they render above catwalks.
w_class = ITEMSIZE_HUGE
var/state = 0
var/health = 200