[MIRROR] remove static chat colour tags (#7635)

Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com>
Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: CHOMPStation2 <chompsation2@gmail.com>
Co-authored-by: Raeschen <rycoop29@gmail.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Aroliacue <96730930+Aroliacue@users.noreply.github.com>
Co-authored-by: Eli <fracshun@gmail.com>
Co-authored-by: tacoguy7765093 <karokaromaro@gmail.com>
Co-authored-by: Nadyr <41974248+Darlantanis@users.noreply.github.com>
Co-authored-by: TheGreatKitsune <88862343+TheGreatKitsune@users.noreply.github.com>
Co-authored-by: Missile597 <150307788+Missile597@users.noreply.github.com>
This commit is contained in:
CHOMPStation2
2024-01-29 16:45:19 -07:00
committed by GitHub
parent ad0bb36d2c
commit aab270c74f
263 changed files with 2862 additions and 2147 deletions

View File

@@ -81,6 +81,7 @@
#define span_debug_debug(str) ("<span class='debug_debug'>" + str + "</span>")
#define span_debug_trace(str) ("<span class='debug_trace'>" + str + "</span>")
#define span_white(str) ("<span class='white'>" + str + "</span>")
#define span_black(str) ("<span class='black'>" + str + "</span>")
#define span_darkgray(str) ("<span class='darkgray'>" + str + "</span>")
#define span_gray(str) ("<span class='gray'>" + str + "</span>")
@@ -88,3 +89,12 @@
#define span_orange(str) ("<span class='orange'>" + str + "</span>")
#define span_blue(str) ("<span class='blue'>" + str + "</span>")
#define span_green(str) ("<span class='green'>" + str + "</span>")
#define span_purple(str) ("<span class='purple'>" + str + "</span>")
#define span_yellow(str) ("<span class='yellow'>" + str + "</span>")
#define span_pink(str) ("<span class='pink'>" + str + "</span>")
#define span_cyan(str) ("<span class='cyan'>" + str + "</span>")
#define span_crimson(str) ("<span class='crimson'>" + str + "</span>")
#define span_maroon(str) ("<span class='maroon'>" + str + "</span>")
#define span_brown(str) ("<span class='brown'>" + str + "</span>")
#define span_lightpurple(str) ("<span class='lightpurple'>" + str + "</span>")
#define span_darkpink(str) ("<span class='lightpurple'>" + str + "</span>")

View File

@@ -39,7 +39,7 @@
var/extension = copytext(path,-4,0)
if( !fexists(path) || !(extension in valid_extensions) )
to_chat(src, "<font color='red'>Error: browse_files(): File not found/Invalid file([path]).</font>")
to_chat(src, span_red("Error: browse_files(): File not found/Invalid file([path])."))
return
return path
@@ -53,7 +53,7 @@
/client/proc/file_spam_check()
var/time_to_wait = fileaccess_timer - world.time
if(time_to_wait > 0)
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.</font>")
to_chat(src, span_red("Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds."))
return 1
fileaccess_timer = world.time + FTPDELAY
return 0

View File

@@ -122,7 +122,7 @@ Proc for attack log creation, because really why not
if(ismob(user)) //CHOMPEdit Begin
if(SSdbcore.Connect())
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Attacked [target_str]: [what_done]</font>")
user.attack_log += text("\[[time_stamp()]\] [span_red("Attacked [target_str]: [what_done]")]")
var/DBQuery/query_insert = SSdbcore.NewQuery("INSERT INTO erro_attacklog (id, time, ckey, mob, message) VALUES (null, NOW(), :t_ckey, :t_mob, :t_content)", list("t_ckey" = user.ckey, "t_mob" = user.real_name, "t_content" = "<font color='red'>Attacked [target_str]: [what_done]</font>"))
query_insert.Execute(async=use_async)
qdel(query_insert)
@@ -130,7 +130,7 @@ Proc for attack log creation, because really why not
// rustg_sql_query_async(SSdbcore.connection, "INSERT INTO erro_attacklog (id, time, ckey, mob, message) VALUES (null, NOW(), :t_ckey, :t_mob, :t_content)", json_encode(list("t_ckey" = user.ckey, "t_mob" = user.real_name, "t_content" = "<font color='red'>Attacked [target_str]: [what_done]</font>")))
if(ismob(target))
if(SSdbcore.Connect())
target.attack_log += text("\[[time_stamp()]\] <font color='orange'>Attacked by [user_str]: [what_done]</font>")
target.attack_log += text("\[[time_stamp()]\] [span_orange("Attacked by [user_str]: [what_done]")]")
var/DBQuery/query_insert = SSdbcore.NewQuery("INSERT INTO erro_attacklog (id, time, ckey, mob, message) VALUES (null, NOW(), :t_ckey, :t_mob, :t_content)", list("t_ckey" = target.ckey, "t_mob" = target.real_name, "t_content" = "<font color='orange'>Attacked by [user_str]: [what_done]</font>"))
query_insert.Execute(async=use_async)
qdel(query_insert)

View File

@@ -462,22 +462,22 @@ var/global/datum/controller/subsystem/ticker/ticker
var/turf/playerTurf = get_turf(Player)
if(emergency_shuttle.departed && emergency_shuttle.evac)
if(isNotAdminLevel(playerTurf.z))
to_chat(Player, "<span class='filter_system'><font color='blue'><b>You survived the round, but remained on [station_name()] as [Player.real_name].</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_blue("<b>You survived the round, but remained on [station_name()] as [Player.real_name].</b>")]</span>")
else
to_chat(Player, "<span class='filter_system'><font color='green'><b>You managed to survive the events on [station_name()] as [Player.real_name].</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_green("<b>You managed to survive the events on [station_name()] as [Player.real_name].</b>")]</span>")
else if(isAdminLevel(playerTurf.z))
to_chat(Player, "<span class='filter_system'><font color='green'><b>You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_green("<b>You successfully underwent crew transfer after events on [station_name()] as [Player.real_name].</b>")]</span>")
else if(issilicon(Player))
to_chat(Player, "<span class='filter_system'><font color='green'><b>You remain operational after the events on [station_name()] as [Player.real_name].</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_green("<b>You remain operational after the events on [station_name()] as [Player.real_name].</b>")]</span>")
else
to_chat(Player, "<span class='filter_system'><font color='blue'><b>You missed the crew transfer after the events on [station_name()] as [Player.real_name].</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_blue("<b>You missed the crew transfer after the events on [station_name()] as [Player.real_name].</b>")]</span>")
else
if(istype(Player,/mob/observer/dead))
var/mob/observer/dead/O = Player
if(!O.started_as_observer)
to_chat(Player, "<span class='filter_system'><font color='red'><b>You did not survive the events on [station_name()]...</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_red("<b>You did not survive the events on [station_name()]...</b>")]</span>")
else
to_chat(Player, "<span class='filter_system'><font color='red'><b>You did not survive the events on [station_name()]...</b></font></span>")
to_chat(Player, "<span class='filter_system'>[span_red("<b>You did not survive the events on [station_name()]...</b>")]</span>")
to_world("<br>")
for (var/mob/living/silicon/ai/aiPlayer in mob_list)

View File

@@ -115,7 +115,7 @@ SUBSYSTEM_DEF(vote)
else
factor = 1.4
choices["Initiate Crew Transfer"] = round(choices["Initiate Crew Transfer"] * factor)
to_world("<font color='purple'>Crew Transfer Factor: [factor]</font>")
to_world(span_purple("Crew Transfer Factor: [factor]"))
greatest_votes = max(choices["Initiate Crew Transfer"], choices["Extend the Shift"]) //VOREStation Edit
//CHOMPEdit Begin
if(!(mode == VOTE_CREW_TRANSFER))
@@ -150,7 +150,7 @@ SUBSYSTEM_DEF(vote)
if(mode == VOTE_ADD_ANTAGONIST)
antag_add_failed = 1
log_vote(text)
to_chat(world, "<font color='purple'>[text]</font>")
to_chat(world, span_purple("[text]"))
/datum/controller/subsystem/vote/proc/result()
. = announce_result()
@@ -179,7 +179,7 @@ SUBSYSTEM_DEF(vote)
if(mode == VOTE_GAMEMODE) //fire this even if the vote fails.
if(!round_progressing)
round_progressing = 1
to_world("<font color='red'><b>The round will start soon.</b></font>")
to_world(span_red("<b>The round will start soon.</b>"))
if(restart)
to_world("World restarting due to vote...")
@@ -265,14 +265,14 @@ SUBSYSTEM_DEF(vote)
log_vote(text)
to_world("<font color='purple'><b>[text]</b>\nType <b>vote</b> or click <a href='?src=\ref[src]'>here</a> to place your votes.\nYou have [config.vote_period / 10] seconds to vote.</font>")
to_world(span_purple("<b>[text]</b>\nType <b>vote</b> or click <a href='?src=\ref[src]'>here</a> to place your votes.\nYou have [config.vote_period / 10] seconds to vote."))
if(vote_type == VOTE_CREW_TRANSFER || vote_type == VOTE_GAMEMODE || vote_type == VOTE_CUSTOM)
world << sound('sound/ambience/alarm4.ogg', repeat = 0, wait = 0, volume = 50, channel = 3) //CHOMPStation Edit TFF 10/5/20 - revert to old soundtrack contrary to YW
if(mode == VOTE_GAMEMODE && round_progressing)
gamemode_vote_called = TRUE
round_progressing = 0
to_world("<font color='red'><b>Round start has been delayed.</b></font>")
to_world(span_red("<b>Round start has been delayed.</b>"))
time_remaining = round(config.vote_period / 10)
return 1
@@ -321,13 +321,13 @@ SUBSYSTEM_DEF(vote)
if(admin || config.allow_vote_restart)
. += "<a href='?src=\ref[src];vote=restart'>Restart</a>"
else
. += "<font color='grey'>Restart (Disallowed)</font>"
. += span_gray("Restart (Disallowed)")
. += "</li><li>"
if(admin || config.allow_vote_restart)
. += "<a href='?src=\ref[src];vote=crew_transfer'>Crew Transfer</a>"
else
. += "<font color='grey'>Crew Transfer (Disallowed)</font>"
. += span_gray("Crew Transfer (Disallowed)")
if(admin)
. += "\t(<a href='?src=\ref[src];[HrefToken()];vote=toggle_restart'>[config.allow_vote_restart ? "Allowed" : "Disallowed"]</a>)"
@@ -336,7 +336,7 @@ SUBSYSTEM_DEF(vote)
if(admin || config.allow_vote_mode)
. += "<a href='?src=\ref[src];vote=gamemode'>GameMode</a>"
else
. += "<font color='grey'>GameMode (Disallowed)</font>"
. += span_gray("GameMode (Disallowed)")
if(admin)
. += "\t(<a href='?src=\ref[src];[HrefToken()];vote=toggle_gamemode'>[config.allow_vote_mode ? "Allowed" : "Disallowed"]</a>)"
@@ -345,7 +345,7 @@ SUBSYSTEM_DEF(vote)
if(!antag_add_failed && config.allow_extra_antags)
. += "<a href='?src=\ref[src];vote=add_antagonist'>Add Antagonist Type</a>"
else
. += "<font color='grey'>Add Antagonist (Disallowed)</font>"
. += span_gray("Add Antagonist (Disallowed)")
. += "</li>"
if(admin)

View File

@@ -106,7 +106,7 @@ SUBSYSTEM_DEF(vote)
else
factor = 1.4
choices["Initiate Crew Transfer"] = round(choices["Initiate Crew Transfer"] * factor)
world << "<font color='#AD5AAD'>Crew Transfer Factor: [factor]</font>"
world << span_lightpurple("Crew Transfer Factor: [factor]")
greatest_votes = max(choices["Initiate Crew Transfer"], choices["Extend the Shift"]) //VOREStation Edit
. = list() // Get all options with that many votes and return them in a list
@@ -139,7 +139,7 @@ SUBSYSTEM_DEF(vote)
if(mode == VOTE_ADD_ANTAGONIST)
antag_add_failed = 1
log_vote(text)
to_chat(world, "<font color='#AD5AAD'>[text]</font>")
to_chat(world, span_lightpurple("[text]"))
/datum/controller/subsystem/vote/proc/result()
. = announce_result()
@@ -168,7 +168,7 @@ SUBSYSTEM_DEF(vote)
if(mode == VOTE_GAMEMODE) //fire this even if the vote fails.
if(!round_progressing)
round_progressing = 1
world << "<font color='red'><b>The round will start soon.</b></font>"
world << span_red("<b>The round will start soon.</b>")
if(restart)
world << "World restarting due to vote..."
@@ -254,13 +254,13 @@ SUBSYSTEM_DEF(vote)
log_vote(text)
world << "<font color='#AD5AAD'><b>[text]</b>\nType <b>vote</b> or click <a href='?src=\ref[src]'>here</a> to place your votes.\nYou have [config.vote_period / 10] seconds to vote.</font>"
world << span_lightpurple("<b>[text]</b>\nType <b>vote</b> or click <a href='?src=\ref[src]'>here</a> to place your votes.\nYou have [config.vote_period / 10] seconds to vote.")
if(vote_type == VOTE_CREW_TRANSFER || vote_type == VOTE_GAMEMODE || vote_type == VOTE_CUSTOM)
world << sound('sound/ambience/alarm4.ogg', repeat = 0, wait = 0, volume = 50, channel = 3)
if(mode == VOTE_GAMEMODE && round_progressing)
round_progressing = 0
world << "<font color='red'><b>Round start has been delayed.</b></font>"
world << span_red("<b>Round start has been delayed.</b>")
time_remaining = round(config.vote_period / 10)
return 1

View File

@@ -133,9 +133,9 @@
for(var/datum/objective/O in objectives)
out += "<b>Objective #[num]:</b> [O.explanation_text] "
if(O.completed)
out += "(<font color='green'>complete</font>)"
out += "([span_green("complete")])"
else
out += "(<font color='red'>incomplete</font>)"
out += "([span_red("incomplete")])"
out += " <a href='?src=\ref[src];[HrefToken()];obj_completed=\ref[O]'>\[toggle\]</a>"
out += " <a href='?src=\ref[src];[HrefToken()];obj_delete=\ref[O]'>\[remove\]</a><br>"
num++
@@ -409,7 +409,7 @@
else if (href_list["obj_announce"])
var/obj_count = 1
to_chat(current, "<font color='blue'>Your current objectives:</font>")
to_chat(current, span_blue("Your current objectives:"))
for(var/datum/objective/objective in objectives)
to_chat(current, "<B>Objective #[obj_count]</B>: [objective.explanation_text]")
obj_count++

View File

@@ -16,17 +16,17 @@
for(var/datum/objective/O in P.objectives)
text += print_objective(O, num)
if(O.check_completion())
text += "<font color='green'><B>Success!</B></font>"
text += span_green("<B>Success!</B>")
feedback_add_details(feedback_tag,"[O.type]|SUCCESS")
else
text += "<font color='red'>Fail.</font>"
text += span_red("Fail.")
feedback_add_details(feedback_tag,"[O.type]|FAIL")
failed = TRUE
num++
if(failed)
text += "<br><font color='red'><B>The [role_text] has failed.</B></font>"
text += "<br>" + span_red("<B>The [role_text] has failed.</B>")
else
text += "<br><font color='green'><B>The [role_text] was successful!</B></font>"
text += "<br>" + span_green("<B>The [role_text] was successful!</B>")
if(global_objectives && global_objectives.len)
text += "<BR><FONT size = 2>Their objectives were:</FONT>"
@@ -42,9 +42,9 @@
var/text = "<br><b>Objective [num]:</b> [O.explanation_text] "
if(append_success)
if(O.check_completion())
text += "<font color='green'><B>Success!</B></font>"
text += span_green("<B>Success!</B>")
else
text += "<font color='red'>Fail.</font>"
text += span_red("Fail.")
return text
/datum/antagonist/proc/print_player_lite(var/datum/mind/ply)

View File

@@ -217,7 +217,7 @@
if(!M.client && M.mind)
for(var/mob/observer/dead/ghost in player_list)
if(ghost.mind == M.mind)
to_chat(ghost, "<b><font color = #330033><font size = 3>Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned!</b> (Verbs -> Ghost -> Re-enter corpse)</font></font>")
to_chat(ghost, span_interface("<font size = 3><b>Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned!</b> (Verbs -> Ghost -> Re-enter corpse)</font>"))
break
SStgui.update_uis(src)

View File

@@ -357,9 +357,9 @@ var/list/sacrificed = list()
else if(!corpse_to_raise.client && corpse_to_raise.mind) //Don't force the dead person to come back if they don't want to.
for(var/mob/observer/dead/ghost in player_list)
if(ghost.mind == corpse_to_raise.mind)
to_chat(ghost, "<b><font color = #330033><font size = 3>The cultist [usr.real_name] is trying to \
to_chat(ghost, span_interface("<b><font size = 3>The cultist [usr.real_name] is trying to \
revive you. Return to your body if you want to be resurrected into the service of Nar'Sie!</b> \
(Verbs -> Ghost -> Re-enter corpse)</font></font>")
(Verbs -> Ghost -> Re-enter corpse)</font>"))
break
sleep(10 SECONDS)

View File

@@ -260,11 +260,11 @@ var/global/list/Holiday = list() //Holidays are lists now, so we can have more t
holidays.Add(p)
holiday_blurbs.Add("[Holiday[p]]")
var/holidays_string = english_list(holidays, nothing_text = "nothing", and_text = " and ", comma_text = ", ", final_comma_text = "" )
to_world("<font color='blue'>and...</font>")
to_world(span_blue("and..."))
to_world("<h4>Happy [holidays_string] Everybody!</h4>")
if(holiday_blurbs.len != 0)
for(var/blurb in holiday_blurbs)
to_world("<div align='center'><font color='blue'>[blurb]</font></div>")
to_world(span_blue("<div align='center'>[blurb]</div>"))
switch(Holiday) //special holidays
if("Easter")
//do easter stuff

View File

@@ -508,15 +508,15 @@ var/global/list/additional_antag_types = list()
found = 1
break
if(!found)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (<font color='#ffcc00'><b>Disconnected</b></font>)\n"
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] ([span_yellow("<b>Disconnected</b>")])\n"
if(L.ckey && L.client)
if(L.client.inactivity >= (ROUNDSTART_LOGOUT_REPORT_TIME / 2)) //Connected, but inactive (alt+tabbed or something)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (<font color='#ffcc00'><b>Connected, Inactive</b></font>)\n"
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] ([span_yellow("<b>Connected, Inactive</b>")])\n"
continue //AFK client
if(L.stat)
if(L.suiciding) //Suicider
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (<font color='red'><b>Suicide</b></font>)\n"
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] ([span_red("<b>Suicide</b>")])\n"
continue //Disconnected client
if(L.stat == UNCONSCIOUS)
msg += "<b>[L.name]</b> ([L.ckey]), the [L.job] (Dying)\n"
@@ -530,17 +530,17 @@ var/global/list/additional_antag_types = list()
if(D.mind && (D.mind.original == L || D.mind.current == L))
if(L.stat == DEAD)
if(L.suiciding) //Suicider
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<font color='red'><b>Suicide</b></font>)\n"
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] ([span_red("<b>Suicide</b>")])\n"
continue //Disconnected client
else
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (Dead)\n"
continue //Dead mob, ghost abandoned
else
if(D.can_reenter_corpse)
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<font color='red'><b>Adminghosted</b></font>)\n"
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] ([span_red("<b>Adminghosted</b>")])\n"
continue //Lolwhat
else
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] (<font color='red'><b>Ghosted</b></font>)\n"
msg += "<b>[L.name]</b> ([ckey(D.mind.key)]), the [L.job] ([span_red("<b>Ghosted</b>")])\n"
continue //Ghosted while alive
continue // CHOMPEdit: Escape infinite loop in case there's nobody connected. Shouldn't happen ever, but.

View File

@@ -14,9 +14,9 @@
name = "Rapid Core"
desc = "A core optimized for passive regeneration, however at the cost of capacity. Has a capacity of 7,000 units of energy, and \
recharges at a rate of 70 units. Complex gravatics and force manipulation allows the wearer to also run slightly faster.<br>\
<font color='red'>Capacity: 7k</font><br>\
<font color='green'><b>Recharge: 70/s</b></font><br>\
<font color='red'>Instability Modifier: 90%</font><br>\
" + span_red("Capacity: 7k") + "<br>\
" + span_green("<b>Recharge: 70/s</b>") + "<br>\
" + span_red("Instability Modifier: 90%") + "<br>\
Energy Cost Modifier: 100%<br>\
Spell Power: 100%"
cost = 100
@@ -27,11 +27,11 @@
desc = "This core has very large capacitors, however it also has a subpar fractal reactor. The user is recommended to \
purchase one or more energy-generating Functions as well if using this core. The intense weight of the core unfortunately can \
cause the wear to move slightly slower, and the closeness of the capacitors causes a slight increase in incoming instability.<br>\
<font color='green'><b>Capacity: 20k</b></font><br>\
<font color='red'>Recharge: 25/s</font><br>\
<font color='red'>Instability Modifier: 100%</font><br>\
" + span_green("<b>Capacity: 20k</b>") + "<br>\
" + span_red("Recharge: 25/s") + "<br>\
" + span_red("Instability Modifier: 100%") + "<br>\
Energy Cost Modifier: 100%<br>\
<font color='green'>Spell Power: 140%</font>"
" + span_green("Spell Power: 140%") + ""
cost = 100
obj_path = /obj/item/weapon/technomancer_core/bulky
@@ -40,11 +40,11 @@
desc = "This core feeds off unstable energies around the user in addition to a fractal reactor. This means that it performs \
better as the user has more instability, which could prove dangerous to the inexperienced or unprepared. The rate of recharging \
increases as the user accumulates more instability, eventually exceeding even the rapid core in regen speed, at a huge risk.<br>\
<font color='green'>Capacity: 13k</font><br>\
<font color='green'>Recharge: 35/s to 110/s+</font><br>\
<font color='red'><b>Instability Modifier: 130%</b></font><br>\
<font color='green'>Energy Cost Modifier: 70%</font><br>\
<font color='green'>Spell Power: 110%</font>"
" + span_green("Capacity: 13k") + "<br>\
" + span_green("Recharge: 35/s to 110/s+") + "<br>\
" + span_red("<b>Instability Modifier: 130%</b>") + "<br>\
" + span_green("Energy Cost Modifier: 70%") + "<br>\
" + span_green("Spell Power: 110%") + ""
cost = 100
obj_path = /obj/item/weapon/technomancer_core/unstable
@@ -52,10 +52,10 @@
name = "Recycling Core"
desc = "This core is optimized for energy efficency, being able to sometimes recover energy that would have been lost with other \
cores. Each time energy is spent, there is a 30% chance of recovering half of what was spent.<br>\
<font color='green'>Capacity: 12k</font><br>\
<font color='red'>Recharge: 40/s</font><br>\
<font color='green'>Instability Modifier: 60%</font><br>\
<font color='green'>Energy Cost Modifier: 80%</font><br>\
" + span_green("Capacity: 12k") + "<br>\
" + span_red("Recharge: 40/s") + "<br>\
" + span_green("Instability Modifier: 60%") + "<br>\
" + span_green("Energy Cost Modifier: 80%") + "<br>\
Spell Power: 100%"
cost = 100
obj_path = /obj/item/weapon/technomancer_core/recycling
@@ -65,11 +65,11 @@
desc = "A unique type of core, this one sacrifices other characteristics in order to optimize it for the purposes teleporting \
entities from vast distances, and keeping them there. Wearers of this core can maintain up to 40 summons at once, and the energy \
demand for maintaining summons is severely reduced.<br>\
<font color='red'>Capacity: 8k</font><br>\
<font color='red'>Recharge: 35/s</font><br>\
<font color='red'>Instability Modifier: 120%</font><br>\
" + span_red("Capacity: 8k") + "<br>\
" + span_red("Recharge: 35/s") + "<br>\
" + span_red("Instability Modifier: 120%") + "<br>\
Energy Cost Modifier: 100%<br>\
<font color='green'>Spell Power: 120%</font>"
" + span_green("Spell Power: 120%") + ""
cost = 100
obj_path = /obj/item/weapon/technomancer_core/summoner
@@ -77,11 +77,11 @@
name = "Safety Core"
desc = "This core is designed so that the wearer suffers almost no instability. It unfortunately comes at a cost of subpar \
ratings for everything else.<br>\
<font color='red'>Capacity: 7k</font><br>\
<font color='red'>Recharge: 30/s</font><br>\
<font color='green'><b>Instability Modifier: 30%</b></font><br>\
" + span_red("Capacity: 7k") + "<br>\
" + span_red("Recharge: 30/s") + "<br>\
" + span_green("<b>Instability Modifier: 30%</b>") + "<br>\
Energy Cost Modifier: 100%<br>\
<font color='red'><b>Spell Power: 70%</b></font>"
" + span_red("<b>Spell Power: 70%</b>") + ""
cost = 100
obj_path = /obj/item/weapon/technomancer_core/safety
@@ -90,11 +90,11 @@
desc = "A core that was created in order to get the most power out of functions. It does this by shoving the most power into \
those functions, so it is the opposite of energy efficent, however the enhancement of functions is second to none for other \
cores.<br>\
<font color='red'>Capacity: 15k (effectively 7.5k)</font><br>\
<font color='red'>Recharge: 40/s</font><br>\
<font color='red'>Instability Modifier: 110%</font><br>\
<font color='red'><b>Energy Cost Modifier: 200%</b></font><br>\
<font color='green'><b>Spell Power: 175%</b></font>"
" + span_red("Capacity: 15k (effectively 7.5k)") + "<br>\
" + span_red("Recharge: 40/s") + "<br>\
" + span_red("Instability Modifier: 110%") + "<br>\
" + span_red("<b>Energy Cost Modifier: 200%</b>") + "<br>\
" + span_green("<b>Spell Power: 175%</b>") + ""
cost = 100
obj_path = /obj/item/weapon/technomancer_core/overcharged

View File

@@ -93,4 +93,4 @@
M.Paralyse(4)
else
M.make_jittery(50)
to_chat(M, "<font color='red' size='7'><b>HONK</b></font>")
to_chat(M, span_red("<font size='7'><b>HONK</b></font>"))

View File

@@ -270,7 +270,7 @@ GLOBAL_LIST_BOILERPLATE(all_deactivated_AI_cores, /obj/structure/AIcore/deactiva
if(D in empty_playable_ai_cores)
empty_playable_ai_cores -= D
to_chat(src, "\The [id] is now <font color=\"#ff0000\">not available</font> for latejoining AIs.")
to_chat(src, "\The [id] is now [span_red("not available")] for latejoining AIs.")
else
empty_playable_ai_cores += D
to_chat(src, "\The [id] is now <font color=\"#008000\">available</font> for latejoining AIs.")
to_chat(src, "\The [id] is now [span_green("available")] for latejoining AIs.")

View File

@@ -26,11 +26,11 @@ Any frequency works, it's self-setting, but it seems like people have decided 13
my_controller = get_controller(get_area(src))
my_device = locate(my_device_type) in get_turf(src)
if(!my_device)
to_world("<b><font color='red'>WARNING:</font><font color='black'>Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]</font></b>")
to_world("<b>[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find what it wanted at: X:[x] Y:[y] Z:[z]")]</b>")
else if(!my_controller)
to_world("<b><font color='red'>WARNING:</font><font color='black'>Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]</font></b>")
to_world("<b>[span_red("WARNING:")][span_black("Airlock helper '[name]' couldn't find a controller at: X:[x] Y:[y] Z:[z]")]</b>")
else if(!my_controller.id_tag)
to_world("<b><font color='red'>WARNING:</font><font color='black'>Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]</font></b>")
to_world("<b>[span_red("WARNING:")][span_black("Airlock helper '[name]' found a controller without an 'id_tag' set: X:[x] Y:[y] Z:[z]")]</b>")
else
setup()
return INITIALIZE_HINT_QDEL
@@ -48,15 +48,15 @@ Any frequency works, it's self-setting, but it seems like people have decided 13
for(var/obj/O in A)
if(istype(O, my_controller_type))
potentials += O
//Couldn't find one
if(!potentials.len)
return null
//Only found one
if(potentials.len == 1)
return potentials[1]
//Gotta find closest
var/closest = potentials[potentials.len]
var/closest_dist = get_dist(src, closest)
@@ -207,4 +207,4 @@ Any frequency works, it's self-setting, but it seems like people have decided 13
icon_state = "btnin"
tag_addon = "_interior_button"
command = "cycle_interior"
// CHOMPStation Addition End
// CHOMPStation Addition End

View File

@@ -229,7 +229,7 @@
/obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob)
if(islocked || isUV)
to_chat(user, "<font color='red'>Unable to open unit.</font>")
to_chat(user, span_red("Unable to open unit."))
return
if(OCCUPANT)
eject_occupant(user)
@@ -240,7 +240,7 @@
/obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob)
if(OCCUPANT && safetieson)
to_chat(user, "<font color='red'>The Unit's safety protocols disallow locking when a biological form is detected inside its compartments.</font>")
to_chat(user, span_red("The Unit's safety protocols disallow locking when a biological form is detected inside its compartments."))
return
if(isopen)
return
@@ -252,10 +252,10 @@
if(isUV || isopen) //I'm bored of all these sanity checks
return
if(OCCUPANT && safetieson)
to_chat(user, "<font color='red'><B>WARNING:</B> Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle.</font>")
to_chat(user, span_red("<B>WARNING:</B> Biological entity detected in the confines of the Unit's storage. Cannot initiate cycle."))
return
if(!HELMET && !MASK && !SUIT && !OCCUPANT) //shit's empty yo
to_chat(user, "<font color='red'>Unit storage bays empty. Nothing to disinfect -- Aborting.</font>")
to_chat(user, span_red("Unit storage bays empty. Nothing to disinfect -- Aborting."))
return
to_chat(user, "You start the Unit's cauterisation cycle.")
cycletime_left = 20
@@ -295,7 +295,7 @@
SUIT = null
if(MASK)
MASK = null
visible_message("<font color='red'>With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber.</font>", 3)
visible_message(span_red("With a loud whining noise, the Suit Storage Unit's door grinds open. Puffs of ashen smoke come out of its chamber."), 3)
isbroken = 1
isopen = 1
islocked = 0
@@ -320,9 +320,9 @@
if(OCCUPANT.client)
if(user != OCCUPANT)
to_chat(OCCUPANT, "<font color='blue'>The machine kicks you out!</font>")
to_chat(OCCUPANT, span_blue("The machine kicks you out!"))
if(user.loc != src.loc)
to_chat(OCCUPANT, "<font color='blue'>You leave the not-so-cozy confines of the SSU.</font>")
to_chat(OCCUPANT, span_blue("You leave the not-so-cozy confines of the SSU."))
OCCUPANT.client.eye = OCCUPANT.client.mob
OCCUPANT.client.perspective = MOB_PERSPECTIVE
@@ -356,13 +356,13 @@
if(usr.stat != 0)
return
if(!isopen)
to_chat(usr, "<font color='red'>The unit's doors are shut.</font>")
to_chat(usr, span_red("The unit's doors are shut."))
return
if(!ispowered || isbroken)
to_chat(usr, "<font color='red'>The unit is not operational.</font>")
to_chat(usr, span_red("The unit is not operational."))
return
if((OCCUPANT) || (HELMET) || (SUIT))
to_chat(usr, "<font color='red'>It's too cluttered inside for you to fit in!</font>")
to_chat(usr, span_red("It's too cluttered inside for you to fit in!"))
return
visible_message("[usr] starts squeezing into the suit storage unit!", 3)
if(do_after(usr, 10))
@@ -388,7 +388,7 @@
if(I.has_tool_quality(TOOL_SCREWDRIVER))
panelopen = !panelopen
playsound(src, I.usesound, 100, 1)
to_chat(user, "<font color='blue'>You [panelopen ? "open up" : "close"] the unit's maintenance panel.</font>")
to_chat(user, span_blue("You [panelopen ? "open up" : "close"] the unit's maintenance panel."))
updateUsrDialog()
return
if(istype(I, /obj/item/weapon/grab))
@@ -396,13 +396,13 @@
if(!(ismob(G.affecting)))
return
if(!isopen)
to_chat(user, "<font color='red'>The unit's doors are shut.</font>")
to_chat(user, span_red("The unit's doors are shut."))
return
if(!ispowered || isbroken)
to_chat(user, "<font color='red'>The unit is not operational.</font>")
to_chat(user, span_red("The unit is not operational."))
return
if((OCCUPANT) || (HELMET) || (SUIT)) //Unit needs to be absolutely empty
to_chat(user, "<font color='red'>The unit's storage area is too cluttered.</font>")
to_chat(user, span_red("The unit's storage area is too cluttered."))
return
visible_message("[user] starts putting [G.affecting.name] into the Suit Storage Unit.", 3)
if(do_after(user, 20))
@@ -426,7 +426,7 @@
return
var/obj/item/clothing/suit/space/S = I
if(SUIT)
to_chat(user, "<font color='blue'>The unit already contains a suit.</font>")
to_chat(user, span_blue("The unit already contains a suit."))
return
to_chat(user, "You load the [S.name] into the storage compartment.")
user.drop_item()
@@ -440,7 +440,7 @@
return
var/obj/item/clothing/head/helmet/H = I
if(HELMET)
to_chat(user, "<font color='blue'>The unit already contains a helmet.</font>")
to_chat(user, span_blue("The unit already contains a helmet."))
return
to_chat(user, "You load the [H.name] into the storage compartment.")
user.drop_item()
@@ -454,7 +454,7 @@
return
var/obj/item/clothing/mask/M = I
if(MASK)
to_chat(user, "<font color='blue'>The unit already contains a mask.</font>")
to_chat(user, span_blue("The unit already contains a mask."))
return
to_chat(user, "You load the [M.name] into the storage compartment.")
user.drop_item()
@@ -473,4 +473,4 @@
//////////////////////////////REMINDER: Make it lock once you place some fucker inside.
//God this entire file is fucking awful //Yes
//God this entire file is fucking awful //Yes

View File

@@ -97,7 +97,7 @@
return
M.updatehealth()
src.occupant_message("You hit [T].")
src.visible_message("<font color='red'><b>[src.name] hits [T].</b></font>")
src.visible_message(span_red("<b>[src.name] hits [T].</b>"))
else
step_away(M,src)
src.occupant_message("You push [T] out of the way.")
@@ -114,7 +114,7 @@
if(src.occupant.a_intent == I_HURT || istype(src.occupant, /mob/living/carbon/brain)) // Don't smash unless we mean it
if(damtype == "brute")
src.occupant_message("You hit [T].")
src.visible_message("<font color='red'><b>[src.name] hits [T]</b></font>")
src.visible_message(span_red("<b>[src.name] hits [T]</b>"))
playsound(src, 'sound/weapons/heavysmash.ogg', 50, 1)
if(istype(T, /obj/structure/girder))

View File

@@ -1,6 +1,6 @@
/obj/mecha/combat/gorilla
desc = "<b><font color='red'>BLITZKRIEEEEEEEG!</font></b>"
desc = span_red("<b><BLITZKRIEEEEEEEG!</b>")
name = "Sd.Kfz. 269 Mechakampfwagen Gorilla Ausf. A"
icon = 'icons/mecha/AxisMech.dmi'
icon_state = "pzrmech"

View File

@@ -120,7 +120,7 @@
/obj/mecha/combat/gygax/serenity/moved_inside(var/mob/living/carbon/human/H as mob)
if(..())
if(H.glasses)
occupant_message("<font color='red'>[H.glasses] prevent you from using [src] [hud]</font>")
occupant_message(span_red("[H.glasses] prevent you from using [src] [hud]!"))
else
H.glasses = hud
H.recalculate_vis()

View File

@@ -92,7 +92,7 @@
if(chassis.selected == src)
chassis.selected = null
src.update_chassis_page()
chassis.occupant_message("<font color='red'>The [src] is destroyed!</font>")
chassis.occupant_message(span_red("The [src] is destroyed!"))
chassis.log_append_to_last("[src] is destroyed.",1)
if(istype(src, /obj/item/mecha_parts/mecha_equipment/weapon))//Gun
switch(chassis.mech_faction)

View File

@@ -20,7 +20,7 @@
var/result = load_cable(target)
var/message
if(isnull(result))
message = "<font color='red'>Unable to load [target] - no cable found.</font>"
message = span_red("Unable to load [target] - no cable found.")
else if(!result)
message = "Reel is full."
else
@@ -123,4 +123,4 @@
//NC.mergeConnectedNetworksOnTurf()
last_piece = NC
return 1
return 1

View File

@@ -44,7 +44,7 @@
if(chassis.loc!=C || target.loc!=T)
return
if(occupant)
occupant_message("<font color=\"red\"><B>The sleeper is already occupied!</B></font>")
occupant_message(span_red("<B>The sleeper is already occupied!</B>"))
return
target.forceMove(src)
occupant = target
@@ -57,7 +57,7 @@
*/
set_ready_state(FALSE)
START_PROCESSING(SSprocessing, src)
occupant_message("<font color='blue'>[target] successfully loaded into [src]. Life support functions engaged.</font>")
occupant_message(span_blue("[target] successfully loaded into [src]. Life support functions engaged."))
chassis.visible_message("[chassis] loads [target] into [src].")
log_message("[target] loaded. Life support functions engaged.")
return
@@ -236,4 +236,4 @@
M.reagents.add_reagent("inaprovaline", 5)
chassis.use_power(energy_drain)
update_equip_info()
return
return

View File

@@ -624,7 +624,7 @@
show_radial_occupant(user)
return
if(state)
occupant_message("<font color='red'>Maintenance protocols in effect</font>")
occupant_message(span_red("Maintenance protocols in effect"))
return
if(phasing)//Phazon and other mechs with phasing.
@@ -794,7 +794,7 @@
if(defence_mode)//Check if we are currently locked down
if(world.time - last_message > 20)
src.occupant_message("<font color='red'>Unable to move while in defence mode</font>")
src.occupant_message(span_red("Unable to move while in defence mode"))
last_message = world.time
return 0
@@ -812,7 +812,7 @@
if(health < initial(health) - initial(health)/3)
overload = 0
step_energy_drain = initial(step_energy_drain)
src.occupant_message("<font color='red'>Leg actuators damage threshold exceded. Disabling overload.</font>")
src.occupant_message(span_red("Leg actuators damage threshold exceded. Disabling overload."))
var/move_result = 0
@@ -983,12 +983,12 @@
internal_damage &= ~int_dam_flag
switch(int_dam_flag)
if(MECHA_INT_TEMP_CONTROL)
occupant_message("<font color='blue'><b>Life support system reactivated.</b></font>")
occupant_message(span_blue("<b>Life support system reactivated.</b>"))
start_process(MECHA_PROC_INT_TEMP)
if(MECHA_INT_FIRE)
occupant_message("<font color='blue'><b>Internal fire extinquished.</b></font>")
occupant_message(span_blue("<b>Internal fire extinquished.</b>"))
if(MECHA_INT_TANK_BREACH)
occupant_message("<font color='blue'><b>Damaged internal tank has been sealed.</b></font>")
occupant_message(span_blue("<b>Damaged internal tank has been sealed.</b>"))
return
@@ -1101,9 +1101,9 @@
src.take_damage(15) //The take_damage() proc handles armor values
if(prob(25)) //Hulks punch hard but lets not give them consistent internal damage.
src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
user.visible_message("<font color='red'><b>[user] hits [src.name], doing some damage.</b></font>", "<font color='red'><b>You hit [src.name] with all your might. The metal creaks and bends.</b></font>")
user.visible_message(span_red("<b>[user] hits [src.name], doing some damage.</b>"), span_red("<b>You hit [src.name] with all your might. The metal creaks and bends.</b>"))
else
user.visible_message("<font color='red'><b>[user] hits [src.name]. Nothing happens.</b></font>","<font color='red'><b>You hit [src.name] with no visible effect.</b></font>")
user.visible_message(span_red("<b>[user] hits [src.name]. Nothing happens.</b>"),span_red("<b>You hit [src.name] with no visible effect.</b>"))
src.log_append_to_last("Armor saved.")
return
@@ -1381,8 +1381,8 @@
else
pass_damage_reduc_mod = 1 //Just making sure.
src.occupant_message("<font color='red'><b>[user] hits [src] with [W].</b></font>")
user.visible_message("<font color='red'><b>[user] hits [src] with [W].</b></font>", "<font color='red'><b>You hit [src] with [W].</b></font>")
src.occupant_message(span_red("<b>[user] hits [src] with [W].</b>"))
user.visible_message(span_red("<b>[user] hits [src] with [W].</b>"), span_red("<b>You hit [src] with [W].</b>"))
var/pass_damage = W.force
pass_damage = (pass_damage*pass_damage_reduc_mod) //Apply the reduction of damage from not having enough armor penetration. This is not regular armor values at play.
@@ -2559,7 +2559,7 @@
if(href_list["toggle_maint_access"])
if(usr != src.occupant) return
if(state)
occupant_message("<font color='red'>Maintenance protocols in effect</font>")
occupant_message(span_red("Maintenance protocols in effect"))
return
maint_access = !maint_access
send_byjax(src.occupant,"exosuit.browser","t_maint_access","[maint_access?"Forbid":"Permit"] maintenance protocols")
@@ -2651,10 +2651,10 @@
if(do_after(100))
if(T == src.loc)
src.clearInternalDamage(MECHA_INT_CONTROL_LOST)
src.occupant_message("<font color='blue'>Recalibration successful.</font>")
src.occupant_message(span_blue("Recalibration successful."))
src.log_message("Recalibration of coordination system finished with 0 errors.")
else
src.occupant_message("<font color='red'>Recalibration failed.</font>")
src.occupant_message(span_red("Recalibration failed."))
src.log_message("Recalibration of coordination system failed with 1 error.",1)
if(href_list["drop_from_cargo"])
var/obj/O = locate(href_list["drop_from_cargo"])
@@ -2799,7 +2799,7 @@
src.log_append_to_last("Armor saved.")
src.occupant_message("<span class='notice'>\The [user]'s attack is stopped by the armor.</span>")
visible_message("<b>\The [user]</b> rebounds off [src.name]'s armor!")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>attacked [src.name]</font>")
user.attack_log += text("\[[time_stamp()]\] [span_red("attacked [src.name]")]")
playsound(src, 'sound/weapons/slash.ogg', 50, 1, -1)
else if(damage < temp_damage_minimum)//Pathetic damage levels just don't harm MECH.
@@ -2814,7 +2814,7 @@
if(damage > internal_damage_minimum) //Only decently painful attacks trigger a chance of mech damage.
src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
visible_message("<span class='danger'>[user] [attack_message] [src]!</span>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>attacked [src.name]</font>")
user.attack_log += text("\[[time_stamp()]\] [span_red("attacked [src.name]")]")
return 1

View File

@@ -195,7 +195,7 @@
return
if(!chassis.selected)
chassis.selected = available_equipment[1]
chassis.occupant_message("You select [chassis.selected]")
chassis.occupant_message("You select [chassis.selected]")
send_byjax(chassis.occupant,"exosuit.browser","eq_list",chassis.get_equipment_list())
button_icon_state = "mech_cycle_equip_on"
button.UpdateIcon()
@@ -277,10 +277,10 @@
defence_mode = !defence_mode
if(defence_mode)
deflect_chance = defence_deflect
src.occupant_message("<font color='blue'>You enable [src] defence mode.</font>")
src.occupant_message(span_blue("You enable [src] defence mode."))
else
deflect_chance = initial(deflect_chance)
src.occupant_message("<font color='red'>You disable [src] defence mode.</font>")
src.occupant_message(span_red("You disable [src] defence mode."))
src.log_message("Toggled defence mode.")
return
@@ -299,17 +299,17 @@
if(usr!=src.occupant)
return
if(health < initial(health) - initial(health)/3)//Same formula as in movement, just beforehand.
src.occupant_message("<font color='red'>Leg actuators damage critical, unable to engage overload.</font>")
src.occupant_message(span_red("Leg actuators damage critical, unable to engage overload."))
overload = 0 //Just to be sure
return
if(overload)
overload = 0
step_energy_drain = initial(step_energy_drain)
src.occupant_message("<font color='blue'>You disable leg actuators overload.</font>")
src.occupant_message(span_blue("You disable leg actuators overload."))
else
overload = 1
step_energy_drain = step_energy_drain*overload_coeff
src.occupant_message("<font color='red'>You enable leg actuators overload.</font>")
src.occupant_message(span_red("You enable leg actuators overload."))
src.log_message("Toggled leg actuators overload.")
playsound(src, 'sound/mecha/mechanical_toggle.ogg', 50, 1)
return
@@ -327,12 +327,12 @@
return
if(smoke_reserve < 1)
src.occupant_message("<font color='red'>You don't have any smoke left in stock!</font>")
src.occupant_message(span_red("You don't have any smoke left in stock!"))
return
if(smoke_ready)
smoke_reserve-- //Remove ammo
src.occupant_message("<font color='red'>Smoke fired. [smoke_reserve] usages left.</font>")
src.occupant_message(span_red("Smoke fired. [smoke_reserve] usages left."))
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
smoke.attach(src)
@@ -360,7 +360,10 @@
if(src.occupant.client)
src.zoom = !src.zoom
src.log_message("Toggled zoom mode.")
src.occupant_message("<font color='[src.zoom?"blue":"red"]'>Zoom mode [zoom?"en":"dis"]abled.</font>")
if(src.zoom)
src.occupant_message(span_blue("Zoom mode enabled."))
else
src.occupant_message(span_red("Zoom mode disabled."))
if(zoom)
src.occupant.set_viewsize(12)
src.occupant << sound('sound/mecha/imag_enh.ogg',volume=50)
@@ -384,7 +387,10 @@
if(get_charge() > 0)
thrusters = !thrusters
src.log_message("Toggled thrusters.")
src.occupant_message("<font color='[src.thrusters?"blue":"red"]'>Thrusters [thrusters?"en":"dis"]abled.</font>")
if(src.thrusters)
src.occupant_message(span_blue("Thrusters enabled."))
else
src.occupant_message(span_red("Thrusters disabled."))
return
@@ -427,7 +433,10 @@
return
phasing = !phasing
send_byjax(src.occupant,"exosuit.browser","phasing_command","[phasing?"Dis":"En"]able phasing")
src.occupant_message("<font color=\"[phasing?"#00f\">En":"#f00\">Dis"]abled phasing.</font>")
if(phasing)
src.occupant_message(span_blue("Enabled phasing."))
else
src.occupant_message(span_red("Disabled phasing."))
return
@@ -447,7 +456,10 @@
else
cloak()
src.occupant_message("<font color=\"[cloaked?"#00f\">En":"#f00\">Dis"]abled cloaking.</font>")
if(cloaked)
src.occupant_message(span_blue("Enabled cloaking."))
else
src.occupant_message(span_red("Disabled cloaking."))
return
/obj/mecha/verb/toggle_weapons_only_cycle()
@@ -461,5 +473,8 @@
if(usr!=src.occupant)
return
weapons_only_cycle = !weapons_only_cycle
src.occupant_message("<font color=\"[weapons_only_cycle?"#00f\">En":"#f00\">Dis"]abled weapons only cycling.</font>")
if(weapons_only_cycle)
src.occupant_message(span_blue("Enabled weapons only cycling."))
else
src.occupant_message(span_red("Disabled weapons only cycling."))
return

View File

@@ -28,7 +28,7 @@
/obj/mecha/medical/odysseus/moved_inside(var/mob/living/carbon/human/H as mob)
if(..())
if(H.glasses)
occupant_message("<font color='red'>[H.glasses] prevent you from using [src] [hud]</font>")
occupant_message(span_red("[H.glasses] prevent you from using [src] [hud]!"))
else
H.glasses = hud
H.recalculate_vis()
@@ -143,4 +143,4 @@
..()
health = 25
maxhealth = 50 //Just slightly worse.
cell.charge = rand(0, (cell.charge/2))
cell.charge = rand(0, (cell.charge/2))

View File

@@ -82,7 +82,7 @@
return
M.updatehealth()
src.occupant_message("You hit [target].")
src.visible_message("<font color='red'><b>[src.name] hits [target].</b></font>")
src.visible_message(span_red("<b>[src.name] hits [target].</b>"))
else
step_away(M,src)
src.occupant_message("You push [target] out of the way.")
@@ -98,7 +98,7 @@
for(var/target_type in src.destroyable_obj)
if(istype(target, target_type) && hascall(target, "attackby"))
src.occupant_message("You hit [target].")
src.visible_message("<font color='red'><b>[src.name] hits [target]</b></font>")
src.visible_message(span_red("<b>[src.name] hits [target].</b>"))
if(!istype(target, /turf/simulated/wall))
target:attackby(src,src.occupant)
else
@@ -155,5 +155,5 @@
return result
/obj/effect/decal/mecha_wreckage/micro
<<<<<<< HEAD
icon = 'icons/mecha/micro.dmi' */

View File

@@ -353,12 +353,12 @@ GLOBAL_LIST_BOILERPLATE(all_pai_cards, /obj/item/device/paicard)
return
var/mob/M = usr
if(!istype(M, /mob/living/carbon))
to_chat(usr, "<font color=blue>You don't have any DNA, or your DNA is incompatible with this device.</font>")
to_chat(usr, span_blue("You don't have any DNA, or your DNA is incompatible with this device."))
else
var/datum/dna/dna = usr.dna
pai.master = M.real_name
pai.master_dna = dna.unique_enzymes
to_chat(pai, "<font color = red><h3>You have been bound to a new master.</h3></font>")
to_chat(pai, span_red("<h3>You have been bound to a new master.</h3>"))
if(href_list["request"])
src.looking_for_personality = 1
paiController.findPAI(src, usr)

View File

@@ -210,10 +210,10 @@
/obj/item/device/radio/intercom/AIAltClick(var/mob/user)
if(frequency == AI_FREQ)
set_frequency(initial(frequency))
to_chat(user, "<span class='notice'>\The [src]'s frequency is now set to <font color='green'><b>Default</b></font>.</span>")
to_chat(user, "<span class='notice'>\The [src]'s frequency is now set to [span_green("<b>Default</b>")].</span>")
else
set_frequency(AI_FREQ)
to_chat(user, "<span class='notice'>\The [src]'s frequency is now set to <font color='pink'><b>AI Private</b></font>.</span>")
to_chat(user, "<span class='notice'>\The [src]'s frequency is now set to [span_pink("<b>AI Private</b>")].</span>")
//VOREStation Add End
/obj/item/device/radio/intercom/locked
var/locked_frequency

View File

@@ -59,11 +59,11 @@
if (!ishuman(M) || M.isSynthetic())
//these sensors are designed for organic life
dat += "<span class='notice'>Analyzing Results for ERROR:\n\tOverall Status: ERROR<br>"
dat += "\tKey: <font color='cyan'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FFA500'>Burns</font>/<font color='red'>Brute</font><br>"
dat += "\tDamage Specifics: <font color='cyan'>?</font> - <font color='green'>?</font> - <font color='#FFA500'>?</font> - <font color='red'>?</font><br>"
dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
dat += "\tDamage Specifics: [span_cyan("?")] - [span_green("?")] - [span_orange("?")] - [span_red("?")]<br>"
dat += "Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)</span><br>"
dat += "<span class='warning'>Warning: Blood Level ERROR: --% --cl.</span> <span class='notice'>Type: ERROR</span><br>"
dat += "<span class='notice'>Subject's pulse: <font color='red'>-- bpm.</font></span>"
dat += "<span class='notice'>Subject's pulse: [span_red("-- bpm.")]</span>"
user.show_message(dat, 1)
return
@@ -78,8 +78,8 @@
dat += "<span class='notice'>Overall Status: dead</span><br>"
else
dat += "<span class='notice'>Analyzing Results for [M]:\n\t Overall Status: [M.stat > 1 ? "dead" : "[round((M.health/M.getMaxHealth())*100) ]% healthy"]<br>"
dat += "\tKey: <font color='cyan'>Suffocation</font>/<font color='green'>Toxin</font>/<font color='#FFA500'>Burns</font>/<font color='red'>Brute</font><br>"
dat += "\tDamage Specifics: <font color='cyan'>[OX]</font> - <font color='green'>[TX]</font> - <font color='#FFA500'>[BU]</font> - <font color='red'>[BR]</font><br>"
dat += "\tKey: [span_cyan("Suffocation")]/[span_green("Toxin")]/[span_orange("Burns")]/[span_red("Brute")]<br>"
dat += "\tDamage Specifics: [span_cyan("[OX]")] - [span_green("[TX]")] - [span_orange("[BU]")] - [span_red("[BR]")]<br>"
dat += "Body Temperature: [M.bodytemperature-T0C]&deg;C ([M.bodytemperature*1.8-459.67]&deg;F)</span><br>"
//VOREStation edit/addition starts
if(M.timeofdeath && (M.stat == DEAD || (M.status_flags & FAKEDEATH)))
@@ -99,14 +99,14 @@
else
dat += "<span class='notice'> [capitalize(org.name)]: [(org.brute_dam > 0) ? "<span class='warning'>[org.brute_dam]</span>" : 0]"
dat += "[(org.status & ORGAN_BLEEDING)?"<span class='danger'>\[Bleeding\]</span>":""] - "
dat += "[(org.burn_dam > 0) ? "<font color='#FFA500'>[org.burn_dam]</font>" : 0]</span><br>"
dat += "[(org.burn_dam > 0) ? "[span_orange("[org.burn_dam]")]" : 0]</span><br>"
else
dat += "<span class='notice'> Limbs are OK.</span><br>"
OX = M.getOxyLoss() > 50 ? "<font color='cyan'><b>Severe oxygen deprivation detected</b></font>" : "Subject bloodstream oxygen level normal"
TX = M.getToxLoss() > 50 ? "<font color='green'><b>Dangerous amount of toxins detected</b></font>" : "Subject bloodstream toxin level minimal"
BU = M.getFireLoss() > 50 ? "<font color='#FFA500'><b>Severe burn damage detected</b></font>" : "Subject burn injury status O.K"
BR = M.getBruteLoss() > 50 ? "<font color='red'><b>Severe anatomical damage detected</b></font>" : "Subject brute-force injury status O.K"
OX = M.getOxyLoss() > 50 ? "[span_cyan("<b>Severe oxygen deprivation detected</b>")]" : "Subject bloodstream oxygen level normal"
TX = M.getToxLoss() > 50 ? "[span_green("<b>Dangerous amount of toxins detected</b>")]" : "Subject bloodstream toxin level minimal"
BU = M.getFireLoss() > 50 ? "[span_orange("<b>Severe burn damage detected</b>")]" : "Subject burn injury status O.K"
BR = M.getBruteLoss() > 50 ? "[span_red("<b>Severe anatomical damage detected</b>")]" : "Subject brute-force injury status O.K"
if(M.status_flags & FAKEDEATH)
OX = fake_oxy > 50 ? "<span class='warning'>Severe oxygen deprivation detected</span>" : "Subject bloodstream oxygen level normal"
dat += "[OX] | [TX] | [BU] | [BR]<br>"

View File

@@ -268,13 +268,13 @@
var/playedmessage = mytape.storedinfo[i]
if (findtextEx(playedmessage,"*",1,2)) //remove marker for action sounds
playedmessage = copytext(playedmessage,2)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: [playedmessage]</font>", runemessage = playedmessage)
T.audible_message(span_maroon("<B>Tape Recorder</B>: [playedmessage]"), runemessage = playedmessage)
if(mytape.storedinfo.len < i+1)
playsleepseconds = 1
sleep(10)
T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: End of recording.</font>", runemessage = "click")
T.audible_message(span_maroon("<B>Tape Recorder</B>: End of recording."), runemessage = "click")
break
else
playsleepseconds = mytape.timestamp[i+1] - mytape.timestamp[i]
@@ -282,7 +282,7 @@
if(playsleepseconds > 14)
sleep(10)
T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Skipping [playsleepseconds] seconds of silence</font>", runemessage = "tape winding")
T.audible_message(span_maroon("<B>Tape Recorder</B>: Skipping [playsleepseconds] seconds of silence"), runemessage = "tape winding")
playsleepseconds = 1
sleep(10 * playsleepseconds)
@@ -292,19 +292,19 @@
if(emagged)
var/turf/T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: This tape recorder will self-destruct in... Five.</font>", runemessage = "beep beep")
T.audible_message(span_maroon("<B>Tape Recorder</B>: This tape recorder will self-destruct in... Five."), runemessage = "beep beep")
sleep(10)
T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Four.</font>")
T.audible_message(span_maroon("<B>Tape Recorder</B>: Four."))
sleep(10)
T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Three.</font>")
T.audible_message(span_maroon("<B>Tape Recorder</B>: Three."))
sleep(10)
T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: Two.</font>")
T.audible_message(span_maroon("<B>Tape Recorder</B>: Two."))
sleep(10)
T = get_turf(src)
T.audible_message("<font color=Maroon><B>Tape Recorder</B>: One.</font>")
T.audible_message(span_maroon("<B>Tape Recorder</B>: One."))
sleep(10)
explode()

View File

@@ -301,11 +301,11 @@ This device records all warnings given and teleport events for admin review in c
if(isbelly(real_dest))
var/obj/belly/B = real_dest
if(!(target.can_be_drop_prey) && B.owner != user)
to_chat(target,"<span class='warning'>\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!</span>")
to_chat(target,"<span class='vwarning'>\The [src] narrowly avoids teleporting you right into \a [lowertext(real_dest.name)]!</span>")
real_dest = dT //Nevermind!
else
televored = TRUE
to_chat(target,"<span class='warning'>\The [src] teleports you right into \a [lowertext(real_dest.name)]!</span>")
to_chat(target,"<span class='vwarning'>\The [src] teleports you right into \a [lowertext(real_dest.name)]!</span>")
//Phase-out effect
phase_out(target,get_turf(target))

View File

@@ -139,7 +139,7 @@
if(ishuman(target))
var/mob/living/carbon/human/H = M
H.resize(chaos/100)
H.show_message("<font color='#6F6FE2'> The beam fires into your body, changing your size!</font>")
H.show_message(span_purple("The beam fires into your body, changing your size!"))
H.update_icon()
else if (istype(target, /mob/living/))
var/mob/living/H = M

View File

@@ -335,7 +335,7 @@
/obj/item/weapon/storage/box/mousetraps
name = "box of Pest-B-Gon mousetraps"
desc = "<B><FONT color='red'>WARNING:</FONT></B> <I>Keep out of reach of children</I>."
desc = span_red("<B>WARNING:</B>") + " <I>Keep out of reach of children</I>."
icon_state = "mousetraps"
starts_with = list(/obj/item/device/assembly/mousetrap = 7)
@@ -504,4 +504,4 @@
name = "box of sin-pockets"
desc = "<B>Instructions:</B> <I>Crush bottom of package to initiate chemical heating. Wait for 20 seconds before consumption. Product will cool if not eaten within seven minutes.</I>"
icon_state = "donk_kit"
starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 7)
starts_with = list(/obj/item/weapon/reagent_containers/food/snacks/donkpocket/sinpocket = 7)

View File

@@ -7,7 +7,7 @@
if(locked && tamper_proof && health <= Proj.damage)
if(tamper_proof == 2) // Mainly used for events to prevent any chance of opening the box improperly.
visible_message("<font color='red'><b>The anti-tamper mechanism of [src] triggers an explosion!</b></font>")
visible_message(span_red("<b>The anti-tamper mechanism of [src] triggers an explosion!</b>"))
var/turf/T = get_turf(src.loc)
explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security.
qdel(src)
@@ -15,18 +15,18 @@
var/open_chance = rand(1,5)
switch(open_chance)
if(1)
visible_message("<font color='red'><b>The anti-tamper mechanism of [src] causes an explosion!</b></font>")
visible_message(span_red("<b>The anti-tamper mechanism of [src] causes an explosion!</b>"))
var/turf/T = get_turf(src.loc)
explosion(T, 0, 0, 0, 1) // Non-damaging, but it'll alert security.
qdel(src)
if(2 to 4)
visible_message("<font color='red'><b>The anti-tamper mechanism of [src] causes a small fire!</b></font>")
visible_message(span_red("<b>The anti-tamper mechanism of [src] causes a small fire!</b>"))
for(var/atom/movable/A as mob|obj in src) // For every item in the box, we spawn a pile of ash.
new /obj/effect/decal/cleanable/ash(src.loc)
new /obj/fire(src.loc)
qdel(src)
if(5)
visible_message("<font color='green'><b>The anti-tamper mechanism of [src] fails!</b></font>")
visible_message(span_green("<b>The anti-tamper mechanism of [src] fails!</b>"))
return
..()

View File

@@ -12,9 +12,9 @@
anchored = !anchored
playsound(src, O.usesound, 50, 1)
if(anchored)
to_chat(user, "<font color='blue'>You secure \the [src].</font>")
to_chat(user, span_blue("You secure \the [src]."))
else
to_chat(user, "<font color='blue'>You unsecure \the [src].</font>")
to_chat(user, span_blue("You unsecure \the [src]."))
if(O.has_tool_quality(TOOL_WRENCH))
playsound(src, O.usesound, 50, 1)
to_chat(user, "<span class='notice'>Now disassembling \the [src]...</span>")

View File

@@ -386,8 +386,8 @@ var/world_topic_spam_protect_time = world.timeofday
if(!rank)
rank = "Admin"
var/message = "<font color='red'>IRC-[rank] PM from <b><a href='?irc_msg=[input["sender"]]'>IRC-[input["sender"]]</a></b>: [input["msg"]]</font>"
var/amessage = "<font color='blue'>IRC-[rank] PM from <a href='?irc_msg=[input["sender"]]'>IRC-[input["sender"]]</a> to <b>[key_name(C)]</b> : [input["msg"]]</font>"
var/message = span_red("IRC-[rank] PM from <b><a href='?irc_msg=[input["sender"]]'>IRC-[input["sender"]]</a></b>: [input["msg"]]")
var/amessage = span_blue("IRC-[rank] PM from <a href='?irc_msg=[input["sender"]]'>IRC-[input["sender"]]</a> to <b>[key_name(C)]</b> : [input["msg"]]")
C.received_irc_pm = world.time
C.irc_admin = input["sender"]

View File

@@ -130,14 +130,14 @@ var/induromol_code = rand(1, 50)
love_name = H.name
if(love_name)
to_chat(M, "<font color='#e3209b'>You see [love_name]...</font>")
to_chat(M, span_darkpink("You see [love_name]..."))
spawn(0)
sleep(10)
to_chat(M, "<font color='#e3209b'>They are beautiful</font>")
to_chat(M, span_darkpink("They are beautiful"))
if(M.mind) //give protect objective
var/datum/objective/protection = new/datum/objective()
protection.explanation_text = "<font color='#e3209b'>Protect [love_name] at all costs</font>"
protection.explanation_text = span_darkpink("Protect [love_name] at all costs")
M.mind.objectives.Add(protection)
var/obj_count = 1
to_chat(M, "<span class='notice'>Your current objectives:</span>")
@@ -155,10 +155,10 @@ var/induromol_code = rand(1, 50)
"[love_name] seems to be the essence of perfection",
"[love_name] can never be allowed to leave your side")
to_chat(M, "<font color='#e3209b'>[pick(love_messages)]</font>")
to_chat(M, span_darkpink("[pick(love_messages)]"))
else
to_chat(M, "<font color='#e3209b'>You begin to build a trouser tent</font>")
to_chat(M, span_darkpink("You begin to build a trouser tent"))
return ..()
/datum/reagent/phororeagent/love_potion/on_remove(var/atom/A)
@@ -1158,4 +1158,4 @@ nocturnol //Should give night vision, does not seem to work using this method of
var/mob/M = A
M.see_in_dark = 2
return ..()
*/
*/

View File

@@ -82,10 +82,10 @@
reason = sql_sanitize_text(reason)
var/list/sqlargs = list("t_bantype" = bantype_str, "t_reason" = reason, "t_job" = job, "t_ckey" = ckey, "t_a_ckey" = a_ckey, "t_who" = who, "t_adminwho" = adminwho) //CHOMPEdit TGSQL
var/sql = "INSERT INTO erro_ban (`id`,`bantime`,`serverip`,`bantype`,`reason`,`job`,`duration`,`rounds`,`expiration_time`,`ckey`,`computerid`,`ip`,`a_ckey`,`a_computerid`,`a_ip`,`who`,`adminwho`,`edits`,`unbanned`,`unbanned_datetime`,`unbanned_ckey`,`unbanned_computerid`,`unbanned_ip`) VALUES (null, Now(), '[serverip]', :t_bantype, :t_reason, :t_job, [(duration)?"[duration]":"0"], [(rounds)?"[rounds]":"0"], Now() + INTERVAL [(duration>0) ? duration : 0] MINUTE, :t_ckey, '[computerid]', '[ip]', :t_a_ckey, '[a_computerid]', '[a_ip]', :t_who, :t_adminwho, '', null, null, null, null, null)" //CHOMPEdit TGSQL
var/DBQuery/query_insert = SSdbcore.NewQuery(sql,sqlargs) //CHOMPEdit TGSQL
query_insert.Execute()
to_chat(usr, "<span class='filter_adminlog'><font color='blue'>Ban saved to database.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_blue("Ban saved to database.")]</span>")
message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1)
qdel(query_insert) //CHOMPEdit TGSQL
@@ -139,17 +139,17 @@
ban_number++;
qdel(query) //CHOMPEdit TGSQL
if(ban_number == 0)
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")]</span>")
return
if(ban_number > 1)
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")]</span>")
return
if(istext(ban_id))
ban_id = text2num(ban_id)
if(!isnum(ban_id))
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Database update failed due to a ban ID mismatch. Contact the database admin.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to a ban ID mismatch. Contact the database admin.")]</span>")
return
DB_ban_unban_by_id(ban_id)
@@ -232,11 +232,11 @@
ban_number++;
qdel(query) //CHOMPEdit TGSQL
if(ban_number == 0)
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Database update failed due to a ban id not being present in the database.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to a ban id not being present in the database.")]</span>")
return
if(ban_number > 1)
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Database update failed due to multiple bans having the same ID. Contact the database admin.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_red("Database update failed due to multiple bans having the same ID. Contact the database admin.")]</span>")
return
if(!src.owner || !istype(src.owner, /client))
@@ -272,7 +272,7 @@
establish_db_connection()
if(!SSdbcore.IsConnected()) //CHOMPEdit TGSQL
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Failed to establish database connection</font></span>")
to_chat(usr, "<span class='filter_adminlog'>[span_red("Failed to establish database connection")]</span>")
return
var/output = "<div align='center'><table width='90%'><tr>"
@@ -370,7 +370,7 @@
var/cidsearch = ""
var/bantypesearch = ""
//CHOMPEdit Begin
var/list/sqlargs = list()
var/list/sqlargs = list()
if(!match)
if(adminckey)
adminsearch = "AND a_ckey = :t_adminckey "

View File

@@ -7,13 +7,13 @@
//Guest Checking
if(!config.guests_allowed && IsGuestKey(key))
log_adminwarn("Failed Login: [key] - Guests not allowed")
message_admins("<font color='blue'>Failed Login: [key] - Guests not allowed</font>")
message_admins(span_blue("Failed Login: [key] - Guests not allowed"))
return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a byond account.")
//check if the IP address is a known TOR node
if(config && config.ToRban && ToRban_isbanned(address))
log_adminwarn("Failed Login: [src] - Banned: ToR")
message_admins("<font color='blue'>Failed Login: [src] - Banned: ToR</font>")
message_admins(span_blue("Failed Login: [src] - Banned: ToR"))
//ban their computer_id and ckey for posterity
AddBan(ckey(key), computer_id, "Use of ToR", "Automated Ban", 0, 0)
return list("reason"="Using ToR", "desc"="\nReason: The network you are using to connect has been banned.\nIf you believe this is a mistake, please request help at [config.banappeals]")
@@ -25,7 +25,7 @@
. = CheckBan( ckey(key), computer_id, address )
if(.)
log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["reason"]]")
message_admins("<font color='blue'>Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]</font>")
message_admins(span_blue("Failed Login: [key] id:[computer_id] ip:[address] - Banned [.["reason"]]"))
return .
return ..() //default pager ban stuff

View File

@@ -54,10 +54,10 @@
if(config)
if(config.ToRban)
config.ToRban = 0
message_admins("<font color='red'>ToR banning disabled.</font>")
message_admins(span_red("ToR banning disabled."))
else
config.ToRban = 1
message_admins("<font colot='green'>ToR banning enabled.</font>")
message_admins(span_green("ToR banning enabled."))
if("show")
var/savefile/F = new(TORFILE)
var/dat
@@ -80,7 +80,7 @@
var/input = tgui_input_text(src,"Please input an IP address to search for:","Find ToR ban",null)
if(input)
if(ToRban_isbanned(input))
to_chat(src, "<span class='filter_adminlog'><font color='green'><b>Address is a known ToR address</b></font></span>")
to_chat(src, "<span class='filter_adminlog'>[span_orange("<b>Address is a known ToR address</b>")]</span>")
else
to_chat(src, "<span class='filter_adminlog danger'>Address is not a known ToR address</span>")
return

View File

@@ -866,7 +866,7 @@ var/datum/announcement/minor/admin_min_announcer = new
else
to_world("<B>New players may now enter the game.</B>")
log_admin("[key_name(usr)] toggled new player game entering.")
message_admins("<font color='blue'>[key_name_admin(usr)] toggled new player game entering.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] toggled new player game entering."), 1)
world.update_status()
feedback_add_details("admin_verb","TE") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -892,7 +892,7 @@ var/datum/announcement/minor/admin_min_announcer = new
to_world("<B>You may now respawn.</B>")
else
to_world("<B>You may no longer respawn :(</B>")
message_admins("<font color='blue'>[key_name_admin(usr)] toggled respawn to [config.abandon_allowed ? "On" : "Off"].</font>", 1)
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()
feedback_add_details("admin_verb","TR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -908,7 +908,7 @@ var/datum/announcement/minor/admin_min_announcer = new
else
to_world("<B>Persistence is no longer enabled.</B>")
*/
message_admins("<font color='blue'>[key_name_admin(usr)] toggled persistence to [config.persistence_disabled ? "Off" : "On"].</font>", 1)
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()
feedback_add_details("admin_verb","TPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -922,7 +922,7 @@ var/datum/announcement/minor/admin_min_announcer = new
to_world("<B>Persistence is now enabled..</B>")
else
to_world("<B>Persistence is no longer enabled.</B>")
message_admins("<font color='blue'>[key_name_admin(usr)] toggled persistence to [config.persistence_ignore_mapload ? "Off" : "On"].</font>", 1)
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()
feedback_add_details("admin_verb","TMPD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -954,7 +954,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if (SSticker.current_state >= GAME_STATE_PLAYING)
SSticker.delay_end = !SSticker.delay_end
log_admin("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
message_admins("<font color='blue'>[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].</font>", 1)
message_admins(span_blue("[key_name(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"]."), 1)
return
round_progressing = !round_progressing
if (!round_progressing)
@@ -970,7 +970,7 @@ var/datum/announcement/minor/admin_min_announcer = new
set desc="Toggle admin jumping"
set name="Toggle Jump"
config.allow_admin_jump = !(config.allow_admin_jump)
message_admins("<font color='blue'>Toggled admin jumping to [config.allow_admin_jump].</font>")
message_admins(span_blue("Toggled admin jumping to [config.allow_admin_jump]."))
feedback_add_details("admin_verb","TJ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/adspawn()
@@ -978,7 +978,7 @@ var/datum/announcement/minor/admin_min_announcer = new
set desc="Toggle admin spawning"
set name="Toggle Spawn"
config.allow_admin_spawning = !(config.allow_admin_spawning)
message_admins("<font color='blue'>Toggled admin item spawning to [config.allow_admin_spawning].</font>")
message_admins(span_blue("Toggled admin item spawning to [config.allow_admin_spawning]."))
feedback_add_details("admin_verb","TAS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/adrev()
@@ -986,7 +986,7 @@ var/datum/announcement/minor/admin_min_announcer = new
set desc="Toggle admin revives"
set name="Toggle Revive"
config.allow_admin_rev = !(config.allow_admin_rev)
message_admins("<font color='blue'>Toggled reviving to [config.allow_admin_rev].</font>")
message_admins(span_blue("Toggled reviving to [config.allow_admin_rev]."))
feedback_add_details("admin_verb","TAR") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/immreboot()
@@ -996,7 +996,7 @@ var/datum/announcement/minor/admin_min_announcer = new
if(!usr.client.holder) return
if(alert(usr, "Reboot server?","Reboot!","Yes","No") == "No") // Not tgui_alert for safety
return
to_world("<font color='red'><b>Rebooting world!</b></font> <font color='blue'>Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key]!</font>")
to_world("[span_red("<b>Rebooting world!</b>")] [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)" : ""]")
@@ -1262,7 +1262,7 @@ var/datum/announcement/minor/admin_min_announcer = new
else
to_world("<B>Guests may now enter the game.</B>")
log_admin("[key_name(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.")
message_admins("<font color='blue'>[key_name_admin(usr)] toggled guests game entering [config.guests_allowed?"":"dis"]allowed.</font>", 1)
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!
/datum/admins/proc/output_ai_laws()

View File

@@ -281,7 +281,7 @@
var/light_impact_range = tgui_input_number(usr, "Light impact range (in tiles):")
var/flash_range = tgui_input_number(usr, "Flash range (in tiles):")
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range)
message_admins("<font color='blue'>[ckey] creating an admin explosion at [epicenter.loc].</font>")
message_admins(span_blue("[ckey] creating an admin explosion at [epicenter.loc]."))
feedback_add_details("admin_verb","DB") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/give_disease2(mob/T as mob in mob_list) // -- Giacom
@@ -313,7 +313,7 @@
feedback_add_details("admin_verb","GD2") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].")
message_admins("<font color='blue'>[key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance].</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] gave [key_name(T)] a [greater] disease2 with infection chance [D.infectionchance]."), 1)
/client/proc/admin_give_modifier(var/mob/living/L)
set category = "Debug"
@@ -349,7 +349,7 @@
return
O.audible_message(message)
log_admin("[key_name(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound")
message_admins("<font color='blue'>[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] made [O] at [O.x], [O.y], [O.z]. make a sound."), 1)
feedback_add_details("admin_verb","MS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -379,7 +379,7 @@
to_chat(usr, "<span class='filter_system'><b>[SSair.can_fire ? "En" : "Dis"]abled air processing.</b></span>")
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("<font color='blue'>[key_name_admin(usr)] used 'kill air'.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] used 'kill air'."), 1)
/client/proc/readmin_self()
set name = "Re-Admin self"
@@ -535,7 +535,7 @@
to_chat(T, "<span class='filter_system notice'>Move along.</span>")
log_admin("[key_name(usr)] told [key_name(T)] to man up and deal with it.")
message_admins("<font color='blue'>[key_name_admin(usr)] told [key_name(T)] to man up and deal with it.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] told [key_name(T)] to man up and deal with it."), 1)
/client/proc/global_man_up()
set category = "Fun"
@@ -549,7 +549,7 @@
T << 'sound/voice/ManUp1.ogg'
log_admin("[key_name(usr)] told everyone to man up and deal with it.")
message_admins("<font color='blue'>[key_name_admin(usr)] told everyone to man up and deal with it.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] told everyone to man up and deal with it."), 1)
/client/proc/give_spell(mob/T as mob in mob_list) // -- Urist
set category = "Fun"
@@ -560,4 +560,4 @@
T.spell_list += new S
feedback_add_details("admin_verb","GS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] gave [key_name(T)] the spell [S].")
message_admins("<font color='blue'>[key_name_admin(usr)] gave [key_name(T)] the spell [S].</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] gave [key_name(T)] the spell [S]."), 1)

View File

@@ -39,12 +39,12 @@
testname = replacetext(testname, "()", "")
if(targetselected && !hascall(target,testname))
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Error: callproc(): type [target.type] has no proc named [procname].</font></span>")
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc(): type [target.type] has no proc named [procname].") + "</span>")
return
else
var/procpath = text2path(procname)
if (!procpath)
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)</font></span>")
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc(): proc [procname] does not exist. (Did you forget the /proc/ part?)") + "</span>")
return
var/list/lst = get_callproc_args()
if(!lst)
@@ -52,7 +52,7 @@
if(targetselected)
if(!target)
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Error: callproc(): owner of proc no longer exists.</font></span>")
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc(): owner of proc no longer exists.") + "</span>")
return
var/msg = "[key_name(src)] called [target]'s [procname]() with [lst.len ? "the arguments [list2params(lst)]":"no arguments"]."
log_admin(msg)
@@ -140,7 +140,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
if(!procname)
return
if(!hascall(A,procname))
to_chat(usr, "<span class='filter_adminlog'><font color='red'>Error: callproc_datum(): type [A.type] has no proc named [procname].</font></span>")
to_chat(usr, "<span class='filter_adminlog'>" + span_red("Error: callproc_datum(): type [A.type] has no proc named [procname].") + "</span>")
return
var/list/lst = get_callproc_args()
if(!lst)
@@ -190,7 +190,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
. = ""
if(islist(returnval))
var/list/returnedlist = returnval
. = "<font color='blue'>"
. = "<span class='blue'>"
if(returnedlist.len)
var/assoc_check = returnedlist[1]
if(istext(assoc_check) && (returnedlist[assoc_check] != null))
@@ -204,7 +204,7 @@ GLOBAL_PROTECT(AdminProcCallSpamPrevention)
. += "\n[elem]"
else
. = "[procname] returned an empty list"
. += "</font>"
. += "</span>"
else
. = "<font color='blue'>[procname] returned: [!isnull(returnval) ? returnval : "null"]</font>"
. = span_blue("[procname] returned: [!isnull(returnval) ? returnval : "null"]")

View File

@@ -141,7 +141,7 @@ var/savefile/Banlistjob
Banlistjob.cd = "/base"
if ( Banlistjob.dir.Find("[ckey][computerid][rank]") )
to_chat(usr,"<font color='red'>Banjob already exists.</font>")
to_chat(usr, span_red("Banjob already exists."))
return 0
else
Banlistjob.dir.Add("[ckey][computerid][rank]")

View File

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

View File

@@ -37,7 +37,7 @@
infos += P
info << infos
message_admins("<font color='blue'>[key_name_admin(user)] has edited [key]'s notes.</font>")
message_admins(span_blue("[key_name_admin(user)] has edited [key]'s notes."))
log_admin("[key_name(user)] has edited [key]'s notes.")
admin_action_message(P.author, key, "added note on", note, 0) //VOREStation Add
del(info) // savefile, so NOT qdel
@@ -62,7 +62,7 @@
infos.Remove(item)
info << infos
message_admins("<font color='blue'>[key_name_admin(usr)] deleted one of [key]'s notes.</font>")
message_admins(span_blue("[key_name_admin(usr)] deleted one of [key]'s notes."))
log_admin("[key_name(usr)] deleted one of [key]'s notes.")
admin_action_message(usr.key, key, "deleted note on", "\[Note gone\]", 0) //VOREStation Add
qdel(info)

View File

@@ -237,7 +237,7 @@
if (emergency_shuttle.can_call())
emergency_shuttle.call_evac()
log_admin("[key_name(usr)] called the Emergency Shuttle")
message_admins("<font color='blue'>[key_name_admin(usr)] called the Emergency Shuttle to the station.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] called the Emergency Shuttle to the station."), 1)
if("2")
if (!( ticker ) || !emergency_shuttle.location())
@@ -245,12 +245,12 @@
if (emergency_shuttle.can_call())
emergency_shuttle.call_evac()
log_admin("[key_name(usr)] called the Emergency Shuttle")
message_admins("<font color='blue'>[key_name_admin(usr)] called the Emergency Shuttle to the station.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] called the Emergency Shuttle to the station."), 1)
else if (emergency_shuttle.can_recall())
emergency_shuttle.recall()
log_admin("[key_name(usr)] sent the Emergency Shuttle back")
message_admins("<font color='blue'>[key_name_admin(usr)] sent the Emergency Shuttle back.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] sent the Emergency Shuttle back."), 1)
href_list["secretsadmin"] = "check_antagonist"
@@ -263,14 +263,14 @@
emergency_shuttle.launch_time = world.time + new_time_left*10
log_admin("[key_name(usr)] edited the Emergency Shuttle's launch time to [new_time_left]")
message_admins("<font color='blue'>[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's launch time to [new_time_left*10]"), 1)
else if (emergency_shuttle.shuttle.has_arrive_time())
var/new_time_left = tgui_input_number(usr, "Enter new shuttle arrival time (seconds):","Edit Shuttle Arrival Time", emergency_shuttle.estimate_arrival_time() )
emergency_shuttle.shuttle.arrive_time = world.time + new_time_left*10
log_admin("[key_name(usr)] edited the Emergency Shuttle's arrival time to [new_time_left]")
message_admins("<font color='blue'>[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] edited the Emergency Shuttle's arrival time to [new_time_left*10]"), 1)
else
tgui_alert_async(usr, "The shuttle is neither counting down to launch nor is it in transit. Please try again when it is.")
@@ -281,7 +281,7 @@
ticker.delay_end = !ticker.delay_end
log_admin("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].")
message_admins("<font color='blue'>[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"].</font>", 1)
message_admins(span_blue("[key_name(usr)] [ticker.delay_end ? "delayed the round end" : "has made the round end normally"]."), 1)
href_list["secretsadmin"] = "check_antagonist"
else if(href_list["simplemake"])
@@ -299,7 +299,7 @@
if("Yes") delmob = 1
log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]")
message_admins("<font color='blue'>[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]"), 1)
switch(href_list["simplemake"])
if("observer") M.change_mob_type( /mob/observer/dead , null, null, delmob )
@@ -379,7 +379,7 @@
log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]")
ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]")
message_admins("<font color='blue'>[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]"), 1)
Banlist.cd = "/base/[banfolder]"
Banlist["reason"] << reason
Banlist["temp"] << temp
@@ -807,10 +807,10 @@
else
msg += ", [job]"
notes_add(M.ckey, "Banned from [msg] - [reason]", usr)
message_admins("<font color='blue'>[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes</font>", 1)
to_chat(M, "<span class='filter_system'><font color='red'><BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG></font></span>")
to_chat(M, "<span class='filter_system'><font color='red'><B>The reason is: [reason]</B></font></span>")
to_chat(M, "<span class='filter_system'><font color='red'>This jobban will be lifted in [mins] minutes.</font></span>")
message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes"), 1)
to_chat(M, "<span class='filter_system'>[span_red("<BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("<B>The reason is: [reason]</B>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("This jobban will be lifted in [mins] minutes.")]</span>")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("No")
@@ -828,10 +828,10 @@
if(!msg) msg = job
else msg += ", [job]"
notes_add(M.ckey, "Banned from [msg] - [reason]", usr)
message_admins("<font color='blue'>[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]</font>", 1)
to_chat(M, "<span class='filter_system'><font color='red'><BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG></font></span>")
to_chat(M, "<span class='filter_system'><font color='red'><B>The reason is: [reason]</B></font></span>")
to_chat(M, "<span class='filter_system'><font color='red'>Jobban can be lifted only upon request.</font></span>")
message_admins(span_blue("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]"), 1)
to_chat(M, "<span class='filter_system'>[span_red("<BIG><B>You have been jobbanned by [usr.client.ckey] from: [msg].</B></BIG>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("<B>The reason is: [reason]</B>")]</span>")
to_chat(M, "<span class='filter_system'>[span_red("Jobban can be lifted only upon request.")]</span>")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("Cancel")
@@ -861,7 +861,7 @@
else
continue
if(msg)
message_admins("<font color='blue'>[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] unbanned [key_name_admin(M)] from [msg]"), 1)
to_chat(M, "<span class='filter_system danger'><BIG>You have been un-jobbanned by [usr.client.ckey] from [msg].</BIG></span>")
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
@@ -878,7 +878,7 @@
to_chat(M, span("filter_system critical", "You have been kicked from the server: [reason]"))
log_admin("[key_name(usr)] booted [key_name(M)] for reason: '[reason]'.")
message_admins("<font color='blue'>[key_name_admin(usr)] booted [key_name_admin(M)] for reason '[reason]'.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] booted [key_name_admin(M)] for reason '[reason]'."), 1)
//M.client = null
admin_action_message(usr.key, M.key, "kicked", reason, 0) //VOREStation Add
qdel(M.client)
@@ -890,7 +890,7 @@
if(t)
if((tgui_alert(usr, "Do you want to unjobban [t]?","Unjobban confirmation", list("Yes", "No")) == "Yes") && t) //No more misclicks! Unless you do it twice.
log_admin("[key_name(usr)] removed [t]")
message_admins("<font color='blue'>[key_name_admin(usr)] removed [t]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] removed [t]"), 1)
jobban_remove(t)
href_list["ban"] = 1 // lets it fall through and refresh
var/t_split = splittext(t, " - ")
@@ -937,7 +937,7 @@
else
to_chat(M, "<span class='filter_system warning'>No ban appeals URL has been set.</span>")
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
message_admins("<font color='blue'>[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.</font>")
message_admins(span_blue("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis will be removed in [mins] minutes."))
// CHOMPedit Start - Tickets System
var/datum/ticket/T = M.client ? M.client.current_ticket : null
if(T)
@@ -965,7 +965,7 @@
ban_unban_log_save("[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.")
notes_add(M.ckey,"[usr.client.ckey] has permabanned [M.ckey]. - Reason: [reason] - This is a permanent ban.",usr)
log_admin("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.")
message_admins("<font color='blue'>[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban.</font>")
message_admins(span_blue("[usr.client.ckey] has banned [M.ckey].\nReason: [reason]\nThis is a permanent ban."))
feedback_inc("ban_perma",1)
DB_ban_record(BANTYPE_PERMA, M, -1, reason)
// CHOMPedit Start - Tickets System
@@ -1025,8 +1025,8 @@
return tgui_alert_async(usr, "The game has already started.")
master_mode = href_list["c_mode2"]
log_admin("[key_name(usr)] set the mode as [config.mode_names[master_mode]].")
message_admins("<font color='blue'>[key_name_admin(usr)] set the mode as [config.mode_names[master_mode]].</font>", 1)
to_world("<font color='blue'><b>The mode is now: [config.mode_names[master_mode]]</b></font>")
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>"))
Game() // updates the main game menu
world.save_mode(master_mode)
.(href, list("c_mode"=1))
@@ -1040,7 +1040,7 @@
return tgui_alert_async(usr, "The game mode has to be secret!")
secret_force_mode = href_list["f_secret2"]
log_admin("[key_name(usr)] set the forced secret mode as [secret_force_mode].")
message_admins("<font color='blue'>[key_name_admin(usr)] set the forced secret mode as [secret_force_mode].</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] set the forced secret mode as [secret_force_mode]."), 1)
Game() // updates the main game menu
.(href, list("f_secret"=1))
@@ -1053,7 +1053,7 @@
return
log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]")
message_admins("<font color='blue'>[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]"), 1)
H.monkeyize()
else if(href_list["corgione"])
@@ -1065,7 +1065,7 @@
return
log_admin("[key_name(usr)] attempting to corgize [key_name(H)]")
message_admins("<font color='blue'>[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]"), 1)
H.corgize()
else if(href_list["forcespeech"])
@@ -1080,7 +1080,7 @@
M.say(speech)
speech = sanitize(speech) // Nah, we don't trust them
log_admin("[key_name(usr)] forced [key_name(M)] to say: [speech]")
message_admins("<font color='blue'>[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]</font>")
message_admins(span_blue("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]"))
else if(href_list["sendtoprison"])
if(!check_rights(R_ADMIN)) return
@@ -1120,7 +1120,7 @@
to_chat(M, "<span class='filter_system warning'>You have been sent to the prison station!</span>")
log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.")
message_admins("<font color='blue'>[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1)
else if(href_list["sendbacktolobby"])
if(!check_rights(R_ADMIN))
@@ -1256,7 +1256,7 @@
if(config.allow_admin_rev)
L.revive()
message_admins("<font color='red'>Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!</font>", 1)
message_admins(span_red("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1)
log_admin("[key_name(usr)] healed / Rrvived [key_name(L)]")
else
to_chat(usr, "<span class='filter_adminlog filter_warning'>Admin Rejuvinates have been disabled</span>")
@@ -1269,7 +1269,7 @@
to_chat(usr, "<span class='filter_adminlog'>This can only be used on instances of type /mob/living/carbon/human</span>")
return
message_admins("<font color='red'>Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!</font>", 1)
message_admins(span_red("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1)
log_admin("[key_name(usr)] AIized [key_name(H)]")
H.AIize()
@@ -1409,7 +1409,7 @@
//Job + antagonist
if(M.mind)
special_role_description = "Role: <b>[M.mind.assigned_role]</b>; Antagonist: <font color='red'><b>[M.mind.special_role]</b></font>; Has been rev: [(M.mind.has_been_rev)?"Yes":"No"]"
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"]"
else
special_role_description = "Role: <i>Mind datum missing</i> Antagonist: <i>Mind datum missing</i>; Has been rev: <i>Mind datum missing</i>;"
@@ -1419,8 +1419,8 @@
var/status
switch (M.stat)
if (0) status = "Alive"
if (1) status = "<font color='orange'><b>Unconscious</b></font>"
if (2) status = "<font color='red'><b>Dead</b></font>"
if (1) status = span_orange("<b>Unconscious</b>")
if (2) status = span_red("<b>Dead</b>")
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
@@ -1429,7 +1429,7 @@
//Gener
switch(M.gender)
if(MALE,FEMALE) gender_description = "[M.gender]"
else gender_description = "<font color='red'><b>[M.gender]</b></font>"
else gender_description = span_red("<b>[M.gender]</b>")
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>\

View File

@@ -1046,7 +1046,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
else if(char == "'")
if(word != "")
to_chat(usr, "<font color='red'>SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"<font color=gray>[query_text]</font>\" following \"<font color=gray>[word]</font>\". Please check your syntax, and try again.</font>")
to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[span_gray("[query_text]")]\" following \"[span_gray("[word]")]\". Please check your syntax, and try again."))
return null
word = "'"
@@ -1066,7 +1066,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
word += char
if(i > len)
to_chat(usr, "<font color='red'>SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"<font color=gray>[query_text]</font>\". Please check your syntax, and try again.</font>")
to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[span_gray("[query_text]")]\". Please check your syntax, and try again."))
return null
query_list += "[word]'"
@@ -1074,7 +1074,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
else if(char == "\"")
if(word != "")
to_chat(usr, "<font color='red'>SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"<font color=gray>[query_text]</font>\" following \"<font color=gray>[word]</font>\". Please check your syntax, and try again.</font>")
to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[span_gray("[query_text]")]\" following \"[span_gray("[word]")]\". Please check your syntax, and try again."))
return null
word = "\""
@@ -1094,7 +1094,7 @@ GLOBAL_DATUM_INIT(sdql2_vv_statobj, /obj/effect/statclick/SDQL2_VV_all, new(null
word += char
if(i > len)
to_chat(usr, "<font color='red'>SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"<font color=gray>[query_text]</font>\". Please check your syntax, and try again.</font>")
to_chat(usr, span_red("SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[span_gray("[query_text]")]\". Please check your syntax, and try again."))
return null
query_list += "[word]\""

View File

@@ -196,7 +196,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(is_bwoink)
AddInteraction("<font color='blue'>[key_name_admin(usr)] PM'd [LinkedReplyName()]</font>")
message_admins("<font color='blue'>Ticket [TicketHref("#[id]")] created</font>")
message_admins(span_blue("Ticket [TicketHref("#[id]")] created"))
else
MessageNoRecipient(parsed_message)
send2adminchat() //VOREStation Add
@@ -319,7 +319,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
AddInteraction("<font color='purple'>Reopened by [key_name_admin(usr)]</font>")
if(initiator)
to_chat(initiator, "<span class='filter_adminlog'><font color='purple'>Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].</font></span>")
to_chat(initiator, "<span class='filter_adminlog'>[span_purple("Ticket [TicketHref("#[id]")] was reopened by [key_name(usr,FALSE,FALSE)].")]</span>")
var/msg = "<span class='adminhelp'>Ticket [TicketHref("#[id]")] reopened by [key_name_admin(usr)].</span>"
message_admins(msg)
log_admin(msg)
@@ -353,7 +353,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
GLOB.ahelp_tickets.ListInsert(src)
AddInteraction("<span class='filter_adminlog'><font color='red'>Closed by [key_name_admin(usr)].</font></span>")
if(initiator)
to_chat(initiator, "<span class='filter_adminlog'><font color='red'>Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].</font></span>")
to_chat(initiator, "<span class='filter_adminlog'>[span_red("Ticket [TicketHref("#[id]")] was closed by [key_name(usr,FALSE,FALSE)].")]</span>")
if(!silent)
feedback_inc("ahelp_close")
var/msg = "Ticket [TicketHref("#[id]")] closed by [key_name_admin(usr)]."
@@ -378,7 +378,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
AddInteraction("<span class='filter_adminlog'><font color='green'>Resolved by [key_name_admin(usr)].</font></span>")
if(initiator)
to_chat(initiator, "<span class='filter_adminlog'><font color='green'>Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].</font></span>")
to_chat(initiator, "<span class='filter_adminlog'>[span_green("Ticket [TicketHref("#[id]")] was marked resolved by [key_name(usr,FALSE,FALSE)].")]</span>")
if(!silent)
feedback_inc("ahelp_resolve")
var/msg = "Ticket [TicketHref("#[id]")] resolved by [key_name_admin(usr)]"
@@ -402,8 +402,8 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(initiator.is_preference_enabled(/datum/client_preference/holder/play_adminhelp_ping))
initiator << 'sound/effects/adminhelp.ogg'
to_chat(initiator, "<span class='filter_pm'><font color='red' size='4'><b>- AdminHelp Rejected! -</b></font><br>\
<font color='red'><b>Your admin help was rejected.</b></font><br>\
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>")
feedback_inc("ahelp_reject")
@@ -426,9 +426,9 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(state != AHELP_ACTIVE)
return
var/msg = "<span class='filter_pm'><font color='red' size='4'><b>- AdminHelp marked as IC issue! -</b></font><br>"
msg += "<font color='red'><b>This is something that can be solved ICly, and does not currently require staff intervention.</b></font><br>"
msg += "<font color='red'>Your AdminHelp may also be unanswerable due to ongoing events.</font></span>"
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>"
if(initiator)
to_chat(initiator, msg)
@@ -453,7 +453,7 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
if(state != AHELP_ACTIVE)
return
var/msg = "<font color='red'>Your AdminHelp is being handled by [key_name(usr,FALSE,FALSE)] please be patient.</font>"
var/msg = span_red("Your AdminHelp is being handled by [key_name(usr,FALSE,FALSE)] please be patient.")
if(initiator)
to_chat(initiator, msg)

View File

@@ -84,11 +84,11 @@
var/datum/gas_mixture/env = T.return_air()
var/t = "<font color='blue'>Coordinates: [T.x],[T.y],[T.z]\n</font>"
t += "<font color='red'>Temperature: [env.temperature]\n</font>"
t += "<font color='red'>Pressure: [env.return_pressure()]kPa\n</font>"
var/t = span_blue("Coordinates: [T.x],[T.y],[T.z]\n")
t += span_red("Temperature: [env.temperature]\n")
t += span_red("Pressure: [env.return_pressure()]kPa\n")
for(var/g in env.gas)
t += "<font color='blue'>[g]: [env.gas[g]] / [env.gas[g] * R_IDEAL_GAS_EQUATION * env.temperature / env.volume]kPa\n</font>"
t += span_blue("[g]: [env.gas[g]] / [env.gas[g] * R_IDEAL_GAS_EQUATION * env.temperature / env.volume]kPa\n")
usr.show_message(t, 1)
feedback_add_details("admin_verb","ASL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -301,7 +301,7 @@
tgui_alert_async(usr, "Invalid mob")
feedback_add_details("admin_verb","GFA") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(src)] has granted [M.key] full access.")
message_admins("<font color='blue'>[key_name_admin(usr)] has granted [M.key] full access.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] has granted [M.key] full access."), 1)
/client/proc/cmd_assume_direct_control(var/mob/M in mob_list)
set category = "Admin"
@@ -315,7 +315,7 @@
else
var/mob/observer/dead/ghost = new/mob/observer/dead(M,1)
ghost.ckey = M.ckey
message_admins("<font color='blue'>[key_name_admin(usr)] assumed direct control of [M].</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] assumed direct control of [M]."), 1)
log_admin("[key_name(usr)] assumed direct control of [M].")
var/mob/adminmob = src.mob
M.ckey = src.ckey
@@ -567,7 +567,7 @@
SMES.output_level = 75000
if(!found_the_pump && response == "Setup Completely")
to_chat(src, "<font color='red'>Unable to locate air supply to fill up with coolant, adding some coolant around the supermatter</font>")
to_chat(src, span_red("Unable to locate air supply to fill up with coolant, adding some coolant around the supermatter"))
var/turf/simulated/T = SM.loc
T.zone.air.gas["nitrogen"] += 450
T.zone.air.temperature = 50
@@ -575,7 +575,7 @@
log_admin("[key_name(usr)] setup the supermatter engine [response == "Setup except coolant" ? "without coolant" : ""]")
message_admins("<font color='blue'>[key_name_admin(usr)] setup the supermatter engine [response == "Setup except coolant" ? "without coolant": ""]</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] setup the supermatter engine [response == "Setup except coolant" ? "without coolant": ""]"), 1)
return

View File

@@ -24,16 +24,16 @@
set category = null
if(!src.holder)
to_chat(src, "<font color='red'>Only Admins may use this command.</font>")
to_chat(src, span_red("Only Admins may use this command."))
return
var/client/target = tgui_input_list(src,"Choose somebody to grant access to the server's runtime logs (permissions expire at the end of each round):","Grant Permissions", GLOB.clients)
if(!istype(target,/client))
to_chat(src, "<font color='red'>Error: giveruntimelog(): Client not found.</font>")
to_chat(src, span_red("Error: giveruntimelog(): Client not found."))
return
target.verbs |= /client/proc/getruntimelog
to_chat(target, "<font color='red'>You have been granted access to runtime logs. Please use them responsibly or risk being banned.</font>")
to_chat(target, span_red("You have been granted access to runtime logs. Please use them responsibly or risk being banned."))
return
@@ -89,7 +89,7 @@
if( fexists(path) )
src << run( file(path) )
else
to_chat(src, "<font color='red'>Error: view_txt_log(): File not found/Invalid path([path]).</font>")
to_chat(src, span_red("Error: view_txt_log(): File not found/Invalid path([path])."))
return
feedback_add_details("admin_verb","VTL") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return

View File

@@ -218,7 +218,7 @@ var/list/debug_verbs = list (
var/turf/simulated/location = get_turf(usr)
if(!istype(location, /turf/simulated)) // We're in space, let's not cause runtimes.
to_chat(usr, "<font color='red'>this debug tool cannot be used from space</font>")
to_chat(usr, span_red("this debug tool cannot be used from space"))
return
var/icon/red = new('icons/misc/debug_group.dmi', "red") //created here so we don't have to make thousands of these.
@@ -227,10 +227,10 @@ var/list/debug_verbs = list (
if(!usedZAScolors)
to_chat(usr, "ZAS Test Colors")
to_chat(usr, "Green = Zone you are standing in")
to_chat(usr, "Blue = Connected zone to the zone you are standing in")
to_chat(usr, "Yellow = A zone that is connected but not one adjacent to your connected zone")
to_chat(usr, "Red = Not connected")
to_chat(usr, "[span_green("Green")] = Zone you are standing in")
to_chat(usr, "[span_blue("Blue")] = Connected zone to the zone you are standing in")
to_chat(usr, "[span_yellow("Yellow")] = A zone that is connected but not one adjacent to your connected zone")
to_chat(usr, "[span_red("Red")] = Not connected")
usedZAScolors = 1
testZAScolors_zones += location.zone
@@ -362,7 +362,7 @@ var/global/prevent_airgroup_regroup = 0
set category = "Mapping"
set name = "Regroup All Airgroups Attempt"
to_chat(usr, "<font color='red'>Proc disabled.</font>") //Why not.. Delete the procs instead?
to_chat(usr, span_red("Proc disabled.")) //Why not.. Delete the procs instead?
/*prevent_airgroup_regroup = 0
for(var/datum/air_group/AG in air_master.air_groups)
@@ -373,7 +373,7 @@ var/global/prevent_airgroup_regroup = 0
set category = "Mapping"
set name = "Kill pipe processing"
to_chat(usr, "<font color='red'>Proc disabled.</font>")
to_chat(usr, span_red("Proc disabled."))
/*pipe_processing_killed = !pipe_processing_killed
if(pipe_processing_killed)
@@ -385,7 +385,7 @@ var/global/prevent_airgroup_regroup = 0
set category = "Mapping"
set name = "Kill air processing"
to_chat(usr, "<font color='red'>Proc disabled.</font>")
to_chat(usr, span_red("Proc disabled."))
/*air_processing_killed = !air_processing_killed
if(air_processing_killed)
@@ -399,7 +399,7 @@ var/global/say_disabled = 0
set category = "Mapping"
set name = "Disable all communication verbs"
to_chat(usr, "<font color='red'>Proc disabled.</font>")
to_chat(usr, span_red("Proc disabled."))
/*say_disabled = !say_disabled
if(say_disabled)
@@ -414,7 +414,7 @@ var/global/movement_disabled_exception //This is the client that calls the proc,
set category = "Mapping"
set name = "Disable all movement"
to_chat(usr, "<font color='red'>Proc disabled.</font>")
to_chat(usr, span_red("Proc disabled."))
/*movement_disabled = !movement_disabled
if(movement_disabled)

View File

@@ -3,7 +3,7 @@
set name = "Pray"
if(say_disabled) //This is here to try to identify lag problems
to_chat(usr, "<font color='red'>Speech is currently admin-disabled.</font>")
to_chat(usr, span_red("Speech is currently admin-disabled."))
return
var/raw_msg = sanitize(tgui_input_text(usr, "Prayers are sent to staff but do not open tickets or go to Discord. If you have a technical difficulty or an event/spice idea/hook - please ahelp instead. Thank you!", "Pray", null, MAX_MESSAGE_LEN))
@@ -13,11 +13,11 @@
if(raw_msg)
client.handle_spam_prevention(MUTE_PRAY)
if(usr.client.prefs.muted & MUTE_PRAY)
to_chat(usr, "<font color='red'> You cannot pray (muted).</font>")
to_chat(usr, span_red("You cannot pray (muted)."))
return
var/icon/cross = icon('icons/obj/storage.dmi',"bible")
var/msg = "<span class='filter_pray'><font color='blue'>\icon[cross][bicon(cross)] <b><font color=purple>PRAY: </font>[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]:</b> [raw_msg]</font></span>"
var/msg = "<span class='filter_pray'>" + span_blue("\icon[cross][bicon(cross)] <b>" + span_purple("PRAY: ") + "[key_name(src, 1)] [ADMIN_QUE(src)] [ADMIN_PP(src)] [ADMIN_VV(src)] [ADMIN_SM(src)] ([admin_jump_link(src, src)]) [ADMIN_CA(src)] [ADMIN_SC(src)] [ADMIN_SMITE(src)]:</b> [raw_msg]") + "</span>"
for(var/client/C in GLOB.admins)
if(R_ADMIN|R_EVENT & C.holder.rights)
@@ -30,14 +30,14 @@
log_pray(raw_msg, src)
/proc/CentCom_announce(var/msg, var/mob/Sender, var/iamessage)
msg = "<font color='blue'><b><font color=orange>[uppertext(using_map.boss_short)]M[iamessage ? " IA" : ""]:</font>[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]</font>"
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]")
for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins
if(R_ADMIN|R_EVENT & C.holder.rights)
to_chat(C,msg)
C << 'sound/machines/signal.ogg'
/proc/Syndicate_announce(var/msg, var/mob/Sender)
msg = "<font color='blue'><b><font color=crimson>ILLEGAL:</font>[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]</font>"
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]")
for(var/client/C in GLOB.admins) //VOREStation Edit - GLOB admins
if(R_ADMIN|R_EVENT & C.holder.rights)
to_chat(C,msg)

View File

@@ -39,9 +39,9 @@
prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/prison(prisoner), slot_w_uniform)
prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), slot_shoes)
spawn(50)
to_chat(M, "<font color='red'>You have been sent to the prison station!</font>")
to_chat(M, span_red("You have been sent to the prison station!"))
log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.")
message_admins("<font color='blue'>[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1)
feedback_add_details("admin_verb","PRISON") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
//Allows staff to determine who the newer players are.
@@ -123,7 +123,7 @@
to_world("[msg]")
log_admin("GlobalNarrate: [key_name(usr)] : [msg]")
message_admins("<font color='blue'><B> GlobalNarrate: [key_name_admin(usr)] : [msg]<BR></B></font>", 1)
message_admins(span_blue("<B> GlobalNarrate: [key_name_admin(usr)] : [msg]<BR></B>"), 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
@@ -161,7 +161,7 @@
return
M.status_flags ^= GODMODE
to_chat(usr, "<font color='blue'> Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]</font>")
to_chat(usr, span_blue("Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]"))
log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]")
var/msg = "[key_name_admin(usr)] has toggled [ADMIN_LOOKUPFLW(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]"
@@ -178,12 +178,12 @@
if(!usr || !usr.client)
return
if(!usr.client.holder)
to_chat(usr, "<font color='red'>Error: cmd_admin_mute: You don't have permission to do this.</font>")
to_chat(usr, span_red("Error: cmd_admin_mute: You don't have permission to do this."))
return
if(!M.client)
to_chat(usr, "<font color='red'>Error: cmd_admin_mute: This mob doesn't have a client tied to it.</font>")
to_chat(usr, span_red("Error: cmd_admin_mute: This mob doesn't have a client tied to it."))
if(M.client.holder)
to_chat(usr, "<font color='red'>Error: cmd_admin_mute: You cannot mute an admin/mod.</font>")
to_chat(usr, span_red("Error: cmd_admin_mute: You cannot mute an admin/mod."))
if(!M.client)
return
if(M.client.holder)
@@ -324,18 +324,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, "<font color='red'><B>The Administrator has disabled AntagHUD </B></font>")
to_chat(g, span_red("<B>The Administrator has disabled AntagHUD </B>"))
config.antag_hud_allowed = 0
to_chat(src, "<font color='red'><B>AntagHUD usage has been disabled</B></font>")
to_chat(src, span_red("<B>AntagHUD usage has been disabled</B>"))
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
g.verbs += /mob/observer/dead/verb/toggle_antagHUD
to_chat(g, "<font color='blue'><B>The Administrator has enabled AntagHUD </B></font>") // Notify all observers they can now use AntagHUD
to_chat(g, span_blue("<B>The Administrator has enabled AntagHUD </B>")) // Notify all observers they can now use AntagHUD
config.antag_hud_allowed = 1
action = "enabled"
to_chat(src, "<font color='blue'><B>AntagHUD usage has been enabled</B></font>")
to_chat(src, span_blue("<B>AntagHUD usage has been enabled</B>"))
log_admin("[key_name(usr)] has [action] antagHUD usage for observers")
@@ -354,19 +354,19 @@ Ccomp's first proc.
var/action=""
if(config.antag_hud_restricted)
for(var/mob/observer/dead/g in get_ghosts())
to_chat(g, "<font color='blue'><B>The administrator has lifted restrictions on joining the round if you use AntagHUD</B></font>")
to_chat(g, span_blue("<B>The administrator has lifted restrictions on joining the round if you use AntagHUD</B>"))
action = "lifted restrictions"
config.antag_hud_restricted = 0
to_chat(src, "<font color='blue'><B>AntagHUD restrictions have been lifted</B></font>")
to_chat(src, span_blue("<B>AntagHUD restrictions have been lifted</B>"))
else
for(var/mob/observer/dead/g in get_ghosts())
to_chat(g, "<font color='red'><B>The administrator has placed restrictions on joining the round if you use AntagHUD</B></font>")
to_chat(g, "<font color='red'><B>Your AntagHUD has been disabled, you may choose to re-enabled it but will be under restrictions </B></font>")
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>"))
g.antagHUD = 0
g.has_enabled_antagHUD = 0
action = "placed restrictions"
config.antag_hud_restricted = 1
to_chat(src, "<font color='red'><B>AntagHUD restrictions have been enabled</B></font>")
to_chat(src, span_red("<B>AntagHUD restrictions have been enabled</B>"))
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)
@@ -605,7 +605,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
else
M.add_ion_law(input)
for(var/mob/living/silicon/ai/O in mob_list)
to_chat(O,input + "<font color='red'>... LAWS UPDATED!</font>")
to_chat(O,input + span_red("... LAWS UPDATED!"))
O.show_laws()
log_admin("Admin [key_name(usr)] has added a new AI law - [input]")
@@ -660,7 +660,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
if("Yes")
command_announcement.Announce(input, customname, new_sound = 'sound/AI/commandreport.ogg', msg_sanitized = 1);
if("No")
to_world("<font color='red'>New [using_map.company_name] Update available at all communication consoles.</font>")
to_world(span_red("New [using_map.company_name] Update available at all communication consoles."))
world << sound('sound/AI/commandreport.ogg')
log_admin("[key_name(src)] has created a command report: [input]")
@@ -778,7 +778,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
mob.gib()
log_admin("[key_name(usr)] used gibself.")
message_admins("<font color='blue'>[key_name_admin(usr)] used gibself.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] used gibself."), 1)
feedback_add_details("admin_verb","GIBS") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/*
/client/proc/cmd_manual_ban()
@@ -935,7 +935,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
feedback_add_details("admin_verb","CSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] admin-called the emergency shuttle.")
message_admins("<font color='blue'>[key_name_admin(usr)] admin-called the emergency shuttle.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] admin-called the emergency shuttle."), 1)
return
/client/proc/admin_cancel_shuttle()
@@ -952,7 +952,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
emergency_shuttle.recall()
feedback_add_details("admin_verb","CCSHUT") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(usr)] admin-recalled the emergency shuttle.")
message_admins("<font color='blue'>[key_name_admin(usr)] admin-recalled the emergency shuttle.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] admin-recalled the emergency shuttle."), 1)
return
@@ -974,7 +974,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, "<font color='red'><b>Attack Log for [mob]</b></font>")
to_chat(usr, span_red("<b>Attack Log for [mob]</b>"))
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!
@@ -1006,7 +1006,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("<font color='blue'><b>Admin [usr.key] has forced the players to have completely random identities!</font></b>")
to_world(span_blue("<b>Admin [usr.key] has forced the players to have completely random identities!</b>"))
to_chat(usr, "<i>Remember: you can always disable the randomness by using the verb again, assuming the round hasn't started yet</i>.")

View File

@@ -2,7 +2,7 @@
set category = "Special Verbs"
set name = "Spawn Character As Mob"
set desc = "Spawn a specified ckey as a chosen mob."
if(!holder)
return
@@ -95,7 +95,7 @@
if(M.z == pos_z)
to_chat(M, msg)
log_admin("ZNarrate: [key_name(usr)] : [msg]")
message_admins("<font color='blue'><B> ZNarrate: [key_name_admin(usr)] : [msg]<BR></B></font>", 1)
message_admins(span_blue("<B> ZNarrate: [key_name_admin(usr)] : [msg]<BR></B>"), 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)
@@ -107,10 +107,10 @@
target.vantag_hud = FALSE
target.recalculate_vis()
to_chat(src, "You removed the event HUD from [key_name(target)].")
to_chat(target, "You no longer have the event HUD.")
to_chat(target, "You no longer have the event HUD.")
else
target.vantag_hud = TRUE
target.recalculate_vis()
to_chat(src, "You gave the event HUD to [key_name(target)].")
to_chat(target, "You now have the event HUD. Icons will appear next to characters indicating if they prefer to be killed(red crosshairs), devoured(belly), or kidnapped(blue crosshairs) by event characters.")
feedback_add_details("admin_verb","GREHud") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
to_chat(target, "You now have the event HUD. Icons will appear next to characters indicating if they prefer to be killed(red crosshairs), devoured(belly), or kidnapped(blue crosshairs) by event characters.")
feedback_add_details("admin_verb","GREHud") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!

View File

@@ -11,11 +11,11 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future
return
if(!ticker)
to_chat(usr, "<font color='red'>The game hasn't started yet!</font>")
to_chat(usr, span_red("The game hasn't started yet!"))
return
if(world.time < 6000)
to_chat(usr, "<font color='red'>There are [(6000-world.time)/10] seconds remaining before it may be called.</font>")
to_chat(usr, span_red("There are [(6000-world.time)/10] seconds remaining before it may be called."))
return
var/datum/antagonist/deathsquad/team
@@ -33,7 +33,7 @@ var/const/commandos_possible = 6 //if more Commandos are needed in the future
return
if(team.deployed)
to_chat(usr, "<font color='red'>Someone is already sending a team.</font>")
to_chat(usr, span_red("Someone is already sending a team."))
return
if(tgui_alert(usr, "Do you want to send in a strike team? Once enabled, this is irreversible.","Strike Team",list("Yes","No"))!="Yes")

View File

@@ -14,9 +14,9 @@
if(ticker.triai)
ticker.triai = 0
to_chat(usr, "Only one AI will be spawned at round start.")
message_admins("<font color='blue'>[key_name_admin(usr)] has toggled off triple AIs at round start.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] has toggled off triple AIs at round start."), 1)
else
ticker.triai = 1
to_chat(usr, "There will be an AI Triumvirate at round start.")
message_admins("<font color='blue'>[key_name_admin(usr)] has toggled on triple AIs at round start.</font>", 1)
message_admins(span_blue("[key_name_admin(usr)] has toggled on triple AIs at round start."), 1)
return

View File

@@ -31,7 +31,7 @@
qdel(src)
else
to_chat(user,"<font color='red'>You must hold \the [P] steady to burn \the [src].</font>")
to_chat(user, span_red("You must hold \the [P] steady to burn \the [src]."))
if(isliving(user))
var/mob/living/L = user

View File

@@ -32,20 +32,20 @@
/obj/item/weapon/deadringer/attack_self(var/mob/living/user as mob)
var/mob/living/H = src.loc
if (!istype(H, /mob/living/carbon/human))
to_chat(H,"<font color='blue'>You have no clue what to do with this thing.</font>")
to_chat(H, span_blue("You have no clue what to do with this thing."))
return
if(!activated)
if(timer == 0)
to_chat(H, "<font color='blue'>You press a small button on [src]'s side. It starts to hum quietly.</font>")
to_chat(H, span_blue("You press a small button on [src]'s side. It starts to hum quietly."))
bruteloss_prev = H.getBruteLoss()
fireloss_prev = H.getFireLoss()
activated = 1
return
else
to_chat(H,"<font color='blue'>You press a small button on [src]'s side. It buzzes a little.</font>")
to_chat(H, span_blue("You press a small button on [src]'s side. It buzzes a little."))
return
if(activated)
to_chat(H,"<font color='blue'>You press a small button on [src]'s side. It stops humming.</font>")
to_chat(H, span_blue("You press a small button on [src]'s side. It stops humming."))
activated = 0
return
@@ -58,9 +58,9 @@
deathprevent()
activated = 0
if(watchowner.isSynthetic())
to_chat(watchowner, "<font color='blue'>You fade into nothingness! [src]'s screen blinks, being unable to copy your synthetic body!</font>")
to_chat(watchowner, span_blue("You fade into nothingness! [src]'s screen blinks, being unable to copy your synthetic body!"))
else
to_chat(watchowner, "<font color='blue'>You fade into nothingness, leaving behind a fake body!</font>")
to_chat(watchowner, span_blue("You fade into nothingness, leaving behind a fake body!"))
icon_state = "deadringer_cd"
timer = 50
return

View File

@@ -41,7 +41,7 @@
H.updatehealth()
else if(ismouse(target))
var/mob/living/simple_mob/animal/passive/mouse/M = target
visible_message("<font color='red'><b>SPLAT!</b></font>")
visible_message(span_red("<b>SPLAT!</b>"))
M.splat()
playsound(target, 'sound/effects/snap.ogg', 50, 1)
layer = MOB_LAYER - 0.2
@@ -120,4 +120,4 @@
return
layer = HIDING_LAYER
to_chat(usr, "<span class='notice'>You hide [src].</span>")
to_chat(usr, "<span class='notice'>You hide [src].</span>")

View File

@@ -44,12 +44,12 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation)
update_icon()
wait = world.time + config.gateway_delay //+ thirty minutes default
if(GLOB.gateway_away)
awaygate = GLOB.gateway_away
else
awaygate = locate(/obj/machinery/gateway/centeraway)
. = ..()
density = TRUE //VOREStation Add
@@ -167,7 +167,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation)
if(dest)
M.forceMove(dest.loc)
M.set_dir(SOUTH)
//VOREStation Addition Start: Mcguffin time!
//VOREStation Addition Start: Mcguffin time!
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.client)
@@ -177,7 +177,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation)
//VOREStation Addition Start: Abduction!
if(istype(M, /mob/living) && dest.abductor)
var/mob/living/L = M
if(L.nutrition > 500)
if(L.nutrition > 500)
L.nutrition = 500 //If the aim is to negate people overpreparing, then they shouldn't be able to stuff themselves full of food either.
//Situations to get the mob out of
if(L.buckled)
@@ -225,7 +225,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation)
/obj/machinery/gateway/centerstation/attackby(obj/item/device/W as obj, mob/user as mob)
if(istype(W,/obj/item/device/multitool))
if(!awaygate)
if(!awaygate)
if(GLOB.gateway_away)
awaygate = GLOB.gateway_away
else
@@ -235,7 +235,7 @@ GLOBAL_DATUM(gateway_station, /obj/machinery/gateway/centerstation)
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.")
else
to_chat(user, "<font color='black'>The gate is already calibrated, there is no work for you to do here.</font>")
to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here."))
return
/////////////////////////////////////Away////////////////////////
@@ -257,9 +257,9 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway)
warning("[src] at [x],[y],[z] appears to be an additional away-gateway")
else
GLOB.gateway_away = src
update_icon()
if(GLOB.gateway_station)
stationgate = GLOB.gateway_station
else
@@ -338,7 +338,7 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway)
if(istype(M, /mob/living/carbon))
for(var/obj/item/weapon/implant/exile/E in M)//Checking that there is an exile implant in the contents
if(E.imp_in == M)//Checking that it's actually implanted vs just in their pocket
to_chat(M, "<font color='black'>The station gate has detected your exile implant and is blocking your entry.</font>")
to_chat(M, span_black("The station gate has detected your exile implant and is blocking your entry."))
return
M.forceMove(get_step(stationgate.loc, SOUTH))
M.set_dir(SOUTH)
@@ -349,7 +349,7 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway)
/obj/machinery/gateway/centeraway/attackby(obj/item/device/W as obj, mob/user as mob)
if(istype(W,/obj/item/device/multitool))
if(calibrated && stationgate)
to_chat(user, "<font color='black'>The gate is already calibrated, there is no work for you to do here.</font>")
to_chat(user, span_black("The gate is already calibrated, there is no work for you to do here."))
return
else
// VOREStation Add
@@ -362,6 +362,6 @@ GLOBAL_DATUM(gateway_away, /obj/machinery/gateway/centeraway)
return
// VOREStation Add End
else
to_chat(user, "<font color='blue'><b>Recalibration successful!</b>:</font><font color='black'> This gate's systems have been fine tuned. Travel to this gate will now be on target.</font>")
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."))
calibrated = 1
return

View File

@@ -15,7 +15,7 @@
return
if(istype(W,mcguffin_type) && !calibrated)
to_chat(user, "<span class='emote'>As the device nears the gateway, mechanical clunks and whirrs can be heard. <br><font color='blue'><b>Configuration successful! </b></font><br>This gate's systems have been fine tuned. Travel to this gate will now be on target.</span>")
to_chat(user, "<span class='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.</span>")
calibrated = 1
return
else
@@ -39,7 +39,7 @@
/obj/machinery/gateway/centeraway/proc/entrydetect()
return
/obj/machinery/gateway/centeraway/mcguffin/entrydetect()
if(key)
return
@@ -47,9 +47,9 @@
var/list/spawners = list()
for(var/obj/effect/landmark/mcguffin_spawner/sp in world)
spawners += sp
var/obj/effect/landmark/mcguffin_spawner/the_cool_one = pick(spawners)
var/atom/destination = get_turf(the_cool_one)
var/obj/structure/closet/CL = locate() in destination
if(CL)
@@ -76,4 +76,4 @@
//No, you can't digest the key to leave the gateway.
/obj/item/device/mcguffin/digest_act(var/atom/movable/item_storage = null)
return FALSE
return FALSE

View File

@@ -3,7 +3,7 @@
return
var/list/potentialRandomZlevels = list()
admin_notice("<font color='red'><B> Searching for away missions...</B></font>", R_DEBUG)
admin_notice(span_red("<B> Searching for away missions...</B>"), R_DEBUG)
var/list/Lines = file2list("maps/RandomZLevels/fileList.txt")
if(!Lines.len) return
for (var/t in Lines)
@@ -35,7 +35,7 @@
if(potentialRandomZlevels.len)
admin_notice("<font color='red'><B>Loading away mission...</B></font>", R_DEBUG)
admin_notice(span_red("<B>Loading away mission...</B>"), R_DEBUG)
var/map = pick(potentialRandomZlevels)
to_world_log("Away mission picked: [map]") //VOREStation Add for debugging
@@ -50,10 +50,10 @@
continue
awaydestinations.Add(L)
*/ //VOREStation Removal End
admin_notice("<font color='red'><B>Away mission loaded.</B></font>", R_DEBUG)
admin_notice(span_red("<B>Away mission loaded.</B>"), R_DEBUG)
else
admin_notice("<font color='red'><B>No away missions found.</B></font>", R_DEBUG)
admin_notice(span_red("<B>No away missions found.</B>"), R_DEBUG)
return
//VOREStation Add - This landmark type so it's not so ghetto.

View File

@@ -145,7 +145,7 @@
//This stops files larger than UPLOAD_LIMIT being sent from client to server via input(), client.Import() etc.
/client/AllowUpload(filename, filelength)
if(filelength > UPLOAD_LIMIT)
to_chat(src, "<font color='red'>Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB.</font>")
to_chat(src, span_red("Error: AllowUpload(): File Upload too large. Upload Limit: [UPLOAD_LIMIT/1024]KiB."))
return 0
/* //Don't need this at the moment. But it's here if it's needed later.
//Helps prevent multiple files being uploaded at once. Or right after eachother.
@@ -175,7 +175,7 @@
//Only show this if they are put into a new_player mob. Otherwise, "what title screen?"
if(isnewplayer(src.mob))
to_chat(src, "<font color='red'>If the title screen is black, resources are still downloading. Please be patient until the title screen appears.</font>")
to_chat(src, span_red("If the title screen is black, resources are still downloading. Please be patient until the title screen appears."))
GLOB.clients += src
GLOB.directory[ckey] = src

View File

@@ -16,29 +16,29 @@
entry += " - Playing as [C.mob.real_name]"
switch(C.mob.stat)
if(UNCONSCIOUS)
entry += " - <font color='darkgray'><b>Unconscious</b></font>"
entry += " - [span_darkgray("<b>Unconscious</b>")]"
if(DEAD)
if(isobserver(C.mob))
var/mob/observer/dead/O = C.mob
if(O.started_as_observer)
entry += " - <font color='gray'>Observing</font>"
entry += " - [span_gray("Observing")]"
else
entry += " - <font color='black'><b>DEAD</b></font>"
entry += " - [span_black("<b>DEAD</b>")]"
else
entry += " - <font color='black'><b>DEAD</b></font>"
entry += " - [span_black("<b>DEAD</b>")]"
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 = "<font color='#ff0000'><b>[age] days old</b></font>"
age = span_red("<b>[age] days old</b>")
if(1 to 10)
age = "<font color='#ff8c00'><b>[age] days old</b></font>"
age = span_orange("<b>[age] days old</b>")
else
entry += " - [age] days old"
if(is_special_character(C.mob))
entry += " - <b><font color='red'>Antagonist</font></b>"
entry += " - [span_red("<b>Antagonist</b>")]"
if(C.is_afk())
var/seconds = C.last_activity_seconds()

View File

@@ -11,10 +11,10 @@
/obj/item/clothing/shoes/New()
inside_emotes = list(
"<font color='red'>You feel weightless for a moment as \the [name] moves upwards.</font>",
"<font color='red'>\The [name] are a ride you've got no choice but to participate in as the wearer moves.</font>",
"<font color='red'>The wearer of \the [name] moves, pressing down on you.</font>",
"<font color='red'>More motion while \the [name] move, feet pressing down against you.</font>"
span_red("You feel weightless for a moment as \the [name] moves upwards."),
span_red("\The [name] are a ride you've got no choice but to participate in as the wearer moves."),
span_red("The wearer of \the [name] moves, pressing down on you."),
span_red("More motion while \the [name] move, feet pressing down against you.")
)
..()
@@ -116,20 +116,20 @@
if(ishuman(src.loc)) //Is this on a person?
var/mob/living/carbon/human/H = src.loc
if(istype(user,/mob/living/voice)) //Is this a possessed item? Spooky. It can move on it's own!
to_chat(H, "<font color='red'>The [src] shifts about, almost as if squirming!</font>")
to_chat(user, "<font color='red'>You cause the [src] to shift against [H]'s form! Well, what little you can get to, given your current state!</font>")
to_chat(H, span_red("The [src] shifts about, almost as if squirming!"))
to_chat(user, span_red("You cause the [src] to shift against [H]'s form! Well, what little you can get to, given your current state!"))
else if(H.shoes == src)
to_chat(H, "<font color='red'>[user]'s tiny body presses against you in \the [src], squirming!</font>")
to_chat(user, "<font color='red'>Your body presses out against [H]'s form! Well, what little you can get to!</font>")
to_chat(H, span_red("[user]'s tiny body presses against you in \the [src], squirming!"))
to_chat(user, span_red("Your body presses out against [H]'s form! Well, what little you can get to!"))
else
to_chat(H, "<font color='red'>[user]'s form shifts around in the \the [src], squirming!</font>")
to_chat(user, "<font color='red'>You move around inside the [src], to no avail.</font>")
to_chat(H, span_red("[user]'s form shifts around in the \the [src], squirming!"))
to_chat(user, span_red("You move around inside the [src], to no avail."))
else if(istype(user,/mob/living/voice)) //Possessed!
src.visible_message("<font color='red'>The [src] shifts about!</font>")
to_chat(user, "<font color='red'>You cause the [src] to shift about!</font>")
src.visible_message(span_red("The [src] shifts about!"))
to_chat(user, span_red("You cause the [src] to shift about!"))
else
src.visible_message("<font color='red'>\The [src] moves a little!</font>")
to_chat(user, "<font color='red'>You throw yourself against the inside of \the [src]!</font>")
src.visible_message(span_red("\The [src] moves a little!"))
to_chat(user, span_red("You throw yourself against the inside of \the [src]!"))
//Mask
/obj/item/clothing/mask

View File

@@ -537,7 +537,7 @@ BLIND // can't see anything
/obj/item/clothing/glasses/thermal/emp_act(severity)
if(istype(src.loc, /mob/living/carbon/human))
var/mob/living/carbon/human/M = src.loc
to_chat(M, "<font color='red'>The Optical Thermal Scanner overloads and blinds you!</font>")
to_chat(M, span_red("The Optical Thermal Scanner overloads and blinds you!"))
if(M.glasses == src)
M.Blind(3)
M.eye_blurry = 5
@@ -624,4 +624,3 @@ BLIND // can't see anything
to_chat(usr, "You push \the [src] up from in front of your eyes.")
update_clothing_icon()
usr.update_action_buttons()

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: <font color='red' size='4'><b>[message]</b></font>")
usr.visible_message("[usr]'s Compli-o-Nator: [span_red("<font size='4'><b>[message]</b></font>")]")
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: <font color='red' size='4'><b>[message]</b></font>")
usr.visible_message("[usr]'s Compli-o-Nator: [span_red("<font size='4'><b>[message]</b></font>")]")
playsound(src, "sound/voice/complionator/[key].ogg", 50, 0, 4) //future sound channel = something like SFX
cooldown = world.time
cooldown = world.time

View File

@@ -206,7 +206,7 @@ var/global/list/breach_burn_descriptors = list(
else if(W.has_tool_quality(TOOL_WELDER))
if(istype(src.loc,/mob/living))
to_chat(user, "<font color='red'>How do you intend to patch a hardsuit while someone is wearing it?</font>")
to_chat(user, span_red("How do you intend to patch a hardsuit while someone is wearing it?"))
return
if (!damage || ! brute_damage)
@@ -215,7 +215,7 @@ var/global/list/breach_burn_descriptors = list(
var/obj/item/weapon/weldingtool/WT = W.get_welder()
if(!WT.remove_fuel(5))
to_chat(user, "<font color='red'>You need more welding fuel to repair this suit.</font>")
to_chat(user, span_red("You need more welding fuel to repair this suit."))
return
repair_breaches(BRUTE, 3, user)
@@ -227,4 +227,4 @@ var/global/list/breach_burn_descriptors = list(
. = ..()
if(can_breach && breaches?.len)
for(var/datum/breach/B in breaches)
. += "<font color='red'><B>It has \a [B.descriptor].</B></font>"
. += span_red("<B>It has \a [B.descriptor].</B>")

View File

@@ -54,7 +54,7 @@
to_chat(user, "<span class='danger'>Another grenade of that type will not fit into the module.</span>")
return 0
to_chat(user, "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>")
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
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, "<font color='blue'><b>You quickly fabricate \a [new_weapon].</b></font>")
to_chat(H, span_blue("<b>You quickly fabricate \a [new_weapon].</b>"))
H.put_in_hands(new_weapon)
return 1

View File

@@ -208,8 +208,8 @@
user.drop_from_inventory(ai)
ai.forceMove(src)
ai_card = ai
to_chat(ai_mob, "<font color='blue'>You have been transferred to \the [holder]'s [src].</font>")
to_chat(user, "<font color='blue'>You load [ai_mob] into \the [holder]'s [src].</font>")
to_chat(ai_mob, span_blue("You have been transferred to \the [holder]'s [src]."))
to_chat(user, span_blue("You load [ai_mob] into \the [holder]'s [src]."))
integrated_ai = ai_mob
@@ -261,7 +261,7 @@
var/obj/item/weapon/disk/tech_disk/disk = input_device
if(disk.stored)
if(load_data(disk.stored))
to_chat(user, "<font color='blue'>Download successful; disk erased.</font>")
to_chat(user, span_blue"Download successful; disk erased."))
disk.stored = null
else
to_chat(user, "<span class='warning'>The disk is corrupt. It is useless to you.</span>")
@@ -287,7 +287,7 @@
else
// Maybe consider a way to drop all your data into a target repo in the future.
if(load_data(incoming_files.known_tech))
to_chat(user, "<font color='blue'>Download successful; local and remote repositories synchronized.</font>")
to_chat(user, span_blue("Download successful; local and remote repositories synchronized."))
else
to_chat(user, "<span class='warning'>Scan complete. There is nothing useful stored on this terminal.</span>")
return 1
@@ -466,10 +466,10 @@
if(!interfaced_with)
if(M)
to_chat(M, "<font color='blue'><b>Total power drained:</b> [round(total_power_drained*CELLRATE)] cell units.</font>")
to_chat(M, span_blue("<b>Total power drained:</b> [round(total_power_drained*CELLRATE)] cell units."))
else
if(M)
to_chat(M, "<font color='blue'><b>Total power drained from [interfaced_with]:</b> [round(total_power_drained*CELLRATE)] cell units.</font>")
to_chat(M, span_blue("<b>Total power drained from [interfaced_with]:</b> [round(total_power_drained*CELLRATE)] cell units."))
interfaced_with.drain_power(0,1,0) // Damage the victim.
drain_loc = null

View File

@@ -37,7 +37,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, "<font color='blue'><b>You are now nearly invisible to normal detection.</b></font>")
to_chat(H, span_blue("<b>You are now nearly invisible to normal detection.</b>"))
H.alpha = 5
anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null)

View File

@@ -200,8 +200,8 @@
user.drop_from_inventory(ai)
ai.forceMove(src)
ai_card = ai
to_chat(ai_mob, "<font color='blue'>You have been transferred to \the [holder]'s [src].</font>")
to_chat(user, "<font color='blue'>You load [ai_mob] into \the [holder]'s [src].</font>")
to_chat(ai_mob, span_blue("You have been transferred to \the [holder]'s [src]."))
to_chat(user, span_blue("You load [ai_mob] into \the [holder]'s [src]."))
integrated_ai = ai_mob

View File

@@ -71,7 +71,7 @@
break
if(total_transferred)
to_chat(user, "<font color='blue'>You transfer [total_transferred] units into the suit reservoir.</font>")
to_chat(user, span_blue("You transfer [total_transferred] units into the suit reservoir."))
else
to_chat(user, "<span class='danger'>None of the reagents seem suitable.</span>")
return 1

View File

@@ -34,7 +34,7 @@
to_chat(user, "<span class='danger'>Another grenade of that type will not fit into the module.</span>")
return 0
to_chat(user, "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>")
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
user.drop_from_inventory(input_device)
qdel(input_device)
accepted_item.charges++

View File

@@ -29,7 +29,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, "<font color='blue'><b>You are now nearly invisible to normal detection.</b></font>")
to_chat(H, span_blue("<b>You are now nearly invisible to normal detection.</b>"))
H.alpha = 5
anim(get_turf(H), H, 'icons/effects/effects.dmi', "electricity",null,20,null)
@@ -50,4 +50,4 @@
H.alpha = initial(H.alpha)
H.visible_message("[H.name] appears from thin air!")
playsound(H, 'sound/effects/stealthoff.ogg', 75, 1)
playsound(H, 'sound/effects/stealthoff.ogg', 75, 1)

View File

@@ -36,7 +36,7 @@
var/obj/item/weapon/disk/tech_disk/disk = input_device
if(disk.stored)
if(load_data(disk.stored))
to_chat(user, "<font color='blue'>Download successful; disk erased.</font>")
to_chat(user, span_blue("Download successful; disk erased."))
disk.stored = null
else
to_chat(user, "<span class='warning'>The disk is corrupt. It is useless to you.</span>")
@@ -58,7 +58,7 @@
else
// Maybe consider a way to drop all your data into a target repo in the future.
if(load_data(incoming_files.known_tech))
to_chat(user, "<font color='blue'>Download successful; local and remote repositories synchronized.</font>")
to_chat(user, span_blue("Download successful; local and remote repositories synchronized."))
else
to_chat(user, "<span class='warning'>Scan complete. There is nothing useful stored on this terminal.</span>")
return 1
@@ -83,4 +83,4 @@
if(!data_found)
stored_research += incoming_data
return 1
return 0
return 0

View File

@@ -36,7 +36,7 @@
to_chat(user, "<span class='danger'>Another grenade of that type will not fit into the module.</span>")
return 0
to_chat(user, "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>")
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
user.drop_from_inventory(input_device)
qdel(input_device)
accepted_item.charges++

View File

@@ -34,7 +34,7 @@
else
var/obj/item/new_weapon = new fabrication_type()
new_weapon.forceMove(H)
to_chat(H, "<font color='blue'><b>You quickly fabricate \a [new_weapon].</b></font>")
to_chat(H, span_blue("<b>You quickly fabricate \a [new_weapon].</b>"))
H.put_in_hands(new_weapon)
return 1

View File

@@ -27,14 +27,14 @@
if(!..())
return 0
var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots
var/obj/item/clothing/suit/space/rig/chest = holder.chest
var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet
var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves
to_chat(H, "<font color='blue'><b>You activate your suit's powered radiation shielding.</b></font>")
to_chat(H, span_blue("<b>You activate your suit's powered radiation shielding.</b>"))
stored_rad_armor = holder.armor["rad"]
if(boots)
boots.armor["rad"] = 100
@@ -107,17 +107,17 @@
if(!..())
return 0
var/mob/living/carbon/human/H = holder.wearer
var/obj/item/clothing/shoes/boots = holder.boots
var/obj/item/clothing/suit/space/rig/chest = holder.chest
var/obj/item/clothing/head/helmet/space/rig/helmet = holder.helmet
var/obj/item/clothing/gloves/gauntlets/rig/gloves = holder.gloves
stored_max_pressure = holder.max_pressure_protection
stored_max_temp = holder.max_heat_protection_temperature
to_chat(H, "<font color='blue'><b>You activate your suit's powered atmospheric shielding.</b></font>")
to_chat(H, span_blue("<b>You activate your suit's powered atmospheric shielding.</b>"))
if(boots)
boots.max_pressure_protection = INFINITY
@@ -163,4 +163,4 @@
holder.max_heat_protection_temperature = stored_max_temp
stored_max_pressure = 0
stored_max_temp = 0
stored_max_temp = 0

View File

@@ -118,10 +118,10 @@
if(!interfaced_with)
if(M)
to_chat(M, "<font color='blue'><b>Total power drained:</b> [round(total_power_drained*CELLRATE)] cell units.</font>")
to_chat(M, span_blue("<b>Total power drained:</b> [round(total_power_drained*CELLRATE)] cell units."))
else
if(M)
to_chat(M, "<font color='blue'><b>Total power drained from [interfaced_with]:</b> [round(total_power_drained*CELLRATE)] cell units.</font>")
to_chat(M, span_blue("<b>Total power drained from [interfaced_with]:</b> [round(total_power_drained*CELLRATE)] cell units."))
interfaced_with.drain_power(0,1,0) // Damage the victim.
drain_loc = null

View File

@@ -27,7 +27,7 @@
var/mob/living/carbon/human/H = holder.wearer
to_chat(H, "<font color='blue'><b>You activate the suit's sprint mode.</b></font>")
to_chat(H, span_blue("<b>You activate the suit's sprint mode.</b>"))
holder.slowdown = initial(holder.slowdown) - sprint_speed

View File

@@ -198,7 +198,7 @@
// Don't cycle if this engage() is being called by activate().
if(!active)
to_chat(holder.wearer, "<font color='blue'>You activate your visual sensors.</font>")
to_chat(holder.wearer, span_blue("You activate your visual sensors."))
return 1
if(vision_modes.len > 1)
@@ -207,9 +207,9 @@
vision_index = 1
vision = vision_modes[vision_index]
to_chat(holder.wearer, "<font color='blue'>You cycle your sensors to <b>[vision.mode]</b> mode.</font>")
to_chat(holder.wearer, span_blue("You cycle your sensors to <b>[vision.mode]</b> mode."))
else
to_chat(holder.wearer, "<font color='blue'>Your sensors only have one mode.</font>")
to_chat(holder.wearer, span_blue("Your sensors only have one mode."))
return 1
/obj/item/rig_module/vision/activate()
@@ -234,4 +234,4 @@
if(!vision) vision = vision_datum
processed_vision += vision_datum
vision_modes = processed_vision
vision_modes = processed_vision

View File

@@ -38,15 +38,15 @@
if("Enable")
active = 1
voice_holder.active = 1
to_chat(usr, "<font color='blue'>You enable the speech synthesiser.</font>")
to_chat(usr, span_blue("You enable the speech synthesiser."))
if("Disable")
active = 0
voice_holder.active = 0
to_chat(usr, "<font color='blue'>You disable the speech synthesiser.</font>")
to_chat(usr, span_blue("You disable the speech synthesiser."))
if("Set Name")
var/raw_choice = sanitize(input(usr, "Please enter a new name.") as text|null, MAX_NAME_LEN)
if(!raw_choice)
return 0
voice_holder.voice = raw_choice
to_chat(usr, "<font color='blue'>You are now mimicking <B>[voice_holder.voice]</B>.</font>")
return 1
to_chat(usr, span_blue("You are now mimicking <B>[voice_holder.voice]</B>."))
return 1

View File

@@ -201,7 +201,7 @@
break
if(total_transferred)
to_chat(user, "<font color='blue'>You transfer [total_transferred] units into the suit reservoir.</font>")
to_chat(user, span_blue("You transfer [total_transferred] units into the suit reservoir."))
else
to_chat(user, "<span class='danger'>None of the reagents seem suitable.</span>")
return 1
@@ -330,17 +330,17 @@
if("Enable")
active = 1
voice_holder.active = 1
to_chat(usr, "<font color='blue'>You enable the speech synthesiser.</font>")
to_chat(usr, span_blue("You enable the speech synthesiser."))
if("Disable")
active = 0
voice_holder.active = 0
to_chat(usr, "<font color='blue'>You disable the speech synthesiser.</font>")
to_chat(usr, span_blue("You disable the speech synthesiser."))
if("Set Name")
var/raw_choice = sanitize(input(usr, "Please enter a new name.") as text|null, MAX_NAME_LEN)
if(!raw_choice)
return 0
voice_holder.voice = raw_choice
to_chat(usr, "<font color='blue'>You are now mimicking <B>[voice_holder.voice]</B>.</font>")
to_chat(usr, span_blue("You are now mimicking <B>[voice_holder.voice]</B>."))
return 1
/obj/item/rig_module/maneuvering_jets
@@ -508,7 +508,7 @@
to_chat(user, "<span class='danger'>Another grenade of that type will not fit into the module.</span>")
return 0
to_chat(user, "<font color='blue'><b>You slot \the [input_device] into the suit module.</b></font>")
to_chat(user, span_blue("<b>You slot \the [input_device] into the suit module.</b>"))
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, "<font color='blue'><b>You activate the suit's sprint mode.</b></font>")
to_chat(H, span_blue("<b>You activate the suit's sprint mode.</b>"))
holder.slowdown = initial(holder.slowdown) - sprint_speed

View File

@@ -205,7 +205,7 @@
// Don't cycle if this engage() is being called by activate().
if(starting_up)
to_chat(holder.wearer, "<font color='blue'>You activate your visual sensors.</font>")
to_chat(holder.wearer, span_blue("You activate your visual sensors."))
return 1
if(vision_modes.len > 1)
@@ -214,9 +214,9 @@
vision_index = 1
vision = vision_modes[vision_index]
to_chat(holder.wearer, "<font color='blue'>You cycle your sensors to <b>[vision.mode]</b> mode.</font>")
to_chat(holder.wearer, span_blue("You cycle your sensors to <b>[vision.mode]</b> mode."))
else
to_chat(holder.wearer, "<font color='blue'>Your sensors only have one mode.</font>")
to_chat(holder.wearer, span_blue("Your sensors only have one mode."))
return 1
/obj/item/rig_module/vision/activate()

View File

@@ -223,11 +223,11 @@
if(!istype(module))
selected_module = null
to_chat(usr, "<font color='blue'><b>Primary system is now: deselected.</b></font>")
to_chat(usr, span_blue("<b>Primary system is now: deselected.</b>"))
return
selected_module = module
to_chat(usr, "<font color='blue'><b>Primary system is now: [selected_module.interface_name].</b></font>")
to_chat(usr, span_blue("<b>Primary system is now: [selected_module.interface_name].</b>"))
/obj/item/weapon/rig/verb/toggle_module()
@@ -261,10 +261,10 @@
return
if(module.active)
to_chat(usr, "<font color='blue'><b>You attempt to deactivate \the [module.interface_name].</b></font>")
to_chat(usr, span_blue("<b>You attempt to deactivate \the [module.interface_name].</b>"))
module.deactivate()
else
to_chat(usr, "<font color='blue'><b>You attempt to activate \the [module.interface_name].</b></font>")
to_chat(usr, span_blue("<b>You attempt to activate \the [module.interface_name].</b>"))
module.activate()
/obj/item/weapon/rig/verb/engage_module()
@@ -298,5 +298,5 @@
if(!istype(module))
return
to_chat(usr, "<font color='blue'><b>You attempt to engage the [module.interface_name].</b></font>")
module.engage()
to_chat(usr, span_blue("<b>You attempt to engage the [module.interface_name].</b>"))
module.engage()

View File

@@ -54,11 +54,11 @@
if(camera.status == TRUE)
camera.set_status(FALSE)
to_chat(usr, "<font color='blue'>Camera deactivated.</font>")
to_chat(usr, span_blue("Camera deactivated."))
else
camera.set_status(TRUE)
camera.c_tag = usr.name
to_chat(usr, "<font color='blue'>User scanned as [camera.c_tag]. Camera activated.</font>")
to_chat(usr, span_blue("User scanned as [camera.c_tag]. Camera activated."))
/obj/item/clothing/head/helmet/space/examine(mob/user)
. = ..()

View File

@@ -198,10 +198,10 @@
/obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob)
active = !( active )
if (active)
to_chat(user, "<font color='blue'>The reactive armor is now active.</font>")
to_chat(user, span_blue("The reactive armor is now active."))
icon_state = "reactive"
else
to_chat(user, "<font color='blue'>The reactive armor is now inactive.</font>")
to_chat(user, span_blue("The reactive armor is now inactive."))
icon_state = "reactiveoff"
add_fingerprint(user)
return

View File

@@ -85,7 +85,7 @@ log transactions
if(istype(I, /obj/item/weapon/card))
if(emagged > 0)
//prevent inserting id into an emagged ATM
to_chat(user, "<font color='red'>\icon[src][bicon(src)] CARD READER ERROR. This system has been compromised!</font>")
to_chat(user, span_red("\icon[src][bicon(src)] CARD READER ERROR. This system has been compromised!"))
return
else if(istype(I,/obj/item/weapon/card/emag))
I.resolve_attackby(src, user)
@@ -288,11 +288,11 @@ log transactions
T.time = stationtime2text()
failed_account.transaction_log.Add(T)
else
to_chat(usr, "<font color='red'>\icon[src][bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining.</font>")
to_chat(usr, span_red("\icon[src][bicon(src)] Incorrect pin/account combination entered, [max_pin_attempts - number_incorrect_tries] attempts remaining."))
previous_account_number = tried_account_num
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, 1)
else
to_chat(usr, "<font color='red'>\icon[src][bicon(src)] incorrect pin/account combination entered.</font>")
to_chat(usr, span_red("\icon[src][bicon(src)] incorrect pin/account combination entered."))
number_incorrect_tries = 0
else
playsound(src, 'sound/machines/twobeep.ogg', 50, 1)
@@ -308,7 +308,7 @@ log transactions
T.time = stationtime2text()
authenticated_account.transaction_log.Add(T)
to_chat(usr, "<font color='blue'>\icon[src][bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].</font>'")
to_chat(usr, span_blue("\icon[src][bicon(src)] Access granted. Welcome user '[authenticated_account.owner_name].'"))
previous_account_number = tried_account_num
if("e_withdrawal")
@@ -433,7 +433,7 @@ log transactions
if(!held_card)
//this might happen if the user had the browser window open when somebody emagged it
if(emagged > 0)
to_chat(usr, "<font color='red'>\icon[src][bicon(src)] The ATM card reader rejected your ID because this machine has been sabotaged!</font>")
to_chat(usr, span_red("\icon[src][bicon(src)] The ATM card reader rejected your ID because this machine has been sabotaged!"))
else
var/obj/item/I = usr.get_active_hand()
if (istype(I, /obj/item/weapon/card/id))

View File

@@ -49,14 +49,14 @@
..()
if (istype(W, /obj/item/weapon/coin))
var/obj/item/weapon/coin/C = W
to_chat(user, "<font color='blue'>You add the [C.name] into the bag.</font>")
to_chat(user, span_blue("You add the [C.name] into the bag."))
usr.drop_item()
contents += C
if (istype(W, /obj/item/weapon/moneybag))
var/obj/item/weapon/moneybag/C = W
for (var/obj/O in C.contents)
contents += O;
to_chat(user, "<font color='blue'>You empty the [C.name] into the bag.</font>")
to_chat(user, span_blue("You empty the [C.name] into the bag."))
return
/obj/item/weapon/moneybag/Topic(href, href_list)
@@ -95,4 +95,4 @@
new /obj/item/weapon/coin/silver(src)
new /obj/item/weapon/coin/silver(src)
new /obj/item/weapon/coin/gold(src)
new /obj/item/weapon/coin/gold(src)
new /obj/item/weapon/coin/gold(src)

View File

@@ -27,7 +27,7 @@ var/list/dreams = list(
spawn(0)
for(var/i = rand(1,4),i > 0, i--)
to_chat(src, "<font color='blue'><i>... [pick(dreams)] ...</i></font>")
to_chat(src, span_blue("<i>... [pick(dreams)] ...</i>"))
sleep(rand(40,70))
if(paralysis <= 0)
dreaming = 0

View File

@@ -244,8 +244,8 @@ Gunshots/explosions/opening doors/less rare audio (done)
/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/user as mob)
step_away(src,my_target,2)
for(var/mob/M in oviewers(world.view,my_target))
to_chat(M, "<font color='red'><B>[my_target] flails around wildly.</B></font>")
my_target.show_message("<font color='red'><B>[src] has been attacked by [my_target] </B></font>", 1) //Lazy.
to_chat(M, span_red("<B>[my_target] flails around wildly.</B>"))
my_target.show_message(span_red("<B>[src] has been attacked by [my_target] </B>"), 1) //Lazy.
src.health -= P.force
@@ -257,7 +257,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
step_away(src,my_target,2)
if(prob(30))
for(var/mob/O in oviewers(world.view , my_target))
to_chat(O, "<font color='red'><B>[my_target] stumbles around.</B></font>")
to_chat(O, span_red("<B>[my_target] stumbles around.</B>"))
/obj/effect/fake_attacker/New()
..()
@@ -304,7 +304,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
if(prob(15))
if(weapon_name)
my_target << sound(pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg'))
my_target.show_message("<font color='red'><B>[my_target] has been attacked with [weapon_name] by [src.name] </B></font>", 1)
my_target.show_message(span_red("<B>[my_target] has been attacked with [weapon_name] by [src.name]!</B>"), 1)
my_target.halloss += 8
if(prob(20)) my_target.eye_blurry += 3
if(prob(33))
@@ -312,7 +312,7 @@ Gunshots/explosions/opening doors/less rare audio (done)
fake_blood(my_target)
else
my_target << sound(pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'))
my_target.show_message("<font color='red'><B>[src.name] has punched [my_target]!</B></font>", 1)
my_target.show_message(span_red("<B>[src.name] has punched [my_target]!</B>"), 1)
my_target.halloss += 4
if(prob(33))
if(!locate(/obj/effect/overlay) in my_target.loc)

View File

@@ -23,16 +23,16 @@
sandwich_limit += 4
if(istype(W,/obj/item/weapon/material/shard))
to_chat(user, "<font color='blue'>You hide [W] in \the [src].</font>")
to_chat(user, span_blue("You hide [W] in \the [src]."))
user.drop_item()
W.loc = src
update()
return
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks))
if(src.contents.len > sandwich_limit)
to_chat(user, "<font color='red'>If you put anything else on \the [src] it's going to collapse.</font>")
to_chat(user, span_red("If you put anything else on \the [src] it's going to collapse."))
return
to_chat(user, "<font color='blue'>You layer [W] over \the [src].</font>")
to_chat(user, span_blue("You layer [W] over \the [src]."))
var/obj/item/weapon/reagent_containers/F = W
F.reagents.trans_to_obj(src, F.reagents.total_volume)
user.drop_item()
@@ -82,7 +82,7 @@
. = ..()
if(contents.len)
var/obj/item/O = pick(contents)
. += "<font color='blue'>You think you can see [O.name] in there.</font>"
. += span_blue("You think you can see [O.name] in there.")
/obj/item/weapon/reagent_containers/food/snacks/csandwich/attack(mob/M as mob, mob/user as mob, def_zone)
@@ -97,6 +97,6 @@
H = M
if(H && shard && M == user) //This needs a check for feeding the food to other people, but that could be abusable.
to_chat(H, "<font color='red'>You lacerate your mouth on a [shard.name] in the sandwich!</font>")
to_chat(H, span_red("You lacerate your mouth on a [shard.name] in the sandwich!"))
H.adjustBruteLoss(5) //TODO: Target head if human. //This TODO has been here for 4 years.
..()

View File

@@ -882,7 +882,7 @@
. = ..()
new/obj/effect/decal/cleanable/egg_smudge(src.loc)
src.reagents.splash(hit_atom, reagents.total_volume)
src.visible_message("<font color='red'>[src.name] has been squashed.</font>","<font color='red'>You hear a smack.</font>")
src.visible_message(span_red("[src.name] has been squashed."),span_red("You hear a smack."))
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob)
@@ -891,10 +891,10 @@
var/clr = C.colourName
if(!(clr in list("blue","green","mime","orange","purple","rainbow","red","yellow")))
to_chat(usr, "<font color='blue'>The egg refuses to take on this color!</font>")
to_chat(usr, span_blue("The egg refuses to take on this color!"))
return
to_chat(usr, "<font color='blue'>You color \the [src] [clr]</font>")
to_chat(usr, span_blue("You color \the [src] [clr]"))
icon_state = "egg-[clr]"
else
. = ..()
@@ -1662,7 +1662,7 @@
/obj/item/weapon/reagent_containers/food/snacks/popcorn/On_Consume()
if(prob(unpopped)) //lol ...what's the point?
to_chat(usr, "<font color='red'>You bite down on an un-popped kernel!</font>")
to_chat(usr, span_red("You bite down on an un-popped kernel!"))
unpopped = max(0, unpopped-1)
. = ..()

View File

@@ -233,8 +233,8 @@
else
to_chat(victim, "<span class='danger'>Searing hot oil scorches your [E ? E.name : "flesh"]!</span>")
user.attack_log += text("\[[time_stamp()]\] <font color='red'>Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]</font>")
victim.attack_log += text("\[[time_stamp()]\] <font color='orange'>Has been [cook_type] in \a [src] by [user.name] ([user.ckey])</font>")
user.attack_log += text("\[[time_stamp()]\] [span_red("Has [cook_type] \the [victim] ([victim.ckey]) in \a [src]")]")
victim.attack_log += text("\[[time_stamp()]\] [span_orange("Has been [cook_type] in \a [src] by [user.name] ([user.ckey])")]")
msg_admin_attack("[key_name_admin(user)] [cook_type] \the [victim] ([victim.ckey]) in \a [src]. (<A HREF='?_src_=holder;[HrefToken()];adminplayerobservecoodjump=1;X=[user.x];Y=[user.y];Z=[user.z]'>JMP</a>)")
//Coat the victim in some oil

View File

@@ -154,7 +154,7 @@
var/damage = rand(0, 9)
if(!damage)
playsound(target, 'sound/weapons/punchmiss.ogg', 25, 1, -1)
target.visible_message("<font color='red'><B>[user] has attempted to punch [target]!</B></font>")
target.visible_message(span_red("<B>[user] has attempted to punch [target]!</B>"))
return TRUE
var/obj/item/organ/external/affecting = target.get_organ(ran_zone(user.zone_sel.selecting))
var/armor_block = target.run_armor_check(affecting, "melee")
@@ -165,14 +165,14 @@
playsound(target, "punch", 25, 1, -1)
target.visible_message("<font color='red'><B>[user] has punched [target]!</B></font>")
target.visible_message(span_red("<B>[user] has punched [target]!</B>"))
if(armor_soak >= damage)
return TRUE
target.apply_damage(damage, HALLOSS, affecting, armor_block, armor_soak)
if(damage >= 9)
target.visible_message("<font color='red'><B>[user] has weakened [target]!</B></font>")
target.visible_message(span_red("<B>[user] has weakened [target]!</B>"))
target.apply_effect(4, WEAKEN, armor_block)
return TRUE
@@ -239,7 +239,7 @@
if(src.density && istype(I, /obj/item/weapon) && !istype(I, /obj/item/weapon/card))
var/aforce = I.force
playsound(src, 'sound/effects/Glasshit.ogg', 75, 1)
visible_message("<font color='red'><B>[src] was hit by [I].</B></font>")
visible_message(span_red("<B>[src] was hit by [I].</B>"))
if(I.damtype == BRUTE || I.damtype == BURN)
take_damage(aforce)
return

View File

@@ -404,7 +404,7 @@ Book Cart End
modedesc = "ERROR"
to_chat(user, " - Mode [mode] : [modedesc]")
if(src.computer)
to_chat(user, "<font color=green>Computer has been associated with this unit.</font>")
to_chat(user, span_green("Computer has been associated with this unit."))
else
to_chat(user, "<font color=red>No associated computer found. Only local scans will function properly.</font>")
to_chat(user, "\n")
to_chat(user, span_red("No associated computer found. Only local scans will function properly."))
to_chat(user, "\n")

View File

@@ -1,7 +1,7 @@
/obj/item/stack/animalhide
name = "hide"
desc = "The hide of some creature."
description_info = "Use something <b><font color='red'>sharp</font></b>, like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning."
description_info = "Use something <b><span class='red'>sharp</span></b>, like a knife, to scrape the hairs/feathers/etc off this hide to prepare it for tanning."
icon_state = "sheet-hide"
drop_sound = 'sound/items/drop/cloth.ogg'
pickup_sound = 'sound/items/pickup/cloth.ogg'
@@ -27,7 +27,7 @@
if(HS.get_amount() < HS.max_amount)
H = HS
break
// Either we found a valid stack, in which case increment amount,
// Or we need to make a new stack
if(istype(H))
@@ -38,7 +38,7 @@
// Increment the amount
src.use(1)
scraped++
if(scraped)
to_chat(user, SPAN_NOTICE("You scrape the hair off [scraped] hide\s."))
else
@@ -87,4 +87,4 @@
desc = "The skin of a terrible creature."
singular_name = "alien hide piece"
icon_state = "sheet-xeno"
stacktype = "hide-xeno"
stacktype = "hide-xeno"

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