next set of spans (#16434)

* next set of spans

* some more

* next

* next

* next

* .

* text...

* next... rest soon

* .

* .

* ok last set for the night

* .

* .

* .

* .

* some more

* next

* next

* all for now

* .

* some more easy ones

* some more easy ones

* .

* .

* some more bolds

* oups auto complete moment

* add the remaining spans

* this as well

* this as well

* .

* .,

* resync them properly
This commit is contained in:
Kashargul
2024-10-16 23:37:27 +02:00
committed by GitHub
parent 6275972fef
commit b594520a74
604 changed files with 2801 additions and 2638 deletions
+6 -6
View File
@@ -280,7 +280,7 @@
output += "<td width='65%' align='center' bgcolor='#f9f9f9'>"
output += "<form method='GET' action='?src=\ref[src]'>[HrefTokenFormField()]"
output += "<b>Add custom ban:</b> (ONLY use this if you can't ban through any other method)"
output += span_bold("Add custom ban:") + " (ONLY use this if you can't ban through any other method)"
output += "<input type='hidden' name='src' value='\ref[src]'>"
output += "<table width='100%'><tr>"
output += "<td width='50%' align='right'><b>Ban type:</b><select name='dbbanaddtype'>"
@@ -307,7 +307,7 @@
for(var/j in bantypes)
output += "<option value='[j]'>[j]</option>"
output += "</select></td></tr></table>"
output += "<b>Reason:<br></b><textarea name='dbbanreason' cols='50'></textarea><br>"
output += span_bold("Reason:<br>") + "<textarea name='dbbanreason' cols='50'></textarea><br>"
output += "<input type='submit' value='Add ban'>"
output += "</form>"
@@ -437,18 +437,18 @@
if("PERMABAN")
typedesc = "<font color='red'><b>PERMABAN</b></font>"
if("TEMPBAN")
typedesc = "<b>TEMPBAN</b><br><font size='2'>([duration] minutes) [(unbanned || auto) ? "" : "(<a href=\"byond://?src=\ref[src];[HrefToken()];dbbanedit=duration;dbbanid=[banid]\">Edit</a>)"]<br>Expires [expiration]</font>"
typedesc = span_bold("TEMPBAN") + "<br><font size='2'>([duration] minutes) [(unbanned || auto) ? "" : "(<a href=\"byond://?src=\ref[src];[HrefToken()];dbbanedit=duration;dbbanid=[banid]\">Edit</a>)"]<br>Expires [expiration]</font>"
if("JOB_PERMABAN")
typedesc = "<b>JOBBAN</b><br><font size='2'>([job])</font>"
typedesc = span_bold("JOBBAN") + "<br><font size='2'>([job])</font>"
if("JOB_TEMPBAN")
typedesc = "<b>TEMP JOBBAN</b><br><font size='2'>([job])<br>([duration] minutes<br>Expires [expiration]</font>"
typedesc = span_bold("TEMP JOBBAN") + "<br><font size='2'>([job])<br>([duration] minutes<br>Expires [expiration]</font>"
output += "<tr bgcolor='[dcolor]'>"
output += "<td align='center'>[typedesc]</td>"
output += "<td align='center'><b>[ckey]</b></td>"
output += "<td align='center'>[bantime]</td>"
output += "<td align='center'><b>[ackey]</b></td>"
output += "<td align='center'>[(unbanned || auto) ? "" : "<b><a href=\"byond://?src=\ref[src];[HrefToken()];dbbanedit=unban;dbbanid=[banid]\">Unban</a></b>"]</td>"
output += "<td align='center'>[(unbanned || auto) ? "" : span_bold("<a href=\"byond://?src=\ref[src];[HrefToken()];dbbanedit=unban;dbbanid=[banid]\">Unban</a>")]</td>"
output += "</tr>"
output += "<tr bgcolor='[dcolor]'>"
output += "<td align='center' colspan='2' bgcolor=''><b>IP:</b> [ip]</td>"
+3 -3
View File
@@ -73,14 +73,14 @@
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_filter_adminlog("<b>Address removed</b>"))
to_chat(src, span_filter_adminlog(span_bold("Address removed")))
if("remove all")
to_chat(src, span_filter_adminlog("<b>[TORFILE] was [fdel(TORFILE)?"":"not "]removed.</b>"))
to_chat(src, span_filter_adminlog(span_bold("[TORFILE] was [fdel(TORFILE)?"":"not "]removed.")))
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_filter_adminlog("[span_orange("<b>Address is a known ToR address</b>")]"))
to_chat(src, span_filter_adminlog("[span_orange(span_bold("Address is a known ToR address"))]"))
else
to_chat(src, span_filter_adminlog(span_danger("Address is not a known ToR address")))
return
+46 -46
View File
@@ -3,7 +3,7 @@ var/global/floorIsLava = 0
////////////////////////////////
/proc/message_admins(var/msg)
msg = "<span class='filter_adminlog log_message'><span class='prefix'>ADMIN LOG:</span> <span class=\"message\">[msg]</span></span>"
msg = span_filter_adminlog(span_log_message(span_prefix("ADMIN LOG:") + span_message("[msg]")))
//log_adminwarn(msg) //log_and_message_admins is for this
for(var/client/C in GLOB.admins)
@@ -14,7 +14,7 @@ var/global/floorIsLava = 0
confidential = TRUE)
/proc/msg_admin_attack(var/text) //Toggleable Attack Messages
var/rendered = "<span class='filter_attacklog log_message'><span class='prefix'>ATTACK:</span> <span class=\"message\">[text]</span></span>"
var/rendered = span_filter_attacklog(span_log_message(span_prefix("ATTACK:") + span_message("[text]")))
for(var/client/C in GLOB.admins)
if((R_ADMIN|R_MOD) & C.holder.rights)
if(C.prefs?.read_preference(/datum/preference/toggle/show_attack_logs))
@@ -104,7 +104,7 @@ var/global/floorIsLava = 0
if (M.client)
if(!istype(M, /mob/new_player))
body += "<br><br>"
body += "<b>Transformation:</b>"
body += span_bold("Transformation:")
body += "<br>"
//Monkey
@@ -318,13 +318,13 @@ var/global/floorIsLava = 0
if(1)
dat+= "Station Feed Channels<HR>"
if( isemptylist(news_network.network_channels) )
dat+="<I>No active channels found...</I>"
dat+=span_italics("No active channels found...")
else
for(var/datum/feed_channel/CHANNEL in news_network.network_channels)
if(CHANNEL.is_admin_channel)
dat+="<B><FONT style='BACKGROUND-COLOR: LightGreen'><A href='?src=\ref[src];[HrefToken()];ac_show_channel=\ref[CHANNEL]'>[CHANNEL.channel_name]</A></FONT></B><BR>"
else
dat+="<B><A href='?src=\ref[src];[HrefToken()];ac_show_channel=\ref[CHANNEL]'>[CHANNEL.channel_name]</A> [(CHANNEL.censored) ? ("<FONT COLOR='red'>***</FONT>") : null]<BR></B>"
dat+=span_bold("<A href='?src=\ref[src];[HrefToken()];ac_show_channel=\ref[CHANNEL]'>[CHANNEL.channel_name]</A> [(CHANNEL.censored) ? ("<FONT COLOR='red'>***</FONT>") : null]<BR>")
dat+={"<BR><HR><A href='?src=\ref[src];[HrefToken()];ac_refresh=1'>Refresh</A>
<BR><A href='?src=\ref[src];[HrefToken()];ac_setScreen=[0]'>Back</A>
"}
@@ -460,7 +460,7 @@ var/global/floorIsLava = 0
dat+="<BR><A href='?src=\ref[src];[HrefToken()];ac_setScreen=[11]'>Back</A>"
if(14)
dat+="<B>Wanted Issue Handler:</B>"
dat+=span_bold("Wanted Issue Handler:")
var/wanted_already = 0
var/end_param = 1
if(news_network.wanted_issue)
@@ -627,7 +627,7 @@ var/global/floorIsLava = 0
if(!check_rights(R_SERVER,0))
message = sanitize(message, 500, extra = 0)
message = replacetext(message, "\n", "<br>") // required since we're putting it in a <p> tag
to_world("<span class=notice><b>[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:</b><p style='text-indent: 50px'>[message]</p></span>")
to_world(span_notice(span_bold("[usr.client.holder.fakekey ? "Administrator" : usr.key] Announces:") + "<p style='text-indent: 50px'>[message]</p>"))
log_admin("Announce: [key_name(usr)] : [message]")
feedback_add_details("admin_verb","A") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -678,7 +678,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if(!speech_verb)
return
to_chat(usr, "<span class='notice'><B>Intercom Convo Directions</B><br>Start the conversation with the sender, a pipe (|), and then the message on one line. Then hit enter to \
to_chat(usr, span_notice(span_bold("Intercom Convo Directions") + "<br>Start the conversation with the sender, a pipe (|), and then the message on one line. Then hit enter to \
add another line, and type a (whole) number of seconds to pause between that message, and the next message, then repeat the message syntax up to 20 times. For example:<br>\
--- --- ---<br>\
Some Guy|Hello guys, what's up?<br>\
@@ -687,7 +687,7 @@ var/datum/announcement/minor/admin_min_announcer = new
5<br>\
Some Guy|Yeah, you too.<br>\
--- --- ---<br>\
The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed.</span>")
The above will result in those messages playing, with a 5 second gap between each. Maximum of 20 messages allowed."))
var/list/decomposed
var/message = tgui_input_text(usr,"See your chat box for instructions. Keep a copy elsewhere in case it is rejected when you click OK.", "Input Conversation", "", multiline = TRUE, prevent_enter = TRUE)
@@ -759,9 +759,9 @@ var/datum/announcement/minor/admin_min_announcer = new
config.ooc_allowed = !(config.ooc_allowed)
if (config.ooc_allowed)
to_world("<B>The OOC channel has been globally enabled!</B>")
to_world(span_world("The OOC channel has been globally enabled!"))
else
to_world("<B>The OOC channel has been globally disabled!</B>")
to_world(span_world("The OOC channel has been globally disabled!"))
log_and_message_admins("toggled OOC.")
feedback_add_details("admin_verb","TOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -775,9 +775,9 @@ var/datum/announcement/minor/admin_min_announcer = new
config.looc_allowed = !(config.looc_allowed)
if (config.looc_allowed)
to_world("<B>The LOOC channel has been globally enabled!</B>")
to_world(span_world("The LOOC channel has been globally enabled!"))
else
to_world("<B>The LOOC channel has been globally disabled!</B>")
to_world(span_world("The LOOC channel has been globally disabled!"))
log_and_message_admins("toggled LOOC.")
feedback_add_details("admin_verb","TLOOC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -792,9 +792,9 @@ var/datum/announcement/minor/admin_min_announcer = new
config.dsay_allowed = !(config.dsay_allowed)
if (config.dsay_allowed)
to_world("<B>Deadchat has been globally enabled!</B>")
to_world(span_world("Deadchat has been globally enabled!"))
else
to_world("<B>Deadchat has been globally disabled!</B>")
to_world(span_world("Deadchat has been globally disabled!"))
log_admin("[key_name(usr)] toggled deadchat.")
message_admins("[key_name_admin(usr)] toggled deadchat.", 1)
feedback_add_details("admin_verb","TDSAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc
@@ -854,7 +854,7 @@ var/datum/announcement/minor/admin_min_announcer = new
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_notice("Immediate game start canceled. Normal startup resumed."))
to_world(span_filter_system(span_blue("Immediate game start canceled. Normal startup resumed.")))
log_and_message_admins("cancelled immediate game start.")
/datum/admins/proc/toggleenter()
@@ -863,9 +863,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle Entering"
config.enter_allowed = !(config.enter_allowed)
if (!(config.enter_allowed))
to_world("<B>New players may no longer enter the game.</B>")
to_world(span_world("New players may no longer enter the game."))
else
to_world("<B>New players may now enter the game.</B>")
to_world(span_world("New players may now enter the game."))
log_admin("[key_name(usr)] toggled new player game entering.")
message_admins(span_blue("[key_name_admin(usr)] toggled new player game entering."), 1)
world.update_status()
@@ -877,9 +877,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle AI"
config.allow_ai = !( config.allow_ai )
if (!( config.allow_ai ))
to_world("<B>The AI job is no longer chooseable.</B>")
to_world(span_world("The AI job is no longer chooseable."))
else
to_world("<B>The AI job is chooseable now.</B>")
to_world(span_world("The AI job is chooseable now."))
log_admin("[key_name(usr)] toggled AI allowed.")
world.update_status()
feedback_add_details("admin_verb","TAI") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -890,9 +890,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle Respawn"
config.abandon_allowed = !(config.abandon_allowed)
if(config.abandon_allowed)
to_world("<B>You may now respawn.</B>")
to_world(span_world("You may now respawn."))
else
to_world("<B>You may no longer respawn :(</B>")
to_world(span_world("You may no longer respawn :("))
message_admins(span_blue("[key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"]."), 1)
log_admin("[key_name(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].")
world.update_status()
@@ -904,9 +904,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle Persistent Data"
config.persistence_disabled = !(config.persistence_disabled)
if(!config.persistence_disabled)
to_world("<B>Persistence is now enabled..</B>")
to_world(span_world("Persistence is now enabled.."))
else
to_world("<B>Persistence is no longer enabled.</B>")
to_world(span_world("Persistence is no longer enabled."))
message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"]."), 1)
log_admin("[key_name(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"].")
world.update_status()
@@ -918,9 +918,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle Mapload Persistent Data"
config.persistence_ignore_mapload = !(config.persistence_ignore_mapload)
if(!config.persistence_ignore_mapload)
to_world("<B>Persistence is now enabled..</B>")
to_world(span_world("Persistence is now enabled.."))
else
to_world("<B>Persistence is no longer enabled.</B>")
to_world(span_world("Persistence is no longer enabled."))
message_admins(span_blue("[key_name_admin(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"]."), 1)
log_admin("[key_name(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"].")
world.update_status()
@@ -957,10 +957,10 @@ var/datum/announcement/minor/admin_min_announcer = new
return
round_progressing = !round_progressing
if (!round_progressing)
to_world("<b>The game start has been delayed.</b>")
to_world(span_world("The game start has been delayed."))
log_admin("[key_name(usr)] delayed the game.")
else
to_world("<b>The game will start soon.</b>")
to_world(span_world("The game will start soon."))
log_admin("[key_name(usr)] removed the delay.")
feedback_add_details("admin_verb","DELAY") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -995,7 +995,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if(!usr.client.holder) return
if(alert(usr, "Reboot server?","Reboot!","Yes","No") != "Yes") // Not tgui_alert for safety
return
to_world("[span_red("<b>Rebooting world!</b>")] [span_blue("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!")]")
to_world(span_filter_system("[span_red(span_bold("Rebooting world!"))] [span_blue("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!")]"))
log_admin("[key_name(usr)] initiated an immediate reboot.")
feedback_set_details("end_error","immediate admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]")
@@ -1223,7 +1223,7 @@ var/datum/announcement/minor/admin_min_announcer = new
else
out += "<b>Autotraitor <a href='?src=\ref[ticker.mode];[HrefToken()];toggle=autotraitor'>disabled</a></b>.<br/>"
out += "<b>All antag ids:</b>"
out += span_bold("All antag ids:")
if(ticker.mode.antag_templates && ticker.mode.antag_templates.len)
for(var/datum/antagonist/antag in ticker.mode.antag_templates)
antag.update_current_antag_max()
@@ -1244,9 +1244,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle tinted welding helmets."
config.welder_vision = !( config.welder_vision )
if (config.welder_vision)
to_world("<B>Reduced welder vision has been enabled!</B>")
to_world(span_world("Reduced welder vision has been enabled!"))
else
to_world("<B>Reduced welder vision has been disabled!</B>")
to_world(span_world("Reduced welder vision has been disabled!"))
log_admin("[key_name(usr)] toggled welder vision.")
message_admins("[key_name_admin(usr)] toggled welder vision.", 1)
feedback_add_details("admin_verb","TTWH") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -1257,9 +1257,9 @@ var/datum/announcement/minor/admin_min_announcer = new
set name="Toggle guests"
config.guests_allowed = !(config.guests_allowed)
if (!(config.guests_allowed))
to_world("<B>Guests may no longer enter the game.</B>")
to_world(span_world("Guests may no longer enter the game."))
else
to_world("<B>Guests may now enter the game.</B>")
to_world(span_world("Guests may now enter the game."))
log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.")
message_admins(span_blue("[key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed."), 1)
feedback_add_details("admin_verb","TGU") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -1269,21 +1269,21 @@ var/datum/announcement/minor/admin_min_announcer = new
for(var/mob/living/silicon/S in mob_list)
ai_number++
if(isAI(S))
to_chat(usr, "<b>AI [key_name(S, usr)]'s laws:</b>")
to_chat(usr, span_bold("AI [key_name(S, usr)]'s laws:"))
else if(isrobot(S))
var/mob/living/silicon/robot/R = S
to_chat(usr, "<b>CYBORG [key_name(S, usr)] [R.connected_ai?"(Slaved to: [R.connected_ai])":"(Independent)"]: laws:</b>")
to_chat(usr, span_bold("CYBORG [key_name(S, usr)] [R.connected_ai?"(Slaved to: [R.connected_ai])":"(Independent)"]: laws:"))
else if (ispAI(S))
to_chat(usr, "<b>pAI [key_name(S, usr)]'s laws:</b>")
to_chat(usr, span_bold("pAI [key_name(S, usr)]'s laws:"))
else
to_chat(usr, "<b>SOMETHING SILICON [key_name(S, usr)]'s laws:</b>")
to_chat(usr, span_bold("SOMETHING SILICON [key_name(S, usr)]'s laws:"))
if (S.laws == null)
to_chat(usr, "[key_name(S, usr)]'s laws are null?? Contact a coder.")
else
S.laws.show_laws(usr)
if(!ai_number)
to_chat(usr, "<b>No AIs located</b>") //Just so you know the thing is actually working and not just ignoring you.
to_chat(usr, span_bold("No AIs located")) //Just so you know the thing is actually working and not just ignoring you.
/datum/admins/proc/show_skills()
set category = "Admin"
@@ -1316,7 +1316,7 @@ var/datum/announcement/minor/admin_min_announcer = new
/proc/get_options_bar(whom, detail = 2, name = 0, link = 1, highlight_special = 1)
if(!whom)
return "<b>(*null*)</b>"
return span_bold("(*null*)")
var/mob/M
var/client/C
if(istype(whom, /client))
@@ -1326,25 +1326,25 @@ var/datum/announcement/minor/admin_min_announcer = new
M = whom
C = M.client
else
return "<b>(*not a mob*)</b>"
return span_bold("(*not a mob*)")
switch(detail)
if(0)
return "<b>[key_name(C, link, name, highlight_special)]</b>"
return span_bold("[key_name(C, link, name, highlight_special)]")
if(1) //Private Messages
return "<b>[key_name(C, link, name, highlight_special)](<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[M]'>?</A>)</b>"
return span_bold("[key_name(C, link, name, highlight_special)](<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[M]'>?</A>)")
if(2) //Admins
var/ref_mob = "\ref[M]"
return "<b>[key_name(C, link, name, highlight_special)](<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?_src_=holder;[HrefToken()];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;[HrefToken()];Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;[HrefToken()];subtlemessage=[ref_mob]'>SM</A>) ([admin_jump_link(M)]) (<A HREF='?_src_=holder;[HrefToken()];check_antagonist=1'>CA</A>) (<A HREF='?_src_=holder;[HrefToken()];take_question=\ref[M]'>TAKE</A>)</b>"
return span_bold("[key_name(C, link, name, highlight_special)](<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=[ref_mob]'>?</A>) (<A HREF='?_src_=holder;[HrefToken()];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;[HrefToken()];Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;[HrefToken()];subtlemessage=[ref_mob]'>SM</A>) ([admin_jump_link(M)]) (<A HREF='?_src_=holder;[HrefToken()];check_antagonist=1'>CA</A>) (<A HREF='?_src_=holder;[HrefToken()];take_question=\ref[M]'>TAKE</A>)")
if(3) //Devs
var/ref_mob = "\ref[M]"
return "<b>[key_name(C, link, name, highlight_special)](<A HREF='?_src_=vars;[HrefToken()];Vars=[ref_mob]'>VV</A>)([admin_jump_link(M)]) (<A HREF='?_src_=holder;[HrefToken()];take_question=\ref[M]'>TAKE</A>)</b>"
return span_bold("[key_name(C, link, name, highlight_special)](<A HREF='?_src_=vars;[HrefToken()];Vars=[ref_mob]'>VV</A>)([admin_jump_link(M)]) (<A HREF='?_src_=holder;[HrefToken()];take_question=\ref[M]'>TAKE</A>)")
if(4) //Event Managers
var/ref_mob = "\ref[M]"
return "<b>[key_name(C, link, name, highlight_special)] (<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[M]'>?</A>) (<A HREF='?_src_=holder;[HrefToken()];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;[HrefToken()];Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;[HrefToken()];subtlemessage=[ref_mob]'>SM</A>) ([admin_jump_link(M)]) (<A HREF='?_src_=holder;[HrefToken()];take_question=\ref[M]'>TAKE</A>)</b>"
return span_bold("[key_name(C, link, name, highlight_special)] (<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[M]'>?</A>) (<A HREF='?_src_=holder;[HrefToken()];adminplayeropts=[ref_mob]'>PP</A>) (<A HREF='?_src_=vars;[HrefToken()];Vars=[ref_mob]'>VV</A>) (<A HREF='?_src_=holder;[HrefToken()];subtlemessage=[ref_mob]'>SM</A>) ([admin_jump_link(M)]) (<A HREF='?_src_=holder;[HrefToken()];take_question=\ref[M]'>TAKE</A>)")
/proc/ishost(whom)
+2 -2
View File
@@ -24,7 +24,7 @@
return
if("")
F.dir.Remove(ckey)
to_chat(src, span_filter_adminlog("<b>Memo removed</b>"))
to_chat(src, span_filter_adminlog(span_bold("Memo removed")))
return
if( findtext(memo,"<script",1,0) )
return
@@ -52,7 +52,7 @@
ckey = src.ckey
if(ckey)
F.dir.Remove(ckey)
to_chat(src, span_filter_adminlog("<b>Removed Memo created by [ckey].</b>"))
to_chat(src, span_filter_adminlog(span_bold("Removed Memo created by [ckey].")))
#undef MEMOFILE
#undef ENABLE_MEMOS
+5 -5
View File
@@ -103,8 +103,8 @@ world/New()
for(var/datum/admin_report/N in reports)
if(N.done)
continue
output += "<b>Reported player:</b> [N.offender_key](CID: [N.offender_cid])<br>"
output += "<b>Offense:</b>[N.body]<br>"
output += span_bold("Reported player:") + " [N.offender_key](CID: [N.offender_cid])<br>"
output += span_bold("Offense:") + "[N.body]<br>"
output += "<small>Occurred at [time2text(N.date,"MM/DD hh:mm:ss")]</small><br>"
output += "<small>authored by <i>[N.author]</i></small><br>"
output += " <a href='?src=\ref[report_topic_handler];client=\ref[src];[HrefToken()];action=remove;ID=[N.ID]'>Flag as Handled</a>"
@@ -150,7 +150,7 @@ world/New()
if(N.ID == ID)
found = N
if(!found)
to_chat(src, "<b>* An error occurred, sorry.</b>")
to_chat(src, span_boldwarning("* An error occurred, sorry."))
found.done = 1
@@ -159,7 +159,7 @@ world/New()
/client/proc/edit_report(ID as num)
if(!src.holder || src.holder.level < 0)
to_chat(src, "<b>You tried to modify the news, but you're not an admin!</b>")
to_chat(src, span_boldwarning("You tried to modify the news, but you're not an admin!"))
return
var/savefile/Reports = new("data/reports.sav")
@@ -172,7 +172,7 @@ world/New()
if(N.ID == ID)
found = N
if(!found)
to_chat(src, "<b>* An error occurred, sorry.</b>")
to_chat(src, span_boldwarning("* An error occurred, sorry."))
var/body = tgui_input_text(src.mob, "Enter a body for the news", "Body", multiline = TRUE, prevent_enter = TRUE)
if(!body) return
+9 -9
View File
@@ -4,10 +4,10 @@
set desc = "Check a player's attack logs."
//Views specific attack logs belonging to one player.
var/dat = "<B>[M]'s Attack Log:<HR></B>"
dat += "<b>Viewing attack logs of [M]</b> - (Played by ([key_name(M)]).<br>"
var/dat = span_bold("[M]'s Attack Log:<HR>")
dat += span_bold("Viewing attack logs of [M]") + " - (Played by ([key_name(M)]).<br>"
if(M.mind)
dat += "<b>Current Antag?:</b> [(M.mind.special_role)?"Yes":"No"]<br>"
dat += span_bold("Current Antag?:") + " [(M.mind.special_role)?"Yes":"No"]<br>"
dat += "<br><b>Note:</b> This is arranged from earliest to latest. <br><br>"
@@ -19,7 +19,7 @@
dat += "</fieldset>"
else
dat += "<i>No attack logs found for [M].</i>"
dat += span_italics("No attack logs found for [M].")
var/datum/browser/popup = new(usr, "admin_attack_log", "[src]", 650, 650, src)
popup.set_content(jointext(dat,null))
@@ -35,10 +35,10 @@
set desc = "Check a player's dialogue logs."
//Views specific dialogue logs belonging to one player.
var/dat = "<B>[M]'s Dialogue Log:<HR></B>"
dat += "<b>Viewing say and emote logs of [M]</b> - (Played by ([key_name(M)]).<br>"
var/dat = span_bold("[M]'s Dialogue Log:<HR>")
dat += span_bold("Viewing say and emote logs of [M]") + " - (Played by ([key_name(M)]).<br>"
if(M.mind)
dat += "<b>Current Antag?:</b> [(M.mind.special_role)?"Yes":"No"]<br>"
dat += span_bold("Current Antag?:") + " [(M.mind.special_role)?"Yes":"No"]<br>"
dat += "<br><b>Note:</b> This is arranged from earliest to latest. <br><br>"
if(!isemptylist(M.dialogue_log))
@@ -49,7 +49,7 @@
dat += "</fieldset>"
else
dat += "<i>No dialogue logs found for [M].</i>"
dat += span_italics("No dialogue logs found for [M].")
var/datum/browser/popup = new(usr, "admin_dialogue_log", "[src]", 650, 650, src)
popup.set_content(jointext(dat,null))
popup.open()
@@ -57,4 +57,4 @@
onclose(usr, "admin_dialogue_log")
feedback_add_details("admin_verb","PDL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
feedback_add_details("admin_verb","PDL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+6 -6
View File
@@ -92,7 +92,7 @@
mob.alpha = max(mob.alpha + 100, 255)
else
mob.invisibility = INVISIBILITY_OBSERVER
to_chat(mob, span_filter_system(span_notice("<b>Invisimin on. You are now as invisible as a ghost.</b>")))
to_chat(mob, span_filter_system(span_boldnotice("Invisimin on. You are now as invisible as a ghost.")))
mob.alpha = max(mob.alpha - 100, 0)
@@ -367,7 +367,7 @@
if(!msg)
return
for (var/mob/V in hearers(mob.control_object))
V.show_message(span_filter_say("<b>[mob.control_object.name]</b> says: \"[msg]\""), 2)
V.show_message(span_filter_say(span_bold("[mob.control_object.name]") + " 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
@@ -375,7 +375,7 @@
set name = "Kill Air"
set desc = "Toggle Air Processing"
SSair.can_fire = !SSair.can_fire
to_chat(usr, span_filter_system("<b>[SSair.can_fire ? "En" : "Dis"]abled air processing.</b>"))
to_chat(usr, span_filter_system(span_bold("[SSair.can_fire ? "En" : "Dis"]abled air processing.")))
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)
@@ -410,7 +410,7 @@
if(!holder) return
if(config)
config.log_hrefs = !config.log_hrefs
message_admins("<b>[key_name_admin(usr)] [config.log_hrefs ? "started" : "stopped"] logging hrefs</b>")
message_admins(span_bold("[key_name_admin(usr)] [config.log_hrefs ? "started" : "stopped"] logging hrefs"))
/client/proc/check_ai_laws()
set name = "Check AI Laws"
@@ -530,7 +530,7 @@
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_filter_system(span_notice("<b><font size=3>Man up and deal with it.</font></b>")))
to_chat(T, span_filter_system(span_boldnotice(span_large("Man up and deal with it."))))
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.")
@@ -544,7 +544,7 @@
if(tgui_alert(usr, "Are you sure you want to tell the whole server up?","Confirmation",list("Deal with it","No")) != "Deal with it") return
for (var/mob/T as mob in mob_list)
to_chat(T, "<br><center><span class='filter_system notice'><b><font size=4>Man up.<br> Deal with it.</font></b><br>Move along.</span></center><br>")
to_chat(T, "<br><center>" + span_filter_system(span_notice(span_bold(span_huge("Man up.<br> Deal with it.")) + "<br>Move along.")) + "</center><br>")
T << 'sound/voice/ManUp1.ogg'
log_admin("[key_name(usr)] told everyone to man up and deal with it.")
+4 -4
View File
@@ -31,13 +31,13 @@
if(!orbiter)
orbiter = input(usr, "What should act as the orbiter of the orbit?", "Orbiter") as anything in possible_things
if(!center || !orbiter)
to_chat(usr, "<span class = 'warning'>A center of orbit and an orbiter must be configured. You can also do this by marking a target.</span>")
to_chat(usr, span_warning("A center of orbit and an orbiter must be configured. You can also do this by marking a target."))
return
if(center == orbiter)
to_chat(usr, "<span class = 'warning'>The center of the orbit cannot also be the orbiter.</span>")
to_chat(usr, span_warning("The center of the orbit cannot also be the orbiter."))
return
if(isturf(orbiter))
to_chat(usr, "<span class = 'warning'>The orbiter cannot be a turf. It can only be used as a center.</span>")
to_chat(usr, span_warning("The orbiter cannot be a turf. It can only be used as a center."))
return
var/distance = tgui_input_number(usr, "How large will their orbit radius be? (In pixels. 32 is 'near around a character)", "Orbit Radius", 32)
var/speed = tgui_input_number(usr, "How fast will they orbit (negative numbers spin clockwise)", "Orbit Speed", 20)
@@ -89,7 +89,7 @@
break
if(!our_comp)
to_chat(usr, "<span class = 'warning'>Unable to locate a library computer to use for book deleting.</span>")
to_chat(usr, span_warning("Unable to locate a library computer to use for book deleting."))
return
var/dat = "<HEAD><TITLE>Book Inventory Management</TITLE></HEAD><BODY>\n"
+1 -2
View File
@@ -192,7 +192,6 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
. = ""
if(islist(returnval))
var/list/returnedlist = returnval
. = "<span class='blue'>"
if(returnedlist.len)
var/assoc_check = returnedlist[1]
if(istext(assoc_check) && (returnedlist[assoc_check] != null))
@@ -206,7 +205,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
. += "\n[elem]"
else
. = "[procname] returned an empty list"
. += "</span>"
. = span_blue(.)
else
. = span_blue("[procname] returned: [!isnull(returnval) ? returnval : "null"]")
+1 -1
View File
@@ -171,7 +171,7 @@
sleep(1 SECOND)
shadekin.dir = SOUTH
sleep(1 SECOND)
shadekin.audible_message("<b>[shadekin]</b> belches loudly!", runemessage = "URRRRRP")
shadekin.audible_message(span_vwarning(span_bold("[shadekin]") + " belches loudly!"), runemessage = "URRRRRP")
sleep(2 SECONDS)
shadekin.phase_shift()
target.transforming = FALSE //Undo cheap hack
+1 -1
View File
@@ -387,7 +387,7 @@
var/dat = "<html><head><title>Round Status</title></head><body><h1><B>Round Status</B></h1>"
dat += "Current Game Mode: <B>[ticker.mode.name]</B><BR>"
dat += "Round Duration: <B>[roundduration2text()]</B><BR>"
dat += "<B>Emergency shuttle</B><BR>"
dat += span_bold("Emergency shuttle") + "<BR>"
if (!emergency_shuttle.online())
dat += "<a href='?src=\ref[src];[HrefToken()];call_shuttle=1'>Call Shuttle</a><br>"
else
@@ -5,7 +5,7 @@
. = ..()
if(!.)
return
var/dat = "<B>Admin Log<HR></B>"
var/dat = span_bold("Admin Log<HR>")
for(var/l in admin_log)
dat += "<li>[l]</li>"
if(!admin_log.len)
@@ -25,7 +25,7 @@
. = ..()
if(!.)
return
var/dat = "<B>Dialogue Log<HR></B>"
var/dat = span_bold("Dialogue Log<HR>")
dat += "<fieldset style='border: 2px solid white; display: inline'>"
@@ -6,7 +6,7 @@
if(!.)
return
var/dat = "<B>Bombing List</B>"
var/dat = span_bold("Bombing List")
for(var/l in bombers)
dat += text("[l]<BR>")
user << browse(dat, "window=bombers")
@@ -5,7 +5,7 @@
. = ..()
if(!.)
return
var/dat = "<B>Showing DNA from blood.</B><HR>"
var/dat = span_bold("Showing DNA from blood.") + "<HR>"
dat += "<table cellspacing=5><tr><th>Name</th><th>DNA</th><th>Blood Type</th></tr>"
for(var/mob/living/carbon/human/H in mob_list)
if(H.dna && H.ckey)
@@ -5,7 +5,7 @@
. = ..()
if(!.)
return
var/dat = "<B>Showing Fingerprints.</B><HR>"
var/dat = span_bold("Showing Fingerprints.") + "<HR>"
dat += "<table cellspacing=5><tr><th>Name</th><th>Fingerprints</th></tr>"
for(var/mob/living/carbon/human/H in mob_list)
if(H.ckey)
@@ -9,7 +9,7 @@
if(!.)
return
var/dat = "<B>Showing last [length(lawchanges)] law changes.</B><HR>"
var/dat = span_bold("Showing last [length(lawchanges)] law changes.") + "<HR>"
for(var/sig in lawchanges)
dat += "[sig]<BR>"
user << browse(dat, "window=lawchanges;size=800x500")
@@ -9,7 +9,7 @@
if(!.)
return
var/dat = "<B>Showing last [length(lastsignalers)] signalers.</B><HR>"
var/dat = span_bold("Showing last [length(lastsignalers)] signalers.") + "<HR>"
for(var/sig in lastsignalers)
dat += "[sig]<BR>"
user << browse(dat, "window=lastsignalers;size=800x500")
+20 -20
View File
@@ -809,9 +809,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_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.")]"))
to_chat(M, span_filter_system(span_red(span_large(span_bold("You have been jobbanned by [usr.client.ckey] from: [msg].")))))
to_chat(M, span_filter_system(span_red(span_bold("The reason is: [reason]"))))
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")
@@ -830,9 +830,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_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.")]"))
to_chat(M, span_filter_system(span_red(span_large(span_bold("You have been jobbanned by [usr.client.ckey] from: [msg].")))))
to_chat(M, span_filter_system(span_red(span_bold("The reason is: [reason]"))))
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")
@@ -863,7 +863,7 @@
continue
if(msg)
message_admins(span_blue("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]"), 1)
to_chat(M, span_filter_system(span_danger("<BIG>You have been un-jobbanned by [usr.client.ckey] from [msg].</BIG>")))
to_chat(M, span_filter_system(span_red(span_large("You have been un-jobbanned by [usr.client.ckey] from [msg]."))))
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
return 0 //we didn't do anything!
@@ -1025,7 +1025,7 @@
master_mode = href_list["c_mode2"]
log_admin("[key_name(usr)] set the mode as [config.mode_names[master_mode]].")
message_admins(span_blue("[key_name_admin(usr)] set the mode as [config.mode_names[master_mode]]."), 1)
to_world(span_blue("<b>The mode is now: [config.mode_names[master_mode]]</b>"))
to_world(span_world(span_blue("The mode is now: [config.mode_names[master_mode]]")))
Game() // updates the main game menu
world.save_mode(master_mode)
.(href, list("c_mode"=1))
@@ -1359,7 +1359,7 @@
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_filter_pm(span_notice("<b>Your adminhelp is being attended to by [usr.client]. Thanks for your patience!</b>")))
to_chat(M, span_filter_pm(span_boldnotice("Your adminhelp is being attended to by [usr.client]. Thanks for your patience!")))
// VoreStation Edit Start
if (config.chat_webhook_url)
spawn(0)
@@ -1408,9 +1408,9 @@
//Job + antagonist
if(M.mind)
special_role_description = "Role: <b>[M.mind.assigned_role]</b>; Antagonist: [span_red("<b>[M.mind.special_role]</b>")]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]"
special_role_description = "Role: " + span_bold("[M.mind.assigned_role]") + "; Antagonist: [span_red(span_bold("[M.mind.special_role]"))]; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]"
else
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>; Has been rev: <i>Mind datum missing</i>;"
special_role_description = "Role: " + span_italics("Mind datum missing") + " Antagonist: " + span_italics("Mind datum missing") + "; Has been rev: " + span_italics("Mind datum missing") + ";"
//Health
if(isliving(M))
@@ -1418,8 +1418,8 @@
var/status
switch (M.stat)
if (0) status = "Alive"
if (1) status = span_orange("<b>Unconscious</b>")
if (2) status = span_red("<b>Dead</b>")
if (1) status = span_orange(span_bold("Unconscious"))
if (2) status = span_red(span_bold("Dead"))
health_description = "Status = [status]"
health_description += "<BR>Oxy: [L.getOxyLoss()] - Tox: [L.getToxLoss()] - Fire: [L.getFireLoss()] - Brute: [L.getBruteLoss()] - Clone: [L.getCloneLoss()] - Brain: [L.getBrainLoss()]"
else
@@ -1428,7 +1428,7 @@
//Gener
switch(M.gender)
if(MALE,FEMALE) gender_description = "[M.gender]"
else gender_description = span_red("<b>[M.gender]</b>")
else gender_description = span_red(span_bold("[M.gender]"))
to_chat(src.owner, "<span class='filter_adminlog'><b>Info about [M.name]:</b><br>\
Mob type = [M.type]; Gender = [gender_description] Damage = [health_description]<br>\
@@ -1936,27 +1936,27 @@
else if(href_list["ac_censor_channel_author"])
var/datum/feed_channel/FC = locate(href_list["ac_censor_channel_author"])
if(FC.author != "<B>\[REDACTED\]</B>")
if(FC.author != span_bold("\[REDACTED\]"))
FC.backup_author = FC.author
FC.author = "<B>\[REDACTED\]</B>"
FC.author = span_bold("\[REDACTED\]")
else
FC.author = FC.backup_author
src.access_news_network()
else if(href_list["ac_censor_channel_story_author"])
var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_author"])
if(MSG.author != "<B>\[REDACTED\]</B>")
if(MSG.author != span_bold("\[REDACTED\]"))
MSG.backup_author = MSG.author
MSG.author = "<B>\[REDACTED\]</B>"
MSG.author = span_bold("\[REDACTED\]")
else
MSG.author = MSG.backup_author
src.access_news_network()
else if(href_list["ac_censor_channel_story_body"])
var/datum/feed_message/MSG = locate(href_list["ac_censor_channel_story_body"])
if(MSG.body != "<B>\[REDACTED\]</B>")
if(MSG.body != span_bold("\[REDACTED\]"))
MSG.backup_body = MSG.body
MSG.body = "<B>\[REDACTED\]</B>"
MSG.body = span_bold("\[REDACTED\]")
else
MSG.body = MSG.backup_body
src.access_news_network()
+2 -2
View File
@@ -480,10 +480,10 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
var/client/C = GLOB.directory[show_next_to_key]
if(C)
var/mob/showmob = C.mob
to_chat(showmob, "<span class='admin'>SDQL query results: [get_query_text()]<br>\
to_chat(showmob, span_admin("SDQL query results: [get_query_text()]<br>\
SDQL query completed: [islist(obj_count_all)? length(obj_count_all) : obj_count_all] objects selected by path, and \
[where_switched? "[islist(obj_count_eligible)? length(obj_count_eligible) : obj_count_eligible] objects executed on after WHERE keyword selection." : ""]<br>\
SDQL query took [DisplayTimeText(end_time - start_time)] to complete.</span>")
SDQL query took [DisplayTimeText(end_time - start_time)] to complete."))
if(length(select_text))
var/text = islist(select_text)? select_text.Join() : select_text
var/static/result_offset = 0
+12 -11
View File
@@ -66,7 +66,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
var/list/dat = list("<html><head><title>[title]</title></head>")
dat += "<A HREF='?_src_=holder;[HrefToken()];ahelp_tickets=[state]'>Refresh</A><br><br>"
for(var/datum/admin_help/AH as anything in l2b)
dat += "<span class='adminnotice'><span class='adminhelp'>Ticket #[AH.id]</span>: <A HREF='?_src_=holder;ahelp=\ref[AH];[HrefToken()];ahelp_action=ticket'>[AH.initiator_key_name]: [AH.name]</A></span><br>"
dat += span_adminnotice(span_adminhelp("Ticket #[AH.id]") + ": <A HREF='?_src_=holder;ahelp=\ref[AH];[HrefToken()];ahelp_action=ticket'>[AH.initiator_key_name]: [AH.name]</A>") + "<br>"
usr << browse(dat.Join(), "window=ahelp_list[state];size=600x480")
@@ -373,9 +373,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(initiator.prefs?.read_preference(/datum/preference/toggle/holder/play_adminhelp_ping))
initiator << 'sound/effects/adminhelp.ogg'
to_chat(initiator, "<span class='filter_pm'>[span_red("<font size='4'><b>- AdminHelp Rejected! -</b></font>")]<br>\
[span_red("<b>Your admin help was rejected.</b>")]<br>\
Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting.</span>")
to_chat(initiator, span_filter_pm("[span_red(span_huge(span_bold("- AdminHelp Rejected! -")))]<br>\
[span_red(span_bold("Your admin help was rejected."))]<br>\
Please try to be calm, clear, and descriptive in admin helps, do not assume the admin has seen any related events, and clearly state the names of anybody you are reporting."))
feedback_inc("ahelp_reject")
var/msg = "Ticket [TicketHref("#[id]")] rejected by [key_name_admin(usr)]"
@@ -397,12 +397,12 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(state != AHELP_ACTIVE)
return
var/msg = "<span class='filter_pm'>[span_red("<font size='4'><b>- AdminHelp marked as IC issue! -</b></font>")]<br>"
msg += "[span_red("<b>This is something that can be solved ICly, and does not currently require staff intervention.</b>")]<br>"
msg += "[span_red("Your AdminHelp may also be unanswerable due to ongoing events.")]</span>"
var/msg = "[span_red(span_huge(span_bold("- AdminHelp marked as IC issue! -")))]<br>"
msg += "[span_red(span_bold("This is something that can be solved ICly, and does not currently require staff intervention."))]<br>"
msg += "[span_red("Your AdminHelp may also be unanswerable due to ongoing events.")]"
if(initiator)
to_chat(initiator, msg)
to_chat(initiator,span_filter_pm(msg))
feedback_inc("ahelp_icissue")
msg = "Ticket [TicketHref("#[id]")] marked as IC by [key_name_admin(usr)]"
@@ -469,9 +469,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
dat += "<br>Closed at: [gameTimestamp(wtime = closed_at)] (Approx [(world.time - closed_at) / 600] minutes ago)"
dat += "<br><br>"
if(initiator)
dat += "<b>Actions:</b> [FullMonty(ref_src)]<br>"
dat += span_bold("Actions:") + " [FullMonty(ref_src)]<br>"
else
dat += "<b>DISCONNECTED</b>[GLOB.TAB][ClosureLinks(ref_src)]<br>"
dat += span_bold("DISCONNECTED") + "[GLOB.TAB][ClosureLinks(ref_src)]<br>"
dat += "<br><b>Log:</b><br><br>"
for(var/I in _interactions)
dat += "[I]<br>"
@@ -787,7 +787,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(found.mind && found.mind.special_role)
is_antag = 1
founds += "Name: [found.name]([found.real_name]) Ckey: [found.ckey] [is_antag ? "(Antag)" : null] "
msg += "[original_word]<font size='1' color='[is_antag ? "red" : "black"]'>(<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[found]'>?</A>|<A HREF='?_src_=holder;[HrefToken()];adminplayerobservefollow=\ref[found]'>F</A>)</font> "
var/textentry = "(<A HREF='?_src_=holder;[HrefToken()];adminmoreinfo=\ref[found]'>?</A>|<A HREF='?_src_=holder;[HrefToken()];adminplayerobservefollow=\ref[found]'>F</A> "
msg += "[original_word]" + span_small((is_antag ? span_red(textentry) : span_black(textentry)))
continue
msg += "[original_word] "
if(irc)
+6 -6
View File
@@ -173,9 +173,9 @@
if(!recipient.current_ticket)
new /datum/admin_help(msg, recipient, TRUE)
to_chat(recipient, span_admin_pm_warning(span_huge("<b>-- Administrator private message --</b>")))
to_chat(recipient, span_admin_pm_warning(span_huge(span_bold("-- Administrator private message --"))))
to_chat(recipient, span_admin_pm_warning("Admin PM from-<b>[key_name(src, recipient, 0)]</b>: [msg]"))
to_chat(recipient, span_admin_pm_warning("<i>Click on the administrator's name to reply.</i>"))
to_chat(recipient, span_admin_pm_warning(span_italics("Click on the administrator's name to reply.")))
to_chat(src, span_admin_pm_notice("Admin PM to-<b>[key_name(recipient, src, 1)]</b>: [msg]"))
admin_ticket_log(recipient, span_admin_pm_notice("PM From [key_name_admin(src)]: [keywordparsedmsg]"))
@@ -205,7 +205,7 @@
for(var/client/X in GLOB.admins)
if(!check_rights(R_ADMIN, 0, X))
continue
to_chat(X, span_admin_pm_notice("<B>PM: [key_name(src, X, 0)]-&gt;IRC:</B> [keywordparsedmsg]"))
to_chat(X, span_admin_pm_notice(span_bold("PM: [key_name(src, X, 0)]-&gt;IRC:") + " [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, 0, X))
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_admin_pm_notice("<B>PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:</B> [keywordparsedmsg]"))
to_chat(X, span_admin_pm_notice(span_bold("PM: [key_name(src, X, 0)]-&gt;[key_name(recipient, X, 0)]:") + " [keywordparsedmsg]"))
/proc/IrcPm(target,msg,sender)
var/client/C = GLOB.directory[target]
@@ -262,9 +262,9 @@
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_admin_pm_warning(span_huge("<b>-- Administrator private message --</b>")))
to_chat(C, span_admin_pm_warning(span_huge(span_bold("-- Administrator private message --"))))
to_chat(C, span_admin_pm_warning("Admin PM from-<b><a href='?priv_msg=[stealthkey]'>[adminname]</A></b>: [msg]"))
to_chat(C, span_admin_pm_warning("<i>Click on the administrator's name to reply.</i>"))
to_chat(C, span_admin_pm_warning(span_italics("Click on the administrator's name to reply.")))
admin_ticket_log(C, span_admin_pm_notice("PM From [irc_tagged]: [msg]"))
+3 -3
View File
@@ -13,7 +13,7 @@
for(var/client/C in GLOB.admins)
if(check_rights(R_ADMIN, 0, C))
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>"))
to_chat(C, span_admin_channel(create_text_tag("admin", "ADMIN:", C) + " " + span_name("[key_name(usr, 1)]") + "([admin_jump_link(mob, src)]): " + span_name("[msg]") ))
feedback_add_details("admin_verb","M") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -36,7 +36,7 @@
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_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>"))
to_chat(C, span_mod_channel(create_text_tag("mod", "MOD:", C) + " " + span_name("[sender_name]") + "([admin_jump_link(mob, C.holder)]): " + span_name("[msg]") ))
feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -58,6 +58,6 @@
if(check_rights(R_ADMIN, 0))
sender_name = span_admin("[sender_name]")
for(var/client/C in GLOB.admins)
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>"))
to_chat(C, span_event_channel(create_text_tag("event", "EVENT:", C) + " " + span_name("[sender_name]") + "([admin_jump_link(mob, C.holder)]): " + span_name("[msg]") ))
feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+2 -2
View File
@@ -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_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>")))
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_message("[msg]"))))
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_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] <EM>[player_display]:</EM> <span class='message'>[msg]</span>")))
to_chat(M, span_ooc(span_aooc("[create_text_tag("aooc", "Antag-OOC:", M.client)] <EM>[player_display]:</EM> " + span_message("[msg]"))))
log_aooc(msg,src)
+20 -20
View File
@@ -91,17 +91,17 @@
switch(master.cl.buildmode)
if(BUILDMODE_BASIC)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button = Construct / Upgrade<br>\
Right Mouse Button = Deconstruct / Delete / Downgrade<br>\
Left Mouse Button + ctrl = R-Window<br>\
Left Mouse Button + alt = Airlock<br><br>\
Use the button in the upper left corner to<br>\
change the direction of built objects.<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_ADVANCED)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Right Mouse Button on buildmode button = Set object type<br>\
Middle Mouse Button on buildmode button= On/Off object type saying<br>\
Middle Mouse Button on turf/obj = Capture object type<br>\
@@ -110,49 +110,49 @@
Mouse Button + ctrl = Copy object type<br><br>\
Use the button in the upper left corner to<br>\
change the direction of built objects.<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_EDIT)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Right Mouse Button on buildmode button = Select var(type) & value<br>\
Left Mouse Button on turf/obj/mob = Set var(type) & value<br>\
Right Mouse Button on turf/obj/mob = Reset var's value<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_THROW)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button on turf/obj/mob = Select<br>\
Right Mouse Button on turf/obj/mob = Throw<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_ROOM)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button on turf = Select as point A<br>\
Right Mouse Button on turf = Select as point B<br>\
Right Mouse Button on buildmode button = Change floor/wall type/area name<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_LADDER)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button on turf = Set as upper ladder loc<br>\
Right Mouse Button on turf = Set as lower ladder loc<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_CONTENTS)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button on turf/obj/mob = Select<br>\
Right Mouse Button on turf/obj/mob = Move into selection<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_LIGHTS)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button on turf/obj/mob = Make it glow<br>\
Right Mouse Button on turf/obj/mob = Reset glowing<br>\
Right Mouse Button on buildmode button = Change glow properties<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_AI)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Left Mouse Button drag box = Select only mobs in box<br>\
Left Mouse Button drag box + shift = Select additional mobs in area<br>\
Left Mouse Button on non-mob = Deselect all mobs<br>\
@@ -171,17 +171,17 @@
Right Mouse Button on tile = Command selected mobs to move to tile (will cancel if enemies are seen)<br>\
Right Mouse Button + shift on tile = Command selected mobs to reposition to tile (will not be interrupted by enemies)<br>\
Right Mouse Button + alt on obj/turfs = Command selected mobs to attack obj/turf<br>\
***********************************************************</span>")
***********************************************************"))
if(BUILDMODE_DROP)
to_chat(usr, "<span class='notice'>***********************************************************<br>\
to_chat(usr, span_notice("***********************************************************<br>\
Right Mouse Button on buildmode button = Set object type<br>\
Middle Mouse Button on buildmode button= On/Off object type saying<br>\
Middle Mouse Button on turf/obj = Capture object type<br>\
Left Mouse Button on turf/obj = Drop objects safely<br>\
Right Mouse Button = Drop objects unsafely<br>\
Mouse Button + ctrl = Copy object type<br><br>\
***********************************************************</span>")
***********************************************************"))
return 1
/obj/effect/bmode/buildquit
@@ -5,7 +5,7 @@ var/inactive_keys = "None<br>"
set category = "Admin"
set name = "Check activity of players with custom items"
var/dat = "<b>Inactive players with custom items</b><br>"
var/dat = span_bold("Inactive players with custom items") + "<br>"
dat += "<br>"
dat += "The list below contains players with custom items that have not logged\
in for the past two months, or have not logged in since this system was implemented.\
@@ -76,7 +76,7 @@ var/inactive_keys = "None<br>"
inactive_keys = ""
for(var/cur_key in inactive_ckeys)
if(inactive_ckeys[cur_key])
inactive_keys += "<b>[cur_key]</b> - [inactive_ckeys[cur_key]]<br>"
inactive_keys += span_bold("[cur_key]") + " - [inactive_ckeys[cur_key]]<br>"
else
inactive_keys += "[cur_key] - no database entry<br>"
+4 -4
View File
@@ -19,10 +19,10 @@
custom_event_msg = input
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>")
to_world(span_filter_system("<h1>[span_alert("Custom Event")]</h1>"))
to_world(span_filter_system("<h2>[span_alert("A custom event is starting. OOC Info:")]</h2>"))
to_world(span_filter_system(span_alert("[custom_event_msg]")))
to_world(span_filter_system("<br>"))
SSwebhooks.send(
WEBHOOK_CUSTOM_EVENT,
+1 -1
View File
@@ -23,6 +23,6 @@
if (!msg)
return
say_dead_direct(span_name("[stafftype]([src.holder.fakekey ? src.holder.fakekey : src.key])</span> says, <span class='message'>\"[msg]\""))
say_dead_direct(span_name("[stafftype]([src.holder.fakekey ? src.holder.fakekey : src.key])") + " says, " + span_message("\"[msg]\""))
feedback_add_details("admin_verb","D") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
+8 -8
View File
@@ -217,7 +217,7 @@
set desc = "Display del's log of everything that's passed through it."
if(!check_rights(R_DEBUG)) return
var/list/dellog = list("<B>List of things that have gone through qdel this round</B><BR><BR><ol>")
var/list/dellog = list(span_bold("List of things that have gone through qdel this round") + "<BR><BR><ol>")
sortTim(SSgarbage.items, cmp=/proc/cmp_qdel_item_time, associative = TRUE)
for(var/path in SSgarbage.items)
var/datum/qdel_item/I = SSgarbage.items[path]
@@ -393,31 +393,31 @@
var/list/areas_without_intercom = areas_all - areas_with_intercom
var/list/areas_without_camera = areas_all - areas_with_camera
to_world("<b>AREAS WITHOUT AN APC:</b>")
to_world(span_bold("AREAS WITHOUT AN APC:"))
for(var/areatype in areas_without_APC)
to_world("* [areatype]")
to_world("<b>AREAS WITHOUT AN AIR ALARM:</b>")
to_world(span_bold("AREAS WITHOUT AN AIR ALARM:"))
for(var/areatype in areas_without_air_alarm)
to_world("* [areatype]")
to_world("<b>AREAS WITHOUT A REQUEST CONSOLE:</b>")
to_world(span_bold("AREAS WITHOUT A REQUEST CONSOLE:"))
for(var/areatype in areas_without_RC)
to_world("* [areatype]")
to_world("<b>AREAS WITHOUT ANY LIGHTS:</b>")
to_world(span_bold("AREAS WITHOUT ANY LIGHTS:"))
for(var/areatype in areas_without_light)
to_world("* [areatype]")
to_world("<b>AREAS WITHOUT A LIGHT SWITCH:</b>")
to_world(span_bold("AREAS WITHOUT A LIGHT SWITCH:"))
for(var/areatype in areas_without_LS)
to_world("* [areatype]")
to_world("<b>AREAS WITHOUT ANY INTERCOMS:</b>")
to_world(span_bold("AREAS WITHOUT ANY INTERCOMS:"))
for(var/areatype in areas_without_intercom)
to_world("* [areatype]")
to_world("<b>AREAS WITHOUT ANY CAMERAS:</b>")
to_world(span_bold("AREAS WITHOUT ANY CAMERAS:"))
for(var/areatype in areas_without_camera)
to_world("* [areatype]")
+2 -2
View File
@@ -168,7 +168,7 @@
set desc = "This spams all the active jobban entries for the current round to standard output."
set category = "Debug"
to_chat(usr, "<b>Jobbans active in this round.</b>")
to_chat(usr, span_bold("Jobbans active in this round."))
for(var/t in jobban_keylist)
to_chat(usr, "[t]")
@@ -181,7 +181,7 @@
if(!job_filter)
return
to_chat(usr, "<b>Jobbans active in this round.</b>")
to_chat(usr, span_bold("Jobbans active in this round."))
for(var/t in jobban_keylist)
if(findtext(t, job_filter))
to_chat(usr, "[t]")
+6 -6
View File
@@ -191,9 +191,9 @@
message = tgui_input_text(usr, "Input what you want [our_entity] to [mode]", "narrate", null)
message = encode_html_emphasis(sanitize(message))
if(message && mode == "Speak")
our_entity.audible_message("<b>[our_entity.name]</b> [message]")
our_entity.audible_message(span_bold("[our_entity.name]") + " [message]")
else if(message && mode == "Emote")
our_entity.visible_message("<b>[our_entity.name]</b> [message]")
our_entity.visible_message(span_bold("[our_entity.name]") + " [message]")
else
return
@@ -339,10 +339,10 @@
/datum/entity_narrate/proc/narrate_tgui_atom(atom/A, message as text)
message = encode_html_emphasis(sanitize(message))
if(tgui_narrate_mode && tgui_narrate_privacy)
A.visible_message("<i><b>\The [A.name]</b> [message]</i>", range = 1)
A.visible_message(span_italics(span_bold("\The [A.name]") + " [message]"), range = 1)
else if(tgui_narrate_mode && !tgui_narrate_privacy)
A.visible_message("<b>\The [A.name]</b> [message]",)
A.visible_message(span_bold("\The [A.name]") + "[message]",)
else if(!tgui_narrate_mode && tgui_narrate_privacy)
A.audible_message("<i><b>\The [A.name]</b> [message]</i>", hearing_distance = 1)
A.audible_message(span_italics(span_bold("\The [A.name]") + " [message]"), hearing_distance = 1)
else if(!tgui_narrate_mode && !tgui_narrate_privacy)
A.audible_message("<b>\The [A.name]</b> [message]")
A.audible_message(span_bold("\The [A.name]") + "[message]")
+2 -2
View File
@@ -10,7 +10,7 @@
feedback_add_details("admin_verb","FA")
log_and_message_admins("Full atmosphere reset initiated by [usr].")
to_world("<span class = 'danger'>Initiating restart of atmosphere. The server may lag a bit.</span>")
to_world(span_danger("Initiating restart of atmosphere. The server may lag a bit."))
sleep(10)
var/current_time = world.timeofday
@@ -48,4 +48,4 @@
SSair.RebootZAS()
to_chat(usr, "\[5/5\] - ZAS Rebooted")
to_world("<span class = 'danger'>Atmosphere restart completed in <b>[(world.timeofday - current_time)/10]</b> seconds.</span>")
to_world(span_danger("Atmosphere restart completed in " + span_bold("[(world.timeofday - current_time)/10]") + " seconds."))
+2 -2
View File
@@ -31,7 +31,7 @@
log_pray(raw_msg, src)
/proc/CentCom_announce(var/msg, var/mob/Sender, var/iamessage)
msg = span_blue("<b>" + span_orange("[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]:</b> [msg]")
msg = span_blue(span_bold(span_orange("[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_CENTCOM_REPLY(Sender)]:") + " [msg]")
for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins
if(!check_rights(R_ADMIN, 0, C))
continue
@@ -39,7 +39,7 @@
C << 'sound/machines/signal.ogg'
/proc/Syndicate_announce(var/msg, var/mob/Sender)
msg = span_blue("<b>" + span_crimson("ILLEGAL:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]:</b> [msg]")
msg = span_blue(span_bold(span_crimson("ILLEGAL:") + "[key_name(Sender, 1)] [ADMIN_PP(Sender)] [ADMIN_VV(Sender)] [ADMIN_SM(Sender)] ([admin_jump_link(Sender)]) [ADMIN_CA(Sender)] [ADMIN_BSA(Sender)] [ADMIN_SYNDICATE_REPLY(Sender)]:") + " [msg]")
for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins
if(!check_rights(R_ADMIN, 0, C))
continue
+18 -18
View File
@@ -98,10 +98,10 @@
if(usr)
if (usr.client)
if(usr.client.holder)
to_chat(M, "<B>You hear a voice in your head...</B> <i>[msg]</i>")
to_chat(M, span_bold("You hear a voice in your head...") + " " + span_italics("[msg]"))
log_admin("SubtlePM: [key_name(usr)] -> [key_name(M)] : [msg]")
msg = span_admin_pm_notice("<b> SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :</b> [msg]")
msg = span_admin_pm_notice(span_bold(" SubtleMessage: [key_name_admin(usr)] -> [key_name_admin(M)] :") + " [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!
@@ -124,7 +124,7 @@
to_world("[msg]")
log_admin("GlobalNarrate: [key_name(usr)] : [msg]")
message_admins(span_blue("<B> GlobalNarrate: [key_name_admin(usr)] : [msg]<BR></B>"), 1)
message_admins(span_blue(span_bold(" GlobalNarrate: [key_name_admin(usr)] : [msg]<BR>")), 1)
feedback_add_details("admin_verb","GLN") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_direct_narrate(var/mob/M) // Targetted narrate -- TLE
@@ -149,7 +149,7 @@
to_chat(M, msg)
log_admin("DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]): [msg]")
msg = span_admin_pm_notice("<b> DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):</b> [msg]<BR>")
msg = span_admin_pm_notice(span_bold(" DirectNarrate: [key_name(usr)] to ([M.name]/[M.key]):") + " [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!
@@ -221,7 +221,7 @@
log_admin("[key_name(usr)] has [muteunmute] [key_name(M)] from [mute_string]")
message_admins("[key_name_admin(usr)] has [muteunmute] [key_name_admin(M)] from [mute_string].", 1)
to_chat(M, "<span class = 'alert'>You have been [muteunmute] from [mute_string].</span>")
to_chat(M, span_alert("You have been [muteunmute] from [mute_string]."))
feedback_add_details("admin_verb","MUTE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/cmd_admin_add_random_ai_law()
@@ -298,11 +298,11 @@ Ccomp's first proc.
for(var/client/C as anything in GLOB.clients)
if(C.ckey == target)
found_client = C
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>"))
to_chat(C, span_boldnotice("You may now respawn. You should roleplay as if you learned nothing about the round during your time with the dead."))
if(isobserver(C.mob))
var/mob/observer/dead/G = C.mob
G.can_reenter_corpse = 1
to_chat(C, span_notice("<B>You can also re-enter your corpse, if you still have one!</B>"))
to_chat(C, span_boldnotice("You can also re-enter your corpse, if you still have one!"))
break
if(!found_client)
@@ -328,18 +328,18 @@ Ccomp's first proc.
if(g.antagHUD)
g.antagHUD = 0 // Disable it on those that have it enabled
g.has_enabled_antagHUD = 2 // We'll allow them to respawn
to_chat(g, span_red("<B>The Administrator has disabled AntagHUD </B>"))
to_chat(g, span_boldwarning("The Administrator has disabled AntagHUD "))
config.antag_hud_allowed = 0
to_chat(src, span_red("<B>AntagHUD usage has been disabled</B>"))
to_chat(src, span_boldwarning("AntagHUD usage has been disabled"))
action = "disabled"
else
for(var/mob/observer/dead/g in get_ghosts())
if(!g.client.holder) // Add the verb back for all non-admin ghosts
add_verb(g, /mob/observer/dead/verb/toggle_antagHUD)
to_chat(g, span_blue("<B>The Administrator has enabled AntagHUD </B>")) // Notify all observers they can now use AntagHUD
to_chat(g, span_boldnotice("The Administrator has enabled AntagHUD ")) // Notify all observers they can now use AntagHUD
config.antag_hud_allowed = 1
action = "enabled"
to_chat(src, span_blue("<B>AntagHUD usage has been enabled</B>"))
to_chat(src, span_boldnotice("AntagHUD usage has been enabled"))
log_admin("[key_name(usr)] has [action] antagHUD usage for observers")
@@ -358,19 +358,19 @@ Ccomp's first proc.
var/action=""
if(config.antag_hud_restricted)
for(var/mob/observer/dead/g in get_ghosts())
to_chat(g, span_blue("<B>The administrator has lifted restrictions on joining the round if you use AntagHUD</B>"))
to_chat(g, span_boldnotice("The administrator has lifted restrictions on joining the round if you use AntagHUD"))
action = "lifted restrictions"
config.antag_hud_restricted = 0
to_chat(src, span_blue("<B>AntagHUD restrictions have been lifted</B>"))
to_chat(src, span_boldnotice("AntagHUD restrictions have been lifted"))
else
for(var/mob/observer/dead/g in get_ghosts())
to_chat(g, span_red("<B>The administrator has placed restrictions on joining the round if you use AntagHUD</B>"))
to_chat(g, span_red("<B>Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions </B>"))
to_chat(g, span_boldwarning("The administrator has placed restrictions on joining the round if you use AntagHUD"))
to_chat(g, span_boldwarning("Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions "))
g.antagHUD = 0
g.has_enabled_antagHUD = 0
action = "placed restrictions"
config.antag_hud_restricted = 1
to_chat(src, span_red("<B>AntagHUD restrictions have been enabled</B>"))
to_chat(src, span_boldwarning("AntagHUD restrictions have been enabled"))
log_admin("[key_name(usr)] has [action] on joining the round if they use AntagHUD")
message_admins("Admin [key_name_admin(usr)] has [action] on joining the round if they use AntagHUD", 1)
@@ -982,7 +982,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
set category = "Special Verbs"
set name = "Attack Log"
to_chat(usr, span_red("<b>Attack Log for [mob]</b>"))
to_chat(usr, span_red(span_bold("Attack Log for [mob]")))
for(var/t in M.attack_log)
to_chat(usr,t)
feedback_add_details("admin_verb","ATTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -1014,7 +1014,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
message_admins("Admin [key_name_admin(usr)] has forced the players to have random appearances.", 1)
if(notifyplayers == "Yes")
to_world(span_blue("<b>Admin [usr.key] has forced the players to have completely random identities!</b>"))
to_world(span_boldannounce(span_blue("Admin [usr.key] has forced the players to have completely random identities!")))
to_chat(usr, "<i>Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet</i>.")
+1 -1
View File
@@ -97,7 +97,7 @@
if(M.z == pos_z)
to_chat(M, msg)
log_admin("ZNarrate: [key_name(usr)] : [msg]")
message_admins(span_blue("<B> ZNarrate: [key_name_admin(usr)] : [msg]<BR></B>"), 1)
message_admins(span_blue(span_bold(" ZNarrate: [key_name_admin(usr)] : [msg]<BR>")), 1)
feedback_add_details("admin_verb","GLNA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/toggle_vantag_hud(var/mob/target as mob)
+1 -1
View File
@@ -129,7 +129,7 @@
sleep(1 SECOND)
shadekin.dir = SOUTH
sleep(1 SECOND)
shadekin.audible_message("<b>[shadekin]</b> belches loudly!", runemessage = "URRRRRP")
shadekin.audible_message(span_vwarning(span_bold("[shadekin]") + " belches loudly!"), runemessage = "URRRRRP")
sleep(2 SECONDS)
shadekin.phase_shift()
target.transforming = FALSE //Undo cheap hack
+1 -1
View File
@@ -2,7 +2,7 @@
// Keep these two together, they *must* be defined on both
// If /client ever becomes /datum/client or similar, they can be merged
/datum/proc/get_view_variables_header()
return "<b>[src]</b>"
return span_bold("[src]")
/atom/get_view_variables_header()
return {"
@@ -40,7 +40,7 @@
var/sprite_text
if(sprite)
sprite_text = "<img src='vv[hash].png'></td><td>"
var/list/header = islist(D)? list("<b>/list</b>") : D.vv_get_header()
var/list/header = islist(D)? list(span_bold("/list")) : D.vv_get_header()
var/marked
if(holder && holder.marked_datum && holder.marked_datum == D)
@@ -12,7 +12,7 @@
/var/decl/global_vars/global_vars_
/decl/global_vars
var/name = "<b>Global Variables</b>"
var/name = span_bold("Global Variables")
/decl/global_vars/get_view_variables_options()
return "" // Ensuring changes to the base proc never affect us
+3 -4
View File
@@ -170,11 +170,10 @@
to_chat(usr, span_warning("You don't appear to have changed anything on the AI datum you were editing."))
href_list["datumrefresh"] = "\ref[src]"
else
var/message = "<span class='notice'>These differences were detected in your varedit. If you notice any that you didn't change, please redo your edit:<br>"
var/message = "These differences were detected in your varedit. If you notice any that you didn't change, please redo your edit:<br>"
for(var/key in diff)
message += "<b>- [key]:</b> [before[key]] => [after[key]]<br>"
message += "</span>"
to_chat(usr,message)
message += span_bold("- [key]:") + " [before[key]] => [after[key]]<br>"
to_chat(usr,span_notice(message))
var/original_type = holder.type
var/list/levels_working = GetConnectedZlevels(holder.z)
+2 -2
View File
@@ -35,6 +35,6 @@
if(isliving(user))
var/mob/living/L = user
L.visible_message("<span class='danger'>[L] convulses, the very letters of \the [src] searing themselves into their eyes!</span>", \
"<span class='critical'>You convulse, the very letters of \the [src] searing themselves into your eyes!</span>")
L.visible_message(span_danger("[L] convulses, the very letters of \the [src] searing themselves into their eyes!"), \
span_critical("You convulse, the very letters of \the [src] searing themselves into your eyes!"))
L.add_modifier(/datum/modifier/grievous_wounds, 10 MINUTES)
+1 -1
View File
@@ -41,7 +41,7 @@
H.updatehealth()
else if(ismouse(target))
var/mob/living/simple_mob/animal/passive/mouse/M = target
visible_message(span_red("<b>SPLAT!</b>"))
visible_message(span_bolddanger("SPLAT!"))
M.splat()
playsound(target, 'sound/effects/snap.ogg', 50, 1)
layer = MOB_LAYER - 0.2
@@ -22,9 +22,9 @@
/obj/machinery/artillerycontrol/attack_hand(mob/user as mob)
user.set_machine(src)
var/dat = "<B>Bluespace Artillery Control:</B><BR>"
var/dat = span_bold("Bluespace Artillery Control:") + "<BR>"
dat += "Locked on<BR>"
dat += "<B>Charge progress: [reload]/180:</B><BR>"
dat += span_bold("Charge progress: [reload]/180:") + "<BR>"
dat += "<A href='byond://?src=\ref[src];fire=1'>Open Fire</A><BR>"
dat += "Deployment of weapon authorized by <br>[using_map.company_name] Naval Command<br><br>Remember, friendly fire is grounds for termination of your contract and life.<HR>"
user << browse(dat, "window=scroll")
+2 -2
View File
@@ -233,7 +233,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation)
if(!awaygate) // We still can't find the damn thing because there is no destination.
to_chat(user, span_notice("Error: Programming failed. No destination found."))
return
to_chat(user, "<span class='notice'><b>Startup programming successful!</b></span>: A destination in another point of space and time has been detected.")
to_chat(user, span_boldnotice("Startup programming successful!") + ": A destination in another point of space and time has been detected.")
else
to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here."))
return
@@ -362,6 +362,6 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway)
return
// VOREStation Add End
else
to_chat(user, span_blue("<b>Recalibration successful!</b>:") + span_black(" This gate's systems have been fine tuned. Travel to this gate will now be on target."))
to_chat(user, span_blue(span_bold("Recalibration successful!") + "") + span_black(" This gate's systems have been fine tuned. Travel to this gate will now be on target."))
calibrated = 1
return
+1 -1
View File
@@ -15,7 +15,7 @@
return
if(istype(W,mcguffin_type) && !calibrated)
to_chat(user, span_emote("As the device nears the gateway, mechanical clunks and whirrs can be heard. <br>[span_blue("<b>Configuration successful! </b>")]<br>This gate's systems have been fine tuned. Travel to this gate will now be on target."))
to_chat(user, span_npc_emote("As the device nears the gateway, mechanical clunks and whirrs can be heard. <br>[span_blue(span_bold("Configuration successful! "))]<br>This gate's systems have been fine tuned. Travel to this gate will now be on target."))
calibrated = 1
return
else
+2 -2
View File
@@ -1,7 +1,7 @@
/obj/item/paper/pamphlet
name = "pamphlet"
icon_state = "pamphlet"
info = "<b>Welcome to the Gateway project...</b><br>\
info = span_bold("Welcome to the Gateway project...") + "<br>\
Congratulations! If you're reading this, you and your superiors have decided that you're \
ready to commit to a life spent colonising the rolling hills of far away worlds. You \
must be ready for a lifetime of adventure, a little bit of hard work, and an award \
@@ -35,4 +35,4 @@
//we don't want the silly text overlay!
/obj/item/paper/pamphlet/update_icon()
return
return
+4 -4
View File
@@ -6,7 +6,7 @@
return
var/list/potentialRandomZlevels = list()
admin_notice(span_red("<B> Searching for away missions...</B>"), R_DEBUG)
admin_notice(span_red(span_bold(" Searching for away missions...")), R_DEBUG)
var/list/Lines = file2list("maps/RandomZLevels/fileList.txt")
if(!Lines.len) return
for (var/t in Lines)
@@ -38,7 +38,7 @@
if(potentialRandomZlevels.len)
admin_notice(span_red("<B>Loading away mission...</B>"), R_DEBUG)
admin_notice(span_red(span_bold("Loading away mission...")), R_DEBUG)
var/map = pick(potentialRandomZlevels)
to_world_log("Away mission picked: [map]") //VOREStation Add for debugging
@@ -53,10 +53,10 @@
continue
awaydestinations.Add(L)
*/ //VOREStation Removal End
admin_notice(span_red("<B>Away mission loaded.</B>"), R_DEBUG)
admin_notice(span_red(span_bold("Away mission loaded.")), R_DEBUG)
else
admin_notice(span_red("<B>No away missions found.</B>"), R_DEBUG)
admin_notice(span_red(span_bold("No away missions found.")), R_DEBUG)
return
//VOREStation Add - This landmark type so it's not so ghetto.
+2 -2
View File
@@ -211,7 +211,7 @@
/obj/machinery/casino_prize_dispenser/proc/pay_with_chips(var/obj/item/spacecasinocash/cashmoney, mob/user, var/price)
//"cashmoney_:[cashmoney] user:[user] currently_vending:[currently_vending]"
if(price > cashmoney.worth)
to_chat(usr, "[icon2html(cashmoney, user.client)] <span class='warning'>That is not enough chips.</span>")
to_chat(usr, "[icon2html(cashmoney, user.client)] " + span_warning("That is not enough chips."))
return 0
if(istype(cashmoney, /obj/item/spacecasinocash))
@@ -344,7 +344,7 @@
return
for(var/mob/O in hearers(src, null))
O.show_message(span_npc_say("<span class='name'>\The [src]</span> beeps, \"[message]\""),2)
O.show_message(span_npc_say(span_name("\The [src]") + " beeps, \"[message]\""),2)
return
/obj/machinery/casino_prize_dispenser/process() //Might not need this, but just to be safe for now
+3 -3
View File
@@ -103,8 +103,8 @@ GLOBAL_DATUM_INIT(catalogue_data, /datum/category_collection/catalogue, new)
. += item
/datum/category_item/catalogue/proc/display_in_chatlog(mob/user)
to_chat(user, "<br>")
to_chat(user, span_notice("<b>[uppertext(name)]</b>"))
to_chat(user, span_infoplain("<br>"))
to_chat(user, span_boldnotice("[uppertext(name)]"))
// Some entries get very long so lets not totally flood the chatlog.
var/desc_length_limit = 750
@@ -113,7 +113,7 @@ GLOBAL_DATUM_INIT(catalogue_data, /datum/category_collection/catalogue, new)
displayed_desc = copytext(displayed_desc, 1, desc_length_limit + 1)
displayed_desc += "... (View databanks for full data)"
to_chat(user, span_notice("<i>[displayed_desc]</i>"))
to_chat(user, span_notice(span_italics("[displayed_desc]")))
to_chat(user, span_notice("Cataloguers : <b>[english_list(cataloguers)]</b>."))
to_chat(user, span_notice("Contributes <b>[value]</b> points to personal exploration fund."))
+2 -2
View File
@@ -258,7 +258,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers)
dat += "<a href='?src=\ref[src];debug_unlock=\ref[displayed_data]'>\[(DEBUG) Force Discovery\]</a>"
dat += "<hr>"
dat += "<i>[displayed_data.desc]</i>"
dat += span_italics("[displayed_data.desc]")
if(LAZYLEN(displayed_data.cataloguers))
dat += "Cataloguers : <b>[english_list(displayed_data.cataloguers)]</b>."
else
@@ -271,7 +271,7 @@ GLOBAL_LIST_EMPTY(all_cataloguers)
var/list/group_dat = list()
var/show_group = FALSE
group_dat += "<b>[group.name]</b>"
group_dat += span_bold("[group.name]")
for(var/datum/category_item/catalogue/item as anything in group.items)
if(item.visible || debug)
group_dat += "<a href='?src=\ref[src];show_data=\ref[item]'>[item.name]</a>"
+1 -1
View File
@@ -73,7 +73,7 @@
to_chat(src, span_warning("You are no longer able to use this, it's been more than 10 minutes since an admin on IRC has responded to you"))
return
if(mute_irc)
to_chat(src, "<span class='warning'You cannot use this as your client has been muted from sending messages to the admins on IRC</span>")
to_chat(usr, span_warning("You cannot use this as your client has been muted from sending messages to the admins on IRC"))
return
send2adminirc(href_list["irc_msg"])
return
@@ -30,11 +30,11 @@ var/global/list/uplink_locations = list("PDA", "Headset", "None")
/datum/category_item/player_setup_item/antagonism/basic/content(var/mob/user)
. += "Faction: <a href='?src=\ref[src];antagfaction=1'>[pref.antag_faction]</a><br/>"
. += "Visibility: <a href='?src=\ref[src];antagvis=1'>[pref.antag_vis]</a><br/>"
. +="<b>Uplink Type : <a href='?src=\ref[src];antagtask=1'>[pref.uplinklocation]</a></b>"
. +=span_bold("Uplink Type : <a href='?src=\ref[src];antagtask=1'>[pref.uplinklocation]</a>")
. +="<br>"
. +="<b>Exploitable information:</b><br>"
. +=span_bold("Exploitable information:") + "<br>"
if(jobban_isbanned(user, "Records"))
. += "<b>You are banned from using character records.</b><br>"
. += span_bold("You are banned from using character records.") + "<br>"
else
. +="<a href='?src=\ref[src];exploitable_record=1'>[TextPreview(pref.exploit_record,40)]</a><br>"
@@ -42,16 +42,16 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
/datum/category_item/player_setup_item/antagonism/candidacy/content(var/mob/user)
if(jobban_isbanned(user, JOB_SYNDICATE))
. += "<b>You are banned from antagonist roles.</b>"
. += span_bold("You are banned from antagonist roles.")
pref.be_special = 0
else
var/n = 0
for (var/i in special_roles)
if(special_roles[i]) //if mode is available on the server
if(jobban_isbanned(user, i) || (i == "positronic brain" && jobban_isbanned(user, JOB_AI) && jobban_isbanned(user, JOB_CYBORG)) || (i == "pAI candidate" && jobban_isbanned(user, JOB_PAI)))
. += "<b>Be [i]:</b> <font color=red><b> \[BANNED]</b></font><br>"
. += span_bold("Be [i]:") + " <font color=red><b> \[BANNED]</b></font><br>"
else
. += "<b>Be [i]:</b> <a href='?src=\ref[src];be_special=[n]'><b>[pref.be_special&(1<<n) ? "Yes" : "No"]</b></a><br>"
. += span_bold("Be [i]:") + " <a href='?src=\ref[src];be_special=[n]'>" + span_bold("[pref.be_special&(1<<n) ? "Yes" : "No"]") + "</a><br>"
n++
/datum/category_item/player_setup_item/antagonism/candidacy/OnTopic(var/href,var/list/href_list, var/mob/user)
@@ -81,20 +81,20 @@
/datum/category_item/player_setup_item/general/basic/content()
. = list()
. += "<b>Name:</b> "
. += span_bold("Name:") + " "
. += "<a href='?src=\ref[src];rename=1'><b>[pref.real_name]</b></a><br>"
. += "<a href='?src=\ref[src];random_name=1'>Randomize Name</A><br>"
. += "<a href='?src=\ref[src];always_random_name=1'>Always Random Name: [pref.be_random_name ? "Yes" : "No"]</a><br>"
. += "<b>Nickname:</b> "
. += span_bold("Nickname:") + " "
. += "<a href='?src=\ref[src];nickname=1'><b>[pref.nickname]</b></a>"
. += "(<a href='?src=\ref[src];reset_nickname=1'>Clear</A>)"
. += "<br>"
. += "<b>Biological Sex:</b> <a href='?src=\ref[src];bio_gender=1'><b>[gender2text(pref.biological_gender)]</b></a><br>"
. += "<b>Pronouns:</b> <a href='?src=\ref[src];id_gender=1'><b>[gender2text(pref.identifying_gender)]</b></a><br>"
. += "<b>Age:</b> <a href='?src=\ref[src];age=1'>[pref.age]</a> <b>Birthday:</b> <a href='?src=\ref[src];bday_month=1'>[pref.bday_month]</a><b>/</b><a href='?src=\ref[src];bday_day=1'>[pref.bday_day]</a> - <b>Announce?:</b> <a href='?src=\ref[src];bday_announce=1'>[pref.bday_announce ? "Yes" : "No"]</a><br>"
. += "<b>Spawn Point</b>: <a href='?src=\ref[src];spawnpoint=1'>[pref.spawnpoint]</a><br>"
. += span_bold("Biological Sex:") + " <a href='?src=\ref[src];bio_gender=1'><b>[gender2text(pref.biological_gender)]</b></a><br>"
. += span_bold("Pronouns:") + " <a href='?src=\ref[src];id_gender=1'><b>[gender2text(pref.identifying_gender)]</b></a><br>"
. += span_bold("Age:") + " <a href='?src=\ref[src];age=1'>[pref.age]</a> <b>Birthday:</b> <a href='?src=\ref[src];bday_month=1'>[pref.bday_month]</a><b>/</b><a href='?src=\ref[src];bday_day=1'>[pref.bday_day]</a> - <b>Announce?:</b> <a href='?src=\ref[src];bday_announce=1'>[pref.bday_announce ? "Yes" : "No"]</a><br>"
. += span_bold("Spawn Point") + ": <a href='?src=\ref[src];spawnpoint=1'>[pref.spawnpoint]</a><br>"
if(config.allow_Metadata)
. += "<b>OOC Notes: <a href='?src=\ref[src];edit_ooc_notes=1'>Edit</a><a href='?src=\ref[src];edit_ooc_note_likes=1'>Likes</a><a href='?src=\ref[src];edit_ooc_note_dislikes=1'>Dislikes</a></b><br>"
. += span_bold("OOC Notes: <a href='?src=\ref[src];edit_ooc_notes=1'>Edit</a><a href='?src=\ref[src];edit_ooc_note_likes=1'>Likes</a><a href='?src=\ref[src];edit_ooc_note_dislikes=1'>Dislikes</a>") + "<br>"
. = jointext(.,null)
/datum/category_item/player_setup_item/general/basic/OnTopic(var/href,var/list/href_list, var/mob/user)
@@ -68,7 +68,7 @@
pref.runechat_color = sanitize_hexcolor(pref.runechat_color, COLOR_BLACK)
/datum/category_item/player_setup_item/general/language/content()
. += "<b>Languages</b><br>"
. += span_bold("Languages") + "<br>"
var/datum/species/S = GLOB.all_species[pref.species]
if(pref.alternate_languages.len > (S.num_alternate_languages + pref.extra_languages))
testing("LANGSANI: Truncated [pref.client]'s character [pref.real_name || "-name not yet loaded-"] language list because it was too long (len: [pref.alternate_languages.len], allowed: [S.num_alternate_languages])")
@@ -88,10 +88,10 @@
else
. += "- [pref.species] cannot choose secondary languages.<br>"
. += "<b>Language Keys</b><br>"
. += span_bold("Language Keys") + "<br>"
. += " [jointext(pref.language_prefixes, " ")] <a href='?src=\ref[src];change_prefix=1'>Change</a> <a href='?src=\ref[src];reset_prefix=1'>Reset</a><br>"
. += "<b>Preferred Language</b> <a href='?src=\ref[src];pref_lang=1'>[pref.preferred_language]</a><br>" // VOREStation Add
. += "<b>Runechat Color</b> <a href='?src=\ref[src];pref_runechat_color=1'>Change Runechat Color</a> [color_square(hex = pref.runechat_color)]"
. += span_bold("Preferred Language") + " <a href='?src=\ref[src];pref_lang=1'>[pref.preferred_language]</a><br>" // VOREStation Add
. += span_bold("Runechat Color") + " <a href='?src=\ref[src];pref_runechat_color=1'>Change Runechat Color</a> [color_square(hex = pref.runechat_color)]"
/datum/category_item/player_setup_item/general/language/OnTopic(var/href,var/list/href_list, var/mob/user)
if(href_list["remove_language"])
@@ -582,12 +582,12 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
. += "<br><a href='?src=\ref[src];toggle_animations=1'>[pref.animations_toggle ? "Stop animations" : "Show animations"]</a>"
. += "</td></tr></table>"
. += "<b>Hair</b><br>"
. += span_bold("Hair") + "<br>"
if(has_flag(mob_species, HAS_HAIR_COLOR))
. += "<a href='?src=\ref[src];hair_color=1'>Change Color</a> [color_square(pref.r_hair, pref.g_hair, pref.b_hair)] "
. += " Style: <a href='?src=\ref[src];hair_style_left=[pref.h_style]'><</a> <a href='?src=\ref[src];hair_style_right=[pref.h_style]''>></a> <a href='?src=\ref[src];hair_style=1'>[pref.h_style]</a><br>" //The <</a> & ></a> in this line is correct-- those extra characters are the arrows you click to switch between styles.
. += "<b>Gradient</b><br>"
. += span_bold("Gradient") + "<br>"
. += "<a href='?src=\ref[src];grad_color=1'>Change Color</a> [color_square(pref.r_grad, pref.g_grad, pref.b_grad)] "
. += " Style: <a href='?src=\ref[src];grad_style_left=[pref.grad_style]'><</a> <a href='?src=\ref[src];grad_style_right=[pref.grad_style]''>></a> <a href='?src=\ref[src];grad_style=1'>[pref.grad_style]</a><br>"
@@ -611,7 +611,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
var/list/ear_styles = pref.get_available_styles(global.ear_styles_list)
var/datum/sprite_accessory/ears/ear = ear_styles[pref.ear_style]
. += "<b>Ears</b><br>"
. += span_bold("Ears") + "<br>"
if(istype(ear))
. += " Style: <a href='?src=\ref[src];ear_style=1'>[ear.name]</a><br>"
if(ear.do_colouration)
@@ -625,7 +625,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
var/list/tail_styles = pref.get_available_styles(global.tail_styles_list)
var/datum/sprite_accessory/tail/tail = tail_styles[pref.tail_style]
. += "<b>Tail</b><br>"
. += span_bold("Tail") + "<br>"
if(istype(tail))
. += " Style: <a href='?src=\ref[src];tail_style=1'>[tail.name]</a><br>"
if(tail.do_colouration)
@@ -639,7 +639,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
var/list/wing_styles = pref.get_available_styles(global.wing_styles_list)
var/datum/sprite_accessory/wing/wings = wing_styles[pref.wing_style]
. += "<b>Wing</b><br>"
. += span_bold("Wing") + "<br>"
if(istype(wings))
. += " Style: <a href='?src=\ref[src];wing_style=1'>[wings.name]</a><br>"
if(wings.do_colouration)
@@ -658,8 +658,8 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
. += "</table>"
. += "<br>"
. += "<b>Allow Synth markings:</b> <a href='?src=\ref[src];synth_markings=1'><b>[pref.synth_markings ? "Yes" : "No"]</b></a><br>"
. += "<b>Allow Synth color:</b> <a href='?src=\ref[src];synth_color=1'><b>[pref.synth_color ? "Yes" : "No"]</b></a><br>"
. += span_bold("Allow Synth markings:") + " <a href='?src=\ref[src];synth_markings=1'><b>[pref.synth_markings ? "Yes" : "No"]</b></a><br>"
. += span_bold("Allow Synth color:") + " <a href='?src=\ref[src];synth_color=1'><b>[pref.synth_color ? "Yes" : "No"]</b></a><br>"
if(pref.synth_color)
. += "<a href='?src=\ref[src];synth2_color=1'>Change Color</a> [color_square(pref.r_synth, pref.g_synth, pref.b_synth)]"
@@ -1368,7 +1368,7 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O
if("preview" in cached_icon_states(current_species.icobase))
usr << browse_rsc(icon(current_species.icobase,"preview"), "species_preview_[current_species.name].png")
dat += "<img src='species_preview_[current_species.name].png' width='64px' height='64px'><br/><br/>"
dat += "<b>Language:</b> [current_species.species_language]<br/>"
dat += span_bold("Language:") + " [current_species.species_language]<br/>"
dat += "<small>"
if(current_species.spawn_flags & SPECIES_CAN_JOIN)
switch(current_species.rarity_value)
@@ -113,7 +113,7 @@ var/global/list/valid_ringtones = list(
/datum/category_item/player_setup_item/general/equipment/content()
. = list()
. += "<b>Equipment:</b><br>"
. += span_bold("Equipment:") + "<br>"
for(var/datum/category_group/underwear/UWC in global_underwear.categories)
var/item_name = pref.all_underwear[UWC.name] ? pref.all_underwear[UWC.name] : "None"
. += "[UWC.name]: <a href='?src=\ref[src];change_underwear=[UWC.name]'><b>[item_name]</b></a>"
@@ -44,7 +44,7 @@
character.religion = pref.religion
/datum/category_item/player_setup_item/general/background/content(var/mob/user)
. += "<b>Background Information</b><br>"
. += span_bold("Background Information") + "<br>"
. += "Economic Status: <a href='?src=\ref[src];econ_status=1'>[pref.economic_status]</a><br/>"
. += "Home: <a href='?src=\ref[src];home_system=1'>[pref.home_system]</a><br/>"
. += "Birthplace: <a href='?src=\ref[src];birthplace=1'>[pref.birthplace]</a><br/>"
@@ -54,7 +54,7 @@
. += "<br/><b>Records</b>:<br/>"
if(jobban_isbanned(user, "Records"))
. += "<span class='danger'>You are banned from using character records.</span><br>"
. += span_danger("You are banned from using character records.") + "<br>"
else
. += "Medical Records:<br>"
. += "<a href='?src=\ref[src];set_medical_records=1'>[TextPreview(pref.med_record,40)]</a><br>"
@@ -54,7 +54,7 @@
character.custom_link = pref.custom_link
/datum/category_item/player_setup_item/general/flavor/content(var/mob/user)
. += "<b>Flavor:</b><br>"
. += span_bold("Flavor:") + "<br>"
. += "<a href='?src=\ref[src];flavor_text=open'>Set Flavor Text</a><br/>"
. += "<a href='?src=\ref[src];flavour_text_robot=open'>Set Robot Flavor Text</a><br/>"
. += "<a href='?src=\ref[src];custom_link=1'>Set Custom Link</a><br/>"
@@ -91,7 +91,7 @@
var/new_link = strip_html_simple(tgui_input_text(usr, "Enter a link to add on to your examine text! This should be a related image link/gallery, or things like your F-list. This is not the place for memes.", "Custom Link" , html_decode(pref.custom_link), max_length = 100, encode = TRUE, prevent_enter = TRUE))
if(new_link && CanUseTopic(usr))
if(length(new_link) > 100)
to_chat(usr, "<span class = 'warning'>Your entry is too long, it must be 100 characters or less.</span>")
to_chat(usr, span_warning("Your entry is too long, it must be 100 characters or less."))
return
pref.custom_link = new_link
log_admin("[usr]/[usr.ckey] set their custom link to [pref.custom_link]")
@@ -101,7 +101,7 @@
/datum/category_item/player_setup_item/general/flavor/proc/SetFlavorText(mob/user)
var/HTML = "<body>"
HTML += "<tt><center>"
HTML += "<b>Set Flavor Text</b> <hr />"
HTML += span_bold("Set Flavor Text") + " <hr />"
HTML += "Note: This is not *literal* flavor of your character. This is visual description of what they look like. <hr />"
HTML += "<br></center>"
HTML += "<a href='?src=\ref[src];flavor_text=general'>General:</a> "
@@ -139,7 +139,7 @@
/datum/category_item/player_setup_item/general/flavor/proc/SetFlavourTextRobot(mob/user)
var/HTML = "<body>"
HTML += "<tt><center>"
HTML += "<b>Set Robot Flavour Text</b> <hr />"
HTML += span_bold("Set Robot Flavour Text") + " <hr />"
HTML += "<br></center>"
HTML += "<a href='?src=\ref[src];flavour_text_robot=Default'>Default:</a> "
HTML += TextPreview(pref.flavour_texts_robot["Default"])
@@ -57,24 +57,24 @@
pref.chat_timestamp = sanitize_integer(pref.chat_timestamp, 0, 1, initial(pref.chat_timestamp))
/datum/category_item/player_setup_item/player_global/ui/content(var/mob/user)
. = "<b>UI Style:</b> <a href='?src=\ref[src];select_style=1'><b>[pref.UI_style]</b></a><br>"
. += "<b>Custom UI</b> (recommended for White UI):<br>"
. = span_bold("UI Style:") + " <a href='?src=\ref[src];select_style=1'><b>[pref.UI_style]</b></a><br>"
. += span_bold("Custom UI") + " (recommended for White UI):<br>"
. += "-Color: <a href='?src=\ref[src];select_color=1'><b>[pref.UI_style_color]</b></a> [color_square(hex = pref.UI_style_color)] <a href='?src=\ref[src];reset=ui'>reset</a><br>"
. += "-Alpha(transparency): <a href='?src=\ref[src];select_alpha=1'><b>[pref.UI_style_alpha]</b></a> <a href='?src=\ref[src];reset=alpha'>reset</a><br>"
. += "<b>Tooltip Style:</b> <a href='?src=\ref[src];select_tooltip_style=1'><b>[pref.tooltipstyle]</b></a><br>"
. += "<b>Client FPS:</b> <a href='?src=\ref[src];select_client_fps=1'><b>[pref.client_fps]</b></a><br>"
. += "<b>Random Ambience Frequency:</b> <a href='?src=\ref[src];select_ambience_freq=1'><b>[pref.ambience_freq]</b></a><br>"
. += "<b>Ambience Chance:</b> <a href='?src=\ref[src];select_ambience_chance=1'><b>[pref.ambience_chance]</b></a><br>"
. += "<b>TGUI Window Mode:</b> <a href='?src=\ref[src];tgui_fancy=1'><b>[(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]</b></a><br>"
. += "<b>TGUI Window Placement:</b> <a href='?src=\ref[src];tgui_lock=1'><b>[(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]</b></a><br>"
. += "<b>TGUI Input Framework:</b> <a href='?src=\ref[src];tgui_input_mode=1'><b>[(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += "<b>TGUI Large Buttons:</b> <a href='?src=\ref[src];tgui_large_buttons=1'><b>[(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]</b></a><br>"
. += "<b>TGUI Swapped Buttons:</b> <a href='?src=\ref[src];tgui_swapped_buttons=1'><b>[(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += "<b>Obfuscate Ckey:</b> <a href='?src=\ref[src];obfuscate_key=1'><b>[(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += "<b>Obfuscate Job:</b> <a href='?src=\ref[src];obfuscate_job=1'><b>[(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += "<b>Chat Timestamps:</b> <a href='?src=\ref[src];chat_timestamps=1'><b>[(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += span_bold("Tooltip Style:") + " <a href='?src=\ref[src];select_tooltip_style=1'><b>[pref.tooltipstyle]</b></a><br>"
. += span_bold("Client FPS:") + " <a href='?src=\ref[src];select_client_fps=1'><b>[pref.client_fps]</b></a><br>"
. += span_bold("Random Ambience Frequency:") + " <a href='?src=\ref[src];select_ambience_freq=1'><b>[pref.ambience_freq]</b></a><br>"
. += span_bold("Ambience Chance:") + " <a href='?src=\ref[src];select_ambience_chance=1'><b>[pref.ambience_chance]</b></a><br>"
. += span_bold("TGUI Window Mode:") + " <a href='?src=\ref[src];tgui_fancy=1'><b>[(pref.tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]</b></a><br>"
. += span_bold("TGUI Window Placement:") + " <a href='?src=\ref[src];tgui_lock=1'><b>[(pref.tgui_lock) ? "Primary Monitor" : "Free (default)"]</b></a><br>"
. += span_bold("TGUI Input Framework:") + " <a href='?src=\ref[src];tgui_input_mode=1'><b>[(pref.tgui_input_mode) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += span_bold("TGUI Large Buttons:") + " <a href='?src=\ref[src];tgui_large_buttons=1'><b>[(pref.tgui_large_buttons) ? "Enabled (default)" : "Disabled"]</b></a><br>"
. += span_bold("TGUI Swapped Buttons:") + " <a href='?src=\ref[src];tgui_swapped_buttons=1'><b>[(pref.tgui_swapped_buttons) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += span_bold("Obfuscate Ckey:") + " <a href='?src=\ref[src];obfuscate_key=1'><b>[(pref.obfuscate_key) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += span_bold("Obfuscate Job:") + " <a href='?src=\ref[src];obfuscate_job=1'><b>[(pref.obfuscate_job) ? "Enabled" : "Disabled (default)"]</b></a><br>"
. += span_bold("Chat Timestamps:") + " <a href='?src=\ref[src];chat_timestamps=1'><b>[(pref.chat_timestamp) ? "Enabled" : "Disabled (default)"]</b></a><br>"
if(can_select_ooc_color(user))
. += "<b>OOC Color:</b>"
. += span_bold("OOC Color:")
if(pref.ooccolor == initial(pref.ooccolor))
. += "<a href='?src=\ref[src];select_ooc_color=1'><b>Using Default</b></a><br>"
else
@@ -28,7 +28,7 @@
candidate.savefile_save(preference_mob())
/datum/category_item/player_setup_item/player_global/pai/content(var/mob/user)
. += "<b>pAI:</b><br>"
. += span_bold("pAI:") + "<br>"
if(!candidate)
log_debug("[user] pAI prefs have a null candidate var.")
return .
@@ -15,7 +15,7 @@
pref.ignored_players = list()
/datum/category_item/player_setup_item/player_global/ooc/content(var/mob/user)
. += "<b>OOC:</b><br>"
. += span_bold("OOC:") + "<br>"
. += "Ignored Players<br>"
for(var/ignored_player in pref.ignored_players)
. += "[ignored_player] (<a href='?src=\ref[src];unignore_player=[ignored_player]'>Unignore</a>)<br>"
@@ -156,7 +156,7 @@ var/list/gear_datums = list()
category_cost += G.cost
if(category == current_tab)
. += " <span class='linkOn'>[category] - [category_cost]</span> "
. += " " + span_linkOn("[category] - [category_cost]") + " "
else
if(category_cost)
. += " <a href='?src=\ref[src];select_category=[category]'><font color = '#E67300'>[category] - [category_cost]</font></a> "
@@ -70,7 +70,7 @@
. = list()
. += "<tt><center>"
. += "<b>Choose occupation chances</b><br>Unavailable occupations are crossed out.<br>"
. += span_bold("Choose occupation chances") + "<br>Unavailable occupations are crossed out.<br>"
. += "<script type='text/javascript'>function setJobPrefRedirect(level, rank) { window.location.href='?src=\ref[src];level=' + level + ';set_job=' + encodeURIComponent(rank); return false; }</script>"
. += "<table width='100%' cellpadding='1' cellspacing='0'><tr><td width='20%' valign='top'>" // Table within a table for alignment, also allows you to easily add more columns.
. += "<table width='100%' cellpadding='1' cellspacing='0'>"
@@ -158,7 +158,7 @@
. += "<font color=grey>[rank]</font></a></td><td></td></tr>"
continue
if((rank in SSjob.get_job_titles_in_department(DEPARTMENT_COMMAND) ) || (rank == JOB_AI))//Bold head jobs
. += "<b>[rank]</b></a>"
. += span_bold("[rank]") + "</a>"
else
. += "[rank]</a>"
@@ -210,11 +210,11 @@
switch(pref.alternate_option)
if(GET_RANDOM_JOB)
. += "<u><a href='?src=\ref[src];job_alternative=1'>Get random job if preferences unavailable</a></u>"
. += span_underline("<a href='?src=\ref[src];job_alternative=1'>Get random job if preferences unavailable</a>")
if(BE_ASSISTANT)
. += "<u><a href='?src=\ref[src];job_alternative=1'>Be assistant if preference unavailable</a></u>"
. += span_underline("<a href='?src=\ref[src];job_alternative=1'>Be assistant if preference unavailable</a>")
if(RETURN_TO_LOBBY)
. += "<u><a href='?src=\ref[src];job_alternative=1'>Return to lobby if preference unavailable</a></u>"
. += span_underline("<a href='?src=\ref[src];job_alternative=1'>Return to lobby if preference unavailable</a>")
. += "<a href='?src=\ref[src];reset_jobs=1'>\[Reset\]</a></center>"
. += "</tt>"
@@ -252,11 +252,11 @@
dat += "<p style='background-color: [job.selection_color]'><br><br><p>"
if(job.alt_titles)
dat += "<i><b>Alternate titles:</b> [english_list(job.alt_titles)].</i>"
dat += span_italics(span_bold("Alternate titles:") + " [english_list(job.alt_titles)].")
send_rsc(user, job.get_job_icon(), "job[ckey(rank)].png")
dat += "<img src=job[ckey(rank)].png width=96 height=96 style='float:left;'>"
if(job.departments)
dat += "<b>Departments:</b> [english_list(job.departments)]."
dat += span_bold("Departments:") + " [english_list(job.departments)]."
if(LAZYLEN(job.departments_managed))
dat += "You manage these departments: [english_list(job.departments_managed)]"
@@ -25,7 +25,7 @@
/datum/category_item/player_setup_item/skills/content()
. = list()
. += "<b>Select your Skills</b><br>"
. += span_bold("Select your Skills") + "<br>"
. += "Current skill level: <b>[pref.GetSkillClass(pref.used_skillpoints)]</b> ([pref.used_skillpoints])<br>"
. += "<a href='?src=\ref[src];preconfigured=1'>Use preconfigured skillset</a><br>"
. += "<table>"
@@ -50,13 +50,13 @@
/datum/category_item/player_setup_item/proc/skill_to_button(var/skill, var/level_name, var/current_level, var/selection_level)
if(current_level == selection_level)
return "<th><span class='linkOn'>[level_name]</span></th>"
return "<th>" + span_linkOn("[level_name]") + "</th>"
return "<th><a href='?src=\ref[src];setskill=\ref[skill];newvalue=[selection_level]'>[level_name]</a></th>"
/datum/category_item/player_setup_item/skills/OnTopic(href, href_list, user)
if(href_list["skillinfo"])
var/datum/skill/S = locate(href_list["skillinfo"])
var/HTML = "<b>[S.name]</b><br>[S.desc]"
var/HTML = span_bold("[S.name]") + "<br>[S.desc]"
user << browse(HTML, "window=\ref[user]skillinfo")
return TOPIC_HANDLED
@@ -58,7 +58,7 @@ var/list/trait_categories = list() // The categories available for the trait men
. += " |"
if(category == current_tab)
. += " <span class='linkOn'>[category]</span> "
. += " " + span_linkOn("[category]") + " "
else
. += " <a href='?src=\ref[src];select_category=[category]'>[category]</a> "
. += "</center></td></tr>"
@@ -29,7 +29,7 @@
pref.volume_channels["[channel]"] = clamp(pref.volume_channels["[channel]"], 0, 2)
/datum/category_item/player_setup_item/volume_sliders/volume/content(var/mob/user)
. += "<b>Volume Settings</b><br>"
. += span_bold("Volume Settings") + "<br>"
for(var/channel in pref.volume_channels)
. += "[channel]: <a href='?src=\ref[src];change_volume=[channel];'><b>[pref.volume_channels[channel] * 100]%</b></a><br>"
. += "<br>"
@@ -19,9 +19,9 @@
pref.media_player = sanitize_inlist(pref.media_player, list(0, 1, 2), initial(pref.media_player))
/datum/category_item/player_setup_item/volume_sliders/media/content(var/mob/user)
. += "<b>Jukebox Volume:</b>"
. += span_bold("Jukebox Volume:")
. += "<a href='?src=\ref[src];change_media_volume=1'><b>[round(pref.media_volume * 100)]%</b></a><br>"
. += "<b>Media Player Type:</b> Depending on you operating system, one of these might work better. "
. += span_bold("Media Player Type:") + " Depending on you operating system, one of these might work better. "
. += "Use HTML5 if it works for you. If neither HTML5 nor WMP work, you'll have to fall back to using VLC, "
. += "but this requires you have the VLC client installed on your comptuer."
. += "Try the others if you want but you'll probably just get no music.<br>"
@@ -101,17 +101,17 @@
/datum/category_item/player_setup_item/vore/size/content(var/mob/user)
. += "<br>"
. += "<b>Scale:</b> <a href='?src=\ref[src];size_multiplier=1'>[round(pref.size_multiplier*100)]%</a><br>"
. += "<b>Scaled Appearance:</b> <a [pref.fuzzy ? "" : ""] href='?src=\ref[src];toggle_fuzzy=1'><b>[pref.fuzzy ? "Fuzzy" : "Sharp"]</b></a><br>"
. += "<b>Scaling Center:</b> <a [pref.offset_override ? "" : ""] href='?src=\ref[src];toggle_offset_override=1'><b>[pref.offset_override ? "Odd" : "Even"]</b></a><br>"
. += "<b>Voice Frequency:</b> <a href='?src=\ref[src];voice_freq=1'>[pref.voice_freq]</a><br>"
. += "<b>Voice Sounds:</b> <a href='?src=\ref[src];voice_sounds_list=1'>[pref.voice_sound]</a><br>"
. += span_bold("Scale:") + " <a href='?src=\ref[src];size_multiplier=1'>[round(pref.size_multiplier*100)]%</a><br>"
. += span_bold("Scaled Appearance:") + " <a [pref.fuzzy ? "" : ""] href='?src=\ref[src];toggle_fuzzy=1'><b>[pref.fuzzy ? "Fuzzy" : "Sharp"]</b></a><br>"
. += span_bold("Scaling Center:") + " <a [pref.offset_override ? "" : ""] href='?src=\ref[src];toggle_offset_override=1'><b>[pref.offset_override ? "Odd" : "Even"]</b></a><br>"
. += span_bold("Voice Frequency:") + " <a href='?src=\ref[src];voice_freq=1'>[pref.voice_freq]</a><br>"
. += span_bold("Voice Sounds:") + " <a href='?src=\ref[src];voice_sounds_list=1'>[pref.voice_sound]</a><br>"
. += "<a href='?src=\ref[src];voice_test=1'><b>Test Selected Voice</b></a><br>"
. += "<b>Custom Speech Bubble:</b> <a href='?src=\ref[src];customize_speech_bubble=1'>[pref.custom_speech_bubble]</a><br>"
. += span_bold("Custom Speech Bubble:") + " <a href='?src=\ref[src];customize_speech_bubble=1'>[pref.custom_speech_bubble]</a><br>"
. += "<br>"
. += "<b>Relative Weight:</b> <a href='?src=\ref[src];weight=1'>[pref.weight_vr]</a><br>"
. += "<b>Weight Gain Rate:</b> <a href='?src=\ref[src];weight_gain=1'>[pref.weight_gain]</a><br>"
. += "<b>Weight Loss Rate:</b> <a href='?src=\ref[src];weight_loss=1'>[pref.weight_loss]</a><br>"
. += span_bold("Relative Weight:") + " <a href='?src=\ref[src];weight=1'>[pref.weight_vr]</a><br>"
. += span_bold("Weight Gain Rate:") + " <a href='?src=\ref[src];weight_gain=1'>[pref.weight_gain]</a><br>"
. += span_bold("Weight Loss Rate:") + " <a href='?src=\ref[src];weight_loss=1'>[pref.weight_loss]</a><br>"
/datum/category_item/player_setup_item/vore/size/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["size_multiplier"])
@@ -44,7 +44,7 @@
/datum/category_item/player_setup_item/vore/egg/content(var/mob/user)
. += "<br>"
. += " Egg Type: <a href='?src=\ref[src];vore_egg_type=1'>[pref.vore_egg_type]</a><br>"
. += "<b>Autohiss Default Setting:</b> <a href='?src=\ref[src];autohiss=1'>[pref.autohiss]</a><br>" // VOREStation Add
. += span_bold("Autohiss Default Setting:") + " <a href='?src=\ref[src];autohiss=1'>[pref.autohiss]</a><br>" // VOREStation Add
/datum/category_item/player_setup_item/vore/egg/OnTopic(var/href, var/list/href_list, var/mob/user)
if(!CanUseTopic(user))
@@ -42,9 +42,9 @@
/datum/category_item/player_setup_item/vore/resleeve/content(var/mob/user)
. += "<br>"
. += "<b>Start With Body Scan:</b> <a [pref.resleeve_scan ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_resleeve_scan=1'><b>[pref.resleeve_scan ? "Yes" : "No"]</b></a><br>"
. += "<b>Start With Mind Scan:</b> <a [pref.mind_scan ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_mind_scan=1'><b>[pref.mind_scan ? "Yes" : "No"]</b></a><br>"
. += "<b>Prevent Body Impersonation:</b> <a [pref.resleeve_lock ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_resleeve_lock=1'><b>[pref.resleeve_lock ? "Yes" : "No"]</b></a><br>"
. += span_bold("Start With Body Scan:") + " <a [pref.resleeve_scan ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_resleeve_scan=1'><b>[pref.resleeve_scan ? "Yes" : "No"]</b></a><br>"
. += span_bold("Start With Mind Scan:") + " <a [pref.mind_scan ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_mind_scan=1'><b>[pref.mind_scan ? "Yes" : "No"]</b></a><br>"
. += span_bold("Prevent Body Impersonation:") + " <a [pref.resleeve_lock ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_resleeve_lock=1'><b>[pref.resleeve_lock ? "Yes" : "No"]</b></a><br>"
/datum/category_item/player_setup_item/vore/resleeve/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["toggle_resleeve_lock"])
@@ -19,7 +19,7 @@
/datum/category_item/player_setup_item/vore/persistence/content(var/mob/user)
. = list()
. += "<b>Round-to-Round Persistence</b><br>"
. += span_bold("Round-to-Round Persistence") + "<br>"
. += "<table>"
. += "<tr><td title=\"Set spawn location based on where you cryo'd out.\">Save Spawn Location: </td>"
@@ -47,9 +47,9 @@
/datum/category_item/player_setup_item/vore/persistence/proc/make_yesno(var/bit)
if(pref.persistence_settings & bit)
return "<td><span class='linkOn'><b>Yes</b></span></td> <td><a href='?src=\ref[src];toggle_off=[bit]'>No</a></td>"
return "<td>" + span_linkOn(span_bold("Yes")) + "</td> <td><a href='?src=\ref[src];toggle_off=[bit]'>No</a></td>"
else
return "<td><a href='?src=\ref[src];toggle_on=[bit]'>Yes</a></td> <td><span class='linkOn'><b>No</b></span></td>"
return "<td><a href='?src=\ref[src];toggle_on=[bit]'>Yes</a></td> <td>" + span_linkOn(span_bold("No")) + "</td>"
/datum/category_item/player_setup_item/vore/persistence/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["toggle_on"])
@@ -27,8 +27,8 @@
/datum/category_item/player_setup_item/vore/vantag/content(var/mob/user)
. += "<br>"
. += "<b>Event Volunteer:</b> <a [pref.vantag_volunteer ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_vantag_volunteer=1'><b>[pref.vantag_volunteer ? "Yes" : "No"]</b></a><br>"
. += "<b>Event Pref:</b> <a href='?src=\ref[src];change_vantag=1'><b>[vantag_choices_list[pref.vantag_preference]]</b></a><br>"
. += span_bold("Event Volunteer:") + " <a [pref.vantag_volunteer ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_vantag_volunteer=1'>" + span_bold("[pref.vantag_volunteer ? "Yes" : "No"]") + "</a><br>"
. += span_bold("Event Pref:") + " <a href='?src=\ref[src];change_vantag=1'>" + span_bold("[vantag_choices_list[pref.vantag_preference]]") + "</a><br>"
/datum/category_item/player_setup_item/vore/vantag/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["toggle_vantag_volunteer"])
@@ -267,12 +267,12 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s
log_game("TRAITS [pref.client_ckey]/([character]) with: [english_traits]") //Terrible 'fake' key_name()... but they aren't in the same entity yet
/datum/category_item/player_setup_item/vore/traits/content(var/mob/user)
. += "<b>Custom Species Name:</b> "
. += span_bold("Custom Species Name:") + " "
. += "<a href='?src=\ref[src];custom_species=1'>[pref.custom_species ? pref.custom_species : "-Input Name-"]</a><br>"
var/datum/species/selected_species = GLOB.all_species[pref.species]
if(selected_species.selects_bodytype)
. += "<b>Icon Base: </b> "
. += span_bold("Icon Base:") + " "
. += "<a href='?src=\ref[src];custom_base=1'>[pref.custom_base ? pref.custom_base : "Human"]</a><br>"
var/traits_left = pref.max_traits
@@ -284,10 +284,10 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s
points_left -= traits_costs[T]
if(T in pref.pos_traits)
traits_left--
. += "<b>Traits Left:</b> [traits_left]<br>"
. += "<b>Points Left:</b> [points_left]<br>"
. += span_bold("Traits Left:") + " [traits_left]<br>"
. += span_bold("Points Left:") + " [points_left]<br>"
if(points_left < 0 || traits_left < 0 || (!pref.custom_species && pref.species == SPECIES_CUSTOM))
. += "<span style='color:red;'><b>^ Fix things! ^</b></span><br>"
. += span_red(span_bold("^ Fix things! ^")) + "<br>"
. += "<a href='?src=\ref[src];add_trait=[POSITIVE_MODE]'>Positive Trait +</a><br>"
. += "<ul>"
@@ -310,34 +310,34 @@ var/global/list/valid_bloodreagents = list("default","iron","copper","phoron","s
. += "<li>- <a href='?src=\ref[src];clicked_neg_trait=[T]'>[trait.name] ([trait.cost])</a> [get_html_for_trait(trait, pref.neg_traits[T])]</li>"
. += "</ul>"
. += "<b>Blood Color: </b>" //People that want to use a certain species to have that species traits (xenochimera/promethean/spider) should be able to set their own blood color.
. += span_bold("Blood Color: ") //People that want to use a certain species to have that species traits (xenochimera/promethean/spider) should be able to set their own blood color.
. += "<a href='?src=\ref[src];blood_color=1'>Set Color <font color='[pref.blood_color]'>&#9899;</font></a>"
. += "<a href='?src=\ref[src];blood_reset=1'>R</a><br>"
. += "<b>Blood Reagent: </b>" //Wanna be copper-based? Go ahead.
. += span_bold("Blood Reagent: ") //Wanna be copper-based? Go ahead.
. += "<a href='?src=\ref[src];blood_reagents=1'>[pref.blood_reagents]</a><br>"
. += "<br>"
. += "<b>Custom Say: </b>"
. += span_bold("Custom Say: ")
. += "<a href='?src=\ref[src];custom_say=1'>Set Say Verb</a>"
. += "(<a href='?src=\ref[src];reset_say=1'>Reset</A>)"
. += "<br>"
. += "<b>Custom Whisper: </b>"
. += span_bold("Custom Whisper: ")
. += "<a href='?src=\ref[src];custom_whisper=1'>Set Whisper Verb</a>"
. += "(<a href='?src=\ref[src];reset_whisper=1'>Reset</A>)"
. += "<br>"
. += "<b>Custom Ask: </b>"
. += span_bold("Custom Ask: ")
. += "<a href='?src=\ref[src];custom_ask=1'>Set Ask Verb</a>"
. += "(<a href='?src=\ref[src];reset_ask=1'>Reset</A>)"
. += "<br>"
. += "<b>Custom Exclaim: </b>"
. += span_bold("Custom Exclaim: ")
. += "<a href='?src=\ref[src];custom_exclaim=1'>Set Exclaim Verb</a>"
. += "(<a href='?src=\ref[src];reset_exclaim=1'>Reset</A>)"
. += "<br>"
. += "<b>Custom Heat Discomfort: </b>"
. += span_bold("Custom Heat Discomfort: ")
. += "<a href='?src=\ref[src];custom_heat=1'>Set Heat Messages</a>"
. += "(<a href='?src=\ref[src];reset_heat=1'>Reset</A>)"
. += "<br>"
. += "<b>Custom Cold Discomfort: </b>"
. += span_bold("Custom Cold Discomfort: ")
. += "<a href='?src=\ref[src];custom_cold=1'>Set Cold Messages</a>"
. += "(<a href='?src=\ref[src];reset_cold=1'>Reset</A>)"
. += "<br>"
@@ -57,4 +57,4 @@
new pref.nif_path(character, pref.nif_durability, pref.nif_savedata)
/datum/category_item/player_setup_item/vore/nif/content(var/mob/user)
. += "<b>NIF:</b> [ispath(pref.nif_path) ? "Present" : "None"]"
. += span_bold("NIF:") + " [ispath(pref.nif_path) ? "Present" : "None"]"
@@ -45,15 +45,15 @@
/datum/category_item/player_setup_item/vore/misc/content(var/mob/user)
. += "<br>"
. += "<b>Appear in Character Directory:</b> <a [pref.show_in_directory ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_show_in_directory=1'><b>[pref.show_in_directory ? "Yes" : "No"]</b></a><br>"
. += "<b>Character Directory Vore Tag:</b> <a href='?src=\ref[src];directory_tag=1'><b>[pref.directory_tag]</b></a><br>"
. += "<b>Character Directory ERP Tag:</b> <a href='?src=\ref[src];directory_erptag=1'><b>[pref.directory_erptag]</b></a><br>"
. += "<b>Character Directory Advertisement:</b> <a href='?src=\ref[src];directory_ad=1'><b>Set Directory Ad</b></a><br>"
. += "<b>Suit Sensors Preference:</b> <a [pref.sensorpref ? "" : ""] href='?src=\ref[src];toggle_sensor_setting=1'><b>[sensorpreflist[pref.sensorpref]]</b></a><br>"
. += "<b>Capture Crystal Preference:</b> <a [pref.capture_crystal ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_capture_crystal=1'><b>[pref.capture_crystal ? "Yes" : "No"]</b></a><br>"
. += "<b>Spawn With Backup Implant:</b> <a [pref.auto_backup_implant ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_implant=1'><b>[pref.auto_backup_implant ? "Yes" : "No"]</b></a><br>"
. += "<b>Allow petting as robot:</b> <a [pref.borg_petting ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_borg_petting=1'><b>[pref.borg_petting ? "Yes" : "No"]</b></a><br>"
. += "<b>Enable Stomach Sprites:</b> <a [pref.stomach_vision ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_stomach_vision=1'><b>[pref.stomach_vision ? "Yes" : "No"]</b></a><br>"
. += span_bold("Appear in Character Directory:") + " <a [pref.show_in_directory ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_show_in_directory=1'><b>[pref.show_in_directory ? "Yes" : "No"]</b></a><br>"
. += span_bold("Character Directory Vore Tag:") + " <a href='?src=\ref[src];directory_tag=1'><b>[pref.directory_tag]</b></a><br>"
. += span_bold("Character Directory ERP Tag:") + " <a href='?src=\ref[src];directory_erptag=1'><b>[pref.directory_erptag]</b></a><br>"
. += span_bold("Character Directory Advertisement:") + " <a href='?src=\ref[src];directory_ad=1'><b>Set Directory Ad</b></a><br>"
. += span_bold("Suit Sensors Preference:") + " <a [pref.sensorpref ? "" : ""] href='?src=\ref[src];toggle_sensor_setting=1'><b>[sensorpreflist[pref.sensorpref]]</b></a><br>"
. += span_bold("Capture Crystal Preference:") + " <a [pref.capture_crystal ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_capture_crystal=1'><b>[pref.capture_crystal ? "Yes" : "No"]</b></a><br>"
. += span_bold("Spawn With Backup Implant:") + " <a [pref.auto_backup_implant ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_implant=1'><b>[pref.auto_backup_implant ? "Yes" : "No"]</b></a><br>"
. += span_bold("Allow petting as robot:") + " <a [pref.borg_petting ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_borg_petting=1'><b>[pref.borg_petting ? "Yes" : "No"]</b></a><br>"
. += span_bold("Enable Stomach Sprites:") + " <a [pref.stomach_vision ? "class='linkOn'" : ""] href='?src=\ref[src];toggle_stomach_vision=1'><b>[pref.stomach_vision ? "Yes" : "No"]</b></a><br>"
/datum/category_item/player_setup_item/vore/misc/OnTopic(var/href, var/list/href_list, var/mob/user)
if(href_list["toggle_show_in_directory"])
+9 -9
View File
@@ -3,7 +3,7 @@
set name = "Advanced Who"
set category = "OOC"
var/msg = "<b>Current Players:</b>\n"
var/msg = span_bold("Current Players:") + "\n"
var/list/Lines = list()
@@ -11,14 +11,14 @@
for(var/client/C in GLOB.clients)
var/entry = "<tr><td>[C.key]"
if(C.holder && C.holder.fakekey)
entry += " <i>(as [C.holder.fakekey])</i>"
entry += " " + span_italics("(as [C.holder.fakekey])")
entry += "</td><td>"
if(C.mob.real_name)
switch(C.mob.stat)
if(UNCONSCIOUS)
entry += span_darkgray("<b>Unconscious</b>") // these are literally all spans so I can apply .inverted to them because black on dark grey isn't legible
entry += span_darkgray(span_bold("Unconscious")) // these are literally all spans so I can apply .inverted to them because black on dark grey isn't legible
if(DEAD)
if(isobserver(C.mob))
@@ -26,7 +26,7 @@
if(O.started_as_observer)
entry += span_gray("Observing")
else
entry += span_black("<b>Died</b>")
entry += span_black(span_bold("Died"))
else
entry += span_green("Playing")
@@ -34,7 +34,7 @@
entry += " as [C.mob.real_name]"
else if(isnewplayer(C.mob))
entry += span_blue("<b>In lobby</b>")
entry += span_blue(span_bold("In lobby"))
entry += "</td><td>"
@@ -45,9 +45,9 @@
age = 0
if(age <= 1)
age = span_red("<b>[age]</b>")
age = span_red(span_bold("[age]"))
else if(age < 10)
age = span_orange("<b>[age]</b>")
age = span_orange(span_bold("[age]"))
entry += "Age: [age]"
entry += "</td><td>"
@@ -92,6 +92,6 @@
for(var/line in sortList(Lines))
msg += "[line]"
msg += "</table>"
msg += "<b>Total Players: [length(Lines)]</b>"
msg = span_filter_notice("" + msg + "")
msg += span_bold("Total Players: [length(Lines)]")
msg = span_filter_notice(msg)
to_chat(src, msg)
+8 -8
View File
@@ -30,17 +30,17 @@
to_chat(src, span_danger("You cannot use OOC (muted)."))
return
if(findtext(msg, "byond://") && !config.allow_byond_links)
to_chat(src, "<B>Advertising other servers is not allowed.</B>")
to_chat(src, span_bold("Advertising other servers is not allowed."))
log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]")
return
if(findtext(msg, "discord.gg") && !config.allow_discord_links)
to_chat(src, "<B>Advertising discords is not allowed.</B>")
to_chat(src, span_bold("Advertising discords is not allowed."))
log_admin("[key_name(src)] has attempted to advertise a discord server in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to advertise a discord server in OOC: [msg]")
return
if((findtext(msg, "http://") || findtext(msg, "https://")) && !config.allow_url_links)
to_chat(src, "<B>Posting external links is not allowed.</B>")
to_chat(src, span_bold("Posting external links is not allowed."))
log_admin("[key_name(src)] has attempted to post a link in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to post a link in OOC: [msg]")
return
@@ -116,17 +116,17 @@
to_chat(src, span_danger("You cannot use OOC (muted)."))
return
if(findtext(msg, "byond://") && !config.allow_byond_links)
to_chat(src, "<B>Advertising other servers is not allowed.</B>")
to_chat(src, span_bold("Advertising other servers is not allowed."))
log_admin("[key_name(src)] has attempted to advertise in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to advertise in OOC: [msg]")
return
if(findtext(msg, "discord.gg") && !config.allow_discord_links)
to_chat(src, "<B>Advertising discords is not allowed.</B>")
to_chat(src, span_bold("Advertising discords is not allowed."))
log_admin("[key_name(src)] has attempted to advertise a discord server in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to advertise a discord server in OOC: [msg]")
return
if((findtext(msg, "http://") || findtext(msg, "https://")) && !config.allow_url_links)
to_chat(src, "<B>Posting external links is not allowed.</B>")
to_chat(src, span_bold("Posting external links is not allowed."))
log_admin("[key_name(src)] has attempted to post a link in OOC: [msg]")
message_admins("[key_name_admin(src)] has attempted to post a link in OOC: [msg]")
return
@@ -181,12 +181,12 @@
if(target in GLOB.admins)
admin_stuff += "/([key])"
to_chat(target, span_looc("" + create_text_tag("looc", "LOOC:", target) + " <EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span>"))
to_chat(target, span_looc(create_text_tag("looc", "LOOC:", target) + " <EM>[display_name][admin_stuff]:</EM> " + span_message("[msg]")))
for(var/client/target in r_receivers)
var/admin_stuff = "/([key])([admin_jump_link(mob, target.holder)])"
to_chat(target, span_rlooc("" + create_text_tag("looc", "LOOC:", target) + " <span class='prefix'>(R)</span><EM>[display_name][admin_stuff]:</EM> <span class='message'>[msg]</span>"))
to_chat(target, span_rlooc(create_text_tag("rlooc", "RLOOC:", target) + " " + span_prefix("(R)") + "<EM>[display_name][admin_stuff]:</EM> " + span_message("[msg]")))
/mob/proc/get_looc_source()
return src
+15 -15
View File
@@ -2,7 +2,7 @@
set name = "Who"
set category = "OOC"
var/msg = "<b>Current Players:</b>\n"
var/msg = span_bold("Current Players:") + "\n"
var/list/Lines = list()
@@ -12,33 +12,33 @@
continue
var/entry = "\t[C.key]"
if(C.holder?.fakekey)
entry += " <i>(as [C.holder.fakekey])</i>"
entry += " " + span_italics("as [C.holder.fakekey])")
entry += " - Playing as [C.mob.real_name]"
switch(C.mob.stat)
if(UNCONSCIOUS)
entry += " - [span_darkgray("<b>Unconscious</b>")]"
entry += " - [span_darkgray(span_bold("Unconscious"))]"
if(DEAD)
if(isobserver(C.mob))
var/mob/observer/dead/O = C.mob
if(O.started_as_observer)
entry += " - [span_gray("Observing")]"
else
entry += " - [span_black("<b>DEAD</b>")]"
entry += " - [span_black(span_bold("DEAD"))]"
else
entry += " - [span_black("<b>DEAD</b>")]"
entry += " - [span_black(span_bold("DEAD"))]"
if(C.player_age != initial(C.player_age) && isnum(C.player_age)) // database is on
var/age = C.player_age
switch(age)
if(0 to 1)
age = span_red("<b>[age] days old</b>")
age = span_red(span_bold("[age] days old"))
if(1 to 10)
age = span_orange("<b>[age] days old</b>")
age = span_orange(span_bold("[age] days old"))
else
entry += " - [age] days old"
if(is_special_character(C.mob))
entry += " - [span_red("<b>Antagonist</b>")]"
entry += " - [span_red(span_bold("Antagonist"))]"
if(C.is_afk())
var/seconds = C.last_activity_seconds()
@@ -50,7 +50,7 @@
for(var/line in sortList(Lines))
msg += "[line]\n"
msg += "<b>Total Players: [length(Lines)]</b>"
msg += span_bold("Total Players: [length(Lines)]")
msg = span_filter_notice("[jointext(msg, "<br>")]")
to_chat(src,msg)
@@ -88,7 +88,7 @@
temp += "\t[C] is a [C.holder.rank]"
if(holder)
if(C.holder.fakekey)
temp += " <i>(as [C.holder.fakekey])</i>"
temp += " " + span_italics("(as [C.holder.fakekey])")
if(isobserver(C.mob))
temp += " - Observing"
@@ -111,16 +111,16 @@
if(R_EVENT)
eventMmsg += temp
msg = "<b>Current Admins ([num_admins_online]):</b>\n" + msg
msg = span_bold("Current Admins ([num_admins_online]):") + "\n" + msg
if(config.show_mods)
msg += "\n<b> Current Game Masters ([num_mods_online]):</b>\n" + modmsg
msg += "\n" + span_bold(" Current Game Masters ([num_mods_online]):") + "\n" + modmsg
if(config.show_devs)
msg += "\n<b> Current Developers ([num_devs_online]):</b>\n" + devmsg
msg += "\n" + span_bold(" Current Developers ([num_devs_online]):") + "\n" + devmsg
if(config.show_event_managers)
msg += "\n<b> Current Miscellaneous ([num_event_managers_online]):</b>\n" + eventMmsg
msg += "\n" + span_bold(" Current Miscellaneous ([num_event_managers_online]):") + "\n" + eventMmsg
var/num_mentors_online = 0
var/mmsg = ""
@@ -144,6 +144,6 @@
if(config.show_mentors)
msg += "\n<b> Current Mentors ([num_mentors_online]):</b>\n" + mmsg
msg += "\n<span class='info'>Adminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond.</span>"
msg += "\n" + span_info("Adminhelps are also sent to Discord. If no admins are available in game try anyway and an admin on Discord may see it and respond.")
to_chat(src,span_filter_notice("[jointext(msg, "<br>")]"))
+1 -1
View File
@@ -670,7 +670,7 @@
user.unEquip(I)
I.forceMove(src)
holding = I
user.visible_message("<b>\The [user]</b> shoves \the [I] into \the [src].")
user.visible_message(span_infoplain(span_bold("\The [user]") + " shoves \the [I] into \the [src]."))
verbs |= /obj/item/clothing/shoes/proc/draw_knife
update_icon()
else
+2 -2
View File
@@ -33,9 +33,9 @@
/obj/item/clothing/glasses/omnihud/examine()
. = ..()
if(ar_toggled)
. += "\n <span class='notice'>The HUD indicator reads ON.</span>"
. += "\n " + span_notice("The HUD indicator reads ON.")
else
. += "\n <span class='notice'>The HUD indicator reads OFF.</span>"
. += "\n " + span_notice("The HUD indicator reads OFF.")
/obj/item/clothing/glasses/omnihud/emp_act(var/severity)
@@ -62,7 +62,7 @@
//TODO: Make inflating gloves a thing
/*/obj/item/clothing/gloves/sterile/proc/Inflate(/mob/living/carbon/human/user)
user.visible_message("<b>\The [src]</b> expands!")
user.visible_message(span_infoplain(span_bold("\The [src]") + " expands!"))
qdel(src)*/
/obj/item/clothing/gloves/sterile/latex
+1 -1
View File
@@ -150,7 +150,7 @@
/obj/item/clothing/head/helmet/thunderdome
name = "\improper Thunderdome helmet"
desc = "<i>'Let the battle commence!'</i>"
desc = span_italics("'Let the battle commence!'")
icon_state = "thunderdome"
armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0)
cold_protection = HEAD
+1 -1
View File
@@ -110,7 +110,7 @@
name = "redcoat's hat"
icon_state = "redcoat"
item_state_slots = list(slot_r_hand_str = "pirate", slot_l_hand_str = "pirate")
desc = "<i>'I guess it's a redhead.'</i>"
desc = span_italics("'I guess it's a redhead.'")
body_parts_covered = 0
/obj/item/clothing/head/mailman
+2 -2
View File
@@ -155,11 +155,11 @@
if(cooldown < world.time - 35) // A cooldown, to stop people being jerks
if(!safety)
message = "FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT."
usr.visible_message("[usr]'s Compli-o-Nator: [span_red("<font size='4'><b>[message]</b></font>")]")
usr.visible_message(span_infoplain("[usr]'s Compli-o-Nator: " + span_red(span_huge(span_bold("[message]")))))
playsound(src, 'sound/voice/binsult.ogg', 50, 0, 4) //Future sound channel = something like SFX
cooldown = world.time
return
usr.visible_message("[usr]'s Compli-o-Nator: [span_red("<font size='4'><b>[message]</b></font>")]")
usr.visible_message(span_infoplain("[usr]'s Compli-o-Nator: " + span_red(span_huge(span_bold("[message]")))))
playsound(src, "sound/voice/complionator/[key].ogg", 50, 0, 4) //future sound channel = something like SFX
cooldown = world.time
+6 -6
View File
@@ -81,7 +81,7 @@ var/global/list/breach_burn_descriptors = list(
amount_left = 0
B.update_descriptor()
user.visible_message("<b>[user]</b> patches some of the damage on \the [src].")
user.visible_message(span_infoplain(span_bold("[user]") + " patches some of the damage on \the [src]."))
calc_breach_damage()
/obj/item/clothing/suit/space/proc/create_breaches(var/damtype, var/amount)
@@ -119,9 +119,9 @@ var/global/list/breach_burn_descriptors = list(
amount -= needs
if(existing.damtype == BRUTE)
T.visible_message("<span class = 'warning'>\The [existing.descriptor] on [src] gapes wider!</span>")
T.visible_message(span_warning("\The [existing.descriptor] on [src] gapes wider!"))
else if(existing.damtype == BURN)
T.visible_message("<span class = 'warning'>\The [existing.descriptor] on [src] widens!</span>")
T.visible_message(span_warning("\The [existing.descriptor] on [src] widens!"))
if (amount)
//Spawn a new breach.
@@ -135,9 +135,9 @@ var/global/list/breach_burn_descriptors = list(
B.holder = src
if(B.damtype == BRUTE)
T.visible_message("<span class = 'warning'>\A [B.descriptor] opens up on [src]!</span>")
T.visible_message(span_warning("\A [B.descriptor] opens up on [src]!"))
else if(B.damtype == BURN)
T.visible_message("<span class = 'warning'>\A [B.descriptor] marks the surface of [src]!</span>")
T.visible_message(span_warning("\A [B.descriptor] marks the surface of [src]!"))
calc_breach_damage()
@@ -227,4 +227,4 @@ var/global/list/breach_burn_descriptors = list(
. = ..()
if(can_breach && breaches?.len)
for(var/datum/breach/B in breaches)
. += span_red("<B>It has \a [B.descriptor].</B>")
. += span_red(span_bold("It has \a [B.descriptor]."))
@@ -54,7 +54,7 @@
to_chat(user, span_danger("Another grenade of that type will not fit into the module."))
return 0
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module."))
user.drop_from_inventory(input_device)
qdel(input_device)
accepted_item.charges++
@@ -256,7 +256,7 @@
else
var/obj/item/new_weapon = new fabrication_type()
new_weapon.forceMove(H)
to_chat(H, span_blue("<b>You quickly fabricate \a [new_weapon].</b>"))
to_chat(H, span_boldnotice("You quickly fabricate \a [new_weapon]."))
H.put_in_hands(new_weapon)
return 1
@@ -368,7 +368,7 @@
if(interfaced_with)
if(holder && holder.wearer)
to_chat(holder.wearer, "<span class = 'warning'>Your power sink retracts as the module deactivates.</span>")
to_chat(holder.wearer, span_warning("Your power sink retracts as the module deactivates."))
drain_complete()
interfaced_with = null
total_power_drained = 0
@@ -400,7 +400,7 @@
if(target.drain_power(1) <= 0)
return 0
to_chat(H, "<span class = 'danger'>You begin draining power from [target]!</span>")
to_chat(H, span_danger("You begin draining power from [target]!"))
interfaced_with = target
drain_loc = interfaced_with.loc
@@ -434,17 +434,17 @@
H.break_cloak()
if(!holder.cell)
to_chat(H, "<span class = 'danger'>Your power sink flashes an error; there is no cell in your rig.</span>")
to_chat(H, span_danger("Your power sink flashes an error; there is no cell in your rig."))
drain_complete(H)
return
if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc))
to_chat(H, "<span class = 'warning'>Your power sink retracts into its casing.</span>")
to_chat(H, span_warning("Your power sink retracts into its casing."))
drain_complete(H)
return
if(holder.cell.fully_charged())
to_chat(H, "<span class = 'warning'>Your power sink flashes an amber light; your rig cell is full.</span>")
to_chat(H, span_warning("Your power sink flashes an amber light; your rig cell is full."))
drain_complete(H)
return
@@ -453,7 +453,7 @@
var/to_drain = min(12.5*holder.cell.maxcharge, ((holder.cell.maxcharge - holder.cell.charge) / CELLRATE))
var/target_drained = interfaced_with.drain_power(0,0,to_drain)
if(target_drained <= 0)
to_chat(H, "<span class = 'danger'>Your power sink flashes a red light; there is no power left in [interfaced_with].</span>")
to_chat(H, span_danger("Your power sink flashes a red light; there is no power left in [interfaced_with]."))
drain_complete(H)
return
@@ -466,10 +466,10 @@
if(!interfaced_with)
if(M)
to_chat(M, span_blue("<b>Total power drained:</b> [round(total_power_drained*CELLRATE)] cell units."))
to_chat(M, span_notice(span_bold("Total power drained:") + " [round(total_power_drained*CELLRATE)] cell units."))
else
if(M)
to_chat(M, span_blue("<b>Total power drained from [interfaced_with]:</b> [round(total_power_drained*CELLRATE)] cell units."))
to_chat(M, span_notice(span_bold("Total power drained from [interfaced_with]:") + " [round(total_power_drained*CELLRATE)] cell units."))
interfaced_with.drain_power(0,1,0) // Damage the victim.
drain_loc = null
@@ -37,7 +37,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, span_blue("<b>You are now nearly invisible to normal detection.</b>"))
to_chat(H, span_boldnotice("You are now nearly invisible to normal detection."))
H.alpha = 5
anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null)
@@ -34,7 +34,7 @@
to_chat(user, span_danger("Another grenade of that type will not fit into the module."))
return 0
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module."))
user.drop_from_inventory(input_device)
qdel(input_device)
accepted_item.charges++
@@ -29,7 +29,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, span_blue("<b>You are now nearly invisible to normal detection.</b>"))
to_chat(H, span_boldnotice("You are now nearly invisible to normal detection."))
H.alpha = 5
anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null)
@@ -36,7 +36,7 @@
to_chat(user, span_danger("Another grenade of that type will not fit into the module."))
return 0
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module."))
user.drop_from_inventory(input_device)
qdel(input_device)
accepted_item.charges++
@@ -34,7 +34,7 @@
else
var/obj/item/new_weapon = new fabrication_type()
new_weapon.forceMove(H)
to_chat(H, span_blue("<b>You quickly fabricate \a [new_weapon].</b>"))
to_chat(H, span_boldnotice("You quickly fabricate \a [new_weapon]."))
H.put_in_hands(new_weapon)
return 1
@@ -34,7 +34,7 @@
var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet
var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves
to_chat(H, span_blue("<b>You activate your suit's powered radiation shielding.</b>"))
to_chat(H, span_boldnotice("You activate your suit's powered radiation shielding."))
stored_rad_armor = holder.armor["rad"]
if(boots)
boots.armor["rad"] = 100
@@ -117,7 +117,7 @@
stored_max_pressure = holder.max_pressure_protection
stored_max_temp = holder.max_heat_protection_temperature
to_chat(H, span_blue("<b>You activate your suit's powered atmospheric shielding.</b>"))
to_chat(H, span_boldnotice("You activate your suit's powered atmospheric shielding."))
if(boots)
boots.max_pressure_protection = INFINITY
@@ -145,7 +145,7 @@
var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet
var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves
to_chat(H, span_danger("<b>You deactivate your suit's powered atmospheric shielding.</b>"))
to_chat(H, span_boldnotice("You deactivate your suit's powered atmospheric shielding."))
if(boots)
boots.max_pressure_protection = stored_max_pressure
@@ -20,7 +20,7 @@
if(interfaced_with)
if(holder && holder.wearer)
to_chat(holder.wearer, "<span class = 'warning'>Your power sink retracts as the module deactivates.</span>")
to_chat(holder.wearer, span_warning("Your power sink retracts as the module deactivates."))
drain_complete()
interfaced_with = null
total_power_drained = 0
@@ -52,7 +52,7 @@
if(target.drain_power(1) <= 0)
return 0
to_chat(H, "<span class = 'danger'>You begin draining power from [target]!</span>")
to_chat(H, span_danger("You begin draining power from [target]!"))
interfaced_with = target
drain_loc = interfaced_with.loc
@@ -86,17 +86,17 @@
H.break_cloak()
if(!holder.cell)
to_chat(H, "<span class = 'danger'>Your power sink flashes an error; there is no cell in your rig.</span>")
to_chat(H, span_danger("Your power sink flashes an error; there is no cell in your rig."))
drain_complete(H)
return
if(!interfaced_with || !interfaced_with.Adjacent(H) || !(interfaced_with.loc == drain_loc))
to_chat(H, "<span class = 'warning'>Your power sink retracts into its casing.</span>")
to_chat(H, span_warning("Your power sink retracts into its casing."))
drain_complete(H)
return
if(holder.cell.fully_charged())
to_chat(H, "<span class = 'warning'>Your power sink flashes an amber light; your rig cell is full.</span>")
to_chat(H, span_warning("Your power sink flashes an amber light; your rig cell is full."))
drain_complete(H)
return
@@ -105,7 +105,7 @@
var/to_drain = min(12.5*holder.cell.maxcharge, ((holder.cell.maxcharge - holder.cell.charge) / CELLRATE))
var/target_drained = interfaced_with.drain_power(0,0,to_drain)
if(target_drained <= 0)
to_chat(H, "<span class = 'danger'>Your power sink flashes a red light; there is no power left in [interfaced_with].</span>")
to_chat(H, span_danger("Your power sink flashes a red light; there is no power left in [interfaced_with]."))
drain_complete(H)
return
@@ -118,10 +118,10 @@
if(!interfaced_with)
if(M)
to_chat(M, span_blue("<b>Total power drained:</b> [round(total_power_drained*CELLRATE)] cell units."))
to_chat(M, span_notice(span_bold("Total power drained:") + " [round(total_power_drained*CELLRATE)] cell units."))
else
if(M)
to_chat(M, span_blue("<b>Total power drained from [interfaced_with]:</b> [round(total_power_drained*CELLRATE)] cell units."))
to_chat(M, span_notice(span_bold("Total power drained from [interfaced_with]:") + " [round(total_power_drained*CELLRATE)] cell units."))
interfaced_with.drain_power(0,1,0) // Damage the victim.
drain_loc = null
@@ -27,7 +27,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, span_blue("<b>You activate the suit's sprint mode.</b>"))
to_chat(H, span_boldnotice("You activate the suit's sprint mode."))
holder.slowdown = initial(holder.slowdown) - sprint_speed
@@ -508,7 +508,7 @@
to_chat(user, span_danger("Another grenade of that type will not fit into the module."))
return 0
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
to_chat(user, span_boldnotice("You slot \the [input_device] into the suit module."))
user.drop_from_inventory(input_device)
qdel(input_device)
accepted_item.charges++
@@ -632,7 +632,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, span_blue("<b>You activate the suit's sprint mode.</b>"))
to_chat(H, span_boldnotice("You activate the suit's sprint mode."))
holder.slowdown = initial(holder.slowdown) - sprint_speed
+4 -4
View File
@@ -384,7 +384,7 @@
QDEL_NULL(minihud)
else
minihud = new (M.hud_used, src)
to_chat(M, span_notice("<b>Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"].</b>"))
to_chat(M, span_boldnotice("Your entire suit [canremove ? "loosens as the components relax" : "tightens around you as the components lock into place"]."))
playsound(src, 'sound/machines/rig/rigstarted.ogg', 10, FALSE)
M.client?.screen -= booting_L
qdel(booting_L)
@@ -675,7 +675,7 @@
return
if(istype(M) && (M.back == src || M.belt == src))
M.visible_message(span_notice("<b>[M] struggles into \the [src].</b>"), span_notice("<b>You struggle into \the [src].</b>"))
M.visible_message(span_boldnotice("[M] struggles into \the [src]."), span_boldnotice("You struggle into \the [src]."))
wearer = M
wearer.wearing_rig = src
update_icon()
@@ -725,7 +725,7 @@
holder = use_obj.loc
if(istype(holder))
if(use_obj && check_slot == use_obj)
to_chat(H, span_notice("<b>Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly.</b>"))
to_chat(H, span_boldnotice("Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly."))
playsound(src, 'sound/machines/rig/rigservo.ogg', 10, FALSE)
use_obj.canremove = TRUE
holder.drop_from_inventory(use_obj)
@@ -953,7 +953,7 @@
M.stop_pulling()
if(wearer.pinned.len)
to_chat(src, "<span class='notice'>Your host is pinned to a wall by [wearer.pinned[1]]</span>!")
to_chat(src, span_notice("Your host is pinned to a wall by [wearer.pinned[1]]!"))
return 0
// AIs are a bit slower than regular and ignore move intent.
@@ -223,11 +223,11 @@
if(!istype(module))
selected_module = null
to_chat(usr, span_blue("<b>Primary system is now: deselected.</b>"))
to_chat(usr, span_boldnotice("Primary system is now: deselected."))
return
selected_module = module
to_chat(usr, span_blue("<b>Primary system is now: [selected_module.interface_name].</b>"))
to_chat(usr, span_boldnotice("Primary system is now: [selected_module.interface_name]."))
/obj/item/rig/verb/toggle_module()
@@ -261,10 +261,10 @@
return
if(module.active)
to_chat(usr, span_blue("<b>You attempt to deactivate \the [module.interface_name].</b>"))
to_chat(usr, span_boldnotice("You attempt to deactivate \the [module.interface_name]."))
module.deactivate()
else
to_chat(usr, span_blue("<b>You attempt to activate \the [module.interface_name].</b>"))
to_chat(usr, span_boldnotice("You attempt to activate \the [module.interface_name]."))
module.activate()
/obj/item/rig/verb/engage_module()
@@ -298,5 +298,5 @@
if(!istype(module))
return
to_chat(usr, span_blue("<b>You attempt to engage the [module.interface_name].</b>"))
to_chat(usr, span_boldnotice("You attempt to engage the [module.interface_name]."))
module.engage()
@@ -27,7 +27,7 @@
/obj/item/clothing/head/helmet/space/void/merc/odst
name = "\improper ODST Helmet"
desc = "<i>\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"</i>"
desc = span_italics("\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"")
icon_state = "rig0-odst"
item_state = "rig0-odst"
item_state_slots = null
@@ -46,7 +46,7 @@
/obj/item/clothing/suit/space/void/merc/odst
name = "ODST Armor"
desc = "<i>\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"</i>"
desc = span_italics("\"... we are glad to plunge feet first into hell in the knowledge that we will rise.\"")
icon_state = "odst"
item_state = "odst"
item_state_slots = null
@@ -400,7 +400,7 @@
return
if(H.size_multiplier != target_size)
if(!(world.time - last_activated > 10 SECONDS))
to_chat(M, "<span class ='warning'>\The [src] flickers. It seems to be recharging.</span>")
to_chat(M, span_warning("\The [src] flickers. It seems to be recharging."))
return
last_activated = world.time
original_size = H.size_multiplier
@@ -418,7 +418,7 @@
original_size = null
H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!"))
log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.")
to_chat(M, "<span class ='warning'>\The [src] flickers. It is now recharging and will be ready again in ten seconds.</span>")
to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in ten seconds."))
s.set_up(3, 1, M)
s.start()
return
@@ -501,7 +501,7 @@
return
if(H.size_multiplier != target_size)
if(!(world.time - last_activated > 10 SECONDS))
to_chat(M, "<span class ='warning'>\The [src] flickers. It seems to be recharging.</span>")
to_chat(M, span_warning("\The [src] flickers. It seems to be recharging."))
return
last_activated = world.time
original_size = H.size_multiplier
@@ -519,7 +519,7 @@
original_size = null
H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!"))
log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.")
to_chat(M, "<span class ='warning'>\The [src] flickers. It is now recharging and will be ready again in ten seconds.</span>")
to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in ten seconds."))
s.set_up(3, 1, M)
s.start()
return
@@ -573,7 +573,7 @@
return
if(currently_shrinking == 0)
if(!(world.time - last_activated > 10 SECONDS))
to_chat(M, "<span class ='warning'>\The [src] flickers. It seems to be recharging.</span>")
to_chat(M, span_warning("\The [src] flickers. It seems to be recharging."))
return
last_activated = world.time
original_size = H.size_multiplier
@@ -593,7 +593,7 @@
currently_shrinking = 0
H.visible_message(span_warning("The space around [H] distorts as they return to their original size!"),span_notice("The space around you distorts as you return to your original size!"))
log_admin("Admin [key_name(M)]'s size was altered by a bluespace collar.")
to_chat(M, "<span class ='warning'>\The [src] flickers. It is now recharging and will be ready again in ten seconds.</span>")
to_chat(M, span_warning("\The [src] flickers. It is now recharging and will be ready again in ten seconds."))
s.set_up(3, 1, M)
s.start()
return

Some files were not shown because too many files have changed in this diff Show More