[MIRROR] refactors most spans (#9139)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <KashL@t-online.de>
This commit is contained in:
CHOMPStation2
2024-10-04 06:00:17 -07:00
committed by GitHub
parent 43ee646816
commit ab154b48b2
1511 changed files with 12497 additions and 12357 deletions

View File

@@ -85,7 +85,7 @@
var/datum/db_query/query_insert = SSdbcore.NewQuery(sql,sqlargs) //CHOMPEdit TGSQL
query_insert.Execute()
to_chat(usr, "<span class='filter_adminlog'>[span_blue("Ban saved to database.")]</span>")
to_chat(usr, span_filter_adminlog("[span_blue("Ban saved to database.")]"))
message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1)
qdel(query_insert) //CHOMPEdit TGSQL
@@ -139,17 +139,17 @@
ban_number++;
qdel(query) //CHOMPEdit TGSQL
if(ban_number == 0)
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")]"))
return
if(ban_number > 1)
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")]"))
return
if(istext(ban_id))
ban_id = text2num(ban_id)
if(!isnum(ban_id))
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to a ban ID mismatch. Contact the database admin.")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to a ban ID mismatch. Contact the database admin.")]"))
return
DB_ban_unban_by_id(ban_id)
@@ -175,7 +175,7 @@
duration = query.item[2]
reason = query.item[3]
else
to_chat(usr, "<span class='filter_adminlog'>Invalid ban id. Contact the database admin</span>")
to_chat(usr, span_filter_adminlog("Invalid ban id. Contact the database admin"))
return
qdel(query) //CHOMPEdit TGSQL
reason = sql_sanitize_text(reason)
@@ -209,7 +209,7 @@
if(tgui_alert(usr, "Unban [pckey]?", "Unban?", list("Yes", "No")) == "Yes")
DB_ban_unban_by_id(banid)
return
to_chat(usr, "<span class='filter_adminlog'>Cancelled</span>")
to_chat(usr, span_filter_adminlog("Cancelled"))
return
/datum/admins/proc/DB_ban_unban_by_id(var/id)
@@ -232,11 +232,11 @@
ban_number++;
qdel(query) //CHOMPEdit TGSQL
if(ban_number == 0)
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to a ban id not being present in the database.")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to a ban id not being present in the database.")]"))
return
if(ban_number > 1)
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to multiple bans having the same ID. Contact the database admin.")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Database update failed due to multiple bans having the same ID. Contact the database admin.")]"))
return
if(!src.owner || !istype(src.owner, /client))
@@ -272,7 +272,7 @@
establish_db_connection()
if(!SSdbcore.IsConnected()) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_red("Failed to establish database connection")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Failed to establish database connection")]"))
return
var/output = "<div align='center'><table width='90%'><tr>"

View File

@@ -106,7 +106,7 @@ var/savefile/Banlist
Banlist.cd = "/base"
if ( Banlist.dir.Find("[ckey][computerid]") )
to_chat(usr, "<span class='filter_adminlog warning'>Ban already exists.</span>")
to_chat(usr, span_filter_adminlog(span_warning("Ban already exists.")))
return 0
else
Banlist.dir.Add("[ckey][computerid]")

View File

@@ -38,7 +38,7 @@
F["last_update"] << world.realtime
log_misc("ToR data updated!")
if(usr)
to_chat(usr, "<span class='filter_adminlog'>ToRban updated.</span>")
to_chat(usr, span_filter_adminlog("ToRban updated."))
return
log_misc("ToR data update aborted: no data.")
return
@@ -73,16 +73,16 @@
var/choice = tgui_input_list(src,"Please select an IP address to remove from the ToR banlist:","Remove ToR ban", F.dir)
if(choice)
F.dir.Remove(choice)
to_chat(src, "<span class='filter_adminlog'><b>Address removed</b></span>")
to_chat(src, span_filter_adminlog("<b>Address removed</b>"))
if("remove all")
to_chat(src, "<span class='filter_adminlog'><b>[TORFILE] was [fdel(TORFILE)?"":"not "]removed.</b></span>")
to_chat(src, span_filter_adminlog("<b>[TORFILE] was [fdel(TORFILE)?"":"not "]removed.</b>"))
if("find")
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'>[span_orange("<b>Address is a known ToR address</b>")]</span>")
to_chat(src, span_filter_adminlog("[span_orange("<b>Address is a known ToR address</b>")]"))
else
to_chat(src, "<span class='filter_adminlog danger'>Address is not a known ToR address</span>")
to_chat(src, span_filter_adminlog(span_danger("Address is not a known ToR address")))
return
#undef TORFILE

View File

@@ -603,7 +603,7 @@ var/global/floorIsLava = 0
if(!confirm || confirm == "Cancel")
return
if(confirm == "Yes")
to_world("<span class='danger'>Restarting world!</span> <span class='notice'>Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</span>")
to_world(span_danger("Restarting world!" ) + span_notice("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!"))
log_admin("[key_name(usr)] initiated a reboot.")
feedback_set_details("end_error","admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]")
@@ -702,12 +702,12 @@ var/datum/announcement/minor/admin_min_announcer = new
//Time to find how they screwed up.
//Wasn't the right length
if((decomposed.len) % 3) //+1 to accomidate the lack of a wait time for the last message
to_chat(usr, "<span class='warning'>You passed [decomposed.len] segments (senders+messages+pauses). You must pass a multiple of 3, minus 1 (no pause after the last message). That means a sender and message on every other line (starting on the first), separated by a pipe character (|), and a number every other line that is a pause in seconds.</span>")
to_chat(usr, span_warning("You passed [decomposed.len] segments (senders+messages+pauses). You must pass a multiple of 3, minus 1 (no pause after the last message). That means a sender and message on every other line (starting on the first), separated by a pipe character (|), and a number every other line that is a pause in seconds."))
return
//Too long a conversation
if((decomposed.len / 3) > 20)
to_chat(usr, "<span class='warning'>This conversation is too long! 20 messages maximum, please.</span>")
to_chat(usr, span_warning("This conversation is too long! 20 messages maximum, please."))
return
//Missed some sleeps, or sanitized to nothing.
@@ -716,24 +716,24 @@ var/datum/announcement/minor/admin_min_announcer = new
//Sanitize sender
var/clean_sender = sanitize(decomposed[i])
if(!clean_sender)
to_chat(usr, "<span class='warning'>One part of your conversation was not able to be sanitized. It was the sender of the [(i+2)/3]\th message.</span>")
to_chat(usr, span_warning("One part of your conversation was not able to be sanitized. It was the sender of the [(i+2)/3]\th message."))
return
decomposed[i] = clean_sender
//Sanitize message
var/clean_message = sanitize(decomposed[++i])
if(!clean_message)
to_chat(usr, "<span class='warning'>One part of your conversation was not able to be sanitized. It was the body of the [(i+2)/3]\th message.</span>")
to_chat(usr, span_warning("One part of your conversation was not able to be sanitized. It was the body of the [(i+2)/3]\th message."))
return
decomposed[i] = clean_message
//Sanitize wait time
var/clean_time = text2num(decomposed[++i])
if(!isnum(clean_time))
to_chat(usr, "<span class='warning'>One part of your conversation was not able to be sanitized. It was the wait time after the [(i+2)/3]\th message.</span>")
to_chat(usr, span_warning("One part of your conversation was not able to be sanitized. It was the wait time after the [(i+2)/3]\th message."))
return
if(clean_time > 60)
to_chat(usr, "<span class='warning'>Max 60 second wait time between messages for sanity's sake please.</span>")
to_chat(usr, span_warning("Max 60 second wait time between messages for sanity's sake please."))
return
decomposed[i] = clean_time
@@ -842,7 +842,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if(!check_rights(R_SERVER|R_EVENT))
return
if(SSticker.current_state > GAME_STATE_PREGAME)
to_chat(usr, "<span class='warning'>Error: Start Now: Game has already started.</span>")
to_chat(usr, span_warning("Error: Start Now: Game has already started."))
return
if(!SSticker.start_immediately)
SSticker.start_immediately = TRUE
@@ -850,11 +850,11 @@ var/datum/announcement/minor/admin_min_announcer = new
if(SSticker.current_state == GAME_STATE_INIT)
msg = " (The server is still setting up, but the round will be started as soon as possible.)"
log_admin("[key_name(usr)] has started the game.[msg]")
message_admins("<span class='notice'>[key_name_admin(usr)] has started the game.[msg]</span>")
message_admins(span_notice("[key_name_admin(usr)] has started the game.[msg]"))
feedback_add_details("admin_verb","SN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
SSticker.start_immediately = FALSE
to_world("<span class='notice'>Immediate game start canceled. Normal startup resumed.</span>")
to_world(span_notice("Immediate game start canceled. Normal startup resumed."))
log_and_message_admins("cancelled immediate game start.")
/datum/admins/proc/toggleenter()
@@ -1396,7 +1396,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if(body)
if(body.teleop)
body.teleop = tomob
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].</span>")
message_admins(span_adminnotice("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name]."))
log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].")
feedback_add_details("admin_verb","CGD")
tomob.ckey = frommob.ckey
@@ -1564,17 +1564,17 @@ var/datum/announcement/minor/admin_min_announcer = new
if(destination.receivefax(P))
to_chat(src.owner, "<span class='notice'>Message reply to transmitted successfully.</span>")
to_chat(src.owner, span_notice("Message reply to transmitted successfully."))
if(P.sender) // sent as a reply
log_admin("[key_name(src.owner)] replied to a fax message from [key_name(P.sender)]")
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)] replied to a fax message from [key_name_admin(P.sender)] (<a href='?_src_=holder;[HrefToken()];AdminFaxView=\ref[rcvdcopy]'>VIEW</a>)</span>")
to_chat(C, span_log_message("[span_prefix("FAX LOG:")][key_name_admin(src.owner)] replied to a fax message from [key_name_admin(P.sender)] (<a href='?_src_=holder;[HrefToken()];AdminFaxView=\ref[rcvdcopy]'>VIEW</a>)"))
else
log_admin("[key_name(src.owner)] has sent a fax message to [destination.department]")
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;[HrefToken()];AdminFaxView=\ref[rcvdcopy]'>VIEW</a>)</span>")
to_chat(C, span_log_message("[span_prefix("FAX LOG:")][key_name_admin(src.owner)] has sent a fax message to [destination.department] (<a href='?_src_=holder;[HrefToken()];AdminFaxView=\ref[rcvdcopy]'>VIEW</a>)"))
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)
@@ -1590,7 +1590,7 @@ var/datum/announcement/minor/admin_min_announcer = new
)
else
to_chat(src.owner, "<span class='warning'>Message reply failed.</span>")
to_chat(src.owner, span_warning("Message reply failed."))
spawn(100)
qdel(P)

View File

@@ -23,7 +23,7 @@
if(!message) return
var/F = investigate_subject2file(subject)
if(!F) return
to_file(F, "<span class='filter_adminlog'><small>[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z])</small> || [src] [message]<br></span>")
to_file(F, span_filter_adminlog("<small>[time2text(world.timeofday,"hh:mm")] \ref[src] ([x],[y],[z])</small> || [src] [message]<br>"))
//ADMINVERBS
/client/proc/investigate_show( subject in list("hrefs","notes","singulo","telesci") )
@@ -34,7 +34,7 @@
if("singulo", "telesci") //general one-round-only stuff
var/F = investigate_subject2file(subject)
if(!F)
to_chat(src, "<span class='filter_adminlog warning'>Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.</span>")
to_chat(src, span_filter_adminlog(span_warning("Error: admin_investigate: [INVESTIGATE_DIR][subject] is an invalid path or cannot be accessed.")))
return
src << browse(F,"window=investigate[subject];size=800x300")
@@ -43,10 +43,10 @@
if(href_logfile)
src << browse(href_logfile,"window=investigate[subject];size=800x300")
else
to_chat(src, "<span class='filter_adminlog warning'>Error: admin_investigate: No href logfile found.</span>")
to_chat(src, span_filter_adminlog(span_warning("Error: admin_investigate: No href logfile found.")))
return
else
to_chat(src, "<span class='filter_adminlog warning'>Error: admin_investigate: Href Logging is not on.</span>")
to_chat(src, span_filter_adminlog(span_warning("Error: admin_investigate: Href Logging is not on.")))
return
#undef INVESTIGATE_DIR

View File

@@ -24,11 +24,11 @@
return
if("")
F.dir.Remove(ckey)
to_chat(src, "<span class='filter_adminlog'><b>Memo removed</b></span>")
to_chat(src, span_filter_adminlog("<b>Memo removed</b>"))
return
if( findtext(memo,"<script",1,0) )
return
to_chat(F[ckey], "<span class='filter_adminlog'>[key] on [time2text(world.realtime,"(DDD) DD MMM hh:mm")]<br>[memo]</span>")
to_chat(F[ckey], span_filter_adminlog("[key] on [time2text(world.realtime,"(DDD) DD MMM hh:mm")]<br>[memo]"))
message_admins("[key] set an admin memo:<br>[memo]")
//show all memos
@@ -39,7 +39,7 @@
var/savefile/F = new(MEMOFILE)
if(F)
for(var/ckey in F.dir)
to_chat(src, "<span class='filter_adminlog'><center><span class='motd'><b>Admin Memo</b><i> by [F[ckey]]</i></span></center></span>")
to_chat(src, span_filter_adminlog("<center><span class='motd'><b>Admin Memo</b><i> by [F[ckey]]</i></span></center>"))
//delete your own or somebody else's memo
/client/proc/admin_memo_delete()
@@ -52,7 +52,7 @@
ckey = src.ckey
if(ckey)
F.dir.Remove(ckey)
to_chat(src, "<span class='filter_adminlog'><b>Removed Memo created by [ckey].</b></span>")
to_chat(src, span_filter_adminlog("<b>Removed Memo created by [ckey].</b>"))
#undef MEMOFILE
#undef ENABLE_MEMOS

View File

@@ -5,7 +5,7 @@
remove_verb(src, list(/client/proc/hide_most_verbs,admin_verbs_hideable)) //CHOMPEdit TGPanel
add_verb(src,/client/proc/show_verbs) //CHOMPEdit TGPanel
to_chat(src, "<span class='filter_system interface'>Most of your adminverbs have been hidden.</span>")
to_chat(src, span_filter_system(span_interface("Most of your adminverbs have been hidden.")))
feedback_add_details("admin_verb","HMV") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -16,7 +16,7 @@
remove_admin_verbs()
add_verb(src, /client/proc/show_verbs) //CHOMPEdit
to_chat(src, "<span class='filter_system interface'>Almost all of your adminverbs have been hidden.</span>")
to_chat(src, span_filter_system(span_interface("Almost all of your adminverbs have been hidden.")))
feedback_add_details("admin_verb","TAVVH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -27,7 +27,7 @@
remove_verb(src, /client/proc/show_verbs) //CHOMPEdit
add_admin_verbs()
to_chat(src, "<span class='filter_adminlog interface'>All of your adminverbs are now visible.</span>")
to_chat(src, span_filter_adminlog(span_interface("All of your adminverbs are now visible.")))
feedback_add_details("admin_verb","TAVVS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -54,13 +54,13 @@
else
ghost.reenter_corpse()
else
to_chat(ghost, "<span class='filter_system warning'>Error: Aghost: Can't reenter corpse.</span>")
to_chat(ghost, span_filter_system(span_warning("Error: Aghost: Can't reenter corpse.")))
return
feedback_add_details("admin_verb","P") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else if(istype(mob,/mob/new_player))
to_chat(src, "<span class='filter_system warning'>Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.</span>")
to_chat(src, span_filter_system(span_warning("Error: Aghost: Can't admin-ghost whilst in the lobby. Join or Observe first.")))
else
//ghostize
var/mob/body = mob
@@ -90,11 +90,11 @@
if(holder && mob)
if(mob.invisibility == INVISIBILITY_OBSERVER)
mob.invisibility = initial(mob.invisibility)
to_chat(mob, "<span class='filter_system danger'>Invisimin off. Invisibility reset.</span>")
to_chat(mob, span_filter_system(span_danger("Invisimin off. Invisibility reset.")))
mob.alpha = max(mob.alpha + 100, 255)
else
mob.invisibility = INVISIBILITY_OBSERVER
to_chat(mob, "<span class='filter_system notice'><b>Invisimin on. You are now as invisible as a ghost.</b></span>")
to_chat(mob, span_filter_system(span_notice("<b>Invisimin on. You are now as invisible as a ghost.</b>")))
mob.alpha = max(mob.alpha - 100, 0)
@@ -223,7 +223,7 @@
if(!warned_ckey || !istext(warned_ckey)) return
if(warned_ckey in admin_datums)
to_chat(usr, "<span class='warning'>Error: warn(): You can't warn admins.</span>")
to_chat(usr, span_warning("Error: warn(): You can't warn admins."))
return
var/datum/preferences/D
@@ -232,14 +232,14 @@
else D = preferences_datums[warned_ckey]
if(!D)
to_chat(src, "<span class='warning'>Error: warn(): No such ckey found.</span>")
to_chat(src, span_warning("Error: warn(): No such ckey found."))
return
if(++D.warns >= MAX_WARNS) //uh ohhhh...you'reee iiiiin trouuuubble O:)
ban_unban_log_save("[ckey] warned [warned_ckey], resulting in a [AUTOBANTIME] minute autoban.")
if(C)
message_admins("[key_name_admin(src)] has warned [key_name_admin(C)] resulting in a [AUTOBANTIME] minute ban.")
to_chat(C, "<span class='filter_system danger'><BIG>You have been autobanned due to a warning by [ckey].</BIG><br>This is a temporary ban, it will be removed in [AUTOBANTIME] minutes.</span>")
to_chat(C, span_filter_system(span_danger("<BIG>You have been autobanned due to a warning by [ckey].</BIG><br>This is a temporary ban, it will be removed in [AUTOBANTIME] minutes.")))
del(C)
else
message_admins("[key_name_admin(src)] has warned [warned_ckey] resulting in a [AUTOBANTIME] minute ban.")
@@ -247,7 +247,7 @@
feedback_inc("ban_warn",1)
else
if(C)
to_chat(C, "<span class='filter_system danger'><BIG>You have been formally warned by an administrator.</BIG><br>Further warnings will result in an autoban.</span>")
to_chat(C, span_filter_system(span_danger("<BIG>You have been formally warned by an administrator.</BIG><br>Further warnings will result in an autoban.")))
message_admins("[key_name_admin(src)] has warned [key_name_admin(C)]. They have [MAX_WARNS-D.warns] strikes remaining.")
else
message_admins("[key_name_admin(src)] has warned [warned_ckey] (DC). They have [MAX_WARNS-D.warns] strikes remaining.")
@@ -323,7 +323,7 @@
set popup_menu = FALSE //VOREStation Edit - Declutter.
if(!L)
to_chat(usr, "<span class='warning'>Looks like you didn't select a mob.</span>")
to_chat(usr, span_warning("Looks like you didn't select a mob."))
return
var/list/possible_modifiers = subtypesof(/datum/modifier)
@@ -369,7 +369,7 @@
if(!msg)
return
for (var/mob/V in hearers(mob.control_object))
V.show_message("<span class='filter_say'><b>[mob.control_object.name]</b> says: \"[msg]\"</span>", 2)
V.show_message(span_filter_say("<b>[mob.control_object.name]</b> says: \"[msg]\""), 2)
feedback_add_details("admin_verb","OT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/kill_air() // -- TLE
@@ -377,7 +377,7 @@
set name = "Kill Air"
set desc = "Toggle Air Processing"
SSair.can_fire = !SSair.can_fire
to_chat(usr, "<span class='filter_system'><b>[SSair.can_fire ? "En" : "Dis"]abled air processing.</b></span>")
to_chat(usr, span_filter_system("<b>[SSair.can_fire ? "En" : "Dis"]abled air processing.</b>"))
feedback_add_details("admin_verb","KA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] used 'kill air'.")
message_admins(span_blue("[key_name_admin(usr)] used 'kill air'."), 1)
@@ -390,7 +390,7 @@
deadmin_holder.reassociate()
log_admin("[src] re-admined themself.")
message_admins("[src] re-admined themself.", 1)
to_chat(src, "<span class='filter_system interface'>You now have the keys to control the planet, or at least a small space station</span>")
to_chat(src, span_filter_system(span_interface("You now have the keys to control the planet, or at least a small space station")))
remove_verb(src,/client/proc/readmin_self) //CHOMPEdit TGPanel
/client/proc/deadmin_self()
@@ -402,7 +402,7 @@
log_admin("[src] deadmined themself.")
message_admins("[src] deadmined themself.", 1)
deadmin()
to_chat(src, "<span class='filter_system interface'>You are now a normal player.</span>")
to_chat(src, span_filter_system(span_interface("You are now a normal player.")))
add_verb(src,/client/proc/readmin_self) //CHOMPEdit TGPanel
feedback_add_details("admin_verb","DAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -532,8 +532,8 @@
if(tgui_alert(usr, "Are you sure you want to tell them to man up?","Confirmation",list("Deal with it","No")) != "Deal with it") return
to_chat(T, "<span class='filter_system notice'><b><font size=3>Man up and deal with it.</font></b></span>")
to_chat(T, "<span class='filter_system notice'>Move along.</span>")
to_chat(T, span_filter_system(span_notice("<b><font size=3>Man up and deal with it.</font></b>")))
to_chat(T, span_filter_system(span_notice("Move along.")))
log_admin("[key_name(usr)] told [key_name(T)] to man up and deal with it.")
message_admins(span_blue("[key_name_admin(usr)] told [key_name(T)] to man up and deal with it."), 1)

View File

@@ -41,12 +41,12 @@
testname = replacetext(testname, "()", "")
if(targetselected && !hascall(target,testname))
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc(): type [target.type] has no proc named [procname].") + "</span>")
to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc(): type [target.type] has no proc named [procname].") + ""))
return
else
var/procpath = text2path(procname)
if (!procpath)
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + "</span>")
to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + ""))
return
var/list/lst = get_callproc_args()
if(!lst)
@@ -54,7 +54,7 @@
if(targetselected)
if(!target)
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc(): owner of proc no longer exists.") + "</span>")
to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc(): owner of proc no longer exists.") + ""))
return
var/msg = "[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]."
log_admin(msg)
@@ -86,11 +86,11 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
/proc/WrapAdminProcCall(datum/target, procname, list/arguments)
if(target && procname == "Del")
to_chat(usr, "<span class='filter_adminlog'>Calling Del() is not allowed</span>")
to_chat(usr, span_filter_adminlog("Calling Del() is not allowed"))
return
if(target != GLOBAL_PROC && !target.CanProcCall(procname))
to_chat(usr, "<span class='filter_adminlog'>Proccall on [target.type]/proc/[procname] is disallowed!</span>")
to_chat(usr, span_filter_adminlog("Proccall on [target.type]/proc/[procname] is disallowed!"))
return
var/current_caller = GLOB.AdminProcCaller
var/ckey = usr ? usr.client.ckey : GLOB.AdminProcCaller
@@ -98,10 +98,10 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
CRASH("WrapAdminProcCall with no ckey: [target] [procname] [english_list(arguments)]")
if(current_caller && current_caller != ckey)
if(!GLOB.AdminProcCallSpamPrevention[ckey])
to_chat(usr, "<span class='adminnotice'>Another set of admin called procs are still running, your proc will be run after theirs finish.</span>")
to_chat(usr, span_adminnotice("Another set of admin called procs are still running, your proc will be run after theirs finish."))
GLOB.AdminProcCallSpamPrevention[ckey] = TRUE
UNTIL(!GLOB.AdminProcCaller)
to_chat(usr, "<span class='adminnotice'>Running your proc</span>")
to_chat(usr, span_adminnotice("Running your proc"))
GLOB.AdminProcCallSpamPrevention -= ckey
else
UNTIL(!GLOB.AdminProcCaller)
@@ -142,14 +142,14 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
if(!procname)
return
if(!hascall(A,procname))
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc_datum(): type [A.type] has no proc named [procname].") + "</span>")
to_chat(usr, span_filter_adminlog("" + span_red("Error: callproc_datum(): type [A.type] has no proc named [procname].") + ""))
return
var/list/lst = get_callproc_args()
if(!lst)
return
if(!A || !IsValidSrc(A))
to_chat(usr, "<span class='warning'>Error: callproc_datum(): owner of proc no longer exists.</span>")
to_chat(usr, span_warning("Error: callproc_datum(): owner of proc no longer exists."))
return
var/msg = "[key_name(src)] called [A]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]."
log_admin(msg)

View File

@@ -84,7 +84,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check
return FALSE
if(!C.holder)
if(show_msg)
to_chat(C, "<span class='filter_adminlog warning'>Error: You are not an admin.</span>")
to_chat(C, span_filter_adminlog(span_warning("Error: You are not an admin.")))
return FALSE
if(rights_required)
@@ -92,7 +92,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check
return TRUE
else
if(show_msg)
to_chat(C, "<span class='filter_adminlog warning'>Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].</span>")
to_chat(C, span_filter_adminlog(span_warning("Error: You do not have sufficient rights to do that. You require one of the following flags:[rights2text(rights_required," ")].")))
return FALSE
else
return TRUE
@@ -106,7 +106,7 @@ NOTE: It checks usr by default. Supply the "user" argument if you wish to check
if(usr.client.holder.rights != other.holder.rights)
if( (usr.client.holder.rights & other.holder.rights) == other.holder.rights )
return 1 //we have all the rights they have and more
to_chat(usr, "<span class='filter_adminlog warning'>Error: Cannot proceed. They have more or equal rights to us.</span>")
to_chat(usr, span_filter_adminlog(span_warning("Error: Cannot proceed. They have more or equal rights to us.")))
return 0
/client/proc/mark_datum(datum/D)

View File

@@ -7,13 +7,13 @@
return
if(isnull(tx) || isnull(ty) || isnull(tz) || isnull(range))
to_chat(usr, "<span class='filter_notice'>Capture Map Part, captures part of a map using camara like rendering.</span>")
to_chat(usr, "<span class='filter_notice'>Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range.</span>")
to_chat(usr, "<span class='filter_notice'>Target coordinates specify bottom left corner of the capture, range defines render distance to opposite corner.</span>")
to_chat(usr, span_filter_notice("Capture Map Part, captures part of a map using camara like rendering."))
to_chat(usr, span_filter_notice("Usage: Capture-Map-Part target_x_cord target_y_cord target_z_cord range."))
to_chat(usr, span_filter_notice("Target coordinates specify bottom left corner of the capture, range defines render distance to opposite corner."))
return
if(range > 32 || range <= 0)
to_chat(usr, "<span class='filter_notice'>Capturing range is incorrect, it must be within 1-32.</span>")
to_chat(usr, span_filter_notice("Capturing range is incorrect, it must be within 1-32."))
return
if(locate(tx,ty,tz))
@@ -53,7 +53,7 @@
cap.Blend(img, blendMode2iconMode(A.blend_mode), A.pixel_x + xoff, A.pixel_y + yoff)
var/file_name = "map_capture_x[tx]_y[ty]_z[tz]_r[range].png"
to_chat(usr, "<span class='filter_notice'>Saved capture in cache as [file_name].</span>")
to_chat(usr, span_filter_notice("Saved capture in cache as [file_name]."))
usr << browse_rsc(cap, file_name)
else
to_chat(usr, "<span class='filter_notice'>Target coordinates are incorrect.</span>")
to_chat(usr, span_filter_notice("Target coordinates are incorrect."))

View File

@@ -502,15 +502,15 @@
target.lawsync()
return TRUE
if("notify_laws")
to_chat(target, "<span class='danger'>Law Notice</span>")
to_chat(target, span_danger("Law Notice"))
target.laws.show_laws(target)
if(isAI(target))
var/mob/living/silicon/ai/AI = target
for(var/mob/living/silicon/robot/R in AI.connected_robots)
to_chat(R, "<span class='danger'>Law Notice</span>")
to_chat(R, span_danger("Law Notice"))
R.laws.show_laws(R)
if(usr != target)
to_chat(usr, "<span class='notice'>Laws displayed.</span>")
to_chat(usr, span_notice("Laws displayed."))
return TRUE
if("select_ai")
selected_ai = locate(params["new_ai"])

View File

@@ -51,13 +51,13 @@
return
if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS))
to_chat(usr, "<span class='filter_adminlog'>[span_red("You do not have permission to do this!")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("You do not have permission to do this!")]"))
return
establish_db_connection()
if(!SSdbcore.IsConnected()) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_red("Failed to establish database connection")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Failed to establish database connection")]"))
return
if(!adm_ckey || !new_rank)
@@ -87,7 +87,7 @@
var/datum/db_query/log_query = SSdbcore.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added new admin [adm_ckey] to rank [new_rank]');") //CHOMPEdit TGSQL
log_query.Execute()
qdel(log_query) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_blue("New admin added.")]</span>")
to_chat(usr, span_filter_adminlog("[span_blue("New admin added.")]"))
else
if(!isnull(admin_id) && isnum(admin_id))
var/datum/db_query/insert_query = SSdbcore.NewQuery("UPDATE `erro_admin` SET rank = '[new_rank]' WHERE id = [admin_id]") //CHOMPEdit TGSQL
@@ -96,7 +96,7 @@
var/datum/db_query/log_query = SSdbcore.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Edited the rank of [adm_ckey] to [new_rank]');") //CHOMPEdit TGSQL
log_query.Execute()
qdel(log_query) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_blue("Admin rank changed.")]</span>")
to_chat(usr, span_filter_adminlog("[span_blue("Admin rank changed.")]"))
/datum/admins/proc/log_admin_permission_modification(var/adm_ckey, var/new_permission)
if(CONFIG_GET(flag/admin_legacy_system)) return // CHOMPEdit
@@ -105,12 +105,12 @@
return
if(!usr.client.holder || !(usr.client.holder.rights & R_PERMISSIONS))
to_chat(usr, "<span class='filter_adminlog'>[span_red(">You do not have permission to do this!")]</span>")
to_chat(usr, span_filter_adminlog("[span_red(">You do not have permission to do this!")]"))
return
establish_db_connection()
if(!SSdbcore.IsConnected()) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_red("Failed to establish database connection!")]</span>")
to_chat(usr, span_filter_adminlog("[span_red("Failed to establish database connection!")]"))
return
if(!adm_ckey || !new_permission)
@@ -146,7 +146,7 @@
var/datum/db_query/log_query = SSdbcore.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Removed permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]');") //CHOMPEdit TGSQL
log_query.Execute()
qdel(log_query) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_blue("Permission removed.")]</span>")
to_chat(usr, span_filter_adminlog("[span_blue("Permission removed.")]"))
else //This admin doesn't have this permission, so we are adding it.
var/datum/db_query/insert_query = SSdbcore.NewQuery("UPDATE `erro_admin` SET flags = '[admin_rights | new_permission]' WHERE id = [admin_id]") //CHOMPEdit TGSQL
insert_query.Execute()
@@ -154,4 +154,4 @@
var/datum/db_query/log_query = SSdbcore.NewQuery("INSERT INTO `test`.`erro_admin_log` (`id` ,`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (NULL , NOW( ) , '[usr.ckey]', '[usr.client.address]', 'Added permission [rights2text(new_permission)] (flag = [new_permission]) to admin [adm_ckey]')") //CHOMPEdit TGSQL
log_query.Execute()
qdel(log_query) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'>[span_blue("Permission added.")]</span>")
to_chat(usr, span_filter_adminlog("[span_blue("Permission added.")]"))

View File

@@ -31,9 +31,9 @@
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)
message_admins(span_notice("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] lasting [move_duration] seconds for the [shuttle_tag] shuttle"), 1)
log_admin("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] lasting [move_duration] seconds for the [shuttle_tag] shuttle")
else
S.short_jump(area_choices[origin_area], area_choices[destination_area])
message_admins("<span class='notice'>[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] for the [shuttle_tag] shuttle</span>", 1)
message_admins(span_notice("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] for the [shuttle_tag] shuttle"), 1)
log_admin("[key_name_admin(user)] has initiated a jump from [origin_area] to [destination_area] for the [shuttle_tag] shuttle")

View File

@@ -17,13 +17,13 @@
affected_mobs |= M
switch(rand(1,4))
if(1)
M.show_message(text("<span class='notice'>You shudder as if cold...</span>"), 1)
M.show_message(span_notice("You shudder as if cold..."), 1)
if(2)
M.show_message(text("<span class='notice'>You feel something gliding across your back...</span>"), 1)
M.show_message(span_notice("You feel something gliding across your back..."), 1)
if(3)
M.show_message(text("<span class='notice'>Your eyes twitch, you feel like something you can't see is here...</span>"), 1)
M.show_message(span_notice("Your eyes twitch, you feel like something you can't see is here..."), 1)
if(4)
M.show_message(text("<span class='notice'>You notice something moving out of the corner of your eye, but nothing is there...</span>"), 1)
M.show_message(span_notice("You notice something moving out of the corner of your eye, but nothing is there..."), 1)
for(var/obj/W in orange(5,M))
if(prob(25) && !W.anchored)
@@ -43,6 +43,6 @@
sleep(100)
for(var/mob/M in affected_mobs)
M.show_message(text("<span class='notice'>The chilling wind suddenly stops...</span>"), 1)
M.show_message(span_notice("The chilling wind suddenly stops..."), 1)
affected_mobs.Cut()
affected_areas.Cut()

View File

@@ -17,5 +17,5 @@
var/range_dev = max_explosion_range *0.25
var/range_high = max_explosion_range *0.5
var/range_low = max_explosion_range
message_admins("<span class='danger'>[key_name_admin(user)] changed the bomb cap to [range_dev], [range_high], [range_low]</span>", 1)
message_admins(span_danger("[key_name_admin(user)] changed the bomb cap to [range_dev], [range_high], [range_low]"), 1)
log_admin("[key_name_admin(user)] changed the bomb cap to [max_explosion_range]")

View File

@@ -23,9 +23,9 @@
feedback_add_details("admin_secrets_fun_used","Grav")
if(gravity_is_on)
log_admin("[key_name(user)] toggled gravity on.", 1)
message_admins("<span class='notice'>[key_name_admin(user)] toggled gravity on.</span>", 1)
message_admins(span_notice("[key_name_admin(user)] toggled gravity on."), 1)
command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.")
else
log_admin("[key_name(user)] toggled gravity off.", 1)
message_admins("<span class='notice'>[key_name_admin(usr)] toggled gravity off.</span>", 1)
message_admins(span_notice("[key_name_admin(usr)] toggled gravity off."), 1)
command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.")

View File

@@ -26,9 +26,9 @@
feedback_add_details("admin_secrets_fun_used","Grav")
if(gravity_is_on)
log_admin("[key_name(user)] toggled gravity on.", 1)
message_admins("<span class='notice'>[key_name_admin(user)] toggled gravity on.</span>", 1)
message_admins(span_notice("[key_name_admin(user)] toggled gravity on."), 1)
command_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.")
else
log_admin("[key_name(user)] toggled gravity off.", 1)
message_admins("<span class='notice'>[key_name_admin(usr)] toggled gravity off.</span>", 1)
message_admins(span_notice("[key_name_admin(usr)] toggled gravity off."), 1)
command_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled. Please wait for the system to reinitialize, or contact your engineering department.", "Gravity Failure")

View File

@@ -87,23 +87,23 @@
switch(bantype)
if(BANTYPE_PERMA)
if(!banckey || !banreason)
to_chat(usr, "<span class='filter_adminlog'>Not enough parameters (Requires ckey and reason)</span>")
to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey and reason)"))
return
banduration = null
banjob = null
if(BANTYPE_TEMP)
if(!banckey || !banreason || !banduration)
to_chat(usr, "<span class='filter_adminlog'>Not enough parameters (Requires ckey, reason and duration)</span>")
to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey, reason and duration)"))
return
banjob = null
if(BANTYPE_JOB_PERMA)
if(!banckey || !banreason || !banjob)
to_chat(usr, "<span class='filter_adminlog'>Not enough parameters (Requires ckey, reason and job)</span>")
to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey, reason and job)"))
return
banduration = null
if(BANTYPE_JOB_TEMP)
if(!banckey || !banreason || !banjob || !banduration)
to_chat(usr, "<span class='filter_adminlog'>Not enough parameters (Requires ckey, reason and job)</span>")
to_chat(usr, span_filter_adminlog("Not enough parameters (Requires ckey, reason and job)"))
return
var/mob/playermob
@@ -142,14 +142,14 @@
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>")
to_chat(usr, span_filter_adminlog(span_warning("Error: Topic 'editrights': [new_ckey] is already an admin")))
return
adm_ckey = new_ckey
task = "rank"
else if(task != "show")
adm_ckey = ckey(href_list["ckey"])
if(!adm_ckey)
to_chat(usr, "<span class='filter_adminlog warning'>Error: Topic 'editrights': No valid ckey</span>")
to_chat(usr, span_filter_adminlog(span_warning("Error: Topic 'editrights': No valid ckey")))
return
var/datum/admins/D = admin_datums[adm_ckey]
@@ -181,7 +181,7 @@
if(CONFIG_GET(flag/admin_legacy_system)) // CHOMPEdit
new_rank = ckeyEx(new_rank)
if(!new_rank)
to_chat(usr, "<span class='filter_adminlog warning'>Error: Topic 'editrights': Invalid rank</span>")
to_chat(usr, span_filter_adminlog(span_warning("Error: Topic 'editrights': Invalid rank")))
return
if(CONFIG_GET(flag/admin_legacy_system)) // CHOMPEdit
if(admin_ranks.len)
@@ -290,7 +290,7 @@
var/mob/M = locate(href_list["mob"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
var/delmob = 0
@@ -398,14 +398,14 @@
var/mob/M = locate(href_list["jobban2"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(!M.ckey) //sanity
to_chat(usr, "<span class='filter_adminlog'>This mob has no ckey</span>")
to_chat(usr, span_filter_adminlog("This mob has no ckey"))
return
if(!job_master)
to_chat(usr, "<span class='filter_adminlog'>Job Master has not been setup!</span>")
to_chat(usr, span_filter_adminlog("Job Master has not been setup!"))
return
var/dat = ""
@@ -679,16 +679,16 @@
//JOBBAN'S INNARDS
else if(href_list["jobban3"])
if(!check_rights(R_MOD,0) && !check_rights(R_ADMIN,0))
to_chat(usr, "<span class='filter_adminlog warning'>You do not have the appropriate permissions to add job bans!</span>")
to_chat(usr, span_filter_adminlog(span_warning("You do not have the appropriate permissions to add job bans!")))
return
if(check_rights(R_MOD,0) && !check_rights(R_ADMIN,0) && !CONFIG_GET(flag/mods_can_job_tempban)) // If mod and tempban disabled // CHOMPEdit
to_chat(usr, "<span class='filter_adminlog warning'>Mod jobbanning is disabled!</span>")
to_chat(usr, span_filter_adminlog(span_warning("Mod jobbanning is disabled!")))
return
var/mob/M = locate(href_list["jobban4"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(M != usr) //we can jobban ourselves
@@ -697,7 +697,7 @@
return
if(!job_master)
to_chat(usr, "<span class='filter_adminlog'>Job Master has not been setup!</span>")
to_chat(usr, span_filter_adminlog("Job Master has not been setup!"))
return
//get jobs for department if specified, otherwise just returnt he one job in a list.
@@ -783,16 +783,16 @@
return
if("Yes")
if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0))
to_chat(usr, "<span class='filter_adminlog warning'> You cannot issue temporary job-bans!</span>")
to_chat(usr, span_filter_adminlog(span_warning("You cannot issue temporary job-bans!")))
return
if(CONFIG_GET(flag/ban_legacy_system)) // CHOMPEdit
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>")
to_chat(usr, span_filter_adminlog(span_warning("Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban.")))
return
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_GET(number/mod_job_tempban_max)) // CHOMPEdit
to_chat(usr, "<span class='filter_adminlog warning'> Moderators can only job tempban up to [CONFIG_GET(number/mod_job_tempban_max)] minutes!</span>") // CHOMPEdit
to_chat(usr, span_filter_adminlog(span_warning("Moderators can only job tempban up to [CONFIG_GET(number/mod_job_tempban_max)] minutes!"))) // CHOMPEdit
return
var/reason = sanitize(tgui_input_text(usr,"Reason?","Please State Reason",""))
if(!reason)
@@ -812,9 +812,9 @@
msg += ", [job]"
notes_add(M.ckey, "Banned from [msg] - [reason]", usr)
message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes"), 1)
to_chat(M, "<span class='filter_system'>[span_red("<BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("<B>The reason is: [reason]</B>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("This jobban will be lifted in [mins] minutes.")]</span>")
to_chat(M, span_filter_system("[span_red("<BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG>")]"))
to_chat(M, span_filter_system("[span_red("<B>The reason is: [reason]</B>")]"))
to_chat(M, span_filter_system("[span_red("This jobban will be lifted in [mins] minutes.")]"))
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("No")
@@ -833,9 +833,9 @@
else msg += ", [job]"
notes_add(M.ckey, "Banned from [msg] - [reason]", usr)
message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]"), 1)
to_chat(M, "<span class='filter_system'>[span_red("<BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("<B>The reason is: [reason]</B>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("Jobban can be lifted only upon request.")]</span>")
to_chat(M, span_filter_system("[span_red("<BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG>")]"))
to_chat(M, span_filter_system("[span_red("<B>The reason is: [reason]</B>")]"))
to_chat(M, span_filter_system("[span_red("Jobban can be lifted only upon request.")]"))
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("Cancel")
@@ -845,7 +845,7 @@
//all jobs in joblist are banned already OR we didn't give a reason (implying they shouldn't be banned)
if(joblist.len) //at least 1 banned job exists in joblist so we have stuff to unban.
if(!CONFIG_GET(flag/ban_legacy_system)) // CHOMPEdit
to_chat(usr, "<span class='filter_adminlog'>Unfortunately, database based unbanning cannot be done through this panel</span>")
to_chat(usr, span_filter_adminlog("Unfortunately, database based unbanning cannot be done through this panel"))
DB_ban_panel(M.ckey)
return
var/msg
@@ -866,7 +866,7 @@
continue
if(msg)
message_admins(span_blue("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]"), 1)
to_chat(M, "<span class='filter_system danger'><BIG>You have been un-jobbanned by [usr.client.ckey] from [msg].</BIG></span>")
to_chat(M, span_filter_system(span_danger("<BIG>You have been un-jobbanned by [usr.client.ckey] from [msg].</BIG>")))
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return 0 //we didn't do anything!
@@ -904,11 +904,11 @@
else if(href_list["newban"])
if(!check_rights(R_MOD,0) && !check_rights(R_BAN, 0))
to_chat(usr, "<span class='warning'>You do not have the appropriate permissions to add bans!</span>")
to_chat(usr, span_warning("You do not have the appropriate permissions to add bans!"))
return
if(check_rights(R_MOD,0) && !check_rights(R_ADMIN, 0) && !CONFIG_GET(flag/mods_can_job_tempban)) // If mod and tempban disabled // CHOMPEdit
to_chat(usr, "<span class='warning'>Mod jobbanning is disabled!</span>")
to_chat(usr, span_warning("Mod jobbanning is disabled!"))
return
var/mob/M = locate(href_list["newban"])
@@ -924,7 +924,7 @@
if(!mins)
return
if(check_rights(R_MOD, 0) && !check_rights(R_BAN, 0) && mins > CONFIG_GET(number/mod_tempban_max)) // CHOMPEdit
to_chat(usr, "<span class='warning'>Moderators can only job tempban up to [CONFIG_GET(number/mod_tempban_max)] minutes!</span>") // CHOMPEdit
to_chat(usr, span_warning("Moderators can only job tempban up to [CONFIG_GET(number/mod_tempban_max)] minutes!")) // CHOMPEdit
return
if(mins >= 525600) mins = 525599
var/reason = sanitize(tgui_input_text(usr,"Reason?","reason","Griefer"))
@@ -933,15 +933,15 @@
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 1, mins)
ban_unban_log_save("[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.")
notes_add(M.ckey,"[usr.client.ckey] has banned [M.ckey]. - Reason: [reason] - This will be removed in [mins] minutes.",usr)
to_chat(M, "<span class='filter_system critical'>You have been banned by [usr.client.ckey].\nReason: [reason].</span>")
to_chat(M, "<span class='filter_system warning'>This is a temporary ban, it will be removed in [mins] minutes.</span>")
to_chat(M, span_filter_system(span_critical("You have been banned by [usr.client.ckey].\nReason: [reason].")))
to_chat(M, span_filter_system(span_warning("This is a temporary ban, it will be removed in [mins] minutes.")))
feedback_inc("ban_tmp",1)
DB_ban_record(BANTYPE_TEMP, M, mins, reason)
feedback_inc("ban_tmp_mins",mins)
if(CONFIG_GET(string/banappeals)) // CHOMPEdit
to_chat(M, "<span class='filter_system warning'>To try to resolve this matter head to [CONFIG_GET(string/banappeals)]</span>") // CHOMPEdit
to_chat(M, span_filter_system(span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"))) // CHOMPEdit
else
to_chat(M, "<span class='filter_system warning'>No ban appeals URL has been set.</span>")
to_chat(M, span_filter_system(span_warning("No ban appeals URL has been set.")))
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
message_admins(span_blue("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes."))
// CHOMPedit Start - Tickets System
@@ -962,12 +962,12 @@
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0, M.lastKnownIP)
if("No")
AddBan(M.ckey, M.computer_id, reason, usr.ckey, 0, 0)
to_chat(M, "<span class='filter_system critical'>You have been banned by [usr.client.ckey].\nReason: [reason].</span>")
to_chat(M, "<span class='filter_system warning'>This is a permanent ban.</span>")
to_chat(M, span_filter_system(span_critical("You have been banned by [usr.client.ckey].\nReason: [reason].")))
to_chat(M, span_filter_system(span_warning("This is a permanent ban.")))
if(CONFIG_GET(string/banappeals)) // CHOMPEdit
to_chat(M, "<span class='filter_system warning'>To try to resolve this matter head to [CONFIG_GET(string/banappeals)]</span>") // CHOMPEdit
to_chat(M, span_filter_system(span_warning("To try to resolve this matter head to [CONFIG_GET(string/banappeals)]"))) // CHOMPEdit
else
to_chat(M, "<span class='filter_system warning'>No ban appeals URL has been set.</span>")
to_chat(M, span_filter_system(span_warning("No ban appeals URL has been set.")))
ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.")
notes_add(M.ckey,"[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.",usr)
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
@@ -1055,7 +1055,7 @@
var/mob/living/carbon/human/H = locate(href_list["monkeyone"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]")
@@ -1067,7 +1067,7 @@
var/mob/living/carbon/human/H = locate(href_list["corgione"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
log_admin("[key_name(usr)] attempting to corgize [key_name(H)]")
@@ -1079,7 +1079,7 @@
var/mob/M = locate(href_list["forcespeech"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>this can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("this can only be used on instances of type /mob"))
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
@@ -1096,10 +1096,10 @@
var/mob/M = locate(href_list["sendtoprison"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(istype(M, /mob/living/silicon/ai))
to_chat(usr, "<span class='filter_adminlog'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai"))
return
var/turf/prison_cell = pick(prisonwarp)
@@ -1124,7 +1124,7 @@
prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/prison(prisoner), slot_w_uniform)
prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes)
to_chat(M, "<span class='filter_system warning'>You have been sent to the prison station!</span>")
to_chat(M, span_filter_system(span_warning("You have been sent to the prison station!")))
log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.")
message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1)
@@ -1134,11 +1134,11 @@
var/mob/M = locate(href_list["sendbacktolobby"])
if(!isobserver(M))
to_chat(usr, "<span class='filter_adminlog notice'>You can only send ghost players back to the Lobby.</span>")
to_chat(usr, span_filter_adminlog(span_notice("You can only send ghost players back to the Lobby.")))
return
if(!M.client)
to_chat(usr, "<span class='filter_adminlog warning'>[M] doesn't seem to have an active client.</span>")
to_chat(usr, span_filter_adminlog(span_warning("[M] doesn't seem to have an active client.")))
return
if(tgui_alert(usr, "Send [key_name(M)] back to Lobby?", "Message", list("Yes", "No")) != "Yes")
@@ -1159,10 +1159,10 @@
var/mob/M = locate(href_list["tdome1"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(istype(M, /mob/living/silicon/ai))
to_chat(usr, "<span class='filter_adminlog'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai"))
return
for(var/obj/item/I in M)
@@ -1172,7 +1172,7 @@
sleep(5)
M.loc = pick(tdome1)
spawn(50)
to_chat(M, "<span class='filter_system notice'>You have been sent to the Thunderdome.</span>")
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1)
@@ -1184,10 +1184,10 @@
var/mob/M = locate(href_list["tdome2"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(istype(M, /mob/living/silicon/ai))
to_chat(usr, "<span class='filter_adminlog'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai"))
return
for(var/obj/item/I in M)
@@ -1197,7 +1197,7 @@
sleep(5)
M.loc = pick(tdome2)
spawn(50)
to_chat(M, "<span class='filter_system notice'>You have been sent to the Thunderdome.</span>")
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1)
@@ -1209,17 +1209,17 @@
var/mob/M = locate(href_list["tdomeadmin"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(istype(M, /mob/living/silicon/ai))
to_chat(usr, "<span class='filter_adminlog'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai"))
return
M.Paralyse(5)
sleep(5)
M.loc = pick(tdomeadmin)
spawn(50)
to_chat(M, "<span class='filter_system notice'>You have been sent to the Thunderdome.</span>")
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1)
@@ -1231,10 +1231,10 @@
var/mob/M = locate(href_list["tdomeobserve"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
if(istype(M, /mob/living/silicon/ai))
to_chat(usr, "<span class='filter_adminlog'>This cannot be used on instances of type /mob/living/silicon/ai</span>")
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/living/silicon/ai"))
return
for(var/obj/item/I in M)
@@ -1248,7 +1248,7 @@
sleep(5)
M.loc = pick(tdomeobserve)
spawn(50)
to_chat(M, "<span class='filter_system notice'>You have been sent to the Thunderdome.</span>")
to_chat(M, span_filter_system(span_notice("You have been sent to the Thunderdome.")))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1)
@@ -1257,7 +1257,7 @@
var/mob/living/L = locate(href_list["revive"])
if(!istype(L))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living"))
return
if(CONFIG_GET(flag/allow_admin_rev)) // CHOMPEdit
@@ -1265,14 +1265,14 @@
message_admins(span_red("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1)
log_admin("[key_name(usr)] healed / Rrvived [key_name(L)]")
else
to_chat(usr, "<span class='filter_adminlog filter_warning'>Admin Rejuvinates have been disabled</span>")
to_chat(usr, span_filter_adminlog(span_filter_warning("Admin Rejuvinates have been disabled")))
else if(href_list["makeai"])
if(!check_rights(R_SPAWN)) return
var/mob/living/carbon/human/H = locate(href_list["makeai"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
message_admins(span_red("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1)
@@ -1284,7 +1284,7 @@
var/mob/living/carbon/human/H = locate(href_list["makealien"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
usr.client.cmd_admin_alienize(H)
@@ -1294,7 +1294,7 @@
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
usr.client.cmd_admin_robotize(H)
@@ -1304,7 +1304,7 @@
var/mob/M = locate(href_list["makeanimal"])
if(istype(M, /mob/new_player))
to_chat(usr, "<span class='filter_adminlog'>This cannot be used on instances of type /mob/new_player</span>")
to_chat(usr, span_filter_adminlog("This cannot be used on instances of type /mob/new_player"))
return
usr.client.cmd_admin_animalize(M)
@@ -1323,7 +1323,7 @@
var/mob/living/carbon/human/H = locate(href_list["togmutate"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
var/block=text2num(href_list["block"])
usr.client.cmd_admin_toggle_block(H,block)
@@ -1362,11 +1362,11 @@
var/mob/M = locate(href_list["take_question"])
if(ismob(M))
var/take_msg = "<span class='notice'><b>ADMINHELP</b>: <b>[key_name(usr.client)]</b> is attending to <b>[key_name(M)]'s</b> adminhelp, please don't dogpile them.</span>"
var/take_msg = span_notice("<b>ADMINHELP</b>: <b>[key_name(usr.client)]</b> is attending to <b>[key_name(M)]'s</b> adminhelp, please don't dogpile them.")
for(var/client/X in GLOB.admins)
if((R_ADMIN|R_MOD|R_SERVER) & X.holder.rights) //VOREStation Edit
to_chat(X, take_msg)
to_chat(M, "<span class='filter_pm notice'><b>Your adminhelp is being attended to by [usr.client]. Thanks for your patience!</b></span>")
to_chat(M, span_filter_pm(span_notice("<b>Your adminhelp is being attended to by [usr.client]. Thanks for your patience!</b>")))
// VoreStation Edit Start
if (CONFIG_GET(string/chat_webhook_url)) // CHOMPEdit
spawn(0)
@@ -1377,7 +1377,7 @@
world.Export("[CONFIG_GET(string/chat_webhook_url)]?[query_string]") // CHOMPEdit
// VoreStation Edit End
else
to_chat(usr, "<span class='warning'>Unable to locate mob.</span>")
to_chat(usr, span_warning("Unable to locate mob."))
else if(href_list["adminplayerobservecoodjump"])
if(!check_rights(R_ADMIN|R_SERVER|R_MOD)) return //VOREStation Edit
@@ -1397,7 +1397,7 @@
else if(href_list["adminmoreinfo"])
var/mob/M = locate(href_list["adminmoreinfo"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob"))
return
var/location_description = ""
@@ -1450,7 +1450,7 @@
var/mob/living/carbon/human/H = locate(href_list["adminspawncookie"])
if(!ishuman(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
H.equip_to_slot_or_del( new /obj/item/reagent_containers/food/snacks/cookie(H), slot_l_hand )
@@ -1467,14 +1467,14 @@
log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
message_admins("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
feedback_inc("admin_cookies_spawned",1)
to_chat(H, "<span class='notice'>Your prayers have been answered!! You received the <b>best cookie</b>!</span>")
to_chat(H, span_notice("Your prayers have been answered!! You received the <b>best cookie</b>!"))
else if(href_list["adminsmite"])
if(!check_rights(R_ADMIN|R_FUN|R_EVENT)) return
var/mob/living/carbon/human/H = locate(href_list["adminsmite"])
if(!ishuman(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
owner.smite(H)
@@ -1484,7 +1484,7 @@
var/mob/living/M = locate(href_list["BlueSpaceArtillery"])
if(!isliving(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living"))
return
if(tgui_alert(src.owner, "Are you sure you wish to hit [key_name(M)] with Blue Space Artillery?", "Confirm Firing?", list("Yes", "No")) != "Yes")
@@ -1495,39 +1495,39 @@
else if(href_list["CentComReply"])
var/mob/living/L = locate(href_list["CentComReply"])
if(!istype(L))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/"))
return
if(L.can_centcom_reply())
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>")
to_chat(src.owner, span_filter_adminlog("You sent [input] to [L] via a secure channel."))
log_admin("[src.owner] replied to [key_name(L)]'s CentCom message with the message [input].")
message_admins("[src.owner] replied to [key_name(L)]'s CentCom message with: \"[input]\"")
if(!isAI(L))
to_chat(L, "<span class='info'>You hear something crackle in your headset for a moment before a voice speaks.</span>")
to_chat(L, "<span class='info'>Please stand by for a message from Central Command.</span>")
to_chat(L, "<span class='info'>Message as follows.</span>")
to_chat(L, "<span class='notice'>[input]</span>")
to_chat(L, "<span class='info'>Message ends.</span>")
to_chat(L, span_info("You hear something crackle in your headset for a moment before a voice speaks."))
to_chat(L, span_info("Please stand by for a message from Central Command."))
to_chat(L, span_info("Message as follows."))
to_chat(L, span_notice("[input]"))
to_chat(L, span_info("Message ends."))
else
to_chat(src.owner, "<span class='filter_adminlog'>The person you are trying to contact does not have functional radio equipment.</span>")
to_chat(src.owner, span_filter_adminlog("The person you are trying to contact does not have functional radio equipment."))
else if(href_list["SyndicateReply"])
var/mob/living/carbon/human/H = locate(href_list["SyndicateReply"])
if(!istype(H))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob/living/carbon/human"))
return
if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset))
to_chat(usr, "<span class='filter_adminlog'>The person you are trying to contact is not wearing a headset</span>")
to_chat(usr, span_filter_adminlog("The person you are trying to contact is not wearing a headset"))
return
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>")
to_chat(src.owner, span_filter_adminlog("You sent [input] to [H] via a secure channel."))
log_admin("[src.owner] replied to [key_name(H)]'s illegal message with the message [input].")
to_chat(H, "<span class='filter_notice'>You hear something crackle in your headset for a moment before a voice speaks. \
\"Please stand by for a message from your benefactor. Message as follows, agent. <b>\"[input]\"</b> Message ends.\"</span>")
@@ -1552,7 +1552,7 @@
usr << browse(data, "window=[B.name]")
else
to_chat(usr, "<span class='warning'>The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]</span>")
to_chat(usr, span_warning("The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]"))
else if (href_list["AdminFaxViewPage"])
var/page = text2num(href_list["AdminFaxViewPage"])
@@ -1602,7 +1602,7 @@
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_and_message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]")
else
to_chat(usr, "<span class='filter_adminlog'>This mob is not located in the game world.</span>")
to_chat(usr, span_filter_adminlog("This mob is not located in the game world."))
else if(href_list["getmob"])
if(!check_rights(R_ADMIN|R_MOD|R_DEBUG|R_EVENT))
@@ -1671,7 +1671,7 @@
var/mob/M = locate(href_list["traitor"])
if(!ismob(M))
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob.</span>")
to_chat(usr, span_filter_adminlog("This can only be used on instances of type /mob."))
return
show_traitor_panel(M)
@@ -1695,7 +1695,7 @@
if(!check_rights(R_SPAWN)) return
if(!CONFIG_GET(flag/allow_admin_spawning)) // CHOMPEdit
to_chat(usr, "<span class='filter_adminlog'>Spawning of items is not allowed.</span>")
to_chat(usr, span_filter_adminlog("Spawning of items is not allowed."))
return
var/atom/loc = usr.loc
@@ -1755,24 +1755,24 @@
where = "onfloor"
if( where == "inhand" )
to_chat(usr, "<span class='filter_adminlog'>Support for inhand not available yet. Will spawn on floor.</span>")
to_chat(usr, span_filter_adminlog("Support for inhand not available yet. Will spawn on floor."))
where = "onfloor"
if ( where == "inhand" ) //Can only give when human or monkey
if ( !( ishuman(usr) || issmall(usr) ) )
to_chat(usr, "<span class='filter_adminlog'>Can only spawn in hand when you're a human or a monkey.</span>")
to_chat(usr, span_filter_adminlog("Can only spawn in hand when you're a human or a monkey."))
where = "onfloor"
else if ( usr.get_active_hand() )
to_chat(usr, "<span class='filter_adminlog'>Your active hand is full. Spawning on floor.</span>")
to_chat(usr, span_filter_adminlog("Your active hand is full. Spawning on floor."))
where = "onfloor"
if ( where == "inmarked" )
if ( !marked_datum )
to_chat(usr, "<span class='filter_adminlog'>You don't have any object marked. Abandoning spawn.</span>")
to_chat(usr, span_filter_adminlog("You don't have any object marked. Abandoning spawn."))
return
else
if ( !istype(marked_datum,/atom) )
to_chat(usr, "<span class='filter_adminlog'>The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.</span>")
to_chat(usr, span_filter_adminlog("The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn."))
return
var/atom/target //Where the object will be spawned
@@ -2028,17 +2028,17 @@
if(check_rights(R_SPAWN)) //VOREStation Edit
var/mob/M = locate(href_list["toglang"])
if(!istype(M))
to_chat(usr, "<span class='filter_adminlog'>[M] is illegal type, must be /mob!</span>")
to_chat(usr, span_filter_adminlog("[M] is illegal type, must be /mob!"))
return
var/lang2toggle = href_list["lang"]
var/datum/language/L = GLOB.all_languages[lang2toggle]
if(L in M.languages)
if(!M.remove_language(lang2toggle))
to_chat(usr, "<span class='filter_adminlog'>Failed to remove language '[lang2toggle]' from \the [M]!</span>")
to_chat(usr, span_filter_adminlog("Failed to remove language '[lang2toggle]' from \the [M]!"))
else
if(!M.add_language(lang2toggle))
to_chat(usr, "<span class='filter_adminlog'>Failed to add language '[lang2toggle]' from \the [M]!</span>")
to_chat(usr, span_filter_adminlog("Failed to add language '[lang2toggle]' from \the [M]!"))
show_player_panel(M)
@@ -2047,7 +2047,7 @@
var/mob/living/carbon/M = locate(href_list["cryoplayer"]) //VOREStation edit from just an all mob check to mob/living/carbon
if(!istype(M))
to_chat(usr, "<span class='warning'>Mob doesn't exist!</span>")
to_chat(usr, span_warning("Mob doesn't exist!"))
return
var/client/C = usr.client

View File

@@ -31,6 +31,4 @@
var/F = file("broken_icons.txt")
fdel(F)
F << text
to_world("<span class='filter_system'>Completeled successfully and written to [F]</span>")
to_world(span_filter_system("Completeled successfully and written to [F]"))

View File

@@ -190,7 +190,7 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT
/client/proc/SDQL2_query(query_text as message)
set category = "Debug.Misc" //CHOMPEdit
if(!check_rights(R_DEBUG)) //Shouldn't happen... but just to be safe.
message_admins("<span class='danger'>ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!</span>")
message_admins(span_danger("ERROR: Non-admin [key_name(usr)] attempted to execute a SDQL query!"))
log_admin("Non-admin [key_name(usr)] attempted to execute a SDQL query!")
return FALSE
var/list/results = world.SDQL2_query(query_text, key_name_admin(usr), "[key_name(usr)]")
@@ -224,7 +224,7 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT
running += query
var/msg = "Starting query #[query.id] - [query.get_query_text()]."
if(usr)
to_chat(usr, "<span class='admin'>[msg]</span>")
to_chat(usr, span_admin("[msg]"))
log_admin(msg)
query.ARun()
var/finished = FALSE
@@ -243,7 +243,7 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT
finished = FALSE
else if(query.state == SDQL2_STATE_ERROR)
if(usr)
to_chat(usr, "<span class='admin'>SDQL query [query.get_query_text()] errored. It will NOT be automatically garbage collected. Please remove manually.</span>")
to_chat(usr, span_admin("SDQL query [query.get_query_text()] errored. It will NOT be automatically garbage collected. Please remove manually."))
running -= query
else
if(query.finished)
@@ -256,14 +256,14 @@ Example: USING PROCCALL = BLOCKING, SELECT = FORCE_NULLS, PRIORITY = HIGH SELECT
//QDEL_IN(query, 50) Maybe when vorestation finally ports timers..
else
if(usr)
to_chat(usr, "<span class='admin'>SDQL query [query.get_query_text()] was halted. It will NOT be automatically garbage collected. Please remove manually.</span>")
to_chat(usr, span_admin("SDQL query [query.get_query_text()] was halted. It will NOT be automatically garbage collected. Please remove manually."))
running -= query
while(!finished)
var/end_time_total = REALTIMEOFDAY - start_time_total
return list("<span class='admin'>SDQL query combined results: [query_text]</span>",\
"<span class='admin'>SDQL query completed: [objs_all] objects selected by path, and [selectors_used ? objs_eligible : objs_all] objects executed on after WHERE filtering/MAPping if applicable.</span>",\
"<span class='admin'>SDQL combined querys took [DisplayTimeText(end_time_total)] to complete.</span>") + combined_refs
return list(span_admin("SDQL query combined results: [query_text]"),\
span_admin("SDQL query completed: [objs_all] objects selected by path, and [selectors_used ? objs_eligible : objs_all] objects executed on after WHERE filtering/MAPping if applicable."),\
span_admin("SDQL combined querys took [DisplayTimeText(end_time_total)] to complete.")) + combined_refs
GLOBAL_LIST_INIT(sdql2_queries, GLOB.sdql2_queries || list())
GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null, "VIEW VARIABLES (all)", null))
@@ -801,7 +801,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
if("or", "||")
result = (result || val)
else
to_chat(usr, "<span class='danger'>SDQL2: Unknown op [op]</span>")
to_chat(usr, span_danger("SDQL2: Unknown op [op]"))
result = null
else
result = val
@@ -895,7 +895,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
querys[querys_pos] = parsed_tree
querys_pos++
else //There was an error so don't run anything, and tell the user which query has errored.
to_chat(usr, "<span class='danger'>Parsing error on [querys_pos]\th query. Nothing was executed.</span>")
to_chat(usr, span_danger("Parsing error on [querys_pos]\th query. Nothing was executed."))
return list()
query_tree = list()
do_parse = 0
@@ -941,16 +941,16 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
D = object
if (object == world && (!long || expression[start + 1] == ".") && !(expression[start] in exclude))
to_chat(usr, "<span class='danger'>World variables are not allowed to be accessed. Use global.</span>")
to_chat(usr, span_danger("World variables are not allowed to be accessed. Use global."))
return null
else if(expression [start] == "{" && long)
if(lowertext(copytext(expression[start + 1], 1, 3)) != "0x")
to_chat(usr, "<span class='danger'>Invalid pointer syntax: [expression[start + 1]]</span>")
to_chat(usr, span_danger("Invalid pointer syntax: [expression[start + 1]]"))
return null
v = locate("\[[expression[start + 1]]]")
if(!v)
to_chat(usr, "<span class='danger'>Invalid pointer: [expression[start + 1]]</span>")
to_chat(usr, span_danger("Invalid pointer: [expression[start + 1]]"))
return null
start++
long = start < expression.len
@@ -995,7 +995,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
var/list/L = v
var/index = query.SDQL_expression(source, expression[start + 2])
if(isnum(index) && (!(round(index) == index) || L.len < index))
to_chat(usr, "<span class='danger'>Invalid list index: [index]</span>")
to_chat(usr, span_danger("Invalid list index: [index]"))
return null
return L[index]
return v

View File

@@ -60,7 +60,7 @@
/datum/SDQL_parser/proc/parse_error(error_message)
error = 1
to_chat(usr, "<span class='warning'>SQDL2 Parsing Error: [error_message]</span>")
to_chat(usr, span_warning("SQDL2 Parsing Error: [error_message]"))
return query.len + 1
/datum/SDQL_parser/proc/parse()
@@ -632,4 +632,4 @@
else
i = variable(i, node)
return i
return i

View File

@@ -212,13 +212,13 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
MessageNoRecipient(parsed_message)
send2adminchat() //VOREStation Add
//show it to the person adminhelping too
to_chat(C, "<span class='pm adminnotice'>PM to-<b>Admins</b>: [name]</span>")
to_chat(C, span_pm(span_adminnotice("PM to-<b>Admins</b>: [name]")))
//send it to irc if nobody is on and tell us how many were on
var/admin_number_present = send2irc_adminless_only(initiator_ckey, name)
log_admin("Ticket #[id]: [key_name(initiator)]: [name] - heard by [admin_number_present] non-AFK admins who have +BAN.")
if(admin_number_present <= 0)
to_chat(C, "<span class='pm notice'>No active admins are online, your adminhelp was sent to the admin discord.</span>") //VOREStation Edit
to_chat(C, span_pm(span_notice("No active admins are online, your adminhelp was sent to the admin discord."))) //VOREStation Edit
send2adminchat() //VOREStation Add
//YW EDIT START
var/list/adm = get_admin_counts()
@@ -291,7 +291,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
//won't bug irc
/datum/admin_help/proc/MessageNoRecipient(msg)
var/ref_src = "\ref[src]"
var/chat_msg = "<span class='pm adminnotice'><span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [msg]</span>"
var/chat_msg = span_pm(span_adminnotice("<span class='adminhelp'>Ticket [TicketHref("#[id]", ref_src)]</span><b>: [LinkedReplyName(ref_src)] [FullMonty(ref_src)]:</b> [msg]"))
AddInteraction("<font color='red'>[LinkedReplyName(ref_src)]: [msg]</font>")
//send this msg to all admins
@@ -307,11 +307,11 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
//Reopen a closed ticket
/datum/admin_help/proc/Reopen()
if(state == AHELP_ACTIVE)
to_chat(usr, "<span class='warning'>This ticket is already open.</span>")
to_chat(usr, span_warning("This ticket is already open."))
return
if(GLOB.ahelp_tickets.CKey2ActiveTicket(initiator_ckey))
to_chat(usr, "<span class='warning'>This user already has an active ticket, cannot reopen this one.</span>")
to_chat(usr, span_warning("This user already has an active ticket, cannot reopen this one."))
return
statclick = new(null, src)
@@ -330,8 +330,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
AddInteraction("<font color='purple'>Reopened by [key_name_admin(usr)]</font>")
if(initiator)
to_chat(initiator, "<span class='filter_adminlog'>[span_purple("Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].")]</span>")
var/msg = "<span class='adminhelp'>Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)].</span>"
to_chat(initiator, span_filter_adminlog("[span_purple("Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].")]"))
var/msg = span_adminhelp("Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)].")
message_admins(msg)
log_admin(msg)
feedback_inc("ahelp_reopen")
@@ -362,9 +362,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
RemoveActive()
state = AHELP_CLOSED
GLOB.ahelp_tickets.ListInsert(src)
AddInteraction("<span class='filter_adminlog'><font color='red'>Closed by [key_name_admin(usr)].</font></span>")
AddInteraction(span_filter_adminlog("<font color='red'>Closed by [key_name_admin(usr)].</font>"))
if(initiator)
to_chat(initiator, "<span class='filter_adminlog'>[span_red("Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].")]</span>")
to_chat(initiator, span_filter_adminlog("[span_red("Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].")]"))
if(!silent)
feedback_inc("ahelp_close")
var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name_admin(usr)]."
@@ -387,9 +387,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
state = AHELP_RESOLVED
GLOB.ahelp_tickets.ListInsert(src)
AddInteraction("<span class='filter_adminlog'><font color='green'>Resolved by [key_name_admin(usr)].</font></span>")
AddInteraction(span_filter_adminlog("<font color='green'>Resolved by [key_name_admin(usr)].</font>"))
if(initiator)
to_chat(initiator, "<span class='filter_adminlog'>[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].")]</span>")
to_chat(initiator, span_filter_adminlog("[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].")]"))
if(!silent)
feedback_inc("ahelp_resolve")
var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name_admin(usr)]"
@@ -640,12 +640,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
set name = "Adminhelp"
if(say_disabled) //This is here to try to identify lag problems
to_chat(usr, "<span class='danger'>Speech is currently admin-disabled.</span>")
to_chat(usr, span_danger("Speech is currently admin-disabled."))
return
//handle muting and automuting
if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<span class='danger'>Error: Admin-PM: You cannot send adminhelps (Muted).</span>")
to_chat(src, span_danger("Error: Admin-PM: You cannot send adminhelps (Muted)."))
return
if(handle_spam_prevention(msg,MUTE_ADMINHELP))
return
@@ -666,10 +666,10 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(input == "Yes")
if(current_ticket)
current_ticket.MessageNoRecipient(msg)
to_chat(usr, "<span class='pm adminnotice'>PM to-<b>Admins</b>: [msg]</span>")
to_chat(usr, span_pm(span_adminnotice("PM to-<b>Admins</b>: [msg]")))
return
else
to_chat(usr, "<span class='warning'>Ticket not found, creating new one...</span>")
to_chat(usr, span_warning("Ticket not found, creating new one..."))
else
current_ticket.AddInteraction("[key_name_admin(usr)] opened a new ticket.")
current_ticket.Close()

View File

@@ -29,14 +29,14 @@ Reason: Replaced with "Tickets System"
//handle muting and automuting
if(prefs.muted & MUTE_ADMINHELP)
to_chat(usr, "<span class='danger'>Error: You cannot request spice (muted from adminhelps).</span>")
to_chat(usr, span_danger("Error: You cannot request spice (muted from adminhelps)."))
return
if(tgui_alert(usr, "Are you sure you want to request the admins spice things up for you? You accept the consequences if you do.","Spicy!",list("Yes","No")) == "Yes")
message_admins("[ADMIN_FULLMONTY(usr)] has requested the round be spiced up a little.")
to_chat(usr, "<span class='notice'>You have requested some more spice in your round.</span>")
to_chat(usr, span_notice("You have requested some more spice in your round."))
else
to_chat(usr, "<span class='notice'>Spice request cancelled.</span>")
to_chat(usr, span_notice("Spice request cancelled."))
return
//if they requested spice, then remove spice verb temporarily to prevent spamming

View File

@@ -77,7 +77,7 @@
message_admins("[key_name_admin(usr)] jumped to [key_name_admin(M)]", 1)
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
to_chat(A, "<span class='filter_adminlog'>This mob is not located in the game world.</span>")
to_chat(A, span_filter_adminlog("This mob is not located in the game world."))
/client/proc/jumptocoord(tx as num, ty as num, tz as num)
set category = "Admin.Game" //CHOMPEdit
@@ -92,7 +92,7 @@
A.on_mob_jump()
var/turf/T = locate(tx, ty, tz)
if(!T)
to_chat(usr, "<span class='warning'>Those coordinates are outside the boundaries of the map.</span>")
to_chat(usr, span_warning("Those coordinates are outside the boundaries of the map."))
return
A.forceMove(T)
feedback_add_details("admin_verb","JC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -220,7 +220,7 @@
if(!tz) return
var/turf/T = locate(tx, ty, tz)
if(!T)
to_chat(usr, "<span class='warning'>Those coordinates are outside the boundaries of the map.</span>")
to_chat(usr, span_warning("Those coordinates are outside the boundaries of the map."))
return
if(ismob(AM))
var/mob/M = AM

View File

@@ -6,7 +6,7 @@
set category = null
set name = "Admin PM Mob"
if(!holder) //CHOMP Edit: Reverting this to let all staff respond to ahelps
to_chat(src, "<span class='pm warning'>Error: Admin-PM-Context: Only administrators may use this command.</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM-Context: Only administrators may use this command.")))
return
if( !ismob(M) || !M.client )
return
@@ -18,7 +18,7 @@
set category = "Admin"
set name = "Admin PM"
if(!holder) //CHOMP Edit: Reverting this to let all staff respond to ahelps
to_chat(src, "<span class='pm warning'>Error: Admin-PM-Panel: Only administrators may use this command.</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM-Panel: Only administrators may use this command.")))
return
var/list/client/targets[0]
for(var/client/T)
@@ -39,7 +39,7 @@
/client/proc/cmd_ahelp_reply(whom)
if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<span class='pm warning'>Error: Admin-PM: You are unable to use admin PM-s (muted).</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")))
return
var/client/C
if(istext(whom))
@@ -50,16 +50,16 @@
C = whom
if(!C)
if(holder)
to_chat(src, "<span class='pm warning'>Error: Admin-PM: Client not found.</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: Client not found.")))
return
var/datum/ticket/T = C.current_ticket // CHOMPedit - Ticket System
if(T) // CHOMPedit - Ticket System
message_admins("<span class='pm'>[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help.</span>")
message_admins(span_pm("[key_name_admin(src)] has started replying to [key_name(C, 0, 0)]'s admin help."))
var/msg = tgui_input_text(src,"Message:", "Private message to [key_name(C, 0, 0)]", multiline = TRUE)
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>")
message_admins(span_pm("[key_name_admin(src)] has cancelled their reply to [key_name(C, 0, 0)]'s admin help."))
return
cmd_admin_pm(whom, msg, T) // CHOMPedit - Ticket System
@@ -67,12 +67,12 @@
//Fetching a message if needed. src is the sender and C is the target client
/client/proc/cmd_admin_pm(whom, msg, datum/ticket/T) // CHOMPedit - Ticket System
if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<span class='pm warning'>Error: Admin-PM: You are unable to use admin PM-s (muted).</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")))
return
if(!holder && !current_ticket) //no ticket? https://www.youtube.com/watch?v=iHSPf6x1Fdo
to_chat(src, "<span class='pm warning'>You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.</span>")
to_chat(src, "<span class='pm notice'>Message: [msg]</span>")
to_chat(src, span_pm(span_warning("You can no longer reply to this ticket, please open another one by using the Adminhelp verb if need be.")))
to_chat(src, span_pm(span_notice("Message: [msg]")))
return
var/client/recipient
@@ -97,14 +97,14 @@
if(!msg)
return
if(holder)
to_chat(src, "<span class='pm warning'>Error: Use the admin IRC channel, nerd.</span>")
to_chat(src, span_pm(span_warning("Error: Use the admin IRC channel, nerd.")))
return
else
if(!recipient)
if(holder)
to_chat(src, "<span class='pm warning'>Error: Admin-PM: Client not found.</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: Client not found.")))
to_chat(src, msg)
else
current_ticket.MessageNoRecipient(msg)
@@ -118,12 +118,12 @@
return
if(prefs.muted & MUTE_ADMINHELP)
to_chat(src, "<span class='pm warning'>Error: Admin-PM: You are unable to use admin PM-s (muted).</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: You are unable to use admin PM-s (muted).")))
return
if(!recipient)
if(holder)
to_chat(src, "<span class='pm warning'>Error: Admin-PM: Client not found.</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: Client not found.")))
else
current_ticket.MessageNoRecipient(msg)
return
@@ -142,27 +142,27 @@
var/keywordparsedmsg = keywords_lookup(msg)
if(irc)
to_chat(src, "<span class='pm notice'>PM to-<b>Admins</b>: [rawmsg]</span>")
admin_ticket_log(src, "<span class='pm warning'>Reply PM from-<b>[key_name(src, TRUE, TRUE)]</b> to <i>IRC</i>: [keywordparsedmsg]</span>")
to_chat(src, span_pm(span_notice("PM to-<b>Admins</b>: [rawmsg]")))
admin_ticket_log(src, span_pm(span_warning("Reply PM from-<b>[key_name(src, TRUE, TRUE)]</b> to <i>IRC</i>: [keywordparsedmsg]")))
ircreplyamount--
send2irc("Reply: [ckey]",rawmsg)
else
if(recipient.holder)
if(holder) //both are admins
to_chat(recipient, "<span class='pm warning'>Admin PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]</span>")
to_chat(src, "<span class='pm notice'>Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]</span>")
to_chat(recipient, span_pm(span_warning("Admin PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]")))
to_chat(src, span_pm(span_notice("Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]")))
//omg this is dumb, just fill in both their tickets
var/interaction_message = "<span class='pm notice'>PM from-<b>[key_name(src, recipient, 1)]</b> to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]</span>"
var/interaction_message = span_pm(span_notice("PM from-<b>[key_name(src, recipient, 1)]</b> to-<b>[key_name(recipient, src, 1)]</b>: [keywordparsedmsg]"))
admin_ticket_log(src, interaction_message)
if(recipient != src) //reeee
admin_ticket_log(recipient, interaction_message)
else //recipient is an admin but sender is not
var/replymsg = "<span class='pm warning'>Reply PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]</span>"
var/replymsg = span_pm(span_warning("Reply PM from-<b>[key_name(src, recipient, 1)]</b>: [keywordparsedmsg]"))
admin_ticket_log(src, replymsg)
to_chat(recipient, replymsg)
to_chat(src, "<span class='pm notice'>PM to-<b>Admins</b>: [msg]</span>")
to_chat(src, span_pm(span_notice("PM to-<b>Admins</b>: [msg]")))
//play the recieving admin the adminhelp sound (if they have them enabled)
if(recipient.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping))
@@ -173,12 +173,12 @@
if(!recipient.current_ticket)
new /datum/ticket(msg, recipient, TRUE, 0) // CHOMPedit - Ticket System
to_chat(recipient, "<span class='pm warning' size='4'><b>-- Administrator private message --</b></span>")
to_chat(recipient, "<span class='pm warning'>Admin PM from-<b>[key_name(src, recipient, 0)]</b>: [msg]</span>")
to_chat(recipient, "<span class='pm warning'><i>Click on the administrator's name to reply.</i></span>")
to_chat(src, "<span class='pm notice'>Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [msg]</span>")
to_chat(recipient, span_pm(span_warning(span_huge("<b>-- Administrator private message --</b>"))))
to_chat(recipient, span_pm(span_warning("Admin PM from-<b>[key_name(src, recipient, 0)]</b>: [msg]")))
to_chat(recipient, span_pm(span_warning("<i>Click on the administrator's name to reply.</i>")))
to_chat(src, span_pm(span_notice("Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [msg]")))
admin_ticket_log(recipient, "<span class='pm notice'>PM From [key_name_admin(src)]: [keywordparsedmsg]</span>")
admin_ticket_log(recipient, span_pm(span_notice("PM From [key_name_admin(src)]: [keywordparsedmsg]")))
//always play non-admin recipients the adminhelp sound
recipient << 'sound/effects/adminhelp.ogg'
@@ -197,7 +197,7 @@
return
else //neither are admins
to_chat(src, "<span class='pm warning'>Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.</span>")
to_chat(src, span_pm(span_warning("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.")))
return
if(irc)
@@ -205,7 +205,7 @@
for(var/client/X in GLOB.admins)
if(!check_rights(R_ADMIN|R_SERVER, 0, X)) //CHOMPEdit
continue
to_chat(X, "<span class='pm notice'><B>PM: [key_name(src, X, 0)]-&gt;IRC:</B> [keywordparsedmsg]</span>")
to_chat(X, span_pm(span_notice("<B>PM: [key_name(src, X, 0)]-&gt;IRC:</B> [keywordparsedmsg]")))
else
log_admin("PM: [key_name(src)]->[key_name(recipient)]: [rawmsg]")
//we don't use message_admins here because the sender/receiver might get it too
@@ -213,7 +213,7 @@
if(!check_rights(R_ADMIN|R_SERVER, 0, X)) //CHOMPEdit
continue
if(X.key!=key && X.key!=recipient.key) //check client/X is an admin and isn't the sender or recipient
to_chat(X, "<span class='pm notice'><B>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> [keywordparsedmsg]</span>" )
to_chat(X, span_pm(span_notice("<B>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> [keywordparsedmsg]")))
/proc/IrcPm(target,msg,sender)
var/client/C = GLOB.directory[target]
@@ -262,11 +262,11 @@
message_admins("IRC message from [sender] to [key_name_admin(C)] : [msg]")
log_admin("IRC PM: [sender] -> [key_name(C)] : [msg]")
to_chat(C, "<span class='pm warning'><font size='4'><b>-- Administrator private message --</b></font></span>")
to_chat(C, "<span class='pm warning'>Admin PM from-<b><a href='?priv_msg=[stealthkey]'>[adminname]</A></b>: [msg]</span>")
to_chat(C, "<span class='pm warning'><i>Click on the administrator's name to reply.</i></span>")
to_chat(C, span_pm(span_warning(span_huge("<b>-- Administrator private message --</b>"))))
to_chat(C, span_pm(span_warning("Admin PM from-<b><a href='?priv_msg=[stealthkey]'>[adminname]</A></b>: [msg]")))
to_chat(C, span_pm(span_warning("<i>Click on the administrator's name to reply.</i>")))
admin_ticket_log(C, "<span class='pm notice'>PM From [irc_tagged]: [msg]</span>")
admin_ticket_log(C, span_pm(span_notice("PM From [irc_tagged]: [msg]")))
window_flash(C)
//always play non-admin recipients the adminhelp sound

View File

@@ -13,7 +13,7 @@
for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN, 0, C))
to_chat(C, "<span class='admin_channel'>" + create_text_tag("admin", "ADMIN:", C) + " <span class='name'>[key_name(usr, 1)]</span>([admin_jump_link(mob, src)]): <span class='message'>[msg]</span></span>")
to_chat(C, span_admin_channel("" + create_text_tag("admin", "ADMIN:", C) + " <span class='name'>[key_name(usr, 1)]</span>([admin_jump_link(mob, src)]): <span class='message'>[msg]</span>"))
feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -33,10 +33,10 @@
var/sender_name = key_name(usr, 1)
if(check_rights(R_ADMIN, 0))
sender_name = "<span class='admin'>[sender_name]</span>"
sender_name = span_admin("[sender_name]")
for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN|R_MOD|R_SERVER)) //VOREStation Edit
to_chat(C, "<span class='mod_channel'>" + create_text_tag("mod", "MOD:", C) + " <span class='name'>[sender_name]</span>([admin_jump_link(mob, C.holder)]): <span class='message'>[msg]</span></span>")
to_chat(C, span_mod_channel("" + create_text_tag("mod", "MOD:", C) + " <span class='name'>[sender_name]</span>([admin_jump_link(mob, C.holder)]): <span class='message'>[msg]</span>"))
feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -56,8 +56,8 @@
var/sender_name = key_name(usr, 1)
if(check_rights(R_ADMIN, 0))
sender_name = "<span class='admin'>[sender_name]</span>"
sender_name = span_admin("[sender_name]")
for(var/client/C in GLOB.admins)
to_chat(C, "<span class='event_channel'>" + create_text_tag("event", "EVENT:", C) + " <span class='name'>[sender_name]</span>([admin_jump_link(mob, C.holder)]): <span class='message'>[msg]</span></span>")
to_chat(C, span_event_channel("" + create_text_tag("event", "EVENT:", C) + " <span class='name'>[sender_name]</span>([admin_jump_link(mob, C.holder)]): <span class='message'>[msg]</span>"))
feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -7,13 +7,13 @@
var/is_antag = usr.mind && usr.mind.special_role
if(!is_antag && !is_admin) // Non-antagonists and non-admins have no business using this.
to_chat(usr, "<span class='warning'>Sorry, but only certain antagonists or administrators can use this verb.</span>")
to_chat(usr, span_warning("Sorry, but only certain antagonists or administrators can use this verb."))
return
else if(is_antag && !is_admin) // Is an antag, and not an admin, meaning we need to check if their antag type allows AOOC.
var/datum/antagonist/A = get_antag_data(usr.mind.special_role)
if(!A || !A.can_speak_aooc || !A.can_hear_aooc)
to_chat(usr, "<span class='warning'>Sorry, but your antagonist type is not allowed to speak in AOOC.</span>")
to_chat(usr, span_warning("Sorry, but your antagonist type is not allowed to speak in AOOC."))
return
msg = sanitize(msg)
@@ -31,12 +31,12 @@
for(var/mob/M in mob_list)
if(check_rights(R_ADMIN|R_MOD|R_EVENT, 0, M)) // Staff can see AOOC unconditionally, and with more details.
to_chat(M, "<span class='ooc'><span class='aooc'>[create_text_tag("aooc", "Antag-OOC:", M.client)] <EM>[get_options_bar(src, 0, 1, 1)]([admin_jump_link(usr, M.client.holder)]):</EM> <span class='message'>[msg]</span></span></span>")
to_chat(M, span_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] <EM>[get_options_bar(src, 0, 1, 1)]([admin_jump_link(usr, M.client.holder)]):</EM> <span class='message'>[msg]</span>")))
else if(M.client) // Players can only see AOOC if observing, or if they are an antag type allowed to use AOOC.
var/datum/antagonist/A = null
if(M.mind) // Observers don't have minds, but they should still see AOOC.
A = get_antag_data(M.mind.special_role)
if((M.mind && M.mind.special_role && A && A.can_hear_aooc) || isobserver(M)) // Antags must have their type be allowed to AOOC to see AOOC. This prevents, say, ERT from seeing AOOC.
to_chat(M, "<span class='ooc'><span class='aooc'>[create_text_tag("aooc", "Antag-OOC:", M.client)] <EM>[player_display]:</EM> <span class='message'>[msg]</span></span></span>")
to_chat(M, span_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] <EM>[player_display]:</EM> <span class='message'>[msg]</span>")))
log_aooc(msg,src)

View File

@@ -14,17 +14,17 @@
//all plumbing - yes, some things might get stated twice, doesn't matter.
for (var/obj/machinery/atmospherics/plumbing in machines)
if (plumbing.nodealert)
to_chat(usr, "<span class='filter_adminlog warning'>Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])</span>")
to_chat(usr, span_filter_adminlog(span_warning("Unconnected [plumbing.name] located at [plumbing.x],[plumbing.y],[plumbing.z] ([get_area(plumbing.loc)])")))
//Manifolds
for (var/obj/machinery/atmospherics/pipe/manifold/pipe in machines)
if (!pipe.node1 || !pipe.node2 || !pipe.node3)
to_chat(usr, "<span class='filter_adminlog warning'>Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])</span>")
to_chat(usr, span_filter_adminlog(span_warning("Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])")))
//Pipes
for (var/obj/machinery/atmospherics/pipe/simple/pipe in machines)
if (!pipe.node1 || !pipe.node2)
to_chat(usr, "<span class='filter_adminlog warning'>Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])</span>")
to_chat(usr, span_filter_adminlog(span_warning("Unconnected [pipe.name] located at [pipe.x],[pipe.y],[pipe.z] ([get_area(pipe.loc)])")))
to_chat(usr, "Checking for overlapping pipes...")
next_turf:
@@ -36,7 +36,7 @@
for(var/connect_type in pipe.connect_types)
connect_types[connect_type] += 1
if(connect_types[1] > 1 || connect_types[2] > 1 || connect_types[3] > 1)
to_chat(usr, "<span class='filter_adminlog warning'>Overlapping pipe ([pipe.name]) located at [T.x],[T.y],[T.z] ([get_area(T)])</span>")
to_chat(usr, span_filter_adminlog(span_warning("Overlapping pipe ([pipe.name]) located at [T.x],[T.y],[T.z] ([get_area(T)])")))
continue next_turf
to_chat(usr, "Done")
@@ -52,9 +52,9 @@
if (!PN.nodes || !PN.nodes.len)
if(PN.cables && (PN.cables.len > 1))
var/obj/structure/cable/C = PN.cables[1]
to_chat(usr, "<span class='filter_adminlog'>Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]</span>")
to_chat(usr, span_filter_adminlog("Powernet with no nodes! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]"))
if (!PN.cables || (PN.cables.len < 10))
if(PN.cables && (PN.cables.len > 1))
var/obj/structure/cable/C = PN.cables[1]
to_chat(usr, "<span class='filter_adminlog'>Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]</span>")
to_chat(usr, span_filter_adminlog("Powernet with fewer than 10 cables! (number [PN.number]) - example cable at [C.x], [C.y], [C.z] in area [get_area(C.loc)]"))

View File

@@ -301,7 +301,7 @@
area_enabled = 1
area_name = tgui_input_text(usr, "New area name", "Room Buildmode", max_length = MAX_NAME_LEN)
if(isnull(area_name))
to_chat(usr, "<span class='notice'>You must enter a non-null name.</span>")
to_chat(usr, span_notice("You must enter a non-null name."))
area_enabled = 0
return
area_name = sanitize(area_name,MAX_NAME_LEN)
@@ -418,7 +418,7 @@ CHOMP Remove end */
qdel(object)
else if(pa.Find("ctrl"))
holder.buildmode.objholder = object.type
to_chat(user, "<span class='notice'>[object]([object.type]) copied to buildmode.</span>")
to_chat(user, span_notice("[object]([object.type]) copied to buildmode."))
if(pa.Find("middle"))
holder.buildmode.objholder = text2path("[object.type]")
if(holder.buildmode.objsay)
@@ -430,13 +430,13 @@ CHOMP Remove end */
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
object.vars[holder.buildmode.varholder] = holder.buildmode.valueholder
else
to_chat(user, "<span class='danger'>[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'</span>")
to_chat(user, span_danger("[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"))
if(pa.Find("right"))
if(object.vars.Find(holder.buildmode.varholder))
log_admin("[key_name(usr)] modified [object.name]'s [holder.buildmode.varholder] to [holder.buildmode.valueholder]")
object.vars[holder.buildmode.varholder] = initial(object.vars[holder.buildmode.varholder])
else
to_chat(user, "<span class='danger'>[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'</span>")
to_chat(user, span_danger("[initial(object.name)] does not have a var called '[holder.buildmode.varholder]'"))
if(BUILDMODE_THROW)
if(pa.Find("left"))
@@ -450,19 +450,19 @@ CHOMP Remove end */
if(BUILDMODE_ROOM)
if(pa.Find("left"))
holder.buildmode.coordA = get_turf(object)
to_chat(user, "<span class='notice'>Defined [object] ([object.type]) as point A.</span>")
to_chat(user, span_notice("Defined [object] ([object.type]) as point A."))
if(pa.Find("right"))
holder.buildmode.coordB = get_turf(object)
to_chat(user, "<span class='notice'>Defined [object] ([object.type]) as point B.</span>")
to_chat(user, span_notice("Defined [object] ([object.type]) as point B."))
if(holder.buildmode.coordA && holder.buildmode.coordB)
if(isnull(holder.buildmode.area_name))
to_chat(user, "<span class='notice'>ERROR: Insert area name before use.</span>")
to_chat(user, span_notice("ERROR: Insert area name before use."))
holder.buildmode.coordA = null
holder.buildmode.coordB = null
return
to_chat(user, "<span class='notice'>A and B set, creating rectangle.</span>")
to_chat(user, span_notice("A and B set, creating rectangle."))
holder.buildmode.make_rectangle(
holder.buildmode.coordA,
holder.buildmode.coordB,
@@ -476,14 +476,14 @@ CHOMP Remove end */
if(BUILDMODE_LADDER)
if(pa.Find("left"))
holder.buildmode.coordA = get_turf(object)
to_chat(user, "<span class='notice'>Defined [object] ([object.type]) as upper ladder location.</span>")
to_chat(user, span_notice("Defined [object] ([object.type]) as upper ladder location."))
if(pa.Find("right"))
holder.buildmode.coordB = get_turf(object)
to_chat(user, "<span class='notice'>Defined [object] ([object.type]) as lower ladder location.</span>")
to_chat(user, span_notice("Defined [object] ([object.type]) as lower ladder location."))
if(holder.buildmode.coordA && holder.buildmode.coordB)
to_chat(user, "<span class='notice'>Ladder locations set, building ladders.</span>")
to_chat(user, span_notice("Ladder locations set, building ladders."))
var/obj/structure/ladder/A = new /obj/structure/ladder/up(holder.buildmode.coordA)
var/obj/structure/ladder/B = new /obj/structure/ladder(holder.buildmode.coordB)
A.target_up = B
@@ -655,7 +655,7 @@ CHOMP Remove end */
if(BUILDMODE_DROP)
if(ispath(holder.buildmode.objholder,/turf))
to_chat(user, "<span class='warning'>Cannot use turfs with this mode.</span>")
to_chat(user, span_warning("Cannot use turfs with this mode."))
return
if(pa.Find("left") && !pa.Find("ctrl"))
if(ispath(holder.buildmode.objholder))
@@ -667,7 +667,7 @@ CHOMP Remove end */
FE.crushing = TRUE
else if(pa.Find("ctrl"))
holder.buildmode.objholder = object.type
to_chat(user, "<span class='notice'>[object]([object.type]) copied to buildmode.</span>")
to_chat(user, span_notice("[object]([object.type]) copied to buildmode."))
if(pa.Find("middle"))
holder.buildmode.objholder = text2path("[object.type]")
if(holder.buildmode.objsay)

View File

@@ -23,7 +23,7 @@
if(!H) return
if(!H.client)
to_chat(usr, "<span class='filter_arning'> Only mobs with clients can alter their own appearance.</span>")
to_chat(usr, span_filter_warning(" Only mobs with clients can alter their own appearance."))
return
var/datum/gender/T = gender_datums[H.get_visible_gender()]
switch(tgui_alert(usr, "Do you wish for [H] to be allowed to select non-whitelisted races?","Alter Mob Appearance","Yes","No","Cancel"))
@@ -44,7 +44,7 @@
var/mob/living/carbon/human/M = tgui_input_list(usr, "Select mob.", "Edit Appearance", human_mob_list)
if(!istype(M, /mob/living/carbon/human))
to_chat(usr, "<span class='warning'>You can only do this to humans!</span>")
to_chat(usr, span_warning("You can only do this to humans!"))
return
if(tgui_alert(usr, "Are you sure you wish to edit this mob's appearance? Skrell, Unathi, Tajaran can result in unintended consequences.","Danger!",list("Yes","No")) != "Yes")
return

View File

@@ -19,9 +19,9 @@
custom_event_msg = input
to_world("<h1 class='alert'>Custom Event</h1>")
to_world("<h2 class='alert'>A custom event is starting. OOC Info:</h2>")
to_world("<span class='alert'>[custom_event_msg]</span>")
to_world("<h1>[span_alert("Custom Event")]</h1>")
to_world("<h2>[span_alert("A custom event is starting. OOC Info:")]</h2>")
to_world(span_alert("[custom_event_msg]"))
to_world("<br>")
SSwebhooks.send(
@@ -37,10 +37,10 @@
set name = "Custom Event Info"
if(!custom_event_msg || custom_event_msg == "")
to_chat(src, "<span class='filter_notice'>There currently is no known custom event taking place.</span>")
to_chat(src, "<span class='filter_notice'>Keep in mind: it is possible that an admin has not properly set this.</span>")
to_chat(src, span_filter_notice("There currently is no known custom event taking place."))
to_chat(src, span_filter_notice("Keep in mind: it is possible that an admin has not properly set this."))
return
to_chat(src, "<h1 class='filter_notice alert'>Custom Event</h1>")
to_chat(src, "<h2 class='filter_notice alert'>A custom event is taking place. OOC Info:</h2>")
to_chat(src, "<span class='filter_notice alert'>[custom_event_msg]<br></span>")
to_chat(src, "<h1>[span_filter_notice(span_alert("Custom Event"))]</h1>")
to_chat(src, "<h2>[span_filter_notice(span_alert("A custom event is taking place. OOC Info:"))]</h2>")
to_chat(src, span_filter_notice(span_alert("[custom_event_msg]<br>")))

View File

@@ -8,11 +8,11 @@
if(!src.mob)
return
if(prefs.muted & MUTE_DEADCHAT)
to_chat(src, "<span class='warning'>You cannot send DSAY messages (muted).</span>")
to_chat(src, span_warning("You cannot send DSAY messages (muted)."))
return
if(!prefs?.read_preference(/datum/preference/toggle/show_dsay))
to_chat(src, "<span class='warning'>You have deadchat muted.</span>")
to_chat(src, span_warning("You have deadchat muted."))
return
if (src.handle_spam_prevention(msg,MUTE_DEADCHAT))
@@ -26,6 +26,6 @@
if (!msg)
return
say_dead_direct("<span class='name'>[stafftype]([src.holder.fakekey ? src.holder.fakekey : src.key])</span> says, <span class='message'>\"[msg]\"</span>")
say_dead_direct(span_name("[stafftype]([src.holder.fakekey ? src.holder.fakekey : src.key])</span> says, <span class='message'>\"[msg]\""))
feedback_add_details("admin_verb","D") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -27,7 +27,7 @@
user = usr
I = user.get_active_hand()
if(!I || !istype(I))
to_chat(user, "<span class='warning'>You need to have something in your active hand, to use this verb.</span>")
to_chat(user, span_warning("You need to have something in your active hand, to use this verb."))
return
var/weapon_attack_speed = user.get_attack_speed(I) / 10
var/weapon_damage = I.force
@@ -52,24 +52,24 @@
P = ammo.BB
else
to_chat(user, "<span class='warning'>DPS calculation by this verb is not supported for \the [G]'s type. Energy or Ballistic only, sorry.</span>")
to_chat(user, span_warning("DPS calculation by this verb is not supported for \the [G]'s type. Energy or Ballistic only, sorry."))
weapon_damage = P.damage
weapon_attack_speed = G.fire_delay / 10
qdel(P)
var/DPS = weapon_damage / weapon_attack_speed
to_chat(user, "<span class='notice'>Damage: [weapon_damage][modified_damage_percent != 1 ? " (Modified by [modified_damage_percent*100]%)":""]</span>")
to_chat(user, "<span class='notice'>Attack Speed: [weapon_attack_speed]/s</span>")
to_chat(user, "<span class='notice'>\The [I] does <b>[DPS]</b> damage per second.</span>")
to_chat(user, span_notice("Damage: [weapon_damage][modified_damage_percent != 1 ? " (Modified by [modified_damage_percent*100]%)":""]"))
to_chat(user, span_notice("Attack Speed: [weapon_attack_speed]/s"))
to_chat(user, span_notice("\The [I] does <b>[DPS]</b> damage per second."))
if(DPS > 0)
to_chat(user, "<span class='notice'>At your maximum health ([user.getMaxHealth()]), it would take approximately;</span>")
to_chat(user, "<span class='notice'>[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_softcrit)) / DPS] seconds to softcrit you. ([CONFIG_GET(number/health_threshold_softcrit)] health)</span>") // CHOMPEdit
to_chat(user, "<span class='notice'>[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_crit)) / DPS] seconds to hardcrit you. ([CONFIG_GET(number/health_threshold_crit)] health)</span>") // CHOMPEdit
to_chat(user, "<span class='notice'>[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_dead)) / DPS] seconds to kill you. ([CONFIG_GET(number/health_threshold_dead)] health)</span>") // CHOMPEdit
to_chat(user, span_notice("At your maximum health ([user.getMaxHealth()]), it would take approximately;"))
to_chat(user, span_notice("[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_softcrit)) / DPS] seconds to softcrit you. ([CONFIG_GET(number/health_threshold_softcrit)] health)")) // CHOMPEdit
to_chat(user, span_notice("[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_crit)) / DPS] seconds to hardcrit you. ([CONFIG_GET(number/health_threshold_crit)] health)")) // CHOMPEdit
to_chat(user, span_notice("[(user.getMaxHealth() - CONFIG_GET(number/health_threshold_dead)) / DPS] seconds to kill you. ([CONFIG_GET(number/health_threshold_dead)] health)")) // CHOMPEdit
else
to_chat(user, "<span class='warning'>You need to be a living mob, with hands, and for an object to be in your active hand, to use this verb.</span>")
to_chat(user, span_warning("You need to be a living mob, with hands, and for an object to be in your active hand, to use this verb."))
return
/client/proc/Cell()
@@ -173,7 +173,7 @@
M:Alienize()
feedback_add_details("admin_verb","MKAL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] made [key_name(M)] into an alien.")
message_admins("<span class='notice'>[key_name_admin(usr)] made [key_name(M)] into an alien.</span>", 1)
message_admins(span_notice("[key_name_admin(usr)] made [key_name(M)] into an alien."), 1)
else
tgui_alert_async(usr, "Invalid mob")

View File

@@ -14,15 +14,15 @@
return
if(!istype(H))
to_chat(usr,"<span class='warning'>That mob type ([H.type]) doesn't support NIFs, sorry.</span>")
to_chat(usr,span_warning("That mob type ([H.type]) doesn't support NIFs, sorry."))
return
if(!H.get_organ(BP_HEAD))
to_chat(usr,"<span class='warning'>Target is unsuitable.</span>")
to_chat(usr,span_warning("Target is unsuitable."))
return
if(H.nif)
to_chat(usr,"<span class='warning'>Target already has a NIF.</span>")
to_chat(usr,span_warning("Target already has a NIF."))
return
if(H.species.flags & NO_SCAN)

View File

@@ -10,7 +10,7 @@
var/new_fps = round(tgui_input_number(usr, "Sets game frames-per-second. Can potentially break the game (default: [CONFIG_GET(number/fps)])", "FPS", world.fps, round(CONFIG_GET(number/fps) * 1.5))) // CHOMPEdit
if(new_fps <= 0)
to_chat(src, "<span class='danger'>Error: set_server_fps(): Invalid world.fps value. No changes made.</span>")
to_chat(src, span_danger("Error: set_server_fps(): Invalid world.fps value. No changes made."))
return
if(new_fps > CONFIG_GET(number/fps) * 1.5) // CHOMPEdit
if(tgui_alert(src, "You are setting fps to a high value:\n\t[new_fps] frames-per-second\n\tconfig.fps = [CONFIG_GET(number/fps)]", "Warning!", list("Confirm", "ABORT-ABORT-ABORT")) != "Confirm") // CHOMPEdit

View File

@@ -32,7 +32,7 @@
return
if(template.load(T, centered = TRUE, orientation=orientation))
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has placed a map template ([template.name]).</span>")
message_admins(span_adminnotice("[key_name_admin(usr)] has placed a map template ([template.name])."))
else
to_chat(usr, "Failed to place map")
if(usr)
@@ -63,7 +63,7 @@
if(tgui_alert(usr,"Confirm map load.", "Template Confirm",list("No","Yes")) == "Yes")
if(template.load_new_z(orientation=orientation))
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz].</span>")
message_admins(span_adminnotice("[key_name_admin(usr)] has placed a map template ([template.name]) on Z level [world.maxz]."))
else
to_chat(usr, "Failed to place map")
@@ -83,6 +83,6 @@
if(M.preload_size(map))
to_chat(usr, "Map template '[map]' ready to place ([M.width]x[M.height])")
SSmapping.map_templates[M.name] = M
message_admins("<span class='adminnotice'>[key_name_admin(usr)] has uploaded a map template ([map])</span>")
message_admins(span_adminnotice("[key_name_admin(usr)] has uploaded a map template ([map])"))
else
to_chat(usr, "Map template '[map]' failed to load properly")

View File

@@ -20,11 +20,11 @@
if(tgui_alert(usr, "This robot has not yet selected a module. Would you like to toggle combat module override?","Confirm",list("Yes","No"))!="Yes")
continue
target.crisis_override = !target.crisis_override
to_chat(usr, "<span class='danger'>You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.</span>")
to_chat(usr, span_danger("You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite."))
continue
if(MODIFIY_ROBOT_LIMIT_MODULES_ADD)
if(target.restrict_modules_to.len)
to_chat(usr, "<span class='warning'>[target]'s modules are already restricted. For details you can use the remove verb to show all active restrictions.</span>")
to_chat(usr, span_warning("[target]'s modules are already restricted. For details you can use the remove verb to show all active restrictions."))
var/list/possible_options = list()
for(var/entry in robot_modules)
if(!target.restrict_modules_to.Find(entry))
@@ -35,16 +35,16 @@
break
possible_options -= selected_type
target.restrict_modules_to += selected_type
to_chat(usr, "<span class='danger'>You added [selected_type] to [target]'s possible modules list.</span>")
to_chat(usr, span_danger("You added [selected_type] to [target]'s possible modules list."))
continue
if(MODIFIY_ROBOT_LIMIT_MODULES_REMOVE)
while(TRUE)
var/selected_type = tgui_input_list(usr, "Please select the module type to remove. Removing all module types here will allow default station module selection.", "Module types", target.restrict_modules_to)
if(!selected_type || selected_type == "Cancel")
to_chat(usr, "<span class='danger'>[target] uses the default module list without special restrictions.</span>")
to_chat(usr, span_danger("[target] uses the default module list without special restrictions."))
break
target.restrict_modules_to -= selected_type
to_chat(usr, "<span class='danger'>You removed [selected_type] from [target]'s possible modules list.</span>")
to_chat(usr, span_danger("You removed [selected_type] from [target]'s possible modules list."))
continue
if(!target.module.modules)
@@ -59,7 +59,7 @@
return
if(!target.module || !target.module.modules)
to_chat(usr, "<span class='danger'>[target] was recently reset, you must wait until module selection has been completed before continuing modifying.</span>")
to_chat(usr, span_danger("[target] was recently reset, you must wait until module selection has been completed before continuing modifying."))
continue
log_and_message_admins("[key_name(src)] has used MODIFYROBOT ([modification_choice]) on [key_name(target)].")
@@ -93,7 +93,7 @@
spawn(0) //ChompEDIT Must be after to allow the movement to finish
SEND_SIGNAL(add_item, COMSIG_OBSERVER_MOVED)//ChompEDIT - report the movement since setting loc doesn't call Move or Moved
target.hud_used.update_robot_modules_display()
to_chat(usr, "<span class='danger'>You added \"[add_item]\" to [target].</span>")
to_chat(usr, span_danger("You added \"[add_item]\" to [target]."))
if(istype(add_item, /obj/item/stack/))
var/obj/item/stack/item_with_synth = add_item
for(var/synth in item_with_synth.synths)
@@ -141,7 +141,7 @@
var/selected_module_module = tgui_input_list(usr, "Please select the module to remove", "Modules", active_modules)
if(!istype(selected_module_module, /obj/item/))
break
to_chat(usr, "<span class='danger'>You removed \"[selected_module_module]\" from [target]</span>")
to_chat(usr, span_danger("You removed \"[selected_module_module]\" from [target]"))
target.uneq_all()
target.hud_used.update_robot_modules_display(TRUE)
target.module.emag.Remove(selected_module_module)
@@ -172,12 +172,12 @@
if(istype(U, /obj/item/borg/upgrade/restricted))
target.module.supported_upgrades |= new_upgrade
if(U.action(target))
to_chat(usr, "<span class='danger'>You apply the [U] to [target]!</span>")
to_chat(usr, span_danger("You apply the [U] to [target]!"))
usr.drop_item()
U.loc = target
target.hud_used.update_robot_modules_display()
else
to_chat(usr, "<span class='danger'>Upgrade error!</span>")
to_chat(usr, span_danger("Upgrade error!"))
if(selected_module_upgrade == "Proto-Kinetic Accelerator")
var/list/modkits = list()
for(var/modkit in typesof(/obj/item/borg/upgrade/modkit))
@@ -193,7 +193,7 @@
var/obj/item/borg/upgrade/modkit/M = new new_modkit(src)
var/obj/item/gun/energy/kinetic_accelerator/kin = locate() in target.module.modules
if(kin.get_remaining_mod_capacity() >= M.cost)
to_chat(usr, "<span class='danger'>You installed the [M] into the [kin], [capacity]% remaining!</span>")
to_chat(usr, span_danger("You installed the [M] into the [kin], [capacity]% remaining!"))
modkits.Remove(selected_ka_upgrade)
M.install(kin, target)
capacity = kin.get_remaining_mod_capacity()
@@ -243,7 +243,7 @@
target.radio.channels[selected_radio_channel] += target.module.channels[selected_radio_channel]
target.radio.secure_radio_connections[selected_radio_channel] += radio_controller.add_object(target.radio, radiochannels[selected_radio_channel], RADIO_CHAT)
available_channels -= selected_radio_channel
to_chat(usr, "<span class='danger'>You added \"[selected_radio_channel]\" channel to [target].</span>")
to_chat(usr, span_danger("You added \"[selected_radio_channel]\" channel to [target]."))
if(MODIFIY_ROBOT_RADIOC_REMOVE)
while(TRUE)
var/selected_radio_channel = tgui_input_list(usr, "Please select the radio channel to remove", "Channels", target.radio.channels)
@@ -261,7 +261,7 @@
target.radio.channels[n_chan] -= target.module.channels[n_chan]
radio_controller.remove_object(target.radio, radiochannels[selected_radio_channel])
target.radio.secure_radio_connections -= selected_radio_channel
to_chat(usr, "<span class='danger'>You removed \"[selected_radio_channel]\" channel from [target].</span>")
to_chat(usr, span_danger("You removed \"[selected_radio_channel]\" channel from [target]."))
if(MODIFIY_ROBOT_COMP_ADD)
while(TRUE)
var/selected_component = tgui_input_list(usr, "Please select the component to add or replace", "Component", target.components)
@@ -289,7 +289,7 @@
var/new_power_cell = cell_names[capitalize(selected_cell)]
target.cell = new new_power_cell(target)
C.wrapped = target.cell
to_chat(usr, "<span class='danger'>You replaced \"[C]\" on [target] with \"[selected_cell]\".</span>")
to_chat(usr, span_danger("You replaced \"[C]\" on [target] with \"[selected_cell]\"."))
if("diagnosis unit")
C.wrapped = new /obj/item/robot_parts/robot_component/diagnosis_unit(target)
if("camera")
@@ -301,7 +301,7 @@
C.install()
C.installed = 1
if(selected_component != "power cell")
to_chat(usr, "<span class='danger'>You repplaced \"[C]\" on [target].</span>")
to_chat(usr, span_danger("You repplaced \"[C]\" on [target]."))
if(MODIFIY_ROBOT_COMP_REMOVE)
while(TRUE)
var/selected_component = tgui_input_list(usr, "Please select the component to remove", "Component", target.components)
@@ -315,7 +315,7 @@
C.wrapped = null
if(selected_component == "power cell")
target.cell = null
to_chat(usr, "<span class='danger'>You removed \"[C]\" from [target]</span>")
to_chat(usr, span_danger("You removed \"[C]\" from [target]"))
if(MODIFIY_ROBOT_SWAP_MODULE)
var/selected_module = tgui_input_list(usr, "Which Module would you like to use?", "Module", robot_modules)
if(!selected_module || selected_module == "Cancel")
@@ -337,10 +337,10 @@
if(tgui_alert(usr, "Are you sure that you want to reset the entire module?","Confirm",list("Yes","No"))!="Yes")
continue
target.module_reset(FALSE)
to_chat(usr, "<span class='danger'>You resetted [target]'s module selection.</span>")
to_chat(usr, span_danger("You resetted [target]'s module selection."))
if(MODIFIY_ROBOT_TOGGLE_ERT)
target.crisis_override = !target.crisis_override
to_chat(usr, "<span class='danger'>You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite.</span>")
to_chat(usr, span_danger("You [target.crisis_override? "enabled":"disabled"] [target]'s combat module overwrite."))
if(tgui_alert(usr, "Do you want to reset the module as well to allow selection?","Confirm",list("Yes","No"))!="Yes")
continue
target.module_reset(FALSE)
@@ -350,17 +350,17 @@
if(access_synth in card.GetAccess())
card.access -= get_all_station_access()
card.access -= access_synth
to_chat(usr, "<span class='danger'>You revoke station access from [target].</span>")
to_chat(usr, span_danger("You revoke station access from [target]."))
else
card.access |= get_all_station_access()
card.access |= access_synth
to_chat(usr, "<span class='danger'>You grant station access to [target].</span>")
to_chat(usr, span_danger("You grant station access to [target]."))
if(MODIFIY_ROBOT_TOGGLE_CENT_ACCESS)
if(target?.idcard?.GetAccess())
var/obj/item/card/id/synthetic/card = target.idcard
if(access_cent_specops in card.GetAccess())
card.access -= get_all_centcom_access()
to_chat(usr, "<span class='danger'>You revoke central access from [target].</span>")
to_chat(usr, span_danger("You revoke central access from [target]."))
else
card.access |= get_all_centcom_access()
to_chat(usr, "<span class='danger'>You grant central access to [target].</span>")
to_chat(usr, span_danger("You grant central access to [target]."))

View File

@@ -6,7 +6,7 @@
return
if (!CONFIG_GET(flag/sql_enabled)) // CHOMPEdit
to_chat(usr, "<span class='adminnotice'>The Database is not enabled!</span>")
to_chat(usr, span_adminnotice("The Database is not enabled!"))
return
CONFIG_SET(flag/panic_bunker, !CONFIG_GET(flag/panic_bunker)) // CHOMPEdit

View File

@@ -34,7 +34,7 @@ var/list/sounds_cache = list()
return
switch(res)
if("Yes")
to_chat(world, "<span class='boldannounce'>An admin played: [S]</span>", confidential = TRUE)
to_chat(world, span_boldannounce("An admin played: [S]"), confidential = TRUE)
if("Cancel")
return
@@ -121,7 +121,7 @@ var/list/sounds_cache = list()
return
var/ytdl = CONFIG_GET(string/invoke_youtubedl) // CHOMPEdit
if(!ytdl)
to_chat(user, "<span class='boldwarning'>Youtube-dl was not configured, action unavailable</span>", confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value
to_chat(user, span_boldwarning("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value
return
var/web_sound_url = ""
var/stop_web_sounds = FALSE
@@ -134,15 +134,15 @@ var/list/sounds_cache = list()
var/stdout = output[SHELLEO_STDOUT]
var/stderr = output[SHELLEO_STDERR]
if(errorlevel)
to_chat(user, "<span class='boldwarning'>Youtube-dl URL retrieval FAILED:</span>", confidential = TRUE)
to_chat(user, "<span class='warning'>[stderr]</span>", confidential = TRUE)
to_chat(user, span_boldwarning("Youtube-dl URL retrieval FAILED:"), confidential = TRUE)
to_chat(user, span_warning("[stderr]"), confidential = TRUE)
return
var/list/data
try
data = json_decode(stdout)
catch(var/exception/e)
to_chat(user, "<span class='boldwarning'>Youtube-dl JSON parsing FAILED:</span>", confidential = TRUE)
to_chat(user, "<span class='warning'>[e]: [stdout]</span>", confidential = TRUE)
to_chat(user, span_boldwarning("Youtube-dl JSON parsing FAILED:"), confidential = TRUE)
to_chat(user, span_warning("[e]: [stdout]"), confidential = TRUE)
return
if (data["url"])
web_sound_url = data["url"]
@@ -175,16 +175,16 @@ var/list/sounds_cache = list()
switch(anon)
if("Yes")
if(res == "Yes")
to_chat(world, "<span class='boldannounce'>[user.key] played: [webpage_url]</span>", confidential = TRUE)
to_chat(world, span_boldannounce("[user.key] played: [webpage_url]"), confidential = TRUE)
else
to_chat(world, "<span class='boldannounce'>[user.key] played a sound</span>", confidential = TRUE)
to_chat(world, span_boldannounce("[user.key] played a sound"), confidential = TRUE)
if("No")
if(res == "Yes")
to_chat(world, "<span class='boldannounce'>An admin played: [webpage_url]</span>", confidential = TRUE)
to_chat(world, span_boldannounce("An admin played: [webpage_url]"), confidential = TRUE)
if("Cancel", null)
return
if(credit)
to_chat(world, "<span class='boldannounce'>[credit]</span>", confidential = TRUE)
to_chat(world, span_boldannounce("[credit]"), confidential = TRUE)
//SSblackbox.record_feedback("nested tally", "played_url", 1, list("[user.ckey]", "[input]"))
log_admin("[key_name(user)] played web sound: [input]")
message_admins("[key_name(user)] played web sound: [input]")
@@ -197,7 +197,7 @@ var/list/sounds_cache = list()
stop_web_sounds = TRUE
if(web_sound_url && !findtext(web_sound_url, GLOB.is_http_protocol))
tgui_alert(user, "The media provider returned a content URL that isn't using the HTTP or HTTPS protocol. This is a security risk and the sound will not be played.", "Security Risk", list("OK"))
to_chat(user, "<span class='boldwarning'>BLOCKED: Content URL not using HTTP(S) Protocol!</span>", confidential = TRUE)
to_chat(user, span_boldwarning("BLOCKED: Content URL not using HTTP(S) Protocol!"), confidential = TRUE)
return
if(web_sound_url || stop_web_sounds)
@@ -222,7 +222,7 @@ var/list/sounds_cache = list()
var/ytdl = CONFIG_GET(string/invoke_youtubedl) // CHOMPEdit
if(!ytdl)
to_chat(src, "<span class='boldwarning'>Youtube-dl was not configured, action unavailable</span>", confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value
to_chat(src, span_boldwarning("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value
return
if(S_TIMER_COOLDOWN_TIMELEFT(SStimer, COOLDOWN_INTERNET_SOUND))
@@ -235,8 +235,8 @@ var/list/sounds_cache = list()
if(length(web_sound_input))
web_sound_input = trim(web_sound_input)
if(findtext(web_sound_input, ":") && !findtext(web_sound_input, GLOB.is_http_protocol))
to_chat(src, "<span class='boldwarning'>Non-http(s) URIs are not allowed.</span>", confidential = TRUE)
to_chat(src, "<span class='warning'>For youtube-dl shortcuts like ytsearch: please use the appropriate full URL from the website.</span>", confidential = TRUE)
to_chat(src, span_boldwarning("Non-http(s) URIs are not allowed."), confidential = TRUE)
to_chat(src, span_warning("For youtube-dl shortcuts like ytsearch: please use the appropriate full URL from the website."), confidential = TRUE)
return
web_sound(usr, web_sound_input)
else

View File

@@ -17,7 +17,7 @@
return
var/icon/cross = icon('icons/obj/storage.dmi',"bible")
var/msg = "<span class='filter_pray'>" + span_blue("[icon2html(cross, GLOB.admins)] <b>" + span_purple("PRAY: ") + "[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]:</b> [raw_msg]") + "</span>"
var/msg = span_filter_pray(span_blue("[icon2html(cross, GLOB.admins)] <b>" + span_purple("PRAY: ") + "[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]:</b> [raw_msg]"))
for(var/client/C in GLOB.admins)
if(!check_rights(R_ADMIN|R_EVENT, 0, C)) //CHOMPEdit

View File

@@ -101,7 +101,7 @@
to_chat(M, "<B>You hear a voice in your head...</B> <i>[msg]</i>")
log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]")
msg = "<span class='pm adminnotice'><b> SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :</b> [msg]</span>"
msg = span_pm(span_adminnotice("<b> SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :</b> [msg]"))
message_admins(msg)
admin_ticket_log(M, msg)
feedback_add_details("admin_verb","SMS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -149,7 +149,7 @@
to_chat(M, msg)
log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]")
msg = "<span class='pm adminnotice'><b> DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):</b> [msg]<BR></span>"
msg = span_pm(span_adminnotice("<b> DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):</b> [msg]<BR>"))
message_admins(msg)
admin_ticket_log(M, msg)
feedback_add_details("admin_verb","DIRN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -208,7 +208,7 @@
M.client.prefs.muted |= mute_type
log_admin("SPAM AUTOMUTE: [muteunmute] [key_name(M)] from [mute_string]")
message_admins("SPAM AUTOMUTE: [muteunmute] [key_name_admin(M)] from [mute_string].", 1)
to_chat(M, "<span class='alert'>You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin.</span>")
to_chat(M, span_alert("You have been [muteunmute] from [mute_string] by the SPAM AUTOMUTE system. Contact an admin."))
feedback_add_details("admin_verb","AUTOMUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return
@@ -298,15 +298,15 @@ Ccomp's first proc.
for(var/client/C as anything in GLOB.clients)
if(C.ckey == target)
found_client = C
to_chat(C, "<span class='notice'><B>You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead.</B></span>")
to_chat(C, span_notice("<B>You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead.</B>"))
if(isobserver(C.mob))
var/mob/observer/dead/G = C.mob
G.can_reenter_corpse = 1
to_chat(C, "<span class='notice'><B>You can also re-enter your corpse, if you still have one!</B></span>")
to_chat(C, span_notice("<B>You can also re-enter your corpse, if you still have one!</B>"))
break
if(!found_client)
to_chat(src, "<span class='notice'>The associated client didn't appear to be connected, so they couldn't be notified, but they can now respawn if they reconnect.</span>")
to_chat(src, span_notice("The associated client didn't appear to be connected, so they couldn't be notified, but they can now respawn if they reconnect."))
log_admin("[key_name(usr)] allowed [found_client ? key_name(found_client) : target] to bypass the respawn time limit")
message_admins("Admin [key_name_admin(usr)] allowed [found_client ? key_name_admin(found_client) : target] to bypass the respawn time limit", 1)
@@ -638,7 +638,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
M.revive()
log_admin("[key_name(usr)] healed / revived [key_name(M)]")
var/msg = "<span class='danger'>Admin [key_name_admin(usr)] healed / revived [ADMIN_LOOKUPFLW(M)]!</span>"
var/msg = span_danger("Admin [key_name_admin(usr)] healed / revived [ADMIN_LOOKUPFLW(M)]!")
message_admins(msg)
admin_ticket_log(M, msg)
else

View File

@@ -16,9 +16,9 @@
var/very_big = is_extreme_size(size_multiplier)
if(very_big && can_be_big) // made an extreme size in an area that allows it, don't assume adminbuse
to_chat(src,"<span class='warning'>[L] will lose this size upon moving into an area where this size is not allowed.</span>")
to_chat(src,span_warning("[L] will lose this size upon moving into an area where this size is not allowed."))
else if(very_big) // made an extreme size in an area that doesn't allow it, assume adminbuse
to_chat(src,"<span class='warning'>[L] will retain this normally unallowed size outside this area.</span>")
to_chat(src,span_warning("[L] will retain this normally unallowed size outside this area."))
L.resize(size_multiplier, animate = TRUE, uncapped = TRUE, ignore_prefs = TRUE)

View File

@@ -37,13 +37,13 @@
if(SMITE_SPONTANEOUSCOMBUSTION)
target.adjust_fire_stacks(10)
target.IgniteMob()
target.visible_message("<span class='danger'>[target] bursts into flames!</span>")
target.visible_message(span_danger("[target] bursts into flames!"))
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>")
target.visible_message(span_danger("[target] is struck by lightning!"))
if(SMITE_SHADEKIN_ATTACK)
var/turf/Tt = get_turf(target) //Turf for target
@@ -140,7 +140,7 @@
shadekin.ckey = ckey
else //Permakin'd
to_chat(target,"<span class='danger'>You're carried off into The Dark by the [shadekin]. Who knows if you'll find your way back?</span>")
to_chat(target,span_danger("You're carried off into The Dark by the [shadekin]. Who knows if you'll find your way back?"))
target.ghostize()
qdel(target)
qdel(shadekin)
@@ -166,7 +166,7 @@
if(SMITE_PEPPERNADE)
var/obj/item/grenade/chem_grenade/teargas/grenade = new /obj/item/grenade/chem_grenade/teargas
grenade.loc = target.loc
to_chat(target,"<span class='warning'>GRENADE?!</span>")
to_chat(target,span_warning("GRENADE?!"))
grenade.detonate()
if(SMITE_SPICEREQUEST)
@@ -240,11 +240,11 @@ var/redspace_abduction_z
/proc/redspace_abduction(mob/living/target, user)
if(redspace_abduction_z < 0)
to_chat(user,"<span class='warning'>The abduction z-level is already being created. Please wait.</span>")
to_chat(user,span_warning("The abduction z-level is already being created. Please wait."))
return
if(!redspace_abduction_z)
redspace_abduction_z = -1
to_chat(user,"<span class='warning'>This is the first use of the verb this shift, it will take a minute to configure the abduction z-level. It will be z[world.maxz+1].</span>")
to_chat(user,span_warning("This is the first use of the verb this shift, it will take a minute to configure the abduction z-level. It will be z[world.maxz+1]."))
var/z = ++world.maxz
world.max_z_changed()
for(var/x = 1 to world.maxx)
@@ -262,8 +262,8 @@ var/redspace_abduction_z
var/size_of_square = 26
var/halfbox = round(size_of_square*0.5)
target.transforming = TRUE
to_chat(target,"<span class='danger'>You feel a strange tug, deep inside. You're frozen in momentarily...</span>")
to_chat(user,"<span class='notice'>Beginning vis_contents copy to abduction site, player mob is frozen.</span>")
to_chat(target,span_danger("You feel a strange tug, deep inside. You're frozen in momentarily..."))
to_chat(user,span_notice("Beginning vis_contents copy to abduction site, player mob is frozen."))
sleep(1 SECOND)
//Lower left corner of a working box
var/llc_x = max(0,halfbox-target.x) + min(target.x+halfbox, world.maxx) - size_of_square
@@ -314,14 +314,14 @@ var/redspace_abduction_z
T.vis_contents.Cut()
target.forceMove(locate(target.x,target.y,redspace_abduction_z))
to_chat(target,"<span class='danger'>The tug relaxes, but everything around you looks... slightly off.</span>")
to_chat(user,"<span class='notice'>The mob has been moved. ([admin_jump_link(target,usr.client.holder)])</span>")
to_chat(target,span_danger("The tug relaxes, but everything around you looks... slightly off."))
to_chat(user,span_notice("The mob has been moved. ([admin_jump_link(target,usr.client.holder)])"))
target.transforming = FALSE
/proc/fake_autosave(var/mob/living/target, var/client/user, var/wide)
if(!istype(target) || !target.client)
to_chat(user, "<span class='warning'>Skipping [target] because they are not a /mob/living or have no client.</span>")
to_chat(user, span_warning("Skipping [target] because they are not a /mob/living or have no client."))
return
if(wide)

View File

@@ -178,7 +178,7 @@
if(!user)
return FALSE
if(!(var_to_edit in vars))
to_chat(user, "<span class='warning'>\The [src] does not have a var '[var_to_edit]'</span>")
to_chat(user, span_warning("\The [src] does not have a var '[var_to_edit]'"))
return FALSE
if(var_to_edit in VV_static())
return FALSE

View File

@@ -261,7 +261,7 @@
to_chat(usr, "No objects of this type exist")
return
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) ")
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) </span>")
message_admins(span_notice("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted) "))
if("Type and subtypes")
var/i = 0
for(var/obj/Obj in world)
@@ -273,7 +273,7 @@
to_chat(usr, "No objects of this type exist")
return
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) ")
message_admins("<span class='notice'>[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) </span>")
message_admins(span_notice("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted) "))
else if(href_list["fakepdapropconvo"])
if(!check_rights(R_FUN)) return
@@ -564,7 +564,7 @@
if(amount != 0)
log_admin("[key_name(usr)] dealt [amount] amount of [Text] damage to [L]")
message_admins("<span class='notice'>[key_name(usr)] dealt [amount] amount of [Text] damage to [L]</span>")
message_admins(span_notice("[key_name(usr)] dealt [amount] amount of [Text] damage to [L]"))
href_list["datumrefresh"] = href_list["mobToDamage"]
else if(href_list["expose"])
if(!check_rights(R_ADMIN, FALSE))
@@ -582,7 +582,7 @@
if (prompt != "Yes")
return
if(!thing)
to_chat(usr, "<span class='warning'>The object you tried to expose to [C] no longer exists (GC'd)</span>")
to_chat(usr, span_warning("The object you tried to expose to [C] no longer exists (GC'd)"))
return
message_admins("[key_name_admin(usr)] Showed [key_name_admin(C)] a <a href='?_src_=vars;[HrefToken(TRUE)];datumrefresh=\ref[thing]'>VV window</a>")
log_admin("Admin [key_name(usr)] Showed [key_name(C)] a VV window of a [src]")

View File

@@ -5,7 +5,7 @@
var/static/cookieoffset = rand(1, 9999) //to force cookies to reset after the round.
if(!usr.client || !usr.client.holder) //The usr vs src abuse in this proc is intentional and must not be changed
to_chat(usr, "<span class='danger'>You need to be an administrator to access this.</span>")
to_chat(usr, span_danger("You need to be an administrator to access this."))
return
if(!D)