mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
[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:
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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>"))
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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' */
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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]°C ([M.bodytemperature*1.8-459.67]°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]°C ([M.bodytemperature*1.8-459.67]°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>"
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
..()
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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"]
|
||||
|
||||
@@ -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 ..()
|
||||
*/
|
||||
*/
|
||||
|
||||
@@ -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 "
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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"]")
|
||||
|
||||
@@ -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]")
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>\
|
||||
|
||||
@@ -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]\""
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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>.")
|
||||
|
||||
|
||||
@@ -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!
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>")
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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++
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
|
||||
..()
|
||||
|
||||
@@ -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)
|
||||
. = ..()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user