Merge branch 'master' of https://github.com/VOREStation/VOREStation into upstream-merge-8298

This commit is contained in:
MistakeNot4892
2022-08-25 14:26:20 +10:00
1603 changed files with 70496 additions and 61794 deletions
+2 -2
View File
@@ -182,7 +182,7 @@
switch(param)
if("reason")
if(!value)
value = sanitize(input(usr, "Insert the new reason for [pckey]'s ban", "New Reason", "[reason]", null) as null|text)
value = sanitize(tgui_input_text(usr, "Insert the new reason for [pckey]'s ban", "New Reason", "[reason]", null))
value = sql_sanitize_text(value)
if(!value)
to_chat(usr, "Cancelled")
@@ -193,7 +193,7 @@
message_admins("[key_name_admin(usr)] has edited a ban for [pckey]'s reason from [reason] to [value]",1)
if("duration")
if(!value)
value = input(usr, "Insert the new duration (in minutes) for [pckey]'s ban", "New Duration", "[duration]", null) as null|num
value = tgui_input_number(usr, "Insert the new duration (in minutes) for [pckey]'s ban", "New Duration", "[duration]", null)
if(!isnum(value) || !value)
to_chat(usr, "Cancelled")
return
+1 -1
View File
@@ -77,7 +77,7 @@
if("remove all")
to_chat(src, "<span class='filter_adminlog'><b>[TORFILE] was [fdel(TORFILE)?"":"not "]removed.</b></span>")
if("find")
var/input = input(src,"Please input an IP address to search for:","Find ToR ban",null) as null|text
var/input = tgui_input_text(src,"Please input an IP address to search for:","Find ToR ban",null)
if(input)
if(ToRban_isbanned(input))
to_chat(src, "<span class='filter_adminlog'><font color='green'><b>Address is a known ToR address</b></font></span>")
+21 -94
View File
@@ -1,5 +1,3 @@
var/global/BSACooldown = 0
var/global/floorIsLava = 0
@@ -218,7 +216,6 @@ var/global/floorIsLava = 0
/datum/player_info/var/content // text content of the information
/datum/player_info/var/timestamp // Because this is bloody annoying
#define PLAYER_NOTES_ENTRIES_PER_PAGE 50
/datum/admins/proc/PlayerNotes()
set category = "Admin"
set name = "Player Notes"
@@ -235,56 +232,20 @@ var/global/floorIsLava = 0
if (!istype(src,/datum/admins))
to_chat(usr, "Error: you are not an admin!")
return
var/filter = input(usr, "Filter string (case-insensitive regex)", "Player notes filter") as text|null
var/filter = tgui_input_text(usr, "Filter string (case-insensitive regex)", "Player notes filter")
PlayerNotesPage(1, filter)
/datum/admins/proc/PlayerNotesPage(page, filter)
var/dat = "<B>Player notes</B> - <a href='?src=\ref[src];notes=filter'>Apply Filter</a><HR>"
var/savefile/S=new("data/player_notes.sav")
var/list/note_keys
S >> note_keys
if(!note_keys)
dat += "No notes found."
else
dat += "<table>"
if(note_keys)
note_keys = sortList(note_keys)
if(filter)
var/list/results = list()
var/regex/needle = regex(filter, "i")
for(var/haystack in note_keys)
if(needle.Find(haystack))
results += haystack
note_keys = results
// Display the notes on the current page
var/number_pages = note_keys.len / PLAYER_NOTES_ENTRIES_PER_PAGE
// Emulate CEILING(why does BYOND not have ceil, 1)
if(number_pages != round(number_pages))
number_pages = round(number_pages) + 1
var/page_index = page - 1
if(page_index < 0 || page_index >= number_pages)
dat += "<tr><td>No keys found.</td></tr>"
else
var/lower_bound = page_index * PLAYER_NOTES_ENTRIES_PER_PAGE + 1
var/upper_bound = (page_index + 1) * PLAYER_NOTES_ENTRIES_PER_PAGE
upper_bound = min(upper_bound, note_keys.len)
for(var/index = lower_bound, index <= upper_bound, index++)
var/t = note_keys[index]
dat += "<tr><td><a href='?src=\ref[src];notes=show;ckey=[t]'>[t]</a></td></tr>"
dat += "</table><hr>"
// Display a footer to select different pages
for(var/index = 1, index <= number_pages, index++)
if(index == page)
dat += "<b>"
dat += "<a href='?src=\ref[src];notes=list;index=[index];filter=[filter ? url_encode(filter) : 0]'>[index]</a> "
if(index == page)
dat += "</b>"
usr << browse(dat, "window=player_notes;size=400x400")
var/datum/tgui_module/player_notes/A = new(src)
A.ckeys = note_keys
A.tgui_interact(usr)
/datum/admins/proc/player_has_info(var/key as text)
@@ -303,44 +264,10 @@ var/global/floorIsLava = 0
if (!istype(src,/datum/admins))
to_chat(usr, "Error: you are not an admin!")
return
var/dat = "<html><head><title>Info on [key]</title></head>"
dat += "<body>"
var/p_age = "unknown"
for(var/client/C in GLOB.clients)
if(C.ckey == key)
p_age = C.player_age
break
dat +="<span style='color:#000000; font-weight: bold'>Player age: [p_age]</span><br>"
var/savefile/info = new("data/player_saves/[copytext(key, 1, 2)]/[key]/info.sav")
var/list/infos
info >> infos
if(!infos)
dat += "No information found on the given key.<br>"
else
var/update_file = 0
var/i = 0
for(var/datum/player_info/I in infos)
i += 1
if(!I.timestamp)
I.timestamp = "Pre-4/3/2012"
update_file = 1
if(!I.rank)
I.rank = "N/A"
update_file = 1
dat += "<font color=#008800>[I.content]</font> <i>by [I.author] ([I.rank])</i> on <i><font color=blue>[I.timestamp]</i></font> "
if(I.author == usr.key || I.author == "Adminbot" || ishost(usr))
dat += "<A href='?src=\ref[src];remove_player_info=[key];remove_index=[i]'>Remove</A>"
dat += "<br><br>"
if(update_file) info << infos
dat += "<br>"
dat += "<A href='?src=\ref[src];add_player_info=[key]'>Add Comment</A><br>"
dat += "</body></html>"
usr << browse(dat, "window=adminplayerinfo;size=480x480")
var/datum/tgui_module/player_notes_info/A = new(src)
A.key = key
A.tgui_interact(usr)
/datum/admins/proc/access_news_network() //MARKER
@@ -688,7 +615,7 @@ var/global/floorIsLava = 0
set desc="Announce your desires to the world"
if(!check_rights(0)) return
var/message = tgui_input_message(usr, "Global message to send:", "Admin Announce")
var/message = tgui_input_text(usr, "Global message to send:", "Admin Announce", multiline = TRUE, prevent_enter = TRUE)
if(message)
if(!check_rights(R_SERVER,0))
message = sanitize(message, 500, extra = 0)
@@ -709,12 +636,12 @@ var/datum/announcement/minor/admin_min_announcer = new
var/channel = tgui_input_list(usr, "Channel for message:","Channel", radiochannels)
if(channel) //They picked a channel
var/sender = input(usr, "Name of sender (max 75):", "Announcement", "Announcement Computer") as null|text
var/sender = tgui_input_text(usr, "Name of sender (max 75):", "Announcement", "Announcement Computer")
if(sender) //They put a sender
sender = sanitize(sender, 75, extra = 0)
var/message = input(usr, "Message content (max 500):", "Contents", "This is a test of the announcement system.") as null|message
var/msgverb = input(usr, "Name of verb (Such as 'states', 'says', 'asks', etc):", "Verb", "says") as null|text //VOREStation Addition
var/message = tgui_input_text(usr, "Message content (max 500):", "Contents", "This is a test of the announcement system.", multiline = TRUE, prevent_enter = TRUE)
var/msgverb = tgui_input_text(usr, "Name of verb (Such as 'states', 'says', 'asks', etc):", "Verb", "says")
if(message) //They put a message
message = sanitize(message, 500, extra = 0)
//VOREStation Edit Start
@@ -752,7 +679,7 @@ var/datum/announcement/minor/admin_min_announcer = new
The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed.</span>")
var/list/decomposed
var/message = input(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "") as null|message
var/message = tgui_input_text(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "", multiline = TRUE, prevent_enter = TRUE)
if(!message)
return
@@ -1118,7 +1045,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if(!seedtype || !SSplants.seeds[seedtype])
return
var/amount = input(usr, "Amount of fruit to spawn", "Fruit Amount", 1) as null|num
var/amount = tgui_input_number(usr, "Amount of fruit to spawn", "Fruit Amount", 1)
if(!isnull(amount))
var/datum/seed/S = SSplants.seeds[seedtype]
S.harvest(usr,0,0,amount)
@@ -1531,7 +1458,7 @@ var/datum/announcement/minor/admin_min_announcer = new
var/crystals
if(check_rights(R_ADMIN|R_EVENT))
crystals = input(usr, "Amount of telecrystals for [H.ckey], currently [H.mind.tcrystals].", crystals) as null|num
crystals = tgui_input_number(usr, "Amount of telecrystals for [H.ckey], currently [H.mind.tcrystals].", crystals)
if (!isnull(crystals))
H.mind.tcrystals = crystals
var/msg = "[key_name(usr)] has modified [H.ckey]'s telecrystals to [crystals]."
@@ -1547,7 +1474,7 @@ var/datum/announcement/minor/admin_min_announcer = new
var/crystals
if(check_rights(R_ADMIN|R_EVENT))
crystals = input(usr, "Amount of telecrystals to give to [H.ckey], currently [H.mind.tcrystals].", crystals) as null|num
crystals = tgui_input_number(usr, "Amount of telecrystals to give to [H.ckey], currently [H.mind.tcrystals].", crystals)
if (!isnull(crystals))
H.mind.tcrystals += crystals
var/msg = "[key_name(usr)] has added [crystals] to [H.ckey]'s telecrystals."
@@ -1570,7 +1497,7 @@ var/datum/announcement/minor/admin_min_announcer = new
to_chat(usr, "Error: you are not an admin!")
return
var/replyorigin = input(src.owner, "Please specify who the fax is coming from", "Origin") as text|null
var/replyorigin = tgui_input_text(src.owner, "Please specify who the fax is coming from", "Origin")
var/obj/item/weapon/paper/admin/P = new /obj/item/weapon/paper/admin( null ) //hopefully the null loc won't cause trouble for us
faxreply = P
@@ -1585,7 +1512,7 @@ var/datum/announcement/minor/admin_min_announcer = new
/datum/admins/var/obj/item/weapon/paper/admin/faxreply // var to hold fax replies in
/datum/admins/proc/faxCallback(var/obj/item/weapon/paper/admin/P, var/obj/machinery/photocopier/faxmachine/destination)
var/customname = input(src.owner, "Pick a title for the report", "Title") as text|null
var/customname = tgui_input_text(src.owner, "Pick a title for the report", "Title")
P.name = "[P.origin] - [customname]"
P.desc = "This is a paper titled '" + P.name + "'."
@@ -1636,8 +1563,8 @@ var/datum/announcement/minor/admin_min_announcer = new
for(var/client/C in GLOB.admins)
if((R_ADMIN | R_MOD | R_EVENT) & C.holder.rights)
to_chat(C, "<span class='log_message'><span class='prefix'>FAX LOG:</span>[key_name_admin(src.owner)] has sent a fax message to [destination.department] (<a href='?_src_=holder;AdminFaxView=\ref[rcvdcopy]'>VIEW</a>)</span>")
var/plaintext_title = P.sender ? "replied to [key_name(P.sender)]'s fax" : "sent a fax message to [destination.department]"
var/plaintext_title = P.sender ? "replied to [key_name(P.sender)]'s fax" : "sent a fax message to [destination.department]"
var/fax_text = paper_html_to_plaintext(P.info)
log_game(plaintext_title)
log_game(fax_text)
+1 -1
View File
@@ -18,7 +18,7 @@
/client/proc/admin_memo_write()
var/savefile/F = new(MEMOFILE)
if(F)
var/memo = sanitize(input(src,"Type your memo\n(Leaving it blank will delete your current memo):","Write Memo",null) as null|message, extra = 0)
var/memo = sanitize(tgui_input_text(src,"Type your memo\n(Leaving it blank will delete your current memo):","Write Memo",null, multiline = TRUE, prevent_enter = TRUE), extra = 0)
switch(memo)
if(null)
return
+2 -2
View File
@@ -127,7 +127,7 @@ world/New()
if(M.client)
CID = M.client.computer_id
var/body = input(src.mob, "Describe in detail what you're reporting [M] for", "Report") as null|text
var/body = tgui_input_text(src.mob, "Describe in detail what you're reporting [M] for", "Report")
if(!body) return
@@ -174,7 +174,7 @@ world/New()
if(!found)
to_chat(src, "<b>* An error occured, sorry.</b>")
var/body = input(src.mob, "Enter a body for the news", "Body") as null|message
var/body = tgui_input_text(src.mob, "Enter a body for the news", "Body", multiline = TRUE, prevent_enter = TRUE)
if(!body) return
found.body = body
+7 -3
View File
@@ -7,6 +7,8 @@ var/list/admin_verbs_default = list(
/client/proc/cmd_admin_say, //VOREStation Add,
/client/proc/cmd_mod_say, //VOREStation Add,
/client/proc/cmd_event_say, //VOREStation Add,
/client/proc/cmd_mentor_ticket_panel,
/client/proc/cmd_mentor_say
// /client/proc/hide_verbs, //hides all our adminverbs, //VOREStation Remove,
// /client/proc/hide_most_verbs, //hides all our hideable adminverbs, //VOREStation Remove,
// /client/proc/debug_variables, //allows us to -see- the variables of any instance in the game. +VAREDIT needed to modify, //VOREStation Remove,
@@ -112,7 +114,7 @@ var/list/admin_verbs_admin = list(
/client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance ,
/client/proc/change_security_level,
/client/proc/view_chemical_reaction_logs,
/client/proc/makePAI,
/client/proc/makepAI,
/client/proc/toggle_debug_logs,
/client/proc/toggle_attack_logs,
/datum/admins/proc/paralyze_mob,
@@ -121,7 +123,9 @@ var/list/admin_verbs_admin = list(
/datum/admins/proc/set_uplink, //VOREStation Add,
/datum/admins/proc/sendFax,
/client/proc/despawn_player,
/datum/admins/proc/view_feedback
/datum/admins/proc/view_feedback,
/client/proc/make_mentor,
/client/proc/unmake_mentor
)
var/list/admin_verbs_ban = list(
@@ -519,7 +523,7 @@ var/list/admin_verbs_event_manager = list(
/client/proc/change_human_appearance_admin, // Allows an admin to change the basic appearance of human-based mobs ,
/client/proc/change_human_appearance_self, // Allows the human-based mob itself change its basic appearance ,
/client/proc/change_security_level,
/client/proc/makePAI,
/client/proc/makepAI,
/client/proc/toggle_debug_logs,
/client/proc/toggle_attack_logs,
/datum/admins/proc/paralyze_mob,
+33 -12
View File
@@ -35,11 +35,24 @@
set category = "Admin"
set name = "Aghost"
if(!holder) return
var/build_mode
if(src.buildmode)
build_mode = tgui_alert(src, "You appear to be currently in buildmode. Do you want to re-enter buildmode after aghosting?", "Buildmode", list("Yes", "No"))
if(build_mode != "Yes")
to_chat(src, "Will not re-enter buildmode after switch.")
if(istype(mob,/mob/observer/dead))
//re-enter
var/mob/observer/dead/ghost = mob
if(ghost.can_reenter_corpse)
ghost.reenter_corpse()
if(build_mode)
togglebuildmode(mob)
ghost.reenter_corpse()
if(build_mode == "Yes")
togglebuildmode(mob)
else
ghost.reenter_corpse()
else
to_chat(ghost, "<span class='filter_system warning'>Error: Aghost: Can't reenter corpse.</span>")
return
@@ -51,8 +64,16 @@
else
//ghostize
var/mob/body = mob
var/mob/observer/dead/ghost = body.ghostize(1)
ghost.admin_ghosted = 1
var/mob/observer/dead/ghost
if(build_mode)
togglebuildmode(body)
ghost = body.ghostize(1)
ghost.admin_ghosted = 1
if(build_mode == "Yes")
togglebuildmode(ghost)
else
ghost = body.ghostize(1)
ghost.admin_ghosted = 1
if(body)
body.teleop = ghost
if(!body.key)
@@ -179,7 +200,7 @@
if(istype(src.mob, /mob/new_player))
mob.name = capitalize(ckey)
else
var/new_key = ckeyEx(input(usr, "Enter your desired display name.", "Fake Key", key) as text|null)
var/new_key = ckeyEx(tgui_input_text(usr, "Enter your desired display name.", "Fake Key", key))
if(!new_key)
return
if(length(new_key) >= 26)
@@ -253,10 +274,10 @@
if("Big Bomb")
explosion(epicenter, 3, 5, 7, 5)
if("Custom Bomb")
var/devastation_range = input(usr, "Devastation range (in tiles):") as num
var/heavy_impact_range = input(usr, "Heavy impact range (in tiles):") as num
var/light_impact_range = input(usr, "Light impact range (in tiles):") as num
var/flash_range = input(usr, "Flash range (in tiles):") as num
var/devastation_range = tgui_input_number(usr, "Devastation range (in tiles):")
var/heavy_impact_range = tgui_input_number(usr, "Heavy impact range (in tiles):")
var/light_impact_range = tgui_input_number(usr, "Light impact range (in tiles):")
var/flash_range = tgui_input_number(usr, "Flash range (in tiles):")
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range)
message_admins("<font color='blue'>[ckey] creating an admin explosion at [epicenter.loc].</font>")
feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -276,7 +297,7 @@
if ("Badmin") severity = 99
D.makerandom(severity)
D.infectionchance = input(usr, "How virulent is this disease? (1-100)", "Give Disease", D.infectionchance) as num
D.infectionchance = tgui_input_number(usr, "How virulent is this disease? (1-100)", "Give Disease", D.infectionchance)
if(istype(T,/mob/living/carbon/human))
var/mob/living/carbon/human/H = T
@@ -307,7 +328,7 @@
var/new_modifier_type = tgui_input_list(usr, "What modifier should we add to [L]?", "Modifier Type", possible_modifiers)
if(!new_modifier_type)
return
var/duration = input(usr, "How long should the new modifier last, in seconds. To make it last forever, write '0'.", "Modifier Duration") as num
var/duration = tgui_input_number(usr, "How long should the new modifier last, in seconds. To make it last forever, write '0'.", "Modifier Duration")
if(duration == 0)
duration = null
else
@@ -321,7 +342,7 @@
set name = "Make Sound"
set desc = "Display a message to everyone who can hear the target"
if(O)
var/message = sanitize(input(usr, "What do you want the message to be?", "Make Sound") as text|null)
var/message = sanitize(tgui_input_text(usr, "What do you want the message to be?", "Make Sound"))
if(!message)
return
O.audible_message(message)
@@ -405,7 +426,7 @@
var/mob/living/silicon/S = tgui_input_list(usr, "Select silicon.", "Rename Silicon.", silicon_mob_list)
if(!S) return
var/new_name = sanitizeSafe(input(src, "Enter new name. Leave blank or as is to cancel.", "[S.real_name] - Enter new silicon name", S.real_name))
var/new_name = sanitizeSafe(tgui_input_text(src, "Enter new name. Leave blank or as is to cancel.", "[S.real_name] - Enter new silicon name", S.real_name))
if(new_name && new_name != S.real_name)
log_and_message_admins("has renamed the silicon '[S.real_name]' to '[new_name]'")
S.SetName(new_name)
+3 -3
View File
@@ -39,9 +39,9 @@
if(isturf(orbiter))
to_chat(usr, "<span class = 'warning'>The orbiter cannot be a turf. It can only be used as a center.</span>")
return
var/distance = input(usr, "How large will their orbit radius be? (In pixels. 32 is 'near around a character)", "Orbit Radius", 32) as num|null
var/speed = input(usr, "How fast will they orbit (negative numbers spin clockwise)", "Orbit Speed", 20) as num|null
var/segments = input(usr, "How many segments will they have in their orbit? (3 is a triangle, 36 is a circle, etc)", "Orbit Segments", 36) as num|null
var/distance = tgui_input_number(usr, "How large will their orbit radius be? (In pixels. 32 is 'near around a character)", "Orbit Radius", 32)
var/speed = tgui_input_number(usr, "How fast will they orbit (negative numbers spin clockwise)", "Orbit Speed", 20)
var/segments = tgui_input_number(usr, "How many segments will they have in their orbit? (3 is a triangle, 36 is a circle, etc)", "Orbit Segments", 36)
var/clock = FALSE
if(!distance)
distance = 32
+3 -3
View File
@@ -21,7 +21,7 @@
target = null
targetselected = 0
var/procname = input(usr, "Proc path, eg: /proc/fake_blood","Path:", null) as text|null
var/procname = tgui_input_text(usr, "Proc path, eg: /proc/fake_blood","Path:", null)
if(!procname)
return
@@ -136,7 +136,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
if(!check_rights(R_DEBUG))
return
var/procname = input(usr, "Proc name, eg: fake_blood","Proc:", null) as text|null
var/procname = tgui_input_text(usr, "Proc name, eg: fake_blood","Proc:", null)
if(!procname)
return
if(!hascall(A,procname))
@@ -161,7 +161,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
to_chat(usr, .)
/client/proc/get_callproc_args()
var/argnum = input(usr, "Number of arguments","Number:",0) as num|null
var/argnum = tgui_input_number(usr, "Number of arguments","Number:",0)
if(isnull(argnum))
return null //Cancel
+3 -3
View File
@@ -22,13 +22,13 @@
if(F)
var/title = F["title"]
var/body = html2paper_markup(F["body"])
var/new_title = sanitize(input(src,"Write a good title for the news update. Note: HTML is NOT supported.","Write News", title) as null|text, extra = 0)
var/new_title = sanitize(tgui_input_text(src,"Write a good title for the news update. Note: HTML is NOT supported.","Write News", title), extra = 0)
if(!new_title)
return
var/new_body = sanitize(input(src,"Write the body of the news update here. Note: HTML is NOT supported, however paper markup is supported. \n\
var/new_body = sanitize(tgui_input_text(src,"Write the body of the news update here. Note: HTML is NOT supported, however paper markup is supported. \n\
Hitting enter will automatically add a line break. \n\
Valid markup includes: \[b\], \[i\], \[u\], \[large\], \[h1\], \[h2\], \[h3\]\ \[*\], \[hr\], \[small\], \[list\], \[table\], \[grid\], \
\[row\], \[cell\], \[logo\], \[sglogo\].","Write News", body) as null|message, extra = 0)
\[row\], \[cell\], \[logo\], \[sglogo\].","Write News", body, multiline = TRUE, prevent_enter = TRUE), extra = 0)
new_body = paper_markup2html(new_body)
@@ -26,7 +26,7 @@
var/transition_area = tgui_input_list(user, "Which area is the transition area? (MAKE SURE THIS IS CORRECT OR THINGS WILL BREAK)", "Area Choice", area_choices)
if (!transition_area) return
var/move_duration = input(user, "How many seconds will this jump take?") as num
var/move_duration = tgui_input_number(user, "How many seconds will this jump take?")
S.long_jump(area_choices[origin_area], area_choices[destination_area], area_choices[transition_area], move_duration)
message_admins("<span class='notice'>[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] lasting [move_duration] seconds for the [shuttle_tag] shuttle</span>", 1)
+30 -39
View File
@@ -24,6 +24,8 @@
else if(href_list["ahelp_tickets"])
GLOB.ahelp_tickets.BrowseTickets(text2num(href_list["ahelp_tickets"]))
mentor_commands(href, href_list, src)
if(href_list["dbsearchckey"] || href_list["dbsearchadmin"])
var/adminckey = href_list["dbsearchadmin"]
@@ -102,6 +104,8 @@
notes_add(banckey,banreason,usr)
DB_ban_record(bantype, playermob, banduration, banreason, banjob, null, banckey, banip, bancid )
if((bantype == BANTYPE_PERMA || bantype == BANTYPE_TEMP) && playermob.client)
qdel(playermob.client)
else if(href_list["editrights"])
if(!check_rights(R_PERMISSIONS))
@@ -113,7 +117,7 @@
var/task = href_list["editrights"]
if(task == "add")
var/new_ckey = ckey(input(usr,"New admin's ckey","Admin ckey", null) as text|null)
var/new_ckey = ckey(tgui_input_text(usr,"New admin's ckey","Admin ckey", null))
if(!new_ckey) return
if(new_ckey in admin_datums)
to_chat(usr, "<span class='filter_adminlog warning'>Error: Topic 'editrights': [new_ckey] is already an admin</span>")
@@ -151,7 +155,7 @@
switch(new_rank)
if(null,"") return
if("*New Rank*")
new_rank = input(usr, "Please input a new rank", "New custom rank", null, null) as null|text
new_rank = tgui_input_text(usr, "Please input a new rank", "New custom rank")
if(config.admin_legacy_system)
new_rank = ckeyEx(new_rank)
if(!new_rank)
@@ -232,7 +236,7 @@
if(!check_rights(R_SERVER)) return
if (emergency_shuttle.wait_for_launch)
var/new_time_left = input(usr, "Enter new shuttle launch countdown (seconds):","Edit Shuttle Launch Time", emergency_shuttle.estimate_launch_time() ) as num
var/new_time_left = tgui_input_number(usr, "Enter new shuttle launch countdown (seconds):","Edit Shuttle Launch Time", emergency_shuttle.estimate_launch_time() )
emergency_shuttle.launch_time = world.time + new_time_left*10
@@ -240,7 +244,7 @@
message_admins("<font color='blue'>[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]</font>", 1)
else if (emergency_shuttle.shuttle.has_arrive_time())
var/new_time_left = input(usr, "Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", emergency_shuttle.estimate_arrival_time() ) as num
var/new_time_left = tgui_input_number(usr, "Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", emergency_shuttle.estimate_arrival_time() )
emergency_shuttle.shuttle.arrive_time = world.time + new_time_left*10
log_admin("[key_name(usr)] edited the Emergency Shuttle's arrival time to [new_time_left]")
@@ -338,17 +342,17 @@
var/mins = 0
if(minutes > CMinutes)
mins = minutes - CMinutes
mins = input(usr,"How long (in minutes)? (Default: 1440)","Ban time",mins ? mins : 1440) as num|null
mins = tgui_input_number(usr,"How long (in minutes)? (Default: 1440)","Ban time",mins ? mins : 1440)
if(!mins) return
mins = min(525599,mins)
minutes = CMinutes + mins
duration = GetExp(minutes)
reason = sanitize(input(usr,"Reason?","reason",reason2) as text|null)
reason = sanitize(tgui_input_text(usr,"Reason?","reason",reason2))
if(!reason) return
if("No")
temp = 0
duration = "Perma"
reason = sanitize(input(usr,"Reason?","reason",reason2) as text|null)
reason = sanitize(tgui_input_text(usr,"Reason?","reason",reason2))
if(!reason) return
log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]")
@@ -758,13 +762,13 @@
if(config.ban_legacy_system)
to_chat(usr, "<span class='filter_adminlog warning'>Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.</span>")
return
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
var/mins = tgui_input_number(usr,"How long (in minutes)?","Ban time",1440)
if(!mins)
return
if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_job_tempban_max)
to_chat(usr, "<span class='filter_adminlog warning'> Moderators can only job tempban up to [config.mod_job_tempban_max] minutes!</span>")
return
var/reason = sanitize(input(usr,"Reason?","Please State Reason","") as text|null)
var/reason = sanitize(tgui_input_text(usr,"Reason?","Please State Reason",""))
if(!reason)
return
@@ -789,7 +793,7 @@
return 1
if("No")
if(!check_rights(R_BAN)) return
var/reason = sanitize(input(usr,"Reason?","Please State Reason","") as text|null)
var/reason = sanitize(tgui_input_text(usr,"Reason?","Please State Reason",""))
if(reason)
var/msg
for(var/job in notbannedlist)
@@ -846,7 +850,7 @@
if (ismob(M))
if(!check_if_greater_rights_than(M.client))
return
var/reason = sanitize(input(usr, "Please enter reason.") as null|message)
var/reason = sanitize(tgui_input_text(usr, "Please enter reason.", multiline = TRUE, prevent_enter = TRUE))
if(!reason)
return
@@ -888,14 +892,14 @@
switch(tgui_alert(usr, "Temporary Ban?","Temporary Ban",list("Yes","No","Cancel")))
if("Yes")
var/mins = input(usr,"How long (in minutes)?","Ban time",1440) as num|null
var/mins = tgui_input_number(usr,"How long (in minutes)?","Ban time",1440)
if(!mins)
return
if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > config.mod_tempban_max)
to_chat(usr, "<span class='warning'>Moderators can only job tempban up to [config.mod_tempban_max] minutes!</span>")
return
if(mins >= 525600) mins = 525599
var/reason = sanitize(input(usr,"Reason?","reason","Griefer") as text|null)
var/reason = sanitize(tgui_input_text(usr,"Reason?","reason","Griefer"))
if(!reason)
return
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
@@ -919,7 +923,7 @@
//qdel(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends.
if("No")
if(!check_rights(R_BAN)) return
var/reason = sanitize(input(usr,"Reason?","reason","Griefer") as text|null)
var/reason = sanitize(tgui_input_text(usr,"Reason?","reason","Griefer"))
if(!reason)
return
switch(tgui_alert(usr,"IP ban?","IP Ban",list("Yes","No","Cancel")))
@@ -1045,7 +1049,7 @@
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>this can only be used on instances of type /mob</span>")
var/speech = input(usr, "What will [key_name(M)] say?.", "Force speech", "") // Don't need to sanitize, since it does that in say(), we also trust our admins.
var/speech = tgui_input_text(usr, "What will [key_name(M)] say?.", "Force speech", "") // Don't need to sanitize, since it does that in say(), we also trust our admins.
if(!speech) return
M.say(speech)
speech = sanitize(speech) // Nah, we don't trust them
@@ -1463,7 +1467,7 @@
return
if(L.can_centcom_reply())
var/input = sanitize(input(src.owner, "Please enter a message to reply to [key_name(L)] via their headset.","Outgoing message from CentCom", ""))
var/input = sanitize(tgui_input_text(src.owner, "Please enter a message to reply to [key_name(L)] via their headset.","Outgoing message from CentCom", ""))
if(!input) return
to_chat(src.owner, "<span class='filter_adminlog'>You sent [input] to [L] via a secure channel.</span>")
@@ -1488,7 +1492,7 @@
to_chat(usr, "<span class='filter_adminlog'>The person you are trying to contact is not wearing a headset</span>")
return
var/input = sanitize(input(src.owner, "Please enter a message to reply to [key_name(H)] via their headset.","Outgoing message from a shadowy figure...", ""))
var/input = sanitize(tgui_input_text(src.owner, "Please enter a message to reply to [key_name(H)] via their headset.","Outgoing message from a shadowy figure...", ""))
if(!input) return
to_chat(src.owner, "<span class='filter_adminlog'>You sent [input] to [H] via a secure channel.</span>")
@@ -1785,7 +1789,7 @@
src.access_news_network()
else if(href_list["ac_set_channel_name"])
src.admincaster_feed_channel.channel_name = sanitizeSafe(input(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))
src.admincaster_feed_channel.channel_name = sanitizeSafe(tgui_input_text(usr, "Provide a Feed Channel Name", "Network Channel Handler", ""))
src.access_news_network()
else if(href_list["ac_set_channel_lock"])
@@ -1817,11 +1821,11 @@
src.access_news_network()
else if(href_list["ac_set_new_title"])
src.admincaster_feed_message.title = sanitize(input(usr, "Enter the Feed title", "Network Channel Handler", ""))
src.admincaster_feed_message.title = sanitize(tgui_input_text(usr, "Enter the Feed title", "Network Channel Handler", ""))
src.access_news_network()
else if(href_list["ac_set_new_message"])
src.admincaster_feed_message.body = sanitize(input(usr, "Write your Feed story", "Network Channel Handler", "") as message)
src.admincaster_feed_message.body = sanitize(tgui_input_text(usr, "Write your Feed story", "Network Channel Handler", "", multiline = TRUE, prevent_enter = TRUE))
src.access_news_network()
else if(href_list["ac_submit_new_message"])
@@ -1863,11 +1867,11 @@
src.access_news_network()
else if(href_list["ac_set_wanted_name"])
src.admincaster_feed_message.author = sanitize(input(usr, "Provide the name of the Wanted person", "Network Security Handler", ""))
src.admincaster_feed_message.author = sanitize(tgui_input_text(usr, "Provide the name of the Wanted person", "Network Security Handler", ""))
src.access_news_network()
else if(href_list["ac_set_wanted_desc"])
src.admincaster_feed_message.body = sanitize(input(usr, "Provide the a description of the Wanted person and any other details you deem important", "Network Security Handler", ""))
src.admincaster_feed_message.body = sanitize(tgui_input_text(usr, "Provide the a description of the Wanted person and any other details you deem important", "Network Security Handler", ""))
src.access_news_network()
else if(href_list["ac_submit_wanted"])
@@ -1972,7 +1976,7 @@
src.access_news_network()
else if(href_list["ac_set_signature"])
src.admincaster_signature = sanitize(input(usr, "Provide your desired signature", "Network Identity Handler", ""))
src.admincaster_signature = sanitize(tgui_input_text(usr, "Provide your desired signature", "Network Identity Handler", ""))
src.access_news_network()
else if(href_list["populate_inactive_customitems"])
@@ -2019,21 +2023,6 @@
// player info stuff
if(href_list["add_player_info"])
var/key = href_list["add_player_info"]
var/add = sanitize(input(usr, "Add Player Info") as null|text)
if(!add) return
notes_add(key,add,usr)
show_player_info(key)
if(href_list["remove_player_info"])
var/key = href_list["remove_player_info"]
var/index = text2num(href_list["remove_index"])
notes_del(key, index)
show_player_info(key)
if(href_list["notes"])
var/ckey = href_list["ckey"]
if(!ckey)
@@ -2043,7 +2032,9 @@
switch(href_list["notes"])
if("show")
show_player_info(ckey)
var/datum/tgui_module/player_notes_info/A = new(src)
A.key = ckey
A.tgui_interact(usr)
if("list")
var/filter
if(href_list["filter"] && href_list["filter"] != "0")
+1 -1
View File
@@ -459,7 +459,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
usr << browse(dat.Join(), "window=ahelp[id];size=620x480")
/datum/admin_help/proc/Retitle()
var/new_title = input(usr, "Enter a title for the ticket", "Rename Ticket", name) as text|null
var/new_title = tgui_input_text(usr, "Enter a title for the ticket", "Rename Ticket", name)
if(new_title)
name = new_title
//not saying the original name cause it could be a long ass message
+3 -3
View File
@@ -210,13 +210,13 @@
if(config.allow_admin_jump)
if(isnull(tx))
tx = input(usr, "Select X coordinate", "Move Atom", null, null) as null|num
tx = tgui_input_number(usr, "Select X coordinate", "Move Atom", null, null)
if(!tx) return
if(isnull(ty))
ty = input(usr, "Select Y coordinate", "Move Atom", null, null) as null|num
ty = tgui_input_number(usr, "Select Y coordinate", "Move Atom", null, null)
if(!ty) return
if(isnull(tz))
tz = input(usr, "Select Z coordinate", "Move Atom", null, null) as null|num
tz = tgui_input_number(usr, "Select Z coordinate", "Move Atom", null, null)
if(!tz) return
var/turf/T = locate(tx, ty, tz)
if(!T)
+4 -4
View File
@@ -57,7 +57,7 @@
if(AH)
message_admins("<span class='pm'>[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.</span>")
var/msg = input(src,"Message:", "Private message to [key_name(C, 0, 0)]") as text|null
var/msg = tgui_input_text(src,"Message:", "Private message to [key_name(C, 0, 0)]")
if (!msg)
message_admins("<span class='pm'>[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help.</span>")
return
@@ -92,7 +92,7 @@
if(!ircreplyamount) //to prevent people from spamming irc
return
if(!msg)
msg = input(src,"Message:", "Private message to Administrator") as text|null
msg = tgui_input_text(src,"Message:", "Private message to Administrator")
if(!msg)
return
@@ -112,7 +112,7 @@
//get message text, limit it's length.and clean/escape html
if(!msg)
msg = input(src,"Message:", "Private message to [key_name(recipient, 0, 0)]") as text|null
msg = tgui_input_text(src,"Message:", "Private message to [key_name(recipient, 0, 0)]")
if(!msg)
return
@@ -188,7 +188,7 @@
spawn() //so we don't hold the caller proc up
var/sender = src
var/sendername = key
var/reply = input(recipient, msg,"Admin PM from-[sendername]", "") as text|null //show message and await a reply
var/reply = tgui_input_text(recipient, msg,"Admin PM from-[sendername]", "") //show message and await a reply
if(recipient && reply)
if(sender)
recipient.cmd_admin_pm(sender,reply) //sender is still about, let's reply to them
+7 -7
View File
@@ -257,16 +257,16 @@
if(BUILDMODE_EDIT)
var/list/locked = list("vars", "key", "ckey", "client", "firemut", "ishulk", "telekinesis", "xray", "virus", "viruses", "cuffed", "ka", "last_eaten", "urine")
master.buildmode.varholder = input(usr,"Enter variable name:" ,"Name", "name")
master.buildmode.varholder = tgui_input_text(usr,"Enter variable name:" ,"Name", "name")
if(master.buildmode.varholder in locked && !check_rights(R_DEBUG,0))
return 1
var/thetype = tgui_input_list(usr,"Select variable type:", "Type", list("text","number","mob-reference","obj-reference","turf-reference"))
if(!thetype) return 1
switch(thetype)
if("text")
master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", "value") as text
master.buildmode.valueholder = tgui_input_text(usr,"Enter variable value:" ,"Value", "value")
if("number")
master.buildmode.valueholder = input(usr,"Enter variable value:" ,"Value", 123) as num
master.buildmode.valueholder = tgui_input_number(usr,"Enter variable value:" ,"Value", 123)
if("mob-reference")
master.buildmode.valueholder = tgui_input_list(usr,"Enter variable value:", "Value", mob_list)
if("obj-reference")
@@ -286,11 +286,11 @@
var/choice = tgui_alert(usr, "Change the new light range, power, or color?", "Light Maker", list("Range", "Power", "Color"))
switch(choice)
if("Range")
var/input = input(usr, "New light range.","Light Maker",3) as null|num
var/input = tgui_input_number(usr, "New light range.","Light Maker",3)
if(input)
new_light_range = input
if("Power")
var/input = input(usr, "New light power.","Light Maker",3) as null|num
var/input = tgui_input_number(usr, "New light power.","Light Maker",3)
if(input)
new_light_intensity = input
if("Color")
@@ -625,7 +625,7 @@
return
/obj/effect/bmode/buildmode/proc/get_path_from_partial_text(default_path)
var/desired_path = input(usr, "Enter full or partial typepath.","Typepath","[default_path]")
var/desired_path = tgui_input_text(usr, "Enter full or partial typepath.","Typepath","[default_path]")
var/list/types = typesof(/atom)
var/list/matches = list()
@@ -643,7 +643,7 @@
if(matches.len==1)
result = matches[1]
else
result = tgui_input_list(usr, "Select an atom type", "Spawn Atom", matches)
result = tgui_input_list(usr, "Select an atom type", "Spawn Atom", matches, strict_modern = TRUE)
if(!objholder)
result = default_path
return result
@@ -74,7 +74,7 @@
M.g_skin = hex2num(copytext(new_skin, 4, 6))
M.b_skin = hex2num(copytext(new_skin, 6, 8))
var/new_tone = input(usr, "Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
var/new_tone = tgui_input_number(usr, "Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation", null, 220, 1)
if (new_tone)
M.s_tone = max(min(round(text2num(new_tone)), 220), 1)
+1 -1
View File
@@ -12,7 +12,7 @@
if("explosion")
if(tgui_alert(usr, "The game will be over. Are you really sure?", "Confirmation", list("Continue","Cancel")) == "Cancel")
return
var/parameter = input(src,"station_missed = ?","Enter Parameter",0) as num
var/parameter = tgui_input_number(src,"station_missed = ?","Enter Parameter",0,1,0)
var/override
switch(parameter)
if(1)
+1 -1
View File
@@ -7,7 +7,7 @@
to_chat(src, "Only administrators may use this command.")
return
var/input = sanitize(input(usr, "Enter the description of the custom event. Be descriptive. To cancel the event, make this blank or hit cancel.", "Custom Event", custom_event_msg) as message|null, MAX_PAPER_MESSAGE_LEN, extra = 0)
var/input = sanitize(tgui_input_text(usr, "Enter the description of the custom event. Be descriptive. To cancel the event, make this blank or hit cancel.", "Custom Event", custom_event_msg, MAX_PAPER_MESSAGE_LEN, TRUE, prevent_enter = TRUE), MAX_PAPER_MESSAGE_LEN, extra = 0)
if(!input || input == "")
custom_event_msg = null
log_admin("[usr.key] has cleared the custom event text.")
+15 -11
View File
@@ -129,31 +129,35 @@
M.Animalize()
/client/proc/makepAI(var/turf/T in mob_list)
/client/proc/makepAI()
set category = "Fun"
set name = "Make pAI"
set desc = "Specify a location to spawn a pAI device, then specify a key to play that pAI"
set desc = "Spawn someone in as a pAI!"
if(!check_rights(R_ADMIN|R_EVENT|R_DEBUG))
return
var/turf/T = get_turf(mob)
var/list/available = list()
for(var/mob/C in mob_list)
if(C.key)
if(C.key && isobserver(C))
available.Add(C)
var/mob/choice = tgui_input_list(usr, "Choose a player to play the pAI", "Spawn pAI", available)
if(!choice)
return 0
if(!istype(choice, /mob/observer/dead))
var/confirm = tgui_alert(usr, "[choice.key] isn't ghosting right now. Are you sure you want to yank them out of them out of their body and place them in this pAI?", "Spawn pAI Confirmation", list("No", "Yes"))
if(confirm != "Yes")
return 0
var/obj/item/device/paicard/card = new(T)
var/obj/item/device/paicard/typeb/card = new(T)
var/mob/living/silicon/pai/pai = new(card)
pai.name = sanitizeSafe(input(choice, "Enter your pAI name:", "pAI Name", "Personal AI") as text)
pai.real_name = pai.name
pai.key = choice.key
card.setPersonality(pai)
if(tgui_alert(pai, "Do you want to load your pAI data?", "Load", list("Yes", "No")) == "Yes")
pai.savefile_load(pai)
else
pai.name = sanitizeSafe(tgui_input_text(pai, "Enter your pAI name:", "pAI Name", "Personal AI"))
card.setPersonality(pai)
for(var/datum/paiCandidate/candidate in paiController.pai_candidates)
if(candidate.key == choice.key)
paiController.pai_candidates.Remove(candidate)
log_admin("made a pAI with key=[pai.key] at ([T.x],[T.y],[T.z])")
feedback_add_details("admin_verb","MPAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_alienize(var/mob/M in mob_list)
@@ -658,9 +662,9 @@
var/datum/planet/planet = tgui_input_list(usr, "Which planet do you want to modify time on?", "Change Time", SSplanets.planets)
if(istype(planet))
var/datum/time/current_time_datum = planet.current_time
var/new_hour = input(usr, "What hour do you want to change to?", "Change Time", text2num(current_time_datum.show_time("hh"))) as null|num
var/new_hour = tgui_input_number(usr, "What hour do you want to change to?", "Change Time", text2num(current_time_datum.show_time("hh")))
if(!isnull(new_hour))
var/new_minute = input(usr, "What minute do you want to change to?", "Change Time", text2num(current_time_datum.show_time("mm")) ) as null|num
var/new_minute = tgui_input_number(usr, "What minute do you want to change to?", "Change Time", text2num(current_time_datum.show_time("mm")) )
if(!isnull(new_minute))
var/type_needed = current_time_datum.type
var/datum/time/new_time = new type_needed()
+1 -1
View File
@@ -177,7 +177,7 @@
set desc = "This searches all the active jobban entries for the current round and outputs the results to standard output."
set category = "Debug"
var/job_filter = input(usr, "Contains what?","Job Filter") as text|null
var/job_filter = tgui_input_text(usr, "Contains what?","Job Filter")
if(!job_filter)
return
+2 -2
View File
@@ -4,8 +4,8 @@
if(!check_rights(R_FUN))
return
var/sum = input(usr, "How many times should we throw?") as num
var/side = input(usr, "Select the number of sides.") as num
var/sum = tgui_input_number(usr, "How many times should we throw?")
var/side = tgui_input_number(usr, "Select the number of sides.")
if(!side)
side = 6
if(!sum)
+1 -1
View File
@@ -8,7 +8,7 @@
if(!check_rights(R_DEBUG))
return
var/new_fps = round(input(usr, "Sets game frames-per-second. Can potentially break the game (default: [config.fps])", "FPS", world.fps) as num|null)
var/new_fps = round(tgui_input_number(usr, "Sets game frames-per-second. Can potentially break the game (default: [config.fps])", "FPS", world.fps))
if(new_fps <= 0)
to_chat(src, "<span class='danger'>Error: set_server_fps(): Invalid world.fps value. No changes made.</span>")
return
+1 -1
View File
@@ -17,7 +17,7 @@
(<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[src.mob.x];Y=[src.mob.y];Z=[src.mob.z]'>JMP</a>)")
#define LIGHTNING_REDIRECT_RANGE 28 // How far in tiles certain things draw lightning from.
#define LIGHTNING_ZAP_RANGE 3 // How far the tesla effect zaps, as well as the bad effects from a direct strike.
#define LIGHTNING_ZAP_RANGE 1 // How far the tesla effect zaps, as well as the bad effects from a direct strike.
#define LIGHTNING_POWER 20000 // How much 'zap' is in a strike, used for tesla_zap().
// The real lightning proc.
+3 -3
View File
@@ -280,13 +280,13 @@ var/list/debug_verbs = list (
/client/proc/count_objects_on_z_level()
set category = "Mapping"
set name = "Count Objects On Level"
var/level = input(usr, "Which z-level?","Level?") as text
var/level = tgui_input_text(usr, "Which z-level?","Level?")
if(!level) return
var/num_level = text2num(level)
if(!num_level) return
if(!isnum(num_level)) return
var/type_text = input(usr, "Which type path?","Path?") as text
var/type_text = tgui_input_text(usr, "Which type path?","Path?")
if(!type_text) return
var/type_path = text2path(type_text)
if(!type_path) return
@@ -324,7 +324,7 @@ var/list/debug_verbs = list (
set category = "Mapping"
set name = "Count Objects All"
var/type_text = input(usr, "Which type path?","") as text
var/type_text = tgui_input_text(usr, "Which type path?","")
if(!type_text) return
var/type_path = text2path(type_text)
if(!type_path) return
+1 -1
View File
@@ -17,7 +17,7 @@
return
var/image/cross = image('icons/obj/storage.dmi',"bible")
msg = "<font color='blue'>[bicon(cross)] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) ([admin_jump_link(src, src)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>) (<A HREF='?_src_=holder;adminsmite=\ref[src]'>SMITE</a>):</b> [msg]</font>"
msg = "<font color='blue'>\icon[cross][bicon(cross)] <b><font color=purple>PRAY: </font>[key_name(src, 1)] (<A HREF='?_src_=holder;adminmoreinfo=\ref[src]'>?</A>) (<A HREF='?_src_=holder;adminplayeropts=\ref[src]'>PP</A>) (<A HREF='?_src_=vars;Vars=\ref[src]'>VV</A>) (<A HREF='?_src_=holder;subtlemessage=\ref[src]'>SM</A>) ([admin_jump_link(src, src)]) (<A HREF='?_src_=holder;secretsadmin=check_antagonist'>CA</A>) (<A HREF='?_src_=holder;adminspawncookie=\ref[src]'>SC</a>) (<A HREF='?_src_=holder;adminsmite=\ref[src]'>SMITE</a>):</b> [msg]</font>"
for(var/client/C in GLOB.admins)
if(R_ADMIN|R_EVENT & C.holder.rights)
+14 -14
View File
@@ -86,7 +86,7 @@
if (!holder)
return
var/msg = sanitize(input(usr, "Message:", text("Subtle PM to [M.key]")) as text)
var/msg = sanitize(tgui_input_text(usr, "Message:", text("Subtle PM to [M.key]")))
if (!msg)
return
@@ -108,7 +108,7 @@
if (!holder)
return
var/msg = input(usr, "Message:", text("Enter the text you wish to appear to everyone:")) as text
var/msg = tgui_input_text(usr, "Message:", text("Enter the text you wish to appear to everyone:"))
if(!(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'.
msg = sanitize(msg)
@@ -132,7 +132,7 @@
if(!M)
return
var/msg = input(usr, "Message:", text("Enter the text you wish to appear to your target:")) as text
var/msg = tgui_input_text(usr, "Message:", text("Enter the text you wish to appear to your target:"))
if(msg && !(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'.
msg = sanitize(msg)
@@ -575,7 +575,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!holder)
return
var/input = sanitize(input(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", "") as text|null)
var/input = sanitize(tgui_input_text(usr, "Please enter anything you want the AI to do. Anything. Serious.", "What?", ""))
if(!input)
return
for(var/mob/living/silicon/ai/M in mob_list)
@@ -627,8 +627,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!holder)
return
var/input = sanitize(input(usr, "Please enter anything you want. Anything. Serious.", "What?", "") as message|null, extra = 0)
var/customname = sanitizeSafe(input(usr, "Pick a title for the report.", "Title") as text|null)
var/input = sanitize(tgui_input_text(usr, "Please enter anything you want. Anything. Serious.", "What?", "", multiline = TRUE, prevent_enter = TRUE), extra = 0)
var/customname = sanitizeSafe(tgui_input_text(usr, "Pick a title for the report.", "Title"))
if(!input)
return
if(!customname)
@@ -675,13 +675,13 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!check_rights(R_DEBUG|R_FUN)) return //VOREStation Edit
var/devastation = input(usr, "Range of total devastation. -1 to none", text("Input")) as num|null
var/devastation = tgui_input_number(usr, "Range of total devastation. -1 to none", text("Input"))
if(devastation == null) return
var/heavy = input(usr, "Range of heavy impact. -1 to none", text("Input")) as num|null
var/heavy = tgui_input_number(usr, "Range of heavy impact. -1 to none", text("Input"))
if(heavy == null) return
var/light = input(usr, "Range of light impact. -1 to none", text("Input")) as num|null
var/light = tgui_input_number(usr, "Range of light impact. -1 to none", text("Input"))
if(light == null) return
var/flash = input(usr, "Range of flash. -1 to none", text("Input")) as num|null
var/flash = tgui_input_number(usr, "Range of flash. -1 to none", text("Input"))
if(flash == null) return
if ((devastation != -1) || (heavy != -1) || (light != -1) || (flash != -1))
@@ -703,13 +703,13 @@ Traitors and the like can also be revived with the previous role mostly intact.
if(!check_rights(R_DEBUG|R_FUN)) return //VOREStation Edit
var/heavy = input(usr, "Range of heavy pulse.", text("Input")) as num|null
var/heavy = tgui_input_number(usr, "Range of heavy pulse.", text("Input"))
if(heavy == null) return
var/med = input(usr, "Range of medium pulse.", text("Input")) as num|null
var/med = tgui_input_number(usr, "Range of medium pulse.", text("Input"))
if(med == null) return
var/light = input(usr, "Range of light pulse.", text("Input")) as num|null
var/light = tgui_input_number(usr, "Range of light pulse.", text("Input"))
if(light == null) return
var/long = input(usr, "Range of long pulse.", text("Input")) as num|null
var/long = tgui_input_number(usr, "Range of long pulse.", text("Input"))
if(long == null) return
if (heavy || med || light || long)
+2 -2
View File
@@ -10,7 +10,7 @@
if(!picked_client)
return
var/list/types = typesof(/mob/living)
var/mob_type = input(src, "Mob path to spawn as?", "Mob") as text
var/mob_type = tgui_input_text(src, "Mob path to spawn as?", "Mob")
if(!mob_type)
return
var/list/matches = new()
@@ -81,7 +81,7 @@
if (!holder)
return
var/msg = input(usr, "Message:", text("Enter the text you wish to appear to everyone:")) as text
var/msg = tgui_input_text(usr, "Message:", text("Enter the text you wish to appear to everyone:"))
if(!(msg[1] == "<" && msg[length(msg)] == ">")) //You can use HTML but only if the whole thing is HTML. Tries to prevent admin 'accidents'.
msg = sanitize(msg)
+1 -1
View File
@@ -5,7 +5,7 @@
if(!check_rights(R_ADMIN, R_FUN))
return
var/size_multiplier = input(usr, "Input size multiplier.", "Resize", 1) as num|null
var/size_multiplier = tgui_input_number(usr, "Input size multiplier.", "Resize", 1)
if(!size_multiplier)
return //cancelled
+8 -14
View File
@@ -25,21 +25,21 @@
broken_legs++
if(!broken_legs)
to_chat(src,"[target] didn't have any breakable legs, sorry.")
if(SMITE_BLUESPACEARTILLERY)
bluespace_artillery(target,src)
if(SMITE_SPONTANEOUSCOMBUSTION)
target.adjust_fire_stacks(10)
target.IgniteMob()
target.visible_message("<span class='danger'>[target] bursts into flames!</span>")
if(SMITE_LIGHTNINGBOLT)
var/turf/T = get_step(get_step(target, NORTH), NORTH)
T.Beam(target, icon_state="lightning[rand(1,12)]", time = 5)
target.electrocute_act(75,def_zone = BP_HEAD)
target.visible_message("<span class='danger'>[target] is struck by lightning!</span>")
else
return //Injection? Don't print any messages.
@@ -50,14 +50,6 @@
if(!istype(target))
return
if(BSACooldown)
if(user)
to_chat(user,"<span class='warning'>BSA is still cooling down, please wait!</span>")
return
BSACooldown = 1
VARSET_IN(global, BSACooldown, FALSE, 5 SECONDS)
to_chat(target,"You've been hit by bluespace artillery!")
log_and_message_admins("[key_name(target)] has been hit by Bluespace Artillery fired by [key_name(user ? user : usr)]")
@@ -68,10 +60,12 @@
if(prob(80)) T.break_tile_to_plating()
else T.break_tile()
if(target.health == 1)
playsound(T, get_sfx("explosion"), 100, 1, get_rand_frequency(), falloff = 5) // get_sfx() is so that everyone gets the same sound
if(target.health < 10)
target.gib()
else
target.adjustBruteLoss( min( 99 , (target.health - 1) ) )
target.adjustBruteLoss( max( 99 , (target.health - 1) ) )
target.Stun(20)
target.Weaken(20)
target.stuttering = 20
+1 -1
View File
@@ -43,7 +43,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future
choice = null
while(!choice)
choice = sanitize(input(src, "Please specify which mission the strike team shall undertake.", "Specify Mission", ""))
choice = sanitize(tgui_input_text(src, "Please specify which mission the strike team shall undertake.", "Specify Mission", ""))
if(!choice)
if(tgui_alert(usr, "Error, no mission set. Do you want to exit the setup process?","Strike Team",list("Yes","No"))=="Yes")
return
@@ -85,19 +85,19 @@
switch(.["class"])
if (VV_TEXT)
.["value"] = input(usr, "Enter new text:", "Text", current_value) as null|text
.["value"] = tgui_input_text(usr, "Enter new text:", "Text", current_value)
if (.["value"] == null)
.["class"] = null
return
if (VV_MESSAGE)
.["value"] = input(usr, "Enter new text:", "Text", current_value) as null|message
.["value"] = tgui_input_text(usr, "Enter new text:", "Text", current_value, multiline = TRUE)
if (.["value"] == null)
.["class"] = null
return
if (VV_NUM)
.["value"] = input(usr, "Enter new number:", "Num", current_value) as null|num
.["value"] = tgui_input_number(usr, "Enter new number:", "Num", current_value)
if (.["value"] == null)
.["class"] = null
return
@@ -124,7 +124,7 @@
var/type = current_value
var/error = ""
do
type = input(usr, "Enter type:[error]", "Type", type) as null|text
type = tgui_input_text(usr, "Enter type:[error]", "Type", type)
if (!type)
break
type = text2path(type)
@@ -229,7 +229,7 @@
var/type = current_value
var/error = ""
do
type = input(usr, "Enter type:[error]", "Type", type) as null|text
type = tgui_input_text(usr, "Enter type:[error]", "Type", type)
if (!type)
break
type = text2path(type)
+2 -2
View File
@@ -21,7 +21,7 @@
to_chat(usr, "This can only be used on instances of type /mob")
return
var/new_name = sanitize(input(usr,"What would you like to name this mob?","Input a name",M.real_name) as text|null, MAX_NAME_LEN)
var/new_name = sanitize(tgui_input_text(usr,"What would you like to name this mob?","Input a name",M.real_name,MAX_NAME_LEN), MAX_NAME_LEN)
if( !new_name || !M ) return
message_admins("Admin [key_name_admin(usr)] renamed [key_name_admin(M)] to [new_name].")
@@ -475,7 +475,7 @@
var/Text = href_list["adjustDamage"]
var/amount = input(usr, "Deal how much damage to mob? (Negative values here heal)","Adjust [Text]loss",0) as num
var/amount = tgui_input_number(usr, "Deal how much damage to mob? (Negative values here heal)","Adjust [Text]loss",0)
if(!L)
to_chat(usr, "Mob doesn't exist anymore")