"
html += "
Available [GLOB.severity_to_string[selected_event_container.severity]] Events (queued & running events will not be displayed)
"
html += "
"
- html += "| Name | Weight | MinWeight | MaxWeight | OneShot | Enabled | CurrWeight | Remove |
"
+ html += "| Name | Weight | MinWeight | MaxWeight | OneShot | Enabled | [SPAN_ALERT("CurrWeight ")] | Remove |
"
for(var/datum/event_meta/EM in selected_event_container.available_events)
if(!EM.skeleton)
continue
@@ -125,7 +125,7 @@ SUBSYSTEM_DEF(events)
html += "[EM.max_weight == INFINITY ? "No max" : EM.max_weight] | "
html += "[EM.one_shot] | "
html += "[EM.enabled] | "
- html += "[EM.get_weight(total_resources)] | "
+ html += "[SPAN_ALERT("[EM.get_weight(total_resources)]")] | "
html += "Remove | "
html += ""
html += "
"
diff --git a/code/controllers/subsystem/SSghost_spawns.dm b/code/controllers/subsystem/SSghost_spawns.dm
index fb2e9e7ab57..3ccb932285d 100644
--- a/code/controllers/subsystem/SSghost_spawns.dm
+++ b/code/controllers/subsystem/SSghost_spawns.dm
@@ -137,7 +137,7 @@ SUBSYSTEM_DEF(ghost_spawns)
var/atom/atom_source = source
act_jump = "
\[Teleport]"
var/act_signup = "
\[Sign Up]"
- to_chat(M, "
Now looking for candidates [role ? "to play as \an [role_cleanname || role]" : "\"[question]\""]. [act_jump] [act_signup] [reason ? "\nReason: [sanitize(reason)]" : ""]", MESSAGE_TYPE_DEADCHAT)
+ to_chat(M, "
[SPAN_BOLDNOTICE("Now looking for candidates [role ? "to play as \an [role_cleanname || role]" : "\"[question]\""]. [act_jump] [act_signup] [reason ? "\nReason: [sanitize(reason)]" : ""]")]", MESSAGE_TYPE_DEADCHAT)
// Start processing it so it updates visually the timer
START_PROCESSING(SSprocessing, A)
@@ -258,18 +258,18 @@ SUBSYSTEM_DEF(ghost_spawns)
return
if(M in signed_up)
if(!silent)
- to_chat(M, "
You have already signed up for this!")
+ to_chat(M, SPAN_WARNING("You have already signed up for this!"))
return
if(time_left() <= 0)
if(!silent)
- to_chat(M, "
Sorry, you were too late for the consideration!")
+ to_chat(M, SPAN_DANGER("Sorry, you were too late for the consideration!"))
SEND_SOUND(M, sound('sound/machines/buzz-sigh.ogg'))
return
signed_up += M
if(!silent)
- to_chat(M, "
You have signed up for this role! A candidate will be picked randomly soon.")
+ to_chat(M, SPAN_NOTICE("You have signed up for this role! A candidate will be picked randomly soon."))
// Sign them up for any other polls with the same mob type
for(var/existing_poll in SSghost_spawns.currently_polling)
var/datum/candidate_poll/P = existing_poll
@@ -291,17 +291,17 @@ SUBSYSTEM_DEF(ghost_spawns)
return
if(!(M in signed_up))
if(!silent)
- to_chat(M, "
You aren't signed up for this!")
+ to_chat(M, SPAN_WARNING("You aren't signed up for this!"))
return
if(time_left() <= 0)
if(!silent)
- to_chat(M, "
It's too late to unregister yourself, selection has already begun!")
+ to_chat(M, SPAN_DANGER("It's too late to unregister yourself, selection has already begun!"))
return
signed_up -= M
if(!silent)
- to_chat(M, "
You have been unregistered as a candidate for this role. You can freely sign up again before the poll ends.")
+ to_chat(M, SPAN_NOTICE("You have been unregistered as a candidate for this role. You can freely sign up again before the poll ends."))
for(var/existing_poll in SSghost_spawns.currently_polling)
var/datum/candidate_poll/P = existing_poll
diff --git a/code/controllers/subsystem/SSheartbeat.dm b/code/controllers/subsystem/SSheartbeat.dm
index 83a2aa6419a..03fd7b6fcc1 100644
--- a/code/controllers/subsystem/SSheartbeat.dm
+++ b/code/controllers/subsystem/SSheartbeat.dm
@@ -16,5 +16,5 @@ SUBSYSTEM_DEF(heartbeat)
/datum/controller/subsystem/heartbeat/fire(resumed)
// If the last heartbeat is 0, we never got one this round
if(last_heartbeat != 0 && (last_heartbeat + 2 MINUTES < REALTIMEOFDAY) && !warning_tripped)
- to_chat(GLOB.admins, "
--- CRITICAL ---
The server hasn't received an uptime check from the server daemon for over 2 minutes. Inform AA ASAP.
")
+ to_chat(GLOB.admins, "
[SPAN_USERDANGER("--- CRITICAL ---")]
The server hasn't received an uptime check from the server daemon for over 2 minutes. Inform AA ASAP.
")
warning_tripped = TRUE
diff --git a/code/controllers/subsystem/SSjobs.dm b/code/controllers/subsystem/SSjobs.dm
index 69024273528..77525a04b99 100644
--- a/code/controllers/subsystem/SSjobs.dm
+++ b/code/controllers/subsystem/SSjobs.dm
@@ -41,7 +41,7 @@ SUBSYSTEM_DEF(jobs)
occupations = list()
var/list/all_jobs = subtypesof(/datum/job)
if(!length(all_jobs))
- to_chat(world, "
Error setting up jobs, no job datums found.")
+ to_chat(world, SPAN_WARNING("Error setting up jobs, no job datums found."))
return 0
for(var/J in all_jobs)
@@ -270,8 +270,8 @@ SUBSYSTEM_DEF(jobs)
H.mind.store_memory("
Your account number is: #[account.account_number]
Your account pin is: [account.account_pin]")
H.mind.set_initial_account(account)
- to_chat(H, "
As an employee of Nanotrasen you will receive a paycheck of $[account.payday_amount] credits every 30 minutes")
- to_chat(H, "
Your account number is: [account.account_number], your account pin is: [account.account_pin]")
+ to_chat(H, SPAN_BOLDNOTICE("As an employee of Nanotrasen you will receive a paycheck of $[account.payday_amount] credits every 30 minutes"))
+ to_chat(H, SPAN_BOLDNOTICE("Your account number is: [account.account_number], your account pin is: [account.account_pin]"))
if(!job) //if their job datum is null (looking at you ERTs...), we don't need to do anything past this point
return
@@ -307,8 +307,8 @@ SUBSYSTEM_DEF(jobs)
remembered_info += "
Your department's account funds are: $[department_account.credit_balance]
"
H.mind.store_memory(remembered_info)
- to_chat(H, "
Your department will receive a $[department_account.payday_amount] credit stipend every 30 minutes")
- to_chat(H, "
The [department.department_name] department's account number is: #[department_account.account_number], Your department's account pin is: [department_account.account_pin]")
+ to_chat(H, SPAN_BOLDNOTICE("Your department will receive a $[department_account.payday_amount] credit stipend every 30 minutes"))
+ to_chat(H, SPAN_BOLDNOTICE("The [department.department_name] department's account number is: #[department_account.account_number], Your department's account pin is: [department_account.account_pin]"))
/// Returns a list of jobs keyed by name to UI color for the job transfer selection.
/datum/controller/subsystem/jobs/proc/format_jobs_for_id_computer(obj/item/card/id/tgtcard)
@@ -520,7 +520,7 @@ SUBSYSTEM_DEF(jobs)
added_differential[EXP_TYPE_LIVING] += minutes
if(announce)
- to_chat(C.mob, "
You got: [minutes] Living EXP!")
+ to_chat(C.mob, SPAN_NOTICE("You got: [minutes] Living EXP!"))
for(var/category in GLOB.exp_jobsmap)
if(GLOB.exp_jobsmap[category]["titles"])
@@ -528,18 +528,18 @@ SUBSYSTEM_DEF(jobs)
play_records[C.ckey][category] += minutes
added_differential[category] += minutes
if(announce)
- to_chat(C.mob, "
You got: [minutes] [category] EXP!")
+ to_chat(C.mob, SPAN_NOTICE("You got: [minutes] [category] EXP!"))
if(C.mob.mind.special_role)
play_records[C.ckey][EXP_TYPE_SPECIAL] += minutes
if(announce)
- to_chat(C.mob, "
You got: [minutes] Special EXP!")
+ to_chat(C.mob, SPAN_NOTICE("You got: [minutes] Special EXP!"))
else if(isobserver(C.mob))
play_records[C.ckey][EXP_TYPE_GHOST] += minutes
added_differential[EXP_TYPE_GHOST] += minutes
if(announce)
- to_chat(C.mob, "
You got: [minutes] Ghost EXP!")
+ to_chat(C.mob, SPAN_NOTICE("You got: [minutes] Ghost EXP!"))
else
continue
diff --git a/code/controllers/subsystem/SSticker.dm b/code/controllers/subsystem/SSticker.dm
index 6c096da2c4c..e605af697d8 100644
--- a/code/controllers/subsystem/SSticker.dm
+++ b/code/controllers/subsystem/SSticker.dm
@@ -84,7 +84,7 @@ SUBSYSTEM_DEF(ticker)
// This is ran as soon as the MC starts firing, and should only run ONCE, unless startup fails
pregame_timeleft = GLOB.configuration.general.lobby_time SECONDS
round_start_time = world.time + pregame_timeleft
- to_chat(world, "
Welcome to the pre-game lobby!")
+ to_chat(world, "
[SPAN_DARKMBLUE("Welcome to the pre-game lobby!")]")
to_chat(world, "Please, setup your character and select ready. Game will start in [GLOB.configuration.general.lobby_time] seconds")
current_state = GAME_STATE_PREGAME
fire() // TG says this is a good idea
@@ -160,7 +160,7 @@ SUBSYSTEM_DEF(ticker)
var/datum/map/target_map = pick(pickable_types)
SSmapping.next_map = new target_map
- to_chat(world, "
Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])")
+ to_chat(world, SPAN_INTERFACE("Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])"))
/datum/controller/subsystem/ticker/proc/call_reboot()
if(mode.station_was_nuked)
@@ -228,7 +228,7 @@ SUBSYSTEM_DEF(ticker)
var/has_antags = (length(P.client.prefs.be_special) > 0)
if(!P.client.prefs.active_character.check_any_job())
- to_chat(P, "
You have no jobs enabled, along with return to lobby if job is unavailable. This makes you ineligible for any round start role, please update your job preferences.")
+ to_chat(P, SPAN_DANGER("You have no jobs enabled, along with return to lobby if job is unavailable. This makes you ineligible for any round start role, please update your job preferences."))
if(has_antags)
// We add these to a list so we can deal with them as a batch later
// A lot of DB tracking stuff needs doing, so we may as well async it
@@ -344,11 +344,11 @@ SUBSYSTEM_DEF(ticker)
qdel(S)
SSdbcore.SetRoundStart()
- to_chat(world, "
Enjoy the game!")
+ to_chat(world, SPAN_DARKMBLUE("
Enjoy the game!"))
SEND_SOUND(world, sound(SSmapping.map_datum.welcome_sound))
if(SSholiday.holidays)
- to_chat(world, "
and...")
+ to_chat(world, SPAN_DARKMBLUE("and..."))
for(var/holidayname in SSholiday.holidays)
var/datum/holiday/holiday = SSholiday.holidays[holidayname]
to_chat(world, "
[holiday.greet()]
")
@@ -396,7 +396,7 @@ SUBSYSTEM_DEF(ticker)
if(M.stat != DEAD)
var/turf/T = get_turf(M)
if(T && is_station_level(T.z) && !istype(M.loc, /obj/structure/closet/secure_closet/freezer) && !(issilicon(M) && override == "AI malfunction"))
- to_chat(M, "
The blast wave from the explosion tears you atom from atom!")
+ to_chat(M, SPAN_DANGER("
The blast wave from the explosion tears you atom from atom!"))
var/mob/ghost = M.ghostize()
M.dust() //no mercy
if(ghost && ghost.client) //Play the victims an uninterrupted cinematic.
@@ -520,23 +520,23 @@ SUBSYSTEM_DEF(ticker)
if(length(S.contents) < S.storage_slots)
I.forceMove(H.back)
ok = TRUE
- to_chat(H, "
Your [I.name] has been added to your [H.back.name].")
+ to_chat(H, SPAN_NOTICE("Your [I.name] has been added to your [H.back.name]."))
if(!ok)
for(var/obj/item/storage/S in H.contents) // Try to place it in any item that can store stuff, on the mob.
if(length(S.contents) < S.storage_slots)
I.forceMove(S)
ok = TRUE
- to_chat(H, "
Your [I.name] has been added to your [S.name].")
+ to_chat(H, SPAN_NOTICE("Your [I.name] has been added to your [S.name]."))
break
if(!ok) // Finally, since everything else failed, place it on the ground
var/turf/T = get_turf(H)
if(T)
I.forceMove(T)
- to_chat(H, "
Your [I.name] is on the [T.name] below you.")
+ to_chat(H, SPAN_NOTICE("Your [I.name] is on the [T.name] below you."))
else
- to_chat(H, "
Your [I.name] couldnt spawn anywhere on you or even on the floor below you. Please file a bug report.")
+ to_chat(H, SPAN_NOTICE("Your [I.name] couldnt spawn anywhere on you or even on the floor below you. Please file a bug report."))
qdel(I)
@@ -553,7 +553,7 @@ SUBSYSTEM_DEF(ticker)
m = pick(memetips)
if(m)
- to_chat(world, "
Tip of the round: [html_encode(m)]")
+ to_chat(world, SPAN_PURPLE("
Tip of the round: [html_encode(m)]"))
/datum/controller/subsystem/ticker/proc/send_fact_of_the_round()
var/factoid
@@ -565,7 +565,7 @@ SUBSYSTEM_DEF(ticker)
factoid = pick(random_facts)
if(length(factoid))
- to_chat(world, "
Fact of the round: [html_encode(factoid)]")
+ to_chat(world, SPAN_GREEN("
Fact of the round: [html_encode(factoid)]"))
/datum/controller/subsystem/ticker/proc/declare_completion()
GLOB.nologevent = TRUE //end of round murder and shenanigans are legal; there's no need to jam up attack logs past this point.
@@ -592,7 +592,7 @@ SUBSYSTEM_DEF(ticker)
aiPlayer.laws_sanity_check()
for(var/datum/ai_law/law as anything in aiPlayer.laws.sorted_laws)
if(law == aiPlayer.laws.zeroth_law)
- end_of_round_info += "
[law.get_index()]. [law.law]"
+ end_of_round_info += SPAN_DANGER("[law.get_index()]. [law.law]")
else
end_of_round_info += "[law.get_index()]. [law.law]"
@@ -621,7 +621,7 @@ SUBSYSTEM_DEF(ticker)
robo.laws_sanity_check()
for(var/datum/ai_law/law as anything in robo.laws.sorted_laws)
if(law == robo.laws.zeroth_law)
- end_of_round_info += "
[law.get_index()]. [law.law]"
+ end_of_round_info += SPAN_DANGER("[law.get_index()]. [law.law]")
else
end_of_round_info += "[law.get_index()]. [law.law]"
@@ -722,7 +722,7 @@ SUBSYSTEM_DEF(ticker)
/datum/controller/subsystem/ticker/proc/reboot_helper(reason, end_string, delay)
// Admins delayed round end. Just alert and dont bother with anything else.
if(delay_end)
- to_chat(world, "
An admin has delayed the round end.")
+ to_chat(world, SPAN_BOLDANNOUNCEOOC("An admin has delayed the round end."))
return
if(delay)
INVOKE_ASYNC(src, TYPE_PROC_REF(/datum/controller/subsystem/ticker, show_server_restart_blurb), reason)
@@ -734,14 +734,14 @@ SUBSYSTEM_DEF(ticker)
// Use default restart timeout
delay = max(0, GLOB.configuration.general.restart_timeout SECONDS)
- to_chat(world, "
Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason]")
+ to_chat(world, SPAN_BOLDANNOUNCEOOC("Rebooting world in [delay/10] [delay > 10 ? "seconds" : "second"]. [reason]"))
real_reboot_time = world.time + delay
UNTIL(world.time > real_reboot_time) // Hold it here
// And if we re-delayed, bail again
if(delay_end)
- to_chat(world, "
Reboot was cancelled by an admin.")
+ to_chat(world, SPAN_BOLDANNOUNCEOOC("Reboot was cancelled by an admin."))
return
if(end_string)
diff --git a/code/controllers/subsystem/non_firing/SSchangelog.dm b/code/controllers/subsystem/non_firing/SSchangelog.dm
index 53830ebce02..110724c8c2e 100644
--- a/code/controllers/subsystem/non_firing/SSchangelog.dm
+++ b/code/controllers/subsystem/non_firing/SSchangelog.dm
@@ -35,7 +35,7 @@ SUBSYSTEM_DEF(changelog)
qdel(latest_cl_date)
if(!GenerateChangelogData()) // if this failed to generate
- to_chat(world, "
WARNING: Changelog failed to generate. Please inform a coder/server dev")
+ to_chat(world, SPAN_ALERT("WARNING: Changelog failed to generate. Please inform a coder/server dev"))
return ..()
ss_ready = TRUE
@@ -75,18 +75,18 @@ SUBSYSTEM_DEF(changelog)
// If we are ready, process the button style
if(C.prefs.lastchangelog != current_cl_timestamp)
winset(C, "rpane.changelog", "border=line;background-color=#bb7700;text-color=#FFFFFF;font-style=bold")
- to_chat(C, "
Changelog has changed since your last visit.")
+ to_chat(C, SPAN_BOLDNOTICE("Changelog has changed since your last visit."))
/datum/controller/subsystem/changelog/proc/OpenChangelog(client/C)
// If SQL isnt enabled, dont even queue them, just tell them it wont work
if(!SSdbcore.IsConnected())
- to_chat(C, "
This server is not running with an SQL backend. Changelog is unavailable.")
+ to_chat(C, SPAN_NOTICE("This server is not running with an SQL backend. Changelog is unavailable."))
return
// If SQL is enabled but we aint ready, queue them up
if(!ss_ready)
startup_clients_open |= C
- to_chat(C, "
The changelog system is still initializing. The changelog will open for you once it has initialized.")
+ to_chat(C, SPAN_NOTICE("The changelog system is still initializing. The changelog will open for you once it has initialized."))
return
UpdatePlayerChangelogDate(C)
@@ -219,5 +219,5 @@ SUBSYSTEM_DEF(changelog)
usr << link(url)
return TRUE
- to_chat(usr, "
The GitHub URL is not set in the server configuration. PRs cannot be opened from changelog view. Please inform the server host.")
+ to_chat(usr, SPAN_DANGER("The GitHub URL is not set in the server configuration. PRs cannot be opened from changelog view. Please inform the server host."))
diff --git a/code/controllers/subsystem/non_firing/SSmapping.dm b/code/controllers/subsystem/non_firing/SSmapping.dm
index 95f69cceb8b..3e86f858667 100644
--- a/code/controllers/subsystem/non_firing/SSmapping.dm
+++ b/code/controllers/subsystem/non_firing/SSmapping.dm
@@ -317,12 +317,12 @@ SUBSYSTEM_DEF(mapping)
if(map_datum_path)
map_datum = new map_datum_path
else
- to_chat(world, "
ERROR: The map datum specified to load is invalid. Falling back to... cyberiad probably?")
+ to_chat(world, SPAN_NARSIE("ERROR: The map datum specified to load is invalid. Falling back to... cyberiad probably?"))
ASSERT(map_datum.map_path)
if(!fexists(map_datum.map_path))
// Make a VERY OBVIOUS error
- to_chat(world, "
ERROR: The path specified for the map to load is invalid. No station has been loaded!")
+ to_chat(world, SPAN_NARSIE("ERROR: The path specified for the map to load is invalid. No station has been loaded!"))
return
var/watch = start_watch()
diff --git a/code/controllers/subsystem/non_firing/SSmaprotate.dm b/code/controllers/subsystem/non_firing/SSmaprotate.dm
index b6f2ed4ff01..934b994de7b 100644
--- a/code/controllers/subsystem/non_firing/SSmaprotate.dm
+++ b/code/controllers/subsystem/non_firing/SSmaprotate.dm
@@ -109,4 +109,4 @@ SUBSYSTEM_DEF(maprotate)
var/datum/map/winner = pickweight(pickable_maps) // Even if no one votes, pickweight will pick from them evenly. This means a map with zero votes *can* be chosen
to_chat(world, "[returned_text.Join("\n")]")
SSmapping.next_map = new winner
- to_chat(world, "
Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])")
+ to_chat(world, SPAN_INTERFACE("Map for next round: [SSmapping.next_map.fluff_name] ([SSmapping.next_map.technical_name])"))
diff --git a/code/controllers/subsystem/non_firing/SSuser_verbs.dm b/code/controllers/subsystem/non_firing/SSuser_verbs.dm
index 3c0468d92e3..6d9a045a062 100644
--- a/code/controllers/subsystem/non_firing/SSuser_verbs.dm
+++ b/code/controllers/subsystem/non_firing/SSuser_verbs.dm
@@ -107,7 +107,7 @@ SUBSYSTEM_DEF(user_verbs)
CRASH("Attempted to dynamically invoke user verb '[verb_type]' that doesn't exist.")
if(!check_rights_client(verb_singleton.permissions, FALSE, admin))
- to_chat(admin, "
You lack the permissions to do this.")
+ to_chat(admin, SPAN_ADMINNOTICE("You lack the permissions to do this."))
return
var/old_usr = usr
diff --git a/code/controllers/subsystem/tickets/SSmentor_tickets.dm b/code/controllers/subsystem/tickets/SSmentor_tickets.dm
index 6f659339a56..8b4e4b8f2c6 100644
--- a/code/controllers/subsystem/tickets/SSmentor_tickets.dm
+++ b/code/controllers/subsystem/tickets/SSmentor_tickets.dm
@@ -23,7 +23,7 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
/datum/controller/subsystem/tickets/mentor_tickets/Initialize()
..()
close_messages = list("
- [ticket_name] Closed -",
- "
Please try to be as descriptive as possible in mentor helps. Mentors do not know the full situation you're in and need more information to give you a helpful response.",
+ SPAN_BOLDMESSAGE("Please try to be as descriptive as possible in mentor helps. Mentors do not know the full situation you're in and need more information to give you a helpful response."),
"
Your [ticket_name] has now been closed.")
response_phrases = list("Known Bug" = "Unfortunately, that's a known bug. Hopefully it gets fixed soon.",
@@ -85,12 +85,12 @@ GLOBAL_REAL(SSmentor_tickets, /datum/controller/subsystem/tickets/mentor_tickets
for(var/mob/living/carbon/human/nct as anything in nct_active)
if(!locate(/obj/item/radio/headset) in list(nct.l_ear, nct.r_ear)) // If the NCT doesn't have a headset, ignore it.
continue
- to_chat(nct, "
Incoming priority transmission from Nanotrasen Training Center. Request information as follows: Career Trainer, we've received a request from an employee. [trainee.p_their(TRUE)] name is [trainee.real_name], [trainee.p_theyre()] a [trainee.mind.assigned_role]. See if [trainee.p_they()] need [trainee.p_s()] any help.")
+ to_chat(nct, SPAN_NOTICE("Incoming priority transmission from Nanotrasen Training Center. Request information as follows:
Career Trainer, we've received a request from an employee. [trainee.p_their(TRUE)] name is [trainee.real_name], [trainee.p_theyre()] a [trainee.mind.assigned_role]. See if [trainee.p_they()] need [trainee.p_s()] any help."))
SEND_SOUND(nct, 'sound/effects/headset_message.ogg')
SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg'))
- to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
- message_staff("[C] has auto responded to [ticket_owner]\'s mentorhelp with: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
+ to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [SPAN_ADMINTICKETALT("[response_phrases[message_key]]")]") //for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
+ message_staff("[C] has auto responded to [ticket_owner]\'s mentorhelp with:[SPAN_ADMINTICKETALT(" [message_key]")]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
T.lastStaffResponse = "Autoresponse: [message_key]"
resolveTicket(N)
log_game("[C] has auto responded to [ticket_owner]\'s mentorhelp with: [response_phrases[message_key]]")
diff --git a/code/controllers/subsystem/tickets/SStickets.dm b/code/controllers/subsystem/tickets/SStickets.dm
index 5ac7654e76a..3d617c32be6 100644
--- a/code/controllers/subsystem/tickets/SStickets.dm
+++ b/code/controllers/subsystem/tickets/SStickets.dm
@@ -48,7 +48,7 @@ SUBSYSTEM_DEF(tickets)
/datum/controller/subsystem/tickets/Initialize()
close_messages = list("- [ticket_name] Rejected! -",
- "Please try to be calm, clear, and descriptive in admin helps, do not assume the staff member has seen any related events, and clearly state the names of anybody you are reporting. If you asked a question, please ensure it was clear what you were asking.",
+ SPAN_BOLDMESSAGE("Please try to be calm, clear, and descriptive in admin helps, do not assume the staff member has seen any related events, and clearly state the names of anybody you are reporting. If you asked a question, please ensure it was clear what you were asking."),
"Your [ticket_name] has now been closed.")
response_phrases = list("Thanks" = "Thanks for the ahelp!",
@@ -157,7 +157,7 @@ SUBSYSTEM_DEF(tickets)
key_and_name = key_name(M, TRUE, ticket_help_type, ticket_id = ticketNum)
var/list/L = list()
- L += "[ticket_help_type]: [key_and_name][one_line ? " " : "
"]"
+ L += "[ticket_help_type]: [SPAN_BOLDNOTICE("[key_and_name][one_line ? " " : "
"]")]"
if(M)
L += "([ADMIN_QUE(M,"?")]) ([ADMIN_PP(M,"PP")]) ([ADMIN_VV(M,"VV")]) ([ADMIN_TP(M,"TP")]) ([ADMIN_SM(M,"SM")]) ([admin_jump_link(M)])"
L += "(TICKET) "
@@ -248,7 +248,7 @@ SUBSYSTEM_DEF(tickets)
return
var/datum/ticket/T = allTickets[ticketId]
if(T.ticket_converted)
- to_chat(usr, "This ticket has already been converted!")
+ to_chat(usr, SPAN_WARNING("This ticket has already been converted!"))
return
convert_ticket(T)
message_staff("[usr.client] / ([usr]) converted [ticket_name] number [ticketId]")
@@ -308,15 +308,15 @@ SUBSYSTEM_DEF(tickets)
SSuser_verbs.invoke_verb(C, /datum/user_verb/man_up, returnClient(N))
T.lastStaffResponse = "Autoresponse: [message_key]"
resolveTicket(N)
- message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with: [message_key]")
+ message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with:[SPAN_ADMINTICKETALT(" [message_key]")]")
sendFollowupToDiscord(T, C, "*Autoresponded with [message_key]*")
log_game("[C] has auto responded to [T.client_ckey]\'s adminhelp with: [response_phrases[message_key]]")
if("Mentorhelp")
convert_ticket(T)
else
SEND_SOUND(returnClient(N), sound('sound/effects/adminhelp.ogg'))
- to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [response_phrases[message_key]]")//for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
- message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with: [message_key]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
+ to_chat_safe(returnClient(N), "[key_name_hidden(C)] is autoresponding with: [SPAN_ADMINTICKETALT("[response_phrases[message_key]]")]")//for this we want the full value of whatever key this is to tell the player so we do response_phrases[message_key]
+ message_staff("[C] has auto responded to [ticket_owner]\'s adminhelp with:[SPAN_ADMINTICKETALT(" [message_key]")]") //we want to use the short named keys for this instead of the full sentence which is why we just do message_key
sendFollowupToDiscord(T, C, "*Autoresponded with [message_key]*")
T.lastStaffResponse = "Autoresponse: [message_key]"
resolveTicket(N)
@@ -579,7 +579,7 @@ UI STUFF
for(var/key in C?.persistent.pm_tracker.pms)
var/datum/pm_convo/convo = C.persistent.pm_tracker.pms[key]
if(convo.typing)
- dat += "[key] is typing
"
+ dat += "[SPAN_TYPING("[key] is typing")]
"
var/found_typing = FALSE
for(var/client/X in GLOB.admins)
@@ -592,7 +592,7 @@ UI STUFF
continue
var/datum/pm_convo/convo = X.persistent.pm_tracker.pms[key]
if(convo.typing)
- dat += "[key] is typing
"
+ dat += "[SPAN_TYPING("[key] is typing")]
"
found_typing = TRUE
break
if(found_typing)
@@ -669,9 +669,9 @@ UI STUFF
/datum/controller/subsystem/tickets/proc/message_staff(msg, prefix_type = TICKET_STAFF_MESSAGE_PREFIX, important = FALSE)
switch(prefix_type)
if(TICKET_STAFF_MESSAGE_ADMIN_CHANNEL)
- msg = "ADMIN TICKET: [msg]"
+ msg = SPAN_ADMIN_CHANNEL("ADMIN TICKET: [msg]")
if(TICKET_STAFF_MESSAGE_PREFIX)
- msg = "ADMIN TICKET: [msg]"
+ msg = SPAN_ADMINTICKET("[SPAN_PREFIX("ADMIN TICKET:")] [msg]")
message_adminTicket(chat_box_ahelp(msg), important)
/datum/controller/subsystem/tickets/Topic(href, href_list)
@@ -715,7 +715,7 @@ UI STUFF
if(href_list["detailclose"])
var/indexNum = text2num(href_list["detailclose"])
if(!check_rights(close_rights))
- to_chat(usr, "Not enough rights to close this ticket.")
+ to_chat(usr, SPAN_WARNING("Not enough rights to close this ticket."))
return
if(alert("Are you sure? This will send a negative message.", null,"Yes","No") != "Yes")
return
@@ -759,7 +759,7 @@ UI STUFF
if(span_class == "mentorhelp")
message_staff("[usr.client] / ([usr]) has taken [ticket_name] number [index]")
else
- message_staff("[usr.client] / ([usr]) has taken [ticket_name] number [index]", TICKET_STAFF_MESSAGE_ADMIN_CHANNEL)
+ message_staff(SPAN_ADMIN_CHANNEL("[usr.client] / ([usr]) has taken [ticket_name] number [index]"), TICKET_STAFF_MESSAGE_ADMIN_CHANNEL)
to_chat_safe(returnClient(index), "Your [ticket_name] is being handled by [usr.client].")
/datum/controller/subsystem/tickets/proc/unassignTicket(index)
@@ -770,7 +770,7 @@ UI STUFF
if(span_class == "mentorhelp")
message_staff("[usr.client] / ([usr]) has unassigned [ticket_name] number [index]")
else
- message_staff("[usr.client] / ([usr]) has unassigned [ticket_name] number [index]", TICKET_STAFF_MESSAGE_ADMIN_CHANNEL)
+ message_staff(SPAN_ADMIN_CHANNEL("[usr.client] / ([usr]) has unassigned [ticket_name] number [index]"), TICKET_STAFF_MESSAGE_ADMIN_CHANNEL)
/datum/controller/subsystem/tickets/Shutdown()
diff --git a/code/datums/actions/item_action.dm b/code/datums/actions/item_action.dm
index b9b67fc866f..3b0f5c819ea 100644
--- a/code/datums/actions/item_action.dm
+++ b/code/datums/actions/item_action.dm
@@ -255,7 +255,7 @@
/datum/action/item_action/toggle_research_scanner/Trigger(left_click)
if(IsAvailable())
owner.research_scanner = !owner.research_scanner
- to_chat(owner, "Research analyzer is now [owner.research_scanner ? "active" : "deactivated"].")
+ to_chat(owner, SPAN_NOTICE("Research analyzer is now [owner.research_scanner ? "active" : "deactivated"]."))
return TRUE
/datum/action/item_action/toggle_research_scanner/Remove(mob/living/L)
diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm
index 9b546db88be..950b55c9079 100644
--- a/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/befriend_target.dm
@@ -11,7 +11,7 @@
living_pawn.befriend(living_target)
var/befriend_text = controller.blackboard[befriend_message]
if(befriend_text)
- to_chat(living_target, "[living_pawn] [befriend_text]")
+ to_chat(living_target, SPAN_NOTICE("[living_pawn] [befriend_text]"))
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED
diff --git a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm
index e2446a646af..9a5286331a2 100644
--- a/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm
+++ b/code/datums/ai/basic_mobs/basic_ai_behaviors/tipped_reaction.dm
@@ -25,7 +25,7 @@
else
seen_message = "[controller.pawn] seems resigned to its fate."
self_message = "You resign yourself to your fate."
- controller.pawn.visible_message("[seen_message]", "[self_message]")
+ controller.pawn.visible_message(SPAN_NOTICE("[seen_message]"), SPAN_NOTICE("[self_message]"))
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED
/datum/ai_behavior/tipped_reaction/finish_action(datum/ai_controller/controller, succeeded, tipper_key, reacting_key)
diff --git a/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm
index d3b89472c8f..fec90305edc 100644
--- a/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm
+++ b/code/datums/ai/basic_mobs/basic_subtrees/capricious_retaliate.dm
@@ -20,7 +20,7 @@
var/deaggro_chance = controller.blackboard[BB_RANDOM_DEAGGRO_CHANCE] || 10
if(!SPT_PROB(deaggro_chance, seconds_per_tick))
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED
- pawn.visible_message("[pawn] calms down.") // We can blackboard key this if anyone else actually wants to customise it
+ pawn.visible_message(SPAN_NOTICE("[pawn] calms down.")) // We can blackboard key this if anyone else actually wants to customise it
controller.clear_blackboard_key(BB_BASIC_MOB_RETALIATE_LIST)
controller.clear_blackboard_key(BB_BASIC_MOB_CURRENT_TARGET)
controller.cancel_actions() // Otherwise they will try and get one last kick in
@@ -51,12 +51,12 @@
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED
controller.insert_blackboard_key_lazylist(BB_BASIC_MOB_RETALIATE_LIST, final_target)
- pawn.visible_message("[pawn] glares grumpily at [final_target]!")
+ pawn.visible_message(SPAN_WARNING("[pawn] glares grumpily at [final_target]!"))
return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED
/// Called if we try but fail to target something
/datum/ai_behavior/capricious_retaliate/proc/failed_targeting(atom/pawn)
- pawn.visible_message("[pawn] grumbles.") // We're pissed off but with no outlet to vent our frustration upon
+ pawn.visible_message(SPAN_NOTICE("[pawn] grumbles.")) // We're pissed off but with no outlet to vent our frustration upon
/datum/ai_behavior/capricious_retaliate/finish_action(datum/ai_controller/controller, succeeded, ignore_faction)
. = ..()
diff --git a/code/datums/ai_laws_datums.dm b/code/datums/ai_laws_datums.dm
index 9dd5589c72e..979c2546296 100644
--- a/code/datums/ai_laws_datums.dm
+++ b/code/datums/ai_laws_datums.dm
@@ -236,7 +236,7 @@
if(law == zeroth_law_borg)
continue
if(law == zeroth_law)
- to_chat(who, "[law.get_index()]. [law.law]")
+ to_chat(who, SPAN_DANGER("[law.get_index()]. [law.law]"))
else
to_chat(who, "[law.get_index()]. [law.law]")
@@ -247,7 +247,7 @@
if(law == zeroth_law_borg)
continue
if(law == zeroth_law)
- . += "[law.get_index()]. [law.law]"
+ . += SPAN_DANGER("[law.get_index()]. [law.law]")
else
. += "[law.get_index()]. [law.law]"
diff --git a/code/datums/beam.dm b/code/datums/beam.dm
index 191240b3022..1a288482f82 100644
--- a/code/datums/beam.dm
+++ b/code/datums/beam.dm
@@ -226,7 +226,7 @@
var/mob/living/L = entered
var/damage = 50
if(L.stat == DEAD)
- visible_message("[L] is disintegrated by the beam!")
+ visible_message(SPAN_DANGER("[L] is disintegrated by the beam!"))
L.dust()
if(isliving(owner.origin))
var/mob/living/O = owner.origin
@@ -234,7 +234,7 @@
return
damage = 70 - ((O.health / O.maxHealth) * 20)
playsound(L,'sound/weapons/sear.ogg', 50, TRUE, -4)
- to_chat(L, "You're struck by a disintegration laser!")
+ to_chat(L, SPAN_USERDANGER("You're struck by a disintegration laser!"))
var/limb_to_hit = L.get_organ(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
var/armor = L.run_armor_check(limb_to_hit, LASER)
L.apply_damage(damage, BURN, limb_to_hit, armor)
diff --git a/code/datums/browser.dm b/code/datums/browser.dm
index 5174a9f2c7a..bef68842a81 100644
--- a/code/datums/browser.dm
+++ b/code/datums/browser.dm
@@ -133,7 +133,7 @@
/datum/browser/proc/open(use_onclose = TRUE)
if(isnull(window_id)) //null check because this can potentially nuke goonchat
WARNING("Browser [title] tried to open with a null ID")
- to_chat(user, "The [title] browser you tried to open failed a sanity check! Please report this on github!")
+ to_chat(user, SPAN_USERDANGER("The [title] browser you tried to open failed a sanity check! Please report this on github!"))
return
var/window_size = ""
diff --git a/code/datums/bug_report.dm b/code/datums/bug_report.dm
index 8946a6e608f..7ca5becc363 100644
--- a/code/datums/bug_report.dm
+++ b/code/datums/bug_report.dm
@@ -84,13 +84,13 @@ GLOBAL_LIST_EMPTY(bug_report_time)
// whether or not an admin/dev can access the record at a given time.
/datum/tgui_bug_report_form/proc/assign_approver(mob/user)
if(!initial_key)
- to_chat(user, "Unable to identify the author of the bug report.")
+ to_chat(user, SPAN_WARNING("Unable to identify the author of the bug report."))
return FALSE
if(approving_user)
if(user.client == approving_user)
- to_chat(user, "This bug report review is already opened and accessed by you.")
+ to_chat(user, SPAN_WARNING("This bug report review is already opened and accessed by you."))
else
- to_chat(user, "Another staff member is currently accessing this report, please wait for them to finish before making any changes.")
+ to_chat(user, SPAN_WARNING("Another staff member is currently accessing this report, please wait for them to finish before making any changes."))
return FALSE
if(!check_rights(R_VIEWRUNTIMES|R_ADMIN|R_DEBUG, user = user))
message_admins("[user.ckey] has attempted to review [initial_key]'s bug report titled [bug_report_data["title"]] without proper authorization at [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")].")
@@ -180,13 +180,13 @@ GLOBAL_LIST_EMPTY(bug_report_time)
var/datum/http_response/response = request.into_response()
if(response.errored || response.status_code != STATUS_SUCCESS)
- message_admins("The GitHub API has failed to create the bug report titled [bug_report_data["title"]] approved by [approving_user], status code:[response.status_code]. Please paste this error code into the development channel on discord.")
+ message_admins(SPAN_ADMINNOTICE("The GitHub API has failed to create the bug report titled [bug_report_data["title"]] approved by [approving_user], status code:[response.status_code]. Please paste this error code into the development channel on discord."))
external_link_prompt(user)
else
var/client/initial_user = locateUID(initial_user_uid)
message_admins("[user.ckey] has approved a bug report from [initial_key] titled [bug_report_data["title"]] at [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")].")
if(initial_user)
- to_chat(initial_user, "An admin has successfully submitted your report and it should now be visible on GitHub. Thanks again!")
+ to_chat(initial_user, SPAN_NOTICE("An admin has successfully submitted your report and it should now be visible on GitHub. Thanks again!"))
// approved and submitted, we no longer need the datum.
qdel(src)
@@ -194,7 +194,7 @@ GLOBAL_LIST_EMPTY(bug_report_time)
/datum/tgui_bug_report_form/proc/bug_report_request()
var/client/initial_user = locateUID(initial_user_uid)
if(initial_user)
- to_chat(initial_user, "Your bug report has been submitted, thank you!")
+ to_chat(initial_user, SPAN_NOTICE("Your bug report has been submitted, thank you!"))
if(!db_uid)
db_uid = world.realtime
GLOB.bug_reports += src
@@ -210,7 +210,7 @@ GLOBAL_LIST_EMPTY(bug_report_time)
switch(action)
if("confirm")
if(selected_confirm) // prevent someone from spamming the approve button
- to_chat(user, "You have already approved this submission, please wait a moment for the API to process your submission.")
+ to_chat(user, SPAN_WARNING("You have already approved this submission, please wait a moment for the API to process your submission."))
return
bug_report_data = sanitize_payload(params)
add_metadata(user)
diff --git a/code/datums/components/anti_magic.dm b/code/datums/components/anti_magic.dm
index 645e579a709..0128c1dd87a 100644
--- a/code/datums/components/anti_magic.dm
+++ b/code/datums/components/anti_magic.dm
@@ -115,7 +115,7 @@
if(!(antimagic_flags & knownspell.antimagic_flags))
continue
- to_chat(equipper, "[parent] is interfering with your ability to cast magic!")
+ to_chat(equipper, SPAN_WARNING("[parent] is interfering with your ability to cast magic!"))
alert_caster_on_equip = FALSE
break
diff --git a/code/datums/components/boomerang.dm b/code/datums/components/boomerang.dm
index 637f11df183..7591544da91 100644
--- a/code/datums/components/boomerang.dm
+++ b/code/datums/components/boomerang.dm
@@ -79,8 +79,8 @@
addtimer(CALLBACK(true_parent, TYPE_PROC_REF(/atom/movable, throw_at), thrown_by, boomerang_throw_range, throwing_datum.speed, null, TRUE), 0.1 SECONDS)
COOLDOWN_START(src, last_boomerang_throw, BOOMERANG_REBOUND_INTERVAL)
var/mob/thrower = throwing_datum?.get_thrower()
- true_parent.visible_message("[true_parent] is flying back at [thrower]!", \
- "You see [true_parent] fly back at you!", \
- "You hear an aerodynamic woosh!")
+ true_parent.visible_message(SPAN_DANGER("[true_parent] is flying back at [thrower]!"), \
+ SPAN_DANGER("You see [true_parent] fly back at you!"), \
+ SPAN_HEAR("You hear an aerodynamic woosh!"))
#undef BOOMERANG_REBOUND_INTERVAL
diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm
index bc0a510f47e..31255d2e5b0 100644
--- a/code/datums/components/caltrop.dm
+++ b/code/datums/components/caltrop.dm
@@ -83,9 +83,9 @@
if(cooldown < world.time - 10) //cooldown to avoid message spam.
if(!H.incapacitated(ignore_restraints = TRUE))
- H.visible_message("[H] steps on [A].", "You step on [A]!")
+ H.visible_message(SPAN_DANGER("[H] steps on [A]."), SPAN_USERDANGER("You step on [A]!"))
else
- H.visible_message("[H] slides on [A]!", "You slide on [A]!")
+ H.visible_message(SPAN_DANGER("[H] slides on [A]!"), SPAN_USERDANGER("You slide on [A]!"))
cooldown = world.time
H.Weaken(weaken_duration)
diff --git a/code/datums/components/corpse_description.dm b/code/datums/components/corpse_description.dm
index 1378b56628b..489c6f91dbb 100644
--- a/code/datums/components/corpse_description.dm
+++ b/code/datums/components/corpse_description.dm
@@ -27,6 +27,6 @@
if(corpse.stat != DEAD || !description_text)
return // Why the hell you put this on them then
if(naive_description && HAS_TRAIT(corpse_inspector, TRAIT_COMIC_SANS))
- examine_list += "[naive_description]"
+ examine_list += SPAN_NOTICE("[naive_description]")
return
- examine_list += "[description_text]"
+ examine_list += SPAN_NOTICE("[description_text]")
diff --git a/code/datums/components/deadchat_control.dm b/code/datums/components/deadchat_control.dm
index 24e7c916b2a..0c623e6b8fa 100644
--- a/code/datums/components/deadchat_control.dm
+++ b/code/datums/components/deadchat_control.dm
@@ -79,17 +79,17 @@
return
var/cooldown = ckey_to_cooldown[source.ckey] - world.time
if(cooldown > 0)
- to_chat(source, "Your deadchat control inputs are still on cooldown for another [CEILING(cooldown * 0.1, 1)] second\s.")
+ to_chat(source, SPAN_WARNING("Your deadchat control inputs are still on cooldown for another [CEILING(cooldown * 0.1, 1)] second\s."))
return MOB_DEADSAY_SIGNAL_INTERCEPT
ckey_to_cooldown[source.ckey] = world.time + input_cooldown
addtimer(CALLBACK(src, PROC_REF(end_cooldown), source.ckey), input_cooldown)
inputs[message].Invoke()
- to_chat(source, "\"[message]\" input accepted. You are now on cooldown for [input_cooldown * 0.1] second\s.")
+ to_chat(source, SPAN_NOTICE("\"[message]\" input accepted. You are now on cooldown for [input_cooldown * 0.1] second\s."))
return MOB_DEADSAY_SIGNAL_INTERCEPT
if(deadchat_mode & DEADCHAT_DEMOCRACY_MODE)
ckey_to_cooldown[source.ckey] = message
- to_chat(source, "You have voted for \"[message]\".")
+ to_chat(source, SPAN_NOTICE("You have voted for \"[message]\"."))
return MOB_DEADSAY_SIGNAL_INTERCEPT
/datum/component/deadchat_control/proc/democracy_loop()
@@ -147,11 +147,11 @@
if(isobserver(orbiter))
var/mob/dead/observer/O = orbiter
if(O.client && !(O.client.prefs.toggles & PREFTOGGLE_CHAT_DEAD))
- to_chat(O, "You have deadchat muted, and as such will not receive messages related to, nor be able to participate in, controlling this object.")
- to_chat(O, "If you would like to participate, unmute deadchat and follow this object again.")
+ to_chat(O, SPAN_DEADSAY("You have deadchat muted, and as such will not receive messages related to, nor be able to participate in, controlling this object."))
+ to_chat(O, SPAN_NOTICE("If you would like to participate, unmute deadchat and follow this object again."))
return
else
- to_chat(O, "[parent] is deadchat-controllable! Examine [parent] to see possible commands you can use while orbiting [parent.p_them()] to control [parent.p_their()] behavior!")
+ to_chat(O, SPAN_DEADSAY("[parent] is deadchat-controllable! Examine [parent] to see possible commands you can use while orbiting [parent.p_them()] to control [parent.p_their()] behavior!"))
RegisterSignal(orbiter, COMSIG_MOB_DEADSAY, PROC_REF(deadchat_react))
RegisterSignal(orbiter, COMSIG_MOB_AUTOMUTE_CHECK, PROC_REF(waive_automute))
@@ -191,10 +191,10 @@
if(!isobserver(user))
return
- examine_list += "[A.p_theyre(TRUE)] currently under deadchat control using the [(deadchat_mode & DEADCHAT_DEMOCRACY_MODE) ? "democracy" : "anarchy"] ruleset!"
+ examine_list += SPAN_NOTICE("[A.p_theyre(TRUE)] currently under deadchat control using the [(deadchat_mode & DEADCHAT_DEMOCRACY_MODE) ? "democracy" : "anarchy"] ruleset!")
if(user.client && !(user.client.prefs.toggles & PREFTOGGLE_CHAT_DEAD))
- examine_list += "As you have deadchat disabled, you will not see vote messages, nor be able to participate in voting."
+ examine_list += SPAN_DEADSAY("As you have deadchat disabled, you will not see vote messages, nor be able to participate in voting.")
return
if(!(user in orbiters))
@@ -203,9 +203,9 @@
if(deadchat_mode & DEADCHAT_DEMOCRACY_MODE)
- examine_list += "Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] second\s."
+ examine_list += SPAN_NOTICE("Type a command into chat to vote on an action. This happens once every [input_cooldown * 0.1] second\s.")
else if(deadchat_mode & DEADCHAT_ANARCHY_MODE)
- examine_list += "Type a command into chat to perform. You may do this once every [input_cooldown * 0.1] second\s."
+ examine_list += SPAN_NOTICE("Type a command into chat to perform. You may do this once every [input_cooldown * 0.1] second\s.")
var/extended_examine = "Command list:"
@@ -221,7 +221,7 @@
var/mob/ghost = get_mob_by_ckey(ghost_ckey)
if(!ghost || isliving(ghost))
return
- to_chat(ghost, "Your deadchat control inputs for [parent] ([ghost_follow_link(parent, ghost)]) are no longer on cooldown.")
+ to_chat(ghost, SPAN_GREEN("Your deadchat control inputs for [parent] ([ghost_follow_link(parent, ghost)]) are no longer on cooldown."))
/// Dummy to call since we can't proc reference builtins
/datum/component/deadchat_control/proc/_step(ref, dir)
diff --git a/code/datums/components/defibrillator.dm b/code/datums/components/defibrillator.dm
index 6403433312f..6be498d288e 100644
--- a/code/datums/components/defibrillator.dm
+++ b/code/datums/components/defibrillator.dm
@@ -92,11 +92,11 @@
if(safety)
safety = FALSE
- unit.visible_message("[unit] beeps: Safety protocols disabled!")
+ unit.visible_message(SPAN_NOTICE("[unit] beeps: Safety protocols disabled!"))
playsound(get_turf(unit), safety_off_sound, 50, FALSE)
else
safety = TRUE
- unit.visible_message("[unit] beeps: Safety protocols enabled!")
+ unit.visible_message(SPAN_NOTICE("[unit] beeps: Safety protocols enabled!"))
playsound(get_turf(unit), safety_on_sound, 50, FALSE)
/datum/component/defib/proc/on_emag(obj/item/unit, mob/user)
@@ -148,12 +148,12 @@
var/application_result = SEND_SIGNAL(parent, COMSIG_DEFIB_PADDLES_APPLIED, user, target, should_cause_harm)
if(application_result & COMPONENT_BLOCK_DEFIB_DEAD)
- user.visible_message("[defib_ref] beeps: Unit is unpowered.")
+ user.visible_message(SPAN_NOTICE("[defib_ref] beeps: Unit is unpowered."))
playsound(get_turf(defib_ref), fail_sound, 50, FALSE)
return
if(on_cooldown)
- to_chat(user, "[defib_ref] is recharging.")
+ to_chat(user, SPAN_NOTICE("[defib_ref] is recharging."))
return
if(application_result & COMPONENT_BLOCK_DEFIB_MISC)
@@ -161,9 +161,9 @@
if(!istype(target))
if(robotic)
- to_chat(user, "This unit is only designed to work on humanoid lifeforms.")
+ to_chat(user, SPAN_NOTICE("This unit is only designed to work on humanoid lifeforms."))
else
- to_chat(user, "The instructions on [defib_ref] don't mention how to defibrillate that...")
+ to_chat(user, SPAN_NOTICE("The instructions on [defib_ref] don't mention how to defibrillate that..."))
return
if(should_cause_harm && combat && heart_attack_chance == 100)
@@ -178,23 +178,23 @@
return
user.visible_message(
- "[user] begins to place [parent] on [target]'s chest.",
- "You begin to place [parent] on [target.name]'s chest."
+ SPAN_WARNING("[user] begins to place [parent] on [target]'s chest."),
+ SPAN_WARNING("You begin to place [parent] on [target.name]'s chest.")
)
busy = TRUE
var/mob/dead/observer/ghost = target.get_ghost()
if(ghost)
- to_chat(ghost, "Your heart is being defibrillated. Return to your body if you want to be revived! (Verbs -> Ghost -> Re-enter corpse)")
+ to_chat(ghost, "[SPAN_GHOSTALERT("Your heart is being defibrillated. Return to your body if you want to be revived!")] (Verbs -> Ghost -> Re-enter corpse)")
window_flash(ghost.client)
SEND_SOUND(ghost, sound('sound/effects/genetics.ogg'))
else if(HAS_TRAIT_FROM(target, TRAIT_FAKEDEATH, CHANGELING_TRAIT))
- to_chat(target, "Your heart is being defibrillated. Click the defibrillator status to be revived!")
+ to_chat(target, SPAN_GHOSTALERT("Your heart is being defibrillated. Click the defibrillator status to be revived!"))
window_flash(target.client)
SEND_SOUND(target, sound('sound/effects/genetics.ogg'))
target.throw_alert("cling_defib", /atom/movable/screen/alert/changeling_defib_revive, alert_args = list(parent, target))
- user.visible_message("[user] places [parent] on [target]'s chest.", "You place [parent] on [target]'s chest.")
+ user.visible_message(SPAN_NOTICE("[user] places [parent] on [target]'s chest."), SPAN_WARNING("You place [parent] on [target]'s chest."))
playsound(get_turf(defib_ref), charge_sound, 50, FALSE)
if(ghost && !ghost.client && !QDELETED(ghost))
@@ -208,7 +208,7 @@
return
if(istype(target.wear_suit, /obj/item/clothing/suit/space) && !combat)
- user.visible_message("[defib_ref] buzzes: Patient's chest is obscured. Operation aborted.")
+ user.visible_message(SPAN_NOTICE("[defib_ref] buzzes: Patient's chest is obscured. Operation aborted."))
playsound(get_turf(defib_ref), fail_sound, 50, FALSE)
busy = FALSE
return
@@ -223,9 +223,9 @@
if(target.undergoing_cardiac_arrest() && target.stat != DEAD) // Can have a heart attack and heart is either missing, necrotic, or not beating
var/datum/organ/heart/heart = target.get_int_organ_datum(ORGAN_DATUM_HEART)
if(!heart)
- user.visible_message("[defib_ref] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity.")
+ user.visible_message(SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity."))
else if(heart.linked_organ.status & ORGAN_DEAD)
- user.visible_message("[defib_ref] buzzes: Resuscitation failed - Heart necrosis detected.")
+ user.visible_message(SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Heart necrosis detected."))
if(!heart || (heart.linked_organ.status & ORGAN_DEAD))
playsound(get_turf(defib_ref), fail_sound, 50, FALSE)
busy = FALSE
@@ -235,8 +235,8 @@
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100)
SEND_SIGNAL(parent, COMSIG_DEFIB_SHOCK_APPLIED, user, target, should_cause_harm, TRUE)
set_cooldown(cooldown)
- user.visible_message("[defib_ref] pings: Cardiac arrhythmia corrected.")
- target.visible_message("[target]'s body convulses a bit.", "You feel a jolt, and your heartbeat seems to steady.")
+ user.visible_message(SPAN_BOLDNOTICE("[defib_ref] pings: Cardiac arrhythmia corrected."))
+ target.visible_message(SPAN_WARNING("[target]'s body convulses a bit."), SPAN_USERDANGER("You feel a jolt, and your heartbeat seems to steady."))
playsound(get_turf(defib_ref), zap_sound, 50, TRUE, -1)
playsound(get_turf(defib_ref), "bodyfall", 50, TRUE)
playsound(get_turf(defib_ref), success_sound, 50, FALSE)
@@ -244,12 +244,12 @@
return
if(target.stat != DEAD && !HAS_TRAIT(target, TRAIT_FAKEDEATH))
- user.visible_message("[defib_ref] buzzes: Patient is not in a valid state. Operation aborted.")
+ user.visible_message(SPAN_NOTICE("[defib_ref] buzzes: Patient is not in a valid state. Operation aborted."))
playsound(get_turf(defib_ref), fail_sound, 50, FALSE)
busy = FALSE
return
- target.visible_message("[target]'s body convulses a bit.")
+ target.visible_message(SPAN_WARNING("[target]'s body convulses a bit."))
playsound(get_turf(defib_ref), "bodyfall", 50, TRUE)
playsound(get_turf(defib_ref), zap_sound, 50, TRUE, -1)
ghost = target.get_ghost(TRUE) // We have to double check whether the dead guy has entered their body during the above
@@ -259,31 +259,31 @@
var/failure_message
if(!target.is_revivable())
- failure_message = "[defib_ref] buzzes: Resuscitation failed - Heart tissue damage beyond point of no return for defibrillation."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Heart tissue damage beyond point of no return for defibrillation.")
else if(target.getBruteLoss() >= 180 || target.getFireLoss() >= 180)
- failure_message = "[defib_ref] buzzes: Resuscitation failed - Severe tissue damage detected."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Severe tissue damage detected.")
else if(HAS_TRAIT(target, TRAIT_HUSK))
- failure_message = "[defib_ref] buzzes: Resuscitation failed - Subject is husked."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Subject is husked.")
else if(target.blood_volume < BLOOD_VOLUME_SURVIVE)
- failure_message = "[defib_ref] buzzes: Resuscitation failed - Patient blood volume critically low."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Patient blood volume critically low.")
else if(!target.get_organ_slot("brain")) // So things like headless clings don't get outed
- failure_message = "[defib_ref] buzzes: Resuscitation failed - No brain detected within patient."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - No brain detected within patient.")
else if(ghost)
if(!(ghost.ghost_flags & GHOST_CAN_REENTER) || target.suiciding) // DNR or AntagHUD
- failure_message = "[defib_ref] buzzes: Resuscitation failed - No electrical brain activity detected."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - No electrical brain activity detected.")
else
- failure_message = "[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed.")
else if(HAS_TRAIT(target, TRAIT_FAKEDEATH))
if(signal_result & COMPONENT_DEFIB_FAKEDEATH_DENIED)
- failure_message = "[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed - Patient's brain is unresponsive. Further attempts may succeed.")
else if(signal_result & COMPONENT_DEFIB_FAKEDEATH_ACCEPTED)
// as much as I hate that this is here, it has to come after the `Patient is not in a valid state. Operation aborted.` check.
REMOVE_TRAIT(target, TRAIT_FAKEDEATH, CHANGELING_TRAIT)
else
- failure_message = "[defib_ref] buzzes: Resuscitation failed." // has a fakedeath like capulettium
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed.") // has a fakedeath like capulettium
else if((signal_result & COMPONENT_BLOCK_DEFIB) || HAS_TRAIT(target, TRAIT_BADDNA) || target.suiciding) // these are a bit more arbitrary
- failure_message = "[defib_ref] buzzes: Resuscitation failed."
+ failure_message = SPAN_BOLDNOTICE("[defib_ref] buzzes: Resuscitation failed.")
if(failure_message)
user.visible_message(failure_message)
@@ -313,11 +313,11 @@
if(target.check_brain_threshold(BRAIN_DAMAGE_RATIO_CRITICAL))
// If you want to treat this with mannitol, it'll have to metabolize while the patient is alive, so it's alright to bring them back up for a minute
playsound(get_turf(defib_ref), safety_off_sound, 50, FALSE)
- user.visible_message("[defib_ref] chimes: Minimal brain activity detected, brain treatment recommended for full resuscitation.")
+ user.visible_message(SPAN_BOLDNOTICE("[defib_ref] chimes: Minimal brain activity detected, brain treatment recommended for full resuscitation."))
else
playsound(get_turf(defib_ref), success_sound, 50, FALSE)
- user.visible_message("[defib_ref] pings: Resuscitation successful.")
+ user.visible_message(SPAN_BOLDNOTICE("[defib_ref] pings: Resuscitation successful."))
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100)
if(ishuman(target.pulledby)) // For some reason, pulledby isnt a list despite it being possible to be pulled by multiple people
@@ -349,8 +349,8 @@
if(!istype(target))
return
busy = TRUE
- target.visible_message("[user] has touched [target] with [parent]!", \
- "[user] touches you with [parent], and you feel a strong jolt!")
+ target.visible_message(SPAN_DANGER("[user] has touched [target] with [parent]!"), \
+ SPAN_USERDANGER("[user] touches you with [parent], and you feel a strong jolt!"))
target.apply_damage(60, STAMINA)
target.KnockDown(10 SECONDS)
playsound(get_turf(parent), zap_sound, 50, TRUE, -1)
@@ -373,13 +373,13 @@
if(IS_HORIZONTAL(target) && HAS_TRAIT(target, TRAIT_HANDS_BLOCKED)) // Weakening exists which doesn't floor you while stunned
add_attack_logs(user, target, "Gave a heart attack with [parent]")
target.set_heartattack(TRUE)
- target.visible_message("[user] has touched [target] with [parent]!", \
- "[user] touches you with [parent], and you feel a strong jolt!")
+ target.visible_message(SPAN_DANGER("[user] has touched [target] with [parent]!"), \
+ SPAN_USERDANGER("[user] touches you with [parent], and you feel a strong jolt!"))
playsound(get_turf(parent), zap_sound, 50, TRUE, -1)
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK, 100)
set_cooldown(cooldown)
return
- target.visible_message("[user] touches [target] lightly with [parent]!")
+ target.visible_message(SPAN_DANGER("[user] touches [target] lightly with [parent]!"))
set_cooldown(2.5 SECONDS)
/*
@@ -407,8 +407,8 @@
if(electrocute_mob(affecting, power_source, origin)) // shock anyone touching them >:)
var/datum/organ/heart/heart = affecting.get_int_organ_datum(ORGAN_DATUM_HEART)
if(heart.linked_organ.parent_organ == "chest" && affecting.has_both_hands()) // making sure the shock will go through their heart (drask hearts are in their head), and that they have both arms so the shock can cross their heart inside their chest
- affecting.visible_message("[affecting]'s entire body shakes as a shock travels up [affecting.p_their()] arm!", \
- "You feel a powerful shock travel up your [affecting.hand ? affecting.get_organ("l_arm") : affecting.get_organ("r_arm")] and back down your [affecting.hand ? affecting.get_organ("r_arm") : affecting.get_organ("l_arm")]!")
+ affecting.visible_message(SPAN_DANGER("[affecting]'s entire body shakes as a shock travels up [affecting.p_their()] arm!"), \
+ SPAN_USERDANGER("You feel a powerful shock travel up your [affecting.hand ? affecting.get_organ("l_arm") : affecting.get_organ("r_arm")] and back down your [affecting.hand ? affecting.get_organ("r_arm") : affecting.get_organ("l_arm")]!"))
affecting.set_heartattack(TRUE)
#undef DEFIB_TIME
diff --git a/code/datums/components/direct_explosive_trap.dm b/code/datums/components/direct_explosive_trap.dm
index b2ba85d7e02..86d60435e1e 100644
--- a/code/datums/components/direct_explosive_trap.dm
+++ b/code/datums/components/direct_explosive_trap.dm
@@ -63,7 +63,7 @@
/datum/component/direct_explosive_trap/proc/on_examined(datum/source, mob/user, list/examine_text)
SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE
if(get_dist(source, user) <= 2)
- examine_text += "Looks odd!"
+ examine_text += SPAN_NOTICE("Looks odd!")
/// Blow up
/datum/component/direct_explosive_trap/proc/explode(atom/source, mob/living/victim)
@@ -77,9 +77,9 @@
return
else if(result == DIRECT_EXPLOSIVE_TRAP_IGNORE)
return
- to_chat(victim, "[source] was boobytrapped!")
+ to_chat(victim, SPAN_DANGER("[source] was boobytrapped!"))
if(!isnull(saboteur))
- to_chat(saboteur, "Success! Your trap on [source] caught [victim.name]!")
+ to_chat(saboteur, SPAN_DANGER("Success! Your trap on [source] caught [victim.name]!"))
playsound(source, 'sound/effects/explosion2.ogg', 200, TRUE)
victim.ex_act(explosive_force)
// A bomb went off in your hands. Actually lets people follow up with it if
@@ -90,7 +90,7 @@
/// Called if we sit too long without going off
/datum/component/direct_explosive_trap/proc/bomb_expired()
if(!isnull(saboteur))
- to_chat(saboteur, "Failure! Your trap on [parent] didn't catch anyone this time.")
+ to_chat(saboteur, SPAN_DANGER("Failure! Your trap on [parent] didn't catch anyone this time."))
qdel(src)
/// Don't hang a reference to the person who placed the bomb
diff --git a/code/datums/components/ducttape.dm b/code/datums/components/ducttape.dm
index 8a1c69f8a28..decf1908d30 100644
--- a/code/datums/components/ducttape.dm
+++ b/code/datums/components/ducttape.dm
@@ -22,7 +22,7 @@
I.add_tape()
/datum/component/proc/add_tape_text(datum/source, mob/user, list/examine_list)
- examine_list += "There's some sticky tape attached to [source]."
+ examine_list += SPAN_NOTICE("There's some sticky tape attached to [source].")
/datum/component/ducttape/proc/add_tape_overlay(obj/item/O, list/overlays)
SIGNAL_HANDLER // COMSIG_ATOM_UPDATE_OVERLAYS
@@ -32,7 +32,7 @@
overlays += tape_overlay
/datum/component/ducttape/proc/remove_tape(obj/item/I, mob/user)
- to_chat(user, "You tear the tape off [I]!")
+ to_chat(user, SPAN_NOTICE("You tear the tape off [I]!"))
playsound(I, 'sound/items/poster_ripped.ogg', 50, 1)
new /obj/item/trash/tapetrash(user.loc)
I.update_icon()
@@ -58,7 +58,7 @@
var/target_direction = get_dir(source_turf, target_turf)//The direction we clicked
// Snowflake diagonal handling
if(target_direction in GLOB.diagonals)
- to_chat(user, "You can't reach [target_turf].")
+ to_chat(user, SPAN_WARNING("You can't reach [target_turf]."))
return
if(target_direction & EAST)
x_offset = 16
@@ -74,7 +74,7 @@
y_offset = -16
if(!user.drop_item_to_ground(I))
return
- to_chat(user, "You stick [I] to [target_turf].")
+ to_chat(user, SPAN_NOTICE("You stick [I] to [target_turf]."))
I.pixel_x = x_offset
I.pixel_y = y_offset
diff --git a/code/datums/components/forces_doors_open.dm b/code/datums/components/forces_doors_open.dm
index c099a927d92..949d8ceedea 100644
--- a/code/datums/components/forces_doors_open.dm
+++ b/code/datums/components/forces_doors_open.dm
@@ -67,7 +67,7 @@
return
if(SEND_SIGNAL(parent, COMSIG_TWOHANDED_WIELDED_TRY_WIELD_INTERACT) && airlock.arePowerSystemsOn())
- to_chat(user, "You need to be wielding [parent] to do that!")
+ to_chat(user, SPAN_WARNING("You need to be wielding [parent] to do that!"))
return TRUE
if(!airlock.density)
@@ -94,7 +94,7 @@
// opening failed
if(airlock.density)
- to_chat(user, "Despite your attempts, [airlock] refuses to open.")
+ to_chat(user, SPAN_WARNING("Despite your attempts, [airlock] refuses to open."))
/// open door without checks
/datum/component/forces_doors_open/proc/open_unpowered_door(obj/machinery/door/door)
@@ -110,7 +110,7 @@
var/obj/item/melee/mantis_blade/secondblade = user.get_inactive_hand()
if(!istype(secondblade, /obj/item/melee/mantis_blade))
- to_chat(user, "You need a second [parent] to pry open doors!")
+ to_chat(user, SPAN_WARNING("You need a second [parent] to pry open doors!"))
return ITEM_INTERACT_COMPLETE
if(try_to_force_open_airlock(user, target))
diff --git a/code/datums/components/fullauto.dm b/code/datums/components/fullauto.dm
index c82266a6be8..59a6dd13437 100644
--- a/code/datums/components/fullauto.dm
+++ b/code/datums/components/fullauto.dm
@@ -290,7 +290,7 @@
var/other_hand = shooter.get_organ(shooter.hand ? BODY_ZONE_PRECISE_R_HAND : BODY_ZONE_PRECISE_L_HAND)
if(weapon_weight == WEAPON_HEAVY && (shooter.get_inactive_hand() || !other_hand))
- to_chat(shooter, "You need to use both hands!")
+ to_chat(shooter, SPAN_WARNING("You need to use both hands!"))
return FALSE
return TRUE
diff --git a/code/datums/components/ghost_direct_control.dm b/code/datums/components/ghost_direct_control.dm
index 06eaa3e018c..5bb7d3f8bcb 100644
--- a/code/datums/components/ghost_direct_control.dm
+++ b/code/datums/components/ghost_direct_control.dm
@@ -63,7 +63,7 @@
var/mob/living/our_mob = parent
if(our_mob.stat == DEAD || our_mob.key || awaiting_ghosts)
return
- examine_text += "You could take control of this mob by clicking on it."
+ examine_text += SPAN_BOLDNOTICE("You could take control of this mob by clicking on it.")
/// Send out a request for a brain
/datum/component/ghost_direct_control/proc/request_ghost_control(poll_question, role_name, poll_length)
@@ -95,10 +95,10 @@
if(!hopeful_ghost.client)
return COMPONENT_CANCEL_ATTACK_CHAIN
if(awaiting_ghosts)
- to_chat(hopeful_ghost, "Ghost candidate selection currently in progress!")
+ to_chat(hopeful_ghost, SPAN_WARNING("Ghost candidate selection currently in progress!"))
return COMPONENT_CANCEL_ATTACK_CHAIN
if(!SSticker.HasRoundStarted())
- to_chat(hopeful_ghost, "You cannot assume control of this until after the round has started!")
+ to_chat(hopeful_ghost, SPAN_WARNING("You cannot assume control of this until after the round has started!"))
return COMPONENT_CANCEL_ATTACK_CHAIN
INVOKE_ASYNC(src, PROC_REF(attempt_possession), our_mob, hopeful_ghost)
return COMPONENT_CANCEL_ATTACK_CHAIN
@@ -113,17 +113,17 @@
/// Grant possession of our mob, component is now no longer required
/datum/component/ghost_direct_control/proc/assume_direct_control(mob/harbinger)
if(QDELETED(src))
- to_chat(harbinger, "Offer to possess creature has expired!")
+ to_chat(harbinger, SPAN_WARNING("Offer to possess creature has expired!"))
return
if(jobban_isbanned(harbinger, ban_type) || jobban_isbanned(harbinger, ROLE_SENTIENT) || (is_antag_spawner && jobban_isbanned(harbinger, ROLE_SYNDICATE)))
- to_chat(harbinger, "You are banned from playing as this role!")
+ to_chat(harbinger, SPAN_WARNING("You are banned from playing as this role!"))
return
var/mob/living/new_body = parent
if(new_body.stat == DEAD)
- to_chat(harbinger, "This body has passed away, it is of no use!")
+ to_chat(harbinger, SPAN_WARNING("This body has passed away, it is of no use!"))
return
if(new_body.key)
- to_chat(harbinger, "[parent] has already become sapient!")
+ to_chat(harbinger, SPAN_WARNING("[parent] has already become sapient!"))
qdel(src)
return
if(extra_control_checks && !extra_control_checks.Invoke(harbinger))
@@ -142,6 +142,6 @@
// This proc is called the very moment .key is set, so we need to force mind to initialize here if we want the invoke to affect the mind of the mob
if(isnull(harbinger.mind))
harbinger.mind_initialize()
- to_chat(harbinger, "[assumed_control_message]")
+ to_chat(harbinger, SPAN_BOLDNOTICE("[assumed_control_message]"))
after_assumed_control?.Invoke(harbinger)
qdel(src)
diff --git a/code/datums/components/label.dm b/code/datums/components/label.dm
index ef48a70759a..117086cb3ef 100644
--- a/code/datums/components/label.dm
+++ b/code/datums/components/label.dm
@@ -63,7 +63,7 @@
apply_label()
/datum/component/label/proc/on_examine(datum/source, mob/user, list/examine_list)
- examine_list += "It has a label with some words written on it. Use a hand labeler to remove it."
+ examine_list += SPAN_NOTICE("It has a label with some words written on it. Use a hand labeler to remove it.")
/// Applies a label to the name of the parent in the format of: "parent_name (label)"
/datum/component/label/proc/apply_label()
@@ -94,7 +94,7 @@
owner = person
if(department)
owner += " in [department]"
-
+
if(from_cc)
label_name = owner
else
@@ -113,4 +113,4 @@
/// Adds detailed information to the examine text.
/datum/component/label/goal/on_examine(datum/source, mob/user, list/examine_list)
- examine_list += "It has a label on it, marking it as part of a secondary goal for [owner]. Use a hand labeler to remove it."
+ examine_list += SPAN_NOTICE("It has a label on it, marking it as part of a secondary goal for [owner]. Use a hand labeler to remove it.")
diff --git a/code/datums/components/material_container.dm b/code/datums/components/material_container.dm
index fdf0081b68f..9502b96d3a8 100644
--- a/code/datums/components/material_container.dm
+++ b/code/datums/components/material_container.dm
@@ -59,7 +59,7 @@
var/datum/material/M = materials[I]
var/amt = amount(M.id)
if(amt)
- examine_list += "It has [amt] units of [lowertext(M.name)] stored."
+ examine_list += SPAN_NOTICE("It has [amt] units of [lowertext(M.name)] stored.")
/datum/component/material_container/proc/OnAttackBy(datum/source, obj/item/I, mob/living/user)
var/list/tc = allowed_typecache
@@ -72,7 +72,7 @@
if(I.flags & ABSTRACT)
return
if((I.flags_2 & (HOLOGRAM_2 | NO_MAT_REDEMPTION_2)) || (tc && !is_type_in_typecache(I, tc)))
- to_chat(user, "[parent] won't accept [I]!")
+ to_chat(user, SPAN_WARNING("[parent] won't accept [I]!"))
return
. = COMPONENT_SKIP_AFTERATTACK
var/datum/callback/pc = precondition
@@ -80,10 +80,10 @@
return
var/material_amount = get_item_material_amount(I)
if(!material_amount)
- to_chat(user, "[I] does not contain sufficient amounts of metal or glass to be accepted by [parent].")
+ to_chat(user, SPAN_WARNING("[I] does not contain sufficient amounts of metal or glass to be accepted by [parent]."))
return
if(!has_space(material_amount))
- to_chat(user, "[parent] is full. Please remove metal or glass from [parent] in order to insert more.")
+ to_chat(user, SPAN_WARNING("[parent] is full. Please remove metal or glass from [parent] in order to insert more."))
return
user_insert(I, user)
@@ -99,18 +99,18 @@
if(QDELETED(I) || QDELETED(user) || QDELETED(src) || parent != current_parent || user.incapacitated() || !in_range(current_parent, user) || user.l_hand != I && user.r_hand != I)
return
if(!user.drop_item())
- to_chat(user, "[I] is stuck to you and cannot be placed into [parent].")
+ to_chat(user, SPAN_WARNING("[I] is stuck to you and cannot be placed into [parent]."))
return
var/inserted = insert_item(I, stack_amt = requested_amount)
if(inserted)
if(istype(I, /obj/item/stack))
var/obj/item/stack/S = I
- to_chat(user, "You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent].")
+ to_chat(user, SPAN_NOTICE("You insert [inserted] [S.singular_name][inserted>1 ? "s" : ""] into [parent]."))
if(!QDELETED(I) && !user.put_in_hands(I))
stack_trace("Warning: User could not put object back in hand during material container insertion, line [__LINE__]! This can lead to issues.")
I.forceMove(user.drop_location())
else
- to_chat(user, "You insert a material total of [inserted] into [parent].")
+ to_chat(user, SPAN_NOTICE("You insert a material total of [inserted] into [parent]."))
qdel(I)
if(after_insert)
after_insert.Invoke(I.type, last_inserted_id, inserted)
diff --git a/code/datums/components/paintable.dm b/code/datums/components/paintable.dm
index 6450033d9ac..fbb82285d1a 100644
--- a/code/datums/components/paintable.dm
+++ b/code/datums/components/paintable.dm
@@ -17,7 +17,7 @@
return
. = COMPONENT_SKIP_AFTERATTACK
if(spraycan.capped)
- to_chat(user, "Take the cap off first!")
+ to_chat(user, SPAN_WARNING("Take the cap off first!"))
return
if(spraycan.uses < 2)
to_chat(user, "There is not enough paint in the can!")
@@ -28,4 +28,4 @@
var/atom/A = parent
A.add_atom_colour(colour, FIXED_COLOUR_PRIORITY)
playsound(spraycan, 'sound/effects/spray.ogg', 5, TRUE, 5)
- to_chat(user, "You spray [spraycan] on [A], painting it.")
+ to_chat(user, SPAN_NOTICE("You spray [spraycan] on [A], painting it."))
diff --git a/code/datums/components/parry.dm b/code/datums/components/parry.dm
index c22651ec020..d1e39485018 100644
--- a/code/datums/components/parry.dm
+++ b/code/datums/components/parry.dm
@@ -63,7 +63,7 @@
for(var/attack_type in parryable_attack_types)
attack_list += attack_types_english[attack_type]
- examine_text = "It's able to parry [english_list(attack_list)]."
+ examine_text = SPAN_NOTICE("It's able to parry [english_list(attack_list)].")
/datum/component/parry/proc/equipped(datum/source, mob/user, slot)
SIGNAL_HANDLER
diff --git a/code/datums/components/pet_commands/obeys_commands.dm b/code/datums/components/pet_commands/obeys_commands.dm
index b2f927a5992..f7d6a144963 100644
--- a/code/datums/components/pet_commands/obeys_commands.dm
+++ b/code/datums/components/pet_commands/obeys_commands.dm
@@ -57,4 +57,4 @@
return
if(!(user in source.ai_controller?.blackboard[BB_FRIENDS_LIST]))
return
- examine_list += "[source.p_they(TRUE)] seem[source.p_s()] happy to see you!"
+ examine_list += SPAN_NOTICE("[source.p_they(TRUE)] seem[source.p_s()] happy to see you!")
diff --git a/code/datums/components/pet_commands/pet_command.dm b/code/datums/components/pet_commands/pet_command.dm
index a3adcd53a12..1e09dc2cdf7 100644
--- a/code/datums/components/pet_commands/pet_command.dm
+++ b/code/datums/components/pet_commands/pet_command.dm
@@ -175,5 +175,5 @@
if(!look_for_target(friend, potential_target) || !set_command_target(parent, potential_target))
return FALSE
var/suffix = pointed_reaction ? " [pointed_reaction]" : ""
- parent.visible_message("[parent] follows [friend]'s gesture towards [potential_target][suffix]!")
+ parent.visible_message(SPAN_WARNING("[parent] follows [friend]'s gesture towards [potential_target][suffix]!"))
return TRUE
diff --git a/code/datums/components/pet_commands/pet_commands_basic.dm b/code/datums/components/pet_commands/pet_commands_basic.dm
index 741877bf1b5..09507ef632b 100644
--- a/code/datums/components/pet_commands/pet_commands_basic.dm
+++ b/code/datums/components/pet_commands/pet_commands_basic.dm
@@ -125,7 +125,7 @@
/datum/pet_command/attack/proc/refuse_target(mob/living/parent, atom/target)
var/mob/living/living_parent = parent
living_parent.custom_emote(EMOTE_VISIBLE, refuse_reaction)
- living_parent.visible_message("[living_parent] refuses to attack [target].")
+ living_parent.visible_message(SPAN_NOTICE("[living_parent] refuses to attack [target]."))
/datum/pet_command/attack/execute_action(datum/ai_controller/controller)
controller.queue_behavior(attack_behaviour, BB_CURRENT_PET_TARGET, targeting_strategy_key)
diff --git a/code/datums/components/radioactive.dm b/code/datums/components/radioactive.dm
index 18ee3e0029f..58b6b3c5d4f 100644
--- a/code/datums/components/radioactive.dm
+++ b/code/datums/components/radioactive.dm
@@ -136,7 +136,7 @@
fragments += "[length(fragments) ? " and [master.p_they()] " : "[master] "]hurt[master.p_s()] to look at."
if(length(fragments))
- out += "[fragments.Join()]"
+ out += SPAN_WARNING("[fragments.Join()]")
/datum/component/radioactive/proc/rad_attack(datum/source, atom/movable/target, mob/living/user)
SIGNAL_HANDLER
diff --git a/code/datums/components/riding/riding.dm b/code/datums/components/riding/riding.dm
index 149ea6ca655..81e37aca34a 100644
--- a/code/datums/components/riding/riding.dm
+++ b/code/datums/components/riding/riding.dm
@@ -103,7 +103,7 @@
/// This proc is called when the rider attempts to grab something, preventing them from doing so.
/datum/component/riding/proc/on_rider_try_pull(mob/living/rider_pulling, atom/movable/target, force)
SIGNAL_HANDLER // COMSIG_LIVING_TRY_PULL
- to_chat(rider_pulling, "You can't pull [target]!")
+ to_chat(rider_pulling, SPAN_WARNING("You can't pull [target]!"))
return COMSIG_LIVING_CANCEL_PULL
/// Some ridable atoms may want to only show on top of the rider in certain directions, like wheelchairs
diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm
index 2b2ff091bef..c42cdfecfdd 100644
--- a/code/datums/components/riding/riding_vehicle.dm
+++ b/code/datums/components/riding/riding_vehicle.dm
@@ -19,43 +19,43 @@
if(!keycheck(user))
if(COOLDOWN_FINISHED(src, message_cooldown))
- to_chat(user, "[vehicle_parent] has no key inserted!")
+ to_chat(user, SPAN_WARNING("[vehicle_parent] has no key inserted!"))
COOLDOWN_START(src, message_cooldown, 5 SECONDS)
return COMPONENT_DRIVER_BLOCK_MOVE
if(user.incapacitated())
if(ride_check_flags & UNBUCKLE_DISABLED_RIDER)
INVOKE_ASYNC(vehicle_parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), user, TRUE)
- user.visible_message("[user] falls off [vehicle_parent].",\
- "You slip off [vehicle_parent] as your body slumps!")
+ user.visible_message(SPAN_DANGER("[user] falls off [vehicle_parent]."),\
+ SPAN_DANGER("You slip off [vehicle_parent] as your body slumps!"))
user.Stun(3 SECONDS)
if(COOLDOWN_FINISHED(src, message_cooldown))
- to_chat(user, "You cannot operate [vehicle_parent] right now!")
+ to_chat(user, SPAN_WARNING("You cannot operate [vehicle_parent] right now!"))
COOLDOWN_START(src, message_cooldown, 5 SECONDS)
return COMPONENT_DRIVER_BLOCK_MOVE
if(ride_check_flags & RIDER_NEEDS_LEGS && HAS_TRAIT(user, TRAIT_FLOORED))
if(ride_check_flags & UNBUCKLE_DISABLED_RIDER)
INVOKE_ASYNC(vehicle_parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), user, TRUE)
- user.visible_message("[user] falls off [vehicle_parent].",\
- "You fall off [vehicle_parent] while trying to operate it while unable to stand!")
+ user.visible_message(SPAN_DANGER("[user] falls off [vehicle_parent]."),\
+ SPAN_DANGER("You fall off [vehicle_parent] while trying to operate it while unable to stand!"))
user.Stun(3 SECONDS)
if(COOLDOWN_FINISHED(src, message_cooldown))
- to_chat(user, "You can't seem to manage that while unable to stand up enough to move [vehicle_parent]...")
+ to_chat(user, SPAN_WARNING("You can't seem to manage that while unable to stand up enough to move [vehicle_parent]..."))
COOLDOWN_START(src, message_cooldown, 5 SECONDS)
return COMPONENT_DRIVER_BLOCK_MOVE
if(ride_check_flags & RIDER_NEEDS_ARMS && HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
if(ride_check_flags & UNBUCKLE_DISABLED_RIDER)
INVOKE_ASYNC(vehicle_parent, TYPE_PROC_REF(/atom/movable, unbuckle_mob), user, TRUE)
- user.visible_message("[user] falls off [vehicle_parent].",\
- "You fall off [vehicle_parent] while trying to operate it without being able to hold on!")
+ user.visible_message(SPAN_DANGER("[user] falls off [vehicle_parent]."),\
+ SPAN_DANGER("You fall off [vehicle_parent] while trying to operate it without being able to hold on!"))
user.Stun(3 SECONDS)
if(COOLDOWN_FINISHED(src, message_cooldown))
- to_chat(user, "You can't seem to hold onto [vehicle_parent] to move it...")
+ to_chat(user, SPAN_WARNING("You can't seem to hold onto [vehicle_parent] to move it..."))
COOLDOWN_START(src, message_cooldown, 5 SECONDS)
return COMPONENT_DRIVER_BLOCK_MOVE
@@ -71,7 +71,7 @@
if(!istype(next) || !istype(current))
return //not happening.
if(!turf_check(next, current))
- to_chat(user, "[movable_parent] cannot go onto [next]!")
+ to_chat(user, SPAN_WARNING("[movable_parent] cannot go onto [next]!"))
return
if(GLOB.move_manager.processing_on(movable_parent, SSspacedrift) && !override_allow_spacemove)
return
@@ -126,7 +126,7 @@
/datum/component/riding/vehicle/scooter/skateboard/proc/on_examine(datum/source, mob/user, list/examine_list)
SIGNAL_HANDLER //COMSIG_PARENT_EXAMINE
- examine_list += "Going nice and slow at walk speed will prevent crashing into things."
+ examine_list += SPAN_NOTICE("Going nice and slow at walk speed will prevent crashing into things.")
/datum/component/riding/vehicle/scooter/skateboard/vehicle_mob_buckle(datum/source, mob/living/rider, force = FALSE)
. = ..()
@@ -157,8 +157,8 @@
if((L.getStaminaLoss() >= 60 || L.health <= 40) && !L.absorb_stun(0)) // Only injured people can be shot off. Hulks and people on stimulants can not be shot off.
S.unbuckle_mob(L)
L.KnockDown(2 SECONDS)
- L.visible_message("[L] gets shot off [S] by [projectile]!",
- "You get shot off [S] by [projectile]!")
+ L.visible_message(SPAN_WARNING("[L] gets shot off [S] by [projectile]!"),
+ SPAN_WARNING("You get shot off [S] by [projectile]!"))
/datum/component/riding/vehicle/scooter/skateboard/pro
vehicle_move_delay = 1
diff --git a/code/datums/components/scope.dm b/code/datums/components/scope.dm
index 37b046a8791..a0e24b1a6e7 100644
--- a/code/datums/components/scope.dm
+++ b/code/datums/components/scope.dm
@@ -75,7 +75,7 @@
if(!is_zoomed_in())
return
if(source.loc != tracker.owner) //Dropped.
- to_chat(tracker.owner, "[parent]'s scope is overloaded by movement and shuts down!")
+ to_chat(tracker.owner, SPAN_WARNING("[parent]'s scope is overloaded by movement and shuts down!"))
stop_zooming(tracker.owner)
/datum/component/scope/proc/on_action_trigger(datum/action/source)
@@ -113,7 +113,7 @@
var/scope = istype(parent, /obj/item/gun) ? "scope in" : "zoom out"
switch(zoom_method)
if(ZOOM_METHOD_WIELD)
- examine_list += "You can [scope] by wielding it with both hands."
+ examine_list += SPAN_NOTICE("You can [scope] by wielding it with both hands.")
/**
* We find and return the best target to hit on a given turf.
@@ -154,13 +154,13 @@
if(isnull(user.client))
return
if(HAS_TRAIT(user, TRAIT_SCOPED))
- to_chat(user, "You are already zoomed in!")
+ to_chat(user, SPAN_WARNING("You are already zoomed in!"))
return
if((flags & SCOPE_TURF_ONLY) && !isturf(user.loc))
- to_chat(user, "There is not enough space to zoom in!")
+ to_chat(user, SPAN_WARNING("There is not enough space to zoom in!"))
return
if((flags & SCOPE_NEED_ACTIVE_HAND) && user.get_active_hand() != parent)
- to_chat(user, "You need to hold [parent] in your active hand to zoom in!")
+ to_chat(user, SPAN_WARNING("You need to hold [parent] in your active hand to zoom in!"))
return
if(time_to_scope)
if(!do_after_once(user, time_to_scope, target = parent))
diff --git a/code/datums/components/shelved.dm b/code/datums/components/shelved.dm
index 0e7a1322d19..9cf003c2b18 100644
--- a/code/datums/components/shelved.dm
+++ b/code/datums/components/shelved.dm
@@ -43,7 +43,7 @@
return
var/joined_results = english_list(results)
- examine_list += "It currently holds: [joined_results]."
+ examine_list += SPAN_NOTICE("It currently holds: [joined_results].")
/datum/component/shelver/proc/prepare_autoshelf()
SIGNAL_HANDLER // COMSIG_SHELF_ADDED_ON_MAPLOAD
@@ -131,7 +131,7 @@
return
if(length(allowed_types) && !(attacker.type in allowed_types))
- to_chat(user, "[attacker] won't fit on [parent]!")
+ to_chat(user, SPAN_NOTICE("[attacker] won't fit on [parent]!"))
return COMPONENT_SKIP_AFTERATTACK
var/list/PL = params2list(params)
@@ -143,15 +143,15 @@
i++
if(icon_x >= coords[1] && icon_x <= coords[3] && icon_y >= coords[2] && icon_y <= coords[4])
if(used_places[i])
- to_chat(user, "There's already something there on [parent].")
+ to_chat(user, SPAN_NOTICE("There's already something there on [parent]."))
return COMPONENT_SKIP_AFTERATTACK
var/position_details = placement_zones[coords]
if(user.drop_item())
add_item(attacker, i, position_details)
user.visible_message(
- "[user] places [attacker] on [parent].",
- "You place [attacker] on [parent].",
+ SPAN_NOTICE("[user] places [attacker] on [parent]."),
+ SPAN_NOTICE("You place [attacker] on [parent]."),
)
return COMPONENT_SKIP_AFTERATTACK
@@ -301,7 +301,7 @@
CRASH("received non-obj shelf with UID [shelf_uid]")
var/shelf_name = shelf ? "flies off [shelf]" : "falls down"
- O.visible_message("[O] [shelf_name]!")
+ O.visible_message(SPAN_NOTICE("[O] [shelf_name]!"))
O.throw_at(pick(clear_turfs), 2, 3)
qdel(src)
diff --git a/code/datums/components/shielded.dm b/code/datums/components/shielded.dm
index 010e675e98a..1d25b4177bf 100644
--- a/code/datums/components/shielded.dm
+++ b/code/datums/components/shielded.dm
@@ -180,7 +180,7 @@
/// Default on_hit proc, since cult robes are stupid and have different descriptions/sparks
/datum/component/shielded/proc/default_run_hit_callback(mob/living/owner, attack_text, current_charges)
do_sparks(2, TRUE, owner)
- owner.visible_message("[owner]'s shields deflect [attack_text] in a shower of sparks!")
+ owner.visible_message(SPAN_DANGER("[owner]'s shields deflect [attack_text] in a shower of sparks!"))
if(current_charges <= 0)
- owner.visible_message("[owner]'s shield overloads!")
+ owner.visible_message(SPAN_WARNING("[owner]'s shield overloads!"))
diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm
index 81731db2a29..dac70c8f61f 100644
--- a/code/datums/components/spawner.dm
+++ b/code/datums/components/spawner.dm
@@ -54,7 +54,7 @@
L.nest = src
L.faction = src.faction
ADD_TRAIT(L, TRAIT_FROM_TENDRIL, INNATE_TRAIT)
- P.visible_message("[L] [spawn_text] [P].")
+ P.visible_message(SPAN_DANGER("[L] [spawn_text] [P]."))
P.on_mob_spawn(L)
return L
diff --git a/code/datums/components/special_tastes.dm b/code/datums/components/special_tastes.dm
index 5b5a9165dea..c732c3fab6d 100644
--- a/code/datums/components/special_tastes.dm
+++ b/code/datums/components/special_tastes.dm
@@ -2,7 +2,7 @@
/datum/component/special_tastes
/// associated list of item to reagents and tastes
/// Typepath = (list(reagents = list(reagents), tastes = list(tastes)); Ex: list(/obj/item/stack/sheet/mineral/silver = list("reagents" = list("nutriment" = 5, "vitamin" = 1), "tastes" = list("metal and blood" = 1)))
- var/list/obj/item/edible_items = list()
+ var/list/obj/item/edible_items = list()
/datum/component/special_tastes/Initialize(list/edible_items)
if(!length(edible_items))
@@ -37,7 +37,7 @@
if(istype(attacking_item, /obj/item/stack))
var/obj/item/stack/stacked_item = attacking_item
if(stacked_item.amount > 1)
- to_chat(user, "You can only eat one of [stacked_item] at a time.")
+ to_chat(user, SPAN_NOTICE("You can only eat one of [stacked_item] at a time."))
return
var/obj/item/food/food = turn_into_food(attacking_item, similar_to)
user.drop_item_to_ground(attacking_item, TRUE, TRUE)
@@ -50,7 +50,7 @@
food.On_Consume(user, user)
qdel(attacking_item)
return // couldnt eat it, undo
- to_chat(user, "You are too full to eat [attacking_item].")
+ to_chat(user, SPAN_NOTICE("You are too full to eat [attacking_item]."))
user.drop_item_to_ground(food, TRUE, TRUE)
user.put_in_active_hand(attacking_item)
qdel(food)
diff --git a/code/datums/components/spooky.dm b/code/datums/components/spooky.dm
index 3ec7ab5bbe6..a7efa34a163 100644
--- a/code/datums/components/spooky.dm
+++ b/code/datums/components/spooky.dm
@@ -35,7 +35,7 @@
if((H.getStaminaLoss() > 95) && (!istype(H.dna.species, /datum/species/diona) && !istype(H.dna.species, /datum/species/machine) && !istype(H.dna.species, /datum/species/slime) && !istype(H.dna.species, /datum/species/golem) && !istype(H.dna.species, /datum/species/plasmaman) && !istype(H.dna.species, /datum/species/skeleton)))
H.Stun(40 SECONDS)
H.set_species(/datum/species/skeleton) // Makes the OP skelly
- H.visible_message("[H] has given up on life as a mortal.")
+ H.visible_message(SPAN_WARNING("[H] has given up on life as a mortal."))
var/T = get_turf(H)
if(too_spooky)
if(prob(30))
@@ -45,9 +45,9 @@
else if(prob(30))
new/obj/item/instrument/trombone/spectral(T)
else
- to_chat(H, "The spooky gods forgot to ship your instrument. Better luck next unlife.")
- to_chat(H, "You are the spooky skeleton!")
- to_chat(H, "A new life and identity has begun. Help your fellow skeletons into bringing out the spooky-pocalypse. You haven't forgotten your past life, and are still beholden to past loyalties.")
+ to_chat(H, SPAN_BOLDWARNING("The spooky gods forgot to ship your instrument. Better luck next unlife."))
+ to_chat(H, SPAN_BOLDNOTICE("You are the spooky skeleton!"))
+ to_chat(H, SPAN_BOLDNOTICE("A new life and identity has begun. Help your fellow skeletons into bringing out the spooky-pocalypse. You haven't forgotten your past life, and are still beholden to past loyalties."))
change_name(H) //time for a new name!
/datum/component/spooky/proc/change_name(mob/living/carbon/human/H)
diff --git a/code/datums/components/sticky.dm b/code/datums/components/sticky.dm
index dcfeed36aa3..03f6cc936e6 100644
--- a/code/datums/components/sticky.dm
+++ b/code/datums/components/sticky.dm
@@ -18,7 +18,7 @@
if(attached_to)
if(!QDELETED(parent) && isitem(parent))
var/obj/item/I = parent
- I.visible_message("[parent] falls off of [attached_to].")
+ I.visible_message(SPAN_NOTICE("[parent] falls off of [attached_to]."))
pick_up(parent)
move_to_the_thing(parent, get_turf(parent))
@@ -55,7 +55,7 @@
attached_to = target
move_to_the_thing(parent)
if(user)
- to_chat(user, "You attach [parent] to [attached_to].")
+ to_chat(user, SPAN_NOTICE("You attach [parent] to [attached_to]."))
overlay = icon(I.icon, I.icon_state)
//Clamp it so that the icon never moves more than 16 pixels in either direction
@@ -103,7 +103,7 @@
move_to_the_thing(parent)
if(user)
INVOKE_ASYNC(user, TYPE_PROC_REF(/mob, put_in_hands), I)
- to_chat(user, "You take [parent] off of [attached_to].")
+ to_chat(user, SPAN_NOTICE("You take [parent] off of [attached_to]."))
I.invisibility = initial(I.invisibility)
@@ -116,7 +116,7 @@
SIGNAL_HANDLER
if(!in_range(user, attached_to))
return
- examine_list += "There is [parent] attached to [source], grab [attached_to.p_them()] to remove it."
+ examine_list += SPAN_NOTICE("There is [parent] attached to [source], grab [attached_to.p_them()] to remove it.")
/datum/component/sticky/proc/on_move(datum/source, oldloc, move_dir)
SIGNAL_HANDLER
diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm
index 6232562ed83..31deb61f6a2 100644
--- a/code/datums/components/surgery_initiator.dm
+++ b/code/datums/components/surgery_initiator.dm
@@ -59,7 +59,7 @@
/datum/component/surgery_initiator/proc/on_parent_examine_more(datum/source, mob/user, list/examine_list)
SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE_MORE
- examine_list += "You can use this on someone who is laying down to begin surgery on them."
+ examine_list += SPAN_NOTICE("You can use this on someone who is laying down to begin surgery on them.")
/// Keep tabs on the attached item's sharpness.
/// This component gets added in atoms when they're made sharp as well.
@@ -93,7 +93,7 @@
return
if(L.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST))
- to_chat(user, "You realise that a ghost probably doesn't have any useful organs.")
+ to_chat(user, SPAN_NOTICE("You realise that a ghost probably doesn't have any useful organs."))
return //no cult ghost surgery please
INVOKE_ASYNC(src, PROC_REF(do_initiate_surgery_moment), target, user)
// This signal is actually part of the attack chain, so it needs to return true to stop it
@@ -128,9 +128,9 @@
if(!length(available_surgeries))
if(IS_HORIZONTAL(target) || isanimal(target))
- to_chat(user, "There aren't any surgeries you can perform there right now.")
+ to_chat(user, SPAN_NOTICE("There aren't any surgeries you can perform there right now."))
else
- to_chat(user, "You can't perform any surgeries there while [target] is standing.")
+ to_chat(user, SPAN_NOTICE("You can't perform any surgeries there while [target] is standing."))
return
// if we have a surgery that should be performed regardless with this item,
@@ -170,8 +170,8 @@
/datum/component/surgery_initiator/proc/cancel_unstarted_surgery_fluff(datum/surgery/the_surgery, mob/living/patient, mob/user, selected_zone)
user.visible_message(
- "[user] stops the surgery on [patient]'s [parse_zone(selected_zone)] with [parent].",
- "You stop the surgery on [patient]'s [parse_zone(selected_zone)] with [parent].",
+ SPAN_NOTICE("[user] stops the surgery on [patient]'s [parse_zone(selected_zone)] with [parent]."),
+ SPAN_NOTICE("You stop the surgery on [patient]'s [parse_zone(selected_zone)] with [parent]."),
)
/// Does the surgery de-initiation.
@@ -226,7 +226,7 @@
else
close_tool = locate(/obj/item/crowbar) in user.get_all_slots()
if(!close_tool)
- to_chat(user, "You need a prying tool in an inactive slot to stop the surgery!")
+ to_chat(user, SPAN_WARNING("You need a prying tool in an inactive slot to stop the surgery!"))
return TRUE
else if(other_hand)
@@ -236,7 +236,7 @@
break
if(!close_tool)
- to_chat(user, "You need a [is_robotic ? "prying": "cauterizing"] tool in your inactive hand to stop the surgery!")
+ to_chat(user, SPAN_WARNING("You need a [is_robotic ? "prying": "cauterizing"] tool in your inactive hand to stop the surgery!"))
return TRUE
if(skip_surgery || chosen_close_step.try_op(user, patient, selected_zone, close_tool, the_surgery) == SURGERY_INITIATE_SUCCESS)
@@ -255,13 +255,13 @@
// The item was moved somewhere else
if(!(parent in user))
- to_chat(user, "You cannot start an operation if you aren't holding the tool anymore.")
+ to_chat(user, SPAN_WARNING("You cannot start an operation if you aren't holding the tool anymore."))
return FALSE
// While we were choosing, another surgery was started at the same location
for(var/datum/surgery/surgery in target.surgeries)
if(surgery.location == user.zone_selected)
- to_chat(user, "There's already another surgery in progress on their [parse_zone(surgery.location)].")
+ to_chat(user, SPAN_WARNING("There's already another surgery in progress on their [parse_zone(surgery.location)]."))
return FALSE
return TRUE
@@ -280,32 +280,32 @@
if(surgery.requires_bodypart == isnull(affecting_limb))
if(surgery.requires_bodypart)
- to_chat(user, "The patient has no [parse_zone(selected_zone)]!")
+ to_chat(user, SPAN_WARNING("The patient has no [parse_zone(selected_zone)]!"))
else
- to_chat(user, "The patient has \a [parse_zone(selected_zone)]!")
+ to_chat(user, SPAN_WARNING("The patient has \a [parse_zone(selected_zone)]!"))
return
if(iscarbon(target))
if(!isnull(affecting_limb))
if((surgery.requires_organic_bodypart && affecting_limb.is_robotic()) || (!surgery.requires_organic_bodypart && !affecting_limb.is_robotic()))
- to_chat(user, "That's not the right type of limb for this operation!")
+ to_chat(user, SPAN_WARNING("That's not the right type of limb for this operation!"))
return
if(surgery_needs_exposure(surgery, target))
- to_chat(user, "You have to expose [target.p_their()] [parse_zone(selected_zone)] first!")
+ to_chat(user, SPAN_WARNING("You have to expose [target.p_their()] [parse_zone(selected_zone)] first!"))
return
if(surgery.lying_required && !on_operable_surface(target))
- to_chat(user, "Patient must be lying down for this operation.")
+ to_chat(user, SPAN_NOTICE("Patient must be lying down for this operation."))
return
if(target == user && !surgery.self_operable)
- to_chat(user, "You can't perform that operation on yourself!")
+ to_chat(user, SPAN_NOTICE("You can't perform that operation on yourself!"))
return
if(!surgery.can_start(user, target))
- to_chat(user, "Can't start the surgery!")
+ to_chat(user, SPAN_WARNING("Can't start the surgery!"))
return
var/datum/surgery/procedure = new surgery.type(target, selected_zone, affecting_limb)
@@ -314,7 +314,7 @@
if(istype(procedure, /datum/surgery/dissect))
if(isnull(target.surgery_container))
log_debug("A dissection was started on [target] with contains_xeno_organ as TRUE, however its surgery_container was null!")
- CRASH("[target] does not have a dissection surgery information set to it. Please inform an admin or developer.")
+ CRASH(SPAN_USERDANGER("[target] does not have a dissection surgery information set to it. Please inform an admin or developer."))
if(ispath(target.surgery_container, /datum/xenobiology_surgery_container))
target.surgery_container = new target.surgery_container
procedure.steps = target.surgery_container.dissection_tool_step
@@ -335,8 +335,8 @@
/// Handle to allow for easily overriding the message shown
/datum/component/surgery_initiator/proc/show_starting_message(mob/user, mob/living/target, datum/surgery/procedure)
user.visible_message(
- "[user] holds [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery.",
- "You hold [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name].",
+ SPAN_NOTICE("[user] holds [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery."),
+ SPAN_NOTICE("You hold [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name]."),
)
/datum/component/surgery_initiator/proc/on_prevent_germs()
@@ -367,14 +367,14 @@
/datum/component/surgery_initiator/cloth/show_starting_message(mob/user, mob/living/target, datum/surgery/procedure)
user.visible_message(
- "[user] drapes [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery.",
- "You drape [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name].",
+ SPAN_NOTICE("[user] drapes [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for surgery."),
+ SPAN_NOTICE("You drape [parent] over [target]'s [parse_zone(user.zone_selected)] to prepare for \an [procedure.name]."),
)
/datum/component/surgery_initiator/cloth/on_surgery_selection(mob/user, mob/living/target, datum/surgery/target_surgery)
user.visible_message(
- "[user] starts to apply [parent] onto [target].",
- "You start to apply [parent] onto [target].",
+ SPAN_NOTICE("[user] starts to apply [parent] onto [target]."),
+ SPAN_NOTICE("You start to apply [parent] onto [target]."),
)
if(!isnull(surgery_start_sound))
@@ -383,8 +383,8 @@
playsound(src, surgery_start_sound)
if(!do_after_once(user, 3 SECONDS, TRUE, target))
user.visible_message(
- "[user] stops applying [parent] onto [target].",
- "You stop applying [parent] onto [target]."
+ SPAN_WARNING("[user] stops applying [parent] onto [target]."),
+ SPAN_WARNING("You stop applying [parent] onto [target].")
)
return
@@ -395,7 +395,7 @@
/datum/component/surgery_initiator/cloth/on_blood_splash(datum/surgery, mob/user, mob/target, zone, obj/item/tool)
if(prob(90 * germ_prevention_quality))
- target.visible_message("Blood splashes onto the dressing.")
+ target.visible_message(SPAN_NOTICE("Blood splashes onto the dressing."))
var/obj/item/I = parent // safety: this component can only go onto an item
I.add_mob_blood(target)
return COMPONENT_BLOOD_SPLASH_HANDLED
diff --git a/code/datums/components/tameable.dm b/code/datums/components/tameable.dm
index b32f5dd74c3..2e4215bdb96 100644
--- a/code/datums/components/tameable.dm
+++ b/code/datums/components/tameable.dm
@@ -62,7 +62,7 @@
if(QDELETED(animal) || chosen_name == animal.name)
return
if(!chosen_name)
- to_chat(tamer, "Please enter a valid name.")
+ to_chat(tamer, SPAN_WARNING("Please enter a valid name."))
rename_pet(animal, tamer)
return
animal.rename_character(animal.name, chosen_name)
diff --git a/code/datums/components/tether.dm b/code/datums/components/tether.dm
index e5fde3c0ba9..b7bc343ed16 100644
--- a/code/datums/components/tether.dm
+++ b/code/datums/components/tether.dm
@@ -74,7 +74,7 @@
return
var/atom/atom = parent
atom?.setDir(get_dir(parent, newloc))
- to_chat(atom, "You can't move in that direction with the [tethered_to] tethered to you!")
+ to_chat(atom, SPAN_WARNING("You can't move in that direction with the [tethered_to] tethered to you!"))
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE
/datum/component/tether/proc/pre_tethered_movement(atom/movable/source, newloc)
@@ -86,13 +86,13 @@
durability_cost()
var/atom/atom = parent
atom?.setDir(get_dir(parent, newloc))
- to_chat(atom, "You can't move in that direction with the [tethered_to] tethered to you!")
+ to_chat(atom, SPAN_WARNING("You can't move in that direction with the [tethered_to] tethered to you!"))
return COMPONENT_MOVABLE_BLOCK_PRE_MOVE
/datum/component/tether/proc/can_equip(atom/source, mob/user)
// Check to make sure we dont go into an inventory outside of our range
if(get_dist(get_turf(parent), get_turf(user)) > max_range)
- to_chat(user, "You try to pick up [tethered_to], you can't pull it's [tether_name] any farther!")
+ to_chat(user, SPAN_WARNING("You try to pick up [tethered_to], you can't pull it's [tether_name] any farther!"))
return COMPONENT_CANCEL_ATTACK_CHAIN
/datum/component/tether/proc/parent_check_bounds(atom/movable/source, atom/mover, atom/old_loc, direction)
@@ -167,7 +167,7 @@
return
durability -= cost
if(durability <= 0 && !QDELETED(tethered_to))
- tethered_to.visible_message("[tethered_to]'s [tether_name] wears out and snaps back!")
+ tethered_to.visible_message(SPAN_WARNING("[tethered_to]'s [tether_name] wears out and snaps back!"))
terminate()
return TRUE // it breaks, let the parent move outside of the range again
return FALSE
diff --git a/code/datums/components/tilted.dm b/code/datums/components/tilted.dm
index 7027fdbc5e8..5bd7e6e5b4c 100644
--- a/code/datums/components/tilted.dm
+++ b/code/datums/components/tilted.dm
@@ -49,7 +49,7 @@
/datum/component/tilted/proc/on_examine(datum/source, mob/user, list/examine_list)
SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE
- examine_list += "It's been tilted over. Alt+Click it to right it."
+ examine_list += SPAN_NOTICE("It's been tilted over. Alt+Click it to right it.")
/datum/component/tilted/proc/on_alt_click(atom/source, mob/user)
SIGNAL_HANDLER // COMSIG_CLICK_ALT
@@ -59,7 +59,7 @@
/datum/component/tilted/proc/on_interact(atom/source, mob/user)
SIGNAL_HANDLER // COMSIG_ATOM_ATTACK_HAND
if(block_interactions)
- to_chat(user, "You can't do that right now, you need to right it first!")
+ to_chat(user, SPAN_WARNING("You can't do that right now, you need to right it first!"))
return COMPONENT_CANCEL_ATTACK_CHAIN
/datum/component/tilted/proc/on_untilt(atom/source, mob/user)
@@ -88,9 +88,9 @@
if(!do_after(user, duration, TRUE, parent) || QDELETED(src))
return
user.visible_message(
- "[user] rights [atom_parent].",
- "You right [atom_parent].",
- "You hear a loud clang."
+ SPAN_NOTICE("[user] rights [atom_parent]."),
+ SPAN_NOTICE("You right [atom_parent]."),
+ SPAN_NOTICE("You hear a loud clang.")
)
if(QDELETED(atom_parent))
diff --git a/code/datums/components/tippable.dm b/code/datums/components/tippable.dm
index 4e8d3634905..c6acdeacdb3 100644
--- a/code/datums/components/tippable.dm
+++ b/code/datums/components/tippable.dm
@@ -84,16 +84,16 @@
return
if(tip_time > 0)
- to_chat(tipper, "You begin tipping over [tipped_mob]...")
+ to_chat(tipper, SPAN_WARNING("You begin tipping over [tipped_mob]..."))
tipped_mob.visible_message(
- "[tipper] begins tipping over [tipped_mob].",
- "[tipper] begins tipping you over!"
+ SPAN_WARNING("[tipper] begins tipping over [tipped_mob]."),
+ SPAN_USERDANGER("[tipper] begins tipping you over!")
)
if(!do_after(tipper, tip_time, target = tipped_mob))
if(!isnull(tipped_mob.client))
add_attack_logs(tipper, tipped_mob, "attempted to tip over")
- to_chat(tipper, "You fail to tip over [tipped_mob].")
+ to_chat(tipper, SPAN_DANGER("You fail to tip over [tipped_mob]."))
return
do_tip(tipped_mob, tipper)
@@ -111,12 +111,12 @@
if(is_tipped) // sanity check in case multiple people try to tip at the same time
return
- to_chat(tipper, "You tip over [tipped_mob].")
+ to_chat(tipper, SPAN_WARNING("You tip over [tipped_mob]."))
if(!isnull(tipped_mob.client))
add_attack_logs(tipper, tipped_mob, "tipped over")
tipped_mob.visible_message(
- "[tipper] tips over [tipped_mob].",
- "You are tipped over by [tipper]!"
+ SPAN_WARNING("[tipper] tips over [tipped_mob]."),
+ SPAN_DANGER("You are tipped over by [tipper]!")
)
set_tipped_status(tipped_mob, TRUE)
@@ -137,14 +137,14 @@
*/
/datum/component/tippable/proc/try_untip(mob/living/tipped_mob, mob/untipper)
if(untip_time > 0)
- to_chat(untipper, "You begin righting [tipped_mob]...")
+ to_chat(untipper, SPAN_NOTICE("You begin righting [tipped_mob]..."))
tipped_mob.visible_message(
- "[untipper] begins righting [tipped_mob].",
- "[untipper] begins righting you.",
+ SPAN_NOTICE("[untipper] begins righting [tipped_mob]."),
+ SPAN_NOTICE("[untipper] begins righting you."),
)
if(!do_after(untipper, untip_time, target = tipped_mob))
- to_chat(untipper, "You fail to right [tipped_mob].")
+ to_chat(untipper, SPAN_WARNING("You fail to right [tipped_mob]."))
return
do_untip(tipped_mob, untipper)
@@ -162,10 +162,10 @@
if(!is_tipped) // sanity check in case multiple people try to untip at the same time
return
- to_chat(untipper, "You right [tipped_mob].")
+ to_chat(untipper, SPAN_NOTICE("You right [tipped_mob]."))
tipped_mob.visible_message(
- "[untipper] rights [tipped_mob].",
- "You are righted by [untipper]!"
+ SPAN_NOTICE("[untipper] rights [tipped_mob]."),
+ SPAN_NOTICE("You are righted by [untipper]!")
)
if(self_untip_timer)
@@ -187,8 +187,8 @@
post_untipped_callback?.Invoke()
tipped_mob.visible_message(
- "[tipped_mob] rights [tipped_mob.p_themselves()].",
- "You right yourself."
+ SPAN_NOTICE("[tipped_mob] rights [tipped_mob.p_themselves()]."),
+ SPAN_NOTICE("You right yourself.")
)
/**
diff --git a/code/datums/components/two_handed.dm b/code/datums/components/two_handed.dm
index d89713bf8d5..db466e36b28 100644
--- a/code/datums/components/two_handed.dm
+++ b/code/datums/components/two_handed.dm
@@ -163,7 +163,7 @@
/datum/component/two_handed/proc/on_attack_hand(datum/source, mob/user)
SIGNAL_HANDLER // COMSIG_ATOM_ATTACK_HAND if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN)
if(require_twohands && user.get_inactive_hand())
- to_chat(user, "[parent] is too cumbersome to carry in one hand!")
+ to_chat(user, SPAN_NOTICE("[parent] is too cumbersome to carry in one hand!"))
return COMPONENT_CANCEL_ATTACK_CHAIN
/**
@@ -177,22 +177,22 @@
return
if(ismonkeybasic(user))
if(require_twohands)
- to_chat(user, "[parent] is too heavy and cumbersome for you to carry!")
+ to_chat(user, SPAN_NOTICE("[parent] is too heavy and cumbersome for you to carry!"))
user.drop_item_to_ground(parent, force = TRUE)
else
- to_chat(user, "[parent] too heavy for you to wield fully.")
+ to_chat(user, SPAN_NOTICE("[parent] too heavy for you to wield fully."))
return
if(user.get_inactive_hand())
if(require_twohands)
- to_chat(user, "[parent] is too cumbersome to carry in one hand!")
+ to_chat(user, SPAN_NOTICE("[parent] is too cumbersome to carry in one hand!"))
user.drop_item_to_ground(parent, force = TRUE)
else
- to_chat(user, "You need your other hand to be empty!")
+ to_chat(user, SPAN_WARNING("You need your other hand to be empty!"))
return
if(!user.has_both_hands())
if(require_twohands)
user.drop_item_to_ground(parent, force = TRUE)
- to_chat(user, "You don't have enough intact hands.")
+ to_chat(user, SPAN_WARNING("You don't have enough intact hands."))
return
// wield update status
@@ -218,9 +218,9 @@
parent_item.update_appearance()
if(isrobot(user))
- to_chat(user, "You dedicate your module to [parent].")
+ to_chat(user, SPAN_NOTICE("You dedicate your module to [parent]."))
else
- to_chat(user, "You grab [parent] with both hands.")
+ to_chat(user, SPAN_NOTICE("You grab [parent] with both hands."))
// Play sound if one is set
if(wieldsound)
@@ -293,11 +293,11 @@
// Show message if requested
if(show_message)
if(isrobot(user))
- to_chat(user, "You free up your module.")
+ to_chat(user, SPAN_NOTICE("You free up your module."))
else if(require_twohands)
- to_chat(user, "You drop [parent].")
+ to_chat(user, SPAN_NOTICE("You drop [parent]."))
else
- to_chat(user, "You are now carrying [parent] with one hand.")
+ to_chat(user, SPAN_NOTICE("You are now carrying [parent] with one hand."))
// Play sound if set
if(unwieldsound)
@@ -395,12 +395,12 @@
if(require_twohands)
INVOKE_ASYNC(src, PROC_REF(try_drop_item), user)
else
- user.visible_message("[user] unwields [parent] as the handcuffs make it too hard to hold properly.")
+ user.visible_message(SPAN_NOTICE("[user] unwields [parent] as the handcuffs make it too hard to hold properly."))
INVOKE_ASYNC(src, PROC_REF(unwield), user)
/datum/component/two_handed/proc/try_drop_item(mob/user)
if(user.drop_item_to_ground(parent))
- user.visible_message("[user] loses [user.p_their()] grip on [parent]!")
+ user.visible_message(SPAN_NOTICE("[user] loses [user.p_their()] grip on [parent]!"))
/**
* The offhand dummy item for two handed items
diff --git a/code/datums/components/zombie_regen.dm b/code/datums/components/zombie_regen.dm
index 602b729986a..db052ace841 100644
--- a/code/datums/components/zombie_regen.dm
+++ b/code/datums/components/zombie_regen.dm
@@ -42,7 +42,7 @@
zomboid.reagents.remove_reagent("zombiecure4", the_cure.metabolization_rate * zomboid.metabolism_efficiency)
return
zombie_rejuv()
- to_chat(zomboid, "We... Awaken...")
+ to_chat(zomboid, SPAN_ZOMBIELARGE("We... Awaken..."))
zomboid.notify_ghost_cloning("Your zombie body has risen again, re-enter your corpse to continue the feast!", source = zomboid)
// If no client, but they were a player thats not SSD (debrained, revived but hasn't returned to body, etc)
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index 1a4dea3226a..a7a8884fd57 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -493,31 +493,31 @@ USER_CONTEXT_MENU(debug_variables, R_ADMIN|R_VIEWRUNTIMES, "\[Admin\] View Varia
. = "DISPLAY_ERROR: ([value] \ref[value]s)"
if(isnull(value))
- return "null"
+ return SPAN_VALUE("null")
else if(is_color_text(value))
- return " \"[value]\""
+ return SPAN_VALUE(" \"[value]\"")
else if(istext(value))
- return "\"[VV_HTML_ENCODE(value)]\""
+ return SPAN_VALUE("\"[VV_HTML_ENCODE(value)]\"")
else if(isicon(value))
#ifdef VARSICON
- return "/icon ([value]) [bicon(value, use_class=0)]"
+ return "/icon ([SPAN_VALUE("[value]")]) [bicon(value, use_class=0)]"
#else
- return "/icon ([value])"
+ return "/icon ([SPAN_VALUE("[value]")])"
#endif
else if(istype(value, /image))
var/image/I = value
#ifdef VARSICON
- return "[name] \ref[value] /image ([value]) [bicon(value, use_class=0)]"
+ return "[name] \ref[value] /image ([SPAN_VALUE("[value]")]) [bicon(value, use_class=0)]"
#else
- return "[name] \ref[value] /image ([value])"
+ return "[name] \ref[value] /image ([SPAN_VALUE("[value]")])"
#endif
else if(isfile(value))
- return "'[value]'"
+ return SPAN_VALUE("'[value]'")
else if(istype(value, /datum))
var/datum/D = value
@@ -545,9 +545,9 @@ USER_CONTEXT_MENU(debug_variables, R_ADMIN|R_VIEWRUNTIMES, "\[Admin\] View Varia
return "/list ([length(L)])"
else if(name in GLOB.bitfields)
- return "[VV_HTML_ENCODE(translate_bitfield(VV_BITFIELD, name, value))]"
+ return SPAN_VALUE("[VV_HTML_ENCODE(translate_bitfield(VV_BITFIELD, name, value))]")
else
- return "[VV_HTML_ENCODE(value)]"
+ return SPAN_VALUE("[VV_HTML_ENCODE(value)]")
/datum/proc/debug_variable_value(sanitize)
return "[VV_HTML_ENCODE(src)] \ref[src] ([type])"
@@ -731,13 +731,13 @@ USER_VERB(debug_global_variables, R_ADMIN|R_VIEWRUNTIMES, "Debug Global Variable
if("vars")
return FALSE
if(!(var_search in GLOB.vars))
- to_chat(client, "GLOB.[var_search] does not exist.")
+ to_chat(client, SPAN_DEBUG("GLOB.[var_search] does not exist."))
return
log_and_message_admins("is debugging the Global Variables controller with the search term \"[var_search]\"")
var/result = GLOB.vars[var_search]
if(islist(result) || isclient(result) || istype(result, /datum))
- to_chat(client, "Now showing GLOB.[var_search].")
+ to_chat(client, SPAN_DEBUG("Now showing GLOB.[var_search]."))
return client.debug_variables(result)
- to_chat(client, "GLOB.[var_search] returned [result].")
+ to_chat(client, SPAN_DEBUG("GLOB.[var_search] returned [result]."))
#undef VV_HTML_ENCODE
diff --git a/code/datums/diseases/_MobProcs.dm b/code/datums/diseases/_MobProcs.dm
index 484f973bb21..db60e99d75f 100644
--- a/code/datums/diseases/_MobProcs.dm
+++ b/code/datums/diseases/_MobProcs.dm
@@ -168,7 +168,7 @@ MARK: Helpers
return FALSE
if(notify_ghosts)
for(var/mob/ghost as anything in GLOB.dead_mob_list) //Announce outbreak to dchat
- to_chat(ghost, "Disease outbreak: [src] ([ghost_follow_link(src, ghost)]) [D.carrier ? "is now a carrier of" : "has contracted"] [D]!")
+ to_chat(ghost, SPAN_DEADSAY("Disease outbreak: [src] ([ghost_follow_link(src, ghost)]) [D.carrier ? "is now a carrier of" : "has contracted"] [D]!"))
message_admins("[key_name(src)] [D.carrier ? "is now a carrier of" : "has contracted"] [D]!")
log_admin("[key_name(src)] [D.carrier ? "is now a carrier of" : "has contracted"] [D]!")
AddDisease(D, respect_carrier)
diff --git a/code/datums/diseases/advance/symptoms/beard.dm b/code/datums/diseases/advance/symptoms/beard.dm
index 048dcff0fec..ad3e1a3091f 100644
--- a/code/datums/diseases/advance/symptoms/beard.dm
+++ b/code/datums/diseases/advance/symptoms/beard.dm
@@ -31,17 +31,17 @@ BONUS
return
switch(A.stage)
if(1, 2)
- to_chat(H, "Your chin itches.")
+ to_chat(H, SPAN_WARNING("Your chin itches."))
if(head_organ.f_style == "Shaved")
head_organ.f_style = "Jensen Beard"
H.update_fhair()
if(3, 4)
- to_chat(H, "You feel tough.")
+ to_chat(H, SPAN_WARNING("You feel tough."))
if(!(head_organ.f_style == "Dwarf Beard") && !(head_organ.f_style == "Very Long Beard") && !(head_organ.f_style == "Full Beard"))
head_organ.f_style = "Full Beard"
H.update_fhair()
else
- to_chat(H, "You feel manly!")
+ to_chat(H, SPAN_WARNING("You feel manly!"))
if(!(head_organ.f_style == "Dwarf Beard") && !(head_organ.f_style == "Very Long Beard"))
head_organ.f_style = pick("Dwarf Beard", "Very Long Beard")
H.update_fhair()
diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm
index e5e6b84ab02..1ee53f59a27 100644
--- a/code/datums/diseases/advance/symptoms/choking.dm
+++ b/code/datums/diseases/advance/symptoms/choking.dm
@@ -30,13 +30,13 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
- to_chat(M, "[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]")
+ to_chat(M, SPAN_WARNING("[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]"))
if(3, 4)
- to_chat(M, "[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]")
+ to_chat(M, SPAN_WARNING("[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]"))
Choke(M, A, unmitigated)
M.emote("gasp")
else
- to_chat(M, "[pick("You're choking!", "You can't breathe!")]")
+ to_chat(M, SPAN_USERDANGER("[pick("You're choking!", "You can't breathe!")]"))
Choke(M, A)
M.emote("gasp")
return
diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm
index f016b937487..da99f35d723 100644
--- a/code/datums/diseases/advance/symptoms/confusion.dm
+++ b/code/datums/diseases/advance/symptoms/confusion.dm
@@ -34,10 +34,10 @@ Bonus
/datum/symptom/confusion/symptom_act(datum/disease/advance/A, unmitigated)
var/mob/living/carbon/M = A.affected_mob
if(prob(A.progress ** 2))
- to_chat(M, "You can't think straight!")
+ to_chat(M, SPAN_USERDANGER("You can't think straight!"))
M.AdjustConfused(16 SECONDS * unmitigated, bound_lower = 0, bound_upper = 200 SECONDS)
else
- to_chat(M, "[pick("Your head hurts.", "Your mind blanks for a moment.")]")
+ to_chat(M, SPAN_WARNING("[pick("Your head hurts.", "Your mind blanks for a moment.")]"))
return
diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm
index 9c06171cf52..6875a17b77c 100644
--- a/code/datums/diseases/advance/symptoms/deafness.dm
+++ b/code/datums/diseases/advance/symptoms/deafness.dm
@@ -32,7 +32,7 @@ Bonus
return //cutting off your ears to cure the deafness: the ultimate own
switch(A.stage)
if(3, 4)
- to_chat(M, "[pick("You hear a ringing in your ear.", "Your ears pop.")]")
+ to_chat(M, SPAN_WARNING("[pick("You hear a ringing in your ear.", "Your ears pop.")]"))
if(5)
- to_chat(M, "Your ears pop and begin ringing loudly!")
+ to_chat(M, SPAN_USERDANGER("Your ears pop and begin ringing loudly!"))
M.Deaf(40 SECONDS * unmitigated)
diff --git a/code/datums/diseases/advance/symptoms/dizzy.dm b/code/datums/diseases/advance/symptoms/dizzy.dm
index 9151f169ed1..fa32c84cf2e 100644
--- a/code/datums/diseases/advance/symptoms/dizzy.dm
+++ b/code/datums/diseases/advance/symptoms/dizzy.dm
@@ -32,8 +32,8 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- to_chat(M, "[pick("You feel dizzy.", "Your head spins.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel dizzy.", "Your head spins.")]"))
else
- to_chat(M, "A wave of dizziness washes over you!")
+ to_chat(M, SPAN_USERDANGER("A wave of dizziness washes over you!"))
M.Dizzy(10 SECONDS * unmitigated)
return
diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm
index 770fe993061..3fd9303cc9e 100644
--- a/code/datums/diseases/advance/symptoms/fever.dm
+++ b/code/datums/diseases/advance/symptoms/fever.dm
@@ -27,7 +27,7 @@ Bonus
/datum/symptom/fever/symptom_act(datum/disease/advance/A, unmitigated)
var/mob/living/carbon/M = A.affected_mob
- to_chat(M, "[pick("You feel hot.", "You feel like you're burning.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel hot.", "You feel like you're burning.")]"))
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
Heat(M, A, unmitigated)
return
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index 7181971fa82..d9fa2d0a67a 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -35,16 +35,16 @@ Bonus
return
switch(A.progress)
if(30 to 59)
- to_chat(M, "[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]"))
if(60 to 79)
Firestacks(M, A, unmitigated)
M.IgniteMob()
- to_chat(M, "Your skin bursts into flames!")
+ to_chat(M, SPAN_USERDANGER("Your skin bursts into flames!"))
M.emote("scream")
if(80 to INFINITY)
Firestacks(M, A, unmitigated)
M.IgniteMob()
- to_chat(M, "Your skin erupts into an inferno!")
+ to_chat(M, SPAN_USERDANGER("Your skin erupts into an inferno!"))
M.emote("scream")
return
@@ -67,6 +67,6 @@ Bonus
. = FALSE
target.wetlevel = max(round(target.wetlevel - 3 * heat_mod), 0)
if(target.wetlevel)
- to_chat(target, "Some water steams off your body")
+ to_chat(target, SPAN_USERDANGER("Some water steams off your body"))
else
- to_chat(target, "All of the water steams off your body!")
+ to_chat(target, SPAN_USERDANGER("All of the water steams off your body!"))
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index cf8a6ebc5b0..7283a5bcdf1 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -34,10 +34,10 @@ Bonus
var/mob/living/M = A.affected_mob
if(A.stage > 1)
if(prob(A.progress))
- to_chat(M, "[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]")
+ to_chat(M, SPAN_USERDANGER("[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]"))
Flesheat(M, A, unmitigated)
else
- to_chat(M, "[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]"))
return
diff --git a/code/datums/diseases/advance/symptoms/hair.dm b/code/datums/diseases/advance/symptoms/hair.dm
index c6bcf6434c0..34cd8e7dbf1 100644
--- a/code/datums/diseases/advance/symptoms/hair.dm
+++ b/code/datums/diseases/advance/symptoms/hair.dm
@@ -34,10 +34,10 @@ BONUS
return
switch(A.stage)
if(1, 2, 3)
- to_chat(H, "Your scalp itches.")
+ to_chat(H, SPAN_WARNING("Your scalp itches."))
head_organ.h_style = random_hair_style(H.gender, head_organ.dna.species.name)
else
- to_chat(H, "Hair bursts forth from your scalp!")
+ to_chat(H, SPAN_WARNING("Hair bursts forth from your scalp!"))
var/datum/sprite_accessory/tmp_hair_style = GLOB.hair_styles_full_list["Very Long Hair"]
if(head_organ.dna.species.name in tmp_hair_style.species_allowed) //If 'Very Long Hair' is a style the person's species can have, give it to them.
diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm
index a4f3f80d810..e2aa53e97ef 100644
--- a/code/datums/diseases/advance/symptoms/hallucigen.dm
+++ b/code/datums/diseases/advance/symptoms/hallucigen.dm
@@ -31,11 +31,11 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2)
- to_chat(M, "[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches.")]")
+ to_chat(M, SPAN_WARNING("[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whisper with no source.", "Your head aches.")]"))
if(3, 4)
- to_chat(M, "[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]")
+ to_chat(M, SPAN_WARNING("[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]"))
else
- to_chat(M, "[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]")
+ to_chat(M, SPAN_USERDANGER("[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]"))
M.AdjustHallucinate(5 SECONDS)
return
diff --git a/code/datums/diseases/advance/symptoms/headache.dm b/code/datums/diseases/advance/symptoms/headache.dm
index 4f7b0ad932c..671e140a148 100644
--- a/code/datums/diseases/advance/symptoms/headache.dm
+++ b/code/datums/diseases/advance/symptoms/headache.dm
@@ -31,5 +31,5 @@ BONUS
/datum/symptom/headache/symptom_act(datum/disease/advance/A, unmitigated)
var/mob/living/M = A.affected_mob
- to_chat(M, "[pick("Your head hurts.", "Your head starts pounding.")]")
+ to_chat(M, SPAN_WARNING("[pick("Your head hurts.", "Your head starts pounding.")]"))
return
diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index d3cb4f43ae9..ca3c44168a2 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -77,7 +77,7 @@ Bonus
cured_diseases += D.GetDiseaseID()
D.cure()
if(cured)
- to_chat(M, "You feel much better.")
+ to_chat(M, SPAN_NOTICE("You feel much better."))
/datum/symptom/heal/metabolism/End(datum/disease/advance/A)
// Remove all the diseases we cured.
@@ -87,7 +87,7 @@ Bonus
for(var/res in M.resistances)
if(res in cured_diseases)
M.resistances -= res
- to_chat(M, "You feel weaker.")
+ to_chat(M, SPAN_WARNING("You feel weaker."))
*/
/*
diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm
index 4d12932eeea..f3c59d29001 100644
--- a/code/datums/diseases/advance/symptoms/itching.dm
+++ b/code/datums/diseases/advance/symptoms/itching.dm
@@ -30,5 +30,5 @@ BONUS
/datum/symptom/itching/symptom_act(datum/disease/advance/A, unmitigated)
var/mob/living/M = A.affected_mob
- to_chat(M, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.")
+ to_chat(M, SPAN_WARNING("Your [pick("back", "arm", "leg", "elbow", "head")] itches."))
return
diff --git a/code/datums/diseases/advance/symptoms/oxygen.dm b/code/datums/diseases/advance/symptoms/oxygen.dm
index 3e628d6eaab..640a8d1179a 100644
--- a/code/datums/diseases/advance/symptoms/oxygen.dm
+++ b/code/datums/diseases/advance/symptoms/oxygen.dm
@@ -34,5 +34,5 @@ Bonus
if(M.reagents.get_reagent_amount("salbutamol") < 20)
M.reagents.add_reagent("salbutamol", 20)
else
- to_chat(M, "[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]")
+ to_chat(M, SPAN_NOTICE("[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]"))
return
diff --git a/code/datums/diseases/advance/symptoms/sensory.dm b/code/datums/diseases/advance/symptoms/sensory.dm
index 42f88702263..3784f2bbaf3 100644
--- a/code/datums/diseases/advance/symptoms/sensory.dm
+++ b/code/datums/diseases/advance/symptoms/sensory.dm
@@ -59,4 +59,4 @@ Bonus
M.reagents.add_reagent("oculine", 20)
else
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
- to_chat(M, "[pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink.","Your ears feel great.","Your hearing feels more acute.")]")
+ to_chat(M, SPAN_NOTICE("[pick("Your eyes feel great.","You feel like your eyes can focus more clearly.", "You don't feel the need to blink.","Your ears feel great.","Your hearing feels more acute.")]"))
diff --git a/code/datums/diseases/advance/symptoms/shedding.dm b/code/datums/diseases/advance/symptoms/shedding.dm
index 7d3dabb5d8e..5080d9463e4 100644
--- a/code/datums/diseases/advance/symptoms/shedding.dm
+++ b/code/datums/diseases/advance/symptoms/shedding.dm
@@ -30,17 +30,17 @@ BONUS
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
if(!istype(head_organ))
return
- to_chat(H, "[pick("Your scalp itches.", "Your skin feels flakey.")]")
+ to_chat(H, SPAN_WARNING("[pick("Your scalp itches.", "Your skin feels flakey.")]"))
if(NO_HAIR in H.dna.species.species_traits)
return // Hair can't fall out if you don't have any
switch(A.stage)
if(3, 4)
if(head_organ.h_style != "Bald" && head_organ.h_style != "Balding Hair")
- to_chat(H, "Your hair starts to fall out in clumps...")
+ to_chat(H, SPAN_WARNING("Your hair starts to fall out in clumps..."))
addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, null, "Balding Hair"), 5 SECONDS)
if(5)
if((head_organ.f_style != "Shaved") || (head_organ.h_style != "Bald"))
- to_chat(H, "Your hair starts to fall out in clumps...")
+ to_chat(H, SPAN_WARNING("Your hair starts to fall out in clumps..."))
addtimer(CALLBACK(src, PROC_REF(change_hair), H, head_organ, "Shaved", "Bald"), 5 SECONDS)
/datum/symptom/shedding/proc/change_hair(mob/living/carbon/human/H, obj/item/organ/external/head/head_organ, f_style, h_style)
diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm
index e33b35d735a..7d5b4808532 100644
--- a/code/datums/diseases/advance/symptoms/shivering.dm
+++ b/code/datums/diseases/advance/symptoms/shivering.dm
@@ -26,7 +26,7 @@ Bonus
/datum/symptom/shivering/symptom_act(datum/disease/advance/A, unmitigated)
var/mob/living/carbon/M = A.affected_mob
- to_chat(M, "[pick("You feel cold.", "You start shivering.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel cold.", "You start shivering.")]"))
M.emote("shiver")
if(M.bodytemperature > BODYTEMP_COLD_DAMAGE_LIMIT)
Chill(M, A)
diff --git a/code/datums/diseases/advance/symptoms/skin.dm b/code/datums/diseases/advance/symptoms/skin.dm
index e736af707ea..7a037f7dd14 100644
--- a/code/datums/diseases/advance/symptoms/skin.dm
+++ b/code/datums/diseases/advance/symptoms/skin.dm
@@ -35,7 +35,7 @@ BONUS
if(5)
H.change_skin_tone(85, TRUE)
else
- H.visible_message("[H] looks a bit pale...", "Your skin suddenly appears lighter...")
+ H.visible_message(SPAN_WARNING("[H] looks a bit pale..."), SPAN_NOTICE("Your skin suddenly appears lighter..."))
return
@@ -78,6 +78,6 @@ BONUS
if(5)
H.change_skin_tone(-85, TRUE)
else
- H.visible_message("[H] looks a bit dark...", "Your skin suddenly appears darker...")
+ H.visible_message(SPAN_WARNING("[H] looks a bit dark..."), SPAN_NOTICE("Your skin suddenly appears darker..."))
return
diff --git a/code/datums/diseases/advance/symptoms/viral.dm b/code/datums/diseases/advance/symptoms/viral.dm
index 109ffb8709f..0feeaadf408 100644
--- a/code/datums/diseases/advance/symptoms/viral.dm
+++ b/code/datums/diseases/advance/symptoms/viral.dm
@@ -24,9 +24,9 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1)
- to_chat(M, "You feel off, but no different from before.")
+ to_chat(M, SPAN_NOTICE("You feel off, but no different from before."))
if(5)
- to_chat(M, "You feel better, but nothing interesting happens.")
+ to_chat(M, SPAN_NOTICE("You feel better, but nothing interesting happens."))
/*
//////////////////////////////////////
@@ -60,9 +60,9 @@ BONUS
var/mob/living/M = A.affected_mob
if(prob(A.progress * 2))
// randomly set the value of a minor disability block
- to_chat(M, "You feel like something is changing")
+ to_chat(M, SPAN_NOTICE("You feel like something is changing"))
A.affected_mob.dna.SetSEValue(pick(possible_blocks), rand(0, 4095))
domutcheck(A.affected_mob)
else
- to_chat(M, "You feel a weird")
+ to_chat(M, SPAN_NOTICE("You feel a weird"))
diff --git a/code/datums/diseases/advance/symptoms/vision.dm b/code/datums/diseases/advance/symptoms/vision.dm
index 76b1f75c447..0bf2352cc9c 100644
--- a/code/datums/diseases/advance/symptoms/vision.dm
+++ b/code/datums/diseases/advance/symptoms/vision.dm
@@ -35,18 +35,18 @@ Bonus
return
switch(A.stage)
if(1, 2)
- to_chat(M, "Your eyes itch.")
+ to_chat(M, SPAN_WARNING("Your eyes itch."))
if(3, 4)
- to_chat(M, "Your eyes burn!")
+ to_chat(M, SPAN_WARNING("Your eyes burn!"))
M.EyeBlurry(40 SECONDS * unmitigated)
eyes.receive_damage(1 * unmitigated)
else
- to_chat(M, "Your eyes burn horrificly!")
+ to_chat(M, SPAN_USERDANGER("Your eyes burn horrificly!"))
M.EyeBlurry(60 SECONDS * unmitigated)
eyes.receive_damage(5 * unmitigated)
if(eyes.damage >= 10)
M.become_nearsighted(EYE_DAMAGE)
if(prob(eyes.damage - 10 + 1) * unmitigated)
if(!M.AmountBlinded())
- to_chat(M, "You go blind!")
+ to_chat(M, SPAN_USERDANGER("You go blind!"))
eyes.receive_damage(eyes.max_damage)
diff --git a/code/datums/diseases/advance/symptoms/voice_change.dm b/code/datums/diseases/advance/symptoms/voice_change.dm
index af173b71960..24e80bf8e0c 100644
--- a/code/datums/diseases/advance/symptoms/voice_change.dm
+++ b/code/datums/diseases/advance/symptoms/voice_change.dm
@@ -35,7 +35,7 @@ Bonus
var/mob/living/carbon/M = A.affected_mob
switch(A.stage)
if(1, 2, 3, 4)
- to_chat(M, "[pick("Your throat hurts.", "You clear your throat.")]")
+ to_chat(M, SPAN_WARNING("[pick("Your throat hurts.", "You clear your throat.")]"))
else
if(ishuman(M))
var/mob/living/carbon/human/H = M
diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm
index 94831c0c8b6..e1df4abbd11 100644
--- a/code/datums/diseases/advance/symptoms/vomit.dm
+++ b/code/datums/diseases/advance/symptoms/vomit.dm
@@ -50,9 +50,9 @@ Bonus
else
switch(A.progress)
if(0 to 59)
- to_chat(M, "[pick("You feel nauseous.", "You feel like you're going to throw up!")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel nauseous.", "You feel like you're going to throw up!")]"))
if(60 to INFINITY)
- to_chat(M, "[pick("You feel extremely nauseous!", "You barely manage to not throw up!")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel extremely nauseous!", "You barely manage to not throw up!")]"))
return
/datum/symptom/vomit/proc/Vomit(mob/living/carbon/M, progress)
diff --git a/code/datums/diseases/advance/symptoms/weakness.dm b/code/datums/diseases/advance/symptoms/weakness.dm
index 1f5b5248315..af238f927b2 100644
--- a/code/datums/diseases/advance/symptoms/weakness.dm
+++ b/code/datums/diseases/advance/symptoms/weakness.dm
@@ -34,14 +34,14 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2)
- to_chat(M, "[pick("You feel weak.", "You feel lazy.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel weak.", "You feel lazy.")]"))
if(3, 4)
- to_chat(M, "[pick("You feel very frail.", "You think you might faint.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel very frail.", "You think you might faint.")]"))
M.adjustStaminaLoss(15 * unmitigated)
else
- to_chat(M, "[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]")
+ to_chat(M, SPAN_USERDANGER("[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]"))
M.adjustStaminaLoss(30 * unmitigated)
if(M.getStaminaLoss() > 60 && !M.stat)
- M.visible_message("[M] faints!", "You swoon and faint...")
+ M.visible_message(SPAN_WARNING("[M] faints!"), SPAN_USERDANGER("You swoon and faint..."))
M.AdjustSleeping(10 SECONDS * unmitigated)
return
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index fcb9fbf2366..e76843f6bf2 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -36,9 +36,9 @@ Bonus
/datum/symptom/weight_loss/symptom_act(datum/disease/advance/A, unmitigated)
var/mob/living/M = A.affected_mob
if(prob(A.progress))
- to_chat(M, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")
+ to_chat(M, SPAN_WARNING("[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]"))
M.overeatduration = max(M.overeatduration - A.progress * unmitigated, 0)
M.adjust_nutrition(-A.progress * unmitigated)
else
- to_chat(M, "[pick("You feel hungry.", "You crave for food.")]")
+ to_chat(M, SPAN_WARNING("[pick("You feel hungry.", "You crave for food.")]"))
diff --git a/code/datums/diseases/advance/symptoms/youth.dm b/code/datums/diseases/advance/symptoms/youth.dm
index 1fac7faa556..3ee112af8eb 100644
--- a/code/datums/diseases/advance/symptoms/youth.dm
+++ b/code/datums/diseases/advance/symptoms/youth.dm
@@ -33,21 +33,21 @@ BONUS
if(1)
if(H.age > 41)
H.age = 41
- to_chat(H, "You haven't had this much energy in years!")
+ to_chat(H, SPAN_NOTICE("You haven't had this much energy in years!"))
if(2)
if(H.age > 36)
H.age = 36
- to_chat(H, "You're suddenly in a good mood.")
+ to_chat(H, SPAN_NOTICE("You're suddenly in a good mood."))
if(3)
if(H.age > 31)
H.age = 31
- to_chat(H, "You begin to feel more lithe.")
+ to_chat(H, SPAN_NOTICE("You begin to feel more lithe."))
if(4)
if(H.age > 26)
H.age = 26
- to_chat(H, "You feel reinvigorated.")
+ to_chat(H, SPAN_NOTICE("You feel reinvigorated."))
if(5)
if(H.age > 21)
H.age = 21
- to_chat(H, "You feel like you can take on the world!")
+ to_chat(H, SPAN_NOTICE("You feel like you can take on the world!"))
return
diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm
index 0b0f4a5b2f9..f7e858278d4 100644
--- a/code/datums/diseases/anxiety.dm
+++ b/code/datums/diseases/anxiety.dm
@@ -17,26 +17,26 @@
switch(stage)
if(2)
if(prob(5))
- to_chat(affected_mob, "You feel anxious.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel anxious."))
if(3)
if(prob(10))
- to_chat(affected_mob, "Your stomach flutters.")
+ to_chat(affected_mob, SPAN_NOTICE("Your stomach flutters."))
if(prob(5))
- to_chat(affected_mob, "You feel panicky.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel panicky."))
if(prob(2))
- to_chat(affected_mob, "You're overtaken with panic!")
+ to_chat(affected_mob, SPAN_DANGER("You're overtaken with panic!"))
affected_mob.AdjustConfused(rand(4 SECONDS, 6 SECONDS))
if(4)
if(prob(10))
- to_chat(affected_mob, "You feel butterflies in your stomach.")
+ to_chat(affected_mob, SPAN_DANGER("You feel butterflies in your stomach."))
if(prob(5))
- affected_mob.visible_message("[affected_mob] stumbles around in a panic.", \
- "You have a panic attack!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] stumbles around in a panic."), \
+ SPAN_USERDANGER("You have a panic attack!"))
affected_mob.AdjustConfused(rand(12 SECONDS, 16 SECONDS))
affected_mob.AdjustJitter(rand(12 SECONDS, 16 SECONDS))
if(prob(2))
- affected_mob.visible_message("[affected_mob] coughs up butterflies!", \
- "You cough up butterflies!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] coughs up butterflies!"), \
+ SPAN_USERDANGER("You cough up butterflies!"))
for(var/i in 1 to 2)
var/mob/living/basic/butterfly/B = new(affected_mob.loc)
addtimer(CALLBACK(B, TYPE_PROC_REF(/mob/living/basic/butterfly, decompose)), rand(5, 25) SECONDS)
@@ -45,6 +45,6 @@
* Made so severe anxiety does not overload the SSmob while keeping it's effect
*/
/mob/living/basic/butterfly/proc/decompose()
- visible_message("[src] decomposes due to being outside of its original habitat for too long!",
- "You decompose for being too long out of your habitat!")
+ visible_message(SPAN_NOTICE("[src] decomposes due to being outside of its original habitat for too long!"),
+ SPAN_USERDANGER("You decompose for being too long out of your habitat!"))
melt()
diff --git a/code/datums/diseases/appendicitis.dm b/code/datums/diseases/appendicitis.dm
index 502bfa99f9d..9160f3e66e6 100644
--- a/code/datums/diseases/appendicitis.dm
+++ b/code/datums/diseases/appendicitis.dm
@@ -28,7 +28,7 @@
A.inflamed = 1
A.update_icon()
if(prob(3))
- to_chat(affected_mob, "You feel a stabbing pain in your abdomen!")
+ to_chat(affected_mob, SPAN_WARNING("You feel a stabbing pain in your abdomen!"))
affected_mob.Stun(rand(4 SECONDS, 6 SECONDS))
affected_mob.adjustToxLoss(1)
if(3)
diff --git a/code/datums/diseases/beesease.dm b/code/datums/diseases/beesease.dm
index cfc1038e092..93aa94bd166 100644
--- a/code/datums/diseases/beesease.dm
+++ b/code/datums/diseases/beesease.dm
@@ -17,22 +17,22 @@
switch(stage)
if(2)
if(prob(2))
- to_chat(affected_mob, "You taste honey in your mouth.")
+ to_chat(affected_mob, SPAN_NOTICE("You taste honey in your mouth."))
if(3)
if(prob(10))
- to_chat(affected_mob, "Your stomach rumbles.")
+ to_chat(affected_mob, SPAN_NOTICE("Your stomach rumbles."))
if(prob(2))
- to_chat(affected_mob, "Your stomach stings painfully.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach stings painfully."))
if(prob(20))
affected_mob.adjustToxLoss(2)
if(4)
if(prob(10))
- affected_mob.visible_message("[affected_mob] buzzes.", \
- "Your stomach buzzes violently!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] buzzes."), \
+ SPAN_USERDANGER("Your stomach buzzes violently!"))
if(prob(5))
- to_chat(affected_mob, "You feel something moving in your throat.")
+ to_chat(affected_mob, SPAN_DANGER("You feel something moving in your throat."))
if(prob(1))
- affected_mob.visible_message("[affected_mob] coughs up a swarm of bees!", \
- "You cough up a swarm of bees!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] coughs up a swarm of bees!"), \
+ SPAN_USERDANGER("You cough up a swarm of bees!"))
new /mob/living/basic/bee(affected_mob.loc)
return
diff --git a/code/datums/diseases/berserker.dm b/code/datums/diseases/berserker.dm
index 0ff6fecdf77..378de6774e9 100644
--- a/code/datums/diseases/berserker.dm
+++ b/code/datums/diseases/berserker.dm
@@ -17,7 +17,7 @@
if(!..())
return FALSE
if(affected_mob.reagents.has_reagent("thc"))
- to_chat(affected_mob, "You mellow out.")
+ to_chat(affected_mob, SPAN_NOTICE("You mellow out."))
cure()
return
switch(stage)
@@ -34,22 +34,22 @@
var/speak = pick("AAARRGGHHH!!!!", "GRR!!!", "FUCK!! FUUUUUUCK!!!", "FUCKING SHITCOCK!!", "WROOAAAGHHH!!")
affected_mob.say(speak)
if(prob(15))
- affected_mob.visible_message("[affected_mob] twitches violently!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] twitches violently!"))
affected_mob.drop_l_hand()
affected_mob.drop_r_hand()
if(prob(33))
if(affected_mob.incapacitated())
- affected_mob.visible_message("[affected_mob] spasms and twitches!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] spasms and twitches!"))
return
- affected_mob.visible_message("[affected_mob] thrashes around violently!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] thrashes around violently!"))
for(var/mob/living/carbon/M in range(1, affected_mob))
if(M == affected_mob)
continue
var/damage = rand(1, 5)
if(prob(80))
playsound(affected_mob.loc, "punch", 25, TRUE, -1)
- affected_mob.visible_message("[affected_mob] hits [M] with [affected_mob.p_their()] thrashing!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] hits [M] with [affected_mob.p_their()] thrashing!"))
M.adjustBruteLoss(damage)
else
playsound(affected_mob.loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
- affected_mob.visible_message("[affected_mob] fails to hit [M] with [affected_mob.p_their()] thrashing!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] fails to hit [M] with [affected_mob.p_their()] thrashing!"))
diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm
index 5f5bd15f458..78859ec99e0 100644
--- a/code/datums/diseases/brainrot.dm
+++ b/code/datums/diseases/brainrot.dm
@@ -22,7 +22,7 @@
if(prob(2))
affected_mob.emote("yawn")
if(prob(2))
- to_chat(affected_mob, "You don't feel like yourself.")
+ to_chat(affected_mob, SPAN_DANGER("You don't feel like yourself."))
if(prob(5))
affected_mob.adjustBrainLoss(1)
if(3)
@@ -33,7 +33,7 @@
if(prob(10) && affected_mob.getBrainLoss() < 100)
affected_mob.adjustBrainLoss(2)
if(prob(2))
- to_chat(affected_mob, "Your try to remember something important...but can't.")
+ to_chat(affected_mob, SPAN_DANGER("Your try to remember something important...but can't."))
if(4)
if(prob(2))
@@ -43,10 +43,10 @@
if(prob(15) && affected_mob.getBrainLoss() < 100)
affected_mob.adjustBrainLoss(3)
if(prob(2))
- to_chat(affected_mob, "Strange buzzing fills your head, removing all thoughts.")
+ to_chat(affected_mob, SPAN_DANGER("Strange buzzing fills your head, removing all thoughts."))
if(prob(3))
- to_chat(affected_mob, "You lose consciousness...")
- affected_mob.visible_message("[affected_mob] suddenly collapses")
+ to_chat(affected_mob, SPAN_DANGER("You lose consciousness..."))
+ affected_mob.visible_message(SPAN_WARNING("[affected_mob] suddenly collapses"))
affected_mob.Paralyse(rand(10 SECONDS, 20 SECONDS))
if(prob(1))
affected_mob.emote("snore")
diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm
index 7363cc96725..613b6578637 100644
--- a/code/datums/diseases/cold.dm
+++ b/code/datums/diseases/cold.dm
@@ -16,15 +16,15 @@
switch(stage)
if(2)
if(affected_mob.stat == UNCONSCIOUS && prob(40))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(IS_HORIZONTAL(affected_mob) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(1) && prob(5))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(1))
@@ -32,20 +32,20 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- to_chat(affected_mob, "Your throat feels sore.")
+ to_chat(affected_mob, SPAN_DANGER("Your throat feels sore."))
if(prob(1))
- to_chat(affected_mob, "Mucous runs down the back of your throat.")
+ to_chat(affected_mob, SPAN_DANGER("Mucous runs down the back of your throat."))
if(3)
if(affected_mob.stat == UNCONSCIOUS && prob(25))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(IS_HORIZONTAL(affected_mob) && prob(5))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(1) && prob(1))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(1))
@@ -53,9 +53,9 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- to_chat(affected_mob, "Your throat feels sore.")
+ to_chat(affected_mob, SPAN_DANGER("Your throat feels sore."))
if(prob(1))
- to_chat(affected_mob, "Mucous runs down the back of your throat.")
+ to_chat(affected_mob, SPAN_DANGER("Mucous runs down the back of your throat."))
if(prob(1) && prob(50))
if(!affected_mob.resistances.Find(/datum/disease/flu))
var/datum/disease/Flu = new /datum/disease/flu(0)
diff --git a/code/datums/diseases/cold9.dm b/code/datums/diseases/cold9.dm
index 8b31fc36d6d..81d9364ec96 100644
--- a/code/datums/diseases/cold9.dm
+++ b/code/datums/diseases/cold9.dm
@@ -24,7 +24,7 @@
if(prob(2 * stage_factor))
affected_mob.emote("cough")
if(prob(3 * stage_factor))
- to_chat(affected_mob, "Your throat feels sore.")
+ to_chat(affected_mob, SPAN_DANGER("Your throat feels sore."))
if(prob(5 * stage_factor))
- to_chat(affected_mob, "You feel stiff.")
+ to_chat(affected_mob, SPAN_DANGER("You feel stiff."))
affected_mob.adjustFireLoss(1)
diff --git a/code/datums/diseases/critical.dm b/code/datums/diseases/critical.dm
index d582fd35730..f61b6f1f355 100644
--- a/code/datums/diseases/critical.dm
+++ b/code/datums/diseases/critical.dm
@@ -38,43 +38,43 @@
/datum/disease/critical/shock/stage_act()
if(..())
if(affected_mob.health >= 25 && affected_mob.nutrition >= NUTRITION_LEVEL_HYPOGLYCEMIA)
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
switch(stage)
if(1)
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
affected_mob.emote(pick("shiver", "pale", "moan"))
if(prob(5))
- to_chat(affected_mob, "You feel weak!")
+ to_chat(affected_mob, SPAN_DANGER("You feel weak!"))
if(2)
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
affected_mob.emote(pick("shiver", "pale", "moan", "shudder", "tremble"))
if(prob(5))
- to_chat(affected_mob, "You feel absolutely terrible!")
+ to_chat(affected_mob, SPAN_DANGER("You feel absolutely terrible!"))
if(prob(5))
affected_mob.emote(pick(2; "faint", 1; "groan"))
if(3)
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
affected_mob.emote(pick("shudder", "pale", "tremble", "groan", "bshake"))
if(prob(5))
- to_chat(affected_mob, "You feel horrible!")
+ to_chat(affected_mob, SPAN_DANGER("You feel horrible!"))
if(prob(5))
affected_mob.emote(pick(2; "faint", 1; "groan"))
if(prob(7))
- to_chat(affected_mob, "You can't breathe!")
+ to_chat(affected_mob, SPAN_DANGER("You can't breathe!"))
affected_mob.AdjustLoseBreath(2 SECONDS)
if(prob(5))
var/datum/disease/D = new /datum/disease/critical/heart_failure
@@ -95,27 +95,27 @@
switch(stage)
if(1)
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
affected_mob.emote(pick("pale", "shudder"))
if(prob(5))
- to_chat(affected_mob, "Your arm hurts!")
+ to_chat(affected_mob, SPAN_DANGER("Your arm hurts!"))
else if(prob(5))
- to_chat(affected_mob, "Your chest hurts!")
+ to_chat(affected_mob, SPAN_DANGER("Your chest hurts!"))
if(2)
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
affected_mob.emote(pick("pale", "groan"))
if(prob(5))
- to_chat(affected_mob, "Your heart lurches in your chest!")
+ to_chat(affected_mob, SPAN_DANGER("Your heart lurches in your chest!"))
affected_mob.AdjustLoseBreath(2 SECONDS)
if(prob(3))
- to_chat(affected_mob, "Your heart stops beating!")
+ to_chat(affected_mob, SPAN_DANGER("Your heart stops beating!"))
affected_mob.AdjustLoseBreath(6 SECONDS)
if(prob(5))
affected_mob.emote(pick(2; "faint", 1; "groan"))
@@ -147,27 +147,27 @@
if(isLivingSSD(affected_mob)) // We don't want AFK people dying from this.
return
if(affected_mob.nutrition > NUTRITION_LEVEL_HYPOGLYCEMIA)
- to_chat(affected_mob, "You feel a lot better!")
+ to_chat(affected_mob, SPAN_NOTICE("You feel a lot better!"))
cure()
return
switch(stage)
if(1)
if(prob(4))
- to_chat(affected_mob, "You feel hungry!")
+ to_chat(affected_mob, SPAN_WARNING("You feel hungry!"))
if(prob(2))
- to_chat(affected_mob, "You have a headache!")
+ to_chat(affected_mob, SPAN_WARNING("You have a headache!"))
if(prob(2))
- to_chat(affected_mob, "You feel [pick("anxious", "depressed")]!")
+ to_chat(affected_mob, SPAN_WARNING("You feel [pick("anxious", "depressed")]!"))
if(2)
if(prob(4))
- to_chat(affected_mob, "You feel like everything is wrong with your life!")
+ to_chat(affected_mob, SPAN_WARNING("You feel like everything is wrong with your life!"))
if(prob(5))
affected_mob.Slowed(rand(8 SECONDS, 32 SECONDS))
- to_chat(affected_mob, "You feel [pick("tired", "exhausted", "sluggish")].")
+ to_chat(affected_mob, SPAN_WARNING("You feel [pick("tired", "exhausted", "sluggish")]."))
if(prob(5))
affected_mob.Weaken(12 SECONDS)
affected_mob.Stuttering(20 SECONDS)
- to_chat(affected_mob, "You feel [pick("numb", "confused", "dizzy", "lightheaded")].")
+ to_chat(affected_mob, SPAN_WARNING("You feel [pick("numb", "confused", "dizzy", "lightheaded")]."))
affected_mob.emote("collapse")
if(3)
if(prob(8))
@@ -176,8 +176,8 @@
if(prob(12))
affected_mob.Weaken(12 SECONDS)
affected_mob.Stuttering(20 SECONDS)
- to_chat(affected_mob, "You feel [pick("numb", "confused", "dizzy", "lightheaded")].")
+ to_chat(affected_mob, SPAN_WARNING("You feel [pick("numb", "confused", "dizzy", "lightheaded")]."))
affected_mob.emote("collapse")
if(prob(12))
- to_chat(affected_mob, "You feel [pick("tired", "exhausted", "sluggish")].")
+ to_chat(affected_mob, SPAN_WARNING("You feel [pick("tired", "exhausted", "sluggish")]."))
affected_mob.Slowed(rand(8 SECONDS, 32 SECONDS))
diff --git a/code/datums/diseases/fake_gbs.dm b/code/datums/diseases/fake_gbs.dm
index e9efece8bb6..d17f4e03100 100644
--- a/code/datums/diseases/fake_gbs.dm
+++ b/code/datums/diseases/fake_gbs.dm
@@ -23,7 +23,7 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
- to_chat(affected_mob, "You're starting to feel very weak...")
+ to_chat(affected_mob, SPAN_DANGER("You're starting to feel very weak..."))
if(4)
if(prob(10))
affected_mob.emote("cough")
diff --git a/code/datums/diseases/flu.dm b/code/datums/diseases/flu.dm
index a56b18a4dbe..861bf75c12b 100644
--- a/code/datums/diseases/flu.dm
+++ b/code/datums/diseases/flu.dm
@@ -17,7 +17,7 @@
switch(stage)
if(2)
if(IS_HORIZONTAL(affected_mob) && prob(20))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
stage--
return
if(prob(1))
@@ -25,17 +25,17 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- to_chat(affected_mob, "Your muscles ache.")
+ to_chat(affected_mob, SPAN_DANGER("Your muscles ache."))
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
- to_chat(affected_mob, "Your stomach hurts.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach hurts."))
if(prob(20))
affected_mob.adjustToxLoss(1)
if(3)
if(IS_HORIZONTAL(affected_mob) && prob(15))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
stage--
return
if(prob(1))
@@ -43,11 +43,11 @@
if(prob(1))
affected_mob.emote("cough")
if(prob(1))
- to_chat(affected_mob, "Your muscles ache.")
+ to_chat(affected_mob, SPAN_DANGER("Your muscles ache."))
if(prob(20))
affected_mob.take_organ_damage(1)
if(prob(1))
- to_chat(affected_mob, "Your stomach hurts.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach hurts."))
if(prob(20))
affected_mob.adjustToxLoss(1)
return
diff --git a/code/datums/diseases/fluspanish.dm b/code/datums/diseases/fluspanish.dm
index 17c1a1604df..efae220f031 100644
--- a/code/datums/diseases/fluspanish.dm
+++ b/code/datums/diseases/fluspanish.dm
@@ -24,5 +24,5 @@
if(prob(3 * stage_factor))
affected_mob.emote("cough")
if(prob(2.5 * stage_factor))
- to_chat(affected_mob, "You're burning in your own skin!")
+ to_chat(affected_mob, SPAN_DANGER("You're burning in your own skin!"))
affected_mob.adjustFireLoss(5)
diff --git a/code/datums/diseases/food_poisoning.dm b/code/datums/diseases/food_poisoning.dm
index df14f79056f..dce69dc41b3 100644
--- a/code/datums/diseases/food_poisoning.dm
+++ b/code/datums/diseases/food_poisoning.dm
@@ -18,37 +18,37 @@
if(!..())
return FALSE
if(affected_mob.IsSleeping() && prob(33))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
switch(stage)
if(1)
if(prob(5))
- to_chat(affected_mob, "Your stomach feels weird.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach feels weird."))
if(prob(5))
- to_chat(affected_mob, "You feel queasy.")
+ to_chat(affected_mob, SPAN_DANGER("You feel queasy."))
if(2)
if(affected_mob.IsSleeping() && prob(40))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(10))
affected_mob.emote("groan")
if(prob(5))
- to_chat(affected_mob, "Your stomach aches.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach aches."))
if(prob(5))
- to_chat(affected_mob, "You feel nauseous.")
+ to_chat(affected_mob, SPAN_DANGER("You feel nauseous."))
if(3)
if(affected_mob.IsSleeping() && prob(25))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(1) && prob(10))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(10))
@@ -56,16 +56,16 @@
if(prob(10))
affected_mob.emote("groan")
if(prob(1))
- to_chat(affected_mob, "Your stomach hurts.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach hurts."))
if(prob(1))
- to_chat(affected_mob, "You feel sick.")
+ to_chat(affected_mob, SPAN_DANGER("You feel sick."))
if(prob(5))
if(affected_mob.nutrition > 10)
- affected_mob.visible_message("[affected_mob] vomits on the floor profusely!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] vomits on the floor profusely!"))
affected_mob.fakevomit(no_text = 1)
affected_mob.adjust_nutrition(-rand(3,5))
else
- to_chat(affected_mob, "Your stomach lurches painfully!")
- affected_mob.visible_message("[affected_mob] gags and retches!")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach lurches painfully!"))
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] gags and retches!"))
affected_mob.Stun(rand(4 SECONDS, 8 SECONDS))
affected_mob.Weaken(rand(4 SECONDS, 8 SECONDS))
diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm
index 33c0984a06a..de6af97f970 100644
--- a/code/datums/diseases/gbs.dm
+++ b/code/datums/diseases/gbs.dm
@@ -25,13 +25,13 @@
else if(prob(5))
affected_mob.emote("gasp")
if(prob(10))
- to_chat(affected_mob, "You're starting to feel very weak...")
+ to_chat(affected_mob, SPAN_DANGER("You're starting to feel very weak..."))
if(4)
if(prob(10))
affected_mob.emote("cough")
affected_mob.adjustToxLoss(5)
if(5)
- to_chat(affected_mob, "Your body feels as if it's trying to rip itself open...")
+ to_chat(affected_mob, SPAN_DANGER("Your body feels as if it's trying to rip itself open..."))
if(prob(50))
affected_mob.delayed_gib()
else
diff --git a/code/datums/diseases/kingstons.dm b/code/datums/diseases/kingstons.dm
index b00912038e1..f877bb2cfab 100644
--- a/code/datums/diseases/kingstons.dm
+++ b/code/datums/diseases/kingstons.dm
@@ -18,31 +18,31 @@
if(1)
if(prob(10))
if(istajaran(affected_mob))
- to_chat(affected_mob, "You feel good.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel good."))
else
- to_chat(affected_mob, "You feel like playing with string.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel like playing with string."))
if(2)
if(prob(10))
if(istajaran(affected_mob))
- to_chat(affected_mob, "Something in your throat itches.")
+ to_chat(affected_mob, SPAN_DANGER("Something in your throat itches."))
else
- to_chat(affected_mob, "You NEED to find a mouse.")
+ to_chat(affected_mob, SPAN_DANGER("You NEED to find a mouse."))
if(3)
if(prob(10))
if(istajaran(affected_mob))
- to_chat(affected_mob, "You feel something in your throat!")
+ to_chat(affected_mob, SPAN_DANGER("You feel something in your throat!"))
affected_mob.emote("cough")
else
affected_mob.say(pick("Mew", "Meow!", "Nya!~"))
if(4)
if(prob(5))
if(istajaran(affected_mob))
- affected_mob.visible_message("[affected_mob] coughs up a hairball!", \
- "You cough up a hairball!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] coughs up a hairball!"), \
+ SPAN_USERDANGER("You cough up a hairball!"))
affected_mob.Stun(10 SECONDS)
else
- affected_mob.visible_message("[affected_mob]'s form contorts into something more feline!", \
- "YOU TURN INTO A TAJARAN!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob]'s form contorts into something more feline!"), \
+ SPAN_USERDANGER("YOU TURN INTO A TAJARAN!"))
var/mob/living/carbon/human/catface = affected_mob
catface.set_species(/datum/species/tajaran, retain_damage = TRUE, keep_missing_bodyparts = TRUE)
@@ -82,28 +82,28 @@
switch(stage)
if(1)
if(prob(10))
- to_chat(twisted, "You feel awkward.")
+ to_chat(twisted, SPAN_NOTICE("You feel awkward."))
if(2)
if(prob(10))
- to_chat(twisted, "You itch.")
+ to_chat(twisted, SPAN_DANGER("You itch."))
if(3)
if(prob(10))
- to_chat(twisted, "Your skin starts to flake!")
+ to_chat(twisted, SPAN_DANGER("Your skin starts to flake!"))
if(4)
if(!prob(5))
return
if(!istype(twisted.dna.species, chosentype))
twisted.visible_message(
- "[twisted]'s skin splits and form contorts!",
- "Your body mutates into a [initial(chosentype.name)]!"
+ SPAN_DANGER("[twisted]'s skin splits and form contorts!"),
+ SPAN_USERDANGER("Your body mutates into a [initial(chosentype.name)]!")
)
twisted.set_species(chosentype, retain_damage = TRUE, keep_missing_bodyparts = TRUE)
return
twisted.visible_message(
- "[twisted] scratches at their skin!",
- "You scratch your skin to try not to itch!"
+ SPAN_DANGER("[twisted] scratches at their skin!"),
+ SPAN_USERDANGER("You scratch your skin to try not to itch!")
)
twisted.adjustBruteLoss(5)
twisted.adjustStaminaLoss(5)
diff --git a/code/datums/diseases/kuru.dm b/code/datums/diseases/kuru.dm
index 96dc5d07dfa..0a227b910b8 100644
--- a/code/datums/diseases/kuru.dm
+++ b/code/datums/diseases/kuru.dm
@@ -25,22 +25,22 @@
affected_mob.Jitter(50 SECONDS)
if(2)
if(prob(50))
- affected_mob.visible_message("[affected_mob] laughs uncontrollably!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] laughs uncontrollably!"))
affected_mob.Weaken(20 SECONDS)
affected_mob.Jitter(500 SECONDS)
if(3)
if(prob(25))
- to_chat(affected_mob, "You feel like you are about to drop dead!")
- to_chat(affected_mob, "Your body convulses painfully!")
+ to_chat(affected_mob, SPAN_DANGER("You feel like you are about to drop dead!"))
+ to_chat(affected_mob, SPAN_DANGER("Your body convulses painfully!"))
affected_mob.adjustBruteLoss(5)
affected_mob.adjustOxyLoss(5)
affected_mob.Weaken(20 SECONDS)
affected_mob.Jitter(500 SECONDS)
- affected_mob.visible_message("[affected_mob] laughs uncontrollably!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] laughs uncontrollably!"))
if(4)
if(prob(25))
- to_chat(affected_mob, "You feel like you are going to die!")
+ to_chat(affected_mob, SPAN_DANGER("You feel like you are going to die!"))
affected_mob.adjustOxyLoss(75)
affected_mob.adjustBruteLoss(75)
affected_mob.Weaken(20 SECONDS)
- affected_mob.visible_message("[affected_mob] laughs uncontrollably!")
+ affected_mob.visible_message(SPAN_DANGER("[affected_mob] laughs uncontrollably!"))
diff --git a/code/datums/diseases/lycancoughy.dm b/code/datums/diseases/lycancoughy.dm
index 883ef6d6573..6ccd39d1a14 100644
--- a/code/datums/diseases/lycancoughy.dm
+++ b/code/datums/diseases/lycancoughy.dm
@@ -25,7 +25,7 @@
if(prob(2))
H.emote("cough")
if(prob(3))
- to_chat(H, "You itch.")
+ to_chat(H, SPAN_NOTICE("You itch."))
H.adjustBruteLoss(rand(4, 6))
if(3)
var/obj/item/organ/external/stomach = H.bodyparts_by_name[pick("chest", "groin")]
@@ -34,12 +34,12 @@
H.emote("cough")
stomach.receive_damage(rand(0, 5))
if(prob(3))
- to_chat(H, "You hear faint barking.")
+ to_chat(H, SPAN_NOTICE("You hear faint barking."))
stomach.receive_damage(rand(4, 6))
if(prob(2))
- to_chat(H, "You crave meat.")
+ to_chat(H, SPAN_NOTICE("You crave meat."))
if(prob(3))
- to_chat(H, "Your stomach growls!")
+ to_chat(H, SPAN_DANGER("Your stomach growls!"))
stomach.receive_damage(rand(5, 10))
if(4)
var/obj/item/organ/external/stomach = H.bodyparts_by_name[pick("chest", "groin")]
@@ -48,24 +48,24 @@
H.emote("cough")
stomach.receive_damage(rand(0, 5))
if(prob(5))
- to_chat(H, "Your stomach barks?!")
+ to_chat(H, SPAN_DANGER("Your stomach barks?!"))
stomach.receive_damage(rand(5, 10))
if(prob(5))
H.visible_message(
- "[H] howls!",
- "You howl!"
+ SPAN_DANGER("[H] howls!"),
+ SPAN_USERDANGER("You howl!")
)
H.AdjustConfused(rand(12 SECONDS, 16 SECONDS))
stomach.receive_damage(rand(0, 5))
if(prob(5))
if(!barklimit)
- to_chat(H, "Your stomach growls!")
+ to_chat(H, SPAN_DANGER("Your stomach growls!"))
stomach.receive_damage(rand(5, 10))
else
var/atom/hairball = pick(prob(50) ? puppy_types : plush_types)
H.visible_message(
- "[H] coughs up \a [initial(hairball.name)]!",
- "You cough up \a [initial(hairball.name)]?!"
+ SPAN_DANGER("[H] coughs up \a [initial(hairball.name)]!"),
+ SPAN_USERDANGER("You cough up \a [initial(hairball.name)]?!")
)
new hairball(H.loc)
barklimit--
diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm
index 350c208ac01..db828427b22 100644
--- a/code/datums/diseases/magnitis.dm
+++ b/code/datums/diseases/magnitis.dm
@@ -20,24 +20,24 @@
switch(stage)
if(1)
if(prob(5)) // Water, air, fire and dirt! Fucking magnets, how do they work!?
- to_chat(affected_mob, "You query upon the nature of miracles...")
+ to_chat(affected_mob, SPAN_DANGER("You query upon the nature of miracles..."))
if(2)
if(prob(10))
- to_chat(affected_mob, "You feel a light tingling sensation.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a light tingling sensation."))
if(prob(10))
- to_chat(affected_mob, "You feel a slight shock course through your body!")
+ to_chat(affected_mob, SPAN_DANGER("You feel a slight shock course through your body!"))
magnetic_pull(affected_mob, LOW_ATTRACTION_RANGE, 0)
if(3)
if(prob(10))
- to_chat(affected_mob, "You feel pins and needles radiating through you!")
+ to_chat(affected_mob, SPAN_DANGER("You feel pins and needles radiating through you!"))
if(prob(10))
- to_chat(affected_mob, "You feel a strong shock course through your body.")
+ to_chat(affected_mob, SPAN_USERDANGER("You feel a strong shock course through your body."))
magnetic_pull(affected_mob, MEDIUM_ATTRACTION_RANGE, 50)
if(4)
if(prob(10))
- to_chat(affected_mob, "You feel a thousand pinpricks across every inch of your body!")
+ to_chat(affected_mob, SPAN_USERDANGER("You feel a thousand pinpricks across every inch of your body!"))
if(prob(10))
- to_chat(affected_mob, "You feel a powerful shock course through your body!")
+ to_chat(affected_mob, SPAN_USERDANGER("You feel a powerful shock course through your body!"))
magnetic_pull(affected_mob, HIGH_ATTRACTION_RANGE, 100)
/**
diff --git a/code/datums/diseases/pierrot_throat.dm b/code/datums/diseases/pierrot_throat.dm
index 1a9dc8334b4..8054479c101 100644
--- a/code/datums/diseases/pierrot_throat.dm
+++ b/code/datums/diseases/pierrot_throat.dm
@@ -21,16 +21,16 @@
var/static/list/message_chances = list(null, 4, 2, 1)
if(prob(message_chances[stage]))
- to_chat(H, "You feel [pick("a little silly", "like making a joke", "in the mood for giggling", "like the world is a little more vibrant")].")
+ to_chat(H, SPAN_DANGER("You feel [pick("a little silly", "like making a joke", "in the mood for giggling", "like the world is a little more vibrant")]."))
if(prob(message_chances[stage]))
- to_chat(H, "You see [pick("rainbows", "puppies", "banana pies")] for a moment.")
+ to_chat(H, SPAN_DANGER("You see [pick("rainbows", "puppies", "banana pies")] for a moment."))
if(stage < 3)
return
var/static/list/honk_chances = list(null, null, 4, 0.66)
if(prob(honk_chances[stage]))
- to_chat(H, "Your thoughts are interrupted by a loud HONK!")
+ to_chat(H, SPAN_DANGER("Your thoughts are interrupted by a loud HONK!"))
SEND_SOUND(H, sound(pick(18; 'sound/items/bikehorn.ogg', 1; 'sound/items/airhorn.ogg', 1; 'sound/items/airhorn2.ogg'))) // 10% chance total for an airhorn
if(stage < 4)
diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm
index f5531b6eafc..0fb93b63a81 100644
--- a/code/datums/diseases/retrovirus.dm
+++ b/code/datums/diseases/retrovirus.dm
@@ -32,38 +32,38 @@
if(1)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(30))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
- to_chat(affected_mob, "Your head hurts.")
+ to_chat(affected_mob, SPAN_DANGER("Your head hurts."))
if(prob(9))
to_chat(affected_mob, "You feel a tingling sensation in your chest.")
if(prob(9))
- to_chat(affected_mob, "You feel angry.")
+ to_chat(affected_mob, SPAN_DANGER("You feel angry."))
if(2)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(20))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(8))
- to_chat(affected_mob, "Your skin feels loose.")
+ to_chat(affected_mob, SPAN_DANGER("Your skin feels loose."))
if(prob(10))
to_chat(affected_mob, "You feel very strange.")
if(prob(4))
- to_chat(affected_mob, "You feel a stabbing pain in your head!")
+ to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head!"))
affected_mob.Paralyse(4 SECONDS)
if(prob(4))
- to_chat(affected_mob, "Your stomach churns.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach churns."))
if(3)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(20))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(10))
- to_chat(affected_mob, "Your entire body vibrates.")
+ to_chat(affected_mob, SPAN_DANGER("Your entire body vibrates."))
if(prob(35))
if(prob(50))
@@ -74,7 +74,7 @@
if(4)
if(restcure)
if(IS_HORIZONTAL(affected_mob) && prob(5))
- to_chat(affected_mob, "You feel better.")
+ to_chat(affected_mob, SPAN_NOTICE("You feel better."))
cure()
return
if(prob(60))
diff --git a/code/datums/diseases/rhumba_beat.dm b/code/datums/diseases/rhumba_beat.dm
index b8ef0322a2d..a2fb684b254 100644
--- a/code/datums/diseases/rhumba_beat.dm
+++ b/code/datums/diseases/rhumba_beat.dm
@@ -20,21 +20,21 @@
if(prob(45))
affected_mob.adjustToxLoss(5)
if(prob(1))
- to_chat(affected_mob, "You feel strange...")
+ to_chat(affected_mob, SPAN_DANGER("You feel strange..."))
if(3)
if(prob(5))
- to_chat(affected_mob, "You feel the urge to dance...")
+ to_chat(affected_mob, SPAN_DANGER("You feel the urge to dance..."))
else if(prob(5))
affected_mob.emote("gasp")
else if(prob(10))
- to_chat(affected_mob, "You feel the need to chick chicky boom...")
+ to_chat(affected_mob, SPAN_DANGER("You feel the need to chick chicky boom..."))
if(4)
if(prob(10))
affected_mob.emote("gasp")
- to_chat(affected_mob, "You feel a burning beat inside...")
+ to_chat(affected_mob, SPAN_DANGER("You feel a burning beat inside..."))
if(prob(20))
affected_mob.adjustToxLoss(5)
if(5)
- to_chat(affected_mob, "Your body is unable to contain the Rhumba Beat...")
+ to_chat(affected_mob, SPAN_DANGER("Your body is unable to contain the Rhumba Beat..."))
if(prob(50))
affected_mob.gib()
diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm
index 242b32d9867..7132857e33f 100644
--- a/code/datums/diseases/transformation.dm
+++ b/code/datums/diseases/transformation.dm
@@ -92,9 +92,9 @@
stage1 = null
stage2 = null
stage3 = null
- stage4 = list("Your back hurts.", "You breathe through your mouth.",
- "You have a craving for bananas.", "Your mind feels clouded.")
- stage5 = list("You feel like monkeying around.")
+ stage4 = list(SPAN_WARNING("Your back hurts."), SPAN_WARNING("You breathe through your mouth."),
+ SPAN_WARNING("You have a craving for bananas."), SPAN_WARNING("Your mind feels clouded."))
+ stage5 = list(SPAN_WARNING("You feel like monkeying around."))
/datum/disease/transformation/jungle_fever/do_disease_transformation(mob/living/carbon/human/affected_mob)
if(!issmall(affected_mob))
@@ -105,10 +105,10 @@
switch(stage)
if(2)
if(prob(2))
- to_chat(affected_mob, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.")
+ to_chat(affected_mob, SPAN_NOTICE("Your [pick("back", "arm", "leg", "elbow", "head")] itches."))
if(3)
if(prob(4))
- to_chat(affected_mob, "You feel a stabbing pain in your head.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head."))
affected_mob.AdjustConfused(20 SECONDS)
if(4)
if(prob(3))
@@ -124,10 +124,10 @@
agent = "R2D2 Nanomachines"
desc = "This disease, actually acute nanomachine infection, converts the victim into a cyborg."
stage1 = null
- stage2 = list("Your joints feel stiff.", "Beep...boop..")
- stage3 = list("Your joints feel very stiff.", "Your skin feels loose.", "You can feel something move...inside.")
- stage4 = list("Your skin feels very loose.", "You can feel... something...inside you.")
- stage5 = list("Your skin feels as if it's about to burst off!")
+ stage2 = list("Your joints feel stiff.", SPAN_DANGER("Beep...boop.."))
+ stage3 = list(SPAN_DANGER("Your joints feel very stiff."), "Your skin feels loose.", SPAN_DANGER("You can feel something move...inside."))
+ stage4 = list(SPAN_DANGER("Your skin feels very loose."), SPAN_DANGER("You can feel... something...inside you."))
+ stage5 = list(SPAN_DANGER("Your skin feels as if it's about to burst off!"))
new_form = /mob/living/silicon/robot
job_role = "Cyborg"
@@ -139,7 +139,7 @@
if(prob(8))
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
if(prob(4))
- to_chat(affected_mob, "You feel a stabbing pain in your head.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head."))
affected_mob.Paralyse(4 SECONDS)
if(4)
if(prob(20))
@@ -155,10 +155,10 @@
agent = "Rip-LEY Alien Microbes"
desc = "This disease changes the victim into a xenomorph."
stage1 = null
- stage2 = list("Your throat feels scratchy.", "Kill...")
- stage3 = list("Your throat feels very scratchy.", "Your skin feels tight.", "You can feel something move...inside.")
- stage4 = list("Your skin feels very tight.", "Your blood boils!", "You can feel... something...inside you.")
- stage5 = list("Your skin feels as if it's about to burst off!")
+ stage2 = list("Your throat feels scratchy.", SPAN_DANGER("Kill..."))
+ stage3 = list(SPAN_DANGER("Your throat feels very scratchy."), "Your skin feels tight.", SPAN_DANGER("You can feel something move...inside."))
+ stage4 = list(SPAN_DANGER("Your skin feels very tight."), SPAN_DANGER("Your blood boils!"), SPAN_DANGER("You can feel... something...inside you."))
+ stage5 = list(SPAN_DANGER("Your skin feels as if it's about to burst off!"))
new_form = /mob/living/carbon/alien/humanoid/hunter
job_role = ROLE_ALIEN
@@ -167,7 +167,7 @@
switch(stage)
if(3)
if(prob(4))
- to_chat(affected_mob, "You feel a stabbing pain in your head.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a stabbing pain in your head."))
affected_mob.Paralyse(4 SECONDS)
if(4)
if(prob(20))
@@ -183,9 +183,9 @@
desc = "This highly concentrated extract converts anything into more of itself."
stage1 = list("You don't feel very well.")
stage2 = list("Your skin feels a little slimy.")
- stage3 = list("Your appendages are melting away.", "Your limbs begin to lose their shape.")
- stage4 = list("You are turning into a slime.")
- stage5 = list("You have become a slime.")
+ stage3 = list(SPAN_DANGER("Your appendages are melting away."), SPAN_DANGER("Your limbs begin to lose their shape."))
+ stage4 = list(SPAN_DANGER("You are turning into a slime."))
+ stage5 = list(SPAN_DANGER("You have become a slime."))
new_form = /mob/living/simple_animal/slime/random
/datum/disease/transformation/slime/stage_act()
@@ -210,9 +210,9 @@
desc = "This disease transforms the victim into a corgi."
stage1 = list("BARK.")
stage2 = list("You feel the need to wear silly hats.")
- stage3 = list("Must... eat... chocolate....", "YAP")
- stage4 = list("Visions of washing machines assail your mind!")
- stage5 = list("AUUUUUU!!!")
+ stage3 = list(SPAN_DANGER("Must... eat... chocolate...."), SPAN_DANGER("YAP"))
+ stage4 = list(SPAN_DANGER("Visions of washing machines assail your mind!"))
+ stage5 = list(SPAN_DANGER("AUUUUUU!!!"))
new_form = /mob/living/simple_animal/pet/dog/corgi
/datum/disease/transformation/corgi/stage_act()
@@ -234,9 +234,9 @@
stage_prob = 20
stage1 = list("Your stomach rumbles.")
stage2 = list("Your skin feels saggy.")
- stage3 = list("Your appendages are melting away.", "Your limbs begin to lose their shape.")
- stage4 = list("You're ravenous.")
- stage5 = list("You have become a morph.")
- transformation_text = "This transformation does NOT make you an antagonist if you were not one already. If you were not an antagonist, you should not eat any steal objectives or the contents of the armory."
+ stage3 = list(SPAN_DANGER("Your appendages are melting away."), SPAN_DANGER("Your limbs begin to lose their shape."))
+ stage4 = list(SPAN_DANGER("You're ravenous."))
+ stage5 = list(SPAN_DANGER("You have become a morph."))
+ transformation_text = SPAN_USERDANGER("This transformation does NOT make you an antagonist if you were not one already. If you were not an antagonist, you should not eat any steal objectives or the contents of the armory.")
new_form = /mob/living/simple_animal/hostile/morph
job_role = ROLE_MORPH
diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm
index f8709892d16..81adba1c751 100644
--- a/code/datums/diseases/tuberculosis.dm
+++ b/code/datums/diseases/tuberculosis.dm
@@ -20,41 +20,41 @@
if(2)
if(prob(2))
affected_mob.emote("cough")
- to_chat(affected_mob, "Your chest hurts.")
+ to_chat(affected_mob, SPAN_DANGER("Your chest hurts."))
if(prob(2))
- to_chat(affected_mob, "Your stomach violently rumbles!")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach violently rumbles!"))
if(prob(5))
- to_chat(affected_mob, "You feel a cold sweat form.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a cold sweat form."))
if(4)
if(prob(2))
- to_chat(affected_mob, "You see four of everything")
+ to_chat(affected_mob, SPAN_USERDANGER("You see four of everything"))
affected_mob.Dizzy(10 SECONDS)
if(prob(2))
- to_chat(affected_mob, "You feel a sharp pain from your lower chest!")
+ to_chat(affected_mob, SPAN_DANGER("You feel a sharp pain from your lower chest!"))
affected_mob.adjustOxyLoss(5)
affected_mob.emote("gasp")
if(prob(10))
- to_chat(affected_mob, "You feel air escape from your lungs painfully.")
+ to_chat(affected_mob, SPAN_DANGER("You feel air escape from your lungs painfully."))
affected_mob.adjustOxyLoss(25)
affected_mob.emote("gasp")
if(5)
if(prob(2))
- to_chat(affected_mob, "[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]")
+ to_chat(affected_mob, SPAN_USERDANGER("[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]"))
affected_mob.adjustStaminaLoss(70)
if(prob(10))
affected_mob.adjustStaminaLoss(100)
- affected_mob.visible_message("[affected_mob] faints!", "You surrender yourself and feel at peace...")
+ affected_mob.visible_message(SPAN_WARNING("[affected_mob] faints!"), SPAN_USERDANGER("You surrender yourself and feel at peace..."))
affected_mob.AdjustSleeping(10 SECONDS)
if(prob(2))
- to_chat(affected_mob, "You feel your mind relax and your thoughts drift!")
+ to_chat(affected_mob, SPAN_USERDANGER("You feel your mind relax and your thoughts drift!"))
affected_mob.AdjustConfused(16 SECONDS, bound_lower = 0, bound_upper = 200 SECONDS)
if(prob(10))
affected_mob.vomit(20)
if(prob(3))
- to_chat(affected_mob, "[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]")
+ to_chat(affected_mob, SPAN_WARNING("[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]"))
affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0)
affected_mob.adjust_nutrition(-100)
if(prob(15))
- to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]")
+ to_chat(affected_mob, SPAN_DANGER("[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]"))
affected_mob.bodytemperature += 40
return
diff --git a/code/datums/diseases/wizard_diseases.dm b/code/datums/diseases/wizard_diseases.dm
index 2208317452e..bb361e73280 100644
--- a/code/datums/diseases/wizard_diseases.dm
+++ b/code/datums/diseases/wizard_diseases.dm
@@ -45,15 +45,15 @@
switch(stage)
if(1)
if(prob(3))
- to_chat(affected_mob, "Your stomach feels strange.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach feels strange."))
if(2)
if(prob(3))
- to_chat(affected_mob, "You feel bloated.")
+ to_chat(affected_mob, SPAN_DANGER("You feel bloated."))
if(prob(2))
- to_chat(affected_mob, "Your feel an uncomfortable pressure in your abdomen.")
+ to_chat(affected_mob, SPAN_DANGER("Your feel an uncomfortable pressure in your abdomen."))
if(3)
if(prob(3))
- to_chat(affected_mob, "Your feel an uncomfortable pressure in your abdomen.")
+ to_chat(affected_mob, SPAN_DANGER("Your feel an uncomfortable pressure in your abdomen."))
if(prob(2))
affected_mob.custom_emote(EMOTE_AUDIBLE, "burps")
if(prob(1))
@@ -65,9 +65,9 @@
if(prob(2))
affected_mob.custom_emote(EMOTE_AUDIBLE, "burps")
if(prob(3))
- to_chat(affected_mob, "Your feel horribly bloated.")
+ to_chat(affected_mob, SPAN_DANGER("Your feel horribly bloated."))
if(prob(2))
- to_chat(affected_mob, "A deep bubbling resounds through your chest.")
+ to_chat(affected_mob, SPAN_DANGER("A deep bubbling resounds through your chest."))
if(5)
if(prob(2))
affected_mob.custom_emote(EMOTE_AUDIBLE, "belches loudly!")
@@ -76,16 +76,16 @@
if(prob(1))
affected_mob.emote("groan")
if(prob(3))
- to_chat(affected_mob, "Your stomach is killing you!")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach is killing you!"))
if(prob(3))
- to_chat(affected_mob, "Your abdomen gurgles and bubbles with a fierce intensity!")
+ to_chat(affected_mob, SPAN_DANGER("Your abdomen gurgles and bubbles with a fierce intensity!"))
if(prob(2) && affected_mob.nutrition >= 100)
affected_mob.adjustBruteLoss(5)
affected_mob.vomit(6, 0, TRUE, 7, 0)
affected_mob.visible_message(
- "[affected_mob] vomits with such force that [affected_mob.p_theyre(FALSE)] sent flying backwards!",
- "You vomit a torrent of magic bile so forcefully, that you are sent flying!",
- "You hear someone vomit profusely."
+ SPAN_DANGER("[affected_mob] vomits with such force that [affected_mob.p_theyre(FALSE)] sent flying backwards!"),
+ SPAN_USERDANGER("You vomit a torrent of magic bile so forcefully, that you are sent flying!"),
+ SPAN_WARNING("You hear someone vomit profusely.")
)
do_fling(affected_mob)
@@ -123,27 +123,27 @@
if(prob(3))
affected_mob.emote("sniff")
if(prob(3))
- to_chat(affected_mob, "Your nose and throat feel uncomfortably dry.")
+ to_chat(affected_mob, SPAN_DANGER("Your nose and throat feel uncomfortably dry."))
if(3)
if(prob(2))
affected_mob.emote("cough")
if(prob(3))
affected_mob.emote("sniff")
if(prob(3))
- to_chat(affected_mob, "Your nose and throat feel uncomfortably dry.")
+ to_chat(affected_mob, SPAN_DANGER("Your nose and throat feel uncomfortably dry."))
if(4)
if(prob(2))
affected_mob.emote("cough")
if(prob(3))
affected_mob.emote("sneeze")
if(prob(3))
- to_chat(affected_mob, "Your throat burns and itches!")
+ to_chat(affected_mob, SPAN_DANGER("Your throat burns and itches!"))
if(5)
if(prob(2))
affected_mob.emote("cough")
if(prob(2))
- to_chat(affected_mob, "Your nose feels like it's going to burn right off your face!")
+ to_chat(affected_mob, SPAN_DANGER("Your nose feels like it's going to burn right off your face!"))
affected_mob.adjustFireLoss(5)
if(prob(3))
affected_mob.emote("sniff")
@@ -188,18 +188,18 @@
switch(stage)
if(1)
if(prob(2))
- to_chat(affected_mob, "You feel nauseous.")
+ to_chat(affected_mob, SPAN_DANGER("You feel nauseous."))
if(2)
if(prob(3))
- to_chat(affected_mob, "Your stomach aches.")
+ to_chat(affected_mob, SPAN_DANGER("Your stomach aches."))
if(3)
if(prob(3))
- to_chat(affected_mob, "You feel a growing emptiness inside you.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a growing emptiness inside you."))
if(prob(2))
affected_mob.emote("cough")
if(4)
if(prob(3))
- to_chat(affected_mob, "Your chest feels like it's going to cave in!")
+ to_chat(affected_mob, SPAN_DANGER("Your chest feels like it's going to cave in!"))
if(prob(2))
affected_mob.emote("cough")
if(prob(2))
@@ -229,7 +229,7 @@
milla.invoke_async(src)
if(world.time >= time_to_live) // dont want to remove the spot, but stop removing atmos
STOP_PROCESSING(SSprocessing, src)
- src.visible_message("[src] evaporates into nothingness!")
+ src.visible_message(SPAN_DANGER("[src] evaporates into nothingness!"))
qdel(src)
/datum/milla_safe/spacematter_vomit_process
diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm
index 11861edc222..9fbe1817bad 100644
--- a/code/datums/diseases/wizarditis.dm
+++ b/code/datums/diseases/wizarditis.dm
@@ -45,12 +45,12 @@
if(prob(2)) // Low prob. since everyone else will also be spouting this
affected_mob.say(pick("You shall not pass!", "Expeliarmus!", "By Merlin's beard!", "Feel the power of the Dark Side!", "A wizard is never late!", "50 points for Security!", "NEC CANTIO!", "STI KALY!", "AULIE OXIN FIERA!", "GAR YOK!", "DIRI CEL!"))
if(prob(8)) // Double the stage advancement prob. so each player has a chance to catch a couple
- to_chat(affected_mob, "You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "that this location gives you a +1 to INT", "an urge to summon familiar")].")
+ to_chat(affected_mob, SPAN_DANGER("You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "that this location gives you a +1 to INT", "an urge to summon familiar")]."))
if(4)
if(prob(1))
affected_mob.say(pick("FORTI GY AMA!", "GITTAH WEIGH!", "TOKI WO TOMARE!", "TARCOL MINTI ZHERI!", "ONI SOMA!", "EI NATH!", "BIRUZ BENNAR!", "NWOLC EGNEVER!"))
if(prob(3)) // Last stage, so we'll have plenty of time to show these off even with a lower prob.
- to_chat(affected_mob, "You feel [pick("the tidal wave of raw power building inside", "that this location gives you a +2 to INT and +1 to WIS", "an urge to teleport", "the magic bubbling in your veins", "an urge to summon familiar")].")
+ to_chat(affected_mob, SPAN_DANGER("You feel [pick("the tidal wave of raw power building inside", "that this location gives you a +2 to INT and +1 to WIS", "an urge to teleport", "the magic bubbling in your veins", "an urge to summon familiar")]."))
if(prob(3)) // About 1 minute per item on average
spawn_wizard_clothes()
if(prob(0.033)) // Assuming 50 infected, someone should teleport every ~2 minutes on average
diff --git a/code/datums/diseases/zombie_virus.dm b/code/datums/diseases/zombie_virus.dm
index 661fdad1b98..7cc0c811860 100644
--- a/code/datums/diseases/zombie_virus.dm
+++ b/code/datums/diseases/zombie_virus.dm
@@ -54,21 +54,21 @@
switch(stage)
if(1) // cured by lvl 1 cure
if(prob(4))
- to_chat(affected_mob, "[pick("Your scalp itches.", "Your skin feels flakey.")]")
+ to_chat(affected_mob, SPAN_WARNING("[pick("Your scalp itches.", "Your skin feels flakey.")]"))
else if(prob(5))
- to_chat(affected_mob, "Your [pick("back", "arm", "leg", "elbow", "head")] itches.")
+ to_chat(affected_mob, SPAN_WARNING("Your [pick("back", "arm", "leg", "elbow", "head")] itches."))
if(2)
if(prob(2))
- to_chat(affected_mob, "Mucous runs down the back of your throat.")
+ to_chat(affected_mob, SPAN_DANGER("Mucous runs down the back of your throat."))
else if(prob(5))
- to_chat(affected_mob, "[pick("You feel hungry.", "You crave for something to eat.")]")
+ to_chat(affected_mob, SPAN_WARNING("[pick("You feel hungry.", "You crave for something to eat.")]"))
if(3) // cured by lvl 2 cure
if(prob(2))
affected_mob.emote("sneeze")
else if(prob(2))
affected_mob.emote("cough")
else if(prob(5))
- to_chat(affected_mob, "[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]")
+ to_chat(affected_mob, SPAN_WARNING("[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]"))
if(prob(5))
affected_mob.adjustToxLoss(1)
if(4) // shows up on medhuds
@@ -77,14 +77,14 @@
else if(prob(2))
affected_mob.emote("drool")
else if(prob(5))
- to_chat(affected_mob, "You feel a cold sweat form.")
+ to_chat(affected_mob, SPAN_DANGER("You feel a cold sweat form."))
if(prob(25))
affected_mob.adjustToxLoss(1)
if(5, 6) // 5 is cured by lvl 3 cure. 6+ needs lvl 4 cure
var/turf/T = get_turf(affected_mob)
if(T.get_lumcount() >= 0.5)
if(prob(5))
- to_chat(affected_mob, "Those lights seem bright. It stings.")
+ to_chat(affected_mob, SPAN_DANGER("Those lights seem bright. It stings."))
if(prob(25))
affected_mob.adjustFireLoss(2)
if(prob(2))
diff --git a/code/datums/elements/basic_eating.dm b/code/datums/elements/basic_eating.dm
index c0e9cc7d45d..277725620b5 100644
--- a/code/datums/elements/basic_eating.dm
+++ b/code/datums/elements/basic_eating.dm
@@ -80,19 +80,19 @@
var/healed = heal_amt && eater.health < eater.maxHealth
eater.heal_overall_damage(heal_amt)
eater.visible_message(
- "[eater] [eat_verb]s [target].",
- "You [eat_verb] [target][healed ? ", restoring some health" : ""].")
+ SPAN_NOTICE("[eater] [eat_verb]s [target]."),
+ SPAN_NOTICE("You [eat_verb] [target][healed ? ", restoring some health" : ""]."))
else if(damage_amount > 0 && damage_type)
eater.apply_damage(damage_amount, damage_type)
eater.visible_message(
- "[eater] [eat_verb]s [target], and seems to hurt itself.",
- "You [eat_verb] [target], hurting yourself in the process.")
+ SPAN_NOTICE("[eater] [eat_verb]s [target], and seems to hurt itself."),
+ SPAN_NOTICE("You [eat_verb] [target], hurting yourself in the process."))
else
eater.visible_message(
- "[eater] [eat_verb]s [target].",
- "You [eat_verb] [target].")
+ SPAN_NOTICE("[eater] [eat_verb]s [target]."),
+ SPAN_NOTICE("You [eat_verb] [target]."))
finish_eating(eater, target, feeder)
return TRUE
diff --git a/code/datums/elements/bombable_turf.dm b/code/datums/elements/bombable_turf.dm
index 63060c9df85..7c583a02daf 100644
--- a/code/datums/elements/bombable_turf.dm
+++ b/code/datums/elements/bombable_turf.dm
@@ -38,4 +38,4 @@
/// Show a little extra on examine
/datum/element/bombable_turf/proc/on_examined(turf/source, mob/user, list/examine_list)
SIGNAL_HANDLER
- examine_list += "It seems to be slightly cracked..."
+ examine_list += SPAN_NOTICE("It seems to be slightly cracked...")
diff --git a/code/datums/elements/butchers_humans.dm b/code/datums/elements/butchers_humans.dm
index 52907f2d50e..437d173a474 100644
--- a/code/datums/elements/butchers_humans.dm
+++ b/code/datums/elements/butchers_humans.dm
@@ -17,7 +17,7 @@
/datum/element/butchers_humans/proc/on_examine(datum/source, mob/user, list/examine_list)
SIGNAL_HANDLER // COMSIG_PARENT_EXAMINE
- examine_list += "Can be used to butcher dead people into meat while on harm intent."
+ examine_list += SPAN_WARNING("Can be used to butcher dead people into meat while on harm intent.")
/datum/element/butchers_humans/proc/on_attack(datum/source, mob/living/victim, mob/living/user, params)
SIGNAL_HANDLER // COMSIG_ATTACK
@@ -37,7 +37,7 @@
human.meatleft--
if(human.meatleft)
- to_chat(user, "You hack off a chunk of meat from [human]!")
+ to_chat(user, SPAN_WARNING("You hack off a chunk of meat from [human]!"))
// fallthrough so we get side-effects like blood splatter and limb
// flyoff from human attacked_by while we still have a corpse around
return
@@ -49,6 +49,6 @@
if(item.hitsound)
playsound(get_turf(item), item.hitsound, item.get_clamped_volume(), TRUE, extrarange = item.stealthy_audio ? SILENCED_SOUND_EXTRARANGE : -1, falloff_distance = 0)
add_attack_logs(user, human, "Chopped up into meat with [item.name] ([uppertext(user.a_intent)])", human.ckey ? null : ATKLOG_ALMOSTALL)
- to_chat(user, "You reduce [human] to a pile of meat!")
+ to_chat(user, SPAN_WARNING("You reduce [human] to a pile of meat!"))
qdel(human)
return COMPONENT_CANCEL_ATTACK_CHAIN
diff --git a/code/datums/elements/ridable.dm b/code/datums/elements/ridable.dm
index f9ef50d1ece..9c97c5fda43 100644
--- a/code/datums/elements/ridable.dm
+++ b/code/datums/elements/ridable.dm
@@ -54,16 +54,16 @@
ride_check_flags |= RIDER_NEEDS_ARMS
if(arms_needed && !equip_buckle_inhands(potential_rider, arms_needed, target_movable))
- potential_rider.visible_message("[potential_rider] can't get a grip on [target_movable] because [potential_rider.p_their()] hands are full!", "You can't get a grip on [target_movable] because your hands are full!")
+ potential_rider.visible_message(SPAN_WARNING("[potential_rider] can't get a grip on [target_movable] because [potential_rider.p_their()] hands are full!"), SPAN_WARNING("You can't get a grip on [target_movable] because your hands are full!"))
return COMPONENT_BLOCK_BUCKLE
if((ride_check_flags & RIDER_NEEDS_LEGS) && HAS_TRAIT(potential_rider, TRAIT_FLOORED))
- potential_rider.visible_message("[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!",
- "You can't get your footing on [target_movable]!")
+ potential_rider.visible_message(SPAN_WARNING("[potential_rider] can't get [potential_rider.p_their()] footing on [target_movable]!"),
+ SPAN_WARNING("You can't get your footing on [target_movable]!"))
return COMPONENT_BLOCK_BUCKLE
if((ride_check_flags & RIDER_CARBON_OR_SILICON_NO_LARGE_MOBS) && !(iscarbon(potential_rider) || issilicon(potential_rider) || potential_rider.mob_size <= MOB_SIZE_SMALL))
- potential_rider.visible_message("[potential_rider] is too big to get [potential_rider.p_their()] footing on [target_movable]!",
- "You are too big to get your footing on [target_movable]!")
+ potential_rider.visible_message(SPAN_WARNING("[potential_rider] is too big to get [potential_rider.p_their()] footing on [target_movable]!"),
+ SPAN_WARNING("You are too big to get your footing on [target_movable]!"))
return COMPONENT_BLOCK_BUCKLE
var/mob/living/target_living = target_movable
@@ -113,20 +113,20 @@
SIGNAL_HANDLER
if(potion_boosted)
- to_chat(user, "[ridable_atom] has already been coated with red, that's as fast as it'll go!")
+ to_chat(user, SPAN_WARNING("[ridable_atom] has already been coated with red, that's as fast as it'll go!"))
return
if(ridable_atom.has_buckled_mobs()) // effect won't take place til the next time someone mounts it, so just prevent that situation
- to_chat(user, "It's too dangerous to smear [speed_potion] on [ridable_atom] while it's being ridden!")
+ to_chat(user, SPAN_WARNING("It's too dangerous to smear [speed_potion] on [ridable_atom] while it's being ridden!"))
return
var/speed_limit = round(GLOB.configuration.movement.human_delay * 0.85, 0.01)
var/datum/component/riding/theoretical_riding_component = riding_component_type
var/theoretical_speed = initial(theoretical_riding_component.vehicle_move_delay)
if(theoretical_speed <= speed_limit) // i say speed but this is actually move delay, so you have to be ABOVE the speed limit to pass
- to_chat(user, "[ridable_atom] can't be made any faster!")
+ to_chat(user, SPAN_WARNING("[ridable_atom] can't be made any faster!"))
return
Detach(ridable_atom)
ridable_atom.AddElement(/datum/element/ridable, component_type = riding_component_type, potion_boost = TRUE)
- to_chat(user, "You slather the red gunk over [ridable_atom], making it faster.")
+ to_chat(user, SPAN_NOTICE("You slather the red gunk over [ridable_atom], making it faster."))
ridable_atom.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
ridable_atom.add_atom_colour("#6e6e86", FIXED_COLOUR_PRIORITY)
ADD_TRAIT(ridable_atom, TRAIT_OIL_SLICKED, "potion")
diff --git a/code/datums/elements/rust_element.dm b/code/datums/elements/rust_element.dm
index 973455c23bb..dcd9af8b52f 100644
--- a/code/datums/elements/rust_element.dm
+++ b/code/datums/elements/rust_element.dm
@@ -34,7 +34,7 @@
/datum/element/rust/proc/handle_examine(datum/source, mob/user, list/examine_list)
SIGNAL_HANDLER //COMSIG_PARENT_EXAMINE
- examine_list += "[source] is very rusty, you could probably burn it off."
+ examine_list += SPAN_NOTICE("[source] is very rusty, you could probably burn it off.")
/datum/element/rust/proc/apply_rust_overlay(atom/parent_atom, list/overlays)
SIGNAL_HANDLER //COMSIG_ATOM_UPDATE_OVERLAYS
@@ -55,11 +55,11 @@
if(TOOL_WELDER)
if(!item.tool_start_check(source, user, amount=1))
return
- to_chat(user, "You start burning off the rust...")
+ to_chat(user, SPAN_NOTICE("You start burning off the rust..."))
if(!item.use_tool(source, user, 5 SECONDS, volume = item.tool_volume))
return
- to_chat(user, "You burn off the rust!")
+ to_chat(user, SPAN_NOTICE("You burn off the rust!"))
Detach(source)
return
@@ -67,7 +67,7 @@
/datum/element/rust/proc/on_interaction(datum/source, mob/living/user, obj/item/tool, list/modifiers)
SIGNAL_HANDLER // COMSIG_INTERACT_TARGET
if(istype(tool, /obj/item/stack/tile) || istype(tool, /obj/item/stack/rods) || istype(tool, /obj/item/rcd))
- to_chat(user, "[source] is too rusted to build on!")
+ to_chat(user, SPAN_WARNING("[source] is too rusted to build on!"))
return ITEM_INTERACT_COMPLETE
/// For rust applied by heretics (if that ever happens) / revenants
diff --git a/code/datums/elements/strippable.dm b/code/datums/elements/strippable.dm
index 7663e2e2890..1aa8e0bf3fa 100644
--- a/code/datums/elements/strippable.dm
+++ b/code/datums/elements/strippable.dm
@@ -64,7 +64,7 @@
/// It should not perform the equipping itself.
/datum/strippable_item/proc/try_equip(atom/source, obj/item/equipping, mob/user)
if(equipping.flags & NODROP)
- to_chat(user, "You can't put [equipping] on [source], it's stuck to your hand!")
+ to_chat(user, SPAN_WARNING("You can't put [equipping] on [source], it's stuck to your hand!"))
return FALSE
if(equipping.flags & ABSTRACT)
@@ -78,13 +78,13 @@
var/thief_mode = in_thief_mode(user)
if(!thief_mode)
source.visible_message(
- "[user] tries to put [equipping] on [source].",
- "[user] tries to put [equipping] on you.",
+ SPAN_NOTICE("[user] tries to put [equipping] on [source]."),
+ SPAN_NOTICE("[user] tries to put [equipping] on you."),
)
if(ishuman(source))
var/mob/living/carbon/human/victim_human = source
if(!victim_human.has_vision())
- to_chat(victim_human, "You feel someone trying to put something on you.")
+ to_chat(victim_human, SPAN_USERDANGER("You feel someone trying to put something on you."))
if(!do_mob(user, source, equipping.put_on_delay, hidden = thief_mode))
return FALSE
@@ -124,21 +124,21 @@
if(isnull(item))
return FALSE
- to_chat(user, "You try to remove [source]'s [item.name]...")
+ to_chat(user, SPAN_DANGER("You try to remove [source]'s [item.name]..."))
add_attack_logs(user, source, "Attempting stripping of [item]")
item.add_fingerprint(user)
var/thief_mode = in_thief_mode(user)
if(!thief_mode)
source.visible_message(
- "[user] tries to remove [source]'s [item.name].",
- "[user] tries to remove your [item.name].",
+ SPAN_WARNING("[user] tries to remove [source]'s [item.name]."),
+ SPAN_USERDANGER("[user] tries to remove your [item.name]."),
"You hear rustling."
)
if(ishuman(source))
var/mob/living/carbon/human/victim_human = source
if(!victim_human.has_vision())
- to_chat(source, "You feel someone fumble with your belongings.")
+ to_chat(source, SPAN_USERDANGER("You feel someone fumble with your belongings."))
return start_unequip_mob(get_item(source), source, user, hidden = thief_mode)
@@ -204,7 +204,7 @@
return FALSE
if(!equipping.mob_can_equip(source, item_slot, disable_warning = TRUE))
- to_chat(user, "\The [equipping] doesn't fit in that place!")
+ to_chat(user, SPAN_WARNING("\The [equipping] doesn't fit in that place!"))
return FALSE
return TRUE
diff --git a/code/datums/elements/wears_collar.dm b/code/datums/elements/wears_collar.dm
index fb6664a27d4..e9aaf9fecf0 100644
--- a/code/datums/elements/wears_collar.dm
+++ b/code/datums/elements/wears_collar.dm
@@ -89,14 +89,14 @@
if(!istype(attacking_item, /obj/item/petcollar))
return NONE
if(locate(/obj/item/petcollar) in source)
- to_chat(user, "[source] is already wearing a collar!")
+ to_chat(user, SPAN_WARNING("[source] is already wearing a collar!"))
return COMPONENT_SKIP_AFTERATTACK
if(user.drop_item())
attacking_item.forceMove(source)
- to_chat(user, "You put [attacking_item] around [source]'s neck.")
+ to_chat(user, SPAN_NOTICE("You put [attacking_item] around [source]'s neck."))
else
- to_chat(user, "[attacking_item] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[attacking_item] is stuck to your hand!"))
return COMPONENT_SKIP_AFTERATTACK
diff --git a/code/datums/emote.dm b/code/datums/emote.dm
index 2af8e079ee3..a4c4646d575 100644
--- a/code/datums/emote.dm
+++ b/code/datums/emote.dm
@@ -174,7 +174,7 @@
return TRUE
if(isnull(msg))
- to_chat(user, "'[emote_arg]' isn't a valid parameter for [key].")
+ to_chat(user, SPAN_WARNING("'[emote_arg]' isn't a valid parameter for [key]."))
return TRUE
msg = replace_pronoun(user, msg)
@@ -209,16 +209,16 @@
if(!ghost.client)
continue
if((ghost.client.prefs.toggles & PREFTOGGLE_CHAT_GHOSTSIGHT) && !(ghost in viewers(user_turf, null)))
- ghost.show_message("[user] ([ghost_follow_link(user, ghost)]) [msg]", chat_message_type = MESSAGE_TYPE_LOCALCHAT)
+ ghost.show_message(SPAN_EMOTE("[user] ([ghost_follow_link(user, ghost)]) [msg]"), chat_message_type = MESSAGE_TYPE_LOCALCHAT)
if(isobserver(user))
for(var/mob/dead/observer/ghost in viewers(user))
- ghost.show_message("[displayed_msg]", EMOTE_VISIBLE, chat_message_type = MESSAGE_TYPE_LOCALCHAT)
+ ghost.show_message(SPAN_DEADSAY("[displayed_msg]"), EMOTE_VISIBLE, chat_message_type = MESSAGE_TYPE_LOCALCHAT)
else if((emote_type & EMOTE_AUDIBLE) && !user.mind?.miming)
- user.audible_message(displayed_msg, deaf_message = "You see how [user] [msg]")
+ user.audible_message(displayed_msg, deaf_message = SPAN_EMOTE("You see how [user] [msg]"))
else
- user.visible_message(displayed_msg, blind_message = "You hear how someone [msg]")
+ user.visible_message(displayed_msg, blind_message = SPAN_EMOTE("You hear how someone [msg]"))
if(!((emote_type & EMOTE_FORCE_NO_RUNECHAT) || suppressed) && !isobserver(user))
runechat_emote(user, msg)
@@ -515,7 +515,7 @@
return FALSE
if(check_mute(user.client?.ckey, MUTE_EMOTE))
- to_chat(user, "You cannot send emotes (muted).")
+ to_chat(user, SPAN_WARNING("You cannot send emotes (muted)."))
return FALSE
if(status_check && !is_type_in_typecache(user, mob_type_ignore_stat_typecache))
@@ -527,7 +527,7 @@
return FALSE
if(stat)
- to_chat(user, "You cannot [key] while [stat]!")
+ to_chat(user, SPAN_WARNING("You cannot [key] while [stat]!"))
return FALSE
if(HAS_TRAIT(user, TRAIT_FAKEDEATH))
// Don't let people blow their cover by mistake
@@ -535,7 +535,7 @@
if(hands_use_check && !user.can_use_hands() && (iscarbon(user)))
if(!intentional)
return FALSE
- to_chat(user, "You cannot use your hands to [key] right now!")
+ to_chat(user, SPAN_WARNING("You cannot use your hands to [key] right now!"))
return FALSE
if(isliving(user))
@@ -550,14 +550,14 @@
else
// deadchat handling
if(check_mute(user.client?.ckey, MUTE_DEADCHAT))
- to_chat(user, "You cannot send deadchat emotes (muted).")
+ to_chat(user, SPAN_WARNING("You cannot send deadchat emotes (muted)."))
return FALSE
if(!(user.client?.prefs.toggles & PREFTOGGLE_CHAT_DEAD))
- to_chat(user, "You have deadchat muted.")
+ to_chat(user, SPAN_WARNING("You have deadchat muted."))
return FALSE
if(!check_rights(R_ADMIN, FALSE, user))
if(!GLOB.dsay_enabled)
- to_chat(user, "Deadchat is globally muted.")
+ to_chat(user, SPAN_WARNING("Deadchat is globally muted."))
return FALSE
/**
diff --git a/code/datums/helper_datums/construction_datum.dm b/code/datums/helper_datums/construction_datum.dm
index 593b960a375..4a344550d68 100644
--- a/code/datums/helper_datums/construction_datum.dm
+++ b/code/datums/helper_datums/construction_datum.dm
@@ -47,7 +47,7 @@
if(istype(used_atom, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = used_atom
if(C.get_amount() < 4)
- to_chat(user, ("There's not enough cable to finish the task."))
+ to_chat(user, (SPAN_WARNING("There's not enough cable to finish the task.")))
return 0
else
C.use(4)
@@ -55,7 +55,7 @@
else if(istype(used_atom, /obj/item/stack))
var/obj/item/stack/S = used_atom
if(S.get_amount() < 5)
- to_chat(user, ("There's not enough material in this stack."))
+ to_chat(user, (SPAN_WARNING("There's not enough material in this stack.")))
return 0
else
S.use(5)
@@ -101,7 +101,7 @@
if(istype(used_atom,/obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil=used_atom
if(!coil.use(amount))
- to_chat(user, "You don't have enough cable! You need at least [amount] coils.")
+ to_chat(user, SPAN_WARNING("You don't have enough cable! You need at least [amount] coils."))
return 0
// TOOLS
if(isitem(used_atom))
@@ -113,7 +113,7 @@
if(istype(used_atom,/obj/item/stack))
var/obj/item/stack/stack=used_atom
if(stack.get_amount() < amount)
- to_chat(user, "You don't have enough [stack]! You need at least [amount].")
+ to_chat(user, SPAN_WARNING("You don't have enough [stack]! You need at least [amount]."))
return 0
stack.use(amount)
return 1
diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm
index b660b64f842..f4a845f97f9 100644
--- a/code/datums/helper_datums/teleport.dm
+++ b/code/datums/helper_datums/teleport.dm
@@ -218,7 +218,7 @@
if(isliving(teleatom))
var/mob/living/MM = teleatom
- to_chat(MM, "The bluespace interface on your bag of holding interferes with the teleport!")
+ to_chat(MM, SPAN_WARNING("The bluespace interface on your bag of holding interferes with the teleport!"))
return TRUE
// Random safe location finder
diff --git a/code/datums/job_selection/job_selector.dm b/code/datums/job_selection/job_selector.dm
index 1342a2469eb..28f6af7a9e6 100644
--- a/code/datums/job_selection/job_selector.dm
+++ b/code/datums/job_selection/job_selector.dm
@@ -38,7 +38,7 @@ RESTRICT_TYPE(/datum/job_selector)
if(assign_role(candidate, job, latejoin = TRUE, step = "latejoin"))
candidate.apply_to_player(player)
else
- to_chat(player, "You are unable to join the round as [job.title]. Please try another job.")
+ to_chat(player, SPAN_WARNING("You are unable to join the round as [job.title]. Please try another job."))
/datum/job_selector/proc/apply_roles_to_players()
for(var/datum/job_candidate/candidate in assigned_candidates)
diff --git a/code/datums/keybindings/ai_keybinds.dm b/code/datums/keybindings/ai_keybinds.dm
index ba8c62021c8..31e566d6adf 100644
--- a/code/datums/keybindings/ai_keybinds.dm
+++ b/code/datums/keybindings/ai_keybinds.dm
@@ -21,7 +21,7 @@
. = ..()
var/mob/living/silicon/ai/AI = C.mob
if(AI.store_location(location_number))
- to_chat(AI, "Successfully set location [location_number].")
+ to_chat(AI, SPAN_NOTICE("Successfully set location [location_number]."))
/datum/keybinding/ai/store_location/one
name = "Store Location One"
@@ -51,11 +51,11 @@
var/mob/living/silicon/ai/AI = C.mob
if(ismecha(AI.loc))
- to_chat(AI, "You can't change camera locations while in a mech!")
+ to_chat(AI, SPAN_WARNING("You can't change camera locations while in a mech!"))
return
if(AI.stored_locations[location_number] == "unset")
- to_chat(AI, "You haven't set location [location_number] yet!")
+ to_chat(AI, SPAN_WARNING("You haven't set location [location_number] yet!"))
return
AI.eyeobj.set_loc(AI.stored_locations[location_number])
diff --git a/code/datums/keybindings/communication_keybinds.dm b/code/datums/keybindings/communication_keybinds.dm
index 79bf4910e28..5348cbba4a2 100644
--- a/code/datums/keybindings/communication_keybinds.dm
+++ b/code/datums/keybindings/communication_keybinds.dm
@@ -11,7 +11,7 @@
return
if(mute_category && check_mute(C.ckey, mute_category))
- to_chat(C, "You cannot use [name] (muted).", MESSAGE_TYPE_WARNING)
+ to_chat(C, SPAN_DANGER("You cannot use [name] (muted)."), MESSAGE_TYPE_WARNING)
return
winset(C, null, "command=[C.tgui_say_create_open_command(name)];")
@@ -26,11 +26,11 @@
return ..()
if(!GLOB.ooc_enabled)
- to_chat(C, "OOC is globally muted.", MESSAGE_TYPE_WARNING)
+ to_chat(C, SPAN_DANGER("OOC is globally muted."), MESSAGE_TYPE_WARNING)
return
if(!GLOB.dooc_enabled && C.mob.stat == DEAD)
- to_chat(C, "OOC for dead mobs has been turned off.", MESSAGE_TYPE_WARNING)
+ to_chat(C, SPAN_DANGER("OOC for dead mobs has been turned off."), MESSAGE_TYPE_WARNING)
return
return ..()
diff --git a/code/datums/keybindings/mob_keybinds.dm b/code/datums/keybindings/mob_keybinds.dm
index 60b340b4625..398c77ca1e4 100644
--- a/code/datums/keybindings/mob_keybinds.dm
+++ b/code/datums/keybindings/mob_keybinds.dm
@@ -32,7 +32,7 @@
C.mob.drop_item_v()
return
- to_chat(C, "You have nothing to drop in your hand!")
+ to_chat(C, SPAN_WARNING("You have nothing to drop in your hand!"))
/datum/keybinding/mob/swap_hands
name = "Swap Hands"
@@ -104,7 +104,7 @@
if(C.mob.pulling)
C.mob.stop_pulling()
else
- to_chat(C, "You are not pulling anything.")
+ to_chat(C, SPAN_NOTICE("You are not pulling anything."))
/datum/keybinding/mob/face_dir
/// The direction to face towards.
diff --git a/code/datums/log_record.dm b/code/datums/log_record.dm
index 2b9aef01cc2..7ec8e831342 100644
--- a/code/datums/log_record.dm
+++ b/code/datums/log_record.dm
@@ -67,13 +67,13 @@
return time_diff
/datum/log_record/vv_edit_var(var_name, var_value)
- message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")
+ message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once."))
log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
return FALSE
/datum/log_record/can_vv_delete()
- message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")
+ message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once."))
log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
return FALSE
diff --git a/code/datums/log_viewer.dm b/code/datums/log_viewer.dm
index 843eb32bf06..e6f27dfd4e7 100644
--- a/code/datums/log_viewer.dm
+++ b/code/datums/log_viewer.dm
@@ -51,7 +51,7 @@ if(!result || result.ckey != __ckey){\
log_records.Add(logs.Copy(start_index, end_index + 1))
if(length(invalid_mobs))
- to_chat(user, "The search criteria contained invalid mobs. They have been removed from the criteria.")
+ to_chat(user, SPAN_WARNING("The search criteria contained invalid mobs. They have been removed from the criteria."))
for(var/i in invalid_mobs)
selected_mobs -= i // Cleanup
@@ -202,7 +202,7 @@ if(!result || result.ckey != __ckey){\
return
var/res = timeStampToNum(input)
if(res < 0)
- to_chat(usr, "'[input]' is an invalid input value.")
+ to_chat(usr, SPAN_WARNING("'[input]' is an invalid input value."))
return
time_from = res
show_ui(usr)
@@ -213,7 +213,7 @@ if(!result || result.ckey != __ckey){\
return
var/res = timeStampToNum(input)
if(res < 0)
- to_chat(usr, "'[input]' is an invalid input value.")
+ to_chat(usr, SPAN_WARNING("'[input]' is an invalid input value."))
return
time_to = res
@@ -232,7 +232,7 @@ if(!result || result.ckey != __ckey){\
log_records.Cut()
else
if(records_len > RECORD_HARD_LIMIT)
- to_chat(usr, "Record limit reached. Limiting to [RECORD_HARD_LIMIT].")
+ to_chat(usr, SPAN_WARNING("Record limit reached. Limiting to [RECORD_HARD_LIMIT]."))
log_records.Cut(RECORD_HARD_LIMIT)
show_ui(usr)
return
diff --git a/code/datums/logging.dm b/code/datums/logging.dm
index 9cf2fb84f3c..605fa859172 100644
--- a/code/datums/logging.dm
+++ b/code/datums/logging.dm
@@ -47,13 +47,13 @@
return log_records
/datum/logging/vv_edit_var(var_name, var_value)
- message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")
+ message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once."))
log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
return FALSE
/datum/logging/can_vv_delete()
- message_admins("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once.")
+ message_admins(SPAN_USERDANGER("[key_name_admin(src)] attempted to VV edit a logging object. Inform the host at once."))
log_admin("[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "[key_name(src)] attempted to VV edit a logging object. Inform the host at once.")
return FALSE
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index da6b507daeb..0ed3bcaf9fd 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -709,14 +709,14 @@
new_target = input("Select target:", "Objective target", def_target) as null|anything in possible_targets
else
if(!length(possible_targets_random))
- to_chat(usr, "No random target found. Pick one manually.")
+ to_chat(usr, SPAN_WARNING("No random target found. Pick one manually."))
return
new_target = pick(possible_targets_random)
if(!new_target)
return
else
- to_chat(usr, "No possible target found. Defaulting to a Free objective.")
+ to_chat(usr, SPAN_WARNING("No possible target found. Defaulting to a Free objective."))
new_target = "Free objective"
var/objective_path = text2path("/datum/objective/[new_obj_type]")
@@ -859,7 +859,7 @@
for(var/obj/item/bio_chip/mindshield/I in H.contents)
if(I && I.implanted)
qdel(I)
- to_chat(H, "Your mindshield bio-chip has been deactivated.")
+ to_chat(H, SPAN_NOTICE("Your mindshield bio-chip has been deactivated."))
log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield bio-chip")
message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield bio-chip")
if("add")
@@ -869,11 +869,11 @@
log_admin("[key_name(usr)] has given [key_name(current)] a mindshield bio-chip")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a mindshield bio-chip")
- to_chat(H, "You somehow have become the recipient of a mindshield transplant, and it just activated!")
+ to_chat(H, SPAN_USERDANGER("You somehow have become the recipient of a mindshield transplant, and it just activated!"))
var/datum/antagonist/rev/has_rev = has_antag_datum(/datum/antagonist/rev)
if(has_rev)
remove_antag_datum(/datum/antagonist/rev, silent_removal = TRUE) // we have some custom text, lets make the removal silent
- to_chat(H, "The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!")
+ to_chat(H, SPAN_USERDANGER("The nanobots in the mindshield implant remove all thoughts about being a revolutionary. Get back to work!"))
else if(href_list["revolution"])
@@ -926,7 +926,7 @@
if("flash")
var/datum/antagonist/rev/head/headrev = has_antag_datum(/datum/antagonist/rev/head)
if(!headrev.equip_revolutionary(TRUE, FALSE))
- to_chat(usr, "Spawning flash failed!")
+ to_chat(usr, SPAN_WARNING("Spawning flash failed!"))
log_admin("[key_name(usr)] has given [key_name(current)] a flash")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash")
@@ -934,7 +934,7 @@
var/list/L = current.get_contents()
var/obj/item/flash/flash = locate() in L
if(!flash)
- to_chat(usr, "Deleting flash failed!")
+ to_chat(usr, SPAN_WARNING("Deleting flash failed!"))
qdel(flash)
log_admin("[key_name(usr)] has taken [key_name(current)]'s flash")
message_admins("[key_name_admin(usr)] has taken [key_name_admin(current)]'s flash")
@@ -943,7 +943,7 @@
var/list/L = current.get_contents()
var/obj/item/flash/flash = locate() in L
if(!flash)
- to_chat(usr, "Repairing flash failed!")
+ to_chat(usr, SPAN_WARNING("Repairing flash failed!"))
else
flash.broken = FALSE
log_admin("[key_name(usr)] has repaired [key_name(current)]'s flash")
@@ -956,7 +956,7 @@
take_uplink()
var/datum/antagonist/rev/head/headrev = has_antag_datum(/datum/antagonist/rev/head)
if(!headrev.equip_revolutionary())
- to_chat(usr, "Reequipping revolutionary went wrong!")
+ to_chat(usr, SPAN_WARNING("Reequipping revolutionary went wrong!"))
return
log_admin("[key_name(usr)] has equipped [key_name(current)] as a revolutionary")
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a revolutionary")
@@ -971,17 +971,17 @@
if("cultist")
if(!has_antag_datum(/datum/antagonist/cultist))
add_antag_datum(/datum/antagonist/cultist)
- to_chat(current, "Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [GET_CULT_DATA(entity_title2, "your god")] above all else. Bring It back.")
+ to_chat(current, SPAN_CULTITALIC("Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve [GET_CULT_DATA(entity_title2, "your god")] above all else. Bring It back."))
log_and_message_admins("has culted [key_name(current)]")
if("dagger")
var/datum/antagonist/cultist/cultist = has_antag_datum(/datum/antagonist/cultist)
if(!cultist.cult_give_item(/obj/item/melee/cultblade/dagger))
- to_chat(usr, "Spawning dagger failed!")
+ to_chat(usr, SPAN_WARNING("Spawning dagger failed!"))
log_and_message_admins("has equipped [key_name(current)] with a cult dagger")
if("runedmetal")
var/datum/antagonist/cultist/cultist = has_antag_datum(/datum/antagonist/cultist)
if(!cultist.cult_give_item(/obj/item/stack/sheet/runed_metal/ten))
- to_chat(usr, "Spawning runed metal failed!")
+ to_chat(usr, SPAN_WARNING("Spawning runed metal failed!"))
log_and_message_admins("has equipped [key_name(current)] with 10 runed metal sheets")
else if(href_list["wizard"])
@@ -1032,21 +1032,21 @@
if("changeling")
if(!IS_CHANGELING(current))
add_antag_datum(/datum/antagonist/changeling)
- to_chat(current, "Your powers have awoken. A flash of memory returns to us... We are a changeling!")
+ to_chat(current, SPAN_BIGGERDANGER("Your powers have awoken. A flash of memory returns to us... We are a changeling!"))
log_admin("[key_name(usr)] has changelinged [key_name(current)]")
message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]")
if("autoobjectives")
var/datum/antagonist/changeling/cling = has_antag_datum(/datum/antagonist/changeling)
cling.give_objectives()
- to_chat(usr, "The objectives for changeling [key] have been generated. You can edit them and announce manually.")
+ to_chat(usr, SPAN_NOTICE("The objectives for changeling [key] have been generated. You can edit them and announce manually."))
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
if("initialdna")
var/datum/antagonist/changeling/cling = has_antag_datum(/datum/antagonist/changeling)
if(!cling || !length(cling.absorbed_dna))
- to_chat(usr, "Resetting DNA failed!")
+ to_chat(usr, SPAN_WARNING("Resetting DNA failed!"))
else
current.dna = cling.absorbed_dna[1]
current.real_name = current.dna.real_name
@@ -1138,7 +1138,7 @@
if("autoobjectives")
var/datum/antagonist/vampire/V = has_antag_datum(/datum/antagonist/vampire)
V.give_objectives()
- to_chat(usr, "The objectives for vampire [key] have been generated. You can edit them and announce manually.")
+ to_chat(usr, SPAN_NOTICE("The objectives for vampire [key] have been generated. You can edit them and announce manually."))
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
@@ -1181,7 +1181,7 @@
SSticker.mode.update_synd_icons_removed(src)
special_role = null
objective_holder.clear(/datum/objective/nuclear)
- to_chat(current, "You have been brainwashed! You are no longer a Syndicate operative!")
+ to_chat(current, SPAN_WARNING("You have been brainwashed! You are no longer a Syndicate operative!"))
log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]")
message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]")
if("nuclear")
@@ -1193,7 +1193,7 @@
else
current.real_name = "[syndicate_name()] Operative #[length(SSticker.mode.syndicates) - 1]"
special_role = SPECIAL_ROLE_NUKEOPS
- to_chat(current, "You are a [syndicate_name()] agent!")
+ to_chat(current, SPAN_NOTICE("You are a [syndicate_name()] agent!"))
SSticker.mode.forge_syndicate_objectives(src)
SSticker.mode.greet_syndicate(src, FALSE) // False to fix the agent message appearing twice
log_admin("[key_name(usr)] has nuke op'd [key_name(current)]")
@@ -1216,7 +1216,7 @@
qdel(H.w_uniform)
if(!SSticker.mode.equip_syndicate(current))
- to_chat(usr, "Equipping a Syndicate failed!")
+ to_chat(usr, SPAN_WARNING("Equipping a Syndicate failed!"))
return
SSticker.mode.update_syndicate_id(current.mind, length(SSticker.mode.syndicates) == 1)
log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative")
@@ -1234,7 +1234,7 @@
log_admin("[key_name(usr)] has given [key_name(current)] the nuclear authorization code")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] the nuclear authorization code")
else
- to_chat(usr, "No valid nuke found!")
+ to_chat(usr, SPAN_WARNING("No valid nuke found!"))
else if(href_list["eventmisc"])
switch(href_list["eventmisc"])
@@ -1309,7 +1309,7 @@
if("autoobjectives")
var/datum/antagonist/traitor/T = has_antag_datum(/datum/antagonist/traitor)
T.give_objectives()
- to_chat(usr, "The objectives for traitor [key] have been generated. You can edit them and announce manually.")
+ to_chat(usr, SPAN_NOTICE("The objectives for traitor [key] have been generated. You can edit them and announce manually."))
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
@@ -1522,10 +1522,10 @@
else if(href_list["abductor"])
switch(href_list["abductor"])
if("clear")
- to_chat(usr, "This will probably never be implemented. Sorry!")
+ to_chat(usr, SPAN_USERDANGER("This will probably never be implemented. Sorry!"))
if("abductor")
if(!ishuman(current))
- to_chat(usr, "This only works on humans!")
+ to_chat(usr, SPAN_WARNING("This only works on humans!"))
return
make_Abductor()
log_admin("[key_name(usr)] turned [current] into an abductor.")
@@ -1580,7 +1580,7 @@
if(has_antag_datum(/datum/antagonist/traitor))
var/datum/antagonist/traitor/T = has_antag_datum(/datum/antagonist/traitor)
if(!T.give_uplink())
- to_chat(usr, "Equipping a Syndicate failed!")
+ to_chat(usr, SPAN_WARNING("Equipping a Syndicate failed!"))
return
log_admin("[key_name(usr)] has given [key_name(current)] an uplink")
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] an uplink")
@@ -1680,7 +1680,7 @@
return
var/list/text = list()
if(title)
- text.Add("Your current objectives:")
+ text.Add(SPAN_NOTICE("Your current objectives:"))
text.Add(gen_objective_text())
return text
@@ -1710,7 +1710,7 @@
current.real_name = "[syndicate_name()] Operative #[length(SSticker.mode.syndicates) - 1]"
special_role = SPECIAL_ROLE_NUKEOPS
assigned_role = SPECIAL_ROLE_NUKEOPS
- to_chat(current, "You are a [syndicate_name()] agent!")
+ to_chat(current, SPAN_NOTICE("You are a [syndicate_name()] agent!"))
SSticker.mode.forge_syndicate_objectives(src)
SSticker.mode.greet_syndicate(src, FALSE) // False to fix the agent message appearing twice
@@ -1842,8 +1842,8 @@
var/mob/living/carbon/human/H = current
H.update_inv_w_uniform()
- to_chat(current, "You seem to have forgotten the events of the past 10 minutes or so, and your head aches a bit as if someone beat it savagely with a stick.")
- to_chat(current, "This means you don't remember who you were working for or what you were doing.")
+ to_chat(current, SPAN_WARNING("You seem to have forgotten the events of the past 10 minutes or so, and your head aches a bit as if someone beat it savagely with a stick."))
+ to_chat(current, SPAN_WARNING("This means you don't remember who you were working for or what you were doing."))
/datum/mind/proc/has_normal_assigned_role()
if(!assigned_role)
diff --git a/code/datums/ores.dm b/code/datums/ores.dm
index c396fd1ee29..febc61a20d5 100644
--- a/code/datums/ores.dm
+++ b/code/datums/ores.dm
@@ -134,7 +134,7 @@
source.name = "gibtonite deposit"
source.desc = "An active gibtonite reserve. Run!"
stage = GIBTONITE_ACTIVE
- source.visible_message("There was gibtonite inside! It's going to explode!")
+ source.visible_message(SPAN_DANGER("There was gibtonite inside! It's going to explode!"))
if(!is_mining_level(source.z))
notify_admins = TRUE
@@ -181,7 +181,7 @@
SIGNAL_HANDLER // COMSIG_ATTACK_BY
if(istype(attacker, /obj/item/mining_scanner) || istype(attacker, /obj/item/t_scanner/adv_mining_scanner) && stage == GIBTONITE_ACTIVE)
- user.visible_message("[user] holds [attacker] to [source]...", "You use [attacker] to locate where to cut off the chain reaction and attempt to stop it...")
+ user.visible_message(SPAN_NOTICE("[user] holds [attacker] to [source]..."), SPAN_NOTICE("You use [attacker] to locate where to cut off the chain reaction and attempt to stop it..."))
defuse(source)
return COMPONENT_SKIP_AFTERATTACK
@@ -217,7 +217,7 @@
if(remaining_time < 0)
remaining_time = 0
- source.visible_message("The chain reaction was stopped! The gibtonite had [remaining_time] reactions left till the explosion!")
+ source.visible_message(SPAN_NOTICE("The chain reaction was stopped! The gibtonite had [remaining_time] reactions left till the explosion!"))
#undef GIBTONITE_UNSTRUCK
#undef GIBTONITE_ACTIVE
diff --git a/code/datums/outfits/outfit_debug.dm b/code/datums/outfits/outfit_debug.dm
index 7f7205e2396..69c4278ad97 100644
--- a/code/datums/outfits/outfit_debug.dm
+++ b/code/datums/outfits/outfit_debug.dm
@@ -118,7 +118,7 @@
handle_traits(user)
/obj/item/clothing/glasses/hud/debug/AltClick(mob/living/carbon/human/user)
- to_chat(user, "You [xray ? "de" : ""]activate the x-ray setting on [src].")
+ to_chat(user, SPAN_NOTICE("You [xray ? "de" : ""]activate the x-ray setting on [src]."))
xray = !xray
if(istype(user) && user.glasses == src)
handle_traits(user, TRUE)
@@ -155,7 +155,7 @@
/obj/item/debug/human_spawner/examine(mob/user)
. = ..()
- . += "Alt-Click to toggle mind-activation on spawning."
+ . += SPAN_NOTICE("Alt-Click to toggle mind-activation on spawning.")
/obj/item/debug/human_spawner/afterattack__legacy__attackchain(atom/target, mob/user, proximity)
..()
@@ -176,7 +176,7 @@
if(!Adjacent(user))
return
activate_mind = !activate_mind
- to_chat(user, "Any humans spawned will [activate_mind ? "" : "not "]spawn with an initialized mind.")
+ to_chat(user, SPAN_NOTICE("Any humans spawned will [activate_mind ? "" : "not "]spawn with an initialized mind."))
/obj/item/rcd/combat/admin
name = "AVD-CNED RCD"
diff --git a/code/datums/revision.dm b/code/datums/revision.dm
index 979bd37f6bd..2a4eaf37f23 100644
--- a/code/datums/revision.dm
+++ b/code/datums/revision.dm
@@ -74,7 +74,7 @@ GLOBAL_PROTECT(revision_info) // Dont mess with this
/datum/code_revision/proc/get_testmerge_chatmessage(header = FALSE)
var/list/msg = list()
if(header)
- msg += "The following PRs are currently testmerged:"
+ msg += SPAN_NOTICE("The following PRs are currently testmerged:")
for(var/pr in GLOB.revision_info.testmerges)
var/datum/tgs_revision_information/test_merge/tm = pr
@@ -88,7 +88,7 @@ GLOBAL_PROTECT(revision_info) // Dont mess with this
set desc = "Retrieve technical information about the server"
var/list/msg = list()
- msg += "Server Revision Info"
+ msg += SPAN_NOTICE("Server Revision Info")
// Round ID first
msg += "Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]"
#ifdef PARADISE_PRODUCTION_HARDWARE
diff --git a/code/datums/spell_handler/alien_spell_handler.dm b/code/datums/spell_handler/alien_spell_handler.dm
index b8aa1e7cbcc..94f5f3fd73e 100644
--- a/code/datums/spell_handler/alien_spell_handler.dm
+++ b/code/datums/spell_handler/alien_spell_handler.dm
@@ -14,7 +14,7 @@ This was also the case with the verb implementation, it's just much more obvious
return FALSE
if(vessel.stored_plasma < plasma_cost)
if(show_message)
- to_chat(user, "You require at least [plasma_cost] plasma to use this ability!")
+ to_chat(user, SPAN_WARNING("You require at least [plasma_cost] plasma to use this ability!"))
return FALSE
return TRUE
@@ -22,12 +22,12 @@ This was also the case with the verb implementation, it's just much more obvious
user.use_plasma_spell(plasma_cost, user)
/datum/spell_handler/alien/before_cast(list/targets, mob/living/carbon/user, datum/spell/spell)
- to_chat(user, "You have [user.get_plasma()] plasma left to use.")
+ to_chat(user, SPAN_BOLDNOTICE("You have [user.get_plasma()] plasma left to use."))
user.update_plasma_display(user)
/datum/spell_handler/alien/revert_cast(mob/living/carbon/user, datum/spell/spell)
user.add_plasma(plasma_cost, user)
- to_chat(user, "You have [user.get_plasma()] plasma left to use.")
+ to_chat(user, SPAN_BOLDNOTICE("You have [user.get_plasma()] plasma left to use."))
user.update_plasma_display(user)
/mob/living/carbon/proc/get_plasma()
diff --git a/code/datums/spell_handler/morph_spell_handler.dm b/code/datums/spell_handler/morph_spell_handler.dm
index 336b0bc5942..8fac8b544a4 100644
--- a/code/datums/spell_handler/morph_spell_handler.dm
+++ b/code/datums/spell_handler/morph_spell_handler.dm
@@ -5,12 +5,12 @@
/datum/spell_handler/morph/can_cast(mob/living/simple_animal/hostile/morph/user, charge_check, show_message, datum/spell/spell)
if(!istype(user))
if(show_message)
- to_chat(user, "You should not be able to use this ability! Report this as a bug on github please.")
+ to_chat(user, SPAN_WARNING("You should not be able to use this ability! Report this as a bug on github please."))
return FALSE
if(user.gathered_food < hunger_cost)
if(show_message)
- to_chat(user, "You require at least [hunger_cost] stored food to use this ability!")
+ to_chat(user, SPAN_WARNING("You require at least [hunger_cost] stored food to use this ability!"))
return FALSE
return TRUE
@@ -20,8 +20,8 @@
/datum/spell_handler/morph/before_cast(list/targets, mob/living/simple_animal/hostile/morph/user, datum/spell/spell)
if(hunger_cost)
- to_chat(user, "You have [user.gathered_food] left to use.")
+ to_chat(user, SPAN_BOLDNOTICE("You have [user.gathered_food] left to use."))
/datum/spell_handler/morph/revert_cast(mob/living/simple_animal/hostile/morph/user, datum/spell/spell)
user.add_food(hunger_cost)
- to_chat(user, "You have [user.gathered_food] left to use.")
+ to_chat(user, SPAN_BOLDNOTICE("You have [user.gathered_food] left to use."))
diff --git a/code/datums/spell_handler/vampire.dm b/code/datums/spell_handler/vampire.dm
index 837976a6130..aee63cc9e4e 100644
--- a/code/datums/spell_handler/vampire.dm
+++ b/code/datums/spell_handler/vampire.dm
@@ -13,21 +13,21 @@
if(user.stat >= DEAD) // TODO check if needed
if(show_message)
- to_chat(user, "Not while you're dead!")
+ to_chat(user, SPAN_WARNING("Not while you're dead!"))
return FALSE
if(vampire.nullified >= VAMPIRE_COMPLETE_NULLIFICATION && !fullpower) // above 100 nullification vampire powers are useless
if(show_message)
- to_chat(user, "Something is blocking your powers!")
+ to_chat(user, SPAN_WARNING("Something is blocking your powers!"))
return FALSE
if(vampire.bloodusable < required_blood)
if(show_message)
- to_chat(user, "You require at least [required_blood] units of usable blood to do that!")
+ to_chat(user, SPAN_WARNING("You require at least [required_blood] units of usable blood to do that!"))
return FALSE
//chapel check
if(istype(get_area(user), /area/station/service/chapel) && !fullpower)
if(show_message)
- to_chat(user, "Your powers are useless on this holy ground.")
+ to_chat(user, SPAN_WARNING("Your powers are useless on this holy ground."))
return FALSE
return TRUE
@@ -50,6 +50,6 @@
if(!required_blood)
return
var/datum/antagonist/vampire/vampire = user.mind.has_antag_datum(/datum/antagonist/vampire)
- to_chat(user, "You have [vampire.bloodusable] left to use.")
+ to_chat(user, SPAN_BOLDNOTICE("You have [vampire.bloodusable] left to use."))
SSblackbox.record_feedback("tally", "vampire_powers_used", 1, "[spell]") // Only log abilities which require blood
diff --git a/code/datums/spell_targeting/spell_targeting.dm b/code/datums/spell_targeting/spell_targeting.dm
index 5183dd73fb4..71f990364fd 100644
--- a/code/datums/spell_targeting/spell_targeting.dm
+++ b/code/datums/spell_targeting/spell_targeting.dm
@@ -50,7 +50,7 @@
target = A
if(target)
- to_chat(user, "Only one target found. Casting [spell] on [target]!")
+ to_chat(user, SPAN_WARNING("Only one target found. Casting [spell] on [target]!"))
spell.try_perform(list(target), user)
return TRUE
return FALSE
diff --git a/code/datums/spells/alien_spells/basetype_alien_touch.dm b/code/datums/spells/alien_spells/basetype_alien_touch.dm
index a035affec2d..de0bc476ffd 100644
--- a/code/datums/spells/alien_spells/basetype_alien_touch.dm
+++ b/code/datums/spells/alien_spells/basetype_alien_touch.dm
@@ -23,7 +23,7 @@
/datum/spell/touch/alien_spell/Click(mob/user = usr)
if(attached_hand)
- to_chat(user, "You withdraw your [src].")
+ to_chat(user, SPAN_NOTICEALIEN("You withdraw your [src]."))
..()
/datum/spell/touch/alien_spell/write_custom_logs(list/targets, mob/user)
diff --git a/code/datums/spells/alien_spells/build_resin_structure.dm b/code/datums/spells/alien_spells/build_resin_structure.dm
index 0d1cb5d8366..dfe7a50cf6f 100644
--- a/code/datums/spells/alien_spells/build_resin_structure.dm
+++ b/code/datums/spells/alien_spells/build_resin_structure.dm
@@ -24,15 +24,15 @@
revert_cast()
return
if(isspaceturf(turf_to_spawn_at))
- to_chat(user, "You cannot build the [choice] while in space!")
+ to_chat(user, SPAN_ALERTALIEN("You cannot build the [choice] while in space!"))
revert_cast(user)
return
var/obj/structure/alien/resin/resin_on_turf = locate() in turf_to_spawn_at
if(resin_on_turf)
- to_chat(user, "There is already a resin construction here.")
+ to_chat(user, SPAN_DANGER("There is already a resin construction here."))
revert_cast(user)
return
- user.visible_message("[user] vomits up a thick purple substance and shapes it!")
+ user.visible_message(SPAN_ALERTALIEN("[user] vomits up a thick purple substance and shapes it!"))
switch(choice)
if(RESIN_WALL)
new /obj/structure/alien/resin/wall(turf_to_spawn_at)
@@ -57,7 +57,7 @@
/obj/item/melee/touch_attack/alien/consume_resin/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
if(target == user)
- to_chat(user, "You stop trying to consume resin.")
+ to_chat(user, SPAN_NOTICEALIEN("You stop trying to consume resin."))
return
if(!proximity_flag || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return
@@ -66,19 +66,19 @@
qdel(target)
if(istype(target, /obj/structure/alien/weeds/node))
C.add_plasma(50)
- C.visible_message("[C] rips and tears into [target] with their teeth!", "You viciously rip apart and consume [target]!")
+ C.visible_message(SPAN_ALERTALIEN("[C] rips and tears into [target] with their teeth!"), SPAN_ALERTALIEN("You viciously rip apart and consume [target]!"))
return
if(!plasma_check(10, C))
- to_chat(C, "You don't have enough plasma to perform this action!")
+ to_chat(C, SPAN_NOTICEALIEN("You don't have enough plasma to perform this action!"))
return
var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest)
for(var/resin_type in resin_objects)
if(!istype(target, resin_type))
continue
- C.visible_message("[C] rips and tears into [target] with their teeth!")
+ C.visible_message(SPAN_ALERTALIEN("[C] rips and tears into [target] with their teeth!"))
if(!do_after(C, 3 SECONDS, target = target))
return
- to_chat(C, "You viciously rip apart and consume [target]!")
+ to_chat(C, SPAN_ALERTALIEN("You viciously rip apart and consume [target]!"))
C.add_plasma(-10)
qdel(target)
handle_delete(user)
diff --git a/code/datums/spells/alien_spells/corrosive_acid_spit.dm b/code/datums/spells/alien_spells/corrosive_acid_spit.dm
index 3e03006e279..d8e4de19e8e 100644
--- a/code/datums/spells/alien_spells/corrosive_acid_spit.dm
+++ b/code/datums/spells/alien_spells/corrosive_acid_spit.dm
@@ -14,27 +14,27 @@
/obj/item/melee/touch_attack/alien/corrosive_acid/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
if(target == user)
- to_chat(user, "You withdraw your readied acid.")
+ to_chat(user, SPAN_NOTICEALIEN("You withdraw your readied acid."))
return
if(!proximity_flag || isalien(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) // Don't want xenos ditching out of cuffs
return
var/mob/living/carbon/C = user
if(!plasma_check(200, C))
- to_chat(C, "You don't have enough plasma to perform this action!")
+ to_chat(C, SPAN_NOTICEALIEN("You don't have enough plasma to perform this action!"))
return
var/acid_damage_modifier = 100
if(isliving(target))
acid_damage_modifier = 50
if(target.acid_act(2 * acid_damage_modifier, acid_damage_modifier))
- visible_message("[C] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!")
+ visible_message(SPAN_ALERTALIEN("[C] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!"))
add_attack_logs(C, target, "Applied corrosive acid") // Want this logged
C.add_plasma(-200)
else
- to_chat(C, "You cannot dissolve this object.")
+ to_chat(C, SPAN_NOTICEALIEN("You cannot dissolve this object."))
handle_delete(user)
/obj/item/melee/touch_attack/alien/corrosive_acid/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is dripping with vile corrosive goo!"
+ return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is dripping with vile corrosive goo!")
/datum/spell/touch/alien_spell/burning_touch
name = "Blazing touch"
@@ -52,13 +52,13 @@
/obj/item/melee/touch_attack/alien/burning_touch/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
if(target == user)
- to_chat(user, "You cool down your boiled aid.")
+ to_chat(user, SPAN_NOTICEALIEN("You cool down your boiled aid."))
return
if(!proximity_flag || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return
var/mob/living/carbon/C = user
if(!plasma_check(100, C))
- to_chat(C, "You don't have enough plasma to perform this action!")
+ to_chat(C, SPAN_NOTICEALIEN("You don't have enough plasma to perform this action!"))
return
if(isliving(target))
var/mob/living/guy_to_burn = target
@@ -66,18 +66,18 @@
guy_to_burn.adjustFireLoss(60)
guy_to_burn.adjust_fire_stacks(3)
guy_to_burn.IgniteMob()
- C.visible_message("[C] touches [target] and a fireball erupts on contact!")
+ C.visible_message(SPAN_ALERTALIEN("[C] touches [target] and a fireball erupts on contact!"))
C.add_plasma(-100)
else
var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest)
for(var/resin_type in resin_objects)
if(!istype(target, resin_type))
continue
- C.visible_message("[C] touches [target] and burns right through it!")
+ C.visible_message(SPAN_ALERTALIEN("[C] touches [target] and burns right through it!"))
C.add_plasma(-100)
qdel(target)
handle_delete(user)
/obj/item/melee/touch_attack/alien/burning_touch/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] has a shimmering mirage around it!"
+ return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] has a shimmering mirage around it!")
diff --git a/code/datums/spells/alien_spells/larva_evolve.dm b/code/datums/spells/alien_spells/larva_evolve.dm
index b10f7d1bebe..b98519f2aa8 100644
--- a/code/datums/spells/alien_spells/larva_evolve.dm
+++ b/code/datums/spells/alien_spells/larva_evolve.dm
@@ -12,18 +12,18 @@
return
if(user.handcuffed || user.legcuffed)
- to_chat(user, "You cannot evolve when you are cuffed.")
+ to_chat(user, SPAN_WARNING("You cannot evolve when you are cuffed."))
return
if(user.amount_grown < user.max_grown)
- to_chat(user, "You are not fully grown.")
+ to_chat(user, SPAN_WARNING("You are not fully grown."))
return
//green is impossible to read, so i made these blue and changed the formatting slightly
- to_chat(user, "You are growing into a beautiful alien! It is time to choose a caste.")
- to_chat(user, "There are three to choose from:")
- to_chat(user, "Hunters are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.")
- to_chat(user, "Sentinels are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.")
- to_chat(user, "Drones are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.")
+ to_chat(user, SPAN_BOLDNOTICE("You are growing into a beautiful alien! It is time to choose a caste."))
+ to_chat(user, SPAN_NOTICE("There are three to choose from:"))
+ to_chat(user, "Hunters [SPAN_NOTICE("are strong and agile, able to hunt away from the hive and rapidly move through ventilation shafts. Hunters generate plasma slowly and have low reserves.")]")
+ to_chat(user, "Sentinels [SPAN_NOTICE("are tasked with protecting the hive and are deadly up close and at a range. They are not as physically imposing nor fast as the hunters.")]")
+ to_chat(user, "Drones [SPAN_NOTICE("are the working class, offering the largest plasma storage and generation. They are the only caste which may evolve again, turning into the dreaded alien queen.")]")
var/static/list/to_evolve = list("Hunter" = image(icon = 'icons/mob/alien.dmi', icon_state = "alienh_s"),
"Sentinel" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliens_s"),
"Drone" = image(icon = 'icons/mob/alien.dmi', icon_state = "aliend_s"))
diff --git a/code/datums/spells/alien_spells/lay_alien_eggs.dm b/code/datums/spells/alien_spells/lay_alien_eggs.dm
index bd8bb45d5da..ed4761566bd 100644
--- a/code/datums/spells/alien_spells/lay_alien_eggs.dm
+++ b/code/datums/spells/alien_spells/lay_alien_eggs.dm
@@ -30,10 +30,10 @@
target.color = "#c72623"
addtimer(CALLBACK(src, PROC_REF(blow_it_up), target, user), 3 SECONDS)
- to_chat(user, "[target] will explode in 3 seconds!")
+ to_chat(user, SPAN_NOTICEALIEN("[target] will explode in 3 seconds!"))
return TRUE
/datum/spell/alien_spell/combust_facehuggers/proc/blow_it_up(obj/target, mob/user)
add_attack_logs(user, target, "Caused it to explode")
explosion(get_turf(target), 0, 2, 3, 3, cause = "[user.ckey]: [name]")
- to_chat(user, "[target] has detonated!")
+ to_chat(user, SPAN_NOTICEALIEN("[target] has detonated!"))
diff --git a/code/datums/spells/alien_spells/neurotoxin_spit.dm b/code/datums/spells/alien_spells/neurotoxin_spit.dm
index 79290eacacf..16f1166a995 100644
--- a/code/datums/spells/alien_spells/neurotoxin_spit.dm
+++ b/code/datums/spells/alien_spells/neurotoxin_spit.dm
@@ -3,8 +3,8 @@
desc = "This ability allows you to fire some neurotoxin. Knocks down anyone you hit, applying a small amount of stamina damage as well."
base_cooldown = 3 SECONDS
plasma_cost = 50
- selection_activated_message = "Your prepare some neurotoxin!"
- selection_deactivated_message = "You swallow your prepared neurotoxin."
+ selection_activated_message = SPAN_NOTICE("Your prepare some neurotoxin!")
+ selection_deactivated_message = SPAN_NOTICE("You swallow your prepared neurotoxin.")
var/neurotoxin_type = /obj/projectile/bullet/neurotoxin
action_icon_state = "alien_neurotoxin_0"
diff --git a/code/datums/spells/alien_spells/plasma_weeds.dm b/code/datums/spells/alien_spells/plasma_weeds.dm
index 4be86a5ca08..70761992b92 100644
--- a/code/datums/spells/alien_spells/plasma_weeds.dm
+++ b/code/datums/spells/alien_spells/plasma_weeds.dm
@@ -13,24 +13,24 @@
/datum/spell/alien_spell/plant_weeds/cast(list/targets, mob/living/carbon/user)
var/turf/T = user.loc
if(locate(weed_type) in T)
- to_chat(user, "There's already \a [weed_name] here.")
+ to_chat(user, SPAN_NOTICEALIEN("There's already \a [weed_name] here."))
revert_cast()
return
if(isspaceturf(T))
- to_chat(user, "You cannot plant [weed_name]s in space.")
+ to_chat(user, SPAN_NOTICEALIEN("You cannot plant [weed_name]s in space."))
revert_cast()
return
if(!isturf(T))
- to_chat(user, "You cannot plant [weed_name]s inside something!")
+ to_chat(user, SPAN_NOTICEALIEN("You cannot plant [weed_name]s inside something!"))
revert_cast()
return
- user.visible_message("Vines burst from the back of [user], securing themselves to the ground and swarming onto [user.loc].", "You begin infesting [user.loc] with [initial(weed_type.name)].")
+ user.visible_message(SPAN_WARNING("Vines burst from the back of [user], securing themselves to the ground and swarming onto [user.loc]."), SPAN_WARNING("You begin infesting [user.loc] with [initial(weed_type.name)]."))
if(requires_do_after && !do_mob(user, user, 2 SECONDS))
revert_cast()
return
- user.visible_message("[user] has planted \a [weed_name]!")
+ user.visible_message(SPAN_ALERTALIEN("[user] has planted \a [weed_name]!"))
new weed_type(T)
diff --git a/code/datums/spells/alien_spells/queen_evolve.dm b/code/datums/spells/alien_spells/queen_evolve.dm
index fc330630666..9bf33380edc 100644
--- a/code/datums/spells/alien_spells/queen_evolve.dm
+++ b/code/datums/spells/alien_spells/queen_evolve.dm
@@ -11,12 +11,12 @@
/// First we check if there is a living queen
for(var/mob/living/carbon/alien/humanoid/queen/living_queen in GLOB.alive_mob_list)
if(living_queen.key || !living_queen.get_int_organ(/obj/item/organ/internal/brain)) // We do a once over to check the queen didn't end up going away into the magic land of semi-dead
- to_chat(user, "We already have a living queen.")
+ to_chat(user, SPAN_NOTICE("We already have a living queen."))
revert_cast(user)
return
// If there is no queen, that means we can evolve
- to_chat(user, "You begin to evolve!")
- user.visible_message("[user] begins to twist and contort!")
+ to_chat(user, SPAN_NOTICEALIEN("You begin to evolve!"))
+ user.visible_message(SPAN_ALERTALIEN("[user] begins to twist and contort!"))
var/mob/living/carbon/alien/humanoid/queen/new_xeno = new(get_turf(user))
user.mind.transfer_to(new_xeno)
new_xeno.mind.name = new_xeno.name
diff --git a/code/datums/spells/alien_spells/regurgitate.dm b/code/datums/spells/alien_spells/regurgitate.dm
index 4e91808e931..7dfb56aef0e 100644
--- a/code/datums/spells/alien_spells/regurgitate.dm
+++ b/code/datums/spells/alien_spells/regurgitate.dm
@@ -13,6 +13,6 @@
return
user.stomach_contents -= M
M.forceMove(output_loc)
- user.visible_message("[user] hurls out the contents of [p_their()] stomach!")
+ user.visible_message(SPAN_ALERTALIEN("[user] hurls out the contents of [p_their()] stomach!"))
return
- user.visible_message("[user] dry heaves!")
+ user.visible_message(SPAN_ALERTALIEN("[user] dry heaves!"))
diff --git a/code/datums/spells/alien_spells/tail_lash.dm b/code/datums/spells/alien_spells/tail_lash.dm
index 929d0ed9532..3bf0cdc71ce 100644
--- a/code/datums/spells/alien_spells/tail_lash.dm
+++ b/code/datums/spells/alien_spells/tail_lash.dm
@@ -16,7 +16,7 @@
for(var/mob/living/to_knock_down in orange(1, user))
if(to_knock_down.KnockDown(10 SECONDS))
cast_resolved = TRUE
- to_knock_down.visible_message("[user] sweeps [to_knock_down] off their feet!")
+ to_knock_down.visible_message(SPAN_NOTICEALIEN("[user] sweeps [to_knock_down] off their feet!"))
if(!cast_resolved)
revert_cast()
diff --git a/code/datums/spells/alien_spells/transfer_plasma.dm b/code/datums/spells/alien_spells/transfer_plasma.dm
index 4123f0334c4..10ae8e2ce53 100644
--- a/code/datums/spells/alien_spells/transfer_plasma.dm
+++ b/code/datums/spells/alien_spells/transfer_plasma.dm
@@ -16,8 +16,8 @@
user.Beam(target, icon_state = "sendbeam", time = 2 SECONDS, beam_color = "#f180bd")
target.add_plasma(50)
- to_chat(user, "You have transferred 50 plasma to [target].")
- to_chat(target, "[user] has transferred 50 plasma to you!")
+ to_chat(user, SPAN_NOTICEALIEN("You have transferred 50 plasma to [target]."))
+ to_chat(target, SPAN_NOTICEALIEN("[user] has transferred 50 plasma to you!"))
return TRUE
/datum/spell/alien_spell/syphon_plasma
@@ -49,6 +49,6 @@
user.add_plasma(150)
plasma_syphoned = 50
vessel.stored_plasma = vessel.stored_plasma - 150
- to_chat(user, "You have syphoned [plasma_syphoned] plasma from [target].")
- to_chat(target, "[user] has syphoned [plasma_syphoned] from you!")
+ to_chat(user, SPAN_NOTICEALIEN("You have syphoned [plasma_syphoned] plasma from [target]."))
+ to_chat(target, SPAN_NOTICEALIEN("[user] has syphoned [plasma_syphoned] from you!"))
return TRUE
diff --git a/code/datums/spells/alien_spells/whisper.dm b/code/datums/spells/alien_spells/whisper.dm
index a280b63719a..394fbcc3627 100644
--- a/code/datums/spells/alien_spells/whisper.dm
+++ b/code/datums/spells/alien_spells/whisper.dm
@@ -23,6 +23,6 @@
return
log_say("(AWHISPER to [key_name(target)]) [msg]", user)
to_chat(target, "You hear a strange, alien voice in your head... [msg]")
- to_chat(user, "You said: [msg] to [target]")
+ to_chat(user, SPAN_NOTICEALIEN("You said: [msg] to [target]"))
for(var/mob/dead/observer/ghosts in GLOB.player_list)
ghosts.show_message("Alien message from [user] ([ghost_follow_link(user, ghost=ghosts)]) to [target] ([ghost_follow_link(target, ghost=ghosts)]): [msg]")
diff --git a/code/datums/spells/banana_touch.dm b/code/datums/spells/banana_touch.dm
index 9d3d27ba953..181892660d9 100644
--- a/code/datums/spells/banana_touch.dm
+++ b/code/datums/spells/banana_touch.dm
@@ -27,7 +27,7 @@
. = ..()
if(is_apprentice_spell && iswizard(target) && target != user)
- to_chat(user, "Seriously?! Honk THEM, not me!")
+ to_chat(user, SPAN_DANGER("Seriously?! Honk THEM, not me!"))
return
if(!proximity_flag || target == user || blocked_by_antimagic || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return
diff --git a/code/datums/spells/bloodcrawl.dm b/code/datums/spells/bloodcrawl.dm
index 1314f938e32..cf91f237050 100644
--- a/code/datums/spells/bloodcrawl.dm
+++ b/code/datums/spells/bloodcrawl.dm
@@ -84,7 +84,7 @@
/datum/spell/bloodcrawl/proc/block_hands(mob/living/carbon/C)
if(C.l_hand || C.r_hand)
- to_chat(C, "You may not hold items while blood crawling!")
+ to_chat(C, SPAN_WARNING("You may not hold items while blood crawling!"))
return FALSE
var/obj/item/bloodcrawl/B1 = new(C)
var/obj/item/bloodcrawl/B2 = new(C)
@@ -107,8 +107,8 @@
/datum/spell/bloodcrawl/proc/sink_animation(atom/A, mob/living/L)
var/turf/mob_loc = get_turf(L)
mob_loc.visible_message(
- "[L] sinks into [A].",
- "You hear something sinking into a thick liquid."
+ SPAN_DANGER("[L] sinks into [A]."),
+ SPAN_DANGER("You hear something sinking into a thick liquid.")
)
playsound(mob_loc, 'sound/misc/enter_blood.ogg', 100, TRUE, -1)
new /obj/effect/temp_visual/dir_setting/bloodcrawl(mob_loc, L.dir, "jaunt")
@@ -121,8 +121,8 @@
return
if(victim.stat == CONSCIOUS)
A.visible_message(
- "[victim] kicks free of [A] just before entering it!",
- "You hear something sinking into a thick liquid and someone struggling!"
+ SPAN_WARNING("[victim] kicks free of [A] just before entering it!"),
+ SPAN_WARNING("You hear something sinking into a thick liquid and someone struggling!")
)
L.stop_pulling()
return
@@ -130,14 +130,14 @@
victim.forceMove(holder)
victim.emote("scream")
A.visible_message(
- "[L] drags [victim] into [A]!",
- "You hear something being dragged into a thick liquid!"
+ SPAN_DANGER("[L] drags [victim] into [A]!"),
+ SPAN_DANGER("You hear something being dragged into a thick liquid!")
)
L.stop_pulling()
to_chat(L, "You begin to feast on [victim]. You cannot move while you are doing this.")
A.visible_message(
- "Loud eating sounds come from the blood...",
- "The sound of torn flesh and snapping bones fills the air..."
+ SPAN_DANGER("Loud eating sounds come from the blood..."),
+ SPAN_DANGER("The sound of torn flesh and snapping bones fills the air...")
)
var/sound
if(isslaughterdemon(L))
@@ -151,21 +151,21 @@
sleep(3 SECONDS)
if(!victim)
- to_chat(L, "You happily devour... nothing? Your meal vanished at some point!")
+ to_chat(L, SPAN_DANGER("You happily devour... nothing? Your meal vanished at some point!"))
return
if(victim.mind)
- to_chat(L, "You devour [victim]. Your health is fully restored.")
+ to_chat(L, SPAN_WARNING("You devour [victim]. Your health is fully restored."))
L.adjustBruteLoss(-1000)
L.adjustFireLoss(-1000)
L.adjustOxyLoss(-1000)
L.adjustToxLoss(-1000)
else if((ishuman(victim) || isrobot(victim)))
- to_chat(L, "You devour [victim], but their lack of intelligence renders their flesh dull and unappetizing, leaving you wanting for more.")
+ to_chat(L, SPAN_WARNING("You devour [victim], but their lack of intelligence renders their flesh dull and unappetizing, leaving you wanting for more."))
L.adjustBruteLoss(-50)
if(!isslaughterdemon(L))
L.adjustFireLoss(-50)
else if(isanimal_or_basicmob(victim))
- to_chat(L, "You devour [victim], but this measly meal barely sates your appetite!")
+ to_chat(L, SPAN_WARNING("You devour [victim], but this measly meal barely sates your appetite!"))
L.adjustBruteLoss(-25)
if(!isslaughterdemon(L))
L.adjustFireLoss(-25)
@@ -173,7 +173,7 @@
if(isslaughterdemon(L))
var/mob/living/basic/demon/slaughter/demon = L
demon.devoured++
- to_chat(victim, "You feel teeth sink into your flesh, and the--")
+ to_chat(victim, SPAN_USERDANGER("You feel teeth sink into your flesh, and the--"))
var/obj/item/organ/internal/regenerative_core/legion/core = victim.get_int_organ(/obj/item/organ/internal/regenerative_core/legion)
if(core)
core.remove(victim)
@@ -217,8 +217,8 @@
var/list/voice = list('sound/hallucinations/behind_you1.ogg', 'sound/hallucinations/im_here1.ogg', 'sound/hallucinations/turn_around1.ogg', 'sound/hallucinations/i_see_you1.ogg')
playsound(tele_loc, pick(voice),50, TRUE, -1)
A.visible_message(
- "[L] rises out of [A]!",
- "You hear something rising out of a thick liquid!"
+ SPAN_DANGER("[L] rises out of [A]!"),
+ SPAN_DANGER("You hear something rising out of a thick liquid!")
)
playsound(get_turf(tele_loc), 'sound/misc/exit_blood.ogg', 100, TRUE, -1)
@@ -230,8 +230,8 @@
/datum/spell/bloodcrawl/proc/rise_message(atom/A)
A.visible_message(
- "[A] starts to bubble...",
- "You can hear bubbling..."
+ SPAN_DANGER("[A] starts to bubble..."),
+ SPAN_DANGER("You can hear bubbling...")
)
/datum/spell/bloodcrawl/proc/post_phase_out(atom/A, mob/living/L)
@@ -246,7 +246,7 @@
/datum/spell/bloodcrawl/proc/phasein(atom/A, mob/living/L)
if(L.notransform)
- to_chat(L, "Finish eating first!")
+ to_chat(L, SPAN_WARNING("Finish eating first!"))
return FALSE
rise_message(A)
if(!do_after(L, 2 SECONDS, target = A))
@@ -280,7 +280,7 @@
return ..()
if(current_demon.block_shadow_crawl)
- to_chat(user, "You are too concentrated to activate [name].")
+ to_chat(user, SPAN_WARNING("You are too concentrated to activate [name]."))
return FALSE
return ..()
@@ -298,7 +298,7 @@
return
/datum/spell/bloodcrawl/shadow_crawl/sink_animation(atom/A, mob/living/L)
- A.visible_message("[L] sinks into the shadows...")
+ A.visible_message(SPAN_DANGER("[L] sinks into the shadows..."))
new /obj/effect/temp_visual/dir_setting/bloodcrawl(get_turf(L), L.dir, "shadowwalk_disappear")
/datum/spell/bloodcrawl/shadow_crawl/post_phase_in(mob/living/L, obj/effect/dummy/slaughter/holder)
diff --git a/code/datums/spells/chaplain_bless.dm b/code/datums/spells/chaplain_bless.dm
index fab3e98b5fd..55b44def1ce 100644
--- a/code/datums/spells/chaplain_bless.dm
+++ b/code/datums/spells/chaplain_bless.dm
@@ -8,8 +8,8 @@
invocation = "none"
antimagic_flags = NONE
- selection_activated_message = "You prepare a blessing. Click on a target to start blessing."
- selection_deactivated_message = "The crew will be blessed another time."
+ selection_activated_message = SPAN_NOTICE("You prepare a blessing. Click on a target to start blessing.")
+ selection_deactivated_message = SPAN_NOTICE("The crew will be blessed another time.")
cooldown_min = 20
action_icon_state = "shield"
@@ -42,9 +42,9 @@
spawn(0) // allows cast to complete even if recipient ignores the prompt
if(tgui_alert(target, "[user] wants to bless you, in the name of [user.p_their()] religion. Accept?", "Accept Blessing?", list("Yes", "No")) == "Yes") // prevents forced conversions
- user.visible_message("[user] starts blessing [target] in the name of [SSticker.Bible_deity_name].", "You start blessing [target] in the name of [SSticker.Bible_deity_name].")
+ user.visible_message("[user] starts blessing [target] in the name of [SSticker.Bible_deity_name].", SPAN_NOTICE("You start blessing [target] in the name of [SSticker.Bible_deity_name]."))
if(do_after(user, 150, target = target))
- user.visible_message("[user] has blessed [target] in the name of [SSticker.Bible_deity_name].", "You have blessed [target] in the name of [SSticker.Bible_deity_name].")
+ user.visible_message("[user] has blessed [target] in the name of [SSticker.Bible_deity_name].", SPAN_NOTICE("You have blessed [target] in the name of [SSticker.Bible_deity_name]."))
if(!target.mind.isblessed)
target.mind.isblessed = TRUE
user.mind.num_blessed++
diff --git a/code/datums/spells/charge.dm b/code/datums/spells/charge.dm
index 851f919480c..405a794a032 100644
--- a/code/datums/spells/charge.dm
+++ b/code/datums/spells/charge.dm
@@ -25,9 +25,9 @@
if(M.mind)
for(var/datum/spell/S in M.mind.spell_list)
S.cooldown_handler.revert_cast()
- to_chat(M, "You feel raw magical energy flowing through you, it feels good!")
+ to_chat(M, SPAN_NOTICE("You feel raw magical energy flowing through you, it feels good!"))
else
- to_chat(M, "You feel very strange for a moment, but then it passes.")
+ to_chat(M, SPAN_NOTICE("You feel very strange for a moment, but then it passes."))
burnt_out = TRUE
charged_item = M
break
@@ -36,20 +36,20 @@
if(istype(item, /obj/item/spellbook/oneuse))
var/obj/item/spellbook/oneuse/I = item
if(prob(80))
- L.visible_message("[I] catches fire!")
+ L.visible_message(SPAN_WARNING("[I] catches fire!"))
qdel(I)
else
I.used = FALSE
charged_item = I
break
else
- to_chat(L, "Glowing red letters appear on the front cover...")
- to_chat(L, "[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]")
+ to_chat(L, SPAN_CAUTION("Glowing red letters appear on the front cover..."))
+ to_chat(L, SPAN_WARNING("[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]"))
burnt_out = TRUE
else if(istype(item, /obj/item/book/granter))
var/obj/item/book/granter/I = item
if(prob(80))
- L.visible_message("[I] catches fire!")
+ L.visible_message(SPAN_WARNING("[I] catches fire!"))
qdel(I)
else
I.uses += 1
@@ -84,8 +84,8 @@
charged_item = item
break
if(!charged_item)
- to_chat(L, "You feel magical power surging to your hands, but the feeling rapidly fades...")
+ to_chat(L, SPAN_NOTICE("You feel magical power surging to your hands, but the feeling rapidly fades..."))
else if(burnt_out)
- to_chat(L, "[charged_item] doesn't seem to be reacting to the spell...")
+ to_chat(L, SPAN_CAUTION("[charged_item] doesn't seem to be reacting to the spell..."))
else
- to_chat(L, "[charged_item] suddenly feels very warm!")
+ to_chat(L, SPAN_NOTICE("[charged_item] suddenly feels very warm!"))
diff --git a/code/datums/spells/charge_up.dm b/code/datums/spells/charge_up.dm
index 1d1d6fad2b0..faab8736fef 100644
--- a/code/datums/spells/charge_up.dm
+++ b/code/datums/spells/charge_up.dm
@@ -37,18 +37,18 @@
var/energy_perc = get_energy_charge() / max_charge_time
if(energy_perc < 0.5)
cooldown_handler.start_recharge((1 - energy_perc) * cooldown_handler.recharge_duration) // Shorten the cooldown based on how long it was charged for.
- to_chat(user, "[stop_charging_text]")
+ to_chat(user, SPAN_NOTICE("[stop_charging_text]"))
Reset(user)
return TRUE
else
- to_chat(user, "[stop_charging_fail_text]")
+ to_chat(user, SPAN_DANGER("[stop_charging_fail_text]"))
return FALSE
/datum/spell/charge_up/proc/get_energy_charge()
return min(world.time - start_time, max_charge_time)
/datum/spell/charge_up/proc/StartChargeup(mob/user)
- to_chat(user, "[start_charging_text]")
+ to_chat(user, SPAN_NOTICE("[start_charging_text]"))
user.add_overlay(charge_up_overlay)
playsound(user, charge_sound, 50, FALSE, channel = charge_sound.channel)
start_time = world.time
@@ -70,7 +70,7 @@
..()
/datum/spell/charge_up/proc/Discharge(mob/user)
- to_chat(user, "You lose control over the spell!")
+ to_chat(user, SPAN_DANGER("You lose control over the spell!"))
Reset(user)
spend_spell_cost(user)
cooldown_handler.start_recharge()
diff --git a/code/datums/spells/cluwne.dm b/code/datums/spells/cluwne.dm
index 76de292c341..3e3b9981ea6 100644
--- a/code/datums/spells/cluwne.dm
+++ b/code/datums/spells/cluwne.dm
@@ -14,7 +14,7 @@
if(istype(wear_suit, /obj/item/clothing/suit/mod)) // Check if the modsuit is deployed
modsuit_control.active = FALSE // Instantly deactivate the modsuit - if it was activated
modsuit_control.quick_deploy(src) // The modsuit is no longer deployed
- to_chat(src, "You feel funny.")
+ to_chat(src, SPAN_DANGER("You feel funny."))
if(!get_int_organ(/obj/item/organ/internal/brain/cluwne))
var/obj/item/organ/internal/brain/cluwne/idiot_brain = new
idiot_brain.insert(src, make_cluwne = 0)
@@ -44,7 +44,7 @@
equip_to_slot_if_possible(new /obj/item/clothing/shoes/cursedclown, ITEM_SLOT_SHOES, TRUE, TRUE)
/mob/living/carbon/human/proc/makeAntiCluwne()
- to_chat(src, "You don't feel very funny.")
+ to_chat(src, SPAN_DANGER("You don't feel very funny."))
adjustBrainLoss(-120)
set_nutrition(NUTRITION_LEVEL_STARVING)
overeatduration = 0
diff --git a/code/datums/spells/disguise_self.dm b/code/datums/spells/disguise_self.dm
index 6b847508499..c0a0da0ce99 100644
--- a/code/datums/spells/disguise_self.dm
+++ b/code/datums/spells/disguise_self.dm
@@ -19,13 +19,13 @@
var/mob/living/carbon/human/H = user
H.emote("spin")
- to_chat(H, "You start spinning in place and casting [src]...")
+ to_chat(H, SPAN_NOTICE("You start spinning in place and casting [src]..."))
if(do_after(H, 2 SECONDS, FALSE, H))
finish_disguise(H)
return TRUE
else
H.slip("your own foot", 1 SECONDS, 0, 0, 1, "trip")
- to_chat(H, "You must stand still to cast [src]!")
+ to_chat(H, SPAN_DANGER("You must stand still to cast [src]!"))
return FALSE
/datum/spell/disguise_self/proc/finish_disguise(mob/living/carbon/human/H)
diff --git a/code/datums/spells/ethereal_jaunt.dm b/code/datums/spells/ethereal_jaunt.dm
index 5779e346cd1..6945881d46b 100644
--- a/code/datums/spells/ethereal_jaunt.dm
+++ b/code/datums/spells/ethereal_jaunt.dm
@@ -26,7 +26,7 @@
if(SEND_SIGNAL(target, COMSIG_MOB_PRE_JAUNT, target) & COMPONENT_BLOCK_JAUNT)
continue
if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains
- to_chat(target, "You are somehow too bound to your current location to abandon it.")
+ to_chat(target, SPAN_WARNING("You are somehow too bound to your current location to abandon it."))
continue
INVOKE_ASYNC(src, PROC_REF(do_jaunt), target)
@@ -103,7 +103,7 @@
forceMove(newLoc)
return
if(!IS_DIR_DIAGONAL(direction))
- to_chat(user, "Something is blocking the way!")
+ to_chat(user, SPAN_WARNING("Something is blocking the way!"))
return
var/turf/possible_1 = get_step(src, turn(direction, 45))
var/turf/possible_2 = get_step(src, turn(direction, -45))
@@ -113,7 +113,7 @@
if(can_move(possible_2))
forceMove(possible_2)
return
- to_chat(user, "Something is blocking the way!")
+ to_chat(user, SPAN_WARNING("Something is blocking the way!"))
/obj/effect/dummy/spell_jaunt/proc/can_move(turf/T)
return TRUE
diff --git a/code/datums/spells/horsemask.dm b/code/datums/spells/horsemask.dm
index 8c3ff442c3d..ecb5eb9f555 100644
--- a/code/datums/spells/horsemask.dm
+++ b/code/datums/spells/horsemask.dm
@@ -7,8 +7,8 @@
invocation_type = "shout"
cooldown_min = 30 //30 deciseconds reduction per rank
- selection_activated_message = "You start to quietly neigh an incantation. Click on or near a target to cast the spell."
- selection_deactivated_message = "You stop neighing to yourself."
+ selection_activated_message = SPAN_NOTICE("You start to quietly neigh an incantation. Click on or near a target to cast the spell.")
+ selection_deactivated_message = SPAN_NOTICE("You stop neighing to yourself.")
action_icon_state = "barn"
sound = 'sound/magic/HorseHead_curse.ogg'
@@ -21,16 +21,16 @@
/datum/spell/horsemask/cast(list/targets, mob/user = usr)
if(!length(targets))
- to_chat(user, "No target found in range.")
+ to_chat(user, SPAN_NOTICE("No target found in range."))
return
var/mob/living/carbon/human/target = targets[1]
if(target.can_block_magic(antimagic_flags))
- target.visible_message("[target]'s face bursts into flames, which instantly burst outward, leaving [target.p_them()] unharmed!",
- "Your face starts burning up, but the flames are repulsed by your anti-magic protection!",
+ target.visible_message(SPAN_DANGER("[target]'s face bursts into flames, which instantly burst outward, leaving [target.p_them()] unharmed!"),
+ SPAN_DANGER("Your face starts burning up, but the flames are repulsed by your anti-magic protection!"),
)
- to_chat(user, "The spell had no effect!")
+ to_chat(user, SPAN_WARNING("The spell had no effect!"))
return FALSE
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
@@ -38,8 +38,8 @@
magichead.set_nodrop(TRUE)
magichead.flags_inv = null //so you can still see their face
magichead.voicechange = TRUE //NEEEEIIGHH
- target.visible_message( "[target]'s face lights up in fire, and after the event a horse's head takes its place!", \
- "Your face burns up, and shortly after the fire you realize you have the face of a horse!")
+ target.visible_message( SPAN_DANGER("[target]'s face lights up in fire, and after the event a horse's head takes its place!"), \
+ SPAN_DANGER("Your face burns up, and shortly after the fire you realize you have the face of a horse!"))
if(!target.drop_item_to_ground(target.wear_mask))
qdel(target.wear_mask)
target.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE)
diff --git a/code/datums/spells/inspectors_gaze.dm b/code/datums/spells/inspectors_gaze.dm
index 6e52ea3936b..e37d778eee3 100644
--- a/code/datums/spells/inspectors_gaze.dm
+++ b/code/datums/spells/inspectors_gaze.dm
@@ -3,8 +3,8 @@
desc = "Let the crew know that they're being watched and inspected."
base_cooldown = 6 SECONDS
clothes_req = FALSE
- selection_activated_message = "You look for a crewmember to inspect! Left-click to gaze at a target!"
- selection_deactivated_message = "You relinquish your gaze... for now."
+ selection_activated_message = SPAN_NOTICE("You look for a crewmember to inspect! Left-click to gaze at a target!")
+ selection_deactivated_message = SPAN_NOTICE("You relinquish your gaze... for now.")
action_icon_state = "genetic_view"
/datum/spell/inspectors_gaze/create_new_targeting()
@@ -15,9 +15,9 @@
/datum/spell/inspectors_gaze/cast(list/targets, mob/living/user = usr)
var/mob/target = targets[1] // There is only ever one target for your gaze
if(!istype(target))
- to_chat(user, "You don't think [target] can commit SOP violations.")
+ to_chat(user, SPAN_WARNING("You don't think [target] can commit SOP violations."))
return FALSE
- to_chat(target, "You feel someone staring at you...")
- to_chat(user, "You gaze at [target], intent to find SOP violations.")
+ to_chat(target, SPAN_WARNING("You feel someone staring at you..."))
+ to_chat(user, SPAN_NOTICE("You gaze at [target], intent to find SOP violations."))
return TRUE
diff --git a/code/datums/spells/lichdom.dm b/code/datums/spells/lichdom.dm
index 45073690978..f0bc008c28d 100644
--- a/code/datums/spells/lichdom.dm
+++ b/code/datums/spells/lichdom.dm
@@ -28,26 +28,26 @@
/datum/spell/lichdom/proc/attempt_revive(mob/user)
// Can only cast when unconscious/dead
if(user.stat == CONSCIOUS)
- to_chat(user, "You aren't dead enough to revive!")
+ to_chat(user, SPAN_NOTICE("You aren't dead enough to revive!"))
cooldown_handler.revert_cast()
return
// Body was destroyed
if(QDELETED(current_body))
- to_chat(user, "Your body is gone!")
+ to_chat(user, SPAN_WARNING("Your body is gone!"))
return
// Phylactery was destroyed
var/obj/item/marked_item = locateUID(marked_item_uid)
if(QDELETED(marked_item))
- to_chat(user, "Your phylactery is gone!")
+ to_chat(user, SPAN_WARNING("Your phylactery is gone!"))
return
// Wrong z-level
var/turf/body_turf = get_turf(current_body)
var/turf/item_turf = get_turf(marked_item)
if(body_turf.z != item_turf.z)
- to_chat(user, "Your phylactery is out of range!")
+ to_chat(user, SPAN_WARNING("Your phylactery is out of range!"))
return
if(isobserver(user))
@@ -64,7 +64,7 @@
// Give a hint as to where the body is
var/wheres_wizdo = dir2text(get_dir(body_turf, item_turf))
if(wheres_wizdo)
- current_body.visible_message("Suddenly [current_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!")
+ current_body.visible_message(SPAN_WARNING("Suddenly [current_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!"))
body_turf.Beam(item_turf, icon_state = "lichbeam", icon = 'icons/effects/effects.dmi', time = 10 + 10 * resurrections, maxdistance = INFINITY)
UnregisterSignal(current_body, list(COMSIG_PARENT_QDELETING, COMSIG_MOVABLE_Z_CHANGED))
@@ -81,20 +81,20 @@
current_body = lich
cooldown_handler.recharge_duration += 1 MINUTES
- to_chat(lich, "Your bones clatter and shudder as they're pulled back into this world!")
+ to_chat(lich, SPAN_WARNING("Your bones clatter and shudder as they're pulled back into this world!"))
/datum/spell/lichdom/proc/attempt_mark_item(mob/user)
var/obj/item/target = user.get_active_hand()
if(!target)
- to_chat(user, "You must hold an item you wish to make your phylactery!")
+ to_chat(user, SPAN_WARNING("You must hold an item you wish to make your phylactery!"))
return
if(target.flags & (ABSTRACT|NODROP))
- to_chat(user, "[target] cannot be used as your phylactery!")
+ to_chat(user, SPAN_WARNING("[target] cannot be used as your phylactery!"))
return
if(!do_after(user, 5 SECONDS, target = target))
- to_chat(user, "Your soul snaps back to your body as you drop [target]!")
+ to_chat(user, SPAN_WARNING("Your soul snaps back to your body as you drop [target]!"))
return
name = "RISE!"
@@ -108,7 +108,7 @@
build_all_button_icons()
target.name = "ensouled [target.name]"
- target.desc += "
A terrible aura surrounds this item, its very existence is offensive to life itself..."
+ target.desc += "
[SPAN_WARNING("A terrible aura surrounds this item, its very existence is offensive to life itself...")]"
target.color = "#003300"
marked_item_uid = target.UID()
@@ -122,7 +122,7 @@
H.drop_item_to_ground(H.head)
equip_lich(H)
- to_chat(user, "With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!")
+ to_chat(user, SPAN_USERDANGER("With a hideous feeling of emptiness you watch in horrified fascination as skin sloughs off bone! Blood boils, nerves disintegrate, eyes boil in their sockets! As your organs crumble to dust in your fleshless chest you come to terms with your choice. You're a lich!"))
/datum/spell/lichdom/proc/is_revive_possible()
var/obj/item/marked_item = locateUID(marked_item_uid)
diff --git a/code/datums/spells/lightning.dm b/code/datums/spells/lightning.dm
index 820138236f8..17ad9bdf651 100644
--- a/code/datums/spells/lightning.dm
+++ b/code/datums/spells/lightning.dm
@@ -39,8 +39,8 @@
/datum/spell/charge_up/bounce/lightning/apply_bounce_effect(mob/origin, mob/living/target, energy, mob/user)
if(target.can_block_magic(antimagic_flags))
target.visible_message(
- "[target] absorbs the spell, remaining unharmed!",
- "You absorb the spell, remaining unharmed!"
+ SPAN_WARNING("[target] absorbs the spell, remaining unharmed!"),
+ SPAN_DANGER("You absorb the spell, remaining unharmed!")
)
return
if(damaging)
diff --git a/code/datums/spells/magnet.dm b/code/datums/spells/magnet.dm
index 7d2386290e6..30bd6518255 100644
--- a/code/datums/spells/magnet.dm
+++ b/code/datums/spells/magnet.dm
@@ -49,7 +49,7 @@
/datum/spell/charge_up/bounce/magnet/proc/try_throw_object(mob/user, mob/thrower, obj/item/to_throw)
if(!(to_throw.flags & CONDUCT) || !thrower.drop_item_to_ground(to_throw, silent = TRUE))
return FALSE
- thrower.visible_message("[to_throw] gets thrown out of [thrower] [thrower.p_their()] hands!",
- "[to_throw] suddenly gets thrown out of your hands!")
+ thrower.visible_message(SPAN_WARNING("[to_throw] gets thrown out of [thrower] [thrower.p_their()] hands!"),
+ SPAN_DANGER("[to_throw] suddenly gets thrown out of your hands!"))
to_throw.throw_at(user, to_throw.throw_range, 4)
return TRUE
diff --git a/code/datums/spells/mime.dm b/code/datums/spells/mime.dm
index d5ec808cf01..761d438a6ca 100644
--- a/code/datums/spells/mime.dm
+++ b/code/datums/spells/mime.dm
@@ -3,7 +3,7 @@
desc = "The mime's performance transmutates into physical reality."
summon_type = list(/obj/structure/forcefield/mime)
invocation_type = "emote"
- invocation_emote_self = "You form a wall in front of yourself."
+ invocation_emote_self = SPAN_NOTICE("You form a wall in front of yourself.")
summon_lifespan = 20 SECONDS
base_cooldown = 30 SECONDS
clothes_req = FALSE
@@ -17,7 +17,7 @@
/datum/spell/aoe/conjure/build/mime_wall/Click()
if(usr && usr.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first.")
+ to_chat(usr, SPAN_NOTICE("You must dedicate yourself to silence first."))
return
invocation = "[usr.name] looks as if a wall is in front of [usr.p_them()]."
else
@@ -44,18 +44,18 @@
return
var/mob/living/carbon/human/H = usr
if(H.mind.miming)
- still_recharging_msg = "You can't break your vow of silence that fast!"
+ still_recharging_msg = SPAN_WARNING("You can't break your vow of silence that fast!")
else
- still_recharging_msg = "You'll have to wait before you can give your vow of silence again!"
+ still_recharging_msg = SPAN_WARNING("You'll have to wait before you can give your vow of silence again!")
..()
/datum/spell/mime/speak/cast(list/targets,mob/user = usr)
for(var/mob/living/carbon/human/H in targets)
H.mind.miming=!H.mind.miming
if(H.mind.miming)
- to_chat(H, "You make a vow of silence.")
+ to_chat(H, SPAN_NOTICE("You make a vow of silence."))
else
- to_chat(H, "You break your vow of silence.")
+ to_chat(H, SPAN_NOTICE("You break your vow of silence."))
//Advanced Mimery traitor item spells
@@ -64,7 +64,7 @@
desc = "Form an invisible three tile wide blockade."
wall_type = /obj/effect/forcefield/mime
invocation_type = "emote"
- invocation_emote_self = "You form a blockade in front of yourself."
+ invocation_emote_self = SPAN_NOTICE("You form a blockade in front of yourself.")
base_cooldown = 60 SECONDS
sound = null
@@ -74,7 +74,7 @@
/datum/spell/forcewall/mime/Click()
if(usr && usr.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first.")
+ to_chat(usr, SPAN_NOTICE("You must dedicate yourself to silence first."))
return
invocation = "[usr.name] looks as if a blockade is in front of [usr.p_them()]."
else
@@ -97,7 +97,7 @@
/datum/spell/mime/fingergun/cast(list/targets, mob/user = usr)
for(var/mob/living/carbon/human/C in targets)
if(!current_gun)
- to_chat(user, "You draw your fingers!")
+ to_chat(user, SPAN_NOTICE("You draw your fingers!"))
current_gun = new gun(get_turf(user), src)
C.drop_item()
C.put_in_hands(current_gun)
@@ -115,7 +115,7 @@
SIGNAL_HANDLER
if(!current_gun || !any && action.owner.get_active_hand() != current_gun)
return
- to_chat(action.owner, "You holster your fingers. Another time perhaps...")
+ to_chat(action.owner, SPAN_NOTICE("You holster your fingers. Another time perhaps..."))
QDEL_NULL(current_gun)
/datum/spell/mime/fingergun/fake
@@ -136,25 +136,25 @@
for(var/datum/spell/knownspell in user.mind.spell_list)
if(knownspell.type == S.type)
if(user.mind)
- to_chat(user, "You've already read this one.")
+ to_chat(user, SPAN_NOTICE("You've already read this one."))
return
if(used)
recoil(user)
else
user.mind.AddSpell(S)
- to_chat(user, "You flip through the pages. Your understanding of the boundaries of reality increases. You can cast [spellname]!")
+ to_chat(user, SPAN_NOTICE("You flip through the pages. Your understanding of the boundaries of reality increases. You can cast [spellname]!"))
user.create_log(MISC_LOG, "learned the spell [spellname] ([S])")
user.create_attack_log("[key_name(user)] learned the spell [spellname] ([S]).")
onlearned(user)
/obj/item/spellbook/oneuse/mime/recoil(mob/user)
- to_chat(user, "You flip through the pages. Nothing of interest to you.")
+ to_chat(user, SPAN_NOTICE("You flip through the pages. Nothing of interest to you."))
/obj/item/spellbook/oneuse/mime/onlearned(mob/user)
used = TRUE
if(!locate(/datum/spell/mime/speak) in user.mind.spell_list) //add vow of silence if not known by user
user.mind.AddSpell(new /datum/spell/mime/speak)
- to_chat(user, "You have learned how to use silence to improve your performance.")
+ to_chat(user, SPAN_NOTICE("You have learned how to use silence to improve your performance."))
/obj/item/spellbook/oneuse/mime/fingergun
spell = /datum/spell/mime/fingergun
diff --git a/code/datums/spells/mimic.dm b/code/datums/spells/mimic.dm
index 05751a7ec20..5a5134dd28a 100644
--- a/code/datums/spells/mimic.dm
+++ b/code/datums/spells/mimic.dm
@@ -4,7 +4,7 @@
clothes_req = FALSE
base_cooldown = 3 SECONDS
action_icon_state = "morph_mimic"
- selection_activated_message = "Click on a target to remember it's form. Click on yourself to change form."
+ selection_activated_message = SPAN_SINISTER("Click on a target to remember it's form. Click on yourself to change form.")
create_attack_logs = FALSE
/// Which form is currently selected
var/datum/mimic_form/selected_form
@@ -59,15 +59,15 @@
/datum/spell/mimic/proc/remember_form(atom/movable/A, mob/user)
if(A.name in available_forms)
- to_chat(user, "[A] is already an available form.")
+ to_chat(user, SPAN_WARNING("[A] is already an available form."))
revert_cast(user)
return
if(length(available_forms) >= max_forms)
- to_chat(user, "You start to forget the form of [available_forms[next_override_index]] to learn a new one.")
+ to_chat(user, SPAN_WARNING("You start to forget the form of [available_forms[next_override_index]] to learn a new one."))
- to_chat(user, "You start remembering the form of [A].")
+ to_chat(user, SPAN_SINISTER("You start remembering the form of [A]."))
if(!do_after(user, 2 SECONDS, FALSE, user))
- to_chat(user, "You lose focus.")
+ to_chat(user, SPAN_WARNING("You lose focus."))
return
// Forget the old form if needed
@@ -79,11 +79,11 @@
next_override_index = 1
available_forms[A.name] = new /datum/mimic_form(A, user)
- to_chat(user, "You learn the form of [A].")
+ to_chat(user, SPAN_SINISTER("You learn the form of [A]."))
/datum/spell/mimic/proc/pick_form(mob/user)
if(!length(available_forms) && !selected_form)
- to_chat(user, "No available forms. Learn more forms by using this spell on other objects first.")
+ to_chat(user, SPAN_WARNING("No available forms. Learn more forms by using this spell on other objects first."))
revert_cast(user)
return
@@ -94,16 +94,16 @@
forms += available_forms.Copy()
var/what = tgui_input_list(user, "Which form do you want to become?", "Mimic", forms)
if(!what)
- to_chat(user, "You decide against changing forms.")
+ to_chat(user, SPAN_NOTICE("You decide against changing forms."))
revert_cast(user)
return
if(what == "Original Form")
restore_form(user)
return
- to_chat(user, "You start becoming [what].")
+ to_chat(user, SPAN_SINISTER("You start becoming [what]."))
if(!do_after(user, 2 SECONDS, FALSE, user))
- to_chat(user, "You lose focus.")
+ to_chat(user, SPAN_WARNING("You lose focus."))
return
take_form(available_forms[what], user)
@@ -133,9 +133,9 @@
/datum/spell/mimic/proc/show_change_form_message(mob/user, old_name, new_name)
user.visible_message(
- "[old_name] contorts and slowly becomes [new_name]!",
- "You take the form of [new_name].",
- "You hear loud cracking noises!"
+ SPAN_WARNING("[old_name] contorts and slowly becomes [new_name]!"),
+ SPAN_SINISTER("You take the form of [new_name]."),
+ SPAN_WARNING("You hear loud cracking noises!")
)
/datum/spell/mimic/proc/restore_form(mob/user, show_message = TRUE)
@@ -163,16 +163,16 @@
/datum/spell/mimic/proc/show_restore_form_message(mob/user, old_name, new_name)
user.visible_message(
- "[old_name] shakes and contorts and quickly becomes [new_name]!",
- "You return to your normal self.",
- "You hear loud cracking noises!"
+ SPAN_WARNING("[old_name] shakes and contorts and quickly becomes [new_name]!"),
+ SPAN_SINISTER("You return to your normal self."),
+ SPAN_WARNING("You hear loud cracking noises!")
)
/datum/spell/mimic/proc/examine_override(datum/source, mob/user, list/examine_list)
examine_list.Cut()
examine_list += selected_form.examine_text
if(!perfect_disguise && get_dist(user, source) <= 3)
- examine_list += "It doesn't look quite right..."
+ examine_list += SPAN_WARNING("It doesn't look quite right...")
/datum/spell/mimic/proc/on_death(mob/user, gibbed)
if(!gibbed)
@@ -181,9 +181,9 @@
/datum/spell/mimic/proc/show_death_message(mob/user)
user.visible_message(
- "[user] shakes and contorts as [user.p_they()] die[user.p_s()], returning to [user.p_their()] true form!",
- "Your disguise fails as your life forces drain away.",
- "You hear loud cracking noises followed by a thud!"
+ SPAN_WARNING("[user] shakes and contorts as [user.p_they()] die[user.p_s()], returning to [user.p_their()] true form!"),
+ SPAN_DEADSAY("Your disguise fails as your life forces drain away."),
+ SPAN_WARNING("You hear loud cracking noises followed by a thud!")
)
@@ -225,21 +225,21 @@
/datum/spell/mimic/morph/show_change_form_message(mob/user, old_name, new_name)
user.visible_message(
- "[old_name] suddenly twists and changes shape, becoming a copy of [new_name]!",
- "You twist your body and assume the form of [new_name].",
- "You hear loud cracking noises!"
+ SPAN_WARNING("[old_name] suddenly twists and changes shape, becoming a copy of [new_name]!"),
+ SPAN_NOTICE("You twist your body and assume the form of [new_name]."),
+ SPAN_WARNING("You hear loud cracking noises!")
)
/datum/spell/mimic/morph/show_restore_form_message(mob/user, old_name, new_name)
user.visible_message(
- "[old_name] suddenly collapses in on itself, dissolving into a pile of green flesh!",
- "You reform to your normal body.",
- "You hear loud cracking noises followed by a thud!"
+ SPAN_WARNING("[old_name] suddenly collapses in on itself, dissolving into a pile of green flesh!"),
+ SPAN_NOTICE("You reform to your normal body."),
+ SPAN_WARNING("You hear loud cracking noises followed by a thud!")
)
/datum/spell/mimic/morph/show_death_message(mob/user)
user.visible_message(
- "[user] twists and dissolves into a pile of green flesh!",
- "Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--",
- "You hear loud cracking noises followed by a thud!"
+ SPAN_WARNING("[user] twists and dissolves into a pile of green flesh!"),
+ SPAN_USERDANGER("Your skin ruptures! Your flesh breaks apart! No disguise can ward off de--"),
+ SPAN_WARNING("You hear loud cracking noises followed by a thud!")
)
diff --git a/code/datums/spells/mind_transfer.dm b/code/datums/spells/mind_transfer.dm
index 00e788d5abb..fbfca5723de 100644
--- a/code/datums/spells/mind_transfer.dm
+++ b/code/datums/spells/mind_transfer.dm
@@ -5,8 +5,8 @@
base_cooldown = 600
clothes_req = FALSE
invocation = "GIN'YU CAPAN"
- selection_activated_message = "You prepare to transfer your mind. Click on a target to cast the spell."
- selection_deactivated_message = "You decide that your current form is good enough."
+ selection_activated_message = SPAN_NOTICE("You prepare to transfer your mind. Click on a target to cast the spell.")
+ selection_deactivated_message = SPAN_NOTICE("You decide that your current form is good enough.")
cooldown_min = 200 //100 deciseconds reduction per rank
antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND
var/list/protected_roles = list(SPECIAL_ROLE_WIZARD, SPECIAL_ROLE_CHANGELING, SPECIAL_ROLE_CULTIST) //which roles are immune to the spell
@@ -37,18 +37,18 @@ Also, you never added distance checking after target is selected. I've went ahea
var/mob/living/target = targets[1]
if(user.suiciding)
- to_chat(user, "You're killing yourself! You can't concentrate enough to do this!")
+ to_chat(user, SPAN_WARNING("You're killing yourself! You can't concentrate enough to do this!"))
return
if((target.mind.special_role in protected_roles) && target != user)
- to_chat(user, "Their mind is resisting your spell.")
+ to_chat(user, SPAN_DANGER("Their mind is resisting your spell."))
return
if(issilicon(target))
- to_chat(user, "You feel this enslaved being is just as dead as its cold, hard exoskeleton.")
+ to_chat(user, SPAN_WARNING("You feel this enslaved being is just as dead as its cold, hard exoskeleton."))
return
if(target.can_block_magic(antimagic_flags))
- to_chat(user, "Their mind is resisting your spell.")
+ to_chat(user, SPAN_DANGER("Their mind is resisting your spell."))
return
var/mob/living/victim = target//The target of the spell whos body will be transferred to.
diff --git a/code/datums/spells/night_vision.dm b/code/datums/spells/night_vision.dm
index ae5c94f9761..44dea1ca913 100644
--- a/code/datums/spells/night_vision.dm
+++ b/code/datums/spells/night_vision.dm
@@ -6,7 +6,7 @@
clothes_req = FALSE
antimagic_flags = NONE
- message = "You toggle your night vision!"
+ message = SPAN_NOTICE("You toggle your night vision!")
/datum/spell/night_vision/create_new_targeting()
return new /datum/spell_targeting/self
diff --git a/code/datums/spells/rathens.dm b/code/datums/spells/rathens.dm
index 7f0bac2fe82..774aeaffd60 100644
--- a/code/datums/spells/rathens.dm
+++ b/code/datums/spells/rathens.dm
@@ -25,15 +25,15 @@
A.forceMove(get_turf(H))
spawn()
A.throw_at(get_edge_target_turf(H, pick(GLOB.alldirs)), rand(1, 10), 5)
- H.visible_message("[H]'s [A.name] flies out of their body in a magical explosion!",\
- "Your [A.name] flies out of your body in a magical explosion!")
+ H.visible_message(SPAN_DANGER("[H]'s [A.name] flies out of their body in a magical explosion!"),\
+ SPAN_DANGER("Your [A.name] flies out of your body in a magical explosion!"))
H.KnockDown(4 SECONDS)
else
var/obj/effect/decal/cleanable/blood/gibs/G = new/obj/effect/decal/cleanable/blood/gibs(get_turf(H))
spawn()
G.throw_at(get_edge_target_turf(H, pick(GLOB.alldirs)), rand(1, 10), 5)
H.apply_damage(10, BRUTE, "chest")
- to_chat(H, "You have no appendix, but something had to give! Holy shit, what was that?")
+ to_chat(H, SPAN_USERDANGER("You have no appendix, but something had to give! Holy shit, what was that?"))
H.KnockDown(6 SECONDS)
for(var/obj/item/organ/external/E in H.bodyparts)
if(istype(E, /obj/item/organ/external/head))
@@ -43,5 +43,5 @@
if(istype(E, /obj/item/organ/external/groin))
continue
if(prob(7))
- to_chat(H, "Your [E] was severed by the explosion!")
+ to_chat(H, SPAN_USERDANGER("Your [E] was severed by the explosion!"))
E.droplimb(1, DROPLIMB_SHARP, 0, 1)
diff --git a/code/datums/spells/rod_form.dm b/code/datums/spells/rod_form.dm
index cd24317033b..750934a0f00 100644
--- a/code/datums/spells/rod_form.dm
+++ b/code/datums/spells/rod_form.dm
@@ -16,7 +16,7 @@
/datum/spell/rod_form/cast(list/targets,mob/user = usr)
if(get_turf(user) != user.loc)
- to_chat(user, "You cannot summon a rod in the ether, the spell fizzles out!")
+ to_chat(user, SPAN_WARNING("You cannot summon a rod in the ether, the spell fizzles out!"))
revert_cast()
return FALSE
for(var/mob/living/M in targets)
diff --git a/code/datums/spells/sentient_sword_lunge.dm b/code/datums/spells/sentient_sword_lunge.dm
index 630ffd1b6ba..f1cd5f46d71 100644
--- a/code/datums/spells/sentient_sword_lunge.dm
+++ b/code/datums/spells/sentient_sword_lunge.dm
@@ -13,7 +13,7 @@
/datum/spell/sentient_sword_lunge/cast(list/targets, mob/user = usr)
if(!istype(user.loc, /obj/item))
- to_chat(user, "You cannot use this ability if you're outside a blade!")
+ to_chat(user, SPAN_WARNING("You cannot use this ability if you're outside a blade!"))
return
var/obj/item/nullrod/scythe/talking/user_sword = user.loc
if(ishuman(user_sword.loc))
@@ -21,9 +21,9 @@
holder.drop_item_to_ground(user_sword)
else if(isstorage(user_sword.loc))
if(prob(50))
- to_chat(user, "You fail to break out of [user_sword.loc]!")
+ to_chat(user, SPAN_WARNING("You fail to break out of [user_sword.loc]!"))
return
var/turf/our_turf = get_turf(user_sword.loc)
- our_turf.visible_message("[user_sword] leaps out of [user_sword.loc]!")
+ our_turf.visible_message(SPAN_DANGER("[user_sword] leaps out of [user_sword.loc]!"))
user_sword.forceMove(our_turf)
user_sword.throw_at(targets[1], 10, 3, user)
diff --git a/code/datums/spells/shapeshift.dm b/code/datums/spells/shapeshift.dm
index ac3e5004acc..0901f00d79a 100644
--- a/code/datums/spells/shapeshift.dm
+++ b/code/datums/spells/shapeshift.dm
@@ -38,7 +38,7 @@
/datum/spell/shapeshift/proc/Shapeshift(mob/living/caster)
for(var/mob/living/M in caster)
if(M.status_flags & GODMODE)
- to_chat(caster, "You're already shapeshifted!")
+ to_chat(caster, SPAN_WARNING("You're already shapeshifted!"))
return
var/mob/living/shape = new shapeshift_type(get_turf(caster))
@@ -82,10 +82,10 @@
possible_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser)
/datum/spell/shapeshift/dragon/Shapeshift(mob/living/caster)
- caster.visible_message("[caster] screams in agony as bones and claws erupt out of their flesh!",
- "You begin channeling the transformation.")
+ caster.visible_message(SPAN_DANGER("[caster] screams in agony as bones and claws erupt out of their flesh!"),
+ SPAN_DANGER("You begin channeling the transformation."))
if(!do_after(caster, 5 SECONDS, FALSE, caster))
- to_chat(caster, "You lose concentration of the spell!")
+ to_chat(caster, SPAN_WARNING("You lose concentration of the spell!"))
return
return ..()
diff --git a/code/datums/spells/spacetime_dist.dm b/code/datums/spells/spacetime_dist.dm
index 76c412591ae..2131e9d2f56 100644
--- a/code/datums/spells/spacetime_dist.dm
+++ b/code/datums/spells/spacetime_dist.dm
@@ -43,7 +43,7 @@
. = ..()
var/list/turf/to_switcharoo = targets
if(!length(to_switcharoo))
- to_chat(user, "For whatever reason, the strings nearby aren't keen on being tangled.")
+ to_chat(user, SPAN_WARNING("For whatever reason, the strings nearby aren't keen on being tangled."))
return
ready = FALSE
diff --git a/code/datums/spells/spell_base.dm b/code/datums/spells/spell_base.dm
index bf85449bc0e..0392334a6c4 100644
--- a/code/datums/spells/spell_base.dm
+++ b/code/datums/spells/spell_base.dm
@@ -21,7 +21,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
var/base_cooldown = 10 SECONDS
var/starts_charged = TRUE //Does this spell start ready to go?
var/should_recharge_after_cast = TRUE
- var/still_recharging_msg = "The spell is still recharging."
+ var/still_recharging_msg = SPAN_NOTICE("The spell is still recharging.")
var/active = FALSE //Used by toggle based abilities.
var/ranged_mousepointer
@@ -63,9 +63,9 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
var/gain_desc = null
/// The message displayed when a click based spell gets activated
- var/selection_activated_message = "Click on a target to cast the spell."
+ var/selection_activated_message = SPAN_NOTICE("Click on a target to cast the spell.")
/// The message displayed when a click based spell gets deactivated
- var/selection_deactivated_message = "You choose to not cast this spell."
+ var/selection_deactivated_message = SPAN_NOTICE("You choose to not cast this spell.")
/// does this spell generate attack logs?
var/create_attack_logs = TRUE
@@ -95,7 +95,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
/datum/spell/New()
..()
action = new(src)
- still_recharging_msg = "[name] is still recharging."
+ still_recharging_msg = SPAN_NOTICE("[name] is still recharging.")
if(!gain_desc)
gain_desc = "You can now use [src]."
@@ -119,7 +119,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
/datum/spell/proc/InterceptClickOn(mob/user, params, atom/A)
if(user.ranged_ability != src)
- to_chat(user, "[user.ranged_ability.name] has been disabled.")
+ to_chat(user, SPAN_WARNING("[user.ranged_ability.name] has been disabled."))
user.ranged_ability.remove_ranged_ability(user)
return TRUE //TRUE for failed, FALSE for passed.
user.face_atom(A)
@@ -131,7 +131,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
if(!user || !user.client)
return
if(user.ranged_ability && user.ranged_ability != src)
- to_chat(user, "[user.ranged_ability.name] has been replaced by [name].")
+ to_chat(user, SPAN_WARNING("[user.ranged_ability.name] has been replaced by [name]."))
user.ranged_ability.remove_ranged_ability(user)
user.ranged_ability = src
ranged_ability_user = user
@@ -308,7 +308,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
/datum/spell/proc/try_perform(list/targets, mob/user)
SHOULD_NOT_OVERRIDE(TRUE)
if(!length(targets))
- to_chat(user, "No suitable target found.")
+ to_chat(user, SPAN_WARNING("No suitable target found."))
return FALSE
if(should_remove_click_intercept()) // returns TRUE by default
remove_ranged_ability(user) // Targeting succeeded. So remove the click interceptor if there is one. Even if the cast didn't succeed afterwards
@@ -454,7 +454,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
/datum/spell/proc/can_cast(mob/user = usr, charge_check = TRUE, show_message = FALSE)
if(((!user.mind) || !(src in user.mind.spell_list)) && !(src in user.mob_spell_list))
if(show_message)
- to_chat(user, "You shouldn't have this spell! Something's wrong.")
+ to_chat(user, SPAN_WARNING("You shouldn't have this spell! Something's wrong."))
return FALSE
if(!centcom_cancast) //Certain spells are not allowed on the centcom zlevel
@@ -466,7 +466,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
// that corresponds with the spell's antimagic, then they can't actually cast the spell
if((spell_requirements & SPELL_REQUIRES_NO_ANTIMAGIC) && !user.can_cast_magic(antimagic_flags))
if(show_message)
- to_chat(user, "Some form of antimagic is preventing you from casting [src]!")
+ to_chat(user, SPAN_WARNING("Some form of antimagic is preventing you from casting [src]!"))
return FALSE
if(!holy_area_cancast && user.holy_check())
@@ -481,7 +481,7 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
if(!ghost)
if(user.stat && !stat_allowed)
if(show_message)
- to_chat(user, "You can't cast this spell while incapacitated.")
+ to_chat(user, SPAN_NOTICE("You can't cast this spell while incapacitated."))
return FALSE
if(ishuman(user) && (invocation_type == "whisper" || invocation_type == "shout") && user.is_muzzled())
if(show_message)
@@ -498,20 +498,20 @@ GLOBAL_LIST_INIT(spells, typesof(/datum/spell))
var/obj/item/clothing/shoes = H.shoes
if(!robe || !hat || !shoes)
if(show_message)
- to_chat(user, "Your outfit isn't complete, you should put on your robe and wizard hat, as well as sandals.")
+ to_chat(user, SPAN_NOTICE("Your outfit isn't complete, you should put on your robe and wizard hat, as well as sandals."))
return FALSE
if(!robe.magical || !hat.magical || !shoes.magical)
if(show_message)
- to_chat(user, "Your outfit isn't magical enough, you should put on your robe and wizard hat, as well as your sandals.")
+ to_chat(user, SPAN_NOTICE("Your outfit isn't magical enough, you should put on your robe and wizard hat, as well as your sandals."))
return FALSE
else
if(clothes_req || human_req)
if(show_message)
- to_chat(user, "This spell can only be cast by humans!")
+ to_chat(user, SPAN_NOTICE("This spell can only be cast by humans!"))
return FALSE
if(nonabstract_req && (isbrain(user) || ispAI(user)))
if(show_message)
- to_chat(user, "This spell can only be cast by physical beings!")
+ to_chat(user, SPAN_NOTICE("This spell can only be cast by physical beings!"))
return FALSE
if(custom_handler && !custom_handler.can_cast(user, charge_check, show_message, src))
diff --git a/code/datums/spells/summonitem.dm b/code/datums/spells/summonitem.dm
index d7e46b6e3fc..7253fe61b92 100644
--- a/code/datums/spells/summonitem.dm
+++ b/code/datums/spells/summonitem.dm
@@ -27,7 +27,7 @@
if(istype(item, /obj/item/organ/internal/brain)) //Yeah, sadly this doesn't work due to the organ system.
break
if(istype(item, /obj/item/disk/nuclear)) //Let's not make nukies suffer with this bullshit.
- to_chat(user, "[item] has some built in protections against such summoning magic.")
+ to_chat(user, SPAN_NOTICE("[item] has some built in protections against such summoning magic."))
break
if(ABSTRACT in item.flags)
continue
@@ -40,17 +40,17 @@
if(!marked_item)
if(hand_items)
- message = "You aren't holding anything that can be marked for recall."
+ message = SPAN_CAUTION("You aren't holding anything that can be marked for recall.")
else
- message = "You must hold the desired item in your hands to mark it for recall."
+ message = SPAN_NOTICE("You must hold the desired item in your hands to mark it for recall.")
else if(marked_item && (marked_item in hand_items)) //unlinking item to the spell
- message = "You remove the mark on [marked_item] to use elsewhere."
+ message = SPAN_NOTICE("You remove the mark on [marked_item] to use elsewhere.")
name = "Instant Summons"
marked_item = null
else if(marked_item && !marked_item.loc) //the item was destroyed at some point
- message = "You sense your marked item has been destroyed!"
+ message = SPAN_WARNING("You sense your marked item has been destroyed!")
name = "Instant Summons"
marked_item = null
@@ -63,21 +63,21 @@
if(istype(item_to_retrieve.loc, /obj/item/organ/internal/headpocket))
var/obj/item/organ/internal/headpocket/pocket = item_to_retrieve.loc
if(pocket.owner)
- to_chat(pocket.owner, "Your [pocket.name] suddenly feels lighter. How strange!")
+ to_chat(pocket.owner, SPAN_WARNING("Your [pocket.name] suddenly feels lighter. How strange!"))
visible_item = FALSE
break
if(istype(item_to_retrieve.loc, /obj/item/storage/hidden_implant)) //The implant should be left alone
var/obj/item/storage/S = item_to_retrieve.loc
for(var/mob/M in S.mobs_viewing)
- to_chat(M, "[item_to_retrieve] suddenly disappears!")
+ to_chat(M, SPAN_WARNING("[item_to_retrieve] suddenly disappears!"))
visible_item = FALSE
break
if(ismob(item_to_retrieve.loc)) //If its on someone, properly drop it
var/mob/M = item_to_retrieve.loc
if(issilicon(M) || !M.transfer_item_to(item_to_retrieve, target.loc)) //Items in silicons warp the whole silicon
- M.visible_message("[M] suddenly disappears!", "A force suddenly pulls you away!")
- M.loc.visible_message("[M] suddenly appears!")
+ M.visible_message(SPAN_WARNING("[M] suddenly disappears!"), SPAN_DANGER("A force suddenly pulls you away!"))
+ M.loc.visible_message(SPAN_CAUTION("[M] suddenly appears!"))
item_to_retrieve = null
break
@@ -87,14 +87,14 @@
var/obj/item/organ/external/part = X
if(item_to_retrieve in part.embedded_objects)
part.remove_embedded_object(item_to_retrieve)
- to_chat(C, "[item_to_retrieve] that was embedded in your [part] has mysteriously vanished. How fortunate!")
+ to_chat(C, SPAN_WARNING("[item_to_retrieve] that was embedded in your [part] has mysteriously vanished. How fortunate!"))
if(!C.has_embedded_objects())
C.clear_alert("embeddedobject")
break
if(item_to_retrieve == part.hidden)
visible_item = FALSE
part.hidden = null
- to_chat(C, "Your [part.name] suddenly feels emptier. How weird!")
+ to_chat(C, SPAN_WARNING("Your [part.name] suddenly feels emptier. How weird!"))
break
else
@@ -116,15 +116,15 @@
return
if(!isturf(target.loc))
- to_chat(target, "You attempt to cast the spell, but it fails! Perhaps you aren't available?")
+ to_chat(target, SPAN_CAUTION("You attempt to cast the spell, but it fails! Perhaps you aren't available?"))
return
if(visible_item)
- item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly disappears!")
+ item_to_retrieve.loc.visible_message(SPAN_WARNING("[item_to_retrieve] suddenly disappears!"))
var/list/heres_disky = item_to_retrieve.search_contents_for(/obj/item/disk/nuclear)
heres_disky += item_to_retrieve.loc.search_contents_for(/obj/item/disk/nuclear) //So if you mark another item in a bag, we don't pull
for(var/obj/item/disk/nuclear/N in heres_disky)
N.forceMove(get_turf(item_to_retrieve))
- N.visible_message("As [item_to_retrieve] vanishes, [N] remains behind!")
+ N.visible_message(SPAN_WARNING("As [item_to_retrieve] vanishes, [N] remains behind!"))
break //If you have 2 nads, well, congrats? Keeps message from doubling up
if(target.hand) //left active hand
if(!target.equip_to_slot_if_possible(item_to_retrieve, ITEM_SLOT_LEFT_HAND, FALSE, TRUE))
@@ -136,10 +136,10 @@
butterfingers = TRUE
if(butterfingers)
item_to_retrieve.loc = target.loc
- item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly appears!")
+ item_to_retrieve.loc.visible_message(SPAN_CAUTION("[item_to_retrieve] suddenly appears!"))
playsound(get_turf(target),'sound/magic/summonitems_generic.ogg', 50, 1)
else
- item_to_retrieve.loc.visible_message("[item_to_retrieve] suddenly appears in [target]'s hand!")
+ item_to_retrieve.loc.visible_message(SPAN_CAUTION("[item_to_retrieve] suddenly appears in [target]'s hand!"))
playsound(get_turf(target),'sound/magic/summonitems_generic.ogg', 50, 1)
if(message)
diff --git a/code/datums/spells/touch_attacks.dm b/code/datums/spells/touch_attacks.dm
index 5f041a9d72a..6b43f5ec058 100644
--- a/code/datums/spells/touch_attacks.dm
+++ b/code/datums/spells/touch_attacks.dm
@@ -30,9 +30,9 @@
if(!hand_handled)
qdel(attached_hand)
attached_hand = null
- to_chat(user, "Your hands are full!")
+ to_chat(user, SPAN_WARNING("Your hands are full!"))
return 0
- to_chat(user, "You channel the power of the spell to your hand.")
+ to_chat(user, SPAN_NOTICE("You channel the power of the spell to your hand."))
return 1
/datum/spell/touch/proc/discharge_hand(atom/target, any = FALSE)
@@ -44,7 +44,7 @@
return
QDEL_NULL(attached_hand)
if(on_remove_message)
- to_chat(user, "You draw the power out of your hand.")
+ to_chat(user, SPAN_NOTICE("You draw the power out of your hand."))
/datum/spell/touch/disintegrate
diff --git a/code/datums/spells/wizard_spells.dm b/code/datums/spells/wizard_spells.dm
index 53bafc0f5a9..2fc857edf0c 100644
--- a/code/datums/spells/wizard_spells.dm
+++ b/code/datums/spells/wizard_spells.dm
@@ -87,7 +87,7 @@
base_cooldown = 400
invocation = "BIRUZ BENNAR"
invocation_type = "shout"
- message = "You feel strong! You feel a pressure building behind your eyes!"
+ message = SPAN_NOTICE("You feel strong! You feel a pressure building behind your eyes!")
centcom_cancast = FALSE
traits = list(TRAIT_LASEREYES)
@@ -194,7 +194,7 @@
/datum/spell/return_to_teacher/cast(list/targets, mob/living/user = usr)
if(!(teacher && teacher.current))
- to_chat(user, "The link to your teacher is broken!")
+ to_chat(user, SPAN_DANGER("The link to your teacher is broken!"))
return
do_teleport(user, teacher.current, 1, sound_in = 'sound/magic/blink.ogg', sound_out = 'sound/magic/blink.ogg', safe_turf_pick = TRUE)
@@ -285,7 +285,7 @@
clothes_req = FALSE
invocation = "STI KALY"
invocation_type = "whisper"
- message = "Your eyes cry out in pain!"
+ message = SPAN_NOTICE("Your eyes cry out in pain!")
cooldown_min = 2 SECONDS
sound = 'sound/magic/blind.ogg'
@@ -297,13 +297,13 @@
/datum/spell/blind/cast(list/targets, mob/living/user)
if(!length(targets))
- to_chat(user, "No target found in range.")
+ to_chat(user, SPAN_NOTICE("No target found in range."))
return
var/mob/living/target = targets[1]
if(target.can_block_magic(antimagic_flags))
- to_chat(target, "Your eye itches, but it passes momentarily.")
- to_chat(user, "The spell had no effect!")
+ to_chat(target, SPAN_NOTICE("Your eye itches, but it passes momentarily."))
+ to_chat(user, SPAN_NOTICE("The spell had no effect!"))
return FALSE
target.EyeBlurry(40 SECONDS)
target.EyeBlind(30 SECONDS)
@@ -321,8 +321,8 @@
invocation_type = "shout"
cooldown_min = 20 //10 deciseconds reduction per rank
- selection_activated_message = "You prepare to cast your fireball spell! Left-click to cast at a target!"
- selection_deactivated_message = "You extinguish your fireball...for now."
+ selection_activated_message = SPAN_NOTICE("You prepare to cast your fireball spell! Left-click to cast at a target!")
+ selection_deactivated_message = SPAN_NOTICE("You extinguish your fireball...for now.")
var/fireball_type = /obj/projectile/magic/fireball
action_icon_state = "fireball0"
@@ -367,8 +367,8 @@
fireball_type = /obj/projectile/homing/magic/toolbox
invocation = "ROBUSTIO!"
- selection_activated_message = "You prepare to cast your homing toolbox! Left-click to cast at a target!"
- selection_deactivated_message = "You unrobust your toolbox...for now."
+ selection_activated_message = SPAN_NOTICE("You prepare to cast your homing toolbox! Left-click to cast at a target!")
+ selection_deactivated_message = SPAN_NOTICE("You unrobust your toolbox...for now.")
/datum/spell/fireball/homing
name = "Greater Homing Fireball"
@@ -376,7 +376,7 @@
invocation = "ZI-ONI SOMA"
fireball_type = /obj/projectile/homing/magic/homing_fireball
- selection_activated_message = "You prepare to cast your greater homing fireball spell! Left-click to cast at a target!"
+ selection_activated_message = SPAN_NOTICE("You prepare to cast your greater homing fireball spell! Left-click to cast at a target!")
/datum/spell/aoe/repulse
name = "Repulse"
@@ -421,13 +421,13 @@
var/mob/living/M = AM
M.Weaken(10 SECONDS)
M.adjustBruteLoss(5)
- to_chat(M, "You're slammed into the floor by a mystical force!")
+ to_chat(M, SPAN_USERDANGER("You're slammed into the floor by a mystical force!"))
else
new sparkle_path(get_turf(AM), get_dir(user, AM)) //created sparkles will disappear on their own
if(isliving(AM))
var/mob/living/M = AM
M.Weaken(stun_amt)
- to_chat(M, "You're thrown back by a mystical force!")
+ to_chat(M, SPAN_USERDANGER("You're thrown back by a mystical force!"))
spawn(0)
AM.throw_at(throwtarget, ((clamp((maxthrow - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1)//So stuff gets tossed around at the same time.
@@ -463,8 +463,8 @@
base_cooldown = 5 SECONDS
invocation = "JAH ITH BER"
invocation_type = "whisper"
- selection_activated_message = "You prepare to detonate a corpse. Click on a target to cast the spell."
- selection_deactivated_message = "You cancel the spell."
+ selection_activated_message = SPAN_NOTICE("You prepare to detonate a corpse. Click on a target to cast the spell.")
+ selection_deactivated_message = SPAN_NOTICE("You cancel the spell.")
action_icon_state = "corpse_explosion"
/datum/spell/corpse_explosion/create_new_targeting()
@@ -489,11 +489,11 @@
range = max(1, range)
M.apply_damage(100 / range, BRUTE)
if(issilicon(M))
- to_chat(M, "Your sensors are disabled, and your carapace is ripped apart by the violent dark magic!")
+ to_chat(M, SPAN_USERDANGER("Your sensors are disabled, and your carapace is ripped apart by the violent dark magic!"))
M.Weaken(6 SECONDS / range)
continue
- to_chat(M, "You are eviscerated by the violent dark magic!")
+ to_chat(M, SPAN_USERDANGER("You are eviscerated by the violent dark magic!"))
if(ishuman(M))
if(range < 4)
M.KnockDown(4 SECONDS / range)
diff --git a/code/datums/station_traits/admin_panel.dm b/code/datums/station_traits/admin_panel.dm
index ddf13659ba2..513355ed650 100644
--- a/code/datums/station_traits/admin_panel.dm
+++ b/code/datums/station_traits/admin_panel.dm
@@ -55,7 +55,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta
return TRUE
if(too_late_to_revert())
- to_chat(ui.user, "It's too late to revert station traits, the round has already started!")
+ to_chat(ui.user, SPAN_WARNING("It's too late to revert station traits, the round has already started!"))
return TRUE
if(!station_trait.can_revert)
@@ -71,7 +71,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta
if("setup_future_traits")
if(too_late_for_future_traits())
- to_chat(ui.user, "It's too late to add future station traits, the round is already over!")
+ to_chat(ui.user, SPAN_WARNING("It's too late to add future station traits, the round is already over!"))
return TRUE
var/list/new_future_traits = list()
@@ -80,7 +80,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta
var/datum/station_trait/station_trait_path = text2path(station_trait_text)
if(!ispath(station_trait_path, /datum/station_trait) || station_trait_path == /datum/station_trait)
log_admin("[key_name(ui.user)] tried to set an invalid future station trait: [station_trait_text]")
- to_chat(ui.user, "Invalid future station trait: [station_trait_text]")
+ to_chat(ui.user, SPAN_WARNING("Invalid future station trait: [station_trait_text]"))
return TRUE
station_trait_names += initial(station_trait_path.name)
@@ -102,7 +102,7 @@ USER_VERB(modify_station_traits, R_ADMIN, "Modify Station Traits", "Open the sta
if("clear_future_traits")
if(!future_traits)
- to_chat(ui.user, "There are no future station traits.")
+ to_chat(ui.user, SPAN_WARNING("There are no future station traits."))
return TRUE
var/message = "[key_name(ui.user)] has cleared the station traits for next round."
diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm
index 794d90b7444..e90f487623d 100644
--- a/code/datums/status_effects/buffs.dm
+++ b/code/datums/status_effects/buffs.dm
@@ -75,7 +75,7 @@
icon_state = "shadow_mend"
/datum/status_effect/shadow_mend/on_apply()
- owner.visible_message("Violet light wraps around [owner]'s body!", "Violet light wraps around your body!")
+ owner.visible_message(SPAN_NOTICE("Violet light wraps around [owner]'s body!"), SPAN_NOTICE("Violet light wraps around your body!"))
playsound(owner, 'sound/magic/teleport_app.ogg', 50, 1)
return ..()
@@ -85,7 +85,7 @@
/datum/status_effect/shadow_mend/on_remove()
if(!devil)
- owner.visible_message("The violet light around [owner] glows black!", "The tendrils around you cinch tightly and reap their toll...")
+ owner.visible_message(SPAN_WARNING("The violet light around [owner] glows black!"), SPAN_WARNING("The tendrils around you cinch tightly and reap their toll..."))
playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE)
owner.apply_status_effect(STATUS_EFFECT_VOID_PRICE)
return
@@ -96,14 +96,14 @@
playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE)
L.Beam(owner, "grabber_beam", time = 1 SECONDS, maxdistance = 9)
if(L.can_block_magic(MAGIC_RESISTANCE))
- to_chat(L, "You shake off the tendrils that try to wrap around you!")
+ to_chat(L, SPAN_WARNING("You shake off the tendrils that try to wrap around you!"))
continue
found_someone = TRUE
L.apply_status_effect(STATUS_EFFECT_VOID_PRICE)
if(found_someone)
- owner.visible_message("The violet light around [owner] glows black... and shoots off to those around [owner.p_them()]!", "The tendrils around you cinch tightly... but then unwravel and fly at others!")
+ owner.visible_message(SPAN_WARNING("The violet light around [owner] glows black... and shoots off to those around [owner.p_them()]!"), SPAN_WARNING("The tendrils around you cinch tightly... but then unwravel and fly at others!"))
else
- owner.visible_message("The violet light around [owner] glows black!", "The tendrils around you cinch tightly and reap their toll...")
+ owner.visible_message(SPAN_WARNING("The violet light around [owner] glows black!"), SPAN_WARNING("The tendrils around you cinch tightly and reap their toll..."))
playsound(owner, 'sound/magic/teleport_diss.ogg', 50, TRUE)
owner.apply_status_effect(STATUS_EFFECT_VOID_PRICE)
@@ -325,7 +325,7 @@
/datum/status_effect/hippocratic_oath
id = "Hippocratic Oath"
tick_interval = 25
- examine_text = "They seem to have an aura of healing and helpfulness about them."
+ examine_text = SPAN_NOTICE("They seem to have an aura of healing and helpfulness about them.")
alert_type = null
var/deathTick = 0
/// How many points the rod has to heal with, maxes at 50, or whatever heal_points_max is set to.
@@ -354,7 +354,7 @@
deathTick++
return
- owner.visible_message("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty.")
+ owner.visible_message(SPAN_NOTICE("[owner]'s soul is absorbed into the rod, relieving the previous snake of its duty."))
var/mob/living/basic/snake/healSnake = new(owner.loc)
var/list/chems = list("bicaridine", "perfluorodecalin", "kelotane")
healSnake.poison_type = pick(chems)
@@ -473,7 +473,7 @@
E.fix_burn_wound()
E.mend_fracture()
else
- to_chat(owner, "...But the core was weakened, it is not close enough to the rest of the legions of the necropolis.")
+ to_chat(owner, SPAN_WARNING("...But the core was weakened, it is not close enough to the rest of the legions of the necropolis."))
return TRUE
if(regen_type_applied == "Hivelord")
var/area/A = get_area(H)
@@ -483,7 +483,7 @@
E.fix_burn_wound()
E.mend_fracture()
else
- to_chat(owner, "...But the core was weakened, it is not close enough to the stars to absorb solar radiation...")
+ to_chat(owner, SPAN_WARNING("...But the core was weakened, it is not close enough to the stars to absorb solar radiation..."))
else
owner.bodytemperature = BODYTEMP_NORMAL
return TRUE
@@ -553,27 +553,27 @@
/datum/status_effect/speedlegs/tick()
if(owner.stat || owner.getStaminaLoss() >= 90 || cling.chem_charges <= (stacks + 1) * 3)
- to_chat(owner, "Our muscles relax without the energy to strengthen them.")
+ to_chat(owner, SPAN_DANGER("Our muscles relax without the energy to strengthen them."))
owner.Weaken(6 SECONDS)
qdel(src)
else
stacks++
cling.chem_charges -= stacks * 3 //At first the changeling may regenerate chemicals fast enough to nullify fatigue, but it will stack
if(stacks == 7) //Warning message that the stacks are getting too high
- to_chat(owner, "Our legs are really starting to hurt...")
+ to_chat(owner, SPAN_WARNING("Our legs are really starting to hurt..."))
/datum/status_effect/speedlegs/before_remove()
if(stacks < 3 && !(owner.stat || owner.getStaminaLoss() >= 90 || cling.chem_charges <= (stacks + 1) * 3)) //We don't want people to turn it on and off fast, however, we need it forced off if the 3 later conditions are met.
- to_chat(owner, "Our muscles just tensed up, they will not relax so fast.")
+ to_chat(owner, SPAN_NOTICE("Our muscles just tensed up, they will not relax so fast."))
return FALSE
return TRUE
/datum/status_effect/speedlegs/on_remove()
REMOVE_TRAIT(owner, TRAIT_GOTTAGOFAST, CHANGELING_TRAIT)
if(!owner.IsWeakened())
- to_chat(owner, "Our muscles relax.")
+ to_chat(owner, SPAN_NOTICE("Our muscles relax."))
if(stacks >= 7)
- to_chat(owner, "We collapse in exhaustion.")
+ to_chat(owner, SPAN_DANGER("We collapse in exhaustion."))
owner.Weaken(6 SECONDS)
owner.emote("gasp")
cling = null
@@ -603,7 +603,7 @@
/atom/movable/screen/alert/status_effect/chainsaw
name = "Revved up!"
- desc = "... guts, huge guts! Kill them... must kill them all!"
+ desc = SPAN_DANGER("... guts, huge guts! Kill them... must kill them all!")
icon_state = "chainsaw"
/datum/status_effect/chainsaw_slaying/on_apply()
@@ -637,7 +637,7 @@
/atom/movable/screen/alert/status_effect/breaching_and_cleaving
name = "Breaching and Cleaving!"
- desc = "Doors, people, machines... nothing will stand before your martial prowess!"
+ desc = SPAN_DANGER("Doors, people, machines... nothing will stand before your martial prowess!")
icon_state = "breachcleaver"
/datum/status_effect/breaching_and_cleaving/on_apply()
@@ -705,9 +705,9 @@
"I bet a [pick("vox", "vulp", "nian", "tajaran", "baldie")] could do better than you!",
"You hear people making fun of you for getting robusted.")
if(prob(99))
- to_chat(owner, "[pick(hope_messages)]")
+ to_chat(owner, SPAN_NOTICE("[pick(hope_messages)]"))
else
- to_chat(owner, "[pick(un_hopeful_messages)]")
+ to_chat(owner, SPAN_CULTITALIC("[pick(un_hopeful_messages)]"))
/datum/status_effect/drill_payback
id = "drill_payback"
@@ -731,7 +731,7 @@
/datum/status_effect/drill_payback/tick() // They are not staying down. This will be a fight.
if(!drilled_successfully && (get_dist(owner, drilled) >= 9)) // We don't want someone drilling the safe at arrivals then raiding bridge with the buff
- to_chat(owner, "Get back to the safe, they are going to get the drill!")
+ to_chat(owner, SPAN_USERDANGER("Get back to the safe, they are going to get the drill!"))
times_warned++
if(times_warned >= 6)
owner.remove_status_effect(STATUS_EFFECT_DRILL_PAYBACK)
@@ -822,7 +822,7 @@
qdel(src)
return
if(!is_any_revolutionary(attacker)) // protect from non-revs. Revs dont care about deconverted people
- to_chat(attacker, "[owner] was just deconverted! You don't feel like harming them!")
+ to_chat(attacker, SPAN_BIGGERDANGER("[owner] was just deconverted! You don't feel like harming them!"))
attacker.changeNext_move(CLICK_CD_MELEE)
return COMPONENT_CANCEL_ATTACK_CHAIN
@@ -843,7 +843,7 @@
/atom/movable/screen/alert/status_effect/bearserker_rage
name = "Bearserker Rage"
- desc = "Blood flows between your fingers, and Foh'Sie roars; \"MORE BLOOD!\""
+ desc = SPAN_DANGER("Blood flows between your fingers, and Foh'Sie roars; \"MORE BLOOD!\"")
icon_state = "bearserker"
/datum/status_effect/bearserker_rage/on_apply()
@@ -1070,11 +1070,11 @@
if(owner.bodytemperature >= COMBUSTION_TEMPERATURE)
owner.adjust_fire_stacks(5)
owner.IgniteMob()
- to_chat(owner, "Your components can't handle the heat and combust!")
+ to_chat(owner, SPAN_USERDANGER("Your components can't handle the heat and combust!"))
qdel(src)
stacks += 1
if(stacks == danger_stack_amount)
- to_chat(owner, "Your components are being dangerously overworked!")
+ to_chat(owner, SPAN_USERDANGER("Your components are being dangerously overworked!"))
/atom/movable/screen/alert/status_effect/overclock
name = "Overclocked"
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index e43d3f09cfe..4e3dd0498d6 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -41,7 +41,7 @@
if(get_dist_euclidian(summoner, owner) < 21)
return
owner.adjustBruteLoss(damage)
- to_chat(owner, "You are too far away from the summoner!")
+ to_chat(owner, SPAN_USERDANGER("You are too far away from the summoner!"))
/datum/status_effect/crusher_mark
id = "crusher_mark"
@@ -201,11 +201,11 @@
if(teleports < 3)
return
if(teleports < 6)
- to_chat(M, "You feel a bit sick!")
+ to_chat(M, SPAN_WARNING("You feel a bit sick!"))
M.vomit(lost_nutrition = 15, blood = 0, should_confuse = FALSE, distance = 0, message = 1)
M.Weaken(2 SECONDS)
else
- to_chat(M, "You feel really sick!")
+ to_chat(M, SPAN_DANGER("You feel really sick!"))
M.adjustBruteLoss(rand(0, teleports * 2))
M.vomit(lost_nutrition = 30, blood = 0, should_confuse = FALSE, distance = 0, message = 1)
M.Weaken(6 SECONDS)
@@ -392,7 +392,7 @@
/datum/status_effect/pepper_spray/on_apply()
. = ..()
- to_chat(owner, "Your throat burns!")
+ to_chat(owner, SPAN_DANGER("Your throat burns!"))
owner.AdjustConfused(12 SECONDS, bound_upper = 20 SECONDS)
owner.Slowed(4 SECONDS)
owner.apply_damage(40, STAMINA)
@@ -931,9 +931,9 @@
switch(current_fake_disease)
if(FAKE_COLD)
fake_msg = list(
- list("Your throat feels sore.", "Mucous runs down the back of your throat."),
- list("Your muscles ache.", "Your stomach hurts."),
- list("Your muscles ache.", "Your stomach hurts.")
+ list(SPAN_DANGER("Your throat feels sore."), SPAN_DANGER("Mucous runs down the back of your throat.")),
+ list(SPAN_DANGER("Your muscles ache."), SPAN_DANGER("Your stomach hurts.")),
+ list(SPAN_DANGER("Your muscles ache."), SPAN_DANGER("Your stomach hurts."))
)
fake_emote = list(
list("sneeze", "cough"),
@@ -942,9 +942,9 @@
)
if(FAKE_FOOD_POISONING)
fake_msg = list(
- list("Your stomach feels weird.", "You feel queasy."),
- list("Your stomach aches.", "You feel nauseous."),
- list("Your stomach hurts.", "You feel sick.")
+ list(SPAN_DANGER("Your stomach feels weird."), SPAN_DANGER("You feel queasy.")),
+ list(SPAN_DANGER("Your stomach aches."), SPAN_DANGER("You feel nauseous.")),
+ list(SPAN_DANGER("Your stomach hurts."), SPAN_DANGER("You feel sick."))
)
fake_emote = list(
list(),
@@ -953,9 +953,9 @@
)
if(FAKE_RETRO_VIRUS)
fake_msg = list(
- list("Your head hurts.", "You feel a tingling sensation in your chest.", "You feel angry."),
- list("Your skin feels loose.", "You feel very strange.", "You feel a stabbing pain in your head!", "Your stomach churns."),
- list("Your entire body vibrates.")
+ list(SPAN_DANGER("Your head hurts."), "You feel a tingling sensation in your chest.", SPAN_DANGER("You feel angry.")),
+ list(SPAN_DANGER("Your skin feels loose."), "You feel very strange.", SPAN_DANGER("You feel a stabbing pain in your head!"), SPAN_DANGER("Your stomach churns.")),
+ list(SPAN_DANGER("Your entire body vibrates."))
)
fake_emote = list(
list(),
@@ -964,9 +964,9 @@
)
if(FAKE_TURBERCULOSIS)
fake_msg = list(
- list("Your chest hurts.", "Your stomach violently rumbles!", "You feel a cold sweat form."),
- list("You feel a sharp pain from your lower chest!", "You feel air escape from your lungs painfully."),
- list("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")
+ list(SPAN_DANGER("Your chest hurts."), SPAN_DANGER("Your stomach violently rumbles!"), SPAN_DANGER("You feel a cold sweat form.")),
+ list(SPAN_DANGER("You feel a sharp pain from your lower chest!"), SPAN_DANGER("You feel air escape from your lungs painfully.")),
+ list(SPAN_DANGER("You feel uncomfortably hot..."), SPAN_DANGER("You feel like unzipping your jumpsuit"), SPAN_DANGER("You feel like taking off some clothes..."))
)
fake_emote = list(
list("cough"),
@@ -975,9 +975,9 @@
)
else // FAKE_BRAINROT
fake_msg = list(
- list("You don't feel like yourself."),
- list("Your try to remember something important...but can't."),
- list("Strange buzzing fills your head, removing all thoughts.")
+ list(SPAN_DANGER("You don't feel like yourself.")),
+ list(SPAN_DANGER("Your try to remember something important...but can't.")),
+ list(SPAN_DANGER("Strange buzzing fills your head, removing all thoughts."))
)
fake_emote = list(
list("blink", "yawn"),
@@ -1044,7 +1044,7 @@
for(var/datum/reagent/R in owner.reagents.reagent_list)
owner.reagents.remove_reagent(R.id, 0.75)
if(prob(10))
- to_chat(owner, "Your blood freezes in your veins, get away!")
+ to_chat(owner, SPAN_USERDANGER("Your blood freezes in your veins, get away!"))
/datum/status_effect/bubblegum_curse
id = "bubblegum curse"
@@ -1081,7 +1081,7 @@
var/mob/living/carbon/human/H = owner
H.bleed(0.33)
if(prob(5))
- to_chat(owner, "[pick("You feel your sins crawling on your back.", "You felt your sins weighing on your neck.", "You feel your blood pulsing inside you.", "YOU'LL NEVER ESCAPE ME", "YOU'LL DIE FOR INSULTING ME LIKE THIS")]")
+ to_chat(owner, SPAN_USERDANGER("[pick("You feel your sins crawling on your back.", "You felt your sins weighing on your neck.", "You feel your blood pulsing inside you.", "YOU'LL NEVER ESCAPE ME", "YOU'LL DIE FOR INSULTING ME LIKE THIS")]"))
/datum/status_effect/bubblegum_curse/on_remove()
owner.clear_fullscreen("Bubblegum")
@@ -1090,34 +1090,34 @@
coward_checking = FALSE
var/mob/living/simple_animal/hostile/megafauna/bubblegum/attacker = locateUID(source_UID)
if(owner.z != attacker.z)
- to_chat(owner, "YOU CHALLENGE ME LIKE THIS... AND YOU RUN WITH YOUR FALSE MAGICS?")
+ to_chat(owner, SPAN_COLOSSUS("YOU CHALLENGE ME LIKE THIS... AND YOU RUN WITH YOUR FALSE MAGICS?"))
else
return
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "REALLY?")
+ to_chat(owner, SPAN_COLOSSUS("REALLY?"))
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "SUCH INSOLENCE!")
+ to_chat(owner, SPAN_COLOSSUS("SUCH INSOLENCE!"))
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "SO PATHETIC...")
+ to_chat(owner, SPAN_COLOSSUS("SO PATHETIC..."))
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "...SO FOOLISH!")
+ to_chat(owner, SPAN_COLOSSUS("...SO FOOLISH!"))
get_over_here()
/datum/status_effect/bubblegum_curse/proc/runaway_coward_callback()
coward_checking = FALSE
var/mob/living/simple_animal/hostile/megafauna/bubblegum/attacker = locateUID(source_UID)
if(get_dist(attacker, owner) >= 25)
- to_chat(owner, "My my, you can run FAST.")
+ to_chat(owner, SPAN_COLOSSUS("My my, you can run FAST."))
else
return
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "I thought you wanted a true fight?")
+ to_chat(owner, SPAN_COLOSSUS("I thought you wanted a true fight?"))
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "Perhaps I was mistaken.")
+ to_chat(owner, SPAN_COLOSSUS("Perhaps I was mistaken."))
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "You are a coward who does not want a fight...")
+ to_chat(owner, SPAN_COLOSSUS("You are a coward who does not want a fight..."))
SLEEP_CHECK_QDEL(2 SECONDS)
- to_chat(owner, "...BUT I WANT YOU DEAD!")
+ to_chat(owner, SPAN_COLOSSUS("...BUT I WANT YOU DEAD!"))
get_over_here()
/datum/status_effect/bubblegum_curse/proc/get_over_here()
@@ -1132,27 +1132,27 @@
new /obj/effect/temp_visual/bubblegum_hands/rightsmack(TA)
sleep(6)
var/turf/TB = get_turf(owner)
- to_chat(owner, "[attacker] rends you!")
+ to_chat(owner, SPAN_USERDANGER("[attacker] rends you!"))
playsound(TB, attacker.attack_sound, 100, TRUE, -1)
owner.adjustBruteLoss(10)
new /obj/effect/decal/cleanable/blood/bubblegum(TB)
new /obj/effect/temp_visual/bubblegum_hands/leftsmack(TB)
sleep(6)
var/turf/TC = get_turf(owner)
- to_chat(owner, "[attacker] rends you!")
+ to_chat(owner, SPAN_USERDANGER("[attacker] rends you!"))
playsound(TC, attacker.attack_sound, 100, TRUE, -1)
owner.adjustBruteLoss(10)
new /obj/effect/decal/cleanable/blood/bubblegum(TC)
new /obj/effect/temp_visual/bubblegum_hands/rightsmack(TC)
sleep(6)
var/turf/TD = get_turf(owner)
- to_chat(owner, "[attacker] rends you!")
+ to_chat(owner, SPAN_USERDANGER("[attacker] rends you!"))
playsound(TD, attacker.attack_sound, 100, TRUE, -1)
owner.adjustBruteLoss(10)
new /obj/effect/temp_visual/bubblegum_hands/leftpaw(TD)
new /obj/effect/temp_visual/bubblegum_hands/leftthumb(TD)
sleep(8)
- to_chat(owner, "[attacker] drags you through the blood!")
+ to_chat(owner, SPAN_USERDANGER("[attacker] drags you through the blood!"))
playsound(TD, 'sound/misc/enter_blood.ogg', 100, TRUE, -1)
var/turf/targetturf = get_step(attacker, attacker.dir)
owner.forceMove(targetturf)
@@ -1228,7 +1228,7 @@
return SLOT_MACHINE_USE_CANCEL
if(monologuing)
- to_chat(owner, "Your arm is resisting your attempts to pull the lever!") // listening to kitschy monologues to postpone your powergaming is the true curse here.
+ to_chat(owner, SPAN_WARNING("Your arm is resisting your attempts to pull the lever!")) // listening to kitschy monologues to postpone your powergaming is the true curse here.
return SLOT_MACHINE_USE_POSTPONE
/// Handles the debuffs of this status effect and incrementing the number of curses we have.
@@ -1255,36 +1255,36 @@
var/obj/item/organ/external/affecting = human_owner.get_active_hand()
branded_hand = affecting
- messages += "Your hand burns, and you quickly let go of the lever! You feel a little sick as the nerves deaden in your hand..."
- messages += "Some smoke appears to be coming out of your hand now, but it's not too bad..."
- messages += "Fucking stupid machine."
+ messages += SPAN_BOLDWARNING("Your hand burns, and you quickly let go of the lever! You feel a little sick as the nerves deaden in your hand...")
+ messages += SPAN_BOLDWARNING("Some smoke appears to be coming out of your hand now, but it's not too bad...")
+ messages += SPAN_BOLDWARNING("Fucking stupid machine.")
if(2)
- messages += "The machine didn't burn you this time, it must be some arcane work of the brand recognizing a source..."
- messages += "Blisters and boils start to appear over your skin. Each one hissing searing hot steam out of its own pocket..."
- messages += "You understand that the machine tortures you with its simplistic allure. It can kill you at any moment, but it derives a sick satisfaction at forcing you to keep going."
- messages += "If you could get away from here, you might be able to live with some medical supplies. Is it too late to stop now?"
- messages += "As you shut your eyes to dwell on this conundrum, the brand surges in pain. You shudder to think what might happen if you go unconscious."
+ messages += SPAN_BOLDWARNING("The machine didn't burn you this time, it must be some arcane work of the brand recognizing a source...")
+ messages += SPAN_BOLDWARNING("Blisters and boils start to appear over your skin. Each one hissing searing hot steam out of its own pocket...")
+ messages += SPAN_BOLDWARNING("You understand that the machine tortures you with its simplistic allure. It can kill you at any moment, but it derives a sick satisfaction at forcing you to keep going.")
+ messages += SPAN_BOLDWARNING("If you could get away from here, you might be able to live with some medical supplies. Is it too late to stop now?")
+ messages += SPAN_BOLDWARNING("As you shut your eyes to dwell on this conundrum, the brand surges in pain. You shudder to think what might happen if you go unconscious.")
if(3)
owner.emote("cough")
- messages += "Your throat becomes to feel like it's slowly caking up with sand and dust. You eject the contents of the back of your throat onto your sleeve."
- messages += "It is sand. Crimson red. You've never felt so thirsty in your life, yet you don't trust your own hand to carry the glass to your lips."
- messages += "You get the sneaking feeling that if someone else were to win, that it might clear your curse too. Saving your life is a noble cause."
- messages += "Of course, you might have to not speak on the nature of this machine, in case they scamper off to leave you to die."
- messages += "Is it truly worth it to condemn someone to this fate to cure the manifestation of your own hedonistic urges? You'll have to decide quickly."
+ messages += SPAN_BOLDWARNING("Your throat becomes to feel like it's slowly caking up with sand and dust. You eject the contents of the back of your throat onto your sleeve.")
+ messages += SPAN_BOLDWARNING("It is sand. Crimson red. You've never felt so thirsty in your life, yet you don't trust your own hand to carry the glass to your lips.")
+ messages += SPAN_BOLDWARNING("You get the sneaking feeling that if someone else were to win, that it might clear your curse too. Saving your life is a noble cause.")
+ messages += SPAN_BOLDWARNING("Of course, you might have to not speak on the nature of this machine, in case they scamper off to leave you to die.")
+ messages += SPAN_BOLDWARNING("Is it truly worth it to condemn someone to this fate to cure the manifestation of your own hedonistic urges? You'll have to decide quickly.")
if(4)
- messages += "A migraine swells over your head as your thoughts become hazy. Your hand desperately inches closer towards the slot machine for one final pull..."
- messages += "The ultimate test of mind over matter. You can jerk your own muscle back in order to prevent a terrible fate, but your life already is worth so little now."
- messages += "This is what they want, is it not? To witness your failure against itself? The compulsion carries you forward as a sinking feeling of dread fills your stomach."
- messages += "Paradoxically, where there is hopelessness, there is elation. Elation at the fact that there's still enough power in you for one more pull."
- messages += "Your legs desperately wish to jolt away on the thought of running away from this wretched machination, but your own arm remains complacent in the thought of seeing spinning wheels."
- messages += "The toll has already been exacted. There is no longer death on 'your' terms. Is your dignity worth more than your life?"
+ messages += SPAN_BOLDWARNING("A migraine swells over your head as your thoughts become hazy. Your hand desperately inches closer towards the slot machine for one final pull...")
+ messages += SPAN_BOLDWARNING("The ultimate test of mind over matter. You can jerk your own muscle back in order to prevent a terrible fate, but your life already is worth so little now.")
+ messages += SPAN_BOLDWARNING("This is what they want, is it not? To witness your failure against itself? The compulsion carries you forward as a sinking feeling of dread fills your stomach.")
+ messages += SPAN_BOLDWARNING("Paradoxically, where there is hopelessness, there is elation. Elation at the fact that there's still enough power in you for one more pull.")
+ messages += SPAN_BOLDWARNING("Your legs desperately wish to jolt away on the thought of running away from this wretched machination, but your own arm remains complacent in the thought of seeing spinning wheels.")
+ messages += SPAN_USERDANGER("The toll has already been exacted. There is no longer death on 'your' terms. Is your dignity worth more than your life?")
if(5 to INFINITY)
if(max_curse_count != DEFAULT_MAX_CURSE_COUNT) // this probably will only happen through admin schenanigans letting people stack up infinite curses or something
- to_chat(owner, "Do you still think you're in control?")
+ to_chat(owner, SPAN_USERDANGER("Do you still think you're in control?"))
return
to_chat(owner, "Why couldn't I get one more try?!")
@@ -1301,8 +1301,8 @@
SIGNAL_HANDLER
owner.visible_message(
- "The smoke slowly clears from [owner.name]...",
- "Your skin finally settles down and your throat no longer feels as dry... The brand disappearing confirms that the curse has been lifted.",)
+ SPAN_WARNING("The smoke slowly clears from [owner.name]..."),
+ SPAN_NOTICE("Your skin finally settles down and your throat no longer feels as dry... The brand disappearing confirms that the curse has been lifted."),)
qdel(src)
/// If our owner's stat changes, rapidly surge the damage chance.
@@ -1312,7 +1312,7 @@
damage_chance = initial(damage_chance)
return
- to_chat(owner, "As your body crumbles, you feel the curse of the slot machine surge through your body!")
+ to_chat(owner, SPAN_USERDANGER("As your body crumbles, you feel the curse of the slot machine surge through your body!"))
damage_chance += 75 //ruh roh raggy
/// If our owner dies without getting gibbed, we gib them, because fuck you baltamore
@@ -1458,11 +1458,11 @@
. = ..()
SEND_SOUND(owner, sound('sound/weapons/sear.ogg'))
if(issilicon(owner))
- to_chat(owner, "The unnatural rust magically corrodes your body!")
+ to_chat(owner, SPAN_USERDANGER("The unnatural rust magically corrodes your body!"))
owner.adjustBruteLoss(10)
return
//We don't have disgust, so...
- to_chat(owner, "The unnatural rust makes you feel sick!")
+ to_chat(owner, SPAN_USERDANGER("The unnatural rust makes you feel sick!"))
if(ishuman(owner))
owner.adjustBrainLoss(2.5)
owner.reagents?.remove_all(0.75)
@@ -1516,7 +1516,7 @@
/datum/status_effect/temporal_slash_finisher/tick()
. = ..()
- owner.visible_message("[owner] gets slashed by a cut through spacetime!", "You get slashed by a cut through spacetime!")
+ owner.visible_message(SPAN_DANGER("[owner] gets slashed by a cut through spacetime!"), SPAN_USERDANGER("You get slashed by a cut through spacetime!"))
playsound(owner, 'sound/weapons/rapierhit.ogg', 50, TRUE)
owner.apply_damage(damage_per_cut, BRUTE, pick(BODY_ZONE_CHEST, BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_ARM, BODY_ZONE_R_LEG), 0, TRUE, null, FALSE)
cuts--
diff --git a/code/datums/status_effects/gas.dm b/code/datums/status_effects/gas.dm
index 6375e03dca6..d06b224e42d 100644
--- a/code/datums/status_effects/gas.dm
+++ b/code/datums/status_effects/gas.dm
@@ -13,7 +13,7 @@
/datum/status_effect/freon/on_apply()
RegisterSignal(owner, COMSIG_LIVING_RESIST, PROC_REF(owner_resist))
if(!owner.stat)
- to_chat(owner, "You become frozen in a cube!")
+ to_chat(owner, SPAN_USERDANGER("You become frozen in a cube!"))
cube = icon('icons/effects/freeze.dmi', "ice_cube")
owner.add_overlay(cube)
ADD_TRAIT(owner, TRAIT_IMMOBILIZED, "[id]")
diff --git a/code/datums/status_effects/magic_disguise.dm b/code/datums/status_effects/magic_disguise.dm
index b864b51bec2..bb68c8dff2d 100644
--- a/code/datums/status_effects/magic_disguise.dm
+++ b/code/datums/status_effects/magic_disguise.dm
@@ -27,7 +27,7 @@
if(disguise)
apply_disguise(owner)
else
- to_chat(owner, "Your spell fails to find a disguise!")
+ to_chat(owner, SPAN_WARNING("Your spell fails to find a disguise!"))
return FALSE
RegisterSignal(owner, list(COMSIG_MOB_APPLY_DAMAGE, COMSIG_HUMAN_ATTACKED, COMSIG_SPECIES_HITBY), PROC_REF(remove_disguise))
@@ -75,7 +75,7 @@
H.update_inv_l_hand()
H.sec_hud_set_ID()
SEND_SIGNAL(H, COMSIG_CARBON_REGENERATE_ICONS)
- to_chat(H, "You disguise yourself as [disguise.name].")
+ to_chat(H, SPAN_NOTICE("You disguise yourself as [disguise.name]."))
/datum/status_effect/magic_disguise/proc/remove_disguise()
SIGNAL_HANDLER // COMSIG_MOB_APPLY_DAMAGE + COMSIG_HUMAN_ATTACKED + COMSIG_SPECIES_HITBY
diff --git a/code/datums/status_effects/neutral.dm b/code/datums/status_effects/neutral.dm
index 868afa9f971..7344dd29132 100644
--- a/code/datums/status_effects/neutral.dm
+++ b/code/datums/status_effects/neutral.dm
@@ -79,7 +79,7 @@
return
/datum/status_effect/high_five/proc/regular_effect(mob/living/carbon/user, mob/living/carbon/highfived)
- user.visible_message("[user.name] and [highfived.name] [success]")
+ user.visible_message(SPAN_NOTICE("[user.name] and [highfived.name] [success]"))
/datum/status_effect/high_five/on_apply()
if(!iscarbon(owner))
@@ -93,7 +93,7 @@
if(!C.has_status_effect(type) || C == user)
continue
if(is_wiz && iswizard(C))
- user.visible_message("[user.name] and [C.name] [critical_success]")
+ user.visible_message(SPAN_BIGGERDANGER("[user.name] and [C.name] [critical_success]"))
wiz_effect(user, C)
both_wiz = TRUE
user.do_attack_animation(C, no_effect = TRUE)
@@ -158,7 +158,7 @@
/datum/status_effect/high_five/offering_eftpos/proc/on_ranged_attack(mob/living/me, mob/living/carbon/human/attacker)
SIGNAL_HANDLER // COMSIG_ATOM_RANGED_ATTACKED
if(get_dist(me, attacker) <= 2)
- to_chat(attacker, "You need to have your ID in hand to scan it!")
+ to_chat(attacker, SPAN_WARNING("You need to have your ID in hand to scan it!"))
return COMPONENT_CANCEL_ATTACK_CHAIN
/datum/status_effect/high_five/handshake
@@ -227,14 +227,14 @@
outcome_msg = "[highfived] wins!"
user.visible_message(
- "[user] plays [move], and [highfived] plays [their_status_effect.move].",
- "[highfived] plays [their_status_effect.move].",
- "It sounds like rock-paper-scissors."
+ SPAN_NOTICE("[user] plays [move], and [highfived] plays [their_status_effect.move]."),
+ SPAN_NOTICE("[highfived] plays [their_status_effect.move]."),
+ SPAN_NOTICE("It sounds like rock-paper-scissors.")
)
user.visible_message(
- "[outcome_msg]",
- blind_message = "It sounds like [pick(user, highfived)] won!" // you're blind how are you supposed to know
+ SPAN_WARNING("[outcome_msg]"),
+ blind_message = SPAN_NOTICE("It sounds like [pick(user, highfived)] won!") // you're blind how are you supposed to know
)
/datum/status_effect/high_five/rps/on_creation(mob/living/new_owner, made_move)
@@ -248,14 +248,14 @@
/datum/status_effect/high_five/rps/on_apply()
if(!isnull(move))
- to_chat(owner, "You prepare to play [move].")
+ to_chat(owner, SPAN_NOTICE("You prepare to play [move]."))
return ..() // we already have the move, probably from the emote passing it in
move = get_rock_paper_scissors_move(owner)
if(move == null)
return FALSE // make it auto-remove itself
- to_chat(owner, "You prepare to play [move].")
+ to_chat(owner, SPAN_NOTICE("You prepare to play [move]."))
return ..()
diff --git a/code/datums/uplink_items/uplink_general.dm b/code/datums/uplink_items/uplink_general.dm
index 108650fb6dc..becc5a73129 100644
--- a/code/datums/uplink_items/uplink_general.dm
+++ b/code/datums/uplink_items/uplink_general.dm
@@ -102,7 +102,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
if(hijack_only && !(usr.mind.special_role == SPECIAL_ROLE_NUKEOPS))//nukies get items that regular traitors only get with hijack. If a hijack-only item is not for nukies, then exclude it via the gamemode list.
if(!(locate(/datum/objective/hijack) in usr.mind.get_all_objectives() || locate(/datum/objective/nuke) in usr.mind.get_all_objectives()) && U.uplink_type != UPLINK_TYPE_ADMIN)
- to_chat(usr, "The Syndicate will only issue this extremely dangerous item to agents assigned to hijack the shuttle, or detonate the station's nuclear device.")
+ to_chat(usr, SPAN_WARNING("The Syndicate will only issue this extremely dangerous item to agents assigned to hijack the shuttle, or detonate the station's nuclear device."))
return
U.uses -= max(cost, 0)
diff --git a/code/datums/uplink_items/uplink_traitor.dm b/code/datums/uplink_items/uplink_traitor.dm
index e88a6423441..666815a5d28 100644
--- a/code/datums/uplink_items/uplink_traitor.dm
+++ b/code/datums/uplink_items/uplink_traitor.dm
@@ -683,13 +683,13 @@
var/datum/mind/mind = usr.mind
var/datum/antagonist/traitor/AT = mind.has_antag_datum(/datum/antagonist/traitor)
if(LAZYACCESS(GLOB.contractors, mind))
- to_chat(usr, "Error: Contractor credentials detected for the current user. Unable to provide another Contractor kit.")
+ to_chat(usr, SPAN_WARNING("Error: Contractor credentials detected for the current user. Unable to provide another Contractor kit."))
return
else if(!AT)
- to_chat(usr, "Error: Embedded Syndicate credentials not found.")
+ to_chat(usr, SPAN_WARNING("Error: Embedded Syndicate credentials not found."))
return
else if(IS_CHANGELING(usr) || mind.has_antag_datum(/datum/antagonist/vampire))
- to_chat(usr, "Error: Embedded Syndicate credentials contain an abnormal signature. Aborting.")
+ to_chat(usr, SPAN_WARNING("Error: Embedded Syndicate credentials contain an abnormal signature. Aborting."))
return
var/obj/item/I = ..()
diff --git a/code/datums/vv_core_topics.dm b/code/datums/vv_core_topics.dm
index 94a3f26dc05..a00685c8ac9 100644
--- a/code/datums/vv_core_topics.dm
+++ b/code/datums/vv_core_topics.dm
@@ -12,7 +12,7 @@
var/D = locateUID(href_list["datumedit"])
if(!istype(D,/datum) && !isclient(D))
- to_chat(usr, "This can only be used on instances of types /client or /datum.")
+ to_chat(usr, SPAN_NOTICE("This can only be used on instances of types /client or /datum."))
return
modify_variables(D, href_list["varnameedit"], 1)
@@ -22,7 +22,7 @@
var/D = locateUID(href_list["datumchange"])
if(!istype(D,/datum) && !isclient(D))
- to_chat(usr, "This can only be used on instances of types /client or /datum.")
+ to_chat(usr, SPAN_NOTICE("This can only be used on instances of types /client or /datum."))
return
modify_variables(D, href_list["varnamechange"], 0)
@@ -32,7 +32,7 @@
var/atom/A = locateUID(href_list["datummass"])
if(!istype(A))
- to_chat(usr, "This can only be used on instances of type /atom.")
+ to_chat(usr, SPAN_NOTICE("This can only be used on instances of type /atom."))
return
cmd_mass_modify_object_variables(A, href_list["varnamemass"])
@@ -46,7 +46,7 @@
if(!check_rights(0)) return
if(!istype(target))
- to_chat(usr, "This can only be done to instances of type /datum.")
+ to_chat(usr, SPAN_NOTICE("This can only be done to instances of type /datum."))
return
holder.marked_datum = target
@@ -76,7 +76,7 @@
return
if(QDELETED(target))
- to_chat(usr, "That thing doesn't exist anymore!", confidential = TRUE)
+ to_chat(usr, SPAN_NOTICE("That thing doesn't exist anymore!"), confidential = TRUE)
return
var/list/lst = get_callproc_args()
@@ -92,7 +92,7 @@
datumname = "element"
target._AddElement(lst)
log_admin("[key_name(usr)] has added [result] [datumname] to [key_name(target)].")
- message_admins("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(target)].")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] has added [result] [datumname] to [key_name_admin(target)]."))
if(href_list[VV_HK_REMOVECOMPONENT] || href_list[VV_HK_MASSREMOVECOMPONENT])
if(!check_rights(NONE))
return
@@ -111,7 +111,7 @@
if(!usr || path == "---Components---" || path == "---Elements---")
return
if(QDELETED(target))
- to_chat(usr, "That thing doesn't exist anymore!")
+ to_chat(usr, SPAN_NOTICE("That thing doesn't exist anymore!"))
return
var/list/targets_to_remove_from = list(target)
if(mass_remove)
@@ -133,4 +133,4 @@
for(var/to_delete in components_actual)
qdel(to_delete)
- message_admins("[key_name_admin(usr)] has [mass_remove ? "mass" : ""] removed [path] component from [mass_remove ? target.type : key_name_admin(target)].")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] has [mass_remove ? "mass" : ""] removed [path] component from [mass_remove ? target.type : key_name_admin(target)]."))
diff --git a/code/datums/weather/weather_datum.dm b/code/datums/weather/weather_datum.dm
index 60c1e9def20..c2f5ed99abd 100644
--- a/code/datums/weather/weather_datum.dm
+++ b/code/datums/weather/weather_datum.dm
@@ -6,12 +6,12 @@ GLOBAL_LIST_EMPTY(all_shelter_pods)
var/name = "space wind"
var/desc = "Heavy gusts of wind blanket the area, periodically knocking down anyone caught in the open."
- var/telegraph_message = "The wind begins to pick up." //The message displayed in chat to foreshadow the weather's beginning
+ var/telegraph_message = SPAN_WARNING("The wind begins to pick up.") //The message displayed in chat to foreshadow the weather's beginning
var/telegraph_duration = 300 //In deciseconds, how long from the beginning of the telegraph until the weather begins
var/telegraph_sound //The sound file played to everyone on an affected z-level
var/telegraph_overlay //The overlay applied to all tiles on the z-level
- var/weather_message = "The wind begins to blow ferociously!" //Displayed in chat once the weather begins in earnest
+ var/weather_message = SPAN_USERDANGER("The wind begins to blow ferociously!") //Displayed in chat once the weather begins in earnest
var/weather_duration = 1200 //In deciseconds, how long the weather lasts once it begins
var/weather_duration_lower = 1200 //See above - this is the lowest possible duration
var/weather_duration_upper = 1500 //See above - this is the highest possible duration
@@ -19,7 +19,7 @@ GLOBAL_LIST_EMPTY(all_shelter_pods)
var/weather_overlay
var/weather_color = null
- var/end_message = "The wind relents its assault." //Displayed once the wather is over
+ var/end_message = SPAN_DANGER("The wind relents its assault.") //Displayed once the wather is over
var/end_duration = 300 //In deciseconds, how long the "wind-down" graphic will appear before vanishing entirely
var/end_sound
var/end_overlay
diff --git a/code/datums/weather/weather_types/floor_is_lava.dm b/code/datums/weather/weather_types/floor_is_lava.dm
index 6348084f174..e3c8fa1614f 100644
--- a/code/datums/weather/weather_types/floor_is_lava.dm
+++ b/code/datums/weather/weather_types/floor_is_lava.dm
@@ -3,15 +3,15 @@
name = "the floor is lava"
desc = "The ground turns into surprisingly cool lava, lightly damaging anything on the floor."
- telegraph_message = "You feel the ground beneath you getting hot. Waves of heat distort the air."
+ telegraph_message = SPAN_WARNING("You feel the ground beneath you getting hot. Waves of heat distort the air.")
telegraph_duration = 150
- weather_message = "The floor is lava! Get on top of something!"
+ weather_message = SPAN_USERDANGER("The floor is lava! Get on top of something!")
weather_duration_lower = 300
weather_duration_upper = 600
weather_overlay = "lava"
- end_message = "The ground cools and returns to its usual form."
+ end_message = SPAN_DANGER("The ground cools and returns to its usual form.")
end_duration = 0
area_types = list(/area)
diff --git a/code/datums/weather/weather_types/lavaland_weather.dm b/code/datums/weather/weather_types/lavaland_weather.dm
index 74978e6557c..7191b604eb6 100644
--- a/code/datums/weather/weather_types/lavaland_weather.dm
+++ b/code/datums/weather/weather_types/lavaland_weather.dm
@@ -6,15 +6,15 @@
name = "Ash storm"
desc = "An intense atmospheric storm lifts ash off of the planet's surface and billows it down across the area, dealing intense fire damage to the unprotected."
- telegraph_message = "An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter."
+ telegraph_message = SPAN_BOLDWARNING("An eerie moan rises on the wind. Sheets of burning ash blacken the horizon. Seek shelter.")
telegraph_overlay = "light_ash"
- weather_message = "Smoldering clouds of scorching ash billow down around you! Get inside!"
+ weather_message = SPAN_USERDANGER("Smoldering clouds of scorching ash billow down around you! Get inside!")
weather_duration_lower = 600
weather_duration_upper = 1200
weather_overlay = "ash_storm"
- end_message = "The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now."
+ end_message = SPAN_BOLDANNOUNCEIC("The shrieking wind whips away the last of the ash and falls to its usual murmur. It should be safe to go outside now.")
end_overlay = "light_ash"
area_types = list(/area/lavaland/surface/outdoors, /area/lavaland/surface/gulag_rock)
@@ -105,10 +105,10 @@
name = "Emberfall"
desc = "A passing ash storm blankets the area in harmless embers."
- weather_message = "Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by..."
+ weather_message = SPAN_NOTICE("Gentle embers waft down around you like grotesque snow. The storm seems to have passed you by...")
weather_overlay = "light_ash"
- end_message = "The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet."
+ end_message = SPAN_NOTICE("The emberfall slows, stops. Another layer of hardened soot to the basalt beneath your feet.")
end_sound = null
aesthetic = TRUE
@@ -118,11 +118,11 @@
name = "Volcanic activity"
desc = "The shifting tectonic forces on the unstable planet have caused volcanic activity in the area. New rivers/chasms will form and chunks of rock will rain from the sky."
- telegraph_message = "The ground rumbles with an ominous strength, threatening to shift below you. Seek shelter."
+ telegraph_message = SPAN_BOLDWARNING("The ground rumbles with an ominous strength, threatening to shift below you. Seek shelter.")
telegraph_duration = 600
telegraph_sound = 'sound/weather/volcano/lavaland_volcano_warning.ogg'
- weather_message = "A massive plume of smoke and magma can be seen billowing in the distance. The ground quakes and threatens to split. Find shelter now!."
+ weather_message = SPAN_USERDANGER("A massive plume of smoke and magma can be seen billowing in the distance. The ground quakes and threatens to split. Find shelter now!.")
weather_duration_lower = 600
weather_duration_upper = 1200
weather_sound = 'sound/weather/volcano/lavaland_volcano_eruption.ogg'
@@ -231,7 +231,7 @@
L.visible_message("[L.name] easily withstands the hit of the massive rock!")
return
else
- L.visible_message("[L.name] is crushed under the massive impact of the boulder!", "You are crushed as a massive weight suddenly descends upon you!", "You hear wet splatters as something is hit with a massive object!")
+ L.visible_message(SPAN_DANGER("[L.name] is crushed under the massive impact of the boulder!"), SPAN_USERDANGER("You are crushed as a massive weight suddenly descends upon you!"), SPAN_DANGER("You hear wet splatters as something is hit with a massive object!"))
L.gib()
if(!islava(T) && !istype(T, /turf/simulated/floor/chasm)) // Splash harmlessly into the lava pools
for(var/obj/structure/thing in T.contents) // dont cover the tendrils
@@ -247,16 +247,16 @@
name = "Acidic rain"
desc = "Emissions of sulfur and carbon into the atmosphere results in the formation of acid particulate in the ashen clouds. Eventually, enough collects that it will fall back down as sulfuric acid rain. NT brand shelter pods capsules are not rated for this level of acid."
- telegraph_message = "The sound of tiny drops begins to splatter against the ground, sizzling against the ash and stone. Seek shelter."
+ telegraph_message = SPAN_BOLDWARNING("The sound of tiny drops begins to splatter against the ground, sizzling against the ash and stone. Seek shelter.")
telegraph_duration = 600
telegraph_overlay = "light_ash"
- weather_message = "Acidic rain begins to pour down in thick sheets, melting rock and flesh alike. Get inside now!"
+ weather_message = SPAN_USERDANGER("Acidic rain begins to pour down in thick sheets, melting rock and flesh alike. Get inside now!")
weather_duration_lower = 600
weather_duration_upper = 1200
weather_overlay = "acid_rain"
- end_message = "The pitter of acidic dropples slows to silence. It should be safe to go outside now."
+ end_message = SPAN_BOLDANNOUNCEIC("The pitter of acidic dropples slows to silence. It should be safe to go outside now.")
end_overlay = "light_ash"
area_types = list(/area/lavaland/surface/outdoors, /area/lavaland/surface/gulag_rock)
@@ -364,16 +364,16 @@
name = "High-velocity wind"
desc = "High-pressure barometrics in the area have caused a radical change in air pressure, resulting in high-speed winds in the immediate vicinity."
- telegraph_message = "The wind begins to pick up, whipping against your body with an ominous intensity. Seek shelter."
+ telegraph_message = SPAN_BOLDWARNING("The wind begins to pick up, whipping against your body with an ominous intensity. Seek shelter.")
telegraph_duration = 600
telegraph_overlay = "light_ash"
- weather_message = "The wind rises into a furious rage, kicking up dirt and ash in its wake. Get inside now!"
+ weather_message = SPAN_USERDANGER("The wind rises into a furious rage, kicking up dirt and ash in its wake. Get inside now!")
weather_duration_lower = 600
weather_duration_upper = 1200
weather_overlay = "wind"
- end_message = "The wind calms into its normal rhythms, dust settling back to the ashen surface. It should be safe to go outside now."
+ end_message = SPAN_BOLDANNOUNCEIC("The wind calms into its normal rhythms, dust settling back to the ashen surface. It should be safe to go outside now.")
end_overlay = "light_ash"
area_types = list(/area/lavaland/surface/outdoors, /area/lavaland/surface/gulag_rock)
diff --git a/code/datums/weather/weather_types/radiation_storm.dm b/code/datums/weather/weather_types/radiation_storm.dm
index 08888d5610a..9cd4540bdc7 100644
--- a/code/datums/weather/weather_types/radiation_storm.dm
+++ b/code/datums/weather/weather_types/radiation_storm.dm
@@ -13,16 +13,16 @@
desc = "A cloud of intense radiation passes through the area dealing rad damage to those who are unprotected."
telegraph_duration = 400
- telegraph_message = "The air begins to grow warm."
+ telegraph_message = SPAN_DANGER("The air begins to grow warm.")
- weather_message = "You feel waves of heat wash over you! Find shelter!"
+ weather_message = SPAN_USERDANGER("You feel waves of heat wash over you! Find shelter!")
weather_overlay = "ash_storm"
weather_duration_lower = 600
weather_color = "green"
weather_sound = 'sound/misc/bloblarm.ogg'
end_duration = 100
- end_message = "The air seems to be cooling off again."
+ end_message = SPAN_NOTICE("The air seems to be cooling off again.")
var/pre_maint_all_access
area_types = list(/area)
protected_areas = list(
diff --git a/code/datums/weather/weather_types/snow_storm.dm b/code/datums/weather/weather_types/snow_storm.dm
index 6e9b0dfa7ad..99a86b418fa 100644
--- a/code/datums/weather/weather_types/snow_storm.dm
+++ b/code/datums/weather/weather_types/snow_storm.dm
@@ -3,15 +3,15 @@
desc = "Harsh snowstorms roam the topside of this arctic planet, burying any area unfortunate enough to be in its path."
// probability = 90
- telegraph_message = "Drifting particles of snow begin to dust the surrounding area.."
+ telegraph_message = SPAN_WARNING("Drifting particles of snow begin to dust the surrounding area..")
telegraph_overlay = "light_snow"
- weather_message = "Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!"
+ weather_message = SPAN_USERDANGER("Harsh winds pick up as dense snow begins to fall from the sky! Seek shelter!")
weather_overlay = "snow_storm"
weather_duration_lower = 600
end_duration = 100
- end_message = "The snowfall dies down, it should be safe to go outside again."
+ end_message = SPAN_BOLDANNOUNCEIC("The snowfall dies down, it should be safe to go outside again.")
// area_type = /area/awaymission/snowdin/outside
target_trait = AWAY_LEVEL
diff --git a/code/datums/weather/weather_types/solar_flare.dm b/code/datums/weather/weather_types/solar_flare.dm
index 3982c409035..c6b6b51ea62 100644
--- a/code/datums/weather/weather_types/solar_flare.dm
+++ b/code/datums/weather/weather_types/solar_flare.dm
@@ -5,7 +5,7 @@
telegraph_duration = 40 SECONDS
telegraph_message = null // handled via event announcement
- weather_message = "A solar flare has arrived! Do not conduct space walks or approach windows until the flare has passed!"
+ weather_message = SPAN_USERDANGER("A solar flare has arrived! Do not conduct space walks or approach windows until the flare has passed!")
weather_overlay = "light_ash"
weather_duration_lower = 1 MINUTES
weather_duration_upper = 5 MINUTES
@@ -61,7 +61,7 @@
L.adjustFireLoss(adjusted_damage)
L.flash_eyes()
if(prob(25))
- to_chat(L, "The solar flare burns you! Seek shelter!")
+ to_chat(L, SPAN_WARNING("The solar flare burns you! Seek shelter!"))
/datum/weather/solar_flare/end()
if(..())
diff --git a/code/datums/wires/airlock_wires.dm b/code/datums/wires/airlock_wires.dm
index caa1c9ea625..53b787ce509 100644
--- a/code/datums/wires/airlock_wires.dm
+++ b/code/datums/wires/airlock_wires.dm
@@ -166,9 +166,9 @@
//raises them if they are down (only if power's on)
if(!A.locked)
if(A.lock())
- A.audible_message("You hear a click from the bottom of the door.", hearing_distance = 1)
+ A.audible_message(SPAN_ITALICS("You hear a click from the bottom of the door."), hearing_distance = 1)
else if(A.unlock())
- A.audible_message("You hear a click from the bottom of the door.", hearing_distance = 1)
+ A.audible_message(SPAN_ITALICS("You hear a click from the bottom of the door."), hearing_distance = 1)
if(WIRE_BACKUP_POWER1)
//two wires for backup power. Sending a pulse through either one causes a breaker to trip, but this does not disable it unless main power is down too (in which case it is disabled for 1 minute or however long it takes main power to come back, whichever is shorter).
diff --git a/code/datums/wires/mulebot_wires.dm b/code/datums/wires/mulebot_wires.dm
index 437b32bc211..ceb0b2e7c7f 100644
--- a/code/datums/wires/mulebot_wires.dm
+++ b/code/datums/wires/mulebot_wires.dm
@@ -21,13 +21,13 @@
/datum/wires/mulebot/on_pulse(wire)
switch(wire)
if(WIRE_MAIN_POWER1, WIRE_MAIN_POWER2)
- holder.visible_message("[bicon(holder)] The charge light flickers.")
+ holder.visible_message(SPAN_NOTICE("[bicon(holder)] The charge light flickers."))
if(WIRE_MOB_AVOIDANCE)
- holder.visible_message("[bicon(holder)] The external warning lights flash briefly.")
+ holder.visible_message(SPAN_NOTICE("[bicon(holder)] The external warning lights flash briefly."))
if(WIRE_LOADCHECK)
- holder.visible_message("[bicon(holder)] The load platform clunks.")
+ holder.visible_message(SPAN_NOTICE("[bicon(holder)] The load platform clunks."))
if(WIRE_MOTOR1, WIRE_MOTOR2)
- holder.visible_message("[bicon(holder)] The drive motor whines briefly.")
+ holder.visible_message(SPAN_NOTICE("[bicon(holder)] The drive motor whines briefly."))
else
- holder.visible_message("[bicon(holder)] You hear a radio crackle.")
+ holder.visible_message(SPAN_NOTICE("[bicon(holder)] You hear a radio crackle."))
..()
diff --git a/code/datums/wires/nuclearbomb_wires.dm b/code/datums/wires/nuclearbomb_wires.dm
index 0fe19c82952..457cf344d97 100644
--- a/code/datums/wires/nuclearbomb_wires.dm
+++ b/code/datums/wires/nuclearbomb_wires.dm
@@ -29,7 +29,7 @@
switch(wire)
if(WIRE_NUKE_SAFETY)
if(!is_cut(WIRE_NUKE_CONTROL))
- N.audible_message("The safety controls flicker.", hearing_distance = 1)
+ N.audible_message(SPAN_NOTICE("The safety controls flicker."), hearing_distance = 1)
if(WIRE_NUKE_DETONATOR)
if(N.timing)
@@ -37,30 +37,30 @@
message_admins("[key_name_admin(usr)] pulsed a nuclear bomb's detonator wire, causing it to explode (JMP)")
N.explode()
else
- N.audible_message("[N] whirrs ominously.", hearing_distance = 1)
+ N.audible_message(SPAN_WARNING("[N] whirrs ominously."), hearing_distance = 1)
if(WIRE_NUKE_DISARM)
if(N.timing && is_cut(WIRE_NUKE_CONTROL))
if(!is_cut(WIRE_NUKE_LIGHT))
N.icon_state = N.sprite_prefix + "nuclearbomb1"
N.timing = FALSE
- N.audible_message("The timer on [N] stops!", hearing_distance = 1)
+ N.audible_message(SPAN_BOLDNOTICE("The timer on [N] stops!"), hearing_distance = 1)
N.update_icon(UPDATE_OVERLAYS)
if(!N.training)
GLOB.bomb_set = FALSE
if(!N.is_syndicate && !N.training)
SSsecurity_level.set_level(N.previous_level)
else if(N.timing && !is_cut(WIRE_NUKE_CONTROL))
- N.audible_message("The disarm controls flash with an error. You need to disable the control panel first!", hearing_distance = 1)
+ N.audible_message(SPAN_BOLDNOTICE("The disarm controls flash with an error. You need to disable the control panel first!"), hearing_distance = 1)
else if(!is_cut(WIRE_NUKE_CONTROL))
- N.audible_message("The disarm controls flicker.", hearing_distance = 1)
+ N.audible_message(SPAN_NOTICE("The disarm controls flicker."), hearing_distance = 1)
if(WIRE_NUKE_LIGHT)
- N.audible_message("The lights on [N] flicker.", hearing_distance = 1)
+ N.audible_message(SPAN_NOTICE("The lights on [N] flicker."), hearing_distance = 1)
flick(N.sprite_prefix + "nuclearbombc", N)
if(WIRE_NUKE_CONTROL)
- N.audible_message("[N]'s control panel flickers.", hearing_distance = 1)
+ N.audible_message(SPAN_NOTICE("[N]'s control panel flickers."), hearing_distance = 1)
/datum/wires/nuclearbomb/on_cut(wire, mend)
var/obj/machinery/nuclearbomb/N = holder
diff --git a/code/datums/wires/syndicatebomb_wires.dm b/code/datums/wires/syndicatebomb_wires.dm
index e8cb953f43b..5f585bf64f0 100644
--- a/code/datums/wires/syndicatebomb_wires.dm
+++ b/code/datums/wires/syndicatebomb_wires.dm
@@ -19,20 +19,20 @@
switch(wire)
if(WIRE_EXPLODE)
if(B.active)
- holder.visible_message("[bicon(B)] An alarm sounds! It's go-")
+ holder.visible_message(SPAN_DANGER("[bicon(B)] An alarm sounds! It's go-"))
B.explode_now = TRUE
if(WIRE_BOMB_UNBOLT)
- holder.visible_message("[bicon(holder)] The bolts spin in place for a moment.")
+ holder.visible_message(SPAN_NOTICE("[bicon(holder)] The bolts spin in place for a moment."))
if(WIRE_BOMB_DELAY)
if(B.delayedbig)
- holder.visible_message("[bicon(B)] The bomb has already been delayed.")
+ holder.visible_message(SPAN_NOTICE("[bicon(B)] The bomb has already been delayed."))
else
- holder.visible_message("[bicon(B)] The bomb chirps.")
+ holder.visible_message(SPAN_NOTICE("[bicon(B)] The bomb chirps."))
playsound(B, 'sound/machines/chime.ogg', 30, 1)
B.detonation_timer += 300
B.delayedbig = TRUE
if(WIRE_BOMB_PROCEED)
- holder.visible_message("[bicon(B)] The bomb buzzes ominously!")
+ holder.visible_message(SPAN_DANGER("[bicon(B)] The bomb buzzes ominously!"))
playsound(B, 'sound/machines/buzz-sigh.ogg', 30, 1)
var/seconds = B.seconds_remaining()
if(seconds >= 61) // Long fuse bombs can suddenly become more dangerous if you tinker with them.
@@ -43,13 +43,13 @@
B.detonation_timer = world.time + 100
if(WIRE_BOMB_ACTIVATE)
if(!B.active && !B.defused)
- holder.visible_message("[bicon(B)] You hear the bomb start ticking!")
+ holder.visible_message(SPAN_DANGER("[bicon(B)] You hear the bomb start ticking!"))
B.activate()
B.update_icon()
else if(B.delayedlittle)
- holder.visible_message("[bicon(B)] Nothing happens.")
+ holder.visible_message(SPAN_NOTICE("[bicon(B)] Nothing happens."))
else
- holder.visible_message("[bicon(B)] The bomb seems to hesitate for a moment.")
+ holder.visible_message(SPAN_NOTICE("[bicon(B)] The bomb seems to hesitate for a moment."))
B.detonation_timer += 100
B.delayedlittle = TRUE
..()
@@ -62,22 +62,22 @@
B.defused = FALSE // Cutting and mending all the wires of an inactive bomb will thus cure any sabotage.
else
if(B.active)
- holder.visible_message("[bicon(B)] An alarm sounds! It's go-")
+ holder.visible_message(SPAN_DANGER("[bicon(B)] An alarm sounds! It's go-"))
B.explode_now = TRUE
else
B.defused = TRUE
if(WIRE_BOMB_UNBOLT)
if(!mend && B.anchored)
- holder.visible_message("[bicon(B)] The bolts lift out of the ground!")
+ holder.visible_message(SPAN_NOTICE("[bicon(B)] The bolts lift out of the ground!"))
playsound(B, 'sound/effects/stealthoff.ogg', 30, 1)
B.anchored = FALSE
if(WIRE_BOMB_PROCEED)
if(!mend && B.active)
- holder.visible_message("[bicon(B)] An alarm sounds! It's go-")
+ holder.visible_message(SPAN_DANGER("[bicon(B)] An alarm sounds! It's go-"))
B.explode_now = TRUE
if(WIRE_BOMB_ACTIVATE)
if(!mend && B.active)
- holder.visible_message("[bicon(B)] The timer stops! The bomb has been defused!")
+ holder.visible_message(SPAN_NOTICE("[bicon(B)] The timer stops! The bomb has been defused!"))
B.defused = TRUE
B.update_icon()
..()
diff --git a/code/datums/wires/wires.dm b/code/datums/wires/wires.dm
index 3546b4290be..e1af67766f2 100644
--- a/code/datums/wires/wires.dm
+++ b/code/datums/wires/wires.dm
@@ -179,7 +179,7 @@
// Toggles the cut/mend status.
if("cut")
if(!istype(I, /obj/item/wirecutters) && !user.can_admin_interact())
- to_chat(user, "You need wirecutters!")
+ to_chat(user, SPAN_ERROR("You need wirecutters!"))
return
if(istype(I))
@@ -190,7 +190,7 @@
// Pulse a wire.
if("pulse")
if(!istype(I, /obj/item/multitool) && !user.can_admin_interact())
- to_chat(user, "You need a multitool!")
+ to_chat(user, SPAN_ERROR("You need a multitool!"))
return
playsound(holder, 'sound/weapons/empty.ogg', 20, 1)
@@ -211,14 +211,14 @@
return TRUE
if(!istype(I, /obj/item/assembly/signaler))
- to_chat(user, "You need a remote signaller!")
+ to_chat(user, SPAN_ERROR("You need a remote signaller!"))
return
if(user.drop_item())
attach_assembly(color, I)
return TRUE
else
- to_chat(user, "[user.get_active_hand()] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[user.get_active_hand()] is stuck to your hand!"))
/**
diff --git a/code/defines/procs/admin_keyname_procs.dm b/code/defines/procs/admin_keyname_procs.dm
index 166540f7b13..99d8f070fe4 100644
--- a/code/defines/procs/admin_keyname_procs.dm
+++ b/code/defines/procs/admin_keyname_procs.dm
@@ -72,14 +72,14 @@
if(whom)
var/datum/whom_datum = whom //As long as it's not null, will be close enough/has the proc UID() that is all that's needed
if(istype(whom_datum)) // strings and numbers are not datums, but sometimes they do get here...
- var/message = "[key_name(whom, 1)]([ADMIN_QUE(whom_datum,"?")])[isAntag(whom) ? "(A)" : ""][isLivingSSD(whom) ? "(SSD!)" : ""] ([admin_jump_link(whom)])"
+ var/message = "[key_name(whom, 1)]([ADMIN_QUE(whom_datum,"?")])[isAntag(whom) ? "(A)" : ""][isLivingSSD(whom) ? SPAN_DANGER("(SSD!)") : ""] ([admin_jump_link(whom)])"
return message
else
return "INVALID/[whom]"
/proc/key_name_mentor(whom)
// Same as key_name_admin, but does not include (?) or (A) for antags.
- var/message = "[key_name(whom, 1)] [isLivingSSD(whom) ? "(SSD!)" : ""] ([admin_jump_link(whom)])"
+ var/message = "[key_name(whom, 1)] [isLivingSSD(whom) ? SPAN_DANGER("(SSD!)") : ""] ([admin_jump_link(whom)])"
return message
/proc/key_name_log(whom)
diff --git a/code/game/area/areas/depot-areas.dm b/code/game/area/areas/depot-areas.dm
index 7b047a22b06..a3341e3bf6b 100644
--- a/code/game/area/areas/depot-areas.dm
+++ b/code/game/area/areas/depot-areas.dm
@@ -294,7 +294,7 @@
reactor.overload(containment_failure)
else
log_debug("Depot: [src] called activate_self_destruct with no reactor.")
- message_admins("Syndicate Depot lacks reactor to initiate self-destruct. Must be destroyed manually.")
+ message_admins(SPAN_ADMINNOTICE("Syndicate Depot lacks reactor to initiate self-destruct. Must be destroyed manually."))
update_icon(UPDATE_ICON_STATE)
/area/syndicate_depot/core/proc/activate_lockdown()
diff --git a/code/game/atom_vv.dm b/code/game/atom_vv.dm
index 85b02f4ab61..b9fb5bfd929 100644
--- a/code/game/atom_vv.dm
+++ b/code/game/atom_vv.dm
@@ -75,7 +75,7 @@
if(ID == chosen_id)
valid_id = 1
if(!valid_id)
- to_chat(usr, "A reagent with that ID doesn't exist!")
+ to_chat(usr, SPAN_WARNING("A reagent with that ID doesn't exist!"))
if("Choose ID")
chosen_id = input(usr, "Choose a reagent to add.", "Choose a reagent.") as null|anything in reagent_options
if(chosen_id)
@@ -83,7 +83,7 @@
if(amount)
reagents.add_reagent(chosen_id, amount)
log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to \the [src]")
- message_admins("[key_name(usr)] has added [amount] units of [chosen_id] to \the [src]")
+ message_admins(SPAN_NOTICE("[key_name(usr)] has added [amount] units of [chosen_id] to \the [src]"))
if(href_list[VV_HK_EDITREAGENTS])
if(!check_rights(R_DEBUG|R_ADMIN))
return
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index eacca1640af..e50c85d5233 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -427,7 +427,7 @@
else
f_name = "a "
if(blood_color != "#030303")
- f_name += "blood-stained [name][infix]!"
+ f_name += "[SPAN_DANGER("blood-stained")] [name][infix]!"
else
f_name += "oil-stained [name][infix]."
. = list("[bicon(src)] That's [f_name] [suffix]")
@@ -441,48 +441,48 @@
var/one_percent = reagents.total_volume / 100
var/blood_type = ""
if(user.advanced_reagent_vision()) // You can see absolute unit concentrations in transparent containers and % concentrations in opaque containers. You can also see blood types.
- . += "It contains:"
+ . += SPAN_NOTICE("It contains:")
if(!length(reagents.reagent_list))
- . += "Nothing."
+ . += SPAN_NOTICE("Nothing.")
return
if(container_type & TRANSPARENT)
for(var/I in reagents.reagent_list)
var/datum/reagent/R = I
if(R.id != "blood")
- . += "[R.volume] units of [R] ([round(R.volume / one_percent)]%)"
+ . += SPAN_NOTICE("[R.volume] units of [R] ([round(R.volume / one_percent)]%)")
else
blood_type = R.data["blood_type"]
- . += "[R.volume] units of [R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)"
+ . += SPAN_NOTICE("[R.volume] units of [R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)")
return
// Opaque containers
for(var/datum/reagent/R in reagents.reagent_list)
if(R.id != "blood")
- . += "[R] ([round(R.volume / one_percent)]%)"
+ . += SPAN_NOTICE("[R] ([round(R.volume / one_percent)]%)")
else
blood_type = R.data["blood_type"]
- . += "[R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)"
+ . += SPAN_NOTICE("[R] ([blood_type ? "[blood_type]" : ""]) ([round(R.volume / one_percent)]%)")
return
if(container_type & TRANSPARENT)
- . += "It contains:"
+ . += SPAN_NOTICE("It contains:")
if(user.reagent_vision()) // You can see absolute unit quantities of reagents in transparent containers.
for(var/I in reagents.reagent_list)
var/datum/reagent/R = I
- . += "[R.volume] units of [R] ([round(R.volume / one_percent)]%)"
+ . += SPAN_NOTICE("[R.volume] units of [R] ([round(R.volume / one_percent)]%)")
return
//Otherwise, just show the total volume
if(length(reagents?.reagent_list))
- . += "[reagents.total_volume] units of various reagents."
+ . += SPAN_NOTICE("[reagents.total_volume] units of various reagents.")
else
- . += "Nothing."
+ . += SPAN_NOTICE("Nothing.")
return
if(container_type & AMOUNT_VISIBLE)
if(reagents.total_volume)
- . += "It has [reagents.total_volume] unit\s left."
+ . += SPAN_NOTICE("It has [reagents.total_volume] unit\s left.")
else
- . += "It's empty."
+ . += SPAN_DANGER("It's empty.")
/atom/proc/examine(mob/user, infix = "", suffix = "")
. = build_base_description(infix, suffix)
@@ -613,7 +613,7 @@
//Check if the multitool has an item in its data buffer
/atom/proc/multitool_check_buffer(user, silent = FALSE)
if(!silent)
- to_chat(user, "[src] has no data buffer!")
+ to_chat(user, SPAN_WARNING("[src] has no data buffer!"))
return FALSE
/atom/proc/screwdriver_act(mob/living/user, obj/item/I)
@@ -1237,7 +1237,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
return
var/list/speech_bubble_hearers = list()
for(var/mob/M as anything in get_mobs_in_view(7, src, ai_eyes=AI_EYE_REQUIRE_HEAR))
- M.show_message("[src] [atom_say_verb], \"[message]\"", 2, null, 1)
+ M.show_message("[SPAN_NAME("[src]")] [atom_say_verb], \"[message]\"", 2, null, 1)
if(M.client)
speech_bubble_hearers += M.client
@@ -1252,7 +1252,7 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
/atom/proc/atom_emote(emote)
if(!emote)
return
- visible_message("[src] [emote]", "You hear how something [emote]")
+ visible_message("[SPAN_NAME("[src]")] [emote]", "You hear how something [emote]")
runechat_emote(src, emote)
@@ -1384,13 +1384,13 @@ GLOBAL_LIST_EMPTY(blood_splatter_icons)
if(!user)
return null
else if(implement && implement.loc != user)
- to_chat(user, "You no longer have the pen to rename [src].")
+ to_chat(user, SPAN_WARNING("You no longer have the pen to rename [src]."))
return null
else if(!in_range(src, user))
- to_chat(user, "You cannot rename [src] from here.")
+ to_chat(user, SPAN_WARNING("You cannot rename [src] from here."))
return null
else if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
- to_chat(user, "You cannot rename [src] in your current state.")
+ to_chat(user, SPAN_WARNING("You cannot rename [src] in your current state."))
return null
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index 9189c498a44..5fd1b9455b0 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -191,7 +191,7 @@
var/mob/M = AM
add_attack_logs(src, M, "passively grabbed", ATKLOG_ALMOSTALL)
if(show_message)
- visible_message("[src] has grabbed [M] passively!")
+ visible_message(SPAN_WARNING("[src] has grabbed [M] passively!"))
return TRUE
/atom/movable/proc/stop_pulling()
@@ -223,13 +223,13 @@
return FALSE
if(anchored || move_resist == INFINITY)
if(show_message)
- to_chat(user, "[src] appears to be anchored to the ground!")
+ to_chat(user, SPAN_WARNING("[src] appears to be anchored to the ground!"))
return FALSE
if(throwing)
return FALSE
if(force < (move_resist * MOVE_FORCE_PULL_RATIO))
if(show_message)
- to_chat(user, "[src] is too heavy to pull!")
+ to_chat(user, SPAN_WARNING("[src] is too heavy to pull!"))
return FALSE
if(user in buckled_mobs)
return FALSE
@@ -838,12 +838,12 @@
/atom/movable/proc/force_push(atom/movable/AM, force = move_force, direction, silent = FALSE)
. = AM.force_pushed(src, force, direction)
if(!silent && .)
- visible_message("[src] forcefully pushes against [AM]!", "You forcefully push against [AM]!")
+ visible_message(SPAN_WARNING("[src] forcefully pushes against [AM]!"), SPAN_WARNING("You forcefully push against [AM]!"))
/atom/movable/proc/move_crush(atom/movable/AM, force = move_force, direction, silent = FALSE)
. = AM.move_crushed(src, force, direction)
if(!silent && .)
- visible_message("[src] crushes past [AM]!", "You crush [AM]!")
+ visible_message(SPAN_DANGER("[src] crushes past [AM]!"), SPAN_DANGER("You crush [AM]!"))
/atom/movable/proc/move_crushed(atom/movable/pusher, force = MOVE_FORCE_DEFAULT, direction)
return FALSE
@@ -1076,7 +1076,7 @@
has_tried_to_move = TRUE
if(!Move(target_turf, crush_dir))
// we'll try to move, and if we didn't end up going anywhere, then we do nothing.
- visible_message("[src] seems to rock, but doesn't fall over!")
+ visible_message(SPAN_WARNING("[src] seems to rock, but doesn't fall over!"))
return
for(var/atom/target in (target_turf.contents) + target_turf)
@@ -1123,9 +1123,9 @@
continue
target.visible_message(
- "[target] is crushed by [src]!",
- "[src] crushes you!",
- "You hear a loud crunch!"
+ SPAN_DANGER("[target] is crushed by [src]!"),
+ SPAN_USERDANGER("[src] crushes you!"),
+ SPAN_WARNING("You hear a loud crunch!")
)
tilt_over(target_turf, angle, should_rotate, rightable, block_interactions_until_righted)
@@ -1148,7 +1148,7 @@
* * block_interactions_until_righted - If true, this object will need to be righted before it can be interacted with
*/
/atom/movable/proc/tilt_over(turf/target, rotation_angle, should_rotate, rightable, block_interactions_until_righted)
- visible_message("[src] tips over!", "You hear a loud crash!")
+ visible_message(SPAN_DANGER("[src] tips over!"), SPAN_DANGER("You hear a loud crash!"))
playsound(src, "sound/effects/bang.ogg", 100, TRUE)
var/rot_angle = rotation_angle ? rotation_angle : pick(90, -90)
if(should_rotate)
diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm
index 1c8b60fc647..a221a4c4937 100644
--- a/code/game/dna/dna_modifier.dm
+++ b/code/game/dna/dna_modifier.dm
@@ -69,8 +69,8 @@
/obj/machinery/dna_scannernew/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to eject its occupant."
- . += "You can Click-drag someone to [src] to put them in."
+ . += SPAN_NOTICE("You can Alt-Click [src] to eject its occupant.")
+ . += SPAN_NOTICE("You can Click-drag someone to [src] to put them in.")
/obj/machinery/dna_scannernew/Initialize(mapload)
. = ..()
@@ -169,21 +169,21 @@
if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc?
return
if(occupant)
- to_chat(user, "[src] is already occupied!")
+ to_chat(user, SPAN_BOLDNOTICE("[src] is already occupied!"))
return TRUE
var/mob/living/L = O
if(!istype(L) || L.buckled)
return
if(L.abiotic())
- to_chat(user, "Subject may not hold anything in their hands.")
+ to_chat(user, SPAN_DANGER("Subject may not hold anything in their hands."))
return TRUE
if(L.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head."))
return TRUE
if(L == user)
- visible_message("[user] climbs into [src].")
+ visible_message(SPAN_NOTICE("[user] climbs into [src]."))
else
- visible_message("[user] puts [L.name] into [src].")
+ visible_message(SPAN_NOTICE("[user] puts [L.name] into [src]."))
put_in(L)
if(user.pulling == L)
user.stop_pulling()
@@ -193,11 +193,11 @@
/obj/machinery/dna_scannernew/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/reagent_containers/glass))
if(beaker)
- to_chat(user, "A beaker is already loaded into the machine.")
+ to_chat(user, SPAN_WARNING("A beaker is already loaded into the machine."))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
- to_chat(user, "\The [used] is stuck to you!")
+ to_chat(user, SPAN_WARNING("\The [used] is stuck to you!"))
return ITEM_INTERACT_COMPLETE
beaker = used
@@ -212,19 +212,19 @@
return ITEM_INTERACT_COMPLETE
if(occupant)
- to_chat(user, "The scanner is already occupied!")
+ to_chat(user, SPAN_BOLDNOTICE("The scanner is already occupied!"))
return ITEM_INTERACT_COMPLETE
if(G.affecting.abiotic())
- to_chat(user, "Subject may not hold anything in their hands.")
+ to_chat(user, SPAN_BOLDNOTICE("Subject may not hold anything in their hands."))
return ITEM_INTERACT_COMPLETE
if(G.affecting.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[G] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[G] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head."))
return ITEM_INTERACT_COMPLETE
if(panel_open)
- to_chat(usr, "Close the maintenance panel first.")
+ to_chat(usr, SPAN_BOLDNOTICE("Close the maintenance panel first."))
return ITEM_INTERACT_COMPLETE
put_in(G.affecting)
@@ -248,7 +248,7 @@
/obj/machinery/dna_scannernew/screwdriver_act(mob/user, obj/item/I)
if(occupant)
- to_chat(user, "The maintenance panel is locked.")
+ to_chat(user, SPAN_NOTICE("The maintenance panel is locked."))
return TRUE
if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", I))
return TRUE
@@ -262,11 +262,11 @@
/obj/machinery/dna_scannernew/proc/go_out(mob/user, force)
if(!occupant)
if(user)
- to_chat(user, "The scanner is empty!")
+ to_chat(user, SPAN_WARNING("The scanner is empty!"))
return
if(locked && !force)
if(user)
- to_chat(user, "The scanner is locked!")
+ to_chat(user, SPAN_WARNING("The scanner is locked!"))
return
occupant.forceMove(loc)
occupant = null
diff --git a/code/game/dna/mutations/_mutations.dm b/code/game/dna/mutations/_mutations.dm
index 6ac82a6e74a..7ff6c0cc0ee 100644
--- a/code/game/dna/mutations/_mutations.dm
+++ b/code/game/dna/mutations/_mutations.dm
@@ -33,7 +33,7 @@
ADD_TRAIT(M, thing, GENETIC_MUTATION)
if(length(activation_messages))
var/msg = pick(activation_messages)
- to_chat(M, "[msg]")
+ to_chat(M, SPAN_NOTICE("[msg]"))
// Called when the gene deactivates. Undo your magic here.
@@ -46,7 +46,7 @@
REMOVE_TRAIT(M, thing, GENETIC_MUTATION)
if(length(deactivation_messages))
var/msg = pick(deactivation_messages)
- to_chat(M, "[msg]")
+ to_chat(M, SPAN_WARNING("[msg]"))
// This section inspired by goone's bioEffects.
diff --git a/code/game/dna/mutations/disabilities.dm b/code/game/dna/mutations/disabilities.dm
index 60063fa4a56..93131595f4e 100644
--- a/code/game/dna/mutations/disabilities.dm
+++ b/code/game/dna/mutations/disabilities.dm
@@ -38,7 +38,7 @@
/datum/mutation/disability/epilepsy/on_life(mob/living/carbon/human/H)
if((prob(1) && !H.IsParalyzed()))
- H.visible_message("[H] starts having a seizure!","You have a seizure!")
+ H.visible_message(SPAN_DANGER("[H] starts having a seizure!"),SPAN_ALERT("You have a seizure!"))
H.Paralyse(20 SECONDS)
H.Jitter(2000 SECONDS)
@@ -171,7 +171,7 @@
/datum/mutation/disability/comic
name = "Comic"
desc = "This will only bring death and destruction."
- activation_messages = list("Uh oh!")
+ activation_messages = list(SPAN_SANS("Uh oh!"))
deactivation_messages = list("Well thank god that's over with.")
traits_to_add = list(TRAIT_COMIC_SANS)
@@ -492,7 +492,7 @@
/datum/spell/immolate/cast(list/targets, mob/living/user = usr)
var/mob/living/carbon/L = user
L.adjust_fire_stacks(0.5)
- L.visible_message("[L.name] suddenly bursts into flames!")
+ L.visible_message(SPAN_DANGER("[L.name] suddenly bursts into flames!"))
L.IgniteMob()
playsound(L.loc, 'sound/effects/bamf.ogg', 50, 0)
diff --git a/code/game/dna/mutations/mutation_powers.dm b/code/game/dna/mutations/mutation_powers.dm
index 4b9a4b319e7..c27ff128f93 100644
--- a/code/game/dna/mutations/mutation_powers.dm
+++ b/code/game/dna/mutations/mutation_powers.dm
@@ -138,7 +138,7 @@
M.update_mutations() //update our mutation overlays
M.update_body()
M.status_flags |= CANSTUN | CANWEAKEN | CANPARALYSE | CANPUSH //temporary fix until the problem can be solved.
- to_chat(M, "You suddenly feel very weak.")
+ to_chat(M, SPAN_DANGER("You suddenly feel very weak."))
/datum/mutation/tk
name = "Telekenesis"
@@ -303,8 +303,8 @@
clothes_req = FALSE
antimagic_flags = NONE
- selection_activated_message = "Your mind grow cold. Click on a target to cast the spell."
- selection_deactivated_message = "Your mind returns to normal."
+ selection_activated_message = SPAN_NOTICE("Your mind grow cold. Click on a target to cast the spell.")
+ selection_deactivated_message = SPAN_NOTICE("Your mind returns to normal.")
var/list/compatible_mobs = list(/mob/living/carbon/human)
action_icon_state = "genetic_cryo"
@@ -323,7 +323,7 @@
var/mob/living/carbon/C = targets[1]
if(HAS_TRAIT(C, TRAIT_RESISTCOLD))
- C.visible_message("A cloud of fine ice crystals engulfs [C.name], but disappears almost instantly!")
+ C.visible_message(SPAN_WARNING("A cloud of fine ice crystals engulfs [C.name], but disappears almost instantly!"))
return
var/handle_suit = FALSE
if(ishuman(C))
@@ -332,11 +332,11 @@
if(istype(H.wear_suit, /obj/item/clothing/suit/space))
handle_suit = TRUE
if(H.internal)
- H.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [H]!",
- "[user] sprays a cloud of fine ice crystals over your [H.head]'s visor.")
+ H.visible_message(SPAN_WARNING("[user] sprays a cloud of fine ice crystals, engulfing [H]!"),
+ SPAN_NOTICE("[user] sprays a cloud of fine ice crystals over your [H.head]'s visor."))
else
- H.visible_message("[user] sprays a cloud of fine ice crystals engulfing, [H]!",
- "[user] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!.")
+ H.visible_message(SPAN_WARNING("[user] sprays a cloud of fine ice crystals engulfing, [H]!"),
+ SPAN_WARNING("[user] sprays a cloud of fine ice crystals cover your [H.head]'s visor and make it into your air vents!."))
H.bodytemperature = max(0, H.bodytemperature - 100)
add_attack_logs(user, C, "Cryokinesis")
@@ -344,7 +344,7 @@
C.bodytemperature = max(0, C.bodytemperature - 200)
C.ExtinguishMob()
- C.visible_message("[user] sprays a cloud of fine ice crystals, engulfing [C]!")
+ C.visible_message(SPAN_WARNING("[user] sprays a cloud of fine ice crystals, engulfing [C]!"))
add_attack_logs(user, C, "Cryokinesis- NO SUIT/INTERNALS")
///////////////////////////////////////////////////////////////////////////////////////////
@@ -413,7 +413,7 @@
return TRUE
if(show_message)
- to_chat(C, "Your mouth is covered, preventing you from eating!")
+ to_chat(C, SPAN_WARNING("Your mouth is covered, preventing you from eating!"))
return FALSE
/datum/spell/eat/proc/doHeal(mob/user)
@@ -434,40 +434,40 @@
/datum/spell/eat/cast(list/targets, mob/user = usr)
if(!length(targets))
- to_chat(user, "No target found in range.")
+ to_chat(user, SPAN_NOTICE("No target found in range."))
return
var/atom/movable/the_item = targets[1]
if(!user.Adjacent(the_item))
- to_chat(user, "You need to be next to [the_item] for this!")
+ to_chat(user, SPAN_DANGER("You need to be next to [the_item] for this!"))
return FALSE
if(ishuman(the_item))
var/mob/living/carbon/human/H = the_item
var/obj/item/organ/external/limb = H.get_organ(user.zone_selected)
if(!istype(limb))
- to_chat(user, "You can't eat this part of them!")
+ to_chat(user, SPAN_WARNING("You can't eat this part of them!"))
revert_cast()
return FALSE
if(istype(limb,/obj/item/organ/external/head))
// Bullshit, but prevents being unable to clone someone.
- to_chat(user, "You try to put \the [limb] in your mouth, but [the_item.p_their()] ears tickle your throat!")
+ to_chat(user, SPAN_WARNING("You try to put \the [limb] in your mouth, but [the_item.p_their()] ears tickle your throat!"))
revert_cast()
return FALSE
if(istype(limb,/obj/item/organ/external/chest))
// Bullshit, but prevents being able to instagib someone.
- to_chat(user, "You try to put [the_item.p_their()] [limb] in your mouth, but it's too big to fit!")
+ to_chat(user, SPAN_WARNING("You try to put [the_item.p_their()] [limb] in your mouth, but it's too big to fit!"))
revert_cast()
return FALSE
- user.visible_message("[user] begins stuffing [the_item]'s [limb.name] into [user.p_their()] gaping maw!")
+ user.visible_message(SPAN_DANGER("[user] begins stuffing [the_item]'s [limb.name] into [user.p_their()] gaping maw!"))
if(!do_mob(user, H, EAT_MOB_DELAY))
- to_chat(user, "You were interrupted before you could eat [the_item]!")
+ to_chat(user, SPAN_DANGER("You were interrupted before you could eat [the_item]!"))
else
if(!limb || !H)
return
if(!user.Adjacent(the_item))
- to_chat(user, "You need to be next to [the_item] for this!")
+ to_chat(user, SPAN_DANGER("You need to be next to [the_item] for this!"))
return FALSE
- user.visible_message("[user] [pick("chomps","bites")] off [the_item]'s [limb]!")
+ user.visible_message(SPAN_DANGER("[user] [pick("chomps","bites")] off [the_item]'s [limb]!"))
playsound(user.loc, 'sound/items/eatfood.ogg', 50, 0)
// Most limbs will drop here. Groin won't, but this
@@ -496,9 +496,9 @@
var/obj/item/eaten = the_item
var/mob/the_owner = the_item.loc
if(!the_owner.drop_item_to_ground(eaten, silent = TRUE))
- to_chat(user, "You can't eat [the_item], it won't go down your throat!")
+ to_chat(user, SPAN_WARNING("You can't eat [the_item], it won't go down your throat!"))
return
- user.visible_message("[user] eats [the_item].")
+ user.visible_message(SPAN_DANGER("[user] eats [the_item]."))
playsound(user.loc, 'sound/items/eatfood.ogg', 50, FALSE)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -545,7 +545,7 @@
/datum/spell/leap/cast(list/targets, mob/living/user = usr)
var/failure = FALSE
if(ismob(user.loc) || IS_HORIZONTAL(user) || user.IsStunned() || user.buckled || user.stat)
- to_chat(user, "You can't jump right now!")
+ to_chat(user, SPAN_WARNING("You can't jump right now!"))
return
if(isturf(user.loc))
@@ -557,13 +557,13 @@
else
M.stop_pulling()
- user.visible_message("[user.name] takes a huge leap!")
+ user.visible_message(SPAN_DANGER("[user.name] takes a huge leap!"))
playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, 1)
if(failure)
user.Weaken(10 SECONDS)
- user.visible_message("[user] attempts to leap away but is slammed back down to the ground!",
- "You attempt to leap away but are suddenly slammed back down to the ground!",
- "You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor.")
+ user.visible_message(SPAN_WARNING("[user] attempts to leap away but is slammed back down to the ground!"),
+ SPAN_WARNING("You attempt to leap away but are suddenly slammed back down to the ground!"),
+ SPAN_NOTICE("You hear the flexing of powerful muscles and suddenly a crash as a body hits the floor."))
return FALSE
var/prevLayer = user.layer
user.layer = 9
@@ -587,7 +587,7 @@
user.pixel_y = 0 // In case leap was varedited to be longer or shorter
if(HAS_TRAIT(user, TRAIT_FAT) && prob(66))
- user.visible_message("[user.name] crashes due to [user.p_their()] heavy weight!")
+ user.visible_message(SPAN_DANGER("[user.name] crashes due to [user.p_their()] heavy weight!"))
//playsound(user.loc, 'zhit.wav', 50, 1)
user.AdjustWeakened(20 SECONDS)
user.AdjustStunned(10 SECONDS)
@@ -596,10 +596,10 @@
if(isobj(user.loc))
var/obj/container = user.loc
- to_chat(user, "You leap and slam your head against the inside of [container]! Ouch!")
+ to_chat(user, SPAN_WARNING("You leap and slam your head against the inside of [container]! Ouch!"))
user.AdjustParalysis(6 SECONDS)
user.AdjustWeakened(10 SECONDS)
- container.visible_message("[user.loc] emits a loud thump and rattles a bit.")
+ container.visible_message(SPAN_DANGER("[user.loc] emits a loud thump and rattles a bit."))
playsound(user.loc, 'sound/effects/bang.ogg', 50, 1)
var/wiggle = 6
while(wiggle > 0)
@@ -655,8 +655,8 @@
clothes_req = FALSE
- selection_activated_message = "You body becomes unstable. Click on a target to cast transform into them."
- selection_deactivated_message = "Your body calms down again."
+ selection_activated_message = SPAN_NOTICE("You body becomes unstable. Click on a target to cast transform into them.")
+ selection_deactivated_message = SPAN_NOTICE("Your body calms down again.")
antimagic_flags = NONE
@@ -673,7 +673,7 @@
/datum/spell/polymorph/cast(list/targets, mob/user = usr)
var/mob/living/carbon/human/target = targets[1]
- user.visible_message("[user]'s body shifts and contorts.")
+ user.visible_message(SPAN_WARNING("[user]'s body shifts and contorts."))
spawn(10)
if(target && user)
@@ -718,21 +718,21 @@
/datum/spell/empath/cast(list/targets, mob/user = usr)
for(var/mob/living/carbon/M in targets)
if(!iscarbon(M))
- to_chat(user, "You may only use this on other organic beings.")
+ to_chat(user, SPAN_WARNING("You may only use this on other organic beings."))
return
if(M.dna?.GetSEState(GLOB.psyresistblock))
- to_chat(user, "You can't see into [M.name]'s mind at all!")
+ to_chat(user, SPAN_WARNING("You can't see into [M.name]'s mind at all!"))
return
if(M.stat == DEAD)
- to_chat(user, "[M.name] is dead and cannot have [M.p_their()] mind read.")
+ to_chat(user, SPAN_WARNING("[M.name] is dead and cannot have [M.p_their()] mind read."))
return
if(M.health < 0)
- to_chat(user, "[M.name] is dying, and [M.p_their()] thoughts are too scrambled to read.")
+ to_chat(user, SPAN_WARNING("[M.name] is dying, and [M.p_their()] thoughts are too scrambled to read."))
return
- to_chat(user, "Mind Reading of [M.name]:")
+ to_chat(user, SPAN_NOTICE("Mind Reading of [M.name]:"))
var/pain_condition = M.health / M.maxHealth
// lower health means more pain
@@ -750,33 +750,33 @@
switch(pain_condition)
if(0.81 to INFINITY)
- to_chat(user, "Condition: [M.name] feels good.")
+ to_chat(user, SPAN_NOTICE("Condition: [M.name] feels good."))
if(0.61 to 0.8)
- to_chat(user, "Condition: [M.name] is suffering mild pain.")
+ to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering mild pain."))
if(0.41 to 0.6)
- to_chat(user, "Condition: [M.name] is suffering significant pain.")
+ to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering significant pain."))
if(0.21 to 0.4)
- to_chat(user, "Condition: [M.name] is suffering severe pain.")
+ to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering severe pain."))
else
- to_chat(user, "Condition: [M.name] is suffering excruciating pain.")
+ to_chat(user, SPAN_NOTICE("Condition: [M.name] is suffering excruciating pain."))
thoughts = "haunted by [M.p_their()] own mortality"
switch(M.a_intent)
if(INTENT_HELP)
- to_chat(user, "Mood: You sense benevolent thoughts from [M.name].")
+ to_chat(user, SPAN_NOTICE("Mood: You sense benevolent thoughts from [M.name]."))
if(INTENT_DISARM)
- to_chat(user, "Mood: You sense cautious thoughts from [M.name].")
+ to_chat(user, SPAN_NOTICE("Mood: You sense cautious thoughts from [M.name]."))
if(INTENT_GRAB)
- to_chat(user, "Mood: You sense hostile thoughts from [M.name].")
+ to_chat(user, SPAN_NOTICE("Mood: You sense hostile thoughts from [M.name]."))
if(INTENT_HARM)
- to_chat(user, "Mood: You sense cruel thoughts from [M.name].")
+ to_chat(user, SPAN_NOTICE("Mood: You sense cruel thoughts from [M.name]."))
for(var/mob/living/L in view(7,M))
if(L == M)
continue
thoughts = "thinking about punching [L.name]"
break
else
- to_chat(user, "Mood: You sense strange thoughts from [M.name].")
+ to_chat(user, SPAN_NOTICE("Mood: You sense strange thoughts from [M.name]."))
if(ishuman(M))
var/numbers[0]
@@ -785,13 +785,13 @@
numbers += H.mind.initial_account.account_number
numbers += H.mind.initial_account.account_pin
if(length(numbers)>0)
- to_chat(user, "Numbers: You sense the number[length(numbers)>1?"s":""] [english_list(numbers)] [length(numbers)>1?"are":"is"] important to [M.name].")
- to_chat(user, "Thoughts: [M.name] is currently [thoughts].")
+ to_chat(user, SPAN_NOTICE("Numbers: You sense the number[length(numbers)>1?"s":""] [english_list(numbers)] [length(numbers)>1?"are":"is"] important to [M.name]."))
+ to_chat(user, SPAN_NOTICE("Thoughts: [M.name] is currently [thoughts]."))
if(M.dna?.GetSEState(GLOB.empathblock))
- to_chat(M, "You sense [user.name] reading your mind.")
+ to_chat(M, SPAN_WARNING("You sense [user.name] reading your mind."))
else if(prob(5) || M.mind?.assigned_role=="Chaplain")
- to_chat(M, "You sense someone intruding upon your thoughts...")
+ to_chat(M, SPAN_WARNING("You sense someone intruding upon your thoughts..."))
///////////////////Vanilla Morph////////////////////////////////////
@@ -825,7 +825,7 @@
return
if(ismob(user.loc))
- to_chat(user, "You can't change your appearance right now!")
+ to_chat(user, SPAN_WARNING("You can't change your appearance right now!"))
return
var/mob/living/carbon/human/M = user
var/obj/item/organ/external/head/head_organ = M.get_organ("head")
@@ -972,7 +972,7 @@
M.update_dna()
- M.visible_message("[M] morphs and changes [M.p_their()] appearance!", "You change your appearance!", "Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!")
+ M.visible_message(SPAN_NOTICE("[M] morphs and changes [M.p_their()] appearance!"), SPAN_NOTICE("You change your appearance!"), SPAN_WARNING("Oh, god! What the hell was that? It sounded like flesh getting squished and bone ground into a different shape!"))
/datum/mutation/grant_spell/remotetalk
name = "Telepathy"
@@ -1013,7 +1013,7 @@
if(!ishuman(user))
return
if(user.mind?.miming) // Dont let mimes telepathically talk
- to_chat(user,"You can't communicate without breaking your vow of silence.")
+ to_chat(user,SPAN_WARNING("You can't communicate without breaking your vow of silence."))
return
var/say = tgui_input_text(user, "What do you wish to say?", "Project Mind")
if(!say || usr.stat)
@@ -1024,10 +1024,10 @@
log_say("(TPATH to [key_name(target)]) [say]", user)
user.create_log(SAY_LOG, "Telepathically said '[say]' using [src]", target)
if(target.dna?.GetSEState(GLOB.remotetalkblock))
- target.show_message("You hear [user.real_name]'s voice: [say]")
+ target.show_message("[SPAN_ABDUCTOR("You hear [user.real_name]'s voice: [say]")]")
else
- target.show_message("You hear a voice that seems to echo around the room: [say]")
- user.show_message("You project your mind into [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"]: [say]")
+ target.show_message("[SPAN_ABDUCTOR("You hear a voice that seems to echo around the room: [say]")]")
+ user.show_message("[SPAN_ABDUCTOR("You project your mind into [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"]: [say]")]")
for(var/mob/dead/observer/G in GLOB.player_list)
G.show_message("Telepathic message from [user] ([ghost_follow_link(user, ghost=G)]) to [target] ([ghost_follow_link(target, ghost=G)]): [say]")
@@ -1050,8 +1050,8 @@
var/message = "You feel your mind expand briefly... (Click to send a message.)"
if(target.dna?.GetSEState(GLOB.remotetalkblock))
message = "You feel [user.real_name] request a response from you... (Click here to project mind.)"
- user.show_message("You offer your mind to [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"].")
- target.show_message("[message]")
+ user.show_message("[SPAN_ABDUCTOR("You offer your mind to [(target in user.get_visible_mobs()) ? target.name : "the unknown entity"].")]")
+ target.show_message("[SPAN_ABDUCTOR("[message]")]")
expanded_minds += target
addtimer(CALLBACK(src, PROC_REF(removeAvailability), target), 10 SECONDS)
@@ -1059,7 +1059,7 @@
if(target in expanded_minds)
expanded_minds -= target
if(!(target in expanded_minds))
- target.show_message("You feel the sensation fade...")
+ target.show_message("[SPAN_ABDUCTOR("You feel the sensation fade...")]")
/datum/spell/mindscan/Topic(href, href_list)
var/mob/living/message_source
@@ -1084,11 +1084,11 @@
log_say("(TPATH to [key_name(message_target)]) [say]", message_source)
if(message_source.dna?.GetSEState(GLOB.remotetalkblock))
- message_source.show_message("You project your mind into [message_target]: [say]")
+ message_source.show_message("[SPAN_ABDUCTOR("You project your mind into [message_target]: [say]")]")
else
- message_source.show_message("You fill the space in your thoughts: [say]")
+ message_source.show_message("[SPAN_ABDUCTOR("You fill the space in your thoughts: [say]")]")
- message_target.show_message("You hear [message_source]'s voice: [say]")
+ message_target.show_message("[SPAN_ABDUCTOR("You hear [message_source]'s voice: [say]")]")
for(var/mob/dead/observer/G in GLOB.player_list)
G.show_message("Telepathic response from [message_source] ([ghost_follow_link(message_source, ghost=G)]) to [message_target] ([ghost_follow_link(message_target, ghost=G)]): [say]")
@@ -1138,7 +1138,7 @@
var/mob/target
if(istype(H.l_hand, /obj/item/tk_grab) || istype(H.r_hand, /obj/item/tk_grab))
- to_chat(H, "Your mind is too busy with that telekinetic grab.")
+ to_chat(H, SPAN_WARNING("Your mind is too busy with that telekinetic grab."))
H.remoteview_target = null
H.reset_perspective()
return
diff --git a/code/game/gamemodes/autotraitor/autotraitor.dm b/code/game/gamemodes/autotraitor/autotraitor.dm
index b81379933ee..f53827d3079 100644
--- a/code/game/gamemodes/autotraitor/autotraitor.dm
+++ b/code/game/gamemodes/autotraitor/autotraitor.dm
@@ -106,7 +106,7 @@
var/datum/mind/new_traitor_mind = pick(possible_traitors)
var/mob/living/new_traitor = new_traitor_mind.current
- to_chat(new_traitor, "ATTENTION: It is time to pay your debt to the Syndicate...")
+ to_chat(new_traitor, "[SPAN_DANGER("ATTENTION:")] It is time to pay your debt to the Syndicate...")
new_traitor.mind.add_antag_datum(/datum/antagonist/traitor)
message_admins("[key_name(new_traitor)] was added in as a traitor!")
log_game("[key_name(new_traitor)] was added in as a traitor.")
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index ae143ed1c02..1e4ed00ef73 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -56,22 +56,22 @@ GLOBAL_LIST_INIT(possible_changeling_IDs, list("Alpha","Beta","Gamma","Delta","E
/datum/game_mode/proc/auto_declare_completion_changeling()
if(length(changelings))
- var/list/text = list("
The changelings were:")
+ var/list/text = list("
[SPAN_BOLD("The changelings were:")]")
for(var/datum/mind/changeling in changelings)
var/changelingwin = TRUE
text += "
[changeling.get_display_key()] was [changeling.name] and "
if(changeling.current)
if(changeling.current.stat == DEAD)
- text += "died!"
+ text += "[SPAN_BOLD("died")]!"
else
- text += "survived!"
+ text += SPAN_BOLD("survived!")
if(changeling.current.real_name != changeling.name)
text += " as [changeling.current.real_name]"
else
text += "!"
else
- text += "had [changeling.p_their()] body destroyed!"
+ text += SPAN_BOLD("had [changeling.p_their()] body destroyed!")
changelingwin = FALSE
// Removed sanity if(changeling) because we -want- a runtime to inform us that the changelings list is incorrect and needs to be fixed.
diff --git a/code/game/gamemodes/cult/blood_magic.dm b/code/game/gamemodes/cult/blood_magic.dm
index de44c2e2b4b..f44f84f4d87 100644
--- a/code/game/gamemodes/cult/blood_magic.dm
+++ b/code/game/gamemodes/cult/blood_magic.dm
@@ -21,10 +21,10 @@
break
if(length(spells) >= limit)
if(rune)
- to_chat(owner, "You cannot store more than [MAX_BLOODCHARGE] spell\s. Pick a spell to remove.")
+ to_chat(owner, SPAN_CULTITALIC("You cannot store more than [MAX_BLOODCHARGE] spell\s. Pick a spell to remove."))
remove_spell("You cannot store more than [MAX_BLOODCHARGE] spell\s, pick a spell to remove.")
else
- to_chat(owner, "You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spell\s without an empowering rune! Pick a spell to remove.")
+ to_chat(owner, SPAN_CULTITALIC("You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spell\s without an empowering rune! Pick a spell to remove."))
remove_spell("You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spell\s without an empowering rune, pick a spell to remove.")
return
var/entered_spell_name
@@ -47,9 +47,9 @@
if(!channeling)
channeling = TRUE
- to_chat(owner, "You begin to carve unnatural symbols into your flesh!")
+ to_chat(owner, SPAN_CULTITALIC("You begin to carve unnatural symbols into your flesh!"))
else
- to_chat(owner, "You are already invoking blood magic!")
+ to_chat(owner, SPAN_WARNING("You are already invoking blood magic!"))
return
if(do_after(owner, 100 - rune * 60, target = owner))
@@ -62,7 +62,7 @@
var/datum/action/innate/cult/blood_spell/new_spell = new BS(owner)
spells += new_spell
new_spell.Grant(owner, src)
- to_chat(owner, "Your wounds glow with power, you have prepared a [new_spell.name] invocation!")
+ to_chat(owner, SPAN_CULT("Your wounds glow with power, you have prepared a [new_spell.name] invocation!"))
SSblackbox.record_feedback("tally", "cult_spells_prepared", 1, "[new_spell.name]")
channeling = FALSE
@@ -142,9 +142,9 @@
if(!owner.put_in_hands(hand_magic))
qdel(hand_magic)
hand_magic = null
- to_chat(owner, "You have no empty hand for invoking blood magic!")
+ to_chat(owner, SPAN_WARNING("You have no empty hand for invoking blood magic!"))
return
- to_chat(owner, "Your wounds glow as you invoke the [name].")
+ to_chat(owner, SPAN_CULTITALIC("Your wounds glow as you invoke the [name]."))
else // If the spell is active, and you clicked on the button for it
qdel(hand_magic)
@@ -187,14 +187,14 @@
oof = TRUE
break
if(oof)
- to_chat(owner, "You get the feeling this is a bad idea.")
+ to_chat(owner, SPAN_USERDANGER("You get the feeling this is a bad idea."))
..()
/datum/action/innate/cult/blood_spell/emp/Activate()
if(owner.holy_check())
return
- owner.visible_message("[owner]'s body flashes a bright blue!", \
- "You speak the cursed words, channeling an electromagnetic pulse from your body.")
+ owner.visible_message(SPAN_WARNING("[owner]'s body flashes a bright blue!"), \
+ SPAN_CULTITALIC("You speak the cursed words, channeling an electromagnetic pulse from your body."))
owner.emp_act(EMP_LIGHT)
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(empulse), owner, 2, 5, TRUE, "cult")
owner.whisper(invocation)
@@ -227,14 +227,14 @@
/datum/action/innate/cult/blood_spell/dagger/Activate()
var/turf/T = get_turf(owner)
- owner.visible_message("[owner]'s hand glows red for a moment.", \
- "Red light begins to shimmer and take form within your hand!")
+ owner.visible_message(SPAN_WARNING("[owner]'s hand glows red for a moment."), \
+ SPAN_CULTITALIC("Red light begins to shimmer and take form within your hand!"))
var/obj/item/melee/cultblade/dagger/O = new(T)
if(owner.put_in_hands(O))
- to_chat(owner, "A [O.name] appears in your hand!")
+ to_chat(owner, SPAN_WARNING("A [O.name] appears in your hand!"))
else
- owner.visible_message("A [O.name] appears at [owner]'s feet!", \
- "A [O.name] materializes at your feet.")
+ owner.visible_message(SPAN_WARNING("A [O.name] appears at [owner]'s feet!"), \
+ SPAN_CULTITALIC("A [O.name] materializes at your feet."))
playsound(owner, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(4))
charges--
desc = base_desc
@@ -282,9 +282,9 @@
/datum/spell/horror/proc/toggle(mob/user)
if(active)
- remove_ranged_ability(user, "You dispel the magic...")
+ remove_ranged_ability(user, SPAN_CULT("You dispel the magic..."))
else
- add_ranged_ability(user, "You prepare to horrify a target...")
+ add_ranged_ability(user, SPAN_CULT("You prepare to horrify a target..."))
/datum/spell/horror/InterceptClickOn(mob/living/user, params, atom/target)
if(..())
@@ -306,9 +306,9 @@
attached_action.desc = attached_action.base_desc
attached_action.desc += "
Has [attached_action.charges] use\s remaining."
attached_action.build_all_button_icons()
- user.ranged_ability.remove_ranged_ability(user, "[H] has been cursed with living nightmares!")
+ user.ranged_ability.remove_ranged_ability(user, SPAN_CULT("[H] has been cursed with living nightmares!"))
if(attached_action.charges <= 0)
- to_chat(ranged_ability_user, "You have exhausted the spell's power!")
+ to_chat(ranged_ability_user, SPAN_CULT("You have exhausted the spell's power!"))
qdel(src)
/datum/action/innate/cult/blood_spell/veiling
@@ -323,8 +323,8 @@
if(owner.holy_check())
return
if(!revealing) // Hiding stuff
- owner.visible_message("Thin grey dust falls from [owner]'s hand!", \
- "You invoke the veiling spell, hiding nearby runes and cult structures.")
+ owner.visible_message(SPAN_WARNING("Thin grey dust falls from [owner]'s hand!"), \
+ SPAN_CULTITALIC("You invoke the veiling spell, hiding nearby runes and cult structures."))
charges--
if(!SSticker.mode.cult_team.cult_risen || !SSticker.mode.cult_team.cult_ascendant)
playsound(owner, 'sound/magic/smoke.ogg', 25, TRUE, SOUND_RANGE_SET(4)) // If Cult is risen/ascendant.
@@ -338,8 +338,8 @@
button_icon_state = "revealing"
else // Unhiding stuff
- owner.visible_message("A flash of light shines from [owner]'s hand!", \
- "You invoke the counterspell, revealing nearby runes and cult structures.")
+ owner.visible_message(SPAN_WARNING("A flash of light shines from [owner]'s hand!"), \
+ SPAN_CULTITALIC("You invoke the counterspell, revealing nearby runes and cult structures."))
charges--
owner.whisper(invocation)
if(!SSticker.mode.cult_team.cult_risen || !SSticker.mode.cult_team.cult_ascendant)
@@ -412,7 +412,7 @@
return ..()
/obj/item/melee/blood_magic/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in blood-red fire."
+ return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in blood-red fire.")
/obj/item/melee/blood_magic/attack_self__legacy__attackchain(mob/living/user)
attackby__legacy__attackchain(user, user, TRUE)
@@ -423,7 +423,7 @@
qdel(src)
return
if(M.can_block_magic(MAGIC_RESISTANCE_HOLY))
- to_chat(user, "[M] absorbs your spell!")
+ to_chat(user, SPAN_DANGER("[M] absorbs your spell!"))
uses = 0
qdel(src)
return
@@ -460,17 +460,17 @@
return
if(user.holy_check())
return
- user.visible_message("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!", \
- "You attempt to stun [L] with the spell!")
+ user.visible_message(SPAN_WARNING("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!"), \
+ SPAN_CULTITALIC("You attempt to stun [L] with the spell!"))
user.mob_light(LIGHT_COLOR_BLOOD_MAGIC, 3, _duration = 2)
var/obj/item/nullrod/N = locate() in target
if(N)
- target.visible_message("[target]'s holy weapon absorbs the red light!", \
- "Your holy weapon absorbs the blinding light!")
+ target.visible_message(SPAN_WARNING("[target]'s holy weapon absorbs the red light!"), \
+ SPAN_USERDANGER("Your holy weapon absorbs the blinding light!"))
else
- to_chat(user, "In a brilliant flash of red, [L] falls to the ground!")
+ to_chat(user, SPAN_CULTITALIC("In a brilliant flash of red, [L] falls to the ground!"))
L.apply_status_effect(STATUS_EFFECT_CULT_STUN)
L.Silence(6 SECONDS)
@@ -485,7 +485,7 @@
C.Stuttering(16 SECONDS)
C.CultSlur(20 SECONDS)
C.Jitter(16 SECONDS)
- to_chat(user, "Stun mark applied! Stab them with a dagger, sword or blood spear to stun them fully!")
+ to_chat(user, SPAN_BOLDNOTICE("Stun mark applied! Stab them with a dagger, sword or blood spear to stun them fully!"))
user.do_attack_animation(target)
uses--
..()
@@ -506,7 +506,7 @@
var/list/duplicaterunecount = list()
var/atom/movable/teleportee
if(!IS_CULTIST(target) || !proximity)
- to_chat(user, "You can only teleport adjacent cultists with this spell!")
+ to_chat(user, SPAN_WARNING("You can only teleport adjacent cultists with this spell!"))
return
if(user != target) // So that the teleport effect shows on the correct mob
teleportee = target
@@ -525,11 +525,11 @@
potential_runes[resultkey] = T
if(!length(potential_runes))
- to_chat(user, "There are no valid runes to teleport to!")
+ to_chat(user, SPAN_WARNING("There are no valid runes to teleport to!"))
log_game("Teleport spell failed - no other teleport runes")
return
if(!is_level_reachable(user.z))
- to_chat(user, "You are too far away from the station to teleport!")
+ to_chat(user, SPAN_CULTITALIC("You are too far away from the station to teleport!"))
log_game("Teleport spell failed - user in away mission")
return
@@ -539,7 +539,7 @@
return
if(HAS_TRAIT(user, TRAIT_FLOORED))
- to_chat(user, "You cannot cast this spell while knocked down!")
+ to_chat(user, SPAN_CULTITALIC("You cannot cast this spell while knocked down!"))
return
uses--
@@ -556,12 +556,12 @@
actual_selected_rune.handle_portal("space", origin)
if(user == target)
- target.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] in a flash of red light!", \
- "You speak the words and find yourself somewhere else!")
+ target.visible_message(SPAN_WARNING("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] in a flash of red light!"), \
+ SPAN_CULTITALIC("You speak the words and find yourself somewhere else!"))
else
- target.visible_message("Dust flows from [user]'s hand, and [target] disappears in a flash of red light!", \
- "You suddenly find yourself somewhere else!")
- destination.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.")
+ target.visible_message(SPAN_WARNING("Dust flows from [user]'s hand, and [target] disappears in a flash of red light!"), \
+ SPAN_CULTITALIC("You suddenly find yourself somewhere else!"))
+ destination.visible_message(SPAN_WARNING("There is a boom of outrushing air as something appears above the rune!"), null, "You hear a boom.")
teleportee.forceMove(destination)
return ..()
@@ -578,7 +578,7 @@
if(iscarbon(target) && proximity)
var/mob/living/carbon/C = target
if(!(C.has_left_hand() || C.has_right_hand()))
- user.visible_message("This victim doesn't have enough arms to complete the restraint!")
+ user.visible_message(SPAN_CULTITALIC("This victim doesn't have enough arms to complete the restraint!"))
return
CuffAttack(C, user)
source.build_all_button_icons()
@@ -587,22 +587,22 @@
/obj/item/melee/blood_magic/shackles/proc/CuffAttack(mob/living/carbon/C, mob/living/user)
if(!C.handcuffed)
playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, SOUND_RANGE_SET(7))
- C.visible_message("[user] begins restraining [C] with dark magic!", \
- "[user] begins shaping dark magic shackles around your wrists!")
+ C.visible_message(SPAN_DANGER("[user] begins restraining [C] with dark magic!"), \
+ SPAN_USERDANGER("[user] begins shaping dark magic shackles around your wrists!"))
if(do_mob(user, C, 30))
if(!C.handcuffed)
C.handcuffed = new /obj/item/restraints/handcuffs/cult(C)
C.update_handcuffed()
C.Silence(12 SECONDS)
- to_chat(user, "You shackle [C].")
+ to_chat(user, SPAN_NOTICE("You shackle [C]."))
add_attack_logs(user, C, "shackled")
uses--
else
- to_chat(user, "[C] is already bound.")
+ to_chat(user, SPAN_WARNING("[C] is already bound."))
else
- to_chat(user, "You fail to shackle [C].")
+ to_chat(user, SPAN_WARNING("You fail to shackle [C]."))
else
- to_chat(user, "[C] is already bound.")
+ to_chat(user, SPAN_WARNING("[C] is already bound."))
/// For the shackling spell
@@ -615,7 +615,7 @@
flags = DROPDEL
/obj/item/restraints/handcuffs/cult/finish_resist_restraints(mob/living/carbon/user, break_cuffs, silent)
- user.visible_message("[user]'s shackles shatter in a discharge of dark magic!", "Your [name] shatter in a discharge of dark magic!")
+ user.visible_message(SPAN_DANGER("[user]'s shackles shatter in a discharge of dark magic!"), SPAN_USERDANGER("Your [name] shatter in a discharge of dark magic!"))
break_cuffs = TRUE
silent = TRUE
. = ..()
@@ -640,7 +640,7 @@
return
if(proximity_flag)
if(channeling)
- to_chat(user, "You are already invoking twisted construction!")
+ to_chat(user, SPAN_CULTITALIC("You are already invoking twisted construction!"))
return
var/turf/T = get_turf(target)
@@ -649,11 +649,11 @@
var/obj/item/stack/sheet/candidate = target
if(candidate.use(METAL_TO_CONSTRUCT_SHELL_CONVERSION))
uses--
- to_chat(user, "A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!")
+ to_chat(user, SPAN_WARNING("A dark cloud emanates from your hand and swirls around the metal, twisting it into a construct shell!"))
new /obj/structure/constructshell(T)
playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(4))
else
- to_chat(user, "You need [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal to produce a construct shell!")
+ to_chat(user, SPAN_WARNING("You need [METAL_TO_CONSTRUCT_SHELL_CONVERSION] metal to produce a construct shell!"))
return
//Plasteel to runed metal
@@ -663,7 +663,7 @@
if(candidate.use(quantity))
uses--
new /obj/item/stack/sheet/runed_metal(T, quantity)
- to_chat(user, "A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!")
+ to_chat(user, SPAN_WARNING("A dark cloud emanates from you hand and swirls around the plasteel, transforming it into runed metal!"))
playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(4))
//Airlock to cult airlock
@@ -674,14 +674,14 @@
if(do_after(user, 50, target = target))
target.narsie_act(TRUE)
uses--
- user.visible_message("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!")
+ user.visible_message(SPAN_WARNING("Black ribbons suddenly emanate from [user]'s hand and cling to the airlock - twisting and corrupting it!"))
playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(7))
channeling = FALSE
else
channeling = FALSE
return
else
- to_chat(user, "The spell will not work on [target]!")
+ to_chat(user, SPAN_WARNING("The spell will not work on [target]!"))
return
..()
@@ -706,7 +706,7 @@
qdel(src) //Clears the hands
C.put_in_hands(new /obj/item/melee/cultblade(user))
C.put_in_hands(new /obj/item/restraints/legcuffs/bola/cult(user))
- C.visible_message("Otherworldly [armour ? "armour" : "equipment"] suddenly appears on [C]!")
+ C.visible_message(SPAN_WARNING("Otherworldly [armour ? "armour" : "equipment"] suddenly appears on [C]!"))
..()
//Used by blood rite, to recharge things like viel shifter or the cultest shielded robes
/obj/item/melee/blood_magic/empower
@@ -724,10 +724,10 @@
if(istype(target, /obj/item/clothing/suit/hooded/cultrobes/cult_shield))
var/datum/component/shielded/shield = target.GetComponent(/datum/component/shielded)
if(shield.current_charges >= 3)
- to_chat(user, "[target] is already at full charge!")
+ to_chat(user, SPAN_WARNING("[target] is already at full charge!"))
return
uses--
- to_chat(user, "You empower [target] with blood, recharging its shields!")
+ to_chat(user, SPAN_WARNING("You empower [target] with blood, recharging its shields!"))
playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(7))
shield.current_charges = 3
user.update_appearance(UPDATE_ICON)
@@ -737,16 +737,16 @@
if(istype(target, /obj/item/cult_shift))
var/obj/item/cult_shift/S = target
if(S.uses >= 4)
- to_chat(user, "[target] is already at full charge!")
+ to_chat(user, SPAN_WARNING("[target] is already at full charge!"))
return
uses--
- to_chat(user, "You empower [target] with blood, recharging its ability to shift!")
+ to_chat(user, SPAN_WARNING("You empower [target] with blood, recharging its ability to shift!"))
playsound(user, 'sound/magic/cult_spell.ogg', 25, TRUE, SOUND_RANGE_SET(7))
S.uses = 4
S.icon_state = "shifter"
return ..()
- to_chat(user, "The spell will not work on [target]!")
+ to_chat(user, SPAN_WARNING("The spell will not work on [target]!"))
return ..()
//Blood Rite: Absorb blood to heal cult members or summon weapons
@@ -759,7 +759,7 @@
. = ..()
. += "Blood spear and blood barrage cost [BLOOD_SPEAR_COST] and [BLOOD_BARRAGE_COST] charges respectively."
. += "Blood orb and blood empower cost [BLOOD_ORB_COST] and [BLOOD_RECHARGE_COST] charges respectively."
- . += "You have collected [uses] charge\s of blood."
+ . += SPAN_CULTITALIC("You have collected [uses] charge\s of blood.")
/obj/item/melee/blood_magic/manipulator/proc/restore_blood(mob/living/carbon/human/user, mob/living/carbon/human/H)
if(uses == 0)
@@ -771,34 +771,34 @@
var/restore_blood = BLOOD_VOLUME_SAFE - H.blood_volume
if(uses * 2 < restore_blood)
H.blood_volume += uses * 2
- to_chat(user, "You use the last of your charges to restore what blood you could, and the spell dissipates!")
+ to_chat(user, SPAN_DANGER("You use the last of your charges to restore what blood you could, and the spell dissipates!"))
uses = 0
else
H.blood_volume = BLOOD_VOLUME_SAFE
uses -= round(restore_blood / 2)
- to_chat(user, "Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!")
+ to_chat(user, SPAN_CULT("Your blood rites have restored [H == user ? "your" : "[H.p_their()]"] blood to safe levels!"))
/obj/item/melee/blood_magic/manipulator/proc/heal_human_damage(mob/living/carbon/human/user, mob/living/carbon/human/H)
if(uses == 0)
return
var/overall_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss() + H.getOxyLoss()
if(overall_damage == 0)
- to_chat(user, "[H] doesn't require healing!")
+ to_chat(user, SPAN_WARNING("[H] doesn't require healing!"))
return
var/ratio = uses / overall_damage
if(H == user)
- to_chat(user, "Your blood healing is far less efficient when used on yourself!")
+ to_chat(user, SPAN_WARNING("Your blood healing is far less efficient when used on yourself!"))
ratio *= 0.35 // Healing is half as effective if you can't perform a full heal
uses -= round(overall_damage) // Healing is 65% more "expensive" even if you can still perform the full heal
if(ratio > 1)
ratio = 1
uses -= round(overall_damage)
- H.visible_message("[H] is fully healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic!",
- "You are fully healed by [H == user ? "your" : "[user]'s"] blood magic!")
+ H.visible_message(SPAN_WARNING("[H] is fully healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic!"),
+ SPAN_CULTITALIC("You are fully healed by [H == user ? "your" : "[user]'s"] blood magic!"))
else
- H.visible_message("[H] is partially healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic.",
- "You are partially healed by [H == user ? "your" : "[user]'s"] blood magic.")
+ H.visible_message(SPAN_WARNING("[H] is partially healed by [H == user ? "[H.p_their()]" : "[H]'s"] blood magic."),
+ SPAN_CULTITALIC("You are partially healed by [H == user ? "your" : "[user]'s"] blood magic."))
uses = 0
ratio *= -1
H.adjustOxyLoss((overall_damage * ratio) * (H.getOxyLoss() / overall_damage), FALSE, null, TRUE)
@@ -812,57 +812,57 @@
/obj/item/melee/blood_magic/manipulator/proc/heal_cultist(mob/living/carbon/human/user, mob/living/carbon/human/H)
if(H.stat == DEAD)
- to_chat(user, "Only a revive rune can bring back the dead!")
+ to_chat(user, SPAN_WARNING("Only a revive rune can bring back the dead!"))
return
var/charge_loss = uses
restore_blood(user, H)
heal_human_damage(user, H)
charge_loss = charge_loss - uses
if(!uses)
- to_chat(user, "You use the last of your charges to heal [H == user ? "yourself" : "[H]"], and the spell dissipates!")
+ to_chat(user, SPAN_DANGER("You use the last of your charges to heal [H == user ? "yourself" : "[H]"], and the spell dissipates!"))
else
- to_chat(user, "You use [charge_loss] charge\s, and have [uses] remaining.")
+ to_chat(user, SPAN_CULTITALIC("You use [charge_loss] charge\s, and have [uses] remaining."))
/obj/item/melee/blood_magic/manipulator/proc/heal_construct(mob/living/carbon/human/user, mob/living/simple_animal/M)
if(uses == 0)
return
var/missing = M.maxHealth - M.health
if(!missing)
- to_chat(user, "[M] doesn't require healing!")
+ to_chat(user, SPAN_WARNING("[M] doesn't require healing!"))
return
if(uses > missing)
M.adjustHealth(-missing)
- M.visible_message("[M] is fully healed by [user]'s blood magic!",
- "You are fully healed by [user]'s blood magic!")
+ M.visible_message(SPAN_WARNING("[M] is fully healed by [user]'s blood magic!"),
+ SPAN_CULTITALIC("You are fully healed by [user]'s blood magic!"))
uses -= missing
else
M.adjustHealth(-uses)
- M.visible_message("[M] is partially healed by [user]'s blood magic!",
- "You are partially healed by [user]'s blood magic.")
+ M.visible_message(SPAN_WARNING("[M] is partially healed by [user]'s blood magic!"),
+ SPAN_CULTITALIC("You are partially healed by [user]'s blood magic."))
uses = 0
playsound(get_turf(M), 'sound/magic/staff_healing.ogg', 25, extrarange = SOUND_RANGE_SET(7))
user.Beam(M, icon_state = "sendbeam", time = 10)
/obj/item/melee/blood_magic/manipulator/proc/steal_blood(mob/living/carbon/human/user, mob/living/carbon/human/H)
if(H.stat == DEAD)
- to_chat(user, "[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it.")
+ to_chat(user, SPAN_WARNING("[H.p_their(TRUE)] blood has stopped flowing, you'll have to find another way to extract it."))
return
if(H.AmountCultSlurring())
- to_chat(user, "[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!")
+ to_chat(user, SPAN_DANGER("[H.p_their(TRUE)] blood has been tainted by an even stronger form of blood magic, it's no use to us like this!"))
return
if(!H.dna || (NO_BLOOD in H.dna.species.species_traits) || H.dna.species.exotic_blood != null)
- to_chat(user, "[H] does not have any usable blood!")
+ to_chat(user, SPAN_WARNING("[H] does not have any usable blood!"))
return
if(H.blood_volume <= BLOOD_VOLUME_SAFE)
- to_chat(user, "[H] is missing too much blood - you cannot drain [H.p_them()] further!")
+ to_chat(user, SPAN_WARNING("[H] is missing too much blood - you cannot drain [H.p_them()] further!"))
return
H.blood_volume -= 100
uses += 50
user.Beam(H, icon_state = "drainbeam", time = 10)
playsound(get_turf(H), 'sound/misc/enter_blood.ogg', 50, extrarange = SOUND_RANGE_SET(7))
- H.visible_message("[user] has drained some of [H]'s blood!",
- "[user] has drained some of your blood!")
- to_chat(user, "Your blood rite gains 50 charges from draining [H]'s blood.")
+ H.visible_message(SPAN_DANGER("[user] has drained some of [H]'s blood!"),
+ SPAN_USERDANGER("[user] has drained some of your blood!"))
+ to_chat(user, SPAN_CULTITALIC("Your blood rite gains 50 charges from draining [H]'s blood."))
new /obj/effect/temp_visual/cult/sparks(get_turf(H))
// This should really be split into multiple procs
@@ -889,7 +889,7 @@
var/obj/item/blood_orb/candidate = target
if(candidate.blood)
uses += candidate.blood
- to_chat(user, "You obtain [candidate.blood] blood from the orb of blood!")
+ to_chat(user, SPAN_WARNING("You obtain [candidate.blood] blood from the orb of blood!"))
playsound(user, 'sound/misc/enter_blood.ogg', 50, extrarange = SOUND_RANGE_SET(7))
qdel(candidate)
source.build_all_button_icons()
@@ -918,7 +918,7 @@
new /obj/effect/temp_visual/cult/sparks(get_turf(user))
playsound(T, 'sound/misc/enter_blood.ogg', 50, extrarange = SOUND_RANGE_SET(7))
temp = round(temp)
- to_chat(user, "Your blood rite has gained [temp] charge\s from blood sources around you!")
+ to_chat(user, SPAN_CULTITALIC("Your blood rite has gained [temp] charge\s from blood sources around you!"))
uses += max(1, temp)
/obj/item/melee/blood_magic/manipulator/attack_self__legacy__attackchain(mob/living/user)
@@ -933,14 +933,14 @@
switch(choice)
if("Blood Orb (50)")
if(uses < BLOOD_ORB_COST)
- to_chat(user, "You need [BLOOD_ORB_COST] charges to perform this rite.")
+ to_chat(user, SPAN_WARNING("You need [BLOOD_ORB_COST] charges to perform this rite."))
else
var/ammount = input("How much blood would you like to transfer? You have [uses] blood.", "How much blood?", 50) as null|num
if(ammount < 50) // No 1 blood orbs, 50 or more.
- to_chat(user, "You need to give up at least 50 blood.")
+ to_chat(user, SPAN_WARNING("You need to give up at least 50 blood."))
return
if(ammount > uses) // No free blood either
- to_chat(user, "You do not have that much blood to give!")
+ to_chat(user, SPAN_WARNING("You do not have that much blood to give!"))
return
uses -= ammount
var/turf/T = get_turf(user)
@@ -948,28 +948,28 @@
var/obj/item/blood_orb/rite = new(T)
rite.blood = ammount
if(user.put_in_hands(rite))
- to_chat(user, "A [rite.name] appears in your hand!")
+ to_chat(user, SPAN_CULT("A [rite.name] appears in your hand!"))
else
- user.visible_message("A [rite.name] appears at [user]'s feet!",
- "A [rite.name] materializes at your feet.")
+ user.visible_message(SPAN_WARNING("A [rite.name] appears at [user]'s feet!"),
+ SPAN_CULT("A [rite.name] materializes at your feet."))
if("Blood Recharge (75)")
if(uses < BLOOD_RECHARGE_COST)
- to_chat(user, "You need [BLOOD_RECHARGE_COST] charges to perform this rite.")
+ to_chat(user, SPAN_CULTITALIC("You need [BLOOD_RECHARGE_COST] charges to perform this rite."))
else
var/obj/rite = new /obj/item/melee/blood_magic/empower()
uses -= BLOOD_RECHARGE_COST
qdel(src)
if(user.put_in_hands(rite))
- to_chat(user, "Your hand glows with power!")
+ to_chat(user, SPAN_CULT("Your hand glows with power!"))
else
- to_chat(user, "You need a free hand for this rite!")
+ to_chat(user, SPAN_WARNING("You need a free hand for this rite!"))
uses += BLOOD_RECHARGE_COST // Refund the charges
qdel(rite)
if("Blood Spear (150)")
if(uses < BLOOD_SPEAR_COST)
- to_chat(user, "You need [BLOOD_SPEAR_COST] charges to perform this rite.")
+ to_chat(user, SPAN_WARNING("You need [BLOOD_SPEAR_COST] charges to perform this rite."))
else
uses -= BLOOD_SPEAR_COST
var/turf/T = get_turf(user)
@@ -979,14 +979,14 @@
S.Grant(user, rite)
rite.spear_act = S
if(user.put_in_hands(rite))
- to_chat(user, "A [rite.name] appears in your hand!")
+ to_chat(user, SPAN_CULT("A [rite.name] appears in your hand!"))
else
- user.visible_message("A [rite.name] appears at [user]'s feet!",
- "A [rite.name] materializes at your feet.")
+ user.visible_message(SPAN_WARNING("A [rite.name] appears at [user]'s feet!"),
+ SPAN_CULT("A [rite.name] materializes at your feet."))
if("Blood Bolt Barrage (300)")
if(uses < BLOOD_BARRAGE_COST)
- to_chat(user, "You need [BLOOD_BARRAGE_COST] charges to perform this rite.")
+ to_chat(user, SPAN_CULTITALIC("You need [BLOOD_BARRAGE_COST] charges to perform this rite."))
else
var/obj/rite = new /obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage/blood()
uses -= BLOOD_BARRAGE_COST
@@ -994,9 +994,9 @@
user.swap_hand()
user.drop_item()
if(user.put_in_hands(rite))
- to_chat(user, "Both of your hands glow with power!")
+ to_chat(user, SPAN_CULT("Both of your hands glow with power!"))
else
- to_chat(user, "You need a free hand for this rite!")
+ to_chat(user, SPAN_WARNING("You need a free hand for this rite!"))
uses += BLOOD_BARRAGE_COST // Refund the charges
qdel(rite)
source.build_all_button_icons()
diff --git a/code/game/gamemodes/cult/cult_actions.dm b/code/game/gamemodes/cult/cult_actions.dm
index 4329d6eb08f..d5a0730b1e6 100644
--- a/code/game/gamemodes/cult/cult_actions.dm
+++ b/code/game/gamemodes/cult/cult_actions.dm
@@ -32,12 +32,12 @@
return
if(!user.can_speak())
- to_chat(user, "You can't speak!")
+ to_chat(user, SPAN_WARNING("You can't speak!"))
return
if(HAS_TRAIT(user, TRAIT_MUTE) || user.mind.miming) //Under vow of silence/mute?
- user.visible_message("[user] appears to whisper to themselves.",
- "You begin to whisper to yourself.") //Make them do *something* abnormal.
+ user.visible_message(SPAN_NOTICE("[user] appears to whisper to themselves."),
+ SPAN_NOTICE("You begin to whisper to yourself.")) //Make them do *something* abnormal.
sleep(10)
else
user.whisper("O bidai nabora se[pick("'","`")]sma!") // Otherwise book club sayings.
@@ -75,13 +75,13 @@
if(!message)
return
var/title = "The [user.name]"
- living_message = "[title]: [message]"
+ living_message = SPAN_CULTLARGE("[title]: [message]")
for(var/mob/M in GLOB.player_list)
if(IS_CULTIST(M))
to_chat(M, living_message)
else if((M in GLOB.dead_mob_list) && !isnewplayer(M))
- to_chat(M, "[title] ([ghost_follow_link(user, ghost=M)]): [message]")
+ to_chat(M, SPAN_CULTLARGE("[title] ([ghost_follow_link(user, ghost=M)]): [message]"))
//Objectives
@@ -104,7 +104,7 @@
if(SSticker?.mode?.cult_team)
SSticker.mode.cult_team.study_objectives(usr, TRUE)
else
- to_chat(usr, "You fail to study the Veil. (This should never happen, adminhelp and/or yell at a coder)")
+ to_chat(usr, SPAN_CULTITALIC("You fail to study the Veil. (This should never happen, adminhelp and/or yell at a coder)"))
//Draw rune
@@ -125,4 +125,4 @@
owner.put_in_hands(D)
D.activate_self(owner)
else
- to_chat(usr, "You do not seem to carry a ritual dagger to draw a rune with. If you need a new one, prepare and use the Summon Dagger spell.")
+ to_chat(usr, SPAN_CULTITALIC("You do not seem to carry a ritual dagger to draw a rune with. If you need a new one, prepare and use the Summon Dagger spell."))
diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm
index eeafdbba7f2..560a3aafa50 100644
--- a/code/game/gamemodes/cult/cult_items.dm
+++ b/code/game/gamemodes/cult/cult_items.dm
@@ -29,7 +29,7 @@
/obj/item/melee/cultblade/examine(mob/user)
. = ..()
- . += "This blade is a powerful weapon, capable of severing limbs easily. Nonbelievers are unable to use this weapon. Striking a nonbeliever after downing them with your cult magic will stun them completely."
+ . += SPAN_NOTICE("This blade is a powerful weapon, capable of severing limbs easily. Nonbelievers are unable to use this weapon. Striking a nonbeliever after downing them with your cult magic will stun them completely.")
/obj/item/melee/cultblade/pre_attack(atom/target, mob/living/user, params)
if(..())
@@ -38,8 +38,8 @@
if(!IS_CULTIST(user))
user.Weaken(10 SECONDS)
user.drop_item_to_ground(src, force = TRUE)
- user.visible_message("A powerful force shoves [user] away from [target]!",
- "\"You shouldn't play with sharp things. You'll poke someone's eye out.\"")
+ user.visible_message(SPAN_WARNING("A powerful force shoves [user] away from [target]!"),
+ SPAN_CULTLARGE("\"You shouldn't play with sharp things. You'll poke someone's eye out.\""))
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.apply_damage(rand(force/2, force), BRUTE, pick("l_arm", "r_arm"))
@@ -60,13 +60,13 @@
/obj/item/melee/cultblade/pickup(mob/living/user)
. = ..()
if(!IS_CULTIST(user))
- to_chat(user, "\"I wouldn't advise that.\"")
- to_chat(user, "An overwhelming sense of nausea overpowers you!")
+ to_chat(user, SPAN_CULTLARGE("\"I wouldn't advise that.\""))
+ to_chat(user, SPAN_WARNING("An overwhelming sense of nausea overpowers you!"))
user.Confused(20 SECONDS)
user.Jitter(12 SECONDS)
if(HAS_TRAIT(user, TRAIT_HULK))
- to_chat(user, "You can't seem to hold the blade properly!")
+ to_chat(user, SPAN_DANGER("You can't seem to hold the blade properly!"))
user.drop_item_to_ground(src, force = TRUE)
/obj/item/restraints/legcuffs/bola/cult
@@ -78,14 +78,14 @@
/obj/item/restraints/legcuffs/bola/cult/throw_at(atom/target, range, speed, mob/thrower, spin, diagonals_first, datum/callback/callback)
if(thrower && !IS_CULTIST(thrower)) // A couple of objs actually proc throw_at, so we need to make sure that yes, we got tossed by a person before trying to send a message
- thrower.visible_message("The bola glows, and boomarangs back at [thrower]!")
+ thrower.visible_message(SPAN_DANGER("The bola glows, and boomarangs back at [thrower]!"))
throw_impact(thrower)
return
. = ..()
/obj/item/restraints/legcuffs/bola/cult/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
if(IS_CULTIST(hit_atom))
- hit_atom.visible_message("[src] bounces off of [hit_atom], as if repelled by an unseen force!")
+ hit_atom.visible_message(SPAN_WARNING("[src] bounces off of [hit_atom], as if repelled by an unseen force!"))
return
. = ..()
@@ -160,8 +160,8 @@
/obj/item/clothing/suit/hooded/cultrobes/cult_shield/equipped(mob/living/user, slot)
..()
if(!IS_CULTIST(user)) // Todo: Make this only happen when actually equipped to the correct slot. (For all cult items)
- to_chat(user, "\"I wouldn't advise that.\"")
- to_chat(user, "An overwhelming sense of nausea overpowers you!")
+ to_chat(user, SPAN_CULTLARGE("\"I wouldn't advise that.\""))
+ to_chat(user, SPAN_WARNING("An overwhelming sense of nausea overpowers you!"))
user.drop_item_to_ground(src, force = TRUE)
user.Confused(20 SECONDS)
user.Weaken(10 SECONDS)
@@ -172,10 +172,10 @@
/// A proc for callback when the shield breaks, since cult robes are stupid and have different effects
/obj/item/clothing/suit/hooded/cultrobes/cult_shield/proc/shield_damaged(mob/living/wearer, attack_text, new_current_charges)
- wearer.visible_message("[attack_text] is deflected in a burst of blood-red sparks!")
+ wearer.visible_message(SPAN_DANGER("[attack_text] is deflected in a burst of blood-red sparks!"))
new /obj/effect/temp_visual/cult/sparks(get_turf(wearer))
if(new_current_charges == 0)
- wearer.visible_message("The runed shield around [wearer] suddenly disappears!")
+ wearer.visible_message(SPAN_DANGER("The runed shield around [wearer] suddenly disappears!"))
/obj/item/clothing/suit/hooded/cultrobes/flagellant_robe
name = "flagellant's robes"
@@ -194,8 +194,8 @@
/obj/item/clothing/suit/hooded/cultrobes/flagellant_robe/equipped(mob/living/user, slot)
..()
if(!IS_CULTIST(user))
- to_chat(user, "\"I wouldn't advise that.\"")
- to_chat(user, "An overwhelming sense of nausea overpowers you!")
+ to_chat(user, SPAN_CULTLARGE("\"I wouldn't advise that.\""))
+ to_chat(user, SPAN_WARNING("An overwhelming sense of nausea overpowers you!"))
user.drop_item_to_ground(src, force = TRUE)
user.Confused(20 SECONDS)
user.Weaken(10 SECONDS)
@@ -237,7 +237,7 @@
/obj/item/whetstone/cult/attackby__legacy__attackchain(obj/item/I, mob/user, params)
..()
if(used)
- to_chat(user, "[src] crumbles to ashes.")
+ to_chat(user, SPAN_NOTICE("[src] crumbles to ashes."))
qdel(src)
/obj/item/reagent_containers/drinks/bottle/unholywater
@@ -259,7 +259,7 @@
/obj/item/clothing/glasses/hud/health/night/cultblind/equipped(mob/living/user, slot)
..()
if(!IS_CULTIST(user))
- to_chat(user, "\"You want to be blind, do you?\"")
+ to_chat(user, SPAN_CULTLARGE("\"You want to be blind, do you?\""))
user.drop_item_to_ground(src, force = TRUE)
user.Confused(60 SECONDS)
user.Weaken(10 SECONDS)
@@ -276,20 +276,20 @@
if(!IS_CULTIST(user))
user.drop_item_to_ground(src, force = TRUE)
user.Weaken(10 SECONDS)
- to_chat(user, "A powerful force shoves you away from [src]!")
+ to_chat(user, SPAN_WARNING("A powerful force shoves you away from [src]!"))
return
if(curselimit > 1)
- to_chat(user, "We have exhausted our ability to curse the shuttle.")
+ to_chat(user, SPAN_NOTICE("We have exhausted our ability to curse the shuttle."))
return
if(locate(/obj/singularity/narsie) in GLOB.poi_list || locate(/mob/living/basic/demon/slaughter/cult) in GLOB.mob_list)
- to_chat(user, "Nar'Sie or her avatars are already on this plane, there is no delaying the end of all things.")
+ to_chat(user, SPAN_DANGER("Nar'Sie or her avatars are already on this plane, there is no delaying the end of all things."))
return
if(SSshuttle.emergency.mode == SHUTTLE_CALL)
var/cursetime = 3 MINUTES
var/timer = SSshuttle.emergency.timeLeft(1) + cursetime
SSshuttle.emergency.setTimer(timer)
- to_chat(user,"You shatter the orb! A dark essence spirals into the air, then disappears.")
+ to_chat(user,SPAN_DANGER("You shatter the orb! A dark essence spirals into the air, then disappears."))
playsound(user.loc, 'sound/effects/glassbr1.ogg', 50, TRUE)
curselimit++
var/message = pick(CULT_CURSES)
@@ -306,9 +306,9 @@
/obj/item/cult_shift/examine(mob/user)
. = ..()
if(uses)
- . += "It has [uses] use\s remaining."
+ . += SPAN_CULT("It has [uses] use\s remaining.")
else
- . += "It seems drained."
+ . += SPAN_CULT("It seems drained.")
/obj/item/cult_shift/proc/handle_teleport_grab(turf/T, mob/user)
var/mob/living/carbon/C = user
@@ -324,12 +324,12 @@
/obj/item/cult_shift/attack_self__legacy__attackchain(mob/user)
if(!uses || !iscarbon(user))
- to_chat(user, "[src] is dull and unmoving in your hands.")
+ to_chat(user, SPAN_WARNING("[src] is dull and unmoving in your hands."))
return
if(!IS_CULTIST(user))
user.drop_item_to_ground(src, force = TRUE)
step(src, pick(GLOB.alldirs))
- to_chat(user, "[src] flickers out of your hands, too eager to move!")
+ to_chat(user, SPAN_WARNING("[src] flickers out of your hands, too eager to move!"))
return
if(SEND_SIGNAL(user, COMSIG_MOVABLE_TELEPORTING, get_turf(user)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
@@ -369,7 +369,7 @@
playsound(destination, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
else
- to_chat(C, "The veil cannot be torn here!")
+ to_chat(C, SPAN_DANGER("The veil cannot be torn here!"))
/obj/item/melee/cultblade/ghost
name = "eldritch sword"
@@ -454,7 +454,7 @@
/obj/item/shield/mirror/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
// Incase they get one by some magic
if(!SSticker.mode.cult_team.mirror_shields_active)
- to_chat(owner, "This shield is powerless! You must perform the required sacrifice to empower it!")
+ to_chat(owner, SPAN_WARNING("This shield is powerless! You must perform the required sacrifice to empower it!"))
return
if(IS_CULTIST(owner) && !owner.holy_check()) // Cultist holding the shield
@@ -476,7 +476,7 @@
if(prob(shatter_chance) || P.shield_buster)
var/turf/T = get_turf(owner)
- T.visible_message("The sheer force from [P] shatters the mirror shield!")
+ T.visible_message(SPAN_WARNING("The sheer force from [P] shatters the mirror shield!"))
new /obj/effect/temp_visual/cult/sparks(T)
playsound(T, 'sound/effects/glassbr3.ogg', 100)
owner.Weaken(6 SECONDS)
@@ -513,7 +513,7 @@
else
H.Copy_Parent(user, 100, 20, 5)
H.GiveTarget(user)
- to_chat(user, "[src] betrays you!")
+ to_chat(user, SPAN_DANGER("[src] betrays you!"))
else
var/mob/living/simple_animal/hostile/illusion/escape/cult/E = new(user.loc)
E.Copy_Parent(user, 70, 10)
@@ -526,7 +526,7 @@
else if(isliving(loc))
var/mob/living/holder = loc
if(IS_CULTIST(holder))
- to_chat(holder, "The shield's illusions are back at full strength!")
+ to_chat(holder, SPAN_CULTITALIC("The shield's illusions are back at full strength!"))
else
to_chat(holder, "[src] vibrates slightly, and starts glowing.")
@@ -577,9 +577,9 @@
if(IS_CULTIST(L))
playsound(src, 'sound/weapons/throwtap.ogg', 50)
if(!L.restrained() && L.put_in_active_hand(src))
- L.visible_message("[L] catches [src] out of the air!")
+ L.visible_message(SPAN_WARNING("[L] catches [src] out of the air!"))
else
- L.visible_message("[src] bounces off of [L], as if repelled by an unseen force!")
+ L.visible_message(SPAN_WARNING("[src] bounces off of [L], as if repelled by an unseen force!"))
else if(!..())
if(L.null_rod_check())
return
@@ -606,7 +606,7 @@
if(!T)
T = get_turf(src)
if(T)
- T.visible_message("[src] shatters and melts back into blood!")
+ T.visible_message(SPAN_WARNING("[src] shatters and melts back into blood!"))
new /obj/effect/temp_visual/cult/sparks(T)
new /obj/effect/decal/cleanable/blood/splatter(T)
playsound(T, 'sound/effects/glassbr3.ogg', 100)
@@ -636,13 +636,13 @@
var/ST = get_turf(spear)
var/OT = get_turf(owner)
if(get_dist(OT, ST) > 10)
- to_chat(owner,"The spear is too far away!")
+ to_chat(owner,SPAN_WARNING("The spear is too far away!"))
else
cooldown = world.time + 20
if(isliving(spear.loc))
var/mob/living/L = spear.loc
L.drop_item_to_ground(spear)
- L.visible_message("An unseen force pulls the blood spear from [L]'s hands!")
+ L.visible_message(SPAN_WARNING("An unseen force pulls the blood spear from [L]'s hands!"))
spear.throw_at(owner, 10, 2, null, dodgeable = FALSE)
/obj/item/gun/projectile/shotgun/boltaction/enchanted/arcane_barrage/blood
@@ -709,8 +709,8 @@
if(!iscarbon(user))
return
var/mob/living/carbon/M = user
- to_chat(M, "\"So, you want to explore space?\"")
- to_chat(M, "Space flashes around you as you are moved somewhere else!")
+ to_chat(M, SPAN_CULTLARGE("\"So, you want to explore space?\""))
+ to_chat(M, SPAN_WARNING("Space flashes around you as you are moved somewhere else!"))
M.Confused(20 SECONDS)
M.flash_eyes(override_blindness_check = TRUE)
M.EyeBlind(20 SECONDS)
@@ -720,10 +720,10 @@
if(istype(O, /obj/effect/rune))
if(!istype(O, /obj/effect/rune/teleport))
- to_chat(user, "[src] only works on teleport runes.")
+ to_chat(user, SPAN_WARNING("[src] only works on teleport runes."))
return
if(!proximity)
- to_chat(user, "You are too far away from the teleport rune.")
+ to_chat(user, SPAN_WARNING("You are too far away from the teleport rune."))
return
var/obj/effect/rune/teleport/R = O
attempt_portal(R, user)
@@ -748,11 +748,11 @@
potential_runes[result_key] = target
if(!length(potential_runes))
- to_chat(user, "There are no valid runes to teleport to!")
+ to_chat(user, SPAN_WARNING("There are no valid runes to teleport to!"))
return
if(!is_level_reachable(user.z))
- to_chat(user, "You are not in the right dimension!")
+ to_chat(user, SPAN_CULTITALIC("You are not in the right dimension!"))
return
var/input_rune_key = tgui_input_list(user, "Choose a rune to make a portal to", "Rune to make a portal to", potential_runes) //we know what key they picked
@@ -765,7 +765,7 @@
else if(!is_station_level(R.z) || isspacearea(get_area(src)))
actual_selected_rune.handle_portal("space", T)
new /obj/effect/portal/cult(get_turf(R), get_turf(actual_selected_rune), src, 4 MINUTES)
- to_chat(user, "You use the magic of the amulet to turn [R] into a portal.")
+ to_chat(user, SPAN_CULTITALIC("You use the magic of the amulet to turn [R] into a portal."))
playsound(src, 'sound/magic/cult_spell.ogg', 100, TRUE)
qdel(R)
qdel(src)
@@ -783,7 +783,7 @@
/obj/effect/portal/cult/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if((istype(used, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) || (istype(used, /obj/item/nullrod) && HAS_MIND_TRAIT(user, TRAIT_HOLY)))
- to_chat(user, "You close the portal with your [used].")
+ to_chat(user, SPAN_NOTICE("You close the portal with your [used]."))
playsound(src, 'sound/magic/magic_missile.ogg', 100, TRUE)
qdel(src)
return ITEM_INTERACT_COMPLETE
@@ -824,9 +824,9 @@ GLOBAL_LIST_EMPTY(proteon_portals)
if(!IS_CULTIST(user) && isliving(user))
var/mob/living/living_user = user
living_user.adjustBrainLoss(5)
- . += "It hurts just to look at it. Better keep away."
+ . += SPAN_DANGER("It hurts just to look at it. Better keep away.")
else
- . += "It can be used to create a gateway to Nar'Sie's domain, which will summon weak, sentient constructs over time."
+ . += SPAN_CULT("It can be used to create a gateway to Nar'Sie's domain, which will summon weak, sentient constructs over time.")
/obj/item/proteon_orb/activate_self(mob/user)
if(..())
@@ -835,18 +835,18 @@ GLOBAL_LIST_EMPTY(proteon_portals)
var/list/portals_to_scan = GLOB.proteon_portals
if(!IS_CULTIST(user))
- to_chat(user, "\"You want to enter my domain? Go ahead.\"")
+ to_chat(user, SPAN_CULTLARGE("\"You want to enter my domain? Go ahead.\""))
portals_to_scan = null // narsie wants to have some fun and the veil wont stop her
for(var/obj/structure/spawner/sentient/proteon_spawner/P as anything in portals_to_scan)
if(get_dist(P, src) <= 40)
- to_chat(user, "There's a gateway too close nearby. The veil is not yet weak enough to allow such close rips in its fabric.")
+ to_chat(user, SPAN_CULT("There's a gateway too close nearby. The veil is not yet weak enough to allow such close rips in its fabric."))
return
- to_chat(user, "You focus on [src] and direct it into the ground. It rumbles...")
+ to_chat(user, SPAN_CULTITALIC("You focus on [src] and direct it into the ground. It rumbles..."))
var/turf/hole_spot = get_turf(user)
if(!isfloorturf(hole_spot))
- to_chat(user, "This is not a suitable spot.")
+ to_chat(user, SPAN_NOTICE("This is not a suitable spot."))
return
INVOKE_ASYNC(hole_spot, TYPE_PROC_REF(/turf/simulated/floor, quake_gateway), user)
@@ -864,19 +864,19 @@ GLOBAL_LIST_EMPTY(proteon_portals)
fucked = TRUE
user.notransform = TRUE
user.add_atom_colour(LIGHT_COLOR_RED, TEMPORARY_COLOUR_PRIORITY)
- user.visible_message("Dark tendrils appear from the ground and root [user] in place!")
+ user.visible_message(SPAN_CULT("Dark tendrils appear from the ground and root [user] in place!"))
sleep(5 SECONDS) // can we still use these or. i mean its async
new /obj/structure/spawner/sentient/proteon_spawner(src)
- visible_message("A mysterious hole appears out of nowhere!")
+ visible_message(SPAN_CULT("A mysterious hole appears out of nowhere!"))
if(!fucked || QDELETED(user))
return
if(get_turf(user) != src) // they get away. for now
user.notransform = FALSE
- user.visible_message("[user] is pulled into the portal through an infinitesmally minuscule hole, shredding [user.p_their()] body!")
+ user.visible_message(SPAN_CULT("[user] is pulled into the portal through an infinitesmally minuscule hole, shredding [user.p_their()] body!"))
add_attack_logs(user, user, "Killed themselfs via use of a proteon orb as a non cultist", ATKLOG_ALL)
user.gib() // total destruction
sleep(5 SECONDS)
- user.visible_message("An unusually large construct appears through the portal!")
+ user.visible_message(SPAN_CULTITALIC("An unusually large construct appears through the portal!"))
var/mob/living/simple_animal/hostile/construct/proteon/hostile/remnant = new(get_step_rand(src))
remnant.name = "[user]" // no, they do not become it
remnant.appearance_flags += PIXEL_SCALE
diff --git a/code/game/gamemodes/cult/cult_mode.dm b/code/game/gamemodes/cult/cult_mode.dm
index f9f202e126c..b1196fa9efd 100644
--- a/code/game/gamemodes/cult/cult_mode.dm
+++ b/code/game/gamemodes/cult/cult_mode.dm
@@ -43,12 +43,12 @@
/datum/game_mode/cult/declare_completion()
if(cult_team.cult_status == NARSIE_HAS_RISEN)
SSticker.mode_result = "cult win - cult win"
- to_chat(world, "The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!")
+ to_chat(world, SPAN_DANGER("The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!"))
else if(cult_team.cult_status == NARSIE_HAS_FALLEN)
SSticker.mode_result = "cult draw - narsie died, nobody wins"
- to_chat(world, "Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!")
+ to_chat(world, SPAN_DANGER("Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!"))
else
SSticker.mode_result = "cult loss - staff stopped the cult"
- to_chat(world, "The staff managed to stop the cult!")
+ to_chat(world, SPAN_WARNING("The staff managed to stop the cult!"))
..()
diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm
index 6dbf2fbed2a..37eac1d637f 100644
--- a/code/game/gamemodes/cult/cult_structures.dm
+++ b/code/game/gamemodes/cult/cult_structures.dm
@@ -32,7 +32,7 @@
/obj/structure/cult/functional
max_integrity = 100
var/cooldowntime = 0
- var/death_message = "The structure falls apart." //The message shown when the structure is destroyed
+ var/death_message = SPAN_DANGER("The structure falls apart.") //The message shown when the structure is destroyed
var/death_sound = 'sound/items/bikehorn.ogg'
var/heathen_message = "You're a huge nerd, go away. Also, a coder forgot to put a message here."
var/selection_title = "Oops"
@@ -49,15 +49,15 @@
/obj/structure/cult/functional/examine(mob/user)
. = ..()
if(IS_CULTIST(user) && cooldowntime > world.time)
- . += "The magic in [src] is weak, it will be ready to use again in [get_ETA()]."
- . += "[src] is [anchored ? "":"not "]secured to the floor."
+ . += SPAN_CULTITALIC("The magic in [src] is weak, it will be ready to use again in [get_ETA()].")
+ . += SPAN_NOTICE("[src] is [anchored ? "":"not "]secured to the floor.")
/obj/structure/cult/functional/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(istype(I, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user))
if(user.holy_check())
return ITEM_INTERACT_COMPLETE
anchored = !anchored
- to_chat(user, "You [anchored ? "":"un"]secure [src] [anchored ? "to":"from"] the floor.")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "":"un"]secure [src] [anchored ? "to":"from"] the floor."))
if(!anchored)
icon_state = GET_CULT_DATA(get_icon("[initial(icon_state)]_off"), "[initial(icon_state)]_off")
else
@@ -71,16 +71,16 @@
to_chat(user, "[heathen_message]")
return
if(invisibility)
- to_chat(user, "The magic in [src] is being suppressed, reveal the structure first!")
+ to_chat(user, SPAN_CULTITALIC("The magic in [src] is being suppressed, reveal the structure first!"))
return
if(HAS_TRAIT(user, TRAIT_HULK))
- to_chat(user, "You cannot seem to manipulate this structure with your bulky hands!")
+ to_chat(user, SPAN_DANGER("You cannot seem to manipulate this structure with your bulky hands!"))
return
if(!anchored)
- to_chat(user, "You need to anchor [src] to the floor with a dagger first.")
+ to_chat(user, SPAN_CULTITALIC("You need to anchor [src] to the floor with a dagger first."))
return
if(cooldowntime > world.time)
- to_chat(user, "The magic in [src] is weak, it will be ready to use again in [get_ETA()].")
+ to_chat(user, SPAN_CULTITALIC("The magic in [src] is weak, it will be ready to use again in [get_ETA()]."))
return
@@ -119,7 +119,7 @@
/obj/structure/cult/functional/cult_conceal()
density = FALSE
- visible_message("[src] fades away.")
+ visible_message(SPAN_DANGER("[src] fades away."))
invisibility = INVISIBILITY_HIDDEN_RUNES
alpha = 100 //To help ghosts distinguish hidden objs
light_range = 0
@@ -129,7 +129,7 @@
/obj/structure/cult/functional/cult_reveal()
density = initial(density)
invisibility = 0
- visible_message("[src] suddenly appears!")
+ visible_message(SPAN_DANGER("[src] suddenly appears!"))
alpha = initial(alpha)
light_range = initial(light_range)
light_power = initial(light_power)
@@ -140,12 +140,12 @@
desc = "A sacrifical altar, covered in fresh blood. The runes covering its sides glow with barely-restrained power."
icon_state = "altar"
max_integrity = 150 //Sturdy
- death_message = "The altar breaks into splinters, releasing a cascade of spirits into the air!"
+ death_message = SPAN_DANGER("The altar breaks into splinters, releasing a cascade of spirits into the air!")
death_sound = 'sound/effects/altar_break.ogg'
- heathen_message = "There is a foreboding aura to the altar and you want nothing to do with it."
+ heathen_message = SPAN_WARNING("There is a foreboding aura to the altar and you want nothing to do with it.")
selection_prompt = "You study the rituals on the altar..."
selection_title = "Altar"
- creation_message = "You kneel before the altar and your faith is rewarded with a %ITEM%!"
+ creation_message = SPAN_CULTITALIC("You kneel before the altar and your faith is rewarded with a %ITEM%!")
choosable_items = list("Eldritch Whetstone" = /obj/item/whetstone/cult, "Flask of Unholy Water" = /obj/item/reagent_containers/drinks/bottle/unholywater,
"Construct Shell" = /obj/structure/constructshell)
@@ -161,12 +161,12 @@
light_range = 2
light_color = LIGHT_COLOR_LAVA
max_integrity = 300 //Made of metal
- death_message = "The forge falls apart, its lava cooling and winking away!"
+ death_message = SPAN_DANGER("The forge falls apart, its lava cooling and winking away!")
death_sound = 'sound/effects/forge_destroy.ogg'
- heathen_message = "Your hand feels like it's melting off as you try to touch the forge."
+ heathen_message = SPAN_WARNING("Your hand feels like it's melting off as you try to touch the forge.")
selection_prompt = "You study the schematics etched on the forge..."
selection_title = "Forge"
- creation_message = "You work the forge as dark knowledge guides your hands, creating a %ITEM%!"
+ creation_message = SPAN_CULTITALIC("You work the forge as dark knowledge guides your hands, creating a %ITEM%!")
choosable_items = list("Shielded Robe" = /obj/item/clothing/suit/hooded/cultrobes/cult_shield, "Flagellant's Robe" = /obj/item/clothing/suit/hooded/cultrobes/flagellant_robe)
/obj/structure/cult/functional/forge/get_choosable_items()
@@ -187,19 +187,19 @@
if(!iscarbon(G.affecting))
return ITEM_INTERACT_COMPLETE
if(G.affecting == LAVA_PROOF)
- to_chat(user, "[G.affecting] is immune to lava!")
+ to_chat(user, SPAN_WARNING("[G.affecting] is immune to lava!"))
return ITEM_INTERACT_COMPLETE
if(G.affecting.stat == DEAD)
- to_chat(user, "[G.affecting] is dead!")
+ to_chat(user, SPAN_WARNING("[G.affecting] is dead!"))
return ITEM_INTERACT_COMPLETE
var/mob/living/carbon/human/C = G.affecting
var/obj/item/organ/external/head/head = C.get_organ("head")
if(!head)
- to_chat(user, "[C] has no head!")
+ to_chat(user, SPAN_WARNING("[C] has no head!"))
return ITEM_INTERACT_COMPLETE
- C.visible_message("[user] dunks [C]'s face into [src]'s lava!",
- "[user] dunks your face into [src]'s lava!")
+ C.visible_message(SPAN_DANGER("[user] dunks [C]'s face into [src]'s lava!"),
+ SPAN_USERDANGER("[user] dunks your face into [src]'s lava!"))
C.emote("scream")
C.apply_damage(30, BURN, "head") // 30 fire damage because it's FUCKING LAVA
head.disfigure() // Your face is unrecognizable because it's FUCKING LAVA
@@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(blacklisted_pylon_turfs, typecacheof(list(
light_range = 1.5
light_color = LIGHT_COLOR_RED
max_integrity = 50 //Very fragile
- death_message = "The pylon's crystal vibrates and glows fiercely before violently shattering!"
+ death_message = SPAN_DANGER("The pylon's crystal vibrates and glows fiercely before violently shattering!")
death_sound = 'sound/effects/pylon_shatter.ogg'
var/heal_delay = 30
@@ -322,12 +322,12 @@ GLOBAL_LIST_INIT(blacklisted_pylon_turfs, typecacheof(list(
light_range = 1.5
light_color = LIGHT_COLOR_FIRE
max_integrity = 125 //Slightly sturdy
- death_message = "The desk breaks apart, its books falling to the floor."
+ death_message = SPAN_DANGER("The desk breaks apart, its books falling to the floor.")
death_sound = 'sound/effects/wood_break.ogg'
- heathen_message = "What do you hope to seek?"
+ heathen_message = SPAN_CULTLARGE("What do you hope to seek?")
selection_prompt = "You flip through the black pages of the archives..."
selection_title = "Archives"
- creation_message = "You invoke the dark magic of the tomes creating a %ITEM%!"
+ creation_message = SPAN_CULTITALIC("You invoke the dark magic of the tomes creating a %ITEM%!")
choosable_items = list("Shuttle Curse" = /obj/item/shuttle_curse, "Zealot's Blindfold" = /obj/item/clothing/glasses/hud/health/night/cultblind,
"Veil Shifter" = /obj/item/cult_shift, "Reality sunderer" = /obj/item/portal_amulet, "Blank Tarot Card" = /obj/item/blank_tarot_card)
diff --git a/code/game/gamemodes/cult/ritual.dm b/code/game/gamemodes/cult/ritual.dm
index c7d6889c393..ab8ce004dff 100644
--- a/code/game/gamemodes/cult/ritual.dm
+++ b/code/game/gamemodes/cult/ritual.dm
@@ -26,9 +26,9 @@
/obj/item/melee/cultblade/dagger/examine(mob/user)
. = ..()
if(IS_CULTIST(user) || user.stat == DEAD)
- . += "A dagger gifted by [GET_CULT_DATA(entity_title3, "your god")]. Allows the scribing of runes and access to the knowledge archives of the cult of [GET_CULT_DATA(entity_name, "your god")]."
- . += "Striking another cultist with it will purge holy water from them."
- . += "Striking a noncultist will tear their flesh, additionally, if you recently downed them with cult magic it will stun them completely."
+ . += SPAN_CULT("A dagger gifted by [GET_CULT_DATA(entity_title3, "your god")]. Allows the scribing of runes and access to the knowledge archives of the cult of [GET_CULT_DATA(entity_name, "your god")].")
+ . += SPAN_CULTITALIC("Striking another cultist with it will purge holy water from them.")
+ . += SPAN_CULTITALIC("Striking a noncultist will tear their flesh, additionally, if you recently downed them with cult magic it will stun them completely.")
/obj/item/melee/cultblade/dagger/pre_attack(atom/target, mob/living/user, params)
if(..())
@@ -37,11 +37,11 @@
if(IS_CULTIST(target))
if(target.reagents && target.reagents.has_reagent("holywater")) //allows cultists to be rescued from the clutches of ordained religion
if(target == user) // Targeting yourself
- to_chat(user, "You can't remove holy water from yourself!")
+ to_chat(user, SPAN_WARNING("You can't remove holy water from yourself!"))
else // Targeting someone else
- to_chat(user, "You remove the taint from [target].")
- to_chat(target, "[user] removes the taint from your body.")
+ to_chat(user, SPAN_CULT("You remove the taint from [target]."))
+ to_chat(target, SPAN_CULT("[user] removes the taint from your body."))
target.reagents.del_reagent("holywater")
add_attack_logs(user, target, "Hit with [src], removing the holy water from them")
@@ -54,31 +54,31 @@
if(IS_CULTIST(user))
scribe_rune(user)
else
- to_chat(user, "[src] is covered in unintelligible shapes and markings.")
+ to_chat(user, SPAN_WARNING("[src] is covered in unintelligible shapes and markings."))
/obj/item/melee/cultblade/dagger/proc/narsie_rune_check(mob/living/user, area/A)
var/datum/game_mode/gamemode = SSticker.mode
if(gamemode.cult_team.cult_status < NARSIE_NEEDS_SUMMONING)
- to_chat(user, "[GET_CULT_DATA(entity_name, "Your god")] is not ready to be summoned yet!")
+ to_chat(user, SPAN_CULTITALIC("[GET_CULT_DATA(entity_name, "Your god")] is not ready to be summoned yet!"))
return FALSE
if(gamemode.cult_team.cult_status == NARSIE_HAS_RISEN)
- to_chat(user, "\"I am already here. There is no need to try to summon me now.\"")
+ to_chat(user, SPAN_CULTLARGE("\"I am already here. There is no need to try to summon me now.\""))
return FALSE
var/list/summon_areas = gamemode.cult_team.obj_summon.summon_spots
if(!(A in summon_areas))
- to_chat(user, "[GET_CULT_DATA(entity_name, "Your god")] can only be summoned where the veil is weak - in [english_list(summon_areas)]!")
+ to_chat(user, SPAN_CULTLARGE("[GET_CULT_DATA(entity_name, "Your god")] can only be summoned where the veil is weak - in [english_list(summon_areas)]!"))
return FALSE
var/confirm_final = tgui_alert(user, "This is the FINAL step to summon your deities power, it is a long, painful ritual and the crew will be alerted to your presence AND your location!",
"Are you prepared for the final battle?", list("My life for [GET_CULT_DATA(entity_name, "the cult")]!", "No"))
if(user)
if(confirm_final == "No" || confirm_final == null)
- to_chat(user, "You decide to prepare further before scribing the rune.")
+ to_chat(user, SPAN_CULTITALIC("You decide to prepare further before scribing the rune."))
return FALSE
else
if(locate(/obj/effect/rune) in range(1, user))
- to_chat(user, "You need a space cleared of runes before you can summon [GET_CULT_DATA(entity_title1, "your god")]!")
+ to_chat(user, SPAN_CULTLARGE("You need a space cleared of runes before you can summon [GET_CULT_DATA(entity_title1, "your god")]!"))
return FALSE
else
return TRUE
@@ -87,14 +87,14 @@
if(!src || !user || loc != user || user.incapacitated())
return FALSE
if(drawing_rune)
- to_chat(user, "You're already drawing a rune!")
+ to_chat(user, SPAN_WARNING("You're already drawing a rune!"))
return FALSE
var/turf/T = get_turf(user)
if(isspaceturf(T))
return FALSE
if((locate(/obj/effect/rune) in T) || (locate(/obj/effect/rune/narsie) in range(1, T)))
- to_chat(user, "There's already a rune here!")
+ to_chat(user, SPAN_WARNING("There's already a rune here!"))
return FALSE
return TRUE
@@ -137,12 +137,12 @@
var/datum/game_mode/gamemode = SSticker.mode
if(ispath(rune, /obj/effect/rune/summon))
if(!is_station_level(runeturf.z) || isspacearea(A))
- to_chat(user, "The veil is not weak enough here to summon a cultist, you must be on station!")
+ to_chat(user, SPAN_CULTITALIC("The veil is not weak enough here to summon a cultist, you must be on station!"))
return
if(ispath(rune, /obj/effect/rune/teleport))
if(!is_level_reachable(user.z))
- to_chat(user, "You are too far away from the station to teleport!")
+ to_chat(user, SPAN_CULTITALIC("You are too far away from the station to teleport!"))
return
var/old_color = user.color // we'll temporarily redden the user for better feedback to fellow cultists. Store this to revert them back.
@@ -151,7 +151,7 @@
return // don't do shit
var/list/summon_areas = gamemode.cult_team.obj_summon.summon_spots
if(!(A in summon_areas)) // Check again to make sure they didn't move
- to_chat(user, "The ritual can only begin where the veil is weak - in [english_list(summon_areas)]!")
+ to_chat(user, SPAN_CULTLARGE("The ritual can only begin where the veil is weak - in [english_list(summon_areas)]!"))
return
GLOB.major_announcement.Announce("Figments from an eldritch god are being summoned into the [A.map_name] from an unknown dimension. Disrupt the ritual at all costs, before the station is destroyed! Space Law and SOP are suspended. The entire crew must kill cultists on sight.", "Central Command Higher Dimensional Affairs", 'sound/AI/cult_summon.ogg')
for(var/I in spiral_range_turfs(1, user, 1))
@@ -165,11 +165,11 @@
H.cult_self_harm(initial(rune.scribe_damage))
var/others_message
if(!narsie_rune)
- others_message = "[user] cuts [user.p_their()] body and begins writing in [user.p_their()] own blood!"
+ others_message = SPAN_WARNING("[user] cuts [user.p_their()] body and begins writing in [user.p_their()] own blood!")
else
- others_message = "[user] cuts [user.p_their()] body and begins writing something particularly ominous in [user.p_their()] own blood!"
+ others_message = SPAN_BIGGERDANGER("[user] cuts [user.p_their()] body and begins writing something particularly ominous in [user.p_their()] own blood!")
user.visible_message(others_message,
- "You slice open your body and begin drawing a sigil of [GET_CULT_DATA(entity_title3, "your god")].")
+ SPAN_CULTITALIC("You slice open your body and begin drawing a sigil of [GET_CULT_DATA(entity_title3, "your god")]."))
drawing_rune = TRUE // Only one at a time
var/scribe_successful = do_after(user, initial(rune.scribe_delay) * scribe_multiplier, target = runeturf)
@@ -182,8 +182,8 @@
if(!scribe_successful)
return
- user.visible_message("[user] creates a strange circle in [user.p_their()] own blood.",
- "You finish drawing the arcane markings of [GET_CULT_DATA(entity_title3, "your god")].")
+ user.visible_message(SPAN_WARNING("[user] creates a strange circle in [user.p_their()] own blood."),
+ SPAN_CULTITALIC("You finish drawing the arcane markings of [GET_CULT_DATA(entity_title3, "your god")]."))
var/obj/effect/rune/R = new rune(runeturf, keyword)
if(narsie_rune)
@@ -195,7 +195,7 @@
R.add_hiddenprint(H)
R.color = H.dna.species.blood_color
R.rune_blood_color = H.dna.species.blood_color
- to_chat(user, "The [lowertext(initial(rune.cultist_name))] rune [initial(rune.cultist_desc)]")
+ to_chat(user, SPAN_CULT("The [lowertext(initial(rune.cultist_name))] rune [initial(rune.cultist_desc)]"))
#undef CULT_ELDERGOD
#undef CULT_SLAUGHTER
diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm
index bf47d085774..67ef308492e 100644
--- a/code/game/gamemodes/cult/runes.dm
+++ b/code/game/gamemodes/cult/runes.dm
@@ -72,7 +72,7 @@ To draw a rune, use a ritual dagger.
. += "Effects: [capitalize(cultist_desc)]"
. += "Required Acolytes: [req_cultists]"
if(req_keyword && keyword)
- . += "Keyword: [keyword]"
+ . += "Keyword: [SPAN_CULTITALIC("[keyword]")]"
/obj/effect/rune/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user))
@@ -80,9 +80,9 @@ To draw a rune, use a ritual dagger.
return ITEM_INTERACT_COMPLETE
var/obj/item/melee/cultblade/dagger/dagger = used
- user.visible_message("[user] begins to erase [src] with [dagger].")
+ user.visible_message(SPAN_WARNING("[user] begins to erase [src] with [dagger]."))
if(do_after(user, initial(scribe_delay) * dagger.scribe_multiplier, target = src))
- to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.")
+ to_chat(user, SPAN_NOTICE("You carefully erase the [lowertext(cultist_name)] rune."))
qdel(src)
return ITEM_INTERACT_COMPLETE
@@ -90,10 +90,10 @@ To draw a rune, use a ritual dagger.
var/obj/item/nullrod/nullrod = used
if(IS_CULTIST(user)) // cultist..what are doing..cultist..staph...
user.drop_item()
- user.visible_message("[nullrod] suddenly glows with a white light, forcing [user] to drop it in pain!", \
- "[nullrod] suddenly glows with a white light that sears your hand, forcing you to drop it!") // TODO: Make this actually burn your hand
+ user.visible_message(SPAN_WARNING("[nullrod] suddenly glows with a white light, forcing [user] to drop it in pain!"), \
+ SPAN_DANGER("[nullrod] suddenly glows with a white light that sears your hand, forcing you to drop it!")) // TODO: Make this actually burn your hand
return ITEM_INTERACT_COMPLETE
- to_chat(user,"You disrupt the magic of [src] with [nullrod].")
+ to_chat(user,SPAN_DANGER("You disrupt the magic of [src] with [nullrod]."))
qdel(src)
return ITEM_INTERACT_COMPLETE
@@ -103,7 +103,7 @@ To draw a rune, use a ritual dagger.
/obj/effect/rune/attack_hand(mob/living/user)
user.Move_Pulled(src) // So that you can still drag things onto runes
if(!IS_CULTIST(user))
- to_chat(user, "You aren't able to understand the words of [src].")
+ to_chat(user, SPAN_WARNING("You aren't able to understand the words of [src]."))
return
var/list/invokers = can_invoke(user)
if(length(invokers) >= req_cultists)
@@ -116,16 +116,16 @@ To draw a rune, use a ritual dagger.
if(construct_invoke || !IS_CULTIST(M)) //if you're not a cult construct we want the normal fail message
attack_hand(M)
else
- to_chat(M, "You are unable to invoke the rune!")
+ to_chat(M, SPAN_WARNING("You are unable to invoke the rune!"))
/obj/effect/rune/cult_conceal() //for concealing spell
- visible_message("[src] fades away.")
+ visible_message(SPAN_DANGER("[src] fades away."))
invisibility = INVISIBILITY_HIDDEN_RUNES
alpha = 100 //To help ghosts distinguish hidden runes
/obj/effect/rune/cult_reveal() //for revealing spell
invisibility = initial(invisibility)
- visible_message("[src] suddenly appears!")
+ visible_message(SPAN_DANGER("[src] suddenly appears!"))
alpha = initial(alpha)
/obj/effect/rune/is_cleanable()
@@ -198,7 +198,7 @@ structure_check() searches for nearby cultist structures required for the invoca
L.changeNext_move(CLICK_CD_MELEE)//THIS IS WHY WE CAN'T HAVE NICE THINGS
if(invoke_damage)
L.apply_damage(invoke_damage, BRUTE)
- to_chat(L, "[src] saps your strength!")
+ to_chat(L, SPAN_CULTITALIC("[src] saps your strength!"))
do_invoke_glow()
SSblackbox.record_feedback("nested tally", "runes_invoked", 1, list("[initial(cultist_name)]", "[length(SSticker.mode.cult_team.members)]")) // the name of the rune, and the number of cultists in the cult when it was invoked
if(ghost_invokers)
@@ -230,7 +230,7 @@ structure_check() searches for nearby cultist structures required for the invoca
/obj/effect/rune/proc/fail_invoke(show_message = TRUE)
//This proc contains the effects of a rune if it is not invoked correctly, through either invalid wording or not enough cultists. By default, it's just a basic fizzle.
if(!invisibility && show_message) // No visible messages if not visible
- visible_message("The markings pulse with a small flash of red light, then fall dark.")
+ visible_message(SPAN_WARNING("The markings pulse with a small flash of red light, then fall dark."))
animate(src, color = rgb(255, 0, 0), time = 0)
animate(src, color = rune_blood_color, time = 5)
@@ -245,7 +245,7 @@ structure_check() searches for nearby cultist structures required for the invoca
..()
for(var/M in invokers)
var/mob/living/L = M
- to_chat(L, "You feel your life force draining. [GET_CULT_DATA(entity_title3, "Your god")] is displeased.")
+ to_chat(L, SPAN_CULTITALIC("You feel your life force draining. [GET_CULT_DATA(entity_title3, "Your god")] is displeased."))
qdel(src)
/mob/proc/null_rod_check() //The null rod, if equipped, will protect the holder from the effects of most runes
@@ -300,7 +300,7 @@ structure_check() searches for nearby cultist structures required for the invoca
if(HAS_TRAIT(L, TRAIT_CULT_IMMUNITY))
fail_invoke(FALSE)
for(var/I in invokers)
- to_chat(I, "This sacrifice was already converted recently. Wait a minute before trying again!")
+ to_chat(I, SPAN_WARNING("This sacrifice was already converted recently. Wait a minute before trying again!"))
rune_in_use = FALSE
return
@@ -317,11 +317,11 @@ structure_check() searches for nearby cultist structures required for the invoca
if(length(invokers) < 2)
fail_invoke()
for(var/I in invokers)
- to_chat(I, "You need at least two invokers to convert!")
+ to_chat(I, SPAN_WARNING("You need at least two invokers to convert!"))
return
- convertee.visible_message("[convertee] writhes in pain as the markings below them glow a bloody red!", \
- "AAAAAAAAAAAAAA-")
+ convertee.visible_message(SPAN_WARNING("[convertee] writhes in pain as the markings below them glow a bloody red!"), \
+ SPAN_CULTLARGE("AAAAAAAAAAAAAA-"))
convertee.mind.add_antag_datum(/datum/antagonist/cultist)
to_chat(convertee, "Your blood pulses. Your head throbs. The world goes red. All at once you are aware of a horrible, horrible, truth. The veil of reality has been ripped away \
and something evil takes root.")
@@ -337,11 +337,11 @@ structure_check() searches for nearby cultist structures required for the invoca
H.adjustBruteLoss(-(brutedamage * 0.9), robotic = TRUE)
H.adjustFireLoss(-(burndamage * 0.9), robotic = TRUE)
if(ismachineperson(H))
- H.visible_message("A dark force repairs [convertee]!",
- "Your damage has been repaired. Now spread the blood to others.")
+ H.visible_message(SPAN_WARNING("A dark force repairs [convertee]!"),
+ SPAN_CULTITALIC("Your damage has been repaired. Now spread the blood to others."))
else
- H.visible_message("[convertee]'s wounds heal and close!",
- "Your wounds have been healed. Now spread the blood to others.")
+ H.visible_message(SPAN_WARNING("[convertee]'s wounds heal and close!"),
+ SPAN_CULTITALIC("Your wounds have been healed. Now spread the blood to others."))
for(var/obj/item/organ/external/E in H.bodyparts)
E.mend_fracture()
E.fix_internal_bleeding()
@@ -356,9 +356,9 @@ structure_check() searches for nearby cultist structures required for the invoca
var/obj/item/melee/cultblade/dagger/D = new(get_turf(src))
if(H.equip_to_slot_if_possible(D, ITEM_SLOT_IN_BACKPACK, FALSE, TRUE))
- to_chat(H, "You have a dagger in your backpack. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding.")
+ to_chat(H, SPAN_CULTLARGE("You have a dagger in your backpack. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding."))
else
- to_chat(H, "There is a dagger on the floor. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding.")
+ to_chat(H, SPAN_CULTLARGE("There is a dagger on the floor. Use it to do [GET_CULT_DATA(entity_title1, "your god")]'s bidding."))
/obj/effect/rune/convert/proc/do_sacrifice(mob/living/offering, list/invokers)
var/mob/living/user = invokers[1] //the first invoker is always the user
@@ -366,7 +366,7 @@ structure_check() searches for nearby cultist structures required for the invoca
if(offering.stat != DEAD || (offering.mind && IS_SACRIFICE_TARGET(offering.mind))) //Requires three people to sacrifice living targets/sacrifice objective
if(length(invokers) < 3)
for(var/M in invokers)
- to_chat(M, "[offering] is too greatly linked to the world! You need three acolytes!")
+ to_chat(M, SPAN_CULTITALIC("[offering] is too greatly linked to the world! You need three acolytes!"))
fail_invoke()
log_game("Sacrifice rune failed - not enough acolytes and target is living")
return
@@ -392,18 +392,18 @@ structure_check() searches for nearby cultist structures required for the invoca
new /obj/effect/temp_visual/cult/sac(loc)
for(var/M in invokers)
if(sacrifice_fulfilled)
- to_chat(M, "\"Yes! This is the one I desire! You have done well.\"")
+ to_chat(M, SPAN_CULTLARGE("\"Yes! This is the one I desire! You have done well.\""))
if(!SSticker.mode.cult_team.mirror_shields_active) // Only show once
- to_chat(M, "You are now able to construct mirror shields inside the daemon forge.")
+ to_chat(M, SPAN_CULTITALIC("You are now able to construct mirror shields inside the daemon forge."))
SSticker.mode.cult_team.mirror_shields_active = TRUE
else
if((ishuman(offering) && offering.mind?.offstation_role && offering.mind.special_role != SPECIAL_ROLE_ERT) || HAS_MIND_TRAIT(offering, TRAIT_XENOBIO_SPAWNED_HUMAN)) //If you try it on a ghost role, or an envolved caterpillar/nymph, you get nothing
- to_chat(M, "\"This soul is of no use to either of us.\"")
+ to_chat(M, SPAN_CULTLARGE("\"This soul is of no use to either of us.\""))
worthless = TRUE
else if(ishuman(offering) || isrobot(offering))
- to_chat(M, "\"I accept this sacrifice.\"")
+ to_chat(M, SPAN_CULTLARGE("\"I accept this sacrifice.\""))
else
- to_chat(M, "\"I accept this meager sacrifice.\"")
+ to_chat(M, SPAN_CULTLARGE("\"I accept this meager sacrifice.\""))
playsound(offering, 'sound/misc/demon_consume.ogg', 100, TRUE, SOUND_RANGE_SET(10))
if(((ishuman(offering) || isrobot(offering) || isbrain(offering)) && offering.mind) && !worthless)
@@ -413,7 +413,7 @@ structure_check() searches for nearby cultist structures required for the invoca
stone.invisibility = 0
var/put_in_hands = user.put_in_any_hand_if_possible(stone)
if(put_in_hands)
- to_chat(user, "A glowing crimson shard appears in your hand - your new ally contained within.")
+ to_chat(user, SPAN_CULTITALIC("A glowing crimson shard appears in your hand - your new ally contained within."))
else
if(isrobot(offering))
offering.dust() //To prevent the MMI from remaining
@@ -451,7 +451,7 @@ structure_check() searches for nearby cultist structures required for the invoca
/obj/effect/rune/teleport/can_dagger_erase_rune(mob/user)
// Can't erase telerunes if they have a portal open
if(inner_portal || outer_portal)
- to_chat(user, "The portal needs to close first!")
+ to_chat(user, SPAN_WARNING("The portal needs to close first!"))
return FALSE
return TRUE
@@ -474,13 +474,13 @@ structure_check() searches for nearby cultist structures required for the invoca
potential_runes[resultkey] = R
if(!length(potential_runes))
- to_chat(user, "There are no valid runes to teleport to!")
+ to_chat(user, SPAN_WARNING("There are no valid runes to teleport to!"))
log_game("Teleport rune failed - no other teleport runes")
fail_invoke()
return
if(!is_level_reachable(user.z))
- to_chat(user, "You are too far away from the station to teleport!")
+ to_chat(user, SPAN_CULTITALIC("You are too far away from the station to teleport!"))
log_game("Teleport rune failed - user in away mission")
fail_invoke()
return
@@ -519,8 +519,8 @@ structure_check() searches for nearby cultist structures required for the invoca
actual_selected_rune.handle_portal("lava")
else if(!is_station_level(z) || isspacearea(get_area(src)))
actual_selected_rune.handle_portal("space", T)
- user.visible_message("There is a sharp crack of inrushing air, and everything above the rune disappears!",
- "You[moveuser ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"].")
+ user.visible_message(SPAN_WARNING("There is a sharp crack of inrushing air, and everything above the rune disappears!"),
+ SPAN_CULT("You[moveuser ? "r vision blurs, and you suddenly appear somewhere else":" send everything above the rune away"]."))
if(moveuser)
user.forceMove(target)
else
@@ -535,19 +535,19 @@ structure_check() searches for nearby cultist structures required for the invoca
if(portal_type == "space")
light_color = color
- desc += "
A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.
"
+ desc += "
[SPAN_BOLDWARNING("A tear in reality reveals a black void interspersed with dots of light... something recently teleported here from space.")]
"
// Space base near the station
if(is_station_level(origin.z))
- desc += "The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], near the station!"
+ desc += "[SPAN_WARNING("The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], near the station!")]"
// Space base on another Z-level
else
- desc += "The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], in the direction of space sector [origin.z]!"
+ desc += "[SPAN_WARNING("The void feels like it's trying to pull you to the [dir2text(get_dir(T, origin))], in the direction of space sector [origin.z]!")]"
else
inner_portal.icon_state = "lava"
light_color = LIGHT_COLOR_FIRE
- desc += "
A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!"
+ desc += "
[SPAN_BOLDWARNING("A tear in reality reveals a coursing river of lava... something recently teleported here from the Lavaland Mines!")]"
outer_portal = new(T, 60 SECONDS, color)
light_range = 4
@@ -588,13 +588,13 @@ structure_check() searches for nearby cultist structures required for the invoca
/obj/effect/rune/raise_dead/examine(mob/user)
. = ..()
if(IS_CULTIST(user) || user.stat == DEAD)
- . += "Sacrifices unrewarded: [length(GLOB.sacrificed) - sacrifices_used]"
- . += "Sacrifice cost per ressurection: [SOULS_TO_REVIVE]"
+ . += "Sacrifices unrewarded:[SPAN_CULTITALIC(" [length(GLOB.sacrificed) - sacrifices_used]")]"
+ . += "Sacrifice cost per ressurection:[SPAN_CULTITALIC(" [SOULS_TO_REVIVE]")]"
/obj/effect/rune/raise_dead/proc/revive_alive(mob/living/target)
- target.visible_message("Dark magic begins to surround [target], regenerating their body.")
+ target.visible_message(SPAN_WARNING("Dark magic begins to surround [target], regenerating their body."))
if(!do_after(target, 10 SECONDS, FALSE, target, allow_moving = FALSE, progress = TRUE))
- target.visible_message("Dark magic silently disappears.")
+ target.visible_message(SPAN_WARNING("Dark magic silently disappears."))
return FALSE
target.revive()
return TRUE
@@ -616,7 +616,7 @@ structure_check() searches for nearby cultist structures required for the invoca
var/diff = length(GLOB.sacrificed) - SOULS_TO_REVIVE - sacrifices_used
var/revived_from_dead = FALSE
if(diff < 0)
- to_chat(user, "Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!")
+ to_chat(user, SPAN_CULT("Your cult must carry out [abs(diff)] more sacrifice\s before it can revive another cultist!"))
fail_invoke()
return
for(var/mob/living/M in T.contents)
@@ -624,7 +624,7 @@ structure_check() searches for nearby cultist structures required for the invoca
continue
potential_revive_mobs |= M
if(!length(potential_revive_mobs))
- to_chat(user, "There are no cultists on the rune!")
+ to_chat(user, SPAN_CULTITALIC("There are no cultists on the rune!"))
log_game("Raise Dead rune failed - no cultists to revive")
fail_invoke()
return
@@ -637,7 +637,7 @@ structure_check() searches for nearby cultist structures required for the invoca
return
if(mob_to_revive.stat != DEAD && length(invokers) < 2)
- to_chat(user, "You need at least two cultists to heal cultist!")
+ to_chat(user, SPAN_CULTITALIC("You need at least two cultists to heal cultist!"))
log_game("Raise Dead rune failed - not enough cultists to heal alive")
fail_invoke()
return
@@ -656,11 +656,11 @@ structure_check() searches for nearby cultist structures required for the invoca
if(!mob_to_revive.get_ghost() && (!mob_to_revive.client || mob_to_revive.client.is_afk()))
set waitfor = FALSE
- to_chat(user, "[mob_to_revive] was revived, but their mind is lost! Seeking a lost soul to replace it.")
+ to_chat(user, SPAN_CULT("[mob_to_revive] was revived, but their mind is lost! Seeking a lost soul to replace it."))
var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Would you like to play as a revived Cultist?", ROLE_CULTIST, TRUE, poll_time = 20 SECONDS, source = /obj/item/melee/cultblade/dagger)
if(length(candidates) && !QDELETED(mob_to_revive))
var/mob/dead/observer/C = pick(candidates)
- to_chat(mob_to_revive, "Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form.")
+ to_chat(mob_to_revive, SPAN_BIGGERDANGER("Your physical form has been taken over by another soul due to your inactivity! Ahelp if you wish to regain your form."))
message_admins("[key_name_admin(C)] has taken control of ([key_name_admin(mob_to_revive)]) to replace an AFK player.")
mob_to_revive.ghostize(GHOST_FLAGS_NO_REENTER)
mob_to_revive.key = C.key
@@ -669,14 +669,14 @@ structure_check() searches for nearby cultist structures required for the invoca
fail_invoke()
return
if(!revived_from_dead)
- mob_to_revive.visible_message("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \
- "All your injuries are now gone!")
+ mob_to_revive.visible_message(SPAN_WARNING("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes."), \
+ SPAN_CULTLARGE("All your injuries are now gone!"))
rune_in_use = FALSE
return
SEND_SOUND(mob_to_revive, sound('sound/ambience/antag/bloodcult.ogg'))
- to_chat(mob_to_revive, "\"PASNAR SAVRAE YAM'TOTH. Arise.\"")
- mob_to_revive.visible_message("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes.", \
- "You awaken suddenly from the void. You're alive!")
+ to_chat(mob_to_revive, SPAN_CULTLARGE("\"PASNAR SAVRAE YAM'TOTH. Arise.\""))
+ mob_to_revive.visible_message(SPAN_WARNING("[mob_to_revive] draws in a huge breath, red light shining from [mob_to_revive.p_their()] eyes."), \
+ SPAN_CULTLARGE("You awaken suddenly from the void. You're alive!"))
rune_in_use = FALSE
/obj/effect/rune/raise_dead/proc/validness_checks(mob/living/target_mob, mob/living/user)
@@ -690,7 +690,7 @@ structure_check() searches for nearby cultist structures required for the invoca
return FALSE
var/turf/T = get_turf(src)
if(target_mob.loc != T)
- to_chat(user, "The cultist to revive has been moved!")
+ to_chat(user, SPAN_CULTITALIC("The cultist to revive has been moved!"))
log_game("Raise Dead rune failed - revival target moved")
return FALSE
return TRUE
@@ -700,7 +700,7 @@ structure_check() searches for nearby cultist structures required for the invoca
rune_in_use = FALSE
for(var/mob/living/M in range(0, src))
if(IS_CULTIST(M) && M.stat == DEAD)
- M.visible_message("[M] twitches.")
+ M.visible_message(SPAN_WARNING("[M] twitches."))
//Rite of the Corporeal Shield: When invoked, becomes solid and cannot be passed. Invoke again to undo.
/obj/effect/rune/wall
@@ -759,37 +759,37 @@ structure_check() searches for nearby cultist structures required for the invoca
log_game("Summon Cultist rune failed - no target")
return
if(cultist_to_summon.stat == DEAD)
- to_chat(user, "[cultist_to_summon] has died!")
+ to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] has died!"))
fail_invoke()
log_game("Summon Cultist rune failed - target died")
return
if(cultist_to_summon.pulledby || cultist_to_summon.buckled)
- to_chat(user, "[cultist_to_summon] is being held in place!")
+ to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is being held in place!"))
to_chat(cultist_to_summon, "You feel a tugging sensation, but you are being held in place!")
fail_invoke()
log_game("Summon Cultist rune failed - target restrained")
return
if(!IS_CULTIST(cultist_to_summon))
- to_chat(user, "[cultist_to_summon] is not a follower of [GET_CULT_DATA(entity_title3, "our god")]!")
+ to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is not a follower of [GET_CULT_DATA(entity_title3, "our god")]!"))
fail_invoke()
log_game("Summon Cultist rune failed - target was deconverted")
return
if(is_away_level(cultist_to_summon.z))
- to_chat(user, "[cultist_to_summon] is not in our dimension!")
+ to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is not in our dimension!"))
fail_invoke()
log_game("Summon Cultist rune failed - target in away mission")
return
if(SEND_SIGNAL(cultist_to_summon, COMSIG_MOVABLE_TELEPORTING, get_turf(src)) & COMPONENT_BLOCK_TELEPORT)
- to_chat(user, "[cultist_to_summon] is anchored in bluespace!")
+ to_chat(user, SPAN_CULTITALIC("[cultist_to_summon] is anchored in bluespace!"))
fail_invoke()
log_game("Summon Cultist rune failed - anchored in bluespace")
return
- cultist_to_summon.visible_message("[cultist_to_summon] suddenly disappears in a flash of red light!", \
- "Overwhelming vertigo consumes you as you are hurled through the air!")
+ cultist_to_summon.visible_message(SPAN_WARNING("[cultist_to_summon] suddenly disappears in a flash of red light!"), \
+ SPAN_CULTITALIC("Overwhelming vertigo consumes you as you are hurled through the air!"))
..()
INVOKE_ASYNC(src, PROC_REF(teleport_effect), cultist_to_summon, get_turf(cultist_to_summon), get_turf(src))
- visible_message("[src] begins to bubble and rises into the form of [cultist_to_summon]!")
+ visible_message(SPAN_WARNING("[src] begins to bubble and rises into the form of [cultist_to_summon]!"))
cultist_to_summon.forceMove(get_turf(src))
qdel(src)
@@ -825,21 +825,21 @@ structure_check() searches for nearby cultist structures required for the invoca
var/atom/I = L.null_rod_check()
if(I)
if(isitem(I))
- to_chat(L, "[I] suddenly burns hotly before returning to normal!")
+ to_chat(L, SPAN_USERDANGER("[I] suddenly burns hotly before returning to normal!"))
continue
targets += L
// Six seconds buildup
- visible_message("A haze begins to form above [src]!")
+ visible_message(SPAN_WARNING("A haze begins to form above [src]!"))
animate(src, color = "#FC9A6D", time = 6 SECONDS)
set_light(6, 1, color)
sleep(6 SECONDS)
- visible_message("[src] turns a bright, burning orange!")
+ visible_message(SPAN_BOLDWARNING("[src] turns a bright, burning orange!"))
if(!burn_check())
return
for(var/I in targets)
- to_chat(I, "Your blood boils in your veins!")
+ to_chat(I, SPAN_USERDANGER("Your blood boils in your veins!"))
do_area_burn(T, 1)
animate(src, color = "#FFDF80", time = 5 SECONDS)
sleep(5 SECONDS)
@@ -879,7 +879,7 @@ structure_check() searches for nearby cultist structures required for the invoca
cultists += M
if(length(cultists) < req_cultists) // Stop the rune there's not enough invokers
- visible_message("[src] loses its glow and dissipates!")
+ visible_message(SPAN_WARNING("[src] loses its glow and dissipates!"))
qdel(src)
/obj/effect/rune/manifest
@@ -896,8 +896,8 @@ structure_check() searches for nearby cultist structures required for the invoca
/obj/effect/rune/manifest/examine(mob/user)
. = ..()
if(IS_CULTIST(user) || user.stat == DEAD)
- . += "Amount of ghosts summoned: [ghosts]"
- . += "Maximum amount of ghosts: [clamp(default_ghost_limit - SSticker.mode.cult_team.sacrifices_done, minimum_ghost_limit, default_ghost_limit)]"
+ . += "Amount of ghosts summoned:[SPAN_CULTITALIC(" [ghosts]")]"
+ . += "Maximum amount of ghosts:[SPAN_CULTITALIC(" [clamp(default_ghost_limit - SSticker.mode.cult_team.sacrifices_done, minimum_ghost_limit, default_ghost_limit)]")]"
. += "Lowers to a minimum of [minimum_ghost_limit] for each objective accomplished."
/obj/effect/rune/manifest/invoke(list/invokers)
@@ -905,12 +905,12 @@ structure_check() searches for nearby cultist structures required for the invoca
var/mob/living/user = invokers[1]
var/turf/T = get_turf(src)
if(!(user in get_turf(src)))
- to_chat(user, "You must be standing on [src]!")
+ to_chat(user, SPAN_CULTITALIC("You must be standing on [src]!"))
fail_invoke()
log_game("Manifest rune failed - user not standing on rune")
return
if(user.has_status_effect(STATUS_EFFECT_SUMMONEDGHOST))
- to_chat(user, "Ghosts can't summon more ghosts!")
+ to_chat(user, SPAN_CULTITALIC("Ghosts can't summon more ghosts!"))
fail_invoke()
log_game("Manifest rune failed - user is a ghost")
return
@@ -918,17 +918,17 @@ structure_check() searches for nearby cultist structures required for the invoca
var/choice = tgui_alert(user, "You tear open a connection to the spirit realm...", "Invoke", list("Summon a Cult Ghost", "Ascend as a Dark Spirit", "Cancel"))
if(choice == "Summon a Cult Ghost")
if(!is_station_level(z) || isspacearea(get_area(src)))
- to_chat(user, "The veil is not weak enough here to manifest spirits, you must be on station!")
+ to_chat(user, SPAN_CULTITALIC("The veil is not weak enough here to manifest spirits, you must be on station!"))
fail_invoke()
log_game("Manifest rune failed - not on station")
return
if(user.health <= 40)
- to_chat(user, "Your body is too weak to manifest spirits, heal yourself first.")
+ to_chat(user, SPAN_CULTITALIC("Your body is too weak to manifest spirits, heal yourself first."))
fail_invoke()
log_game("Manifest rune failed - not enough health")
return list()
if(ghosts >= clamp(default_ghost_limit - SSticker.mode.cult_team.sacrifices_done, minimum_ghost_limit, default_ghost_limit))
- to_chat(user, "You are sustaining too many ghosts to summon more!")
+ to_chat(user, SPAN_CULTITALIC("You are sustaining too many ghosts to summon more!"))
fail_invoke()
log_game("Manifest rune failed - too many summoned ghosts")
return list()
@@ -954,7 +954,7 @@ structure_check() searches for nearby cultist structures required for the invoca
continue
ghosts_on_rune += O
if(!length(ghosts_on_rune))
- to_chat(user, "There are no spirits near [src]!")
+ to_chat(user, SPAN_CULTITALIC("There are no spirits near [src]!"))
fail_invoke()
log_game("Manifest rune failed - no nearby ghosts")
return list()
@@ -971,23 +971,23 @@ structure_check() searches for nearby cultist structures required for the invoca
current_organ.limb_flags |= CANNOT_DISMEMBER //you can't chop of the limbs of a ghost, silly
ghosts++
playsound(src, 'sound/misc/exit_blood.ogg', 50, TRUE, SOUND_RANGE_SET(10))
- user.visible_message("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo" : ""]man.",
- "Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely...")
+ user.visible_message(SPAN_WARNING("A cloud of red mist forms above [src], and from within steps... a [new_human.gender == FEMALE ? "wo" : ""]man."),
+ SPAN_CULTITALIC("Your blood begins flowing into [src]. You must remain in place and conscious to maintain the forms of those summoned. This will hurt you slowly but surely..."))
var/obj/machinery/shield/cult/weak/shield = new(T)
new_human.mind.add_antag_datum(/datum/antagonist/cultist)
- to_chat(new_human, "You are a servant of [GET_CULT_DATA(entity_title3, "the cult")]. You have been made semi-corporeal by the cult of [GET_CULT_DATA(entity_name, "your god")], and you are to serve them at all costs.")
+ to_chat(new_human, SPAN_CULTLARGE("You are a servant of [GET_CULT_DATA(entity_title3, "the cult")]. You have been made semi-corporeal by the cult of [GET_CULT_DATA(entity_name, "your god")], and you are to serve them at all costs."))
while(!QDELETED(src) && !QDELETED(user) && !QDELETED(new_human) && (user in T))
if(new_human.InCritical())
- to_chat(user, "You feel your connection to [new_human.real_name] severs as they are destroyed.")
+ to_chat(user, SPAN_CULTITALIC("You feel your connection to [new_human.real_name] severs as they are destroyed."))
if(ghost)
- to_chat(ghost, "You feel your connection to [new_human.real_name] severs as they are destroyed.")
+ to_chat(ghost, SPAN_CULTITALIC("You feel your connection to [new_human.real_name] severs as they are destroyed."))
break
if(user.stat || user.health <= 40)
- to_chat(user, "Your body can no longer sustain the connection, and your link to the spirit realm fades.")
+ to_chat(user, SPAN_CULTITALIC("Your body can no longer sustain the connection, and your link to the spirit realm fades."))
if(ghost)
- to_chat(ghost, "Your body is damaged and your connection to the spirit realm weakens, any ghost you may have manifested are destroyed.")
+ to_chat(ghost, SPAN_CULTITALIC("Your body is damaged and your connection to the spirit realm weakens, any ghost you may have manifested are destroyed."))
break
user.apply_damage(0.1, BRUTE)
user.apply_damage(0.1, BURN)
@@ -996,8 +996,8 @@ structure_check() searches for nearby cultist structures required for the invoca
qdel(shield)
ghosts--
if(new_human)
- new_human.visible_message("[new_human] suddenly dissolves into bones and ashes.",
- "Your link to the world fades. Your form breaks apart.")
+ new_human.visible_message(SPAN_WARNING("[new_human] suddenly dissolves into bones and ashes."),
+ SPAN_CULTLARGE("Your link to the world fades. Your form breaks apart."))
for(var/obj/item/I in new_human.get_all_slots())
new_human.drop_item_to_ground(I)
new_human.mind.remove_antag_datum(/datum/antagonist/cultist, silent_removal = TRUE)
@@ -1005,8 +1005,8 @@ structure_check() searches for nearby cultist structures required for the invoca
/obj/effect/rune/manifest/proc/ghostify(mob/living/user, turf/T)
ADD_TRAIT(user, SCRYING, CULT_TRAIT)
- user.visible_message("[user] freezes statue-still, glowing an unearthly red.",
- "You see what lies beyond. All is revealed. In this form you find that your voice booms above all others.")
+ user.visible_message(SPAN_WARNING("[user] freezes statue-still, glowing an unearthly red."),
+ SPAN_CULT("You see what lies beyond. All is revealed. In this form you find that your voice booms above all others."))
ghost = user.ghostize(ghost_name = "Dark Spirit of [user.name]", ghost_color = RUNE_COLOR_DARKRED)
var/datum/action/innate/cult/comm/spirit/CM = new
var/datum/action/innate/cult/check_progress/V = new
@@ -1016,15 +1016,15 @@ structure_check() searches for nearby cultist structures required for the invoca
//GM.Grant(ghost)
while(!QDELETED(user))
if(user.key || QDELETED(src))
- user.visible_message("[user] slowly relaxes, the glow around [user.p_them()] dimming.",
- "You are re-united with your physical form. [src] releases its hold over you.")
+ user.visible_message(SPAN_WARNING("[user] slowly relaxes, the glow around [user.p_them()] dimming."),
+ SPAN_DANGER("You are re-united with your physical form. [src] releases its hold over you."))
user.Weaken(6 SECONDS)
break
if(user.health <= 10)
- to_chat(ghost, "Your body can no longer sustain the connection!")
+ to_chat(ghost, SPAN_CULTITALIC("Your body can no longer sustain the connection!"))
break
if(!(user in T))
- user.visible_message("A spectral tendril wraps around [user] and pulls [user.p_them()] back to the rune!")
+ user.visible_message(SPAN_WARNING("A spectral tendril wraps around [user] and pulls [user.p_them()] back to the rune!"))
Beam(user, icon_state = "drainbeam", time = 2)
user.forceMove(get_turf(src)) //NO ESCAPE :^)
sleep(5)
@@ -1074,7 +1074,7 @@ structure_check() searches for nearby cultist structures required for the invoca
return
if(SSticker.mode.cult_team.cult_status == NARSIE_HAS_RISEN)
for(var/M in invokers)
- to_chat(M, "\"I am already here. There is no need to try to summon me now.\"")
+ to_chat(M, SPAN_CULTLARGE("\"I am already here. There is no need to try to summon me now.\""))
log_game("Summon god rune failed - already summoned")
return
@@ -1087,7 +1087,7 @@ structure_check() searches for nearby cultist structures required for the invoca
for(var/mob/M in GLOB.player_list)
if(!isnewplayer(M)) // exclude people in the lobby
SEND_SOUND(M, sound('sound/effects/dimensional_rend.ogg'))
- to_chat(M, "The veil... is... TORN!!!--")
+ to_chat(M, SPAN_CULTITALIC("The veil... [SPAN_BIG("is...")] [SPAN_REALLYBIG("TORN!!!--")]"))
icon_state = "rune_large_distorted"
var/turf/T = get_turf(src)
diff --git a/code/game/gamemodes/dynamic/antag_rulesets.dm b/code/game/gamemodes/dynamic/antag_rulesets.dm
index 531b27767a2..99bdebf18f1 100644
--- a/code/game/gamemodes/dynamic/antag_rulesets.dm
+++ b/code/game/gamemodes/dynamic/antag_rulesets.dm
@@ -328,10 +328,10 @@
/datum/ruleset/team/cult/declare_completion()
if(SSticker.mode.cult_team.cult_status == NARSIE_HAS_RISEN)
SSticker.mode_result = "cult win - cult win"
- to_chat(world, "The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!")
+ to_chat(world, SPAN_DANGER("The cult wins! It has succeeded in summoning [GET_CULT_DATA(entity_name, "their god")]!"))
else if(SSticker.mode.cult_team.cult_status == NARSIE_HAS_FALLEN)
SSticker.mode_result = "cult draw - narsie died, nobody wins"
- to_chat(world, "Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!")
+ to_chat(world, SPAN_DANGER("Nobody wins! [GET_CULT_DATA(entity_name, "the cult god")] was summoned, but banished!"))
else
SSticker.mode_result = "cult loss - staff stopped the cult"
- to_chat(world, "The staff managed to stop the cult!")
+ to_chat(world, SPAN_WARNING("The staff managed to stop the cult!"))
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 735e3790554..e53351d309b 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -423,7 +423,7 @@
//Reports player logouts//
//////////////////////////
/proc/display_roundstart_logout_report()
- var/msg = "Roundstart logout report\n\n"
+ var/msg = "[SPAN_NOTICE("Roundstart logout report")]\n\n"
for(var/mob/living/L in GLOB.mob_list)
if(L.ckey)
@@ -510,14 +510,14 @@
var/mob/dead/observer/theghost = null
if(length(candidates))
theghost = pick(candidates)
- to_chat(M, "Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!")
+ to_chat(M, SPAN_USERDANGER("Your mob has been taken over by a ghost! Appeal your job ban if you want to avoid this in the future!"))
message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)]) to replace a jobbanned player.")
M.ghostize()
M.key = theghost.key
dust_if_respawnable(theghost)
else
message_admins("[M] ([M.key]) has been converted into [role_type] with an active antagonist jobban for said role since no ghost has volunteered to take [M.p_their()] place.")
- to_chat(M, "You have been converted into [role_type] with an active jobban. Your body was offered up but there were no ghosts to take over. You will be allowed to continue as [role_type], but any further violations of the rules on your part are likely to result in a permanent ban.")
+ to_chat(M, SPAN_BIGGERDANGER("You have been converted into [role_type] with an active jobban. Your body was offered up but there were no ghosts to take over. You will be allowed to continue as [role_type], but any further violations of the rules on your part are likely to result in a permanent ban."))
/proc/printplayer(datum/mind/ply, fleecheck)
var/jobtext = ""
@@ -526,19 +526,19 @@
var/text = "
[ply.get_display_key()] was [ply.name][jobtext] and "
if(ply.current)
if(ply.current.stat == DEAD)
- text += "died!"
+ text += SPAN_BOLD("died!")
else
- text += "survived"
+ text += SPAN_BOLD("survived")
if(fleecheck)
var/turf/T = get_turf(ply.current)
if(!T || !is_station_level(T.z))
- text += " while fleeing the station"
+ text += " while [SPAN_BOLD("fleeing the station")]"
if(ply.current.real_name != ply.name)
text += " as [ply.current.real_name]!"
else
text += "!"
else
- text += "had [ply.p_their()] body destroyed!"
+ text += SPAN_BOLD("had [ply.p_their()] body destroyed!")
return text
/proc/printeventplayer(datum/mind/ply)
@@ -548,11 +548,11 @@
text += " and "
if(ply.current)
if(ply.current.stat == DEAD)
- text += "died!"
+ text += SPAN_BOLD("died!")
else
- text += "survived!"
+ text += SPAN_BOLD("survived!")
else
- text += "had [ply.p_their()] body destroyed!"
+ text += SPAN_BOLD("had [ply.p_their()] body destroyed!")
return text
/proc/printobjectives(datum/mind/ply)
@@ -609,9 +609,9 @@
for(var/department in departments)
if(departments[department])
any = TRUE
- to_chat(world, "[department]: [departments[department]] completed!")
+ to_chat(world, "[department]: [SPAN_GREENANNOUNCE("[departments[department]] completed!")]")
if(!any)
- to_chat(world, "None completed!")
+ to_chat(world, SPAN_BOLDANNOUNCEIC("None completed!"))
/datum/game_mode/proc/generate_station_trait_report()
var/something_to_print = FALSE
diff --git a/code/game/gamemodes/malfunction/Malf_Modules.dm b/code/game/gamemodes/malfunction/Malf_Modules.dm
index 9e6758e28b5..cdf67f17098 100644
--- a/code/game/gamemodes/malfunction/Malf_Modules.dm
+++ b/code/game/gamemodes/malfunction/Malf_Modules.dm
@@ -68,10 +68,10 @@
/datum/spell/ai_spell/proc/adjust_uses(amt, mob/living/silicon/ai/owner, silent)
uses += amt
if(!silent && uses)
- to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.")
+ to_chat(owner, SPAN_NOTICE("[name] now has [uses] use[uses > 1 ? "s" : ""] remaining."))
if(!uses)
if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway!
- to_chat(owner, "[name] has run out of uses!")
+ to_chat(owner, SPAN_WARNING("[name] has run out of uses!"))
owner.RemoveSpell(src)
if(QDELETED(src) || uses) //Not sure if not having src here would cause a runtime, so it's here to be safe
return
@@ -82,7 +82,7 @@
var/turf/target_turf = get_turf(target)
var/datum/camerachunk/C = GLOB.cameranet.get_camera_chunk(target_turf.x, target_turf.y, target_turf.z)
if(!C.visible_turfs[target_turf])
- to_chat(user, "You don't have camera vision of this location!")
+ to_chat(user, SPAN_WARNING("You don't have camera vision of this location!"))
return FALSE
return TRUE
@@ -90,16 +90,16 @@
/datum/spell/ai_spell/ranged
name = "Ranged AI Action"
auto_use_uses = FALSE //This is so we can do the thing and disable/enable freely without having to constantly add uses
- selection_activated_message = "Hello World!"
- selection_deactivated_message = "Goodbye Cruel World!"
+ selection_activated_message = SPAN_NOTICE("Hello World!")
+ selection_deactivated_message = SPAN_DANGER("Goodbye Cruel World!")
/datum/spell/ai_spell/ranged/adjust_uses(amt, mob/living/silicon/ai/owner, silent)
uses += amt
if(!silent && uses)
- to_chat(owner, "[name] now has [uses] use[uses > 1 ? "s" : ""] remaining.")
+ to_chat(owner, SPAN_NOTICE("[name] now has [uses] use[uses > 1 ? "s" : ""] remaining."))
if(!uses)
if(initial(uses) > 1) //no need to tell 'em if it was one-use anyway!
- to_chat(owner, "[name] has run out of uses!")
+ to_chat(owner, SPAN_WARNING("[name] has run out of uses!"))
owner.mob_spell_list -= src
QDEL_IN(src, 10 SECONDS) //let any active timers on us finish up
@@ -130,7 +130,7 @@
. = ..()
var/obj/machinery/power/apc/apc = user.loc
if(!istype(apc)) // This shouldn't happen but here for safety.
- to_chat(user, "You are already in your Main Core.")
+ to_chat(user, SPAN_NOTICE("You are already in your Main Core."))
return
apc.malfvacate()
qdel(src)
@@ -172,7 +172,7 @@
var/mob/living/silicon/ai/A = usr
if(A.stat == DEAD)
- to_chat(A, "You are already dead!")
+ to_chat(A, SPAN_WARNING("You are already dead!"))
return
for(var/datum/ai_module/AM in possible_modules)
@@ -225,7 +225,7 @@
var/one_purchase = FALSE //If this module can only be purchased once. This always applies to upgrades, even if the variable is set to false.
var/power_type = /datum/spell/ai_spell //If the module gives an active ability, use this. Mutually exclusive with upgrade.
var/upgrade //If the module gives a passive upgrade, use this. Mutually exclusive with power_type.
- var/unlock_text = "Hello World!" //Text shown when an ability is unlocked
+ var/unlock_text = SPAN_NOTICE("Hello World!") //Text shown when an ability is unlocked
var/unlock_sound //Sound played when an ability is unlocked
var/uses = 0
@@ -240,7 +240,7 @@
cost = 130
one_purchase = TRUE
power_type = /datum/spell/ai_spell/nuke_station
- unlock_text = "You slowly, carefully, establish a connection with the on-station self-destruct. You can now activate it at any time."
+ unlock_text = SPAN_NOTICE("You slowly, carefully, establish a connection with the on-station self-destruct. You can now activate it at any time.")
unlock_sound = 'sound/items/timer.ogg'
/datum/spell/ai_spell/nuke_station
@@ -253,7 +253,7 @@
/datum/spell/ai_spell/nuke_station/cast(list/targets, mob/living/silicon/ai/user)
var/turf/T = get_turf(user)
if(!istype(T) || !is_station_level(T.z))
- to_chat(user, "You cannot activate the doomsday device while off-station!")
+ to_chat(user, SPAN_WARNING("You cannot activate the doomsday device while off-station!"))
return
if(tgui_alert(user, "Send arming signal? (true = arm, false = cancel)", "purge_all_life()", list("confirm = TRUE;", "confirm = FALSE;")) != "confirm = TRUE;")
return
@@ -265,7 +265,7 @@
set_us_up_the_bomb(user)
/datum/spell/ai_spell/nuke_station/proc/set_us_up_the_bomb(mob/living/silicon/ai/user)
- to_chat(user, "Nuclear device armed.")
+ to_chat(user, SPAN_NOTICE("Nuclear device armed."))
GLOB.major_announcement.Announce("Hostile runtimes detected in all station systems, please deactivate your AI to prevent possible damage to its morality core.", "Anomaly Alert", 'sound/AI/aimalf.ogg')
SSsecurity_level.set_level(SEC_LEVEL_DELTA)
user.nuking = TRUE
@@ -351,7 +351,7 @@
description = "Improves the power and health of all AI turrets. This effect is permanent."
cost = 30
upgrade = TRUE
- unlock_text = "You establish a power diversion to your turrets, upgrading their health and damage."
+ unlock_text = SPAN_NOTICE("You establish a power diversion to your turrets, upgrading their health and damage.")
unlock_sound = 'sound/items/rped.ogg'
/datum/ai_module/upgrade_turrets/upgrade(mob/living/silicon/ai/AI)
@@ -372,7 +372,7 @@
cost = 30
one_purchase = TRUE
power_type = /datum/spell/ai_spell/lockdown
- unlock_text = "You upload a sleeper trojan into the door control systems. You can send a signal to set it off at any time."
+ unlock_text = SPAN_NOTICE("You upload a sleeper trojan into the door control systems. You can send a signal to set it off at any time.")
/datum/spell/ai_spell/lockdown
name = "Lockdown"
@@ -381,7 +381,7 @@
uses = 1
/datum/spell/ai_spell/lockdown/cast(list/targets, mob/user)
- to_chat(user, "Lockdown Initiated. Network reset in 90 seconds.")
+ to_chat(user, SPAN_WARNING("Lockdown Initiated. Network reset in 90 seconds."))
new /datum/event/door_runtime()
//Destroy RCDs: Detonates all non-cyborg RCDs on the station.
@@ -392,7 +392,7 @@
cost = 25
one_purchase = TRUE
power_type = /datum/spell/ai_spell/destroy_rcds
- unlock_text = "After some improvisation, you rig your onboard radio to be able to send a signal to detonate all RCDs."
+ unlock_text = SPAN_NOTICE("After some improvisation, you rig your onboard radio to be able to send a signal to detonate all RCDs.")
/datum/spell/ai_spell/destroy_rcds
name = "Destroy RCDs"
@@ -409,7 +409,7 @@
if(is_level_reachable(RCD_turf.z))
RCD.detonate_pulse()
- to_chat(user, "RCD detonation pulse emitted.")
+ to_chat(user, SPAN_DANGER("RCD detonation pulse emitted."))
user.playsound_local(user, 'sound/machines/twobeep.ogg', 50, FALSE, use_reverb = FALSE)
//Unlock Mech Domination: Unlocks the ability to dominate mechs. Big shocker, right?
@@ -420,7 +420,7 @@
Do not allow the mech to leave the station's vicinity or allow it to be destroyed."
cost = 30
upgrade = TRUE
- unlock_text = "Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout."
+ unlock_text = SPAN_NOTICE("Virus package compiled. Select a target mech at any time. You must remain on the station at all times. Loss of signal will result in total system lockout.")
unlock_sound = 'sound/mecha/nominal.ogg'
/datum/ai_module/mecha_domination/upgrade(mob/living/silicon/ai/AI)
@@ -435,7 +435,7 @@
one_purchase = TRUE
cost = 25
power_type = /datum/spell/ai_spell/break_fire_alarms
- unlock_text = "You replace the thermal sensing capabilities of all fire alarms with a manual override, allowing you to turn them off at will."
+ unlock_text = SPAN_NOTICE("You replace the thermal sensing capabilities of all fire alarms with a manual override, allowing you to turn them off at will.")
/datum/spell/ai_spell/break_fire_alarms
name = "Override Thermal Sensors"
@@ -448,7 +448,7 @@
if(!is_station_level(F.z))
continue
F.emagged = TRUE
- to_chat(user, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.")
+ to_chat(user, SPAN_NOTICE("All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized."))
user.playsound_local(user, 'sound/machines/terminal_off.ogg', 50, FALSE, use_reverb = FALSE)
//Air Alarm Safety Override: Unlocks the ability to enable flooding on all air alarms.
@@ -460,7 +460,7 @@
one_purchase = TRUE
cost = 50
power_type = /datum/spell/ai_spell/break_air_alarms
- unlock_text = "You remove the safety overrides on all air alarms, but you leave the confirm prompts open. You can hit 'Yes' at any time... you bastard."
+ unlock_text = SPAN_NOTICE("You remove the safety overrides on all air alarms, but you leave the confirm prompts open. You can hit 'Yes' at any time... you bastard.")
/datum/spell/ai_spell/break_air_alarms
name = "Override Air Alarm Safeties"
@@ -483,7 +483,7 @@
description = "Overheats an electrical machine, causing a moderately-sized explosion and destroying it. Four uses per purchase."
cost = 20
power_type = /datum/spell/ai_spell/ranged/overload_machine
- unlock_text = "You enable the ability for the station's APCs to direct intense energy into machinery."
+ unlock_text = SPAN_NOTICE("You enable the ability for the station's APCs to direct intense energy into machinery.")
/datum/spell/ai_spell/ranged/overload_machine
name = "Overload Machine"
@@ -491,24 +491,24 @@
action_icon_state = "overload_machine"
uses = 4
ranged_mousepointer = 'icons/mouse_icons/cult_target.dmi'
- selection_activated_message = "You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel."
- selection_deactivated_message = "You release your hold on the powernet."
+ selection_activated_message = SPAN_NOTICE("You tap into the station's powernet. Click on a machine to detonate it, or use the ability again to cancel.")
+ selection_deactivated_message = SPAN_NOTICE("You release your hold on the powernet.")
/datum/spell/ai_spell/ranged/overload_machine/cast(list/targets, mob/user)
var/obj/machinery/target = targets[1]
if(!istype(target))
- to_chat(user, "You can only overload machines!")
+ to_chat(user, SPAN_WARNING("You can only overload machines!"))
return
if(target.flags_2 & NO_MALF_EFFECT_2)
- to_chat(user, "That machine can't be overloaded!")
+ to_chat(user, SPAN_WARNING("That machine can't be overloaded!"))
return
user.playsound_local(user, "sparks", 50, FALSE, use_reverb = FALSE)
adjust_uses(-1, user)
- target.audible_message("You hear a loud electrical buzzing sound coming from [target]!")
+ target.audible_message(SPAN_DANGER("You hear a loud electrical buzzing sound coming from [target]!"))
playsound(target, 'sound/goonstation/misc/fuse.ogg', 50, FALSE, use_reverb = FALSE)
addtimer(CALLBACK(src, PROC_REF(detonate_machine), target), 5 SECONDS) //kaboom!
- to_chat(user, "Overloading machine circuitry...")
+ to_chat(user, SPAN_WARNING("Overloading machine circuitry..."))
return TRUE
/datum/spell/ai_spell/ranged/overload_machine/proc/detonate_machine(obj/machinery/M)
@@ -524,7 +524,7 @@
description = "Overrides a machine's programming, causing it to rise up and attack everyone except other machines. Four uses."
cost = 30
power_type = /datum/spell/ai_spell/ranged/override_machine
- unlock_text = "You procure a virus from the Space Dark Web and distribute it to the station's machines."
+ unlock_text = SPAN_NOTICE("You procure a virus from the Space Dark Web and distribute it to the station's machines.")
/datum/spell/ai_spell/ranged/override_machine
name = "Override Machine"
@@ -532,23 +532,23 @@
action_icon_state = "override_machine"
uses = 4
ranged_mousepointer = 'icons/mouse_icons/override_machine_target.dmi'
- selection_activated_message = "You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel."
- selection_deactivated_message = "You release your hold on the powernet."
+ selection_activated_message = SPAN_NOTICE("You tap into the station's powernet. Click on a machine to animate it, or use the ability again to cancel.")
+ selection_deactivated_message = SPAN_NOTICE("You release your hold on the powernet.")
/datum/spell/ai_spell/ranged/override_machine/cast(list/targets, mob/user)
var/obj/machinery/target = targets[1]
if(!istype(target))
- to_chat(user, "You can only animate machines!")
+ to_chat(user, SPAN_WARNING("You can only animate machines!"))
return
if(target.flags_2 & NO_MALF_EFFECT_2)
- to_chat(user, "That machine can't be overridden!")
+ to_chat(user, SPAN_WARNING("That machine can't be overridden!"))
return
user.playsound_local(user, 'sound/misc/interference.ogg', 50, FALSE, use_reverb = FALSE)
adjust_uses(-1, user)
- target.audible_message("You hear a loud electrical buzzing sound coming from [target]!")
+ target.audible_message(SPAN_USERDANGER("You hear a loud electrical buzzing sound coming from [target]!"))
addtimer(CALLBACK(src, PROC_REF(animate_machine), target, user), 5 SECONDS) //kabeep!
- to_chat(user, "Sending override signal...")
+ to_chat(user, SPAN_DANGER("Sending override signal..."))
return TRUE
/datum/spell/ai_spell/ranged/override_machine/proc/animate_machine(obj/machinery/M, mob/user)
@@ -563,7 +563,7 @@
cost = 100
one_purchase = TRUE
power_type = /datum/spell/ai_spell/place_transformer
- unlock_text = "You prepare a robotics factory for deployment."
+ unlock_text = SPAN_NOTICE("You prepare a robotics factory for deployment.")
unlock_sound = 'sound/machines/ping.ogg'
/datum/spell/ai_spell/place_transformer
@@ -595,7 +595,7 @@
new /obj/machinery/transformer(T, user)
playsound(T, 'sound/effects/phasein.ogg', 100, 1)
user.can_shunt = FALSE
- to_chat(user, "You are no longer able to shunt your core to APCs.")
+ to_chat(user, SPAN_WARNING("You are no longer able to shunt your core to APCs."))
adjust_uses(-1, user)
/mob/living/silicon/ai/proc/remove_transformer_image(client/C, image/I, turf/T)
@@ -627,7 +627,7 @@
I.icon_state = "[success ? "green" : "red"]Overlay" //greenOverlay and redOverlay for success and failure respectively
addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, T), 30)
if(!success)
- to_chat(src, "[alert_msg]")
+ to_chat(src, SPAN_WARNING("[alert_msg]"))
return success
//Turret Assembly: Assemble an AI turret at the chosen location. One use per purchase
@@ -637,7 +637,7 @@
description = "Build a turret anywhere that lethally targets organic life in sight."
cost = 30
power_type = /datum/spell/ai_spell/place_turret
- unlock_text = "You prepare an energy turret for deployment."
+ unlock_text = SPAN_NOTICE("You prepare an energy turret for deployment.")
unlock_sound = 'sound/items/rped.ogg'
/datum/spell/ai_spell/place_turret
@@ -655,7 +655,7 @@
/datum/spell/ai_spell/place_turret/cast(list/targets, mob/living/silicon/ai/user)
if(in_use)
- to_chat(user, "Your assemblers can only construct one turret at a time.")
+ to_chat(user, SPAN_NOTICE("Your assemblers can only construct one turret at a time."))
return
if(!user.can_place_turret(src))
return
@@ -675,7 +675,7 @@
//Handles the turret construction and configuration
playsound(T, 'sound/items/rped.ogg', 100, TRUE) //Plays a sound both at the location of the construction to alert players and to the user as feedback
user.playsound_local(user, 'sound/items/rped.ogg', 50, FALSE, use_reverb = FALSE)
- to_chat(user, "You order your electronics to assemble a turret. This will take a few seconds.")
+ to_chat(user, SPAN_NOTICE("You order your electronics to assemble a turret. This will take a few seconds."))
var/obj/effect/temp_visual/rcd_effect/spawning_effect = new(T)
QDEL_IN(spawning_effect, 5 SECONDS)
@@ -700,7 +700,7 @@
turret.disabled = initial(turret.disabled)
new /obj/effect/temp_visual/rcd_effect/end(T)
playsound(T, 'sound/items/deconstruct.ogg', 100, TRUE)
- to_chat(user, "Turret deployed.")
+ to_chat(user, SPAN_NOTICE("Turret deployed."))
adjust_uses(-1, user)
/mob/living/silicon/ai/proc/can_place_turret(datum/spell/ai_spell/place_turret/action)
@@ -716,14 +716,14 @@
var/datum/camerachunk/C = GLOB.cameranet.get_camera_chunk(deploylocation.x, deploylocation.y, deploylocation.z)
if(!istype(deploylocation))
- to_chat(src, "There isn't enough room! Make sure you are placing the machine in a clear area and on a floor.")
+ to_chat(src, SPAN_WARNING("There isn't enough room! Make sure you are placing the machine in a clear area and on a floor."))
return FALSE
if(!C.visible_turfs[deploylocation])
- to_chat(src, "You don't have camera vision of this location!")
+ to_chat(src, SPAN_WARNING("You don't have camera vision of this location!"))
addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, deploylocation), 3 SECONDS)
return FALSE
if(deploylocation.is_blocked_turf())
- to_chat(src, "That area must be clear of objects!")
+ to_chat(src, SPAN_WARNING("That area must be clear of objects!"))
addtimer(CALLBACK(src, PROC_REF(remove_transformer_image), client, I, deploylocation), 3 SECONDS)
return FALSE
@@ -738,7 +738,7 @@
description = "Attempts to overload the lighting circuits on the station, destroying some bulbs. Three uses."
cost = 15
power_type = /datum/spell/ai_spell/blackout
- unlock_text = "You hook into the powernet and route bonus power towards the station's lighting."
+ unlock_text = SPAN_NOTICE("You hook into the powernet and route bonus power towards the station's lighting.")
/datum/spell/ai_spell/blackout
name = "Blackout"
@@ -754,7 +754,7 @@
INVOKE_ASYNC(apc, TYPE_PROC_REF(/obj/machinery/power/apc, overload_lighting))
else
apc.overload++
- to_chat(user, "Overcurrent applied to the powernet.")
+ to_chat(user, SPAN_NOTICE("Overcurrent applied to the powernet."))
user.playsound_local(user, "sparks", 50, FALSE, use_reverb = FALSE)
adjust_uses(-1, user)
@@ -765,7 +765,7 @@
description = "Runs a network-wide diagnostic on the camera network, resetting focus and re-routing power to failed cameras. Can be used to repair up to 30 cameras."
cost = 10
power_type = /datum/spell/ai_spell/reactivate_cameras
- unlock_text = "You deploy nanomachines to the cameranet."
+ unlock_text = SPAN_NOTICE("You deploy nanomachines to the cameranet.")
/datum/spell/ai_spell/reactivate_cameras
name = "Reactivate Cameras"
@@ -788,7 +788,7 @@
camera_to_repair.wires.cut_wires.Cut()
repaired_cameras++
uses--
- to_chat(user, "Diagnostic complete! Cameras reactivated: [repaired_cameras]. Reactivations remaining: [uses].")
+ to_chat(user, SPAN_NOTICE("Diagnostic complete! Cameras reactivated: [repaired_cameras]. Reactivations remaining: [uses]."))
user.playsound_local(user, 'sound/items/wirecutter.ogg', 50, FALSE, use_reverb = FALSE)
adjust_uses(0, user, TRUE)
@@ -801,7 +801,7 @@
one_purchase = TRUE
cost = 35 //Decent price for omniscience!
upgrade = TRUE
- unlock_text = "OTA firmware distribution complete! Cameras upgraded: CAMSUPGRADED. Light amplification system online."
+ unlock_text = SPAN_NOTICE("OTA firmware distribution complete! Cameras upgraded: CAMSUPGRADED. Light amplification system online.")
unlock_sound = 'sound/items/rped.ogg'
/datum/ai_module/upgrade_cameras/upgrade(mob/living/silicon/ai/AI)
@@ -833,7 +833,7 @@
cost = 30
one_purchase = TRUE
upgrade = TRUE
- unlock_text = "OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online."
+ unlock_text = SPAN_NOTICE("OTA firmware distribution complete! Cameras upgraded: Enhanced surveillance package online.")
unlock_sound = 'sound/items/rped.ogg'
/datum/ai_module/eavesdrop/upgrade(mob/living/silicon/ai/AI)
@@ -847,7 +847,7 @@
cost = 10
one_purchase = TRUE
upgrade = TRUE
- unlock_text = "Network chip short circuited. Internal camera disconected from network. Minimal damage to other internal components."
+ unlock_text = SPAN_NOTICE("Network chip short circuited. Internal camera disconected from network. Minimal damage to other internal components.")
unlock_sound = 'sound/items/wirecutter.ogg'
/datum/ai_module/cameracrack/upgrade(mob/living/silicon/ai/AI)
@@ -862,17 +862,17 @@
cost = 70 // IDK look into this
one_purchase = TRUE
upgrade = TRUE
- unlock_text = "Firmware downloaded. Bugs removed. Combat subsystems operating at 73% efficiency."
+ unlock_text = SPAN_NOTICE("Firmware downloaded. Bugs removed. Combat subsystems operating at 73% efficiency.")
unlock_sound = 'sound/items/rped.ogg'
/datum/ai_module/borg_upgrade/upgrade(mob/living/silicon/ai/AI)
AI.purchased_modules = list(/obj/item/robot_module/engineering, /obj/item/robot_module/janitor, /obj/item/robot_module/medical, /obj/item/robot_module/miner, /obj/item/robot_module/butler)
log_game("[key_name(usr)] purchased combat upgrades for all cyborgs.")
- message_admins("[key_name_admin(usr)] purchased combat upgrades for all cyborgs!")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] purchased combat upgrades for all cyborgs!"))
for(var/mob/living/silicon/robot/R in AI.connected_robots)
R.module.malfhacked = TRUE
R.module.rebuild_modules()
- to_chat(R, "New firmware downloaded. Combat upgrades are now online.")
+ to_chat(R, SPAN_NOTICE("New firmware downloaded. Combat upgrades are now online."))
/datum/ai_module/repair_cyborg
module_name = "Repair Cyborgs"
@@ -880,7 +880,7 @@
description = "Causes an electrical surge in the targeted cyborg, rebooting and repairing most of its subsystems. Requires two uses on a cyborg with broken armor."
cost = 20
power_type = /datum/spell/ai_spell/ranged/repair_cyborg
- unlock_text = "TLB exception on load: Error pointing to address 0000001H, Proceed with execution anywa- SURGE protocols installed, welcome to open APC!"
+ unlock_text = SPAN_NOTICE("TLB exception on load: Error pointing to address 0000001H, Proceed with execution anywa- SURGE protocols installed, welcome to open APC!")
unlock_sound = 'sound/items/rped.ogg'
/datum/spell/ai_spell/ranged/repair_cyborg
@@ -889,28 +889,28 @@
action_icon_state = "overload_machine"
uses = 2
ranged_mousepointer = 'icons/mouse_icons/explode_machine_target.dmi'
- selection_activated_message = "Call to address 0FFFFFFF in APC logic thread, awaiting user response."
- selection_deactivated_message = "APC logic thread restarting..."
+ selection_activated_message = SPAN_NOTICE("Call to address 0FFFFFFF in APC logic thread, awaiting user response.")
+ selection_deactivated_message = SPAN_NOTICE("APC logic thread restarting...")
var/is_active = FALSE
/datum/spell/ai_spell/ranged/repair_cyborg/cast(list/targets, mob/user)
var/mob/living/silicon/robot/robot_target = targets[1]
if(!istype(robot_target))
- to_chat(user, "You can only repair robots with this ability!")
+ to_chat(user, SPAN_WARNING("You can only repair robots with this ability!"))
return
if(is_active)
- to_chat(user, "You can only repair one robot at a time!")
+ to_chat(user, SPAN_WARNING("You can only repair one robot at a time!"))
return
is_active = TRUE
user.playsound_local(user, "sparks", 50, FALSE, use_reverb = FALSE)
adjust_uses(-1, user)
- robot_target.audible_message("You hear a loud electrical buzzing sound coming from [robot_target]!")
+ robot_target.audible_message(SPAN_ITALICS("You hear a loud electrical buzzing sound coming from [robot_target]!"))
if(!do_mob(user, robot_target, 10 SECONDS, hidden = TRUE))
is_active = FALSE
return
is_active = FALSE
fix_borg(robot_target)
- to_chat(user, "[robot_target] successfully rebooted.")
+ to_chat(user, SPAN_WARNING("[robot_target] successfully rebooted."))
return TRUE
/datum/spell/ai_spell/ranged/repair_cyborg/proc/fix_borg(mob/living/silicon/robot/to_repair)
@@ -928,15 +928,15 @@
one_purchase = TRUE
power_type = /datum/spell/ai_spell/ranged/core_tilt
unlock_sound = 'sound/effects/bang.ogg'
- unlock_text = "You gain the ability to roll over and crush anything in your way."
+ unlock_text = SPAN_NOTICE("You gain the ability to roll over and crush anything in your way.")
/datum/spell/ai_spell/ranged/core_tilt
name = "Roll Over"
action_icon_state = "roll_over"
desc = "Allows you to roll over in the direction of your choosing, crushing anything in your way."
ranged_mousepointer = 'icons/mouse_icons/cult_target.dmi'
- selection_activated_message = "Your inner servos shift as you prepare to roll around. Click adjacent tiles to roll into them!"
- selection_deactivated_message = "You disengage your rolling protocols."
+ selection_activated_message = SPAN_NOTICE("Your inner servos shift as you prepare to roll around. Click adjacent tiles to roll into them!")
+ selection_deactivated_message = SPAN_NOTICE("You disengage your rolling protocols.")
COOLDOWN_DECLARE(time_til_next_tilt)
/// How long does it take us to roll?
var/roll_over_time = MALF_AI_ROLL_TIME
@@ -951,7 +951,7 @@
user.RemoveSpell(src)
return
if(!COOLDOWN_FINISHED(src, time_til_next_tilt))
- to_chat(user, "Your rolling capacitors are still powering back up!")
+ to_chat(user, SPAN_WARNING("Your rolling capacitors are still powering back up!"))
return
var/turf/target = get_turf(target_atom)
@@ -959,7 +959,7 @@
return
if(target == get_turf(user))
- to_chat(user, "You can't roll over on yourself!")
+ to_chat(user, SPAN_WARNING("You can't roll over on yourself!"))
return
var/picked_dir = get_dir(user, target)
@@ -969,10 +969,10 @@
var/turf/temp_target = get_step(user, picked_dir)
new /obj/effect/temp_visual/single_user/ai_telegraph(temp_target, user)
- user.visible_message("[user] seems to be winding up!")
+ user.visible_message(SPAN_DANGER("[user] seems to be winding up!"))
addtimer(CALLBACK(src, PROC_REF(do_roll_over), user, picked_dir), MALF_AI_ROLL_TIME)
- to_chat(user, "Overloading machine circuitry...")
+ to_chat(user, SPAN_WARNING("Overloading machine circuitry..."))
COOLDOWN_START(src, time_til_next_tilt, roll_over_cooldown)
diff --git a/code/game/gamemodes/miniantags/abduction/abduction.dm b/code/game/gamemodes/miniantags/abduction/abduction.dm
index 1152e819879..07bdcc6cc8e 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction.dm
@@ -65,23 +65,23 @@
for(var/datum/team/abductor/team in actual_abductor_teams)
var/obj/machinery/abductor/console/console = get_team_console(team.team_number)
if(console.experiment.points >= team.experiment_objective.target_amount)
- to_chat(world, "[team.name] team fulfilled its mission!")
+ to_chat(world, SPAN_GREENANNOUNCE("[team.name] team fulfilled its mission!"))
else
- to_chat(world, "[team.name] team failed its mission.")
+ to_chat(world, SPAN_BOLDANNOUNCEIC("[team.name] team failed its mission."))
..()
return 1
/datum/game_mode/proc/auto_declare_completion_abduction()
var/list/text = list()
if(length(abductors))
- text += "
The abductors were:
"
+ text += "
[SPAN_BIG("The abductors were:")]
"
for(var/datum/mind/abductor_mind in abductors)
text += printplayer(abductor_mind)
text += "
"
text += printobjectives(abductor_mind)
text += "
"
if(length(abductees))
- text += "
The abductees were:
"
+ text += "
[SPAN_BIG("The abductees were:")]
"
for(var/datum/mind/abductee_mind in abductees)
text += printplayer(abductee_mind)
text += "
"
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
index 91c44868a93..ab0b6e92c01 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm
@@ -28,7 +28,7 @@ CONTENTS:
/obj/item/abductor/proc/AbductorCheck(user)
if(isabductor(user))
return TRUE
- to_chat(user, "You can't figure how this works!")
+ to_chat(user, SPAN_WARNING("You can't figure how this works!"))
return FALSE
/obj/item/abductor/proc/ScientistCheck(user)
@@ -39,7 +39,7 @@ CONTENTS:
var/datum/species/abductor/S = H.dna.species
if(S.scientist)
return TRUE
- to_chat(user, "You're not trained to use this!")
+ to_chat(user, SPAN_WARNING("You're not trained to use this!"))
return FALSE
/////////////////////////////////////////
@@ -97,7 +97,7 @@ CONTENTS:
/obj/item/clothing/suit/armor/abductor/vest/proc/toggle_nodrop()
set_nodrop(NODROP_TOGGLE, loc)
if(ismob(loc))
- to_chat(loc, "Your vest is now [flags & NODROP ? "locked" : "unlocked"].")
+ to_chat(loc, SPAN_NOTICE("Your vest is now [flags & NODROP ? "locked" : "unlocked"]."))
/obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode()
switch(mode)
@@ -168,10 +168,10 @@ CONTENTS:
/obj/item/clothing/suit/armor/abductor/vest/proc/Adrenaline()
if(ishuman(loc))
if(!COOLDOWN_FINISHED(src, abductor_adrenaline))
- to_chat(loc, "Combat injection is still recharging. Please wait [round(COOLDOWN_TIMELEFT(src, abductor_adrenaline), 1 SECONDS) / 10] seconds.")
+ to_chat(loc, SPAN_WARNING("Combat injection is still recharging. Please wait [round(COOLDOWN_TIMELEFT(src, abductor_adrenaline), 1 SECONDS) / 10] seconds."))
return
var/mob/living/carbon/human/M = loc
- to_chat(loc, "You feel a series of pricks down your back, followed by a surge of energy!")
+ to_chat(loc, SPAN_NOTICE("You feel a series of pricks down your back, followed by a surge of energy!"))
M.adjustStaminaLoss(-75)
M.SetParalysis(0)
M.SetStunned(0)
@@ -215,7 +215,7 @@ CONTENTS:
for(M in view(2,targloc))
if(M == user)
continue
- to_chat(user, "You silence [M]'s radio devices.")
+ to_chat(user, SPAN_NOTICE("You silence [M]'s radio devices."))
radio_off_mob(M)
/obj/item/abductor/silencer/proc/radio_off_mob(mob/living/carbon/human/M)
@@ -264,7 +264,7 @@ CONTENTS:
if(BATON_PROBE)
txt = "probing"
- to_chat(usr, "You switch the baton to [txt] mode.")
+ to_chat(usr, SPAN_NOTICE("You switch the baton to [txt] mode."))
update_icon(UPDATE_ICON_STATE)
update_action_buttons()
@@ -325,8 +325,8 @@ CONTENTS:
L.apply_damage(80, STAMINA)
L.Stuttering(14 SECONDS)
- L.visible_message("[user] has stunned [L] with [src]!", \
- "[user] has stunned you with [src]!")
+ L.visible_message(SPAN_DANGER("[user] has stunned [L] with [src]!"), \
+ SPAN_USERDANGER("[user] has stunned you with [src]!"))
playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
add_attack_logs(user, L, "Stunned with [src]")
@@ -337,13 +337,13 @@ CONTENTS:
return
if((C.getStaminaLoss() < 100) && !C.IsSleeping())
C.AdjustDrowsy(2 SECONDS)
- to_chat(user, "Sleep inducement works fully only on stunned or asleep specimens!")
- C.visible_message("[user] tried to induce sleep in [L] with [src]!", \
- "You suddenly feel drowsy!")
+ to_chat(user, SPAN_WARNING("Sleep inducement works fully only on stunned or asleep specimens!"))
+ C.visible_message(SPAN_DANGER("[user] tried to induce sleep in [L] with [src]!"), \
+ SPAN_USERDANGER("You suddenly feel drowsy!"))
return
if(do_mob(user, C, 2.5 SECONDS))
- C.visible_message("[user] has induced sleep in [L] with [src]!", \
- "You suddenly feel very drowsy!")
+ C.visible_message(SPAN_DANGER("[user] has induced sleep in [L] with [src]!"), \
+ SPAN_USERDANGER("You suddenly feel very drowsy!"))
playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
C.Sleeping(120 SECONDS)
add_attack_logs(user, C, "Put to sleep with [src]")
@@ -354,36 +354,36 @@ CONTENTS:
var/mob/living/carbon/C = L
if(!C.handcuffed)
playsound(loc, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2)
- C.visible_message("[user] begins restraining [C] with [src]!", \
- "[user] begins shaping an energy field around your hands!")
+ C.visible_message(SPAN_DANGER("[user] begins restraining [C] with [src]!"), \
+ SPAN_USERDANGER("[user] begins shaping an energy field around your hands!"))
if(do_mob(user, C, 3 SECONDS))
if(!C.handcuffed)
C.handcuffed = new /obj/item/restraints/handcuffs/energy(C)
C.update_handcuffed()
- to_chat(user, "You handcuff [C].")
+ to_chat(user, SPAN_NOTICE("You handcuff [C]."))
add_attack_logs(user, C, "Handcuffed ([src])")
else
- to_chat(user, "You fail to handcuff [C].")
+ to_chat(user, SPAN_WARNING("You fail to handcuff [C]."))
/obj/item/abductor_baton/proc/ProbeAttack(mob/living/L,mob/living/user)
- L.visible_message("[user] probes [L] with [src]!", \
- "[user] probes you!")
+ L.visible_message(SPAN_DANGER("[user] probes [L] with [src]!"), \
+ SPAN_USERDANGER("[user] probes you!"))
- var/species = "Unknown species"
- var/helptext = "Species unsuitable for experiments."
+ var/species = SPAN_WARNING("Unknown species")
+ var/helptext = SPAN_WARNING("Species unsuitable for experiments.")
if(ishuman(L))
var/mob/living/carbon/human/H = L
species = "[H.dna.species.name]"
if(IS_CHANGELING(L))
- species = "Changeling lifeform"
+ species = SPAN_WARNING("Changeling lifeform")
var/obj/item/organ/internal/heart/gland/temp = locate() in H.internal_organs
if(temp)
- helptext = "Experimental gland detected!"
+ helptext = SPAN_WARNING("Experimental gland detected!")
else
- helptext = "Subject suitable for experiments."
+ helptext = SPAN_NOTICE("Subject suitable for experiments.")
- to_chat(user,"Probing result: [species]")
+ to_chat(user,"[SPAN_NOTICE("Probing result: ")][species]")
to_chat(user, "[helptext]")
/obj/item/restraints/handcuffs/energy
@@ -395,7 +395,7 @@ CONTENTS:
flags = DROPDEL
/obj/item/restraints/handcuffs/energy/finish_resist_restraints(mob/living/carbon/user, break_cuffs, silent)
- user.visible_message("[src] restraining [user] breaks in a discharge of energy!", "[src] restraining [user] breaks in a discharge of energy!")
+ user.visible_message(SPAN_DANGER("[src] restraining [user] breaks in a discharge of energy!"), SPAN_USERDANGER("[src] restraining [user] breaks in a discharge of energy!"))
break_cuffs = TRUE
silent = TRUE
do_sparks(4, 0, user.loc)
@@ -405,13 +405,13 @@ CONTENTS:
. = ..()
switch(mode)
if(BATON_STUN)
- . += "The baton is in stun mode."
+ . += SPAN_WARNING("The baton is in stun mode.")
if(BATON_SLEEP)
- . += "The baton is in sleep inducement mode."
+ . += SPAN_WARNING("The baton is in sleep inducement mode.")
if(BATON_CUFF)
- . += "The baton is in restraining mode."
+ . += SPAN_WARNING("The baton is in restraining mode.")
if(BATON_PROBE)
- . += "The baton is in probing mode."
+ . += SPAN_WARNING("The baton is in probing mode.")
/obj/item/radio/headset/abductor
name = "alien headset"
@@ -447,7 +447,7 @@ CONTENTS:
if(!ScientistCheck(user))
return
if(!console)
- to_chat(user, "The device is not linked to a console!")
+ to_chat(user, SPAN_WARNING("The device is not linked to a console!"))
return
if(mode == GIZMO_SCAN)
@@ -456,13 +456,13 @@ CONTENTS:
else
mode = GIZMO_SCAN
icon_state = "gizmo_scan"
- to_chat(user, "You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE")
+ to_chat(user, SPAN_NOTICE("You switch the device to [mode==GIZMO_SCAN? "SCAN": "MARK"] MODE"))
/obj/item/abductor/gizmo/attack__legacy__attackchain(mob/living/M, mob/user)
if(!ScientistCheck(user))
return
if(!console)
- to_chat(user, "The device is not linked to console!")
+ to_chat(user, SPAN_WARNING("The device is not linked to console!"))
return
switch(mode)
@@ -477,7 +477,7 @@ CONTENTS:
if(!ScientistCheck(user))
return
if(!console)
- to_chat(user, "The device is not linked to console!")
+ to_chat(user, SPAN_WARNING("The device is not linked to console!"))
return
switch(mode)
@@ -489,16 +489,16 @@ CONTENTS:
/obj/item/abductor/gizmo/proc/scan(atom/target, mob/living/user)
if(ishuman(target))
console.AddSnapshot(target)
- to_chat(user, "You scan [target] and add [target.p_them()] to the database.")
+ to_chat(user, SPAN_NOTICE("You scan [target] and add [target.p_them()] to the database."))
/obj/item/abductor/gizmo/proc/mark(atom/target, mob/living/user)
if(marked == target)
- to_chat(user, "This specimen is already marked!")
+ to_chat(user, SPAN_WARNING("This specimen is already marked!"))
return
if(ishuman(target))
if(isabductor(target))
marked = target
- to_chat(user, "You mark [target] for future retrieval.")
+ to_chat(user, SPAN_NOTICE("You mark [target] for future retrieval."))
else
prepare(target,user)
else
@@ -506,12 +506,12 @@ CONTENTS:
/obj/item/abductor/gizmo/proc/prepare(atom/target, mob/living/user)
if(get_dist(target,user)>1)
- to_chat(user, "You need to be next to the specimen to prepare it for transport!")
+ to_chat(user, SPAN_WARNING("You need to be next to the specimen to prepare it for transport!"))
return
- to_chat(user, "You begin preparing [target] for transport...")
+ to_chat(user, SPAN_NOTICE("You begin preparing [target] for transport..."))
if(do_after(user, 100, target = target))
marked = target
- to_chat(user, "You finish preparing [target] for transport.")
+ to_chat(user, SPAN_NOTICE("You finish preparing [target] for transport."))
/obj/item/abductor/gizmo/Destroy()
if(console)
@@ -535,7 +535,7 @@ CONTENTS:
else
mode = MIND_DEVICE_MESSAGE
icon_state = "mind_device_message"
- to_chat(user, "You switch the device to [mode == MIND_DEVICE_MESSAGE ? "TRANSMISSION" : "COMMAND"] MODE")
+ to_chat(user, SPAN_NOTICE("You switch the device to [mode == MIND_DEVICE_MESSAGE ? "TRANSMISSION" : "COMMAND"] MODE"))
/obj/item/abductor/mind_device/afterattack__legacy__attackchain(atom/target, mob/living/user, flag, params)
if(!ScientistCheck(user))
@@ -552,13 +552,13 @@ CONTENTS:
var/mob/living/carbon/C = target
var/obj/item/organ/internal/heart/gland/G = C.get_organ_slot("heart")
if(!istype(G))
- to_chat(user, "Your target does not have an experimental gland!")
+ to_chat(user, SPAN_WARNING("Your target does not have an experimental gland!"))
return
if(!G.mind_control_uses)
- to_chat(user, "Your target's gland is spent!")
+ to_chat(user, SPAN_WARNING("Your target's gland is spent!"))
return
if(G.active_mind_control)
- to_chat(user, "Your target is already under a mind-controlling influence!")
+ to_chat(user, SPAN_WARNING("Your target is already under a mind-controlling influence!"))
return
var/command = tgui_input_text(user, "Enter the command for your target to follow. Uses Left: [G.mind_control_uses], Duration: [DisplayTimeText(G.mind_control_duration)]", "Enter command")
@@ -569,13 +569,13 @@ CONTENTS:
if(QDELETED(G))
return
G.mind_control(command, user)
- to_chat(user, "You send the command to your target.")
+ to_chat(user, SPAN_NOTICE("You send the command to your target."))
/obj/item/abductor/mind_device/proc/mind_message(atom/target, mob/living/user)
if(isliving(target))
var/mob/living/L = target
if(L.stat == DEAD)
- to_chat(user, "Your target is dead!")
+ to_chat(user, SPAN_WARNING("Your target is dead!"))
return
var/message = tgui_input_text(user, "Write a message to send to your target's brain.", "Enter message")
if(!message)
@@ -583,8 +583,8 @@ CONTENTS:
if(QDELETED(L) || L.stat == DEAD)
return
- to_chat(L, "You hear a voice in your head saying: [message]")
- to_chat(user, "You send the message to your target.")
+ to_chat(L, SPAN_ITALICS("You hear a voice in your head saying: [message]"))
+ to_chat(user, SPAN_NOTICE("You send the message to your target."))
log_say("[key_name(user)] sent an abductor mind message to [key_name(L)]: '[message]'", user)
/obj/item/paper/abductor
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
index c753fd8c52f..dcfecaaefed 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
@@ -60,25 +60,25 @@
if(istype(I, /obj/item/organ/internal/heart))
IC = I
break
- user.visible_message("[user] starts to remove [target]'s organs.", "You start to remove [target]'s organs...")
+ user.visible_message("[user] starts to remove [target]'s organs.", SPAN_NOTICE("You start to remove [target]'s organs..."))
..()
/datum/surgery_step/internal/extract_organ/end_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/mob/living/carbon/human/AB = target
if(IC)
- user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", "You pull [IC] out of [target]'s [target_zone].")
+ user.visible_message("[user] pulls [IC] out of [target]'s [target_zone]!", SPAN_NOTICE("You pull [IC] out of [target]'s [target_zone]."))
user.put_in_hands(IC)
IC.remove(target, special = 1)
return SURGERY_STEP_CONTINUE
if(NO_INTORGANS in AB.dna.species.species_traits)
- user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", "You prepare [target]'s [target_zone] for further dissection.")
+ user.visible_message("[user] prepares [target]'s [target_zone] for further dissection!", SPAN_NOTICE("You prepare [target]'s [target_zone] for further dissection."))
return SURGERY_STEP_CONTINUE
else
- to_chat(user, "You don't find anything in [target]'s [target_zone]!")
+ to_chat(user, SPAN_WARNING("You don't find anything in [target]'s [target_zone]!"))
return SURGERY_STEP_CONTINUE
/datum/surgery_step/internal/extract_organ/fail_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- user.visible_message("[user]'s hand slips, failing to extract anything!", "Your hand slips, failing to extract anything!")
+ user.visible_message(SPAN_WARNING("[user]'s hand slips, failing to extract anything!"), SPAN_WARNING("Your hand slips, failing to extract anything!"))
return SURGERY_STEP_RETRY
/datum/surgery_step/internal/gland_insert
@@ -102,7 +102,7 @@
return SURGERY_STEP_CONTINUE
/datum/surgery_step/internal/gland_insert/fail_step(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- user.visible_message("[user]'s hand slips, failing to insert the gland!", "Your hand slips, failing to insert the gland!")
+ user.visible_message(SPAN_WARNING("[user]'s hand slips, failing to insert the gland!"), SPAN_WARNING("Your hand slips, failing to insert the gland!"))
return SURGERY_STEP_RETRY
//IPC Gland Surgery//
diff --git a/code/game/gamemodes/miniantags/abduction/gland.dm b/code/game/gamemodes/miniantags/abduction/gland.dm
index e69656bf740..c9ad5783dae 100644
--- a/code/game/gamemodes/miniantags/abduction/gland.dm
+++ b/code/game/gamemodes/miniantags/abduction/gland.dm
@@ -48,8 +48,8 @@
if(!owner_check() || !mind_control_uses || active_mind_control)
return
mind_control_uses--
- to_chat(owner, "You suddenly feel an irresistible compulsion to follow an order...")
- to_chat(owner, "[command]")
+ to_chat(owner, SPAN_USERDANGER("You suddenly feel an irresistible compulsion to follow an order..."))
+ to_chat(owner, SPAN_MIND_CONTROL("[command]"))
active_mind_control = TRUE
log_admin("[key_name(user)] sent an abductor mind control message to [key_name(owner)]: [command]")
message_admins("[key_name_admin(user)] sent an abductor mind control message to [key_name_admin(owner)]: [command]")
@@ -62,7 +62,7 @@
/obj/item/organ/internal/heart/gland/proc/clear_mind_control()
if(!owner_check() || !active_mind_control)
return
- to_chat(owner, "You feel the compulsion fade, and you completely forget about your previous orders.")
+ to_chat(owner, SPAN_USERDANGER("You feel the compulsion fade, and you completely forget about your previous orders."))
active_mind_control = FALSE
update_gland_hud()
@@ -108,7 +108,7 @@
/obj/item/organ/internal/heart/gland/heals/trigger()
if(!(owner.mob_biotypes & MOB_ORGANIC))
return
- to_chat(owner, "You feel curiously revitalized.")
+ to_chat(owner, SPAN_NOTICE("You feel curiously revitalized."))
owner.adjustToxLoss(-20)
owner.adjustBruteLoss(-20)
owner.adjustOxyLoss(-20)
@@ -127,7 +127,7 @@
owner.add_language("Bubblish")
/obj/item/organ/internal/heart/gland/slime/trigger()
- to_chat(owner, "You feel nauseous!")
+ to_chat(owner, SPAN_WARNING("You feel nauseous!"))
owner.vomit(20)
new /mob/living/simple_animal/slime(get_turf(owner), "grey")
@@ -141,7 +141,7 @@
mind_control_duration = 6000
/obj/item/organ/internal/heart/gland/mindshock/trigger()
- to_chat(owner, "You get a headache.")
+ to_chat(owner, SPAN_NOTICE("You get a headache."))
var/turf/T = get_turf(owner)
for(var/mob/living/carbon/H in orange(4,T))
@@ -149,10 +149,10 @@
continue
switch(pick(1,3))
if(1)
- to_chat(H, "You hear a loud buzz in your head, silencing your thoughts!")
+ to_chat(H, SPAN_USERDANGER("You hear a loud buzz in your head, silencing your thoughts!"))
H.Stun(6 SECONDS)
if(2)
- to_chat(H, "You hear an annoying buzz in your head.")
+ to_chat(H, SPAN_WARNING("You hear an annoying buzz in your head."))
H.AdjustConfused(30 SECONDS)
H.adjustBrainLoss(5, 15)
if(3)
@@ -167,7 +167,7 @@
mind_control_duration = 3000
/obj/item/organ/internal/heart/gland/pop/trigger()
- to_chat(owner, "You feel unlike yourself.")
+ to_chat(owner, SPAN_NOTICE("You feel unlike yourself."))
var/species = pick(/datum/species/unathi, /datum/species/skrell, /datum/species/diona, /datum/species/tajaran, /datum/species/vulpkanin, /datum/species/kidan, /datum/species/grey)
owner.set_species(species, keep_missing_bodyparts = TRUE)
@@ -180,7 +180,7 @@
mind_control_uses = 4
/obj/item/organ/internal/heart/gland/ventcrawling/trigger()
- to_chat(owner, "You feel very stretchy.")
+ to_chat(owner, SPAN_NOTICE("You feel very stretchy."))
owner.ventcrawler = VENTCRAWLER_ALWAYS
/obj/item/organ/internal/heart/gland/ventcrawling/remove(mob/living/carbon/M, special = 0)
@@ -193,7 +193,7 @@
icon_state = "viral"
/obj/item/organ/internal/heart/gland/viral/trigger()
- to_chat(owner, "You feel sick.")
+ to_chat(owner, SPAN_WARNING("You feel sick."))
var/datum/disease/advance/A = random_virus(pick(2, 6), 6)
A.carrier = TRUE
owner.ForceContractDisease(A, TRUE)
@@ -230,10 +230,10 @@
/obj/item/organ/internal/heart/gland/teleport/trigger()
if(!is_teleport_allowed(owner.z)) // check if we can actually teleport on this z level before sending scary messages
- to_chat(owner, "You feel like somethings off, but nothing happens?")
+ to_chat(owner, SPAN_NOTICE("You feel like somethings off, but nothing happens?"))
return
if(prob(10))
- to_chat(owner, "It feels like you are being torn apart atom by atom!")
+ to_chat(owner, SPAN_BIGGERDANGER("It feels like you are being torn apart atom by atom!"))
owner.emote("scream")
owner.SetKnockDown(2 SECONDS, TRUE) // even with antistuns, I want them to fall over. Mainly so it conveys how unpleasant it feels
sleep(2 SECONDS)
@@ -241,7 +241,7 @@
possible_area = find_safe_turf()
do_teleport(owner, pick(possible_area))
return
- to_chat(owner, "You feel a horrible twisting and turning throughout your entire body.")
+ to_chat(owner, SPAN_WARNING("You feel a horrible twisting and turning throughout your entire body."))
owner.emote("scream")
sleep(1.5 SECONDS) // so they scream, and viewers hear the scream be cut off
do_teleport(owner, get_turf(owner), 10, safe_turf_pick = TRUE)
@@ -255,7 +255,7 @@
mind_control_duration = 2400
/obj/item/organ/internal/heart/gland/spiderman/trigger()
- to_chat(owner, "You feel something crawling in your skin.")
+ to_chat(owner, SPAN_WARNING("You feel something crawling in your skin."))
owner.faction |= "spiders"
var/mob/living/basic/spiderling/S = new(owner.loc)
S.master_commander = owner
@@ -267,7 +267,7 @@
mind_control_uses = 2
/obj/item/organ/internal/heart/gland/egg/trigger()
- owner.visible_message("[owner] [pick(EGG_LAYING_MESSAGES)]")
+ owner.visible_message(SPAN_ALERTALIEN("[owner] [pick(EGG_LAYING_MESSAGES)]"))
new /obj/item/food/egg/gland(get_turf(owner))
/obj/item/organ/internal/heart/gland/electric
@@ -292,8 +292,8 @@
return ..()
/obj/item/organ/internal/heart/gland/electric/trigger()
- owner.visible_message("[owner]'s skin starts emitting electric arcs!",\
- "You feel electric energy building up inside you!")
+ owner.visible_message(SPAN_DANGER("[owner]'s skin starts emitting electric arcs!"),\
+ SPAN_WARNING("You feel electric energy building up inside you!"))
playsound(get_turf(owner), "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
addtimer(CALLBACK(src, PROC_REF(zap)), rand(30, 100))
@@ -320,8 +320,8 @@
/obj/item/organ/internal/heart/gland/bloody/trigger()
owner.blood_volume = max(owner.blood_volume - 20, 0)
- owner.visible_message("[owner]'s skin erupts with blood!",\
- "Blood pours from your skin!")
+ owner.visible_message(SPAN_DANGER("[owner]'s skin erupts with blood!"),\
+ SPAN_USERDANGER("Blood pours from your skin!"))
for(var/turf/T in oview(3,owner)) //Make this respect walls and such
owner.add_splatter_floor(T)
@@ -338,15 +338,15 @@
/obj/item/organ/internal/heart/gland/plasma/trigger()
spawn(0)
- to_chat(owner, "You feel bloated.")
+ to_chat(owner, SPAN_WARNING("You feel bloated."))
sleep(150)
if(!owner)
return
- to_chat(owner, "A massive stomachache overcomes you.")
+ to_chat(owner, SPAN_USERDANGER("A massive stomachache overcomes you."))
sleep(50)
if(!owner)
return
- owner.visible_message("[owner] vomits a cloud of plasma!")
+ owner.visible_message(SPAN_DANGER("[owner] vomits a cloud of plasma!"))
var/turf/simulated/T = get_turf(owner)
if(istype(T))
T.atmos_spawn_air(LINDA_SPAWN_TOXINS|LINDA_SPAWN_20C,50)
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm b/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm
index a7810d43556..7cfd213715a 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/abductor_camera.dm
@@ -91,7 +91,7 @@
var/obj/machinery/abductor/console/console = target
if(!console.TeleporterRetrieve())
- to_chat(owner, "Error, unable to recall target. Please ensure they are not buckled, and that you have waited the required 10000 milliseconds!")
+ to_chat(owner, SPAN_WARNING("Error, unable to recall target. Please ensure they are not buckled, and that you have waited the required 10000 milliseconds!"))
playsound(owner, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE)
/datum/action/innate/teleport_self
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/console.dm b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
index 954c3d03f34..6dda00ff2ce 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/console.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/console.dm
@@ -51,7 +51,7 @@
if(..())
return
if(!isabductor(user))
- to_chat(user, "You start mashing alien buttons at random!")
+ to_chat(user, SPAN_WARNING("You start mashing alien buttons at random!"))
if(do_after(user, 100, target = src))
TeleporterSend()
return
@@ -73,34 +73,34 @@
dat += "Mental Interface Device (2)
"
dat += "Organ Extractor (2)
"
else
- dat += "NO EXPERIMENT MACHINE DETECTED
"
+ dat += "[SPAN_BAD("NO EXPERIMENT MACHINE DETECTED")]
"
if(pad)
- dat += "Emergency Teleporter System."
- dat += "Consider using primary observation console first."
+ dat += SPAN_BAD("Emergency Teleporter System.")
+ dat += SPAN_BAD("Consider using primary observation console first.")
dat += "Activate Teleporter
"
if(gizmo && gizmo.marked)
dat += "Retrieve Mark
"
else
- dat += "Retrieve Mark
"
+ dat += "[SPAN_LINKOFF("Retrieve Mark")]
"
else
- dat += "NO TELEPAD DETECTED"
+ dat += "[SPAN_BAD("NO TELEPAD DETECTED")]"
if(vest)
dat += " Agent Vest Mode
"
var/mode = vest.mode
if(mode == ABDUCTOR_VEST_STEALTH)
dat += "Combat"
- dat += "Stealth"
+ dat += SPAN_LINKOFF("Stealth")
else
- dat += "Combat"
+ dat += SPAN_LINKOFF("Combat")
dat += "Stealth"
dat+="
"
dat += "Select Agent Vest Disguise
"
dat += "[vest.flags & NODROP ? "Unlock" : "Lock"] Vest
"
else
- dat += "NO AGENT VEST DETECTED"
+ dat += SPAN_BAD("NO AGENT VEST DETECTED")
var/datum/browser/popup = new(user, "computer", "Abductor Console", 400, 500)
popup.set_content(dat)
popup.open()
@@ -160,12 +160,12 @@
/obj/machinery/abductor/console/proc/SetDroppoint(turf/location,user)
if(!istype(location))
- to_chat(user, "That place is not safe for the specimen.")
+ to_chat(user, SPAN_WARNING("That place is not safe for the specimen."))
return
if(pad)
pad.teleport_target = location
- to_chat(user, "Location marked as test subject release point.")
+ to_chat(user, SPAN_NOTICE("Location marked as test subject release point."))
/obj/machinery/abductor/console/proc/Link_Abduction_Equipment() // these must all be explicitly `in machines` or they will not properly link.
for(var/obj/machinery/abductor/pad/p in GLOB.abductor_equipment)
@@ -220,10 +220,10 @@
/obj/machinery/abductor/console/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/abductor/gizmo) && AddGizmo(used))
- to_chat(user, "You link the tool to the console.")
+ to_chat(user, SPAN_NOTICE("You link the tool to the console."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/clothing/suit/armor/abductor/vest) && AddVest(used))
- to_chat(user, "You link the vest to the console.")
+ to_chat(user, SPAN_NOTICE("You link the vest to the console."))
return ITEM_INTERACT_COMPLETE
return ..()
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm
index ce8c1ef9a0c..e004fc3cf02 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/dispenser.dm
@@ -78,7 +78,7 @@
/obj/machinery/abductor/gland_dispenser/attack_hand(mob/user)
if(!isabductor(user))
- to_chat(user, "You don't understand any of the alien writing!")
+ to_chat(user, SPAN_WARNING("You don't understand any of the alien writing!"))
return
ui_interact(user)
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
index a94195071f8..a6186dc2a77 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/experiment.dm
@@ -30,14 +30,14 @@
if(isabductor(target))
return
if(occupant)
- to_chat(user, "[src] is already occupied.")
+ to_chat(user, SPAN_NOTICE("[src] is already occupied."))
return TRUE
if(target.buckled)
return
if(target.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[target] will not fit into [src] because [target.p_they()] [target.p_have()] a slime latched onto [target.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[target] will not fit into [src] because [target.p_they()] [target.p_have()] a slime latched onto [target.p_their()] head."))
return TRUE
- visible_message("[user] puts [target] into [src].")
+ visible_message(SPAN_NOTICE("[user] puts [target] into [src]."))
QDEL_LIST_CONTENTS(target.grabbed_by)
target.forceMove(src)
@@ -49,7 +49,7 @@
/obj/machinery/abductor/experiment/attack_hand(mob/user)
if(!isabductor(user))
- to_chat(user, "You don't understand any of the alien writing!")
+ to_chat(user, SPAN_WARNING("You don't understand any of the alien writing!"))
return
ui_interact(user)
@@ -126,14 +126,14 @@
sleep(5)
switch(text2num(type))
if(1)
- to_chat(H, "You feel violated.")
+ to_chat(H, SPAN_WARNING("You feel violated."))
if(2)
- to_chat(H, "You feel yourself being sliced apart and put back together.")
+ to_chat(H, SPAN_WARNING("You feel yourself being sliced apart and put back together."))
if(3)
- to_chat(H, "You feel intensely watched.")
+ to_chat(H, SPAN_WARNING("You feel intensely watched."))
sleep(5)
- to_chat(H, "Your mind snaps!")
- to_chat(H, "You can't remember how you got here...")
+ to_chat(H, SPAN_WARNING("Your mind snaps!"))
+ to_chat(H, "[SPAN_WARNING("You can't remember how you got here...")]")
SSticker.mode.abductees += H.mind
var/objtype = pick(subtypesof(/datum/objective/abductee/))
@@ -185,12 +185,12 @@
if(isabductor(grabbed.affecting))
return ITEM_INTERACT_COMPLETE
if(occupant)
- to_chat(user, "[src] is already occupied!")
+ to_chat(user, SPAN_NOTICE("[src] is already occupied!"))
return ITEM_INTERACT_COMPLETE
if(grabbed.affecting.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[grabbed.affecting] will not fit into [src] because [grabbed.affecting.p_they()] [grabbed.affecting.p_have()] a slime latched onto [grabbed.affecting.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[grabbed.affecting] will not fit into [src] because [grabbed.affecting.p_they()] [grabbed.affecting.p_have()] a slime latched onto [grabbed.affecting.p_their()] head."))
return ITEM_INTERACT_COMPLETE
- visible_message("[user] puts [grabbed.affecting] into [src].")
+ visible_message(SPAN_NOTICE("[user] puts [grabbed.affecting] into [src]."))
var/mob/living/carbon/human/H = grabbed.affecting
H.forceMove(src)
occupant = H
@@ -228,7 +228,7 @@
COOLDOWN_START(src, spam_cooldown, 2 SECONDS)
if(!occupant)
return
- to_chat(occupant, "You start trying to break free!")
+ to_chat(occupant, SPAN_WARNING("You start trying to break free!"))
if(!do_after_once(occupant, 20 SECONDS, FALSE, src, hidden = TRUE))
return
var/list/possible_results = list(
@@ -242,14 +242,14 @@
/obj/machinery/abductor/experiment/proc/electrocute_abductee()
if(!occupant)
return
- to_chat(occupant, "Something is electrifying you!")
+ to_chat(occupant, SPAN_WARNING("Something is electrifying you!"))
occupant.electrocute_act(10, src)
do_sparks(5, TRUE, src)
/obj/machinery/abductor/experiment/proc/sedate_abductee()
if(!occupant)
return
- to_chat(occupant, "Something is stabbing you in the back!")
+ to_chat(occupant, SPAN_WARNING("Something is stabbing you in the back!"))
occupant.apply_damage(5, BRUTE, BODY_ZONE_CHEST)
occupant.reagents.add_reagent("pancuronium", 3)
diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
index 53cc0b3bea8..b15eb3d0365 100644
--- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
+++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm
@@ -20,7 +20,7 @@
for(var/mob/living/target in loc)
target.forceMove(teleport_target)
new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir)
- to_chat(target, "The instability of the warp leaves you disoriented!")
+ to_chat(target, SPAN_WARNING("The instability of the warp leaves you disoriented!"))
target.Stun(6 SECONDS)
/obj/machinery/abductor/pad/proc/Retrieve(mob/living/target)
diff --git a/code/game/gamemodes/miniantags/guardian/guardian.dm b/code/game/gamemodes/miniantags/guardian/guardian.dm
index 339838f25e3..ff47e19fba8 100644
--- a/code/game/gamemodes/miniantags/guardian/guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/guardian.dm
@@ -89,13 +89,13 @@
if(summoner)
if(summoner.stat == DEAD || (!summoner.check_death_method() && summoner.health <= HEALTH_THRESHOLD_DEAD))
summoner.remove_guardian_actions()
- to_chat(src, "Your summoner has died!")
- visible_message("[src] dies along with its user!")
+ to_chat(src, SPAN_DANGER("Your summoner has died!"))
+ visible_message(SPAN_DANGER("[src] dies along with its user!"))
ghostize()
qdel(src)
snapback()
if(summoned && !summoner && !admin_spawned)
- to_chat(src, "You somehow lack a summoner! As a result, you dispel!")
+ to_chat(src, SPAN_DANGER("You somehow lack a summoner! As a result, you dispel!"))
ghostize()
qdel(src)
@@ -104,8 +104,8 @@
if(summoner && loc && summoner.loc)
if(get_dist(get_turf(summoner), get_turf(src)) <= range)
return
- to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")
- visible_message("[src] jumps back to its user.")
+ to_chat(src, SPAN_HOLOPARASITE("You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!"))
+ visible_message(SPAN_DANGER("[src] jumps back to its user."))
if(iseffect(summoner.loc) || istype(summoner.loc, /obj/machinery/atmospherics))
Recall(TRUE)
else
@@ -119,7 +119,7 @@
/mob/living/simple_animal/hostile/guardian/AttackingTarget()
if(!is_deployed() && a_intent == INTENT_HARM)
- to_chat(src, "You must be manifested to attack!")
+ to_chat(src, SPAN_DANGER("You must be manifested to attack!"))
return FALSE
else if(!is_deployed() && a_intent == INTENT_HELP)
return FALSE
@@ -135,7 +135,7 @@
. = ..()
if(!.)
return FALSE
- to_chat(summoner, "Your [name] died somehow!")
+ to_chat(summoner, SPAN_DANGER("Your [name] died somehow!"))
UnregisterSignal(summoner, COMSIG_LIVING_HEALTH_UPDATE)
summoner.remove_guardian_actions()
summoner.death()
@@ -160,14 +160,14 @@
summoner.adjustBruteLoss(damage)
if(damage < 0)
- to_chat(summoner, "Your [name] is receiving healing. It heals you!")
+ to_chat(summoner, SPAN_NOTICE("Your [name] is receiving healing. It heals you!"))
else
- to_chat(summoner, "Your [name] is under attack! You take damage!")
+ to_chat(summoner, SPAN_DANGER("Your [name] is under attack! You take damage!"))
if(!stealthy_deploying)
- summoner.visible_message("Blood sprays from [summoner] as [src] takes damage!")
+ summoner.visible_message(SPAN_DANGER("Blood sprays from [summoner] as [src] takes damage!"))
if(summoner.stat == UNCONSCIOUS)
- to_chat(summoner, "Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!")
+ to_chat(summoner, SPAN_DANGER("Your body can't take the strain of sustaining [src] in this condition, it begins to fall apart!"))
summoner.adjustCloneLoss(damage / 2)
/mob/living/simple_animal/hostile/guardian/ex_act(severity, target)
@@ -184,7 +184,7 @@
/mob/living/simple_animal/hostile/guardian/gib()
if(summoner)
summoner.remove_guardian_actions()
- to_chat(summoner, "Your [src] was blown up!")
+ to_chat(summoner, SPAN_DANGER("Your [src] was blown up!"))
summoner.Weaken(20 SECONDS)// your fermillier has died! ROLL FOR CON LOSS!
UnregisterSignal(summoner, COMSIG_LIVING_HEALTH_UPDATE)
ghostize()
@@ -235,8 +235,8 @@
return
// Show the message to the host and to the guardian.
- to_chat(summoner, "[src]: [input]")
- to_chat(src, "[src]: [input]")
+ to_chat(summoner, SPAN_CHANGELING("[src]: [input]"))
+ to_chat(src, SPAN_CHANGELING("[src]: [input]"))
log_say("(GUARDIAN to [key_name(summoner)]): [input]", src)
create_log(SAY_LOG, "GUARDIAN to HOST: [input]", summoner)
@@ -253,16 +253,16 @@
/mob/living/simple_animal/hostile/guardian/proc/ToggleMode()
- to_chat(src, "You dont have another mode!")
+ to_chat(src, SPAN_DANGER("You dont have another mode!"))
/mob/living/simple_animal/hostile/guardian/proc/ToggleLight()
if(!light_on)
set_light(luminosity_on)
- to_chat(src, "You activate your light.")
+ to_chat(src, SPAN_NOTICE("You activate your light."))
else
set_light(0)
- to_chat(src, "You deactivate your light.")
+ to_chat(src, SPAN_NOTICE("You deactivate your light."))
light_on = !light_on
////////Creation
@@ -304,7 +304,7 @@
used = TRUE // Set this BEFORE the popup to prevent people using the injector more than once, polling ghosts multiple times, and receiving multiple guardians.
var/choice = tgui_alert(user, "[confirmation_message]", "Confirm", list("Yes", "No"))
if(choice != "Yes")
- to_chat(user, "You decide against using the [name].")
+ to_chat(user, SPAN_WARNING("You decide against using the [name]."))
used = FALSE
return
to_chat(user, "[use_message]")
@@ -317,7 +317,7 @@
else
guardian_type = tgui_input_list(user, "Pick the type of [mob_name]", "[mob_name] Creation", possible_guardians)
if(!guardian_type)
- to_chat(user, "You decide against using the [name].")
+ to_chat(user, SPAN_WARNING("You decide against using the [name]."))
used = FALSE
return
@@ -339,7 +339,7 @@
/obj/item/guardiancreator/examine(mob/user, distance)
. = ..()
if(used)
- . += "[used_message]"
+ . += SPAN_NOTICE("[used_message]")
/obj/item/guardiancreator/proc/has_guardian(mob/living/user)
for(var/mob/living/simple_animal/hostile/guardian/G in GLOB.alive_mob_list)
@@ -386,7 +386,7 @@
to_chat(G, "You are capable of manifesting or recalling to your master with verbs in the Guardian tab. You will also find a verb to communicate with them privately there.")
to_chat(G, "While personally invincible, you will die if [user.real_name] does, and any damage dealt to you will have a portion passed on to them as you feed upon them to sustain yourself.")
to_chat(G, "[G.playstyle_string]")
- to_chat(G, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Guardian)")
+ to_chat(G, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Guardian)"))
G.faction = user.faction
var/color = pick(color_list)
diff --git a/code/game/gamemodes/miniantags/guardian/host_actions.dm b/code/game/gamemodes/miniantags/guardian/host_actions.dm
index 79db77e2a83..f5431f87a1a 100644
--- a/code/game/gamemodes/miniantags/guardian/host_actions.dm
+++ b/code/game/gamemodes/miniantags/guardian/host_actions.dm
@@ -32,8 +32,8 @@
return
// Show the message to our guardian and to host.
- to_chat(guardian, "[owner]: [input]")
- to_chat(owner, "[owner]: [input]")
+ to_chat(guardian, SPAN_CHANGELING("[owner]: [input]"))
+ to_chat(owner, SPAN_CHANGELING("[owner]: [input]"))
log_say("(HOST to [key_name(guardian)]): [input]", owner)
owner.create_log(SAY_LOG, "HOST to GUARDIAN: [input]", guardian)
@@ -73,7 +73,7 @@
/datum/action/guardian/reset_guardian/Trigger(left_click)
if(cooldown_timer)
- to_chat(owner, "This ability is still recharging.")
+ to_chat(owner, SPAN_WARNING("This ability is still recharging."))
return
var/confirm = tgui_alert(owner, "Are you sure you want replace your guardian's player?", "Confirm", list("Yes", "No"))
@@ -84,18 +84,18 @@
cooldown_timer = addtimer(CALLBACK(src, PROC_REF(reset_cooldown)), 5 MINUTES)
build_all_button_icons()
- to_chat(owner, "Searching for a replacement ghost...")
+ to_chat(owner, SPAN_DANGER("Searching for a replacement ghost..."))
var/list/mob/dead/observer/candidates = SSghost_spawns.poll_candidates("Do you want to play as [guardian.real_name]?", ROLE_GUARDIAN, FALSE, 15 SECONDS, source = guardian)
if(!length(candidates))
- to_chat(owner, "There were no ghosts willing to take control of your guardian. You can try again in 5 minutes.")
+ to_chat(owner, SPAN_DANGER("There were no ghosts willing to take control of your guardian. You can try again in 5 minutes."))
return
if(QDELETED(guardian)) // Just in case
return
var/mob/dead/observer/new_stand = pick(candidates)
- to_chat(guardian, "Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.")
- to_chat(owner, "Your guardian has been successfully reset.")
+ to_chat(guardian, SPAN_DANGER("Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance."))
+ to_chat(owner, SPAN_DANGER("Your guardian has been successfully reset."))
message_admins("[key_name_admin(new_stand)] has taken control of ([key_name_admin(guardian)])")
guardian.ghostize()
guardian.key = new_stand.key
@@ -122,7 +122,7 @@
if(isfloorturf(beacon_loc) && !islava(beacon_loc) && !ischasm(beacon_loc))
QDEL_NULL(guardian_user.beacon)
guardian_user.beacon = new(beacon_loc)
- to_chat(guardian_user, "Beacon placed! You may now warp targets to it, including your user, via Alt Click.")
+ to_chat(guardian_user, SPAN_NOTICE("Beacon placed! You may now warp targets to it, including your user, via Alt Click."))
return TRUE
@@ -148,14 +148,14 @@
S.spawner = guardian_user
S.name = "[get_area(snare_loc)] trap ([snare_loc.x],[snare_loc.y],[snare_loc.z])"
guardian_user.snares |= S
- to_chat(guardian_user, "Surveillance trap deployed!")
+ to_chat(guardian_user, SPAN_NOTICE("Surveillance trap deployed!"))
return TRUE
else
var/picked_snare = tgui_input_list(guardian_user, "You have too many snares deployed! Delete one to place another.", "Disarm Snare", guardian_user.snares)
if(picked_snare)
guardian_user.snares -= picked_snare
qdel(picked_snare)
- to_chat(user, "Snare disarmed.")
+ to_chat(user, SPAN_NOTICE("Snare disarmed."))
revert_cast()
/datum/spell/choose_battlecry
diff --git a/code/game/gamemodes/miniantags/guardian/types/assassin.dm b/code/game/gamemodes/miniantags/guardian/types/assassin.dm
index fd9a45493fa..fe610489dc2 100644
--- a/code/game/gamemodes/miniantags/guardian/types/assassin.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/assassin.dm
@@ -60,16 +60,16 @@
environment_smash = initial(environment_smash)
alpha = initial(alpha)
if(!forced)
- to_chat(src, "You exit stealth.")
+ to_chat(src, SPAN_DANGER("You exit stealth."))
else
- visible_message("[src] suddenly appears!")
+ visible_message(SPAN_DANGER("[src] suddenly appears!"))
stealthcooldown = world.time + default_stealth_cooldown //we were forced out of stealth and go on cooldown
cooldown = world.time + 40 //can't recall for 4 seconds
updatestealthalert()
toggle = FALSE
else if(stealthcooldown <= world.time)
if(loc == summoner)
- to_chat(src, "You automatically deploy stealthed!")
+ to_chat(src, SPAN_NOTICE("You automatically deploy stealthed!"))
return
melee_damage_lower = 50
melee_damage_upper = 50
@@ -78,11 +78,11 @@
environment_smash = ENVIRONMENT_SMASH_NONE
alpha = 10
if(!forced)
- to_chat(src, "You enter stealth, becoming mostly invisible, empowering your next attack.")
+ to_chat(src, SPAN_DANGER("You enter stealth, becoming mostly invisible, empowering your next attack."))
updatestealthalert()
toggle = TRUE
else if(!forced)
- to_chat(src, "You cannot yet enter stealth, wait another [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds!")
+ to_chat(src, SPAN_DANGER("You cannot yet enter stealth, wait another [max(round((stealthcooldown - world.time)*0.1, 0.1), 0)] seconds!"))
/mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert()
if(stealthcooldown <= world.time)
diff --git a/code/game/gamemodes/miniantags/guardian/types/charger.dm b/code/game/gamemodes/miniantags/guardian/types/charger.dm
index fd5ae62d462..08d941bbd19 100644
--- a/code/game/gamemodes/miniantags/guardian/types/charger.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/charger.dm
@@ -24,7 +24,7 @@
/mob/living/simple_animal/hostile/guardian/charger/OpenFire(atom/A)
if(!charging)
- visible_message("[src] [ranged_message] at [A]!")
+ visible_message(SPAN_DANGER("[src] [ranged_message] at [A]!"))
ranged_cooldown = world.time + ranged_cooldown_time
clear_alert("charge")
chargealert = null
@@ -63,7 +63,7 @@
blocked = TRUE
if(!blocked)
L.KnockDown(2 SECONDS)
- L.visible_message("[src] slams into [L]!", "[src] slams into you!")
+ L.visible_message(SPAN_DANGER("[src] slams into [L]!"), SPAN_USERDANGER("[src] slams into you!"))
L.apply_damage(20, BRUTE)
playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, 1)
shake_camera(L, 4, 3)
diff --git a/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm b/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm
index d5da7e6c075..3d6766908c1 100644
--- a/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/explosive_guardian.dm
@@ -18,7 +18,7 @@
if(!istype(A))
return
if(get_dist(get_turf(src), get_turf(A)) > 1)
- to_chat(src, "You're too far from [A] to disguise it as a bomb.")
+ to_chat(src, SPAN_DANGER("You're too far from [A] to disguise it as a bomb."))
return
if(isobj(A) && can_plant(A))
if(bomb_cooldown <= world.time && stat == CONSCIOUS)
@@ -27,26 +27,26 @@
saboteur_ = src, \
explosive_check_ = CALLBACK(src, PROC_REF(validate_target)))
add_attack_logs(src, A, "booby trapped (summoner: [summoner])")
- to_chat(src, "Success! Bomb on [A] armed!")
+ to_chat(src, SPAN_DANGER("Success! Bomb on [A] armed!"))
if(summoner)
- to_chat(summoner, "Your guardian has primed [A] to explode!")
+ to_chat(summoner, SPAN_WARNING("Your guardian has primed [A] to explode!"))
bomb_cooldown = world.time + default_bomb_cooldown
else
- to_chat(src, "Your power is on cooldown! You must wait another [max(round((bomb_cooldown - world.time)*0.1, 0.1), 0)] seconds before you can place next bomb.")
+ to_chat(src, SPAN_DANGER("Your power is on cooldown! You must wait another [max(round((bomb_cooldown - world.time)*0.1, 0.1), 0)] seconds before you can place next bomb."))
/mob/living/simple_animal/hostile/guardian/bomb/proc/validate_target(atom/source, mob/living/target)
if(target == summoner)
add_attack_logs(target, source, "booby trap defused")
- to_chat(target, "You knew this because of your link with your guardian, so you smartly defuse the bomb.")
+ to_chat(target, SPAN_DANGER("You knew this because of your link with your guardian, so you smartly defuse the bomb."))
return DIRECT_EXPLOSIVE_TRAP_DEFUSE
/mob/living/simple_animal/hostile/guardian/bomb/proc/can_plant(atom/movable/A)
if(ismecha(A))
var/obj/mecha/target = A
if(target.occupant)
- to_chat(src, "You can't disguise piloted mechs as a bomb!")
+ to_chat(src, SPAN_WARNING("You can't disguise piloted mechs as a bomb!"))
return FALSE
if(istype(A, /obj/machinery/disposal)) // Have no idea why they just destroy themselves
- to_chat(src, "You can't disguise disposal units as a bomb!")
+ to_chat(src, SPAN_WARNING("You can't disguise disposal units as a bomb!"))
return FALSE
return TRUE
diff --git a/code/game/gamemodes/miniantags/guardian/types/gaseous.dm b/code/game/gamemodes/miniantags/guardian/types/gaseous.dm
index c6d44669021..8fb698ba6b1 100644
--- a/code/game/gamemodes/miniantags/guardian/types/gaseous.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/gaseous.dm
@@ -48,11 +48,11 @@
var/picked_gas = tgui_input_list(src, "Select a gas to expel.", "Gas Producer", possible_gases)
if(!picked_gas)
moles_of_gas = null
- to_chat(src, "You stopped expelling gas.")
+ to_chat(src, SPAN_NOTICE("You stopped expelling gas."))
return
if(!picked_gas)
return
- to_chat(src, "You are now expelling [picked_gas].")
+ to_chat(src, SPAN_BOLDDANGER("You are now expelling [picked_gas]."))
investigate_log("set their gas type to [picked_gas].", INVESTIGATE_ATMOS)
moles_of_gas = possible_gases[picked_gas]
switch(picked_gas)
diff --git a/code/game/gamemodes/miniantags/guardian/types/healer.dm b/code/game/gamemodes/miniantags/guardian/types/healer.dm
index bc043c8792e..caaaf525e6d 100644
--- a/code/game/gamemodes/miniantags/guardian/types/healer.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/healer.dm
@@ -53,7 +53,7 @@
/mob/living/simple_animal/hostile/guardian/healer/AttackingTarget()
. = ..()
if(loc == summoner)
- to_chat(src, "You must be manifested to heal!")
+ to_chat(src, SPAN_DANGER("You must be manifested to heal!"))
return
if(toggle == HEALING)
if(iscarbon(target))
@@ -74,7 +74,7 @@
return
var/mob/living/carbon/human/C = target
if(surgical_cooldown <= world.time && stat == CONSCIOUS)
- to_chat(src, "You begin to do a mass repair on [C], keep them still!")
+ to_chat(src, SPAN_NOTICE("You begin to do a mass repair on [C], keep them still!"))
surgical_cooldown = world.time + 10 SECONDS
if(!do_after_once(src, 10 SECONDS, target = src))
return
@@ -93,7 +93,7 @@
speed = 0
melee_damage_lower = 15
melee_damage_upper = 15
- to_chat(src, "You switch to combat mode.")
+ to_chat(src, SPAN_DANGER("You switch to combat mode."))
toggle = COMBAT
if(COMBAT)
a_intent = INTENT_HELP
@@ -101,13 +101,13 @@
speed = 1
melee_damage_lower = 0
melee_damage_upper = 0
- to_chat(src, "You switch to healing mode.")
+ to_chat(src, SPAN_DANGER("You switch to healing mode."))
toggle = HEALING
if(HEALING)
- to_chat(src, "You switch to surgical. You no longer heal on punch, but can do a big critical injury healing on a long cooldown.")
+ to_chat(src, SPAN_DANGER("You switch to surgical. You no longer heal on punch, but can do a big critical injury healing on a long cooldown."))
toggle = SURGICAL
else
- to_chat(src, "You have to be recalled to toggle modes!")
+ to_chat(src, SPAN_DANGER("You have to be recalled to toggle modes!"))
/obj/effect/bluespace_beacon
name = "bluespace receiving pad"
@@ -120,22 +120,22 @@
if(!istype(A))
return
if(loc == summoner)
- to_chat(src, "You must be manifested to warp a target!")
+ to_chat(src, SPAN_DANGER("You must be manifested to warp a target!"))
return
if(!beacon)
- to_chat(src, "You need a beacon placed to warp things!")
+ to_chat(src, SPAN_DANGER("You need a beacon placed to warp things!"))
return
if(!Adjacent(A))
- to_chat(src, "You must be adjacent to your target!")
+ to_chat(src, SPAN_DANGER("You must be adjacent to your target!"))
return
if(A.anchored)
- to_chat(src, "Your target can not be anchored!")
+ to_chat(src, SPAN_DANGER("Your target can not be anchored!"))
return
- to_chat(src, "You begin to warp [A]")
+ to_chat(src, SPAN_DANGER("You begin to warp [A]"))
if(do_mob(src, A, 5 SECONDS))
if(!A.anchored)
if(!beacon) //Check that the beacon still exists and is in a safe place. No instant kills.
- to_chat(src, "You need a beacon to warp things!")
+ to_chat(src, SPAN_DANGER("You need a beacon to warp things!"))
return
var/turf/T = get_turf(beacon)
if(T.is_safe()) // Walls always return false
@@ -143,10 +143,10 @@
do_teleport(A, beacon, 0)
new /obj/effect/temp_visual/guardian/phase(get_turf(A))
return
- to_chat(src, "The beacon isn't in a safe location!")
+ to_chat(src, SPAN_DANGER("The beacon isn't in a safe location!"))
return
else
- to_chat(src, "You need to hold still!")
+ to_chat(src, SPAN_DANGER("You need to hold still!"))
#undef COMBAT
diff --git a/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm b/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm
index 98a0b706413..cd4a47452a9 100644
--- a/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/lightning_guardian.dm
@@ -109,9 +109,9 @@
continue
if(successfulshocks > 4)
L.visible_message(
- "[L] was shocked by the lightning chain!", \
- "You are shocked by the lightning chain!", \
- "You hear a heavy electrical crack." \
+ SPAN_DANGER("[L] was shocked by the lightning chain!"), \
+ SPAN_USERDANGER("You are shocked by the lightning chain!"), \
+ SPAN_ITALICS("You hear a heavy electrical crack.") \
)
L.adjustFireLoss(2.4) //adds up very rapidly
. = 1
diff --git a/code/game/gamemodes/miniantags/guardian/types/protector.dm b/code/game/gamemodes/miniantags/guardian/types/protector.dm
index 6ab3420209c..6a0d365c259 100644
--- a/code/game/gamemodes/miniantags/guardian/types/protector.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/protector.dm
@@ -18,7 +18,7 @@
else
..()
if(toggle)
- visible_message("The explosion glances off [src]'s energy shielding!")
+ visible_message(SPAN_DANGER("The explosion glances off [src]'s energy shielding!"))
/mob/living/simple_animal/hostile/guardian/protector/Manifest()
@@ -56,14 +56,14 @@
move_resist = initial(move_resist)
speed = initial(speed)
damage_transfer = 0.4
- to_chat(src, "You switch to combat mode.")
+ to_chat(src, SPAN_DANGER("You switch to combat mode."))
toggle = FALSE
QDEL_LIST_CONTENTS(connected_shields)
else
if(!isturf(loc))
return
if(get_turf(summoner) == get_turf(src))
- to_chat(src, "You cannot deploy your shield while on your host!")
+ to_chat(src, SPAN_WARNING("You cannot deploy your shield while on your host!"))
return
var/icon/shield_overlay = icon('icons/effects/effects.dmi', "shield-grey")
shield_overlay *= name_color
@@ -74,7 +74,7 @@
move_resist = MOVE_FORCE_STRONG
speed = 1
damage_transfer = 0.1 //damage? what's damage?
- to_chat(src, "You switch to protection mode.")
+ to_chat(src, SPAN_DANGER("You switch to protection mode."))
toggle = TRUE
var/dir_left = turn(dir, -90)
var/dir_right = turn(dir, 90)
@@ -88,12 +88,12 @@
return
else
if(iseffect(summoner.loc))
- to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")
- visible_message("[src] jumps back to its user.")
+ to_chat(src, SPAN_HOLOPARASITE("You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!"))
+ visible_message(SPAN_DANGER("[src] jumps back to its user."))
Recall(TRUE)
else
- to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [src]!")
- summoner.visible_message("[summoner] jumps back to [summoner.p_their()] protector.")
+ to_chat(summoner, SPAN_HOLOPARASITE("You moved out of range, and were pulled back! You can only move [range] meters from [src]!"))
+ summoner.visible_message(SPAN_DANGER("[summoner] jumps back to [summoner.p_their()] protector."))
new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner))
summoner.forceMove(get_turf(src))
new /obj/effect/temp_visual/guardian/phase(get_turf(summoner))//Protector
@@ -138,7 +138,7 @@
if(..() || !attacking.force)
return FINISH_ATTACK
- user.visible_message("[user] has hit [src] with [attacking]!", "You hit [src] with [attacking]!")
+ user.visible_message(SPAN_DANGER("[user] has hit [src] with [attacking]!"), SPAN_DANGER("You hit [src] with [attacking]!"))
linked_guardian.apply_damage(attacking.force, attacking.damtype)
return FINISH_ATTACK
diff --git a/code/game/gamemodes/miniantags/guardian/types/ranged.dm b/code/game/gamemodes/miniantags/guardian/types/ranged.dm
index d82d279097e..3fe576fc948 100644
--- a/code/game/gamemodes/miniantags/guardian/types/ranged.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/ranged.dm
@@ -38,7 +38,7 @@
range = 13
incorporeal_move = NO_INCORPOREAL_MOVE
ADD_TRAIT(src, TRAIT_CAN_STRIP, TRAIT_GENERIC)
- to_chat(src, "You switch to combat mode.")
+ to_chat(src, SPAN_DANGER("You switch to combat mode."))
toggle = FALSE
else
ranged = FALSE
@@ -50,10 +50,10 @@
range = 255
incorporeal_move = INCORPOREAL_MOVE_NORMAL
REMOVE_TRAIT(src, TRAIT_CAN_STRIP, TRAIT_GENERIC) //spiritual pickpocketting is forbidden
- to_chat(src, "You switch to scout mode.")
+ to_chat(src, SPAN_DANGER("You switch to scout mode."))
toggle = TRUE
else
- to_chat(src, "You have to be recalled to toggle modes!")
+ to_chat(src, SPAN_DANGER("You have to be recalled to toggle modes!"))
/mob/living/simple_animal/hostile/guardian/ranged/ToggleLight()
var/msg
@@ -73,7 +73,7 @@
update_sight()
- to_chat(src, "[msg]")
+ to_chat(src, SPAN_NOTICE("[msg]"))
/mob/living/simple_animal/hostile/guardian/ranged/blob_act(obj/structure/blob/B)
if(toggle)
@@ -103,8 +103,8 @@
if(isliving(entered))
var/turf/snare_loc = get_turf(loc)
if(spawner)
- to_chat(spawner, "[entered] has crossed your surveillance trap at [get_area(snare_loc)].")
+ to_chat(spawner, SPAN_DANGER("[entered] has crossed your surveillance trap at [get_area(snare_loc)]."))
if(isguardian(spawner))
var/mob/living/simple_animal/hostile/guardian/G = spawner
if(G.summoner)
- to_chat(G.summoner, "[entered] has crossed your surveillance trap at [get_area(snare_loc)].")
+ to_chat(G.summoner, SPAN_DANGER("[entered] has crossed your surveillance trap at [get_area(snare_loc)]."))
diff --git a/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm b/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm
index 2ffa36b78eb..095dff3f3c4 100644
--- a/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm
+++ b/code/game/gamemodes/miniantags/guardian/types/standard_guardian.dm
@@ -18,7 +18,7 @@
. = ..()
if(iscarbon(target) && target != summoner)
if(length(battlecry) > 11)//no more then 11 letters in a battle cry.
- visible_message("[src] punches [target]!")
+ visible_message(SPAN_DANGER("[src] punches [target]!"))
else
say("[battlecry][battlecry][battlecry][battlecry][battlecry]", TRUE)
playsound(loc, attack_sound, 50, TRUE, 1)
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index ca570afe7e1..b2a07801f06 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -95,23 +95,23 @@
/mob/living/simple_animal/hostile/morph/proc/try_eat(atom/movable/A)
var/food_value = calc_food_gained(A)
if(food_value + gathered_food < 0)
- to_chat(src, "You can't force yourself to eat more disgusting items. Eat some living things first.")
+ to_chat(src, SPAN_WARNING("You can't force yourself to eat more disgusting items. Eat some living things first."))
return
var/eat_self_message
if(food_value < 0)
- eat_self_message = "You start eating [A]... disgusting...."
+ eat_self_message = SPAN_WARNING("You start eating [A]... disgusting....")
else
- eat_self_message = "You start eating [A]."
- visible_message("[src] starts eating [target]!", eat_self_message, "You hear loud crunching!")
+ eat_self_message = SPAN_NOTICE("You start eating [A].")
+ visible_message(SPAN_WARNING("[src] starts eating [target]!"), eat_self_message, "You hear loud crunching!")
if(do_after(src, 3 SECONDS, target = A))
if(food_value + gathered_food < 0)
- to_chat(src, "You can't force yourself to eat more disgusting items. Eat some living things first.")
+ to_chat(src, SPAN_WARNING("You can't force yourself to eat more disgusting items. Eat some living things first."))
return
eat(A)
/mob/living/simple_animal/hostile/morph/proc/eat(atom/movable/A)
if(A && A.loc != src)
- visible_message("[src] swallows [A] whole!")
+ visible_message(SPAN_WARNING("[src] swallows [A] whole!"))
var/mob/living/carbon/human/H = A
if(istype(H) && H.w_uniform && istype(H.w_uniform, /obj/item/clothing/under))
@@ -175,7 +175,7 @@
melee_damage_upper = initial(melee_damage_upper)
speed = initial(speed)
if(ambush_prepared)
- to_chat(src, "The ambush potential has faded as you take your true form.")
+ to_chat(src, SPAN_WARNING("The ambush potential has faded as you take your true form."))
failed_ambush()
pass_airlock_spell.build_all_button_icons()
move_resist = MOVE_FORCE_STRONG // Return to their fatness
@@ -183,7 +183,7 @@
/mob/living/simple_animal/hostile/morph/proc/prepare_ambush()
ambush_prepared = TRUE
- to_chat(src, "You are ready to ambush any unsuspected target. Your next attack will hurt a lot more and weaken the target! Moving will break your focus. Standing still will perfect your disguise.")
+ to_chat(src, SPAN_SINISTER("You are ready to ambush any unsuspected target. Your next attack will hurt a lot more and weaken the target! Moving will break your focus. Standing still will perfect your disguise."))
apply_status_effect(/datum/status_effect/morph_ambush)
RegisterSignal(src, COMSIG_MOVABLE_MOVED, PROC_REF(on_move))
@@ -197,12 +197,12 @@
/mob/living/simple_animal/hostile/morph/proc/perfect_ambush()
mimic_spell.perfect_disguise = TRUE // Reset the perfect disguise
- to_chat(src, "You've perfected your disguise. Making you indistinguishable from the real form!")
+ to_chat(src, SPAN_SINISTER("You've perfected your disguise. Making you indistinguishable from the real form!"))
remove_from_all_data_huds()
/mob/living/simple_animal/hostile/morph/proc/on_move()
failed_ambush()
- to_chat(src, "You moved out of your ambush spot!")
+ to_chat(src, SPAN_WARNING("You moved out of your ambush spot!"))
/mob/living/simple_animal/hostile/morph/add_ventcrawl()
. = ..()
@@ -229,13 +229,13 @@
if(user.a_intent != INTENT_HELP)
return CONTINUE_ATTACK
if(!contents.len)
- to_chat(user, "[src] doesnt have anything left inside it!")
+ to_chat(user, SPAN_WARNING("[src] doesnt have anything left inside it!"))
return ITEM_INTERACT_COMPLETE
playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1)
visible_message(
- "[src] begins to pry open the morph's massive jaws!",
- "You begin to pry open the morph's massive jaws!",
- "You hear wet, meaty tearing nearby!"
+ SPAN_WARNING("[src] begins to pry open the morph's massive jaws!"),
+ SPAN_DANGER("You begin to pry open the morph's massive jaws!"),
+ SPAN_WARNING("You hear wet, meaty tearing nearby!")
)
if(do_after_once(user, 8 SECONDS, target = src))
eject_contents()
@@ -244,7 +244,7 @@
/mob/living/simple_animal/hostile/morph/attack_hand(mob/living/carbon/human/M)
if(ambush_prepared)
- to_chat(M, "[src] feels a bit different from normal... it feels more.. SLIMEY?!")
+ to_chat(M, SPAN_WARNING("[src] feels a bit different from normal... it feels more.. SLIMEY?!"))
ambush_attack(M, TRUE)
else
return ..()
@@ -253,14 +253,14 @@
. = ..()
if(stat == DEAD)
if(length(contents))
- . += "You can use ALT + Click to eject anything the morph may have eaten."
+ . += SPAN_NOTICE("You can use ALT + Click to eject anything the morph may have eaten.")
else if(in_range(user, src))
- . += "\The [src] seems to have nothing left inside of it!"
+ . += SPAN_WARNING("\The [src] seems to have nothing left inside of it!")
#define MORPH_ATTACKED if((. = ..()) && morphed) mimic_spell.restore_form(src)
/mob/living/simple_animal/hostile/morph/attack_by(obj/item/O, mob/living/user, params)
if(user.a_intent == INTENT_HELP && ambush_prepared)
- to_chat(user, "You try to use [O] on [src]... it seems different than no-")
+ to_chat(user, SPAN_WARNING("You try to use [O] on [src]... it seems different than no-"))
ambush_attack(user, TRUE)
return FINISH_ATTACK
@@ -268,7 +268,7 @@
/mob/living/simple_animal/hostile/morph/attack_animal(mob/living/simple_animal/M)
if(M.a_intent == INTENT_HELP && ambush_prepared)
- to_chat(M, "You nuzzle [src]. And [src] nuzzles back!")
+ to_chat(M, SPAN_NOTICE("You nuzzle [src]. And [src] nuzzles back!"))
ambush_attack(M, TRUE)
return TRUE
MORPH_ATTACKED
@@ -302,7 +302,7 @@
L.apply_damage(total_damage, BRUTE)
add_attack_logs(src, L, "morph ambush attacked")
do_attack_animation(L, ATTACK_EFFECT_BITE)
- visible_message("[src] suddenly leaps towards [L]!", "You strike [L] when [L.p_they()] least expected it!", "You hear a horrible crunch!")
+ visible_message(SPAN_DANGER("[src] suddenly leaps towards [L]!"), SPAN_WARNING("You strike [L] when [L.p_they()] least expected it!"), "You hear a horrible crunch!")
mimic_spell.restore_form(src)
@@ -347,14 +347,14 @@
SSticker.mode.traitors |= mind
var/list/messages = list()
messages.Add("You are a morph.
")
- messages.Add("You hunger for living beings and desire to procreate. Achieve this goal by ambushing unsuspecting pray using your abilities.")
- messages.Add("As an abomination created primarily with changeling cells you may take the form of anything nearby by using your Mimic ability.")
- messages.Add("The transformation will not go unnoticed for bystanding observers.")
- messages.Add("While morphed, you move slower and do less damage. In addition, anyone within three tiles will note an uncanny wrongness if examining you.")
- messages.Add("From this form you can however Prepare an Ambush using your ability.")
- messages.Add("This will allow you to deal a lot of damage the first hit. And if they touch you then even more.")
- messages.Add("Finally, you can attack any item or dead creature to consume it - creatures will restore 1/3 of your max health and will add to your stored food while eating items will reduce your stored food.")
- messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Morph)")
+ messages.Add(SPAN_SINISTER("You hunger for living beings and desire to procreate. Achieve this goal by ambushing unsuspecting pray using your abilities."))
+ messages.Add(SPAN_SPECIALNOTICE("As an abomination created primarily with changeling cells you may take the form of anything nearby by using your Mimic ability."))
+ messages.Add(SPAN_SPECIALNOTICE("The transformation will not go unnoticed for bystanding observers."))
+ messages.Add("While morphed[SPAN_SPECIALNOTICE(", you move slower and do less damage. In addition, anyone within three tiles will note an uncanny wrongness if examining you.")]")
+ messages.Add(SPAN_SPECIALNOTICE("From this form you can however Prepare an Ambush using your ability."))
+ messages.Add(SPAN_SPECIALNOTICE("This will allow you to deal a lot of damage the first hit. And if they touch you then even more."))
+ messages.Add(SPAN_SPECIALNOTICE("Finally, you can attack any item or dead creature to consume it - creatures will restore 1/3 of your max health and will add to your stored food while eating items will reduce your stored food."))
+ messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Morph)"))
SEND_SOUND(src, sound('sound/magic/mutate.ogg'))
if(give_default_objectives)
mind.add_mind_objective(/datum/objective/morph_eat)
diff --git a/code/game/gamemodes/miniantags/morph/spells/ambush.dm b/code/game/gamemodes/miniantags/morph/spells/ambush.dm
index 8f25fdbc276..9cf13b343d2 100644
--- a/code/game/gamemodes/miniantags/morph/spells/ambush.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/ambush.dm
@@ -16,20 +16,20 @@
return
if(!user.morphed)
if(show_message)
- to_chat(user, "You can only prepare an ambush if you're disguised!")
+ to_chat(user, SPAN_WARNING("You can only prepare an ambush if you're disguised!"))
return FALSE
if(user.ambush_prepared)
if(show_message)
- to_chat(user, "You are already prepared!")
+ to_chat(user, SPAN_WARNING("You are already prepared!"))
return FALSE
/datum/spell/morph_spell/ambush/cast(list/targets, mob/living/simple_animal/hostile/morph/user)
- to_chat(user, "You start preparing an ambush.")
+ to_chat(user, SPAN_SINISTER("You start preparing an ambush."))
if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, PROC_REF(prepare_check), user)), FALSE))
if(!user.morphed)
- to_chat(user, "You need to stay morphed to prepare the ambush!")
+ to_chat(user, SPAN_WARNING("You need to stay morphed to prepare the ambush!"))
return
- to_chat(user, "You need to stay still to prepare the ambush!")
+ to_chat(user, SPAN_WARNING("You need to stay still to prepare the ambush!"))
return
user.prepare_ambush()
diff --git a/code/game/gamemodes/miniantags/morph/spells/open_vent.dm b/code/game/gamemodes/miniantags/morph/spells/open_vent.dm
index 6337bbe29e4..81fcd3d5302 100644
--- a/code/game/gamemodes/miniantags/morph/spells/open_vent.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/open_vent.dm
@@ -21,12 +21,12 @@
/datum/spell/morph_spell/open_vent/cast(list/targets, mob/user)
if(!length(targets))
- to_chat(user, "No nearby welded vents found!")
+ to_chat(user, SPAN_WARNING("No nearby welded vents found!"))
revert_cast(user)
return
- to_chat(user, "You begin regurgitating up some acidic puke!")
+ to_chat(user, SPAN_SINISTER("You begin regurgitating up some acidic puke!"))
if(!do_after(user, 2 SECONDS, FALSE, user))
- to_chat(user, "You swallow the acid again.")
+ to_chat(user, SPAN_WARNING("You swallow the acid again."))
revert_cast(user)
return
for(var/thing in targets)
diff --git a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm
index a13e75b8422..f597e2543eb 100644
--- a/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/pass_airlock.dm
@@ -4,7 +4,7 @@
desc = "Reform yourself so you can fit through a non bolted airlock. Takes a while to do and can only be used in a non disguised form."
action_icon_state = "morph_airlock"
antimagic_flags = NONE
- selection_activated_message = "Click on an airlock to try pass it."
+ selection_activated_message = SPAN_SINISTER("Click on an airlock to try pass it.")
/datum/spell/morph_spell/pass_airlock/create_new_targeting()
var/datum/spell_targeting/click/T = new
@@ -21,29 +21,29 @@
if(user.morphed)
if(show_message)
- to_chat(user, "You can only pass through airlocks in your true form!")
+ to_chat(user, SPAN_WARNING("You can only pass through airlocks in your true form!"))
return FALSE
/datum/spell/morph_spell/pass_airlock/cast(list/targets, mob/living/simple_animal/hostile/morph/user)
var/obj/machinery/door/airlock/A = targets[1]
if(A.locked)
- to_chat(user, "[A] is bolted shut! You're unable to create a crack to pass through!")
+ to_chat(user, SPAN_WARNING("[A] is bolted shut! You're unable to create a crack to pass through!"))
revert_cast(user)
return
- user.visible_message("[user] starts pushing itself against [A]!", "You try to pry [A] open enough to get through.")
+ user.visible_message(SPAN_WARNING("[user] starts pushing itself against [A]!"), SPAN_SINISTER("You try to pry [A] open enough to get through."))
if(!do_after(user, 6 SECONDS, FALSE, user, TRUE, list(CALLBACK(src, PROC_REF(pass_check), user, A)), FALSE))
if(user.morphed)
- to_chat(user, "You need to stay in your true form to pass through [A]!")
+ to_chat(user, SPAN_WARNING("You need to stay in your true form to pass through [A]!"))
else if(A.locked)
- to_chat(user, "[A] is bolted shut! You're unable to create a crack to pass through!")
+ to_chat(user, SPAN_WARNING("[A] is bolted shut! You're unable to create a crack to pass through!"))
else
- to_chat(user, "You need to stay still to pass through [A]!")
+ to_chat(user, SPAN_WARNING("You need to stay still to pass through [A]!"))
revert_cast(user)
return
if(QDELETED(A))
return
- user.visible_message("[user] briefly opens [A] slightly and passes through!", "You slide through the open crack in [A].")
+ user.visible_message(SPAN_WARNING("[user] briefly opens [A] slightly and passes through!"), SPAN_SINISTER("You slide through the open crack in [A]."))
user.forceMove(A.loc) // Move into the turf of the airlock
diff --git a/code/game/gamemodes/miniantags/morph/spells/reproduce.dm b/code/game/gamemodes/miniantags/morph/spells/reproduce.dm
index d1396646ad7..286c8e67a14 100644
--- a/code/game/gamemodes/miniantags/morph/spells/reproduce.dm
+++ b/code/game/gamemodes/miniantags/morph/spells/reproduce.dm
@@ -15,15 +15,15 @@
return
if(!isturf(user.loc))
if(show_message)
- to_chat(user, "You can only split while on flooring!")
+ to_chat(user, SPAN_WARNING("You can only split while on flooring!"))
return FALSE
/datum/spell/morph_spell/reproduce/cast(list/targets, mob/living/simple_animal/hostile/morph/user)
- to_chat(user, "You prepare to split in two, making you unable to vent crawl!")
+ to_chat(user, SPAN_SINISTER("You prepare to split in two, making you unable to vent crawl!"))
user.ventcrawler = VENTCRAWLER_NONE // Temporarily disable it
var/list/candidates = SSghost_spawns.poll_candidates("Do you want to play as a morph?", ROLE_MORPH, TRUE, poll_time = 10 SECONDS, source = /mob/living/simple_animal/hostile/morph)
if(!length(candidates))
- to_chat(user, "Your body refuses to split at the moment. Try again later.")
+ to_chat(user, SPAN_WARNING("Your body refuses to split at the moment. Try again later."))
revert_cast(user)
user.ventcrawler = initial(user.ventcrawler) // re enable the crawling
return
diff --git a/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm b/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm
index f93943c3a54..2cf0f2a133a 100644
--- a/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm
+++ b/code/game/gamemodes/miniantags/tourist/tourist_arrivals.dm
@@ -100,10 +100,10 @@
// Greets the player, announces objectives!
/datum/event/tourist_arrivals/proc/greeting(mob/living/carbon/human/M)
var/list/greeting = list()
- greeting.Add("You are a tourist!")
+ greeting.Add(SPAN_BOLDNOTICE("You are a tourist!"))
greeting.Add("You were chosen as a lucky winner of Nanotrasen's exclusive raffle! Winning a visit to a nearby Nanotrasen Research Station!")
greeting.Add("Enjoy your exclusive tour and make the most of your time exploring our state-of-the-art facilities!")
- greeting.Add("
Your current objectives are:")
+ greeting.Add(SPAN_NOTICE("
Your current objectives are:"))
greeting.Add(M.mind.prepare_announce_objectives(FALSE))
to_chat(M, chat_box_green(greeting.Join("
")))
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index ce855240606..1ecd3146265 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -64,12 +64,12 @@
SSticker.mode.syndicates -= operative_mind
operative_mind.special_role = null
operative_mind.objective_holder.clear(/datum/objective/nuclear)
- operative_mind.current.create_attack_log("No longer nuclear operative")
+ operative_mind.current.create_attack_log(SPAN_DANGER("No longer nuclear operative"))
operative_mind.current.create_log(CONVERSION_LOG, "No longer nuclear operative")
if(issilicon(operative_mind.current))
- to_chat(operative_mind.current, "You have been turned into a robot! You are no longer a Syndicate operative.")
+ to_chat(operative_mind.current, SPAN_USERDANGER("You have been turned into a robot! You are no longer a Syndicate operative."))
else
- to_chat(operative_mind.current, "You have been brainwashed! You are no longer a Syndicate operative.")
+ to_chat(operative_mind.current, SPAN_USERDANGER("You have been brainwashed! You are no longer a Syndicate operative."))
SSticker.mode.update_synd_icons_removed(operative_mind)
////////////////////////////////////////////////////////////////////////////////////////
@@ -242,10 +242,10 @@
SEND_SOUND(syndicate.current, sound('sound/ambience/antag/ops.ogg'))
var/list/messages = list()
if(you_are)
- messages.Add("You are a [syndicate_name()] agent!")
+ messages.Add(SPAN_NOTICE("You are a [syndicate_name()] agent!"))
messages.Add(syndicate.prepare_announce_objectives(FALSE))
- messages.Add("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Nuclear_Agent)")
+ messages.Add(SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Nuclear_Agent)"))
to_chat(syndicate.current, chat_box_red(messages.Join("
")))
syndicate.current.create_log(MISC_LOG, "[syndicate.current] was made into a nuclear operative")
diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm
index b8715810c69..d141bfe61b1 100644
--- a/code/game/gamemodes/nuclear/nuclearbomb.dm
+++ b/code/game/gamemodes/nuclear/nuclearbomb.dm
@@ -122,28 +122,28 @@ GLOBAL_VAR(bomb_set)
/obj/machinery/nuclearbomb/examine(mob/user)
. = ..()
if(training)
- . += "Alt-Click to reset the bomb."
+ . += SPAN_NOTICE("Alt-Click to reset the bomb.")
if(!panel_open)
- . += "The outer panel is screwed shut."
+ . += SPAN_NOTICE("The outer panel is screwed shut.")
switch(removal_stage)
if(NUKE_INTACT)
- . += "The anchoring bolt covers are welded shut."
+ . += SPAN_NOTICE("The anchoring bolt covers are welded shut.")
if(NUKE_COVER_OFF)
- . += "The cover plate is pried into place."
+ . += SPAN_NOTICE("The cover plate is pried into place.")
if(NUKE_COVER_OPEN)
- . += "The anchoring system sealant is welded shut."
+ . += SPAN_NOTICE("The anchoring system sealant is welded shut.")
if(NUKE_SEALANT_OPEN)
- . += "The bolts are wrenched in place."
+ . += SPAN_NOTICE("The bolts are wrenched in place.")
if(NUKE_UNWRENCHED)
- . += "The device can be pried off its anchors."
+ . += SPAN_NOTICE("The device can be pried off its anchors.")
if(NUKE_CORE_EVERYTHING_FINE)
- . += "The outer panel can be pried open or it can be screwed back on."
+ . += SPAN_NOTICE("The outer panel can be pried open or it can be screwed back on.")
if(NUKE_CORE_PANEL_EXPOSED)
- . += "The outer plate can be fixed by [sheets_to_fix] metal sheets, while the inner core plate is welded shut."
+ . += SPAN_NOTICE("The outer plate can be fixed by [sheets_to_fix] metal sheets, while the inner core plate is welded shut.")
if(NUKE_CORE_PANEL_UNWELDED)
- . += "The inner core plate can be welded shut or it can be pried open."
+ . += SPAN_NOTICE("The inner core plate can be welded shut or it can be pried open.")
if(NUKE_CORE_FULLY_EXPOSED)
- . += "The inner core plate can be fixed by [sheets_to_fix] titanium sheets, [core ? "or the plutonium core can be removed" : "though the plutonium core is missing"]."
+ . += SPAN_NOTICE("The inner core plate can be fixed by [sheets_to_fix] titanium sheets, [core ? "or the plutonium core can be removed" : "though the plutonium core is missing"].")
/obj/machinery/nuclearbomb/update_overlays()
. = ..()
@@ -176,13 +176,13 @@ GLOBAL_VAR(bomb_set)
if(istype(used, /obj/item/disk/nuclear))
if(extended)
if(auth)
- to_chat(user, "There's already a disk in the slot!")
+ to_chat(user, SPAN_WARNING("There's already a disk in the slot!"))
return ITEM_INTERACT_COMPLETE
if((istype(used, /obj/item/disk/nuclear/training) && !training) || (training && !istype(used, /obj/item/disk/nuclear/training)))
- to_chat(user, "[used] doesn't fit into [src]!")
+ to_chat(user, SPAN_WARNING("[used] doesn't fit into [src]!"))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
auth = used
@@ -190,19 +190,19 @@ GLOBAL_VAR(bomb_set)
attack_hand(user)
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need to deploy [src] first.")
+ to_chat(user, SPAN_NOTICE("You need to deploy [src] first."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/stack/sheet/mineral/titanium) && removal_stage == NUKE_CORE_FULLY_EXPOSED)
var/obj/item/stack/S = used
if(S.get_amount() < sheets_to_fix)
- to_chat(user, "You need at least [sheets_to_fix] sheets of titanium to repair [src]'s inner core plate!")
+ to_chat(user, SPAN_WARNING("You need at least [sheets_to_fix] sheets of titanium to repair [src]'s inner core plate!"))
return ITEM_INTERACT_COMPLETE
if(do_after(user, 2 SECONDS, target = src))
if(!loc || !S || S.get_amount() < sheets_to_fix)
return ITEM_INTERACT_COMPLETE
S.use(sheets_to_fix)
- user.visible_message("[user] repairs [src]'s inner core plate.", \
- "You repair [src]'s inner core plate. The radiation is contained.")
+ user.visible_message(SPAN_NOTICE("[user] repairs [src]'s inner core plate."), \
+ SPAN_NOTICE("You repair [src]'s inner core plate. The radiation is contained."))
removal_stage = NUKE_CORE_PANEL_UNWELDED
if(core)
var/datum/component/inherent_radioactivity/radioactivity = core.GetComponent(/datum/component/inherent_radioactivity)
@@ -212,37 +212,37 @@ GLOBAL_VAR(bomb_set)
if(istype(used, /obj/item/stack/sheet/metal) && removal_stage == NUKE_CORE_PANEL_EXPOSED)
var/obj/item/stack/S = used
if(S.get_amount() < sheets_to_fix)
- to_chat(user, "You need at least [sheets_to_fix] sheets of metal to repair [src]'s outer core plate!")
+ to_chat(user, SPAN_WARNING("You need at least [sheets_to_fix] sheets of metal to repair [src]'s outer core plate!"))
else if(do_after(user, 2 SECONDS, target = src))
if(!loc || !S || S.get_amount() < sheets_to_fix)
return ITEM_INTERACT_COMPLETE
S.use(sheets_to_fix)
- user.visible_message("[user] repairs [src]'s outer core plate.", \
- "You repair [src]'s outer core plate.")
+ user.visible_message(SPAN_NOTICE("[user] repairs [src]'s outer core plate."), \
+ SPAN_NOTICE("You repair [src]'s outer core plate."))
removal_stage = NUKE_CORE_EVERYTHING_FINE
update_icon(UPDATE_OVERLAYS)
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/nuke_core/plutonium) && removal_stage == NUKE_CORE_FULLY_EXPOSED)
if(do_after(user, 2 SECONDS, target = src))
if(!user.transfer_item_to(used, src))
- to_chat(user, "The [used] is stuck to your hand!")
+ to_chat(user, SPAN_NOTICE("The [used] is stuck to your hand!"))
return
- user.visible_message("[user] puts [used] back in [src].", "You put [used] back in [src].")
+ user.visible_message(SPAN_NOTICE("[user] puts [used] back in [src]."), SPAN_NOTICE("You put [used] back in [src]."))
core = used
update_icon(UPDATE_OVERLAYS)
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/disk/plantgene))
- to_chat(user, "You try to plant the disk, but despite rooting around, it won't fit! After you branch out to read the instructions, you find out where the problem stems from. You've been bamboo-zled, this isn't a nuclear disk at all!")
+ to_chat(user, SPAN_WARNING("You try to plant the disk, but despite rooting around, it won't fit! After you branch out to read the instructions, you find out where the problem stems from. You've been bamboo-zled, this isn't a nuclear disk at all!"))
return ITEM_INTERACT_COMPLETE
else if(istype(used, /obj/item/disk))
if(used.icon_state == "datadisk4") //A similar green disk icon
- to_chat(user, "You try to slot in the disk, but it won't fit! This isn't the NAD! If only you'd read the label...")
+ to_chat(user, SPAN_WARNING("You try to slot in the disk, but it won't fit! This isn't the NAD! If only you'd read the label..."))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You try to slot in the disk, but it won't fit. This isn't the NAD! It's not even the right colour...")
+ to_chat(user, SPAN_WARNING("You try to slot in the disk, but it won't fit. This isn't the NAD! It's not even the right colour..."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -252,37 +252,37 @@ GLOBAL_VAR(bomb_set)
if(!I.tool_use_check(user, 0))
return
if(removal_stage == NUKE_COVER_OFF)
- user.visible_message("[user] starts forcing open the bolt covers on [src].", "You start forcing open the anchoring bolt covers with [I]...")
+ user.visible_message(SPAN_NOTICE("[user] starts forcing open the bolt covers on [src]."), SPAN_NOTICE("You start forcing open the anchoring bolt covers with [I]..."))
if(!I.use_tool(src, user, 15, volume = I.tool_volume) || removal_stage != NUKE_COVER_OFF)
return
- user.visible_message("[user] forces open the bolt covers on [src].", "You force open the bolt covers.")
+ user.visible_message(SPAN_NOTICE("[user] forces open the bolt covers on [src]."), SPAN_NOTICE("You force open the bolt covers."))
removal_stage = NUKE_COVER_OPEN
if(removal_stage == NUKE_CORE_EVERYTHING_FINE)
if(training)
- to_chat(user, "This is where you'd take off the plate to access the internal core, but this training bomb doesn't have one.")
+ to_chat(user, SPAN_NOTICE("This is where you'd take off the plate to access the internal core, but this training bomb doesn't have one."))
return
- user.visible_message("[user] starts removing [src]'s outer core plate...", "You start removing [src]'s outer core plate...")
+ user.visible_message(SPAN_NOTICE("[user] starts removing [src]'s outer core plate..."), SPAN_NOTICE("You start removing [src]'s outer core plate..."))
if(!I.use_tool(src, user, 4 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_CORE_EVERYTHING_FINE)
return
- user.visible_message("[user] finishes removing [src]'s outer core plate.", "You finish removing [src]'s outer core plate.")
+ user.visible_message(SPAN_NOTICE("[user] finishes removing [src]'s outer core plate."), SPAN_NOTICE("You finish removing [src]'s outer core plate."))
new /obj/item/stack/sheet/metal(loc, 5)
removal_stage = NUKE_CORE_PANEL_EXPOSED
if(removal_stage == NUKE_CORE_PANEL_UNWELDED)
- user.visible_message("[user] starts removing [src]'s inner core plate...", "You start removing [src]'s inner core plate...")
+ user.visible_message(SPAN_NOTICE("[user] starts removing [src]'s inner core plate..."), SPAN_NOTICE("You start removing [src]'s inner core plate..."))
if(!I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_CORE_PANEL_UNWELDED)
return
- user.visible_message("[user] finishes removing [src]'s inner core plate.", "You remove [src]'s inner core plate. You can see the core's green glow!")
+ user.visible_message(SPAN_NOTICE("[user] finishes removing [src]'s inner core plate."), SPAN_NOTICE("You remove [src]'s inner core plate. You can see the core's green glow!"))
removal_stage = NUKE_CORE_FULLY_EXPOSED
new /obj/item/stack/sheet/mineral/titanium(loc, 5)
if(core)
var/datum/component/inherent_radioactivity/radioactivity = core.GetComponent(/datum/component/inherent_radioactivity)
START_PROCESSING(SSradiation, radioactivity)
if(removal_stage == NUKE_UNWRENCHED)
- user.visible_message("[user] begins lifting [src] off of the anchors.", "You begin lifting the device off the anchors...")
+ user.visible_message(SPAN_NOTICE("[user] begins lifting [src] off of the anchors."), SPAN_NOTICE("You begin lifting the device off the anchors..."))
if(!I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) || removal_stage != NUKE_UNWRENCHED)
return
- user.visible_message("[user] crowbars [src] off of the anchors. It can now be moved.", "You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!")
+ user.visible_message(SPAN_NOTICE("[user] crowbars [src] off of the anchors. It can now be moved."), SPAN_NOTICE("You jam the crowbar under the nuclear device and lift it off its anchors. You can now move it!"))
anchored = FALSE
removal_stage = NUKE_MOBILE
update_icon(UPDATE_OVERLAYS)
@@ -295,10 +295,10 @@ GLOBAL_VAR(bomb_set)
. = TRUE
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] begins unwrenching the anchoring bolts on [src].", "You begin unwrenching the anchoring bolts...")
+ user.visible_message(SPAN_NOTICE("[user] begins unwrenching the anchoring bolts on [src]."), SPAN_NOTICE("You begin unwrenching the anchoring bolts..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume) || removal_stage != NUKE_SEALANT_OPEN)
return
- user.visible_message("[user] unwrenches the anchoring bolts on [src].", "You unwrench the anchoring bolts.")
+ user.visible_message(SPAN_NOTICE("[user] unwrenches the anchoring bolts on [src]."), SPAN_NOTICE("You unwrench the anchoring bolts."))
removal_stage = NUKE_UNWRENCHED
update_icon(UPDATE_OVERLAYS)
@@ -317,20 +317,20 @@ GLOBAL_VAR(bomb_set)
if(auth || (istype(I, /obj/item/screwdriver/nuke) && !is_syndicate))
if(!panel_open)
panel_open = TRUE
- to_chat(user, "You unscrew the control panel of [src].")
+ to_chat(user, SPAN_NOTICE("You unscrew the control panel of [src]."))
anchor_stage = removal_stage
removal_stage = core_stage
else
panel_open = FALSE
- to_chat(user, "You screw the control panel of [src] back on.")
+ to_chat(user, SPAN_NOTICE("You screw the control panel of [src] back on."))
core_stage = removal_stage
removal_stage = anchor_stage
else
if(!panel_open)
- to_chat(user, "[src] emits a buzzing noise, the panel staying locked in.")
+ to_chat(user, SPAN_WARNING("[src] emits a buzzing noise, the panel staying locked in."))
if(panel_open)
panel_open = FALSE
- to_chat(user, "You screw the control panel of [src] back on.")
+ to_chat(user, SPAN_NOTICE("You screw the control panel of [src] back on."))
core_stage = removal_stage
removal_stage = anchor_stage
flick(sprite_prefix + "nuclearbombc", src)
@@ -349,38 +349,38 @@ GLOBAL_VAR(bomb_set)
if(!I.tool_use_check(user, 0))
return
if(requires_NAD_to_unbolt)
- to_chat(user, "This device seems to have additional safeguards, and cannot be forcibly moved without using the NAD!")
+ to_chat(user, SPAN_WARNING("This device seems to have additional safeguards, and cannot be forcibly moved without using the NAD!"))
return
if(removal_stage == NUKE_INTACT)
- visible_message("[user] starts cutting loose the anchoring bolt covers on [src].",\
- "You start cutting loose the anchoring bolt covers with [I]...",\
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user] starts cutting loose the anchoring bolt covers on [src]."),\
+ SPAN_NOTICE("You start cutting loose the anchoring bolt covers with [I]..."),\
+ SPAN_WARNING("You hear welding."))
if(!I.use_tool(src, user, 40, 5, volume = I.tool_volume) || removal_stage != NUKE_INTACT)
return
- visible_message("[user] cuts through the bolt covers on [src].",\
- "You cut through the bolt cover.")
+ visible_message(SPAN_NOTICE("[user] cuts through the bolt covers on [src]."),\
+ SPAN_NOTICE("You cut through the bolt cover."))
removal_stage = NUKE_COVER_OFF
if(removal_stage == NUKE_CORE_PANEL_UNWELDED)
- user.visible_message("[user] starts welding [src]'s inner core plate...", "You start welding [src]'s inner core plate...")
+ user.visible_message(SPAN_NOTICE("[user] starts welding [src]'s inner core plate..."), SPAN_NOTICE("You start welding [src]'s inner core plate..."))
if(!I.use_tool(src, user, 4 SECONDS, 5, volume = I.tool_volume) || removal_stage != NUKE_CORE_PANEL_UNWELDED)
return
- user.visible_message("[user] finishes welding [src]'s inner core plate...", "You finish welding [src]'s inner core plate...")
+ user.visible_message(SPAN_NOTICE("[user] finishes welding [src]'s inner core plate..."), SPAN_NOTICE("You finish welding [src]'s inner core plate..."))
removal_stage = NUKE_CORE_PANEL_EXPOSED
else if(removal_stage == NUKE_CORE_PANEL_EXPOSED)
- user.visible_message("[user] starts unwelding [src]'s inner core plate...", "You start unwelding [src]'s inner core plate...")
+ user.visible_message(SPAN_NOTICE("[user] starts unwelding [src]'s inner core plate..."), SPAN_NOTICE("You start unwelding [src]'s inner core plate..."))
if(!I.use_tool(src, user, 4 SECONDS, 5, volume = I.tool_volume) || removal_stage != NUKE_CORE_PANEL_EXPOSED)
return
- user.visible_message("[user] finishes unwelding [src]'s inner core plate...", "You finish unwelding [src]'s inner core plate...")
+ user.visible_message(SPAN_NOTICE("[user] finishes unwelding [src]'s inner core plate..."), SPAN_NOTICE("You finish unwelding [src]'s inner core plate..."))
removal_stage = NUKE_CORE_PANEL_UNWELDED
if(removal_stage == NUKE_COVER_OPEN)
- visible_message("[user] starts cutting apart the anchoring system sealant on [src].",\
- "You start cutting apart the anchoring system's sealant with [I]...",\
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user] starts cutting apart the anchoring system sealant on [src]."),\
+ SPAN_NOTICE("You start cutting apart the anchoring system's sealant with [I]..."),\
+ SPAN_WARNING("You hear welding."))
if(!I.use_tool(src, user, 40, 5, volume = I.tool_volume) || removal_stage != NUKE_COVER_OPEN)
return
- visible_message("[user] cuts apart the anchoring system sealant on [src].",\
- "You cut apart the anchoring system's sealant.")
+ visible_message(SPAN_NOTICE("[user] cuts apart the anchoring system sealant on [src]."),\
+ SPAN_NOTICE("You cut apart the anchoring system's sealant."))
removal_stage = NUKE_SEALANT_OPEN
update_icon(UPDATE_OVERLAYS)
@@ -400,11 +400,11 @@ GLOBAL_VAR(bomb_set)
wires.Interact(user)
return FINISH_ATTACK
if(timing) //removing the core is less risk then cutting wires, and doesnt take long, so we should not let crew do it while the nuke is armed. You can however get to it, without the special screwdriver, if you put the NAD in.
- to_chat(user, "[core] won't budge, metal clamps keep it in!")
+ to_chat(user, SPAN_WARNING("[core] won't budge, metal clamps keep it in!"))
return FINISH_ATTACK
- user.visible_message("[user] starts to pull [core] out of [src]!", "You start to pull [core] out of [src]!")
+ user.visible_message(SPAN_NOTICE("[user] starts to pull [core] out of [src]!"), SPAN_NOTICE("You start to pull [core] out of [src]!"))
if(do_after(user, 5 SECONDS, target = src))
- user.visible_message("[user] pulls [core] out of [src]!", "You pull [core] out of [src]! Might want to put it somewhere safe.")
+ user.visible_message(SPAN_NOTICE("[user] pulls [core] out of [src]!"), SPAN_NOTICE("You pull [core] out of [src]! Might want to put it somewhere safe."))
core.forceMove(loc)
core = null
@@ -460,15 +460,15 @@ GLOBAL_VAR(bomb_set)
if(exploded)
return
if(wires.is_cut(WIRE_NUKE_CONTROL))
- to_chat(usr, "The control panel isn't responding! Something must be wrong with its wiring!")
+ to_chat(usr, SPAN_WARNING("The control panel isn't responding! Something must be wrong with its wiring!"))
return FALSE
switch(action)
if("deploy")
if(removal_stage != NUKE_MOBILE)
anchored = TRUE
- visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring!")
+ visible_message(SPAN_WARNING("With a steely snap, bolts slide out of [src] and anchor it to the flooring!"))
else
- visible_message("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.")
+ visible_message(SPAN_WARNING("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut."))
if(!wires.is_cut(WIRE_NUKE_LIGHT))
flick(sprite_prefix + "nuclearbombc", src)
icon_state = sprite_prefix + "nuclearbomb1"
@@ -515,25 +515,25 @@ GLOBAL_VAR(bomb_set)
if(removal_stage == NUKE_MOBILE)
anchored = FALSE
update_icon(UPDATE_OVERLAYS)
- visible_message("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.")
+ visible_message(SPAN_WARNING("[src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut."))
return
if(!anchored && isinspace())
- to_chat(usr, "There is nothing to anchor to!")
+ to_chat(usr, SPAN_WARNING("There is nothing to anchor to!"))
return FALSE
if(!yes_code && anchored && timing)
- to_chat(usr, "The code is required to unanchor [src] when armed!")
+ to_chat(usr, SPAN_WARNING("The code is required to unanchor [src] when armed!"))
return
anchored = !(anchored)
update_icon(UPDATE_OVERLAYS)
if(anchored)
- visible_message("With a steely snap, bolts slide out of [src] and anchor it to the flooring.")
+ visible_message(SPAN_WARNING("With a steely snap, bolts slide out of [src] and anchor it to the flooring."))
return
requires_NAD_to_unbolt = FALSE
- visible_message("The anchoring bolts slide back into the depths of [src].")
+ visible_message(SPAN_WARNING("The anchoring bolts slide back into the depths of [src]."))
return
if(!yes_code) // All requests below here require both NAD inserted AND code correct
@@ -547,7 +547,7 @@ GLOBAL_VAR(bomb_set)
timeleft = time
if("toggle_safety")
if(wires.is_cut(WIRE_NUKE_SAFETY))
- to_chat(usr, "The safety isn't responding! Something must be wrong with its wiring!")
+ to_chat(usr, SPAN_WARNING("The safety isn't responding! Something must be wrong with its wiring!"))
return FALSE
safety = !(safety)
if(safety)
@@ -558,14 +558,14 @@ GLOBAL_VAR(bomb_set)
GLOB.bomb_set = FALSE
if("toggle_armed")
if(safety)
- to_chat(usr, "The safety is still on.")
+ to_chat(usr, SPAN_NOTICE("The safety is still on."))
return
if(!core && !training)
- to_chat(usr, "[src]'s screen blinks red! There is no plutonium core in [src]!")
+ to_chat(usr, SPAN_DANGER("[src]'s screen blinks red! There is no plutonium core in [src]!"))
return
if(!timing)
if(wires.is_cut(WIRE_NUKE_DETONATOR))
- to_chat(usr, "[src] isn't arming! Something must be wrong with its wiring!")
+ to_chat(usr, SPAN_WARNING("[src] isn't arming! Something must be wrong with its wiring!"))
return FALSE
timing = TRUE
if(!wires.is_cut(WIRE_NUKE_LIGHT))
@@ -577,12 +577,12 @@ GLOBAL_VAR(bomb_set)
SSsecurity_level.set_level(SEC_LEVEL_DELTA)
GLOB.bomb_set = TRUE // There can still be issues with this resetting when there are multiple bombs. Not a big deal though for Nuke
if(SSsecurity_level.get_current_level_as_number() == SEC_LEVEL_EPSILON)
- radio.autosay("The Nuclear Bomb has been armed, retreat from the station immediately!", name, "Special Ops")
+ radio.autosay(SPAN_REALLYBIG("The Nuclear Bomb has been armed, retreat from the station immediately!"), name, "Special Ops")
else if(!training)
GLOB.bomb_set = TRUE
else
if(wires.is_cut(WIRE_NUKE_DISARM))
- to_chat(usr, "[src] isn't disarming! Something must be wrong with its wiring!")
+ to_chat(usr, SPAN_WARNING("[src] isn't disarming! Something must be wrong with its wiring!"))
return FALSE
timing = FALSE
if(!is_syndicate && !training)
@@ -712,7 +712,7 @@ GLOBAL_VAR(bomb_set)
/obj/item/disk/nuclear/examine(mob/user)
. = ..()
- . += "You should keep this safe..."
+ . += SPAN_WARNING("You should keep this safe...")
/obj/item/disk/nuclear/examine_more(mob/user)
. = ..()
@@ -728,7 +728,7 @@ GLOBAL_VAR(bomb_set)
/obj/item/disk/nuclear/unrestricted/examine(mob/user)
. = ..()
- . += "This disk has had its safeties removed. It will not teleport back to the station if taken too far away."
+ . += SPAN_WARNING("This disk has had its safeties removed. It will not teleport back to the station if taken too far away.")
/obj/item/disk/nuclear/New()
..()
@@ -746,7 +746,7 @@ GLOBAL_VAR(bomb_set)
if(!check_disk_loc())
var/holder = get(src, /mob)
if(holder)
- to_chat(holder, "You can't help but feel that you just lost something back there...")
+ to_chat(holder, SPAN_DANGER("You can't help but feel that you just lost something back there..."))
qdel(src)
//station disk is allowed on the station level, escape shuttle/pods, CC, and syndicate shuttles/base, reset otherwise
@@ -830,20 +830,20 @@ GLOBAL_VAR(bomb_set)
/obj/item/nad_scanner/examine(mob/user)
. = ..()
if(decrypted)
- . += "It's burnt out!"
+ . += SPAN_WARNING("It's burnt out!")
/obj/item/nad_scanner/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(!istype(used, /obj/item/disk/nuclear))
return ..()
if(disky)
- to_chat(user, "There is already something in [src]!")
+ to_chat(user, SPAN_WARNING("There is already something in [src]!"))
return ITEM_INTERACT_COMPLETE
if(used.flags & NODROP || !user.transfer_item_to(used, src))
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You insert [used] into [src].")
+ to_chat(user, SPAN_NOTICE("You insert [used] into [src]."))
disky = used
playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE)
update_icon(UPDATE_ICON_STATE)
@@ -861,14 +861,14 @@ GLOBAL_VAR(bomb_set)
/obj/item/nad_scanner/activate_self(mob/user)
if(world.time < 45 MINUTES) // 45 minutes of no nuke
- to_chat(user, "[src] is still calibrating. Please wait another [round((27000 - world.time) / 600)] minutes before trying again.")
+ to_chat(user, SPAN_WARNING("[src] is still calibrating. Please wait another [round((27000 - world.time) / 600)] minutes before trying again."))
return ..()
scan_nad(user)
return ..()
/obj/item/nad_scanner/AltClick(mob/user, modifiers)
if(scanning)
- to_chat(user, "The disk is currently being scanned!")
+ to_chat(user, SPAN_WARNING("The disk is currently being scanned!"))
return ..()
eject_nad(user)
return ..()
@@ -878,26 +878,26 @@ GLOBAL_VAR(bomb_set)
return
var/mob/M = user
M.put_in_hands(disky)
- to_chat(user, "You remove [disky] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [disky] from [src]."))
disky = null
update_icon(UPDATE_ICON_STATE)
playsound(src, 'sound/machines/terminal_eject.ogg', 50, TRUE)
/obj/item/nad_scanner/proc/scan_nad(mob/user)
if(!disky)
- to_chat(user, "There is no disk inserted!")
+ to_chat(user, SPAN_WARNING("There is no disk inserted!"))
return
if(decrypted)
- to_chat(user, "This device is burnt out!")
+ to_chat(user, SPAN_WARNING("This device is burnt out!"))
return
if(scanning)
- to_chat(user, "You are already scanning a disk!")
+ to_chat(user, SPAN_WARNING("You are already scanning a disk!"))
return
scanning = TRUE
- to_chat(user, "You start the decryption process.")
+ to_chat(user, SPAN_WARNING("You start the decryption process."))
update_icon(UPDATE_ICON_STATE)
if(!do_after(user, 10 SECONDS, needhand = FALSE, target = src, allow_moving = TRUE, hidden = TRUE))
- to_chat(user, "You stop the decryption process.")
+ to_chat(user, SPAN_WARNING("You stop the decryption process."))
return
if(istype(disky, /obj/item/disk/nuclear/training))
atom_say("Incompatible disk detected!")
@@ -953,7 +953,7 @@ GLOBAL_VAR(bomb_set)
/obj/machinery/nuclearbomb/training/AltClick(mob/user)
. = ..()
- to_chat(user, "You hit the reset button on [src].")
+ to_chat(user, SPAN_NOTICE("You hit the reset button on [src]."))
training_reset()
/obj/machinery/nuclearbomb/training/proc/training_detonation()
@@ -977,7 +977,7 @@ GLOBAL_VAR(bomb_set)
/obj/item/disk/nuclear/training/examine(mob/user)
. = ..()
- . += "For training purposes, of course."
+ . += SPAN_WARNING("For training purposes, of course.")
#undef NUKE_INTACT
#undef NUKE_COVER_OFF
diff --git a/code/game/gamemodes/nuclear/pinpointer.dm b/code/game/gamemodes/nuclear/pinpointer.dm
index c879cf66cff..8dd45dfcee3 100644
--- a/code/game/gamemodes/nuclear/pinpointer.dm
+++ b/code/game/gamemodes/nuclear/pinpointer.dm
@@ -64,7 +64,7 @@
/obj/item/pinpointer/proc/cycle(mob/user)
if(cur_index > length(modes))
mode = MODE_OFF
- to_chat(user, "You deactivate [src].")
+ to_chat(user, SPAN_NOTICE("You deactivate [src]."))
STOP_PROCESSING(SSfastprocess, src)
icon_state = icon_off
cur_index = 1
@@ -73,7 +73,7 @@
START_PROCESSING(SSfastprocess, src)
mode = modes[cur_index++]
activate_mode(mode, user)
- to_chat(user, "[get_mode_text(mode)]")
+ to_chat(user, SPAN_NOTICE("[get_mode_text(mode)]"))
/obj/item/pinpointer/proc/get_mode_text(mode)
switch(mode)
@@ -181,7 +181,7 @@
return
if(modelocked)
- to_chat(user, "[src] is locked. It can only track one specific target.")
+ to_chat(user, SPAN_WARNING("[src] is locked. It can only track one specific target."))
return
target = null
@@ -202,7 +202,7 @@
location = locate(locationx,locationy,Z.z)
- to_chat(user, "You set the pinpointer to locate [locationx],[locationy]")
+ to_chat(user, SPAN_NOTICE("You set the pinpointer to locate [locationx],[locationy]"))
toggle_on()
@@ -245,13 +245,13 @@
else
target = backup
if(target)
- to_chat(user, "Unable to find [targetitem] in this sector, falling back to off-sector tracking.")
+ to_chat(user, SPAN_NOTICE("Unable to find [targetitem] in this sector, falling back to off-sector tracking."))
if(!target)
- to_chat(user, "Failed to locate [targetitem]!")
+ to_chat(user, SPAN_WARNING("Failed to locate [targetitem]!"))
return
- to_chat(user, "You set the pinpointer to locate [targetitem].")
+ to_chat(user, SPAN_NOTICE("You set the pinpointer to locate [targetitem]."))
if("DNA")
var/DNAstring = input("Input DNA string to search for." , "Please Enter String." , "")
@@ -313,7 +313,7 @@
mode = MODE_DISK
modes = list(MODE_DISK, MODE_NUKE)
playsound(loc, 'sound/machines/twobeep.ogg', 50, 1)
- visible_message("Authentication Disk Locator mode actived.")
+ visible_message(SPAN_NOTICE("Authentication Disk Locator mode actived."))
return
if(!home)
home = SSshuttle.getShuttle("syndicate")
@@ -413,11 +413,11 @@
if(!D)
return
if((D.linked_pinpointer_UID && D.linked_pinpointer_UID != UID()) || linked_gun_UID)
- visible_message("The pinpointer pings to indicate either it or the gun is already linked.", "You hear a pinpointer pinging.")
+ visible_message(SPAN_NOTICE("The pinpointer pings to indicate either it or the gun is already linked."), SPAN_NOTICE("You hear a pinpointer pinging."))
return
D.link_pinpointer(UID())
linked_gun_UID = gun_UID
- visible_message("The pinpointer pings twice to indicate a successful link.", "You hear a pinpointer pinging twice.")
+ visible_message(SPAN_NOTICE("The pinpointer pings twice to indicate a successful link."), SPAN_NOTICE("You hear a pinpointer pinging twice."))
/obj/item/pinpointer/crew/proc/start_tracking()
if(!linked_gun_UID)
@@ -429,12 +429,12 @@
target = locateUID(target_UID)
target_set = TRUE
mode = PINPOINTER_MODE_DET
- visible_message("The pinpointer flickers as it begins tracking a target relayed from a detective's revolver.", "You hear a pinpointer flickering.")
+ visible_message(SPAN_NOTICE("The pinpointer flickers as it begins tracking a target relayed from a detective's revolver."), SPAN_NOTICE("You hear a pinpointer flickering."))
addtimer(CALLBACK(src, PROC_REF(stop_tracking)), 1 MINUTES, TIMER_UNIQUE)
START_PROCESSING(SSfastprocess, src)
/obj/item/pinpointer/crew/proc/stop_tracking()
- visible_message("The pinpointer powers down, no longer receiving signals from a detective's revolver.", "You hear a pinpointer powering down.")
+ visible_message(SPAN_NOTICE("The pinpointer powers down, no longer receiving signals from a detective's revolver."), SPAN_NOTICE("You hear a pinpointer powering down."))
target = null
target_set = FALSE
mode = MODE_OFF
@@ -489,7 +489,7 @@
name_counts[name] = 1
if(!length(names))
- user.visible_message("[user]'s pinpointer fails to detect a signal.", "Your pinpointer fails to detect a signal.")
+ user.visible_message(SPAN_NOTICE("[user]'s pinpointer fails to detect a signal."), SPAN_NOTICE("Your pinpointer fails to detect a signal."))
return
var/A = tgui_input_list(user, "Person to track", "Pinpoint", names)
@@ -498,7 +498,7 @@
target = names[A]
target_set = TRUE
- user.visible_message("[user] activates [user.p_their()] pinpointer.", "You activate your pinpointer.")
+ user.visible_message(SPAN_NOTICE("[user] activates [user.p_their()] pinpointer."), SPAN_NOTICE("You activate your pinpointer."))
/obj/item/pinpointer/crew/centcom
name = "centcom pinpointer"
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 79650f1bca0..d4d0be5b836 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -211,7 +211,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
if(!where)
continue
- to_chat(kit_receiver, "
In your [where] is a box containing items and instructions to help you with your objective.
")
+ to_chat(kit_receiver, "
[SPAN_NOTICE("In your [where] is a box containing items and instructions to help you with your objective.")]
")
for(var/datum/mind/objective_owner as anything in objective_owners)
if(kit_receiver_mind == objective_owner || !objective_owner.current)
continue
@@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
if(!failed_receiver)
continue
- to_chat(failed_receiver, "Unfortunately, you weren't able to get an objective kit. This is very bad and you should adminhelp immediately (press F1).")
+ to_chat(failed_receiver, SPAN_USERDANGER("Unfortunately, you weren't able to get an objective kit. This is very bad and you should adminhelp immediately (press F1)."))
message_admins("[ADMIN_LOOKUPFLW(failed_receiver)] Failed to spawn with their [item_path] objective kit.")
/**
@@ -236,7 +236,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
/datum/objective/proc/on_target_cryo()
var/list/owners = get_owners()
for(var/datum/mind/M in owners)
- to_chat(M.current, "
You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")
+ to_chat(M.current, "
[SPAN_USERDANGER("You get the feeling your target is no longer within reach. Time for Plan [pick("A","B","C","D","X","Y","Z")]. Objectives updated!")]")
SEND_SOUND(M.current, sound('sound/ambience/alarm4.ogg'))
target = null
INVOKE_ASYNC(src, PROC_REF(post_target_cryo), owners)
@@ -520,7 +520,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
if(owner?.current)
SEND_SOUND(owner.current, sound('sound/ambience/alarm4.ogg'))
owner.remove_antag_datum(/datum/antagonist/mindslave)
- to_chat(owner.current, "
You notice that your master has entered cryogenic storage, and revert to your normal self.")
+ to_chat(owner.current, "
[SPAN_USERDANGER("You notice that your master has entered cryogenic storage, and revert to your normal self.")]")
log_admin("[key_name(owner.current)]'s mindslave master has cryo'd, and is no longer a mindslave.")
message_admins("[key_name_admin(owner.current)]'s mindslave master has cryo'd, and is no longer a mindslave.") //Since they were on antag hud earlier, this feels important to log
qdel(src)
@@ -888,7 +888,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
if(!where)
continue
- to_chat(kit_receiver, "
In your [where] is a box containing items and instructions to help you with your steal objective.
")
+ to_chat(kit_receiver, "
[SPAN_NOTICE("In your [where] is a box containing items and instructions to help you with your steal objective.")]
")
for(var/datum/mind/objective_owner as anything in objective_owners)
if(kit_receiver_mind == objective_owner || !objective_owner.current)
continue
@@ -904,7 +904,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
if(!failed_receiver)
continue
- to_chat(failed_receiver, "Unfortunately, you weren't able to get a stealing kit. This is very bad and you should adminhelp immediately (press F1).")
+ to_chat(failed_receiver, SPAN_USERDANGER("Unfortunately, you weren't able to get a stealing kit. This is very bad and you should adminhelp immediately (press F1)."))
message_admins("[ADMIN_LOOKUPFLW(failed_receiver)] Failed to spawn with their [item_path] theft kit.")
/datum/objective/absorb
@@ -1162,7 +1162,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
var/list/owners = get_owners()
for(var/datum/mind/M in owners)
- to_chat(M.current, "
We sense the target console has been compromised. New vulnerability located.")
+ to_chat(M.current, "
[SPAN_USERDANGER("We sense the target console has been compromised. New vulnerability located.")]")
SEND_SOUND(M.current, sound('sound/ambience/alarm4.ogg'))
target_console = null
@@ -1298,7 +1298,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
// This is called from computer.dm when the do_after of downloading is completed
/datum/objective/download/proc/complete_objective()
for(var/datum/mind/M in get_owners())
- to_chat(M.current, "
*gzzt* Authentication success! Welcome, [M.current.name]. Thank you for- for- for-...")
+ to_chat(M.current, "
[SPAN_WARNING("*gzzt* Authentication success! Welcome, [M.current.name]. Thank you for- for- for-...")]")
var/datum/antagonist/mindflayer/flayer_datum = M.has_antag_datum(/datum/antagonist/mindflayer)
diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm
index 46ed0c4f3fe..24292b83a69 100644
--- a/code/game/gamemodes/revolution/revolution.dm
+++ b/code/game/gamemodes/revolution/revolution.dm
@@ -114,8 +114,8 @@
if(beingborged)
revolutionary.visible_message(
- "The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it.",
- "The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]")
+ SPAN_USERDANGER("The frame beeps contentedly, purging the hostile memory engram from the MMI before initalizing it."),
+ SPAN_USERDANGER("The frame's firmware detects and deletes your neural reprogramming! You remember nothing[remove_head ? "." : " but the name of the one who flashed you."]"))
message_admins("[key_name_admin(rev_mind.current)] [ADMIN_QUE(rev_mind.current,"?")] ([ADMIN_FLW(rev_mind.current,"FLW")]) has been borged while being a [remove_head ? "leader" : " member"] of the revolution.")
else
var/class = activate_protection ? "biggerdanger" : "userdanger" // biggerdanger only shows up when protection happens (usually in a red-flood of combat text)
@@ -134,10 +134,10 @@
/datum/game_mode/revolution/declare_completion()
if(finished == REV_VICTORY)
SSticker.mode_result = "revolution win - heads killed"
- to_chat(world, "The heads of staff were killed or exiled! The revolutionaries win!")
+ to_chat(world, SPAN_REDTEXT("The heads of staff were killed or exiled! The revolutionaries win!"))
else if(finished == STATION_VICTORY)
SSticker.mode_result = "revolution loss - rev heads killed"
- to_chat(world, "The heads of staff managed to stop the revolution!")
+ to_chat(world, SPAN_REDTEXT("The heads of staff managed to stop the revolution!"))
..()
return TRUE
@@ -166,7 +166,7 @@
for(var/datum/mind/head in heads)
var/target = (head in targets)
if(target)
- text += "Target"
+ text += SPAN_BOLDANNOUNCEIC("Target")
text += printplayer(head, 1)
text += "
"
return text.Join("")
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index a57558adeef..c7064e98534 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -81,7 +81,7 @@
/datum/game_mode/proc/auto_declare_completion_traitor()
if(length(traitors))
- var/list/text = list("
The traitors were:")
+ var/list/text = list("
[SPAN_BOLD("The traitors were:")]")
for(var/datum/mind/traitor in traitors)
var/traitorwin = TRUE
text += printplayer(traitor)
@@ -150,7 +150,7 @@
var/phrases = jointext(GLOB.syndicate_code_phrase, ", ")
var/responses = jointext(GLOB.syndicate_code_response, ", ")
- text += "
The code phrases were: [phrases]
\
- The code responses were: [responses]"
+ text += "
The code phrases were: [SPAN_DANGER("[phrases]")]
\
+ The code responses were: [SPAN_DANGER("[responses]")]"
return text.Join("")
diff --git a/code/game/gamemodes/vampire/vampire_gamemode.dm b/code/game/gamemodes/vampire/vampire_gamemode.dm
index 753f066870a..887c66d8f98 100644
--- a/code/game/gamemodes/vampire/vampire_gamemode.dm
+++ b/code/game/gamemodes/vampire/vampire_gamemode.dm
@@ -50,22 +50,22 @@
if(!length(vampires))
return
- var/list/text = list("
The vampires were:")
+ var/list/text = list("
[SPAN_BOLD("The vampires were:")]")
for(var/datum/mind/vampire in vampires)
var/traitorwin = TRUE
var/datum/antagonist/vampire/V = vampire.has_antag_datum(/datum/antagonist/vampire)
text += "
[vampire.get_display_key()] was [vampire.name] and "
if(vampire.current)
if(vampire.current.stat == DEAD)
- text += "died!"
+ text += SPAN_BOLD("died!")
else
- text += "survived!"
+ text += SPAN_BOLD("survived!")
if(V.subclass)
text += " as a [V.subclass.name]!"
else
text += "!"
else
- text += "had [vampire.p_their()] body destroyed!"
+ text += SPAN_BOLD("had [vampire.p_their()] body destroyed!")
var/list/all_objectives = vampire.get_all_objectives(include_team = FALSE)
@@ -103,14 +103,14 @@
text += "
[mind.get_display_key()] was [mind.name] and"
if(mind.current)
if(mind.current.stat == DEAD)
- text += "died!"
+ text += SPAN_BOLD("died!")
else
- text += "survived!"
+ text += SPAN_BOLD("survived!")
if(mind.current.real_name != mind.name)
text += " as [mind.current.real_name]!"
else
text += "!"
else
- text += "had their body destroyed!"
+ text += SPAN_BOLD("had their body destroyed!")
return text.Join("")
diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm
index 375db16bff9..f2cb2358929 100644
--- a/code/game/gamemodes/wizard/artefact.dm
+++ b/code/game/gamemodes/wizard/artefact.dm
@@ -44,7 +44,7 @@
if(!length(candidates))
used = FALSE
- to_chat(H, "Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later.")
+ to_chat(H, SPAN_WARNING("Unable to reach your apprentice! You can either attack the spellbook with the contract to refund your points, or wait and try again later."))
return
new /obj/effect/particle_effect/smoke(get_turf(H))
@@ -64,7 +64,7 @@
return
if(used)
- to_chat(user, "You've already summoned an apprentice or you are in process of summoning one.")
+ to_chat(user, SPAN_WARNING("You've already summoned an apprentice or you are in process of summoning one."))
return
ui_interact(user)
@@ -93,9 +93,9 @@
if(charged)
new /obj/effect/rend(get_turf(user), spawn_type, spawn_amt, rend_desc)
charged = 0
- user.visible_message("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!")
+ user.visible_message(SPAN_USERDANGER("[src] hums with power as [user] deals a blow to [activate_descriptor] itself!"))
else
- to_chat(user, "The unearthly energies that powered the blade are now dormant.")
+ to_chat(user, SPAN_DANGER("The unearthly energies that powered the blade are now dormant."))
/obj/effect/rend
name = "tear in the fabric of reality"
@@ -129,7 +129,7 @@
/obj/effect/rend/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/nullrod))
- user.visible_message("[user] seals \the [src] with \the [used].")
+ user.visible_message(SPAN_DANGER("[user] seals \the [src] with \the [used]."))
qdel(src)
return ITEM_INTERACT_COMPLETE
@@ -191,7 +191,7 @@
var/mob/holder = get(loc, /mob)
if(current_owner && current_owner != holder)
- to_chat(current_owner, "Your otherworldly vision fades...")
+ to_chat(current_owner, SPAN_NOTICE("Your otherworldly vision fades..."))
REMOVE_TRAIT(current_owner, TRAIT_XRAY_VISION, SCRYING_ORB)
REMOVE_TRAIT(current_owner, TRAIT_NIGHT_VISION, SCRYING_ORB)
@@ -203,7 +203,7 @@
if(!current_owner && holder)
current_owner = holder
- to_chat(current_owner, "You can see...everything!")
+ to_chat(current_owner, SPAN_NOTICE("You can see...everything!"))
ADD_TRAIT(current_owner, TRAIT_XRAY_VISION, SCRYING_ORB)
ADD_TRAIT(current_owner, TRAIT_NIGHT_VISION, SCRYING_ORB)
@@ -215,18 +215,18 @@
return
in_use = TRUE
ADD_TRAIT(user, SCRYING, SCRYING_ORB)
- user.visible_message("[user] stares into [src], [user.p_their()] eyes glazing over.",
- "You stare into [src], you can see the entire universe!")
+ user.visible_message(SPAN_NOTICE("[user] stares into [src], [user.p_their()] eyes glazing over."),
+ SPAN_DANGER("You stare into [src], you can see the entire universe!"))
ghost = user.ghostize(ghost_name = "Magic Spirit of [user.name]", ghost_color = COLOR_BLUE)
while(!QDELETED(user))
if(user.key || QDELETED(src))
- user.visible_message("[user] blinks, returning to the world around [user.p_them()].",
- "You look away from [src].")
+ user.visible_message(SPAN_NOTICE("[user] blinks, returning to the world around [user.p_them()]."),
+ SPAN_DANGER("You look away from [src]."))
break
if(user.get_active_hand() != src)
user.grab_ghost()
- user.visible_message("[user]'s focus is forced away from [src].",
- "Your vision is ripped away from [src].")
+ user.visible_message(SPAN_NOTICE("[user]'s focus is forced away from [src]."),
+ SPAN_USERDANGER("Your vision is ripped away from [src]."))
break
sleep(5)
in_use = FALSE
@@ -284,13 +284,13 @@ GLOBAL_LIST_EMPTY(multiverse)
/obj/item/multisword/attack__legacy__attackchain(mob/living/M as mob, mob/living/user as mob) //to prevent accidental friendly fire or out and out grief.
if(M.real_name == user.real_name)
- to_chat(user, "[src] detects benevolent energies in your target and redirects your attack!")
+ to_chat(user, SPAN_WARNING("[src] detects benevolent energies in your target and redirects your attack!"))
return
..()
/obj/item/multisword/attack_self__legacy__attackchain(mob/user)
if(user.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE)
- to_chat(user, "You know better than to touch your teacher's stuff.")
+ to_chat(user, SPAN_WARNING("You know better than to touch your teacher's stuff."))
return
if(cooldown < world.time)
var/faction_check = 0
@@ -305,7 +305,7 @@ GLOBAL_LIST_EMPTY(multiverse)
to_chat(user, "You bind the sword to yourself. You can now use it to summon help.")
if(!usr.mind.special_role)
if(prob(probability_evil))
- to_chat(user, "With your new found power you could easily conquer the station!")
+ to_chat(user, SPAN_WARNING("With your new found power you could easily conquer the station!"))
var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone
hijack_objective.explanation_text = "Ensure only [usr.real_name] and [usr.p_their()] copies are on the shuttle!"
@@ -317,7 +317,7 @@ GLOBAL_LIST_EMPTY(multiverse)
usr.mind.special_role = "[usr.real_name] Prime"
evil = TRUE
else
- to_chat(user, "With your new found power you could easily defend the station!")
+ to_chat(user, SPAN_WARNING("With your new found power you could easily defend the station!"))
var/datum/objective/survive/new_objective = new /datum/objective/survive
new_objective.explanation_text = "Survive, and help defend the innocent from the mobs of multiverse clones."
@@ -339,13 +339,13 @@ GLOBAL_LIST_EMPTY(multiverse)
if(length(candidates))
var/mob/C = pick(candidates)
spawn_copy(C.client, get_turf(user.loc), user)
- to_chat(user, "The sword flashes, and you find yourself face to face with...you!")
+ to_chat(user, SPAN_WARNING("The sword flashes, and you find yourself face to face with...you!"))
dust_if_respawnable(C)
else
to_chat(user, "You fail to summon any copies of yourself. Perhaps you should try again in a bit.")
else
- to_chat(user, "[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies.")
+ to_chat(user, SPAN_WARNING("[src] is recharging! Keep in mind it shares a cooldown with the swords wielded by your copies."))
/obj/item/multisword/proc/spawn_copy(client/C, turf/T, mob/user)
@@ -689,21 +689,21 @@ GLOBAL_LIST_EMPTY(multiverse)
return ..()
if(victim.stat != DEAD)
- to_chat(necromancer, "This artifact can only affect the dead!")
+ to_chat(necromancer, SPAN_WARNING("This artifact can only affect the dead!"))
return
if((!victim.mind || !victim.client) && !victim.grab_ghost())
- to_chat(necromancer, "There is no soul connected to this body...")
+ to_chat(necromancer, SPAN_WARNING("There is no soul connected to this body..."))
return
if(victim.mind.has_antag_datum(/datum/antagonist/mindslave/necromancy/plague_zombie))
- to_chat(necromancer, "This one is already under another artifact's influence!")
+ to_chat(necromancer, SPAN_WARNING("This one is already under another artifact's influence!"))
return
if(!check_skeletons()) //If above the cap, there is a cooldown on additional skeletons
- to_chat(necromancer, "The amount of skeleton thralls risen by [src] strains its power.")
+ to_chat(necromancer, SPAN_NOTICE("The amount of skeleton thralls risen by [src] strains its power."))
if(!COOLDOWN_FINISHED(src, additional_thralls_cooldown))
- to_chat(necromancer, "[src] cannot rise another thrall for [DisplayTimeText(COOLDOWN_TIMELEFT(src, additional_thralls_cooldown))].")
+ to_chat(necromancer, SPAN_WARNING("[src] cannot rise another thrall for [DisplayTimeText(COOLDOWN_TIMELEFT(src, additional_thralls_cooldown))]."))
return
COOLDOWN_START(src, additional_thralls_cooldown, above_cap_cooldown)
@@ -712,7 +712,7 @@ GLOBAL_LIST_EMPTY(multiverse)
///Mindslave and equip the victim
/obj/item/necromantic_stone/proc/convert_victim(mob/living/carbon/human/victim, mob/living/carbon/human/necromancer)
active_skeletons |= victim
- var/greet_text = "You have been revived by [necromancer.real_name]!\n[necromancer.p_theyre(TRUE)] your master now, assist them even if it costs you your new life!"
+ var/greet_text = SPAN_USERDANGER("You have been revived by [necromancer.real_name]!\n[necromancer.p_theyre(TRUE)] your master now, assist them even if it costs you your new life!")
if(!victim.mind.has_antag_datum(/datum/antagonist/mindslave/necromancy))
victim.mind.add_antag_datum(new /datum/antagonist/mindslave/necromancy(necromancer.mind, greet_text))
@@ -720,7 +720,7 @@ GLOBAL_LIST_EMPTY(multiverse)
equip_heresy(victim)//oh god why
return
- victim.visible_message("A massive amount of flesh sloughs off [victim] and a skeleton rises up!")
+ victim.visible_message(SPAN_WARNING("A massive amount of flesh sloughs off [victim] and a skeleton rises up!"))
equip_skeleton(victim)
///Clean the list of active skeletons and check if more can be summoned easily
@@ -856,19 +856,19 @@ GLOBAL_LIST_EMPTY(multiverse)
return ..()
if(victim.stat != DEAD)
- to_chat(necromancer, "This artifact can only affect the dead!")
+ to_chat(necromancer, SPAN_WARNING("This artifact can only affect the dead!"))
return
if(ismachineperson(victim))
- to_chat(necromancer, "This one isn't vulnerable to this form of plague magic.")
+ to_chat(necromancer, SPAN_WARNING("This one isn't vulnerable to this form of plague magic."))
return
if((!victim.mind || !victim.client) && !victim.grab_ghost())
- to_chat(necromancer, "There is no soul connected to this body...")
+ to_chat(necromancer, SPAN_WARNING("There is no soul connected to this body..."))
return
if(victim.mind.has_antag_datum(/datum/antagonist/mindslave/necromancy))
- to_chat(necromancer, "This one is already under the artifact's influence! Give it time.")
+ to_chat(necromancer, SPAN_WARNING("This one is already under the artifact's influence! Give it time."))
return
raise_victim(victim, necromancer)
@@ -879,7 +879,7 @@ GLOBAL_LIST_EMPTY(multiverse)
var/datum/disease/chosen_plague = pick_disease() //what disease to give them
victim.grab_ghost() // to attempt to hold their ghost still while we do our thing
- victim.visible_message("[necromancer] places a vile rune upon [victim]'s lifeless forehead. The rune adheres to the flesh, and [victim]'s body rots and decays at unnatural speeds, before rising into a horrendous undead creature!")
+ victim.visible_message(SPAN_DANGER("[necromancer] places a vile rune upon [victim]'s lifeless forehead. The rune adheres to the flesh, and [victim]'s body rots and decays at unnatural speeds, before rising into a horrendous undead creature!"))
var/static/list/plague_traits = list(TRAIT_NON_INFECTIOUS_ZOMBIE, TRAIT_PLAGUE_ZOMBIE)
for(var/trait in plague_traits)
@@ -973,7 +973,7 @@ GLOBAL_LIST_EMPTY(multiverse)
var/choice = show_radial_menu(user, src, options, require_near = TRUE)
if(!choice || user.stat || !in_range(user, src) || QDELETED(src))
return
- to_chat(user, "The [name] fills to brimming with [options_to_descriptions[choice]].")
+ to_chat(user, SPAN_NOTICE("The [name] fills to brimming with [options_to_descriptions[choice]]."))
magic_fill(options_to_reagent[choice])
/obj/item/reagent_containers/drinks/everfull/proc/magic_fill(reagent_choice)
diff --git a/code/game/gamemodes/wizard/godhand.dm b/code/game/gamemodes/wizard/godhand.dm
index cd569b8c771..19bbb178690 100644
--- a/code/game/gamemodes/wizard/godhand.dm
+++ b/code/game/gamemodes/wizard/godhand.dm
@@ -27,20 +27,20 @@
return ..()
/obj/item/melee/touch_attack/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in magic fire."
+ return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in magic fire.")
/obj/item/melee/touch_attack/attack(mob/living/target, mob/living/carbon/human/user)
if(..() || !iscarbon(user)) //Look ma, no hands
return FINISH_ATTACK
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
- to_chat(user, "You can't reach out!")
+ to_chat(user, SPAN_WARNING("You can't reach out!"))
return FINISH_ATTACK
/obj/item/melee/touch_attack/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
var/mob/mob_victim = target
if(istype(mob_victim) && mob_victim.can_block_magic(attached_spell.antimagic_flags))
- to_chat(user, "[mob_victim] absorbs your spell!")
+ to_chat(user, SPAN_DANGER("[mob_victim] absorbs your spell!"))
blocked_by_antimagic = TRUE
if(attached_spell && attached_spell.cooldown_handler)
attached_spell.cooldown_handler.start_recharge(attached_spell.cooldown_handler.recharge_duration * 0.5)
@@ -133,7 +133,7 @@
return
if(iswizard(target))
- to_chat(user, "The spell has no effect on [target].")
+ to_chat(user, SPAN_WARNING("The spell has no effect on [target]."))
return
var/datum/effect_system/smoke_spread/s = new
diff --git a/code/game/gamemodes/wizard/magic_tarot.dm b/code/game/gamemodes/wizard/magic_tarot.dm
index faa875eccdf..a084706d0b3 100644
--- a/code/game/gamemodes/wizard/magic_tarot.dm
+++ b/code/game/gamemodes/wizard/magic_tarot.dm
@@ -18,28 +18,28 @@
/obj/item/tarot_generator/attack_self__legacy__attackchain(mob/user)
if(!COOLDOWN_FINISHED(src, card_cooldown))
- to_chat(user, "[src]'s magic is still recovering from the last card, wait [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] more second\s!")
+ to_chat(user, SPAN_WARNING("[src]'s magic is still recovering from the last card, wait [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] more second\s!"))
return
if(length(our_card_list) >= maximum_cards)
- to_chat(user, "[src]'s magic can only support up to [maximum_cards] in the world at once, use or destroy some!")
+ to_chat(user, SPAN_WARNING("[src]'s magic can only support up to [maximum_cards] in the world at once, use or destroy some!"))
return
var/obj/item/magic_tarot_card/MTC = new /obj/item/magic_tarot_card(get_turf(src), src)
our_card_list += MTC
user.put_in_hands(MTC)
- to_chat(user, "You draw [MTC.name]... [MTC.card_desc]") //No period on purpose.
+ to_chat(user, SPAN_HIEROPHANT("You draw [MTC.name]... [MTC.card_desc]")) //No period on purpose.
COOLDOWN_START(src, card_cooldown, our_card_cooldown_time)
/obj/item/tarot_generator/examine(mob/user)
. = ..()
- . += "Alt-Shift-Click to destroy all cards it has produced."
- . += "It has [length(our_card_list)] card\s in the world right now."
+ . += SPAN_HIEROPHANT("Alt-Shift-Click to destroy all cards it has produced.")
+ . += SPAN_HIEROPHANT("It has [length(our_card_list)] card\s in the world right now.")
if(!COOLDOWN_FINISHED(src, card_cooldown))
- . += "You may draw another card again in [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] second\s."
+ . += SPAN_HIEROPHANT("You may draw another card again in [round(COOLDOWN_TIMELEFT(src, card_cooldown) / 10)] second\s.")
/obj/item/tarot_generator/AltShiftClick(mob/user)
for(var/obj/item/magic_tarot_card/MTC in our_card_list)
MTC.dust()
- to_chat(user, "You dispell the cards [src] had created.")
+ to_chat(user, SPAN_HIEROPHANT("You dispell the cards [src] had created."))
// Booster packs filled with 3, 5, or 7 playing cards! Used by the wizard space ruin, or rarely in lavaland tendril chests.
/obj/item/tarot_card_pack
@@ -51,8 +51,8 @@
var/cards = 3
/obj/item/tarot_card_pack/attack_self__legacy__attackchain(mob/user)
- user.visible_message("[user] tears open [src].", \
- "You tear open [src]!")
+ user.visible_message(SPAN_NOTICE("[user] tears open [src]."), \
+ SPAN_HIEROPHANT("You tear open [src]!"))
playsound(loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
for(var/i in 1 to cards)
new /obj/item/magic_tarot_card(get_turf(src))
@@ -86,9 +86,9 @@
/obj/item/blank_tarot_card/examine(mob/user)
. = ..()
if(!let_people_choose)
- . += "With a bit of Ink, a work of art could be created. Will you provide your Ink?"
+ . += SPAN_HIEROPHANT("With a bit of Ink, a work of art could be created. Will you provide your Ink?")
else
- . += "We have the Ink... Could you provide your Vision instead?"
+ . += SPAN_HIEROPHANT("We have the Ink... Could you provide your Vision instead?")
/obj/item/blank_tarot_card/attack_self__legacy__attackchain(mob/user)
if(!ishuman(user))
@@ -96,7 +96,7 @@
if(!let_people_choose)
var/mob/living/carbon/human/H = user
if(H.dna && (NO_BLOOD in H.dna.species.species_traits))
- to_chat(user, "No blood to provide?... Then no Ink for the art...")
+ to_chat(user, SPAN_CULT("No blood to provide?... Then no Ink for the art..."))
return
if(H.blood_volume <= 100) //Shouldn't happen, they should be dead, but failsafe. Not bleeding as then they could recover the blood with blood rites
return
@@ -104,7 +104,7 @@
H.drop_item()
var/obj/item/magic_tarot_card/MTC = new /obj/item/magic_tarot_card(get_turf(src))
user.put_in_hands(MTC)
- to_chat(user, "Your blood flows into [src]... And your Ink makes a work of art! [MTC.name]... [MTC.card_desc]") //No period on purpose.
+ to_chat(user, SPAN_CULT("Your blood flows into [src]... And your Ink makes a work of art! [MTC.name]... [MTC.card_desc]")) //No period on purpose.
qdel(src)
return
var/tarot_type
@@ -120,7 +120,7 @@
user.drop_item()
var/obj/item/magic_tarot_card/MTC = new /obj/item/magic_tarot_card(get_turf(src), null, tarot_type)
user.put_in_hands(MTC)
- to_chat(user, "You put your Vision into [src], and your Vision makes a work of Art! [MTC.name]... [MTC.card_desc]") //No period on purpose.
+ to_chat(user, SPAN_HIEROPHANT("You put your Vision into [src], and your Vision makes a work of Art! [MTC.name]... [MTC.card_desc]")) //No period on purpose.
qdel(src)
/obj/item/blank_tarot_card/choose //For admins mainly, to spawn a specific tarot card. Not recommended for ruins.
@@ -169,13 +169,13 @@
/obj/item/magic_tarot_card/examine(mob/user)
. = ..()
if(!face_down)
- . += "[card_desc]"
- . += "Alt-Shift-Click to flip the card over."
+ . += SPAN_HIEROPHANT("[card_desc]")
+ . += SPAN_HIEROPHANT("Alt-Shift-Click to flip the card over.")
/obj/item/magic_tarot_card/examine_more(mob/user)
. = ..()
if(!face_down)
- . += "[src] [our_tarot.extended_desc]"
+ . += SPAN_HIEROPHANT("[src] [our_tarot.extended_desc]")
/obj/item/magic_tarot_card/attack_self__legacy__attackchain(mob/user)
poof()
@@ -223,21 +223,21 @@
new /obj/effect/temp_visual/revenant(get_turf(src))
/obj/item/magic_tarot_card/proc/dust()
- visible_message("[src] disintegrates into dust!")
+ visible_message(SPAN_DANGER("[src] disintegrates into dust!"))
new /obj/effect/temp_visual/revenant(get_turf(src))
qdel(src)
/obj/item/magic_tarot_card/proc/pre_activate(mob/user, atom/movable/thrower)
if(user != thrower) //Ignore antimagic stuff if the user is the thrower (aka self activation)
if(user.can_block_magic(our_tarot.antimagic_flags, 1))
- visible_message("[src] burns up in a flash on contact with [user]!")
+ visible_message(SPAN_WARNING("[src] burns up in a flash on contact with [user]!"))
qdel(src)
return
has_been_activated = TRUE
forceMove(user)
var/obj/effect/temp_visual/card_preview/tarot/draft = new(user, "tarot_[our_tarot.card_icon]")
user.vis_contents += draft
- user.visible_message("[user] holds up [src]!")
+ user.visible_message(SPAN_HIEROPHANT("[user] holds up [src]!"))
addtimer(CALLBACK(our_tarot, TYPE_PROC_REF(/datum/tarot, activate), user), 0.5 SECONDS)
if(ismob(thrower) && our_tarot)
add_attack_logs(thrower, user, "[thrower] has activated [our_tarot.name] on [user]", ATKLOG_FEW)
@@ -307,7 +307,7 @@
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
target.forceMove(pick(GLOB.latejoin))
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
/datum/tarot/the_magician
name = "I - The Magician"
@@ -317,7 +317,7 @@
/datum/tarot/the_magician/activate(mob/living/target)
target.apply_status_effect(STATUS_EFFECT_BADASS)
- to_chat(target, "You feel badass.")
+ to_chat(target, SPAN_NOTICE("You feel badass."))
/datum/tarot/the_high_priestess
name = "II - The High Priestess"
@@ -350,7 +350,7 @@
new /obj/effect/temp_visual/bubblegum_hands/leftsmack(first_turf)
sleep(6)
var/turf/second_turf = get_turf(owner)
- to_chat(owner, "Something huge rends you!")
+ to_chat(owner, SPAN_USERDANGER("Something huge rends you!"))
playsound(second_turf, 'sound/misc/demon_attack1.ogg', 100, TRUE, -1)
owner.adjustBruteLoss(damage)
qdel(src)
@@ -381,12 +381,12 @@
L.Add(T)
if(!length(L))
- to_chat(target, "Huh. No bridge? Well, that sucks.")
+ to_chat(target, SPAN_WARNING("Huh. No bridge? Well, that sucks."))
return
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
target.forceMove(pick(L))
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
/datum/tarot/the_hierophant
name = "V - The Hierophant"
@@ -458,12 +458,12 @@
viable_vendors += candidate
if(!length(viable_vendors))
- to_chat(target, "No vending machines? Well, with luck cargo will have something to offer. If you go there yourself.")
+ to_chat(target, SPAN_WARNING("No vending machines? Well, with luck cargo will have something to offer. If you go there yourself."))
return
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
target.forceMove(get_turf(pick(viable_vendors)))
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
/datum/tarot/wheel_of_fortune
name = "X - Wheel of Fortune"
@@ -573,12 +573,12 @@
L.Add(T)
if(!length(L))
- to_chat(target, "Huh. No evidence? Well, that means they can't charge you with a crime, right?")
+ to_chat(target, SPAN_WARNING("Huh. No evidence? Well, that means they can't charge you with a crime, right?"))
return
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
target.forceMove(pick(L))
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
for(var/obj/structure/closet/C in shuffle(view(9, target)))
if(istype(C, /obj/structure/closet/secure_closet))
var/obj/structure/closet/secure_closet/SC = C
@@ -612,7 +612,7 @@
funny_ruin_list += ruin_landmark
if(!length(funny_ruin_list))
- to_chat(target, "Huh. No space ruins? Well, this card is RUINED!")
+ to_chat(target, SPAN_WARNING("Huh. No space ruins? Well, this card is RUINED!"))
return
teleport(target, get_turf(pick(funny_ruin_list)))
@@ -620,7 +620,7 @@
/datum/tarot/the_moon/proc/teleport(mob/living/target, turf/teleport_location)
teleport_location.ChangeTurf(/turf/simulated/floor/plating) //we give them plating so they are not trapped in a wall or fall into lava/chasm, and a pickaxe to avoid being trapped in a wall
target.forceMove(teleport_location)
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
new /obj/item/pickaxe/emergency(teleport_location)
target.update_parallax_contents()
@@ -700,13 +700,13 @@
var/mob/living/M = AM
M.Weaken(6 SECONDS)
M.adjustBruteLoss(10)
- to_chat(M, "You're slammed into the floor by [name]!")
+ to_chat(M, SPAN_USERDANGER("You're slammed into the floor by [name]!"))
add_attack_logs(target, M, "[M] was thrown by [target]'s [name]", ATKLOG_ALMOSTALL)
else
new sparkle_path(get_turf(AM), get_dir(target, AM))
if(isliving(AM))
var/mob/living/M = AM
- to_chat(M, "You're thrown back by [name]!")
+ to_chat(M, SPAN_USERDANGER("You're thrown back by [name]!"))
add_attack_logs(target, M, "[M] was thrown by [target]'s [name]", ATKLOG_ALMOSTALL)
INVOKE_ASYNC(AM, TYPE_PROC_REF(/atom/movable, throw_at), throw_target, ((clamp((3 - (clamp(dist_from_user - 2, 0, dist_from_user))), 3, 3))), 1) //So stuff gets tossed around at the same time.
@@ -717,7 +717,7 @@
card_icon = "the_high_priestess?"
/datum/tarot/reversed/the_high_priestess/activate(mob/living/target)
- target.visible_message("WHO DARES TO TRY TO USE MY POWER IN A CARD?")
+ target.visible_message(SPAN_COLOSSUS("WHO DARES TO TRY TO USE MY POWER IN A CARD?"))
target.apply_status_effect(STATUS_EFFECT_REVERSED_HIGH_PRIESTESS)
/datum/tarot/reversed/the_empress
@@ -729,7 +729,7 @@
/datum/tarot/reversed/the_empress/activate(mob/living/target)
for(var/mob/living/L in oview(9, target))
if(L.can_block_magic(antimagic_flags))
- to_chat(L, "You feel calm for a second, but it quickly passes.")
+ to_chat(L, SPAN_NOTICE("You feel calm for a second, but it quickly passes."))
continue
L.apply_status_effect(STATUS_EFFECT_PACIFIED)
@@ -747,12 +747,12 @@
L.Add(head.current)
if(!length(L))
- to_chat(target, "Huh. No command members? I hope you didn't kill them all already...")
+ to_chat(target, SPAN_WARNING("Huh. No command members? I hope you didn't kill them all already..."))
return
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
target.forceMove(get_turf(pick(L)))
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
/datum/tarot/reversed/the_hierophant
name = "V - The Hierophant?"
@@ -902,7 +902,7 @@
R.add_reagent(get_unrestricted_random_reagent_id(), 10)
R.reaction(H, REAGENT_INGEST)
R.trans_to(H, 10)
- target.visible_message("[target] consumes 5 pills rapidly!")
+ target.visible_message(SPAN_WARNING("[target] consumes 5 pills rapidly!"))
/datum/tarot/reversed/the_devil
name = "XV - The Devil?"
@@ -1004,9 +1004,9 @@
L.Add(T)
if(!length(L))
- to_chat(target, "Hmm. No base? A miner issue.")
+ to_chat(target, SPAN_WARNING("Hmm. No base? A miner issue."))
return
if(SEND_SIGNAL(target, COMSIG_MOVABLE_TELEPORTING, get_turf(target)) & COMPONENT_BLOCK_TELEPORT)
return FALSE
target.forceMove(pick(L))
- to_chat(target, "You are abruptly pulled through space!")
+ to_chat(target, SPAN_USERDANGER("You are abruptly pulled through space!"))
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index e5104968eb3..3db4cd950f1 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -34,14 +34,14 @@
if(wizard.current.stat != CONSCIOUS)
if(wizard.current.health < HEALTH_THRESHOLD_DEAD || wizard.current.stat == DEAD) //Lets make this not get funny rng crit involved
if(!squabble_helper(wizard))
- to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.")
+ to_chat(wizard.current, SPAN_WARNING("The Space Wizard Federation is upset with your performance and have terminated your employment."))
wizard.current.dust() // *REAL* ACTION!! *REAL* DRAMA!! *REAL* BLOODSHED!!
continue
if(!wizard.current.client)
continue // Could just be a bad connection, so SSD wiz's shouldn't be gibbed over it, but they're not "alive" either
if(wizard.current.client.is_afk() > 10 MINUTES)
- to_chat(wizard.current, "The Space Wizard Federation is upset with your performance and have terminated your employment.")
+ to_chat(wizard.current, SPAN_WARNING("The Space Wizard Federation is upset with your performance and have terminated your employment."))
wizard.current.dust() // Let's keep the round moving
continue
wizards_alive++
@@ -62,7 +62,7 @@
/datum/game_mode/wizard/raginmages/proc/squabble_helper(datum/mind/wizard)
if(istype(get_area(wizard.current), /area/wizard_station)) // We don't want people camping other wizards
- to_chat(wizard.current, "If there aren't any admins on and another wizard is camping you in the wizard lair, report them on the forums.")
+ to_chat(wizard.current, SPAN_WARNING("If there aren't any admins on and another wizard is camping you in the wizard lair, report them on the forums."))
message_admins("[wizard.current] died in the wizard lair, another wizard is likely camping")
end_squabble(get_area(wizard.current))
return TRUE
@@ -82,7 +82,7 @@
marked_for_death |= M.current
for(var/mob/living/L in marked_for_death)
if(L.stat == CONSCIOUS) // Probably a troublemaker - I'd like to see YOU fight when unconscious
- to_chat(L, "STOP FIGHTING.")
+ to_chat(L, SPAN_USERDANGER("STOP FIGHTING."))
L.ghostize()
if(isbrain(L))
// diediedie
@@ -146,7 +146,7 @@
/datum/game_mode/wizard/raginmages/declare_completion()
if(finished)
SSticker.mode_result = "raging wizard loss - wizard killed"
- to_chat(world, "The crew has managed to hold off the Wizard attack! The Space Wizard Federation has been taught a lesson they will not soon forget!")
+ to_chat(world, SPAN_WARNING("The crew has managed to hold off the Wizard attack! The Space Wizard Federation has been taught a lesson they will not soon forget!"))
..(1)
/datum/game_mode/wizard/raginmages/proc/populate_magivends()
diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index 5a60ae1989a..9e45a04d300 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -130,7 +130,7 @@ GLOBAL_VAR_INIT(summon_magic_triggered, FALSE)
var/in_hand = H.put_in_hands(G) // not always successful
- to_chat(H, "\A [G] appears [in_hand ? "in your hand" : "at your feet"]!")
+ to_chat(H, SPAN_WARNING("\A [G] appears [in_hand ? "in your hand" : "at your feet"]!"))
/proc/give_magic(mob/living/carbon/human/H)
if(H.stat == DEAD || !(H.client))
@@ -157,13 +157,13 @@ GLOBAL_VAR_INIT(summon_magic_triggered, FALSE)
var/in_hand = H.put_in_hands(M)
- to_chat(H, "\A [M] appears [in_hand ? "in your hand" : "at your feet"]!")
+ to_chat(H, SPAN_WARNING("\A [M] appears [in_hand ? "in your hand" : "at your feet"]!"))
if(lucky)
- to_chat(H, "You feel incredibly lucky.")
+ to_chat(H, SPAN_NOTICE("You feel incredibly lucky."))
/proc/rightandwrong(summon_type, mob/user, survivor_probability)
if(user) //in this case either someone holding a spellbook or a badmin
- to_chat(user, "You summoned [summon_type]!")
+ to_chat(user, SPAN_WARNING("You summoned [summon_type]!"))
message_admins("[ADMIN_LOOKUPFLW(user)] summoned [summon_type]!")
log_game("[key_name(user)] summoned [summon_type]!")
diff --git a/code/game/gamemodes/wizard/soulstone.dm b/code/game/gamemodes/wizard/soulstone.dm
index 35185b94547..c465aee31dc 100644
--- a/code/game/gamemodes/wizard/soulstone.dm
+++ b/code/game/gamemodes/wizard/soulstone.dm
@@ -61,13 +61,13 @@
/obj/item/soulstone/pickup(mob/living/user)
. = ..()
if(IS_CULTIST(user) && purified && !iswizard(user))
- to_chat(user, "[src] reeks of holy magic. You will need to cleanse it with a ritual dagger before anything can be done with it.")
+ to_chat(user, SPAN_DANGER("[src] reeks of holy magic. You will need to cleanse it with a ritual dagger before anything can be done with it."))
return
if(HAS_MIND_TRAIT(user, TRAIT_HOLY))
- to_chat(user, "An overwhelming feeling of dread comes over you as you pick up [src]. It looks fragile enough to break with your hands.")
+ to_chat(user, SPAN_DANGER("An overwhelming feeling of dread comes over you as you pick up [src]. It looks fragile enough to break with your hands."))
return
if(!can_use(user))
- to_chat(user, "An overwhelming feeling of dread comes over you as you pick up [src].")
+ to_chat(user, SPAN_DANGER("An overwhelming feeling of dread comes over you as you pick up [src]."))
/obj/item/soulstone/Destroy() //Stops the shade from being qdel'd immediately and their ghost being sent back to the arrival shuttle.
for(var/mob/living/simple_animal/shade/A in src)
@@ -95,45 +95,45 @@
if(!can_use(user))
user.Weaken(10 SECONDS)
user.emote("scream")
- to_chat(user, "Your body is wracked with debilitating pain!")
+ to_chat(user, SPAN_USERDANGER("Your body is wracked with debilitating pain!"))
return
if(spent)
- to_chat(user, "There is no power left in the shard.")
+ to_chat(user, SPAN_WARNING("There is no power left in the shard."))
return
if(!ishuman(M)) //If target is not a human
return ..()
if(!M.mind)
- to_chat(user, "This being has no soul!")
+ to_chat(user, SPAN_WARNING("This being has no soul!"))
return ..()
if(jobban_isbanned(M, ROLE_CULTIST) || jobban_isbanned(M, ROLE_SYNDICATE))
- to_chat(user, "A mysterious force prevents you from trapping this being's soul.")
+ to_chat(user, SPAN_WARNING("A mysterious force prevents you from trapping this being's soul."))
return ..()
if(IS_CULTIST(user) && IS_CULTIST(M))
- to_chat(user, "\"Come now, do not capture your fellow's soul.\"")
+ to_chat(user, SPAN_CULTLARGE("\"Come now, do not capture your fellow's soul.\""))
return ..()
if((M.mind.offstation_role && M.mind.special_role != SPECIAL_ROLE_ERT) || HAS_MIND_TRAIT(M, TRAIT_XENOBIO_SPAWNED_HUMAN))
- to_chat(user, "This being's soul seems worthless. Not even the stone will absorb it.")
+ to_chat(user, SPAN_WARNING("This being's soul seems worthless. Not even the stone will absorb it."))
return ..()
if(optional)
if(!M.ckey)
- to_chat(user, "They have no soul!")
+ to_chat(user, SPAN_WARNING("They have no soul!"))
return
- to_chat(user, "You attempt to channel [M]'s soul into [src]. You must give the soul some time to react and stand still...")
+ to_chat(user, SPAN_WARNING("You attempt to channel [M]'s soul into [src]. You must give the soul some time to react and stand still..."))
var/mob/player_mob = M
var/ghost = M.get_ghost()
if(ghost) // In case our player ghosted and we need to throw the alert at their ghost instead
player_mob = ghost
var/client/player_client = player_mob.client
- to_chat(player_mob, "[user] is trying to capture your soul into [src]! Click the button in the top right of the game window to respond.")
+ to_chat(player_mob, SPAN_WARNING("[user] is trying to capture your soul into [src]! Click the button in the top right of the game window to respond."))
SEND_SOUND(player_client, sound('sound/misc/notice2.ogg'))
window_flash(player_client)
@@ -158,7 +158,7 @@
sleep(10 SECONDS)
if(!opt_in)
- to_chat(user, "The soul resists your attempts at capturing it!")
+ to_chat(user, SPAN_WARNING("The soul resists your attempts at capturing it!"))
return
opt_in = FALSE
@@ -174,7 +174,7 @@
if(istype(O, /obj/item/storage/bible) && !IS_CULTIST(user) && HAS_MIND_TRAIT(user, TRAIT_HOLY))
if(purified)
return
- to_chat(user, "You begin to exorcise [src].")
+ to_chat(user, SPAN_NOTICE("You begin to exorcise [src]."))
playsound(src, 'sound/hallucinations/veryfar_noise.ogg', 40, TRUE)
if(do_after(user, 40, target = src))
remove_filter("ray")
@@ -190,19 +190,19 @@
M.mind.remove_antag_datum(/datum/antagonist/cultist, silent_removal = TRUE)
to_chat(M, "An unfamiliar white light flashes through your mind, cleansing the taint of [GET_CULT_DATA(entity_title1, "Nar'Sie")] \
and the memories of your time as their servant with it.")
- to_chat(M, "Assist [user], your saviour, and get vengeance on those who enslaved you!")
+ to_chat(M, SPAN_DANGER("Assist [user], your saviour, and get vengeance on those who enslaved you!"))
else
- to_chat(M, "Your soulstone has been exorcised, and you are now bound to obey [user].")
+ to_chat(M, SPAN_DANGER("Your soulstone has been exorcised, and you are now bound to obey [user]."))
for(var/mob/living/simple_animal/shade/EX in src)
EX.holy = TRUE
EX.icon_state = "shade_angelic"
- user.visible_message("[user] purifies [src]!", "You purify [src]!")
+ user.visible_message(SPAN_NOTICE("[user] purifies [src]!"), SPAN_NOTICE("You purify [src]!"))
else if(istype(O, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user))
if(!purified)
return
- to_chat(user, "You begin to cleanse [src] of holy magic.")
+ to_chat(user, SPAN_NOTICE("You begin to cleanse [src] of holy magic."))
if(do_after(user, 40, target = src))
remove_filter("ray")
usability = FALSE
@@ -214,11 +214,11 @@
if(M.mind)
icon_state = "soulstone2"
M.mind.add_antag_datum(/datum/antagonist/cultist)
- to_chat(M, "Your shard has been cleansed of holy magic, and you are now bound to the cult's will. Obey them and assist in their goals.")
+ to_chat(M, SPAN_CULT("Your shard has been cleansed of holy magic, and you are now bound to the cult's will. Obey them and assist in their goals."))
for(var/mob/living/simple_animal/shade/EX in src)
EX.holy = FALSE
EX.icon_state = GET_CULT_DATA(shade_icon_state, "shade")
- to_chat(user, "You have cleansed [src] of holy magic.")
+ to_chat(user, SPAN_NOTICE("You have cleansed [src] of holy magic."))
else
..()
@@ -232,7 +232,7 @@
return
if(!HAS_MIND_TRAIT(user, TRAIT_HOLY))
- to_chat(user, "The shard feels too tough to shatter, you are not holy enough to free its captive!")
+ to_chat(user, SPAN_NOTICE("The shard feels too tough to shatter, you are not holy enough to free its captive!"))
return
if(!do_after_once(user, 10 SECONDS, FALSE, src))
@@ -262,9 +262,9 @@
icon_state = "soulstone"
name = initial(name)
if(IS_CULTIST(A))
- to_chat(A, "You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs.")
+ to_chat(A, SPAN_USERDANGER("You have been released from your prison, but you are still bound to the cult's will. Help them succeed in their goals at all costs."))
else
- to_chat(A, "You have been released from your prison, but you are still bound to your [purified ? "saviour" : "creator"]'s will.")
+ to_chat(A, SPAN_USERDANGER("You have been released from your prison, but you are still bound to your [purified ? "saviour" : "creator"]'s will."))
was_used()
remove_filter("ray")
STOP_PROCESSING(SSobj, src)
@@ -282,17 +282,17 @@
/obj/structure/constructshell/examine(mob/user)
. = ..()
if(in_range(user, src) && (IS_CULTIST(user) || iswizard(user) || user.stat == DEAD))
- . += "A construct shell, used to house bound souls from a soulstone."
- . += "Placing a soulstone with a soul into this shell allows you to produce your choice of the following:"
- . += "An Artificer, which can produce more shells and soulstones, as well as fortifications."
- . += "A Wraith, which does high damage and can jaunt through walls, though it is quite fragile."
- . += "A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow."
+ . += SPAN_CULT("A construct shell, used to house bound souls from a soulstone.")
+ . += SPAN_CULT("Placing a soulstone with a soul into this shell allows you to produce your choice of the following:")
+ . += SPAN_CULTITALIC("An Artificer, which can produce more shells and soulstones, as well as fortifications.")
+ . += SPAN_CULTITALIC("A Wraith, which does high damage and can jaunt through walls, though it is quite fragile.")
+ . += SPAN_CULTITALIC("A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow.")
/obj/structure/constructshell/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(istype(I, /obj/item/soulstone))
var/obj/item/soulstone/SS = I
if(!SS.can_use(user))
- to_chat(user, "An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell.")
+ to_chat(user, SPAN_DANGER("An overwhelming feeling of dread comes over you as you attempt to place the soulstone into the shell."))
user.Confused(20 SECONDS)
return ITEM_INTERACT_COMPLETE
SS.transfer_soul("CONSTRUCT", src, user)
@@ -310,26 +310,26 @@
if(T.client) // If there's someone in the body
init_shade(T, user)
else // Poll ghosts
- to_chat(user, "Capture failed! The soul has already fled its mortal frame. You attempt to bring it back...")
+ to_chat(user, "[SPAN_USERDANGER("Capture failed!")] The soul has already fled its mortal frame. You attempt to bring it back...")
T.Paralyse(40 SECONDS)
if(!get_cult_ghost(T, user, TRUE))
// no luck, dont shard them.
- to_chat(user, "No soul responds to the soul stone.")
+ to_chat(user, SPAN_USERDANGER("No soul responds to the soul stone."))
if("VICTIM")
var/mob/living/carbon/human/T = target
if(T.stat == CONSCIOUS)
- to_chat(user, "Capture failed! Kill or maim the victim first!")
+ to_chat(user, "[SPAN_DANGER("Capture failed!")] Kill or maim the victim first!")
else
if(!length(T.client_mobs_in_contents))
- to_chat(user, "They have no soul!")
+ to_chat(user, SPAN_WARNING("They have no soul!"))
else
if(T.client == null)
- to_chat(user, "Capture failed! The soul has already fled its mortal frame. You attempt to bring it back...")
+ to_chat(user, "[SPAN_USERDANGER("Capture failed!")] The soul has already fled its mortal frame. You attempt to bring it back...")
get_cult_ghost(T, user, get_new_player = !T.ghost_can_reenter())
else
if(length(contents))
- to_chat(user, "Capture failed! The soul stone is full! Use or free an existing soul to make room.")
+ to_chat(user, "[SPAN_DANGER("Capture failed!")] The soul stone is full! Use or free an existing soul to make room.")
else
init_shade(T, user, TRUE)
@@ -337,22 +337,22 @@
var/mob/living/simple_animal/shade/T = target
if(!can_use(user))
user.Weaken(10 SECONDS)
- to_chat(user, "Your body is wracked with debilitating pain!")
+ to_chat(user, SPAN_USERDANGER("Your body is wracked with debilitating pain!"))
return
if(T.stat == DEAD)
- to_chat(user, "Capture failed! The shade has already been banished!")
+ to_chat(user, "[SPAN_DANGER("Capture failed!")] The shade has already been banished!")
if((IS_CULTIST(T) && purified) || (T.holy && !purified))
- to_chat(user, "Capture failed! The shade recoils away from [src]!")
+ to_chat(user, "[SPAN_DANGER("Capture failed!")] The shade recoils away from [src]!")
else
if(locate(/mob/living/simple_animal/shade) in contents)
- to_chat(user, "Capture failed!: The soul stone is full! Use or free an existing soul to make room.")
+ to_chat(user, "[SPAN_DANGER("Capture failed!")]: The soul stone is full! Use or free an existing soul to make room.")
else
T.forceMove(src) // Put the shade into the stone.
T.health = T.maxHealth
icon_state = icon_state_full
name = "soulstone : [T.name]"
- to_chat(T, "Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form")
- to_chat(user, "Capture successful! [T.name]'s has been recaptured and stored within the soul stone.")
+ to_chat(T, SPAN_NOTICE("Your soul has been recaptured by the soul stone, its arcane energies are reknitting your ethereal form"))
+ to_chat(user, "[SPAN_NOTICE("Capture successful!")] [T.name]'s has been recaptured and stored within the soul stone.")
animate_rays = TRUE
START_PROCESSING(SSobj, src)
@@ -374,9 +374,9 @@
var/mob/living/simple_animal/hostile/construct/C = new picked_class(shell.loc)
C.init_construct(shade, src, shell)
to_chat(C, C.playstyle_string)
- to_chat(C, "For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Construct)")
+ to_chat(C, SPAN_MOTD("For more information, check the wiki page: ([GLOB.configuration.url.wiki_url]/index.php/Construct)"))
else
- to_chat(user, "Creation failed!: The soul stone is empty! Go kill someone!")
+ to_chat(user, "[SPAN_DANGER("Creation failed!")]: The soul stone is empty! Go kill someone!")
/obj/item/soulstone/proc/radial_check(mob/user)
if(!ishuman(user)) // Should never happen, but just in case
@@ -407,9 +407,9 @@
CC.Grant(src)
D.Grant(src)
SSticker.mode.cult_team.study_objectives(src) // Display objectives again
- to_chat(src, "You are still bound to serve the cult, follow their orders and help them complete their goals at all costs.")
+ to_chat(src, SPAN_USERDANGER("You are still bound to serve the cult, follow their orders and help them complete their goals at all costs."))
else
- to_chat(src, "You are still bound to serve your creator, follow their orders and help them complete their goals at all costs.")
+ to_chat(src, SPAN_USERDANGER("You are still bound to serve your creator, follow their orders and help them complete their goals at all costs."))
SEND_SIGNAL(shade, COMSIG_SHADE_TO_CONSTRUCT_TRANSFER, src)
cancel_camera()
@@ -452,12 +452,12 @@
S.mind.add_antag_datum(construct)
if(IS_CULTIST(user))
S.mind.add_antag_datum(/datum/antagonist/cultist)
- to_chat(S, "Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs.")
+ to_chat(S, SPAN_USERDANGER("Your soul has been captured! You are now bound to the cult's will. Help them succeed in their goals at all costs."))
else
S.mind.store_memory("Serve [user.real_name], your creator.")
- to_chat(S, "Your soul has been captured! You are now bound to [user.real_name]'s will. Help them succeed in their goals at all costs.")
+ to_chat(S, SPAN_USERDANGER("Your soul has been captured! You are now bound to [user.real_name]'s will. Help them succeed in their goals at all costs."))
if(forced && user)
- to_chat(user, "Capture successful!: [M.real_name]'s soul has been ripped from [user.p_their()] body and stored within the soul stone.")
+ to_chat(user, "[SPAN_NOTICE("Capture successful!:")] [M.real_name]'s soul has been ripped from [user.p_their()] body and stored within the soul stone.")
if(!isrobot(M))
for(var/obj/item/I in M)
M.drop_item_to_ground(I)
@@ -494,7 +494,7 @@
if(!M)
return FALSE
if(!chosen_ghost)
- to_chat(user, "There were no spirits willing to become a shade.")
+ to_chat(user, SPAN_DANGER("There were no spirits willing to become a shade."))
return FALSE
if(length(contents)) //If they used the soulstone on someone else in the meantime
return FALSE
diff --git a/code/game/gamemodes/wizard/spellbook.dm b/code/game/gamemodes/wizard/spellbook.dm
index cd3890214a4..2f62ffea9c1 100644
--- a/code/game/gamemodes/wizard/spellbook.dm
+++ b/code/game/gamemodes/wizard/spellbook.dm
@@ -25,7 +25,7 @@
for(var/datum/spell/aspell in user.mind.spell_list)
if(initial(newspell.name) == initial(aspell.name)) // Not using directly in case it was learned from one spellbook then upgraded in another
if(aspell.spell_level >= aspell.level_max)
- to_chat(user, "This spell cannot be improved further.")
+ to_chat(user, SPAN_WARNING("This spell cannot be improved further."))
return FALSE
else
aspell.name = initial(aspell.name)
@@ -33,25 +33,25 @@
aspell.cooldown_handler.recharge_duration = round(aspell.base_cooldown - aspell.spell_level * (aspell.base_cooldown - aspell.cooldown_min) / aspell.level_max)
switch(aspell.spell_level)
if(1)
- to_chat(user, "You have improved [aspell.name] into Efficient [aspell.name].")
+ to_chat(user, SPAN_NOTICE("You have improved [aspell.name] into Efficient [aspell.name]."))
aspell.name = "Efficient [aspell.name]"
if(2)
- to_chat(user, "You have further improved [aspell.name] into Quickened [aspell.name].")
+ to_chat(user, SPAN_NOTICE("You have further improved [aspell.name] into Quickened [aspell.name]."))
aspell.name = "Quickened [aspell.name]"
if(3)
- to_chat(user, "You have further improved [aspell.name] into Free [aspell.name].")
+ to_chat(user, SPAN_NOTICE("You have further improved [aspell.name] into Free [aspell.name]."))
aspell.name = "Free [aspell.name]"
if(4)
- to_chat(user, "You have further improved [aspell.name] into Instant [aspell.name].")
+ to_chat(user, SPAN_NOTICE("You have further improved [aspell.name] into Instant [aspell.name]."))
aspell.name = "Instant [aspell.name]"
if(aspell.spell_level >= aspell.level_max)
- to_chat(user, "This spell cannot be strengthened any further.")
+ to_chat(user, SPAN_NOTICE("This spell cannot be strengthened any further."))
aspell.on_purchase_upgrade()
return TRUE
//No same spell found - just learn it
SSblackbox.record_feedback("tally", "wizard_spell_learned", 1, name)
user.mind.AddSpell(newspell)
- to_chat(user, "You have learned [newspell.name].")
+ to_chat(user, SPAN_NOTICE("You have learned [newspell.name]."))
return TRUE
/datum/spellbook_entry/proc/CanRefund(mob/living/carbon/human/user, obj/item/spellbook/book)
@@ -66,7 +66,7 @@
/datum/spellbook_entry/proc/Refund(mob/living/carbon/human/user, obj/item/spellbook/book) //return point value or -1 for failure
if(!istype(get_area(user), /area/wizard_station))
- to_chat(user, "You can only refund spells at the wizard lair.")
+ to_chat(user, SPAN_WARNING("You can only refund spells at the wizard lair."))
return -1
if(!S) //This happens when the spell's source is from another spellbook, from loadouts, or adminery, this create a new template temporary spell
S = new spell_type()
@@ -212,13 +212,13 @@
category = "Defensive"
/datum/spellbook_entry/sacred_flame/LearnSpell(mob/living/carbon/human/user, obj/item/spellbook/book, datum/spell/newspell)
- to_chat(user, "You feel fireproof.")
+ to_chat(user, SPAN_NOTICE("You feel fireproof."))
ADD_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT)
ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT)
return ..()
/datum/spellbook_entry/sacred_flame/Refund(mob/living/carbon/human/user, obj/item/spellbook/book)
- to_chat(user, "You no longer feel fireproof.")
+ to_chat(user, SPAN_WARNING("You no longer feel fireproof."))
REMOVE_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT)
REMOVE_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT)
return ..()
@@ -230,13 +230,13 @@
category = "Defensive"
/datum/spellbook_entry/summon_supermatter/LearnSpell(mob/living/carbon/human/user, obj/item/spellbook/book, datum/spell/newspell)
- to_chat(user, "You feel a little bit of supermatter enter your body.")
+ to_chat(user, SPAN_NOTICE("You feel a little bit of supermatter enter your body."))
ADD_TRAIT(user, TRAIT_RADIMMUNE, MAGIC_TRAIT)
ADD_TRAIT(user, SM_HALLUCINATION_IMMUNE, MAGIC_TRAIT)
return ..()
/datum/spellbook_entry/summon_supermatter/Refund(mob/living/carbon/human/user, obj/item/spellbook/book)
- to_chat(user, "A little bit of supermatter leaves your body. So does that metallic taste in your mouth.")
+ to_chat(user, SPAN_WARNING("A little bit of supermatter leaves your body. So does that metallic taste in your mouth."))
REMOVE_TRAIT(user, TRAIT_RADIMMUNE, MAGIC_TRAIT)
REMOVE_TRAIT(user, SM_HALLUCINATION_IMMUNE, MAGIC_TRAIT)
return ..()
@@ -337,7 +337,7 @@
/datum/spellbook_entry/summon/ghosts/Buy(mob/living/carbon/human/user, obj/item/spellbook/book)
new /datum/event/wizard/ghost()
active = TRUE
- to_chat(user, "You have cast summon ghosts!")
+ to_chat(user, SPAN_NOTICE("You have cast summon ghosts!"))
playsound(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1)
message_admins("[key_name_admin(usr)] summoned ghosts as a wizard! (Ghosts are now VISIBLE)")
add_attack_logs(user, null, "Cast summon ghosts", ATKLOG_ALL)
@@ -351,7 +351,7 @@
/datum/spellbook_entry/summon/slience_ghosts/Buy(mob/living/carbon/human/user, obj/item/spellbook/book)
new /datum/event/wizard/ghost_mute()
active = TRUE
- to_chat(user, "You have silenced all ghosts!")
+ to_chat(user, SPAN_NOTICE("You have silenced all ghosts!"))
playsound(get_turf(user), 'sound/effects/ghost.ogg', 50, 1)
message_admins("[key_name_admin(usr)] silenced all ghosts as a wizard! (Deadchat is now DISABLED)")
add_attack_logs(user, null, "Cast silence ghosts", ATKLOG_ALL)
@@ -368,7 +368,7 @@
rightandwrong(SUMMON_GUNS, user, 10)
active = TRUE
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE)
- to_chat(user, "You have cast summon guns!")
+ to_chat(user, SPAN_NOTICE("You have cast summon guns!"))
return TRUE
/datum/spellbook_entry/summon/magic
@@ -382,7 +382,7 @@
rightandwrong(SUMMON_MAGIC, user, 10)
active = TRUE
playsound(get_turf(user), 'sound/magic/castsummon.ogg', 50, TRUE)
- to_chat(user, "You have cast summon magic!")
+ to_chat(user, SPAN_NOTICE("You have cast summon magic!"))
return TRUE
//Main category - Magical Items
@@ -677,16 +677,16 @@
if(response != "Yes")
return FALSE
if(!CanBuy(user, book))
- to_chat(user, "You can't afford that anymore!")
+ to_chat(user, SPAN_WARNING("You can't afford that anymore!"))
return FALSE
- to_chat(user, "[book] crumbles to ashes as you acquire its knowledge.")
+ to_chat(user, SPAN_NOTICE("[book] crumbles to ashes as you acquire its knowledge."))
qdel(book)
else if(length(items_path))
var/response = tgui_alert(user, "The [src] loadout contains items that will not be refundable if bought. Are you sure this is what you want?", "No refunds!", list("No", "Yes"))
if(response != "Yes")
return FALSE
if(!CanBuy(user, book))
- to_chat(user, "You can't afford that anymore!")
+ to_chat(user, SPAN_WARNING("You can't afford that anymore!"))
return FALSE
if(length(items_path))
var/obj/item/storage/box/wizard/B = new(src)
@@ -743,15 +743,15 @@
if(istype(O, /obj/item/contract))
var/obj/item/contract/contract = O
if(contract.used)
- to_chat(user, "The contract has been used, you can't get your points back now!")
+ to_chat(user, SPAN_WARNING("The contract has been used, you can't get your points back now!"))
else
- to_chat(user, "You feed the contract back into the spellbook, refunding your points.")
+ to_chat(user, SPAN_NOTICE("You feed the contract back into the spellbook, refunding your points."))
uses+=2
qdel(O)
return
if(istype(O, /obj/item/antag_spawner/slaughter_demon))
- to_chat(user, "On second thought, maybe summoning a demon is a bad idea. You refund your points.")
+ to_chat(user, SPAN_NOTICE("On second thought, maybe summoning a demon is a bad idea. You refund your points."))
if(istype(O, /obj/item/antag_spawner/slaughter_demon/laughter))
uses += 1
for(var/datum/spellbook_entry/item/hugbottle/HB in entries)
@@ -771,7 +771,7 @@
return
if(istype(O, /obj/item/antag_spawner/morph))
- to_chat(user, "On second thought, maybe awakening a morph is a bad idea. You refund your points.")
+ to_chat(user, SPAN_NOTICE("On second thought, maybe awakening a morph is a bad idea. You refund your points."))
uses += 1
for(var/datum/spellbook_entry/item/oozebottle/OB in entries)
if(!isnull(OB.limit))
@@ -780,7 +780,7 @@
return
if(istype(O, /obj/item/antag_spawner/revenant))
- to_chat(user, "On second thought, maybe the ghosts have been salty enough today. You refund your points.")
+ to_chat(user, SPAN_NOTICE("On second thought, maybe the ghosts have been salty enough today. You refund your points."))
uses += 1
for(var/datum/spellbook_entry/item/revenantbottle/RB in entries)
if(!isnull(RB.limit))
@@ -857,11 +857,11 @@
/obj/item/spellbook/attack_self__legacy__attackchain(mob/user as mob)
if(!owner)
- to_chat(user, "You bind the spellbook to yourself.")
+ to_chat(user, SPAN_NOTICE("You bind the spellbook to yourself."))
owner = user
return
if(user != owner)
- to_chat(user, "[src] does not recognize you as it's owner and refuses to open!")
+ to_chat(user, SPAN_WARNING("[src] does not recognize you as it's owner and refuses to open!"))
return
user.set_machine(src)
var/dat = ""
@@ -983,25 +983,25 @@
if(knownspell.type == S.type)
if(user.mind)
if(user.mind.special_role == SPECIAL_ROLE_WIZARD_APPRENTICE || user.mind.special_role == SPECIAL_ROLE_WIZARD)
- to_chat(user, "You're already far more versed in this spell than this flimsy how-to book can provide.")
+ to_chat(user, SPAN_NOTICE("You're already far more versed in this spell than this flimsy how-to book can provide."))
else
- to_chat(user, "You've already read this one.")
+ to_chat(user, SPAN_NOTICE("You've already read this one."))
return
if(used)
recoil(user)
else
user.mind.AddSpell(S)
- to_chat(user, "you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!")
+ to_chat(user, SPAN_NOTICE("you rapidly read through the arcane book. Suddenly you realize you understand [spellname]!"))
user.create_log(MISC_LOG, "learned the spell [spellname] ([S])")
user.create_attack_log("[key_name(user)] learned the spell [spellname] ([S]).")
onlearned(user)
/obj/item/spellbook/oneuse/proc/recoil(mob/user)
- user.visible_message("[src] glows in a black light!")
+ user.visible_message(SPAN_WARNING("[src] glows in a black light!"))
/obj/item/spellbook/oneuse/proc/onlearned(mob/user)
used = TRUE
- user.visible_message("[src] glows dark for a second!")
+ user.visible_message(SPAN_CAUTION("[src] glows dark for a second!"))
/obj/item/spellbook/oneuse/attackby__legacy__attackchain()
return
@@ -1025,7 +1025,7 @@
/obj/item/spellbook/oneuse/smoke/recoil(mob/user as mob)
..()
- to_chat(user, "Your stomach rumbles...")
+ to_chat(user, SPAN_CAUTION("Your stomach rumbles..."))
user.adjust_nutrition(-200)
/obj/item/spellbook/oneuse/blind
@@ -1038,7 +1038,7 @@
..()
if(isliving(user))
var/mob/living/L = user
- to_chat(user, "You go blind!")
+ to_chat(user, SPAN_WARNING("You go blind!"))
L.EyeBlind(20 SECONDS)
/obj/item/spellbook/oneuse/mindswap
@@ -1060,17 +1060,17 @@
stored_swap = null
if(!stored_swap)
stored_swap = user
- to_chat(user, "For a moment you feel like you don't even know who you are anymore.")
+ to_chat(user, SPAN_WARNING("For a moment you feel like you don't even know who you are anymore."))
return
if(stored_swap == user)
- to_chat(user, "You stare at the book some more, but there doesn't seem to be anything else to learn...")
+ to_chat(user, SPAN_NOTICE("You stare at the book some more, but there doesn't seem to be anything else to learn..."))
return
var/datum/spell/mind_transfer/swapper = new
swapper.cast(user, stored_swap)
- to_chat(stored_swap, "You're suddenly somewhere else... and someone else?!")
- to_chat(user, "Suddenly you're staring at [src] again... where are you, who are you?!")
+ to_chat(stored_swap, SPAN_WARNING("You're suddenly somewhere else... and someone else?!"))
+ to_chat(user, SPAN_WARNING("Suddenly you're staring at [src] again... where are you, who are you?!"))
stored_swap = null
/obj/item/spellbook/oneuse/forcewall
@@ -1081,7 +1081,7 @@
/obj/item/spellbook/oneuse/forcewall/recoil(mob/user as mob)
..()
- to_chat(user, "You suddenly feel very solid!")
+ to_chat(user, SPAN_WARNING("You suddenly feel very solid!"))
var/obj/structure/closet/statue/S = new /obj/structure/closet/statue(user.loc, user)
S.timer = 30
user.drop_item()
@@ -1094,7 +1094,7 @@
/obj/item/spellbook/oneuse/knock/recoil(mob/living/user)
..()
- to_chat(user, "You're knocked down!")
+ to_chat(user, SPAN_WARNING("You're knocked down!"))
user.Weaken(40 SECONDS)
/obj/item/spellbook/oneuse/horsemask
@@ -1116,7 +1116,7 @@
user.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, TRUE, TRUE)
qdel(src)
else
- to_chat(user, "I say thee neigh")
+ to_chat(user, SPAN_NOTICE("I say thee neigh"))
/obj/item/spellbook/oneuse/charge
spell = /datum/spell/charge
@@ -1126,7 +1126,7 @@
/obj/item/spellbook/oneuse/charge/recoil(mob/user as mob)
..()
- to_chat(user, "[src] suddenly feels very warm!")
+ to_chat(user, SPAN_WARNING("[src] suddenly feels very warm!"))
empulse(src, 1, 1)
/obj/item/spellbook/oneuse/summonitem
@@ -1137,7 +1137,7 @@
/obj/item/spellbook/oneuse/summonitem/recoil(mob/user as mob)
..()
- to_chat(user, "[src] suddenly vanishes!")
+ to_chat(user, SPAN_WARNING("[src] suddenly vanishes!"))
qdel(src)
/obj/item/spellbook/oneuse/fake_gib
diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm
index 176188daf03..534611d1c43 100644
--- a/code/game/gamemodes/wizard/wizard.dm
+++ b/code/game/gamemodes/wizard/wizard.dm
@@ -25,7 +25,7 @@
wizard.assigned_role = SPECIAL_ROLE_WIZARD //So they aren't chosen for other jobs.
wizard.special_role = SPECIAL_ROLE_WIZARD
if(!length(GLOB.wizardstart))
- to_chat(wizard.current, "A starting location for you could not be found, please report this bug!")
+ to_chat(wizard.current, SPAN_DANGER("A starting location for you could not be found, please report this bug!"))
return FALSE
return TRUE
@@ -55,7 +55,7 @@
/datum/game_mode/wizard/declare_completion(ragin = 0)
if(finished && !ragin)
SSticker.mode_result = "wizard loss - wizard killed"
- to_chat(world, " The wizard[(length(wizards)>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!")
+ to_chat(world, SPAN_WARNING(" The wizard[(length(wizards)>1)?"s":""] has been killed by the crew! The Space Wizards Federation has been taught a lesson they will not soon forget!"))
..()
return TRUE
diff --git a/code/game/gamemodes/wizard/wizloadouts.dm b/code/game/gamemodes/wizard/wizloadouts.dm
index 69c90882492..546eea27acb 100644
--- a/code/game/gamemodes/wizard/wizloadouts.dm
+++ b/code/game/gamemodes/wizard/wizloadouts.dm
@@ -83,7 +83,7 @@
if(!user)
return
if(isplasmaman(user))
- to_chat(user, "A spectral hand appears from your spellbook and pulls a brand new plasmaman envirosuit, complete with helmet, from the void, then drops it on the floor.")
+ to_chat(user, SPAN_NOTICE("A spectral hand appears from your spellbook and pulls a brand new plasmaman envirosuit, complete with helmet, from the void, then drops it on the floor."))
new /obj/item/clothing/head/helmet/space/plasmaman/assistant(get_turf(user))
new /obj/item/clothing/under/plasmaman/assistant(get_turf(user))
user.drop_item_to_ground(user.wear_id)
@@ -134,7 +134,7 @@
qdel(user.head)
// Part of Sacred Flame
- to_chat(user, "You feel fireproof.")
+ to_chat(user, SPAN_NOTICE("You feel fireproof."))
ADD_TRAIT(user, TRAIT_RESISTHEAT, MAGIC_TRAIT)
ADD_TRAIT(user, TRAIT_RESISTHIGHPRESSURE, MAGIC_TRAIT)
ADD_TRAIT(user, TRAIT_EXPLOSION_PROOF, MAGIC_TRAIT)
diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm
index ac8ccf791a0..9c60d0fc836 100644
--- a/code/game/jobs/job/job.dm
+++ b/code/game/jobs/job/job.dm
@@ -220,12 +220,12 @@
permitted = TRUE
if(!permitted)
- to_chat(H, "Your current job or whitelist status does not permit you to spawn with [G.display_name]!")
+ to_chat(H, SPAN_WARNING("Your current job or whitelist status does not permit you to spawn with [G.display_name]!"))
continue
if(G.slot)
if(H.equip_to_slot_or_del(G.spawn_item(H, H.client.prefs.active_character.get_gear_metadata(G)), G.slot, TRUE))
- to_chat(H, "Equipping you with [G.display_name]!")
+ to_chat(H, SPAN_NOTICE("Equipping you with [G.display_name]!"))
else
gear_leftovers += G
else
@@ -254,17 +254,17 @@
var/atom/placed_in = H.equip_or_collect(item)
if(istype(placed_in))
if(isturf(placed_in))
- to_chat(H, "Placing [item] on [placed_in]!")
+ to_chat(H, SPAN_NOTICE("Placing [item] on [placed_in]!"))
else
- to_chat(H, "Placing [item] in your [placed_in.name].")
+ to_chat(H, SPAN_NOTICE("Placing [item] in your [placed_in.name]."))
continue
if(H.equip_to_appropriate_slot(item))
- to_chat(H, "Placing [item] in your inventory!")
+ to_chat(H, SPAN_NOTICE("Placing [item] in your inventory!"))
continue
if(H.put_in_hands(item))
- to_chat(H, "Placing [item] in your hands!")
+ to_chat(H, SPAN_NOTICE("Placing [item] in your hands!"))
continue
- to_chat(H, "Failed to locate a storage object on your mob, either you spawned with no hands free and no backpack or this is a bug.")
+ to_chat(H, SPAN_DANGER("Failed to locate a storage object on your mob, either you spawned with no hands free and no backpack or this is a bug."))
qdel(item)
gear_leftovers.Cut()
diff --git a/code/game/jobs/job/support.dm b/code/game/jobs/job/support.dm
index fe7409fb10b..300611f6560 100644
--- a/code/game/jobs/job/support.dm
+++ b/code/game/jobs/job/support.dm
@@ -480,7 +480,7 @@
active = TRUE
background_icon_state = "bg_spell"
build_all_button_icons()
- to_chat(H, "You start acting clumsy to throw suspicions off. Focus again before using weapons.")
+ to_chat(H, SPAN_NOTICE("You start acting clumsy to throw suspicions off. Focus again before using weapons."))
/datum/action/innate/toggle_clumsy/Deactivate()
var/mob/living/carbon/human/H = owner
@@ -489,7 +489,7 @@
active = FALSE
background_icon_state = "bg_default"
build_all_button_icons()
- to_chat(H, "You focus and can now use weapons regularly.")
+ to_chat(H, SPAN_NOTICE("You focus and can now use weapons regularly."))
/datum/job/mime
title = "Mime"
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index d0bc0b0dca7..16d56408216 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -35,7 +35,7 @@
/obj/machinery/optable/examine(mob/user)
. = ..()
- . += "Click-drag someone to the table to place them on top of the table."
+ . += SPAN_NOTICE("Click-drag someone to the table to place them on top of the table.")
/obj/machinery/optable/CanPass(atom/movable/mover, border_dir)
if(istype(mover) && mover.checkpass(PASSTABLE))
@@ -60,7 +60,7 @@
if((!ishuman(user) && !isrobot(user)) || !istype(new_patient))
return
if(patient in buckled_mobs)
- to_chat(user, "The table is already occupied!")
+ to_chat(user, SPAN_NOTICE("The table is already occupied!"))
return
// Attempt to settle the patient in
@@ -70,7 +70,7 @@
patient = new_patient
if(length(injected_reagents))
- to_chat(new_patient, "You feel a series of tiny pricks!")
+ to_chat(new_patient, SPAN_DANGER("You feel a series of tiny pricks!"))
update_appearance(UPDATE_ICON_STATE)
@@ -99,6 +99,6 @@
if(!I.tool_start_check(src, user, 0))
return
if(I.use_tool(src, user, 20, volume = I.tool_volume))
- to_chat(user, "You deconstruct the table.")
+ to_chat(user, SPAN_NOTICE("You deconstruct the table."))
new /obj/item/stack/sheet/plasteel(loc, 5)
qdel(src)
diff --git a/code/game/machinery/PDApainter.dm b/code/game/machinery/PDApainter.dm
index 426052de2ef..038dd7296d9 100644
--- a/code/game/machinery/PDApainter.dm
+++ b/code/game/machinery/PDApainter.dm
@@ -159,7 +159,7 @@
/obj/machinery/pdapainter/proc/ejectpda(mob/user)
if(!storedpda)
- to_chat(usr, "[src] is empty.")
+ to_chat(usr, SPAN_NOTICE("[src] is empty."))
return
storedpda.forceMove(get_turf(src))
if(ishuman(user))
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 98d88f18c0d..d27657c1110 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -36,10 +36,10 @@
. = ..()
if(occupant)
if(occupant.stat == DEAD)
- . += "You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!"
+ . += SPAN_WARNING("You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!")
else
- . += "You see [occupant.name] inside."
- . += "You can Alt-Click to eject the current occupant. Click-drag someone to the sleeper to place them in it after a short delay."
+ . += SPAN_NOTICE("You see [occupant.name] inside.")
+ . += SPAN_NOTICE("You can Alt-Click to eject the current occupant. Click-drag someone to the sleeper to place them in it after a short delay.")
/obj/machinery/sleeper/power_change()
..() //we don't check parent return here because we also care about BROKEN
@@ -136,7 +136,7 @@
if(prob(addiction_removal_chance))
atom_say("Patient's addiction was cured.")
playsound(get_turf(src), 'sound/machines/ping.ogg', 50, 0)
- to_chat(occupant, "You no longer feel reliant on [R.name]!")
+ to_chat(occupant, SPAN_BOLDNOTICE("You no longer feel reliant on [R.name]!"))
occupant.reagents.addiction_list.Remove(R)
qdel(R)
@@ -155,7 +155,7 @@
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
return
ui_interact(user)
@@ -277,7 +277,7 @@
if(!controls_inside && usr == occupant)
return
if(panel_open)
- to_chat(usr, "Close the maintenance panel first.")
+ to_chat(usr, SPAN_NOTICE("Close the maintenance panel first."))
return
if(stat & (NOPOWER|BROKEN))
return
@@ -288,7 +288,7 @@
if(!occupant)
return
if(occupant.stat == DEAD)
- to_chat(usr, "This person has no life to preserve anymore. Take [occupant.p_them()] to a department capable of reanimating them.")
+ to_chat(usr, SPAN_DANGER("This person has no life to preserve anymore. Take [occupant.p_them()] to a department capable of reanimating them."))
return
var/chemical = params["chemid"]
var/amount = text2num(params["amount"])
@@ -313,7 +313,7 @@
if(istype(used, /obj/item/reagent_containers/glass) && user.a_intent != INTENT_HARM)
if(!beaker)
if(!user.drop_item())
- to_chat(user, "[used] is stuck to you!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to you!"))
return ITEM_INTERACT_COMPLETE
beaker = used
@@ -323,31 +323,31 @@
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "The sleeper has a beaker already.")
+ to_chat(user, SPAN_WARNING("The sleeper has a beaker already."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/grab))
var/obj/item/grab/G = used
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_BOLDNOTICE("Close the maintenance panel first."))
return ITEM_INTERACT_COMPLETE
if(!ismob(G.affecting))
return ITEM_INTERACT_COMPLETE
if(occupant)
- to_chat(user, "The sleeper is already occupied!")
+ to_chat(user, SPAN_BOLDNOTICE("The sleeper is already occupied!"))
return ITEM_INTERACT_COMPLETE
if(G.affecting.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[G.affecting] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[G.affecting] will not fit into [src] because [G.affecting.p_they()] [G.affecting.p_have()] a slime latched onto [G.affecting.p_their()] head."))
return ITEM_INTERACT_COMPLETE
visible_message("[user] starts putting [G.affecting.name] into the sleeper.")
if(do_after(user, 20, target = G.affecting))
if(occupant)
- to_chat(user, "The sleeper is already occupied!")
+ to_chat(user, SPAN_BOLDNOTICE("The sleeper is already occupied!"))
return ITEM_INTERACT_COMPLETE
if(!G || !G.affecting)
@@ -358,7 +358,7 @@
occupant = M
update_icon(UPDATE_ICON_STATE)
update_icon(UPDATE_OVERLAYS)
- to_chat(M, "You feel cool air surround you. You go numb as your senses turn inward.")
+ to_chat(M, SPAN_BOLDNOTICE("You feel cool air surround you. You go numb as your senses turn inward."))
add_fingerprint(user)
qdel(G)
SStgui.update_uis(src)
@@ -373,7 +373,7 @@
/obj/machinery/sleeper/screwdriver_act(mob/user, obj/item/I)
if(occupant)
- to_chat(user, "The maintenance panel is locked.")
+ to_chat(user, SPAN_NOTICE("The maintenance panel is locked."))
return TRUE
if(default_deconstruction_screwdriver(user, "[base_icon]-o", "[base_icon]-open", I))
return TRUE
@@ -383,10 +383,10 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(occupant)
- to_chat(user, "The scanner is occupied.")
+ to_chat(user, SPAN_NOTICE("The scanner is occupied."))
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
return
setDir(turn(dir, -90))
@@ -448,7 +448,7 @@
/obj/machinery/sleeper/proc/inject_chemical(mob/living/user, chemical, amount)
if(!(chemical in possible_chems))
- to_chat(user, "The sleeper does not offer that chemical!")
+ to_chat(user, SPAN_NOTICE("The sleeper does not offer that chemical!"))
return
if(!(amount in amounts))
return
@@ -508,7 +508,7 @@
occupant = L
playsound(src, 'sound/machines/podclose.ogg', 5)
update_icon(UPDATE_ICON_STATE|UPDATE_OVERLAYS)
- to_chat(L, "You feel cool air surround you. You go numb as your senses turn inward.")
+ to_chat(L, SPAN_BOLDNOTICE("You feel cool air surround you. You go numb as your senses turn inward."))
add_fingerprint(user)
if(user.pulling == L)
user.stop_pulling()
@@ -533,19 +533,19 @@
if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc?
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_BOLDNOTICE("Close the maintenance panel first."))
return
if(occupant)
- to_chat(user, "The sleeper is already occupied!")
+ to_chat(user, SPAN_BOLDNOTICE("The sleeper is already occupied!"))
return
var/mob/living/L = O
if(!istype(L) || L.buckled)
return
if(L.abiotic())
- to_chat(user, "Subject may not hold anything in their hands.")
+ to_chat(user, SPAN_BOLDNOTICE("Subject may not hold anything in their hands."))
return
if(L.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head."))
return
return TRUE
@@ -612,7 +612,7 @@
light_color = LIGHT_COLOR_DARKRED
/obj/machinery/sleeper/clockwork/crowbar_act(mob/user, obj/item/I)
- to_chat(user, "You pry on the internal mechanisms of [src] with all your might, but they refuse to budge!")
+ to_chat(user, SPAN_WARNING("You pry on the internal mechanisms of [src] with all your might, but they refuse to budge!"))
return FALSE
#undef ADDICTION_SPEEDUP_TIME
diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index bef8145a184..761933f41fd 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -20,11 +20,11 @@
. = ..()
if(occupant)
if(occupant.stat == DEAD)
- . += "You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!"
+ . += SPAN_WARNING("You see [occupant.name] inside. [occupant.p_they(TRUE)] [occupant.p_are()] dead!")
else
- . += "You see [occupant.name] inside."
+ . += SPAN_NOTICE("You see [occupant.name] inside.")
if(Adjacent(user))
- . += "You can Alt-Click to eject the current occupant. Click-drag someone to the scanner to place them inside."
+ . += SPAN_NOTICE("You can Alt-Click to eject the current occupant. Click-drag someone to the scanner to place them inside.")
/obj/machinery/bodyscanner/Destroy()
@@ -70,23 +70,23 @@
if(istype(used, /obj/item/grab))
var/obj/item/grab/TYPECAST_YOUR_SHIT = used
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
return ITEM_INTERACT_COMPLETE
if(!ishuman(TYPECAST_YOUR_SHIT.affecting))
return ITEM_INTERACT_COMPLETE
if(occupant)
- to_chat(user, "The scanner is already occupied!")
+ to_chat(user, SPAN_NOTICE("The scanner is already occupied!"))
return ITEM_INTERACT_COMPLETE
if(TYPECAST_YOUR_SHIT.affecting.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[TYPECAST_YOUR_SHIT.affecting] will not fit into [src] because [TYPECAST_YOUR_SHIT.affecting.p_they()] [TYPECAST_YOUR_SHIT.affecting.p_have()] a fucking slime latched onto [TYPECAST_YOUR_SHIT.affecting.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[TYPECAST_YOUR_SHIT.affecting] will not fit into [src] because [TYPECAST_YOUR_SHIT.affecting.p_they()] [TYPECAST_YOUR_SHIT.affecting.p_have()] a fucking slime latched onto [TYPECAST_YOUR_SHIT.affecting.p_their()] head."))
return ITEM_INTERACT_COMPLETE
var/mob/living/carbon/human/M = TYPECAST_YOUR_SHIT.affecting
if(M.abiotic())
- to_chat(user, "Subject may not hold anything in their hands.")
+ to_chat(user, SPAN_NOTICE("Subject may not hold anything in their hands."))
return ITEM_INTERACT_COMPLETE
M.forceMove(src)
@@ -113,10 +113,10 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(occupant)
- to_chat(user, "The scanner is occupied.")
+ to_chat(user, SPAN_NOTICE("The scanner is occupied."))
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
return
setDir(turn(dir, -90))
@@ -133,18 +133,18 @@
if(!ishuman(user) && !isrobot(user))
return FALSE //not a borg or human
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
return TRUE //panel open
if(occupant)
- to_chat(user, "[src] is already occupied.")
+ to_chat(user, SPAN_NOTICE("[src] is already occupied."))
return TRUE //occupied
if(H.buckled)
return FALSE
if(H.abiotic())
- to_chat(user, "Subject may not hold anything in their hands.")
+ to_chat(user, SPAN_NOTICE("Subject may not hold anything in their hands."))
return TRUE
if(H.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[H] will not fit into [src] because [H.p_they()] [H.p_have()] a slime latched onto [H.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[H] will not fit into [src] because [H.p_they()] [H.p_have()] a slime latched onto [H.p_their()] head."))
return TRUE
if(H == user)
@@ -175,7 +175,7 @@
return // you cant reach that
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
return
ui_interact(user)
@@ -411,7 +411,7 @@
if("ejectify")
eject()
if("print_p")
- visible_message("[src] rattles and prints out a sheet of paper.")
+ visible_message(SPAN_NOTICE("[src] rattles and prints out a sheet of paper."))
var/obj/item/paper/P = new /obj/item/paper(loc)
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, TRUE)
var/name = occupant ? occupant.name : "Unknown"
diff --git a/code/game/machinery/ai_resource.dm b/code/game/machinery/ai_resource.dm
index ca7a4012487..bdd74cc291f 100644
--- a/code/game/machinery/ai_resource.dm
+++ b/code/game/machinery/ai_resource.dm
@@ -43,7 +43,7 @@ GLOBAL_LIST_EMPTY(ai_nodes)
/obj/machinery/ai_node/examine(mob/user)
. = ..()
- . += "This machine is temperature sensitive. Any temperature colder than 273K will freeze it, whle any temperature higher than [overheat_temp]K will cause it to overheat."
+ . += SPAN_NOTICE("This machine is temperature sensitive. Any temperature colder than 273K will freeze it, whle any temperature higher than [overheat_temp]K will cause it to overheat.")
/obj/machinery/ai_node/process()
..()
@@ -116,13 +116,13 @@ GLOBAL_LIST_EMPTY(ai_nodes)
/obj/machinery/ai_node/proc/toggle(mob/user = null)
if(overheating)
if(user)
- to_chat(user, "You turn the overheating [src] off.")
+ to_chat(user, SPAN_NOTICE("You turn the overheating [src] off."))
overheating = FALSE
update_icon(UPDATE_ICON_STATE)
return
active = !active
if(user)
- to_chat(user, "You turn [src] [active ? "on" : "off"].")
+ to_chat(user, SPAN_NOTICE("You turn [src] [active ? "on" : "off"]."))
if(active) // We're booting up
refresh_ai()
else // We're shutting down
@@ -139,7 +139,7 @@ GLOBAL_LIST_EMPTY(ai_nodes)
else // We have an AI
assigned_ai.program_picker.modify_resource(resource_key, resource_amount)
var/area/our_area = get_area(src)
- to_chat(assigned_ai, "New server node connected at: [our_area.name].")
+ to_chat(assigned_ai, SPAN_NOTICE("New server node connected at: [our_area.name]."))
change_power_mode(ACTIVE_POWER_USE)
update_icon(UPDATE_ICON_STATE)
@@ -148,7 +148,7 @@ GLOBAL_LIST_EMPTY(ai_nodes)
if(assigned_ai)
assigned_ai.program_picker.modify_resource(resource_key, -resource_amount)
var/area/our_area = get_area(src)
- to_chat(assigned_ai, "Server node disconnected at: [our_area.name]!")
+ to_chat(assigned_ai, SPAN_WARNING("Server node disconnected at: [our_area.name]!"))
assigned_ai = null
change_power_mode(IDLE_POWER_USE)
update_icon(UPDATE_ICON_STATE)
@@ -184,10 +184,10 @@ GLOBAL_LIST_EMPTY(ai_nodes)
return
var/area/our_area = get_area(src)
assigned_ai.program_picker.modify_resource(resource_key, -resource_amount)
- to_chat(assigned_ai, "Server node disconnected at: [our_area.name]!")
+ to_chat(assigned_ai, SPAN_WARNING("Server node disconnected at: [our_area.name]!"))
assigned_ai = new_ai
assigned_ai.program_picker.modify_resource(resource_key, resource_amount)
- to_chat(assigned_ai, "New server node connected at: [our_area.name].")
+ to_chat(assigned_ai, SPAN_NOTICE("New server node connected at: [our_area.name]."))
/datum/milla_safe/ai_node_process
@@ -272,7 +272,7 @@ GLOBAL_LIST_EMPTY(ai_nodes)
var/screen = ALLOCATED_RESOURCES
/obj/machinery/computer/ai_resource/attack_ai(mob/user) // Bad AI, no access to stealing resources
- to_chat(user, "ERROR: Firewall blocked! Station AI's are not permitted to interface with this console!")
+ to_chat(user, SPAN_WARNING("ERROR: Firewall blocked! Station AI's are not permitted to interface with this console!"))
return
/obj/machinery/computer/ai_resource/attack_hand(mob/user)
@@ -336,10 +336,10 @@ GLOBAL_LIST_EMPTY(ai_nodes)
return
. = FALSE
if(!is_authenticated(ui.user))
- to_chat(ui.user, "Access denied.")
+ to_chat(ui.user, SPAN_WARNING("Access denied."))
return
if(SSticker.current_state == GAME_STATE_FINISHED)
- to_chat(ui.user, "Access denied, AIs are no longer your station's property.")
+ to_chat(ui.user, SPAN_WARNING("Access denied, AIs are no longer your station's property."))
return
switch(action)
diff --git a/code/game/machinery/ai_slipper.dm b/code/game/machinery/ai_slipper.dm
index bbceade5192..a7b5d0afae3 100644
--- a/code/game/machinery/ai_slipper.dm
+++ b/code/game/machinery/ai_slipper.dm
@@ -13,7 +13,7 @@
/obj/machinery/ai_slipper/examine(mob/user)
. = ..()
- . += "A small counter shows it has: [uses] use\s remaining."
+ . += SPAN_NOTICE("A small counter shows it has: [uses] use\s remaining.")
/obj/machinery/ai_slipper/power_change()
if(!..())
@@ -30,10 +30,10 @@
/obj/machinery/ai_slipper/attack_hand(mob/user)
if(stat & (NOPOWER|BROKEN))
- to_chat(user, "[src] has no power or is broken!")
+ to_chat(user, SPAN_WARNING("[src] has no power or is broken!"))
return
if(!allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return
Activate(user)
@@ -41,10 +41,10 @@
if(stat & (NOPOWER|BROKEN))
return
if(!uses)
- to_chat(user, "[src] is empty!")
+ to_chat(user, SPAN_WARNING("[src] is empty!"))
return
if(cooldown_on)
- to_chat(user, "[src] is still recharging!")
+ to_chat(user, SPAN_WARNING("[src] is still recharging!"))
return
else
new /obj/effect/particle_effect/foam(loc)
diff --git a/code/game/machinery/airlock_control/airlock_button.dm b/code/game/machinery/airlock_control/airlock_button.dm
index 0af536f76c5..c0dd3c0fb4e 100644
--- a/code/game/machinery/airlock_control/airlock_button.dm
+++ b/code/game/machinery/airlock_control/airlock_button.dm
@@ -48,15 +48,15 @@ GLOBAL_LIST_EMPTY(all_airlock_access_buttons)
var/obj/machinery/airlock_controller/C = locateUID(controller_uid)
if(!C)
- to_chat(user, "Could not communicate with controller.")
+ to_chat(user, SPAN_WARNING("Could not communicate with controller."))
return
if(!C.has_power(C.power_channel))
- to_chat(user, "No response from controller, possibly offline.")
+ to_chat(user, SPAN_WARNING("No response from controller, possibly offline."))
return
if(!allowed(user) && !user.can_advanced_admin_interact())
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return
C.handle_button(assigned_command)
diff --git a/code/game/machinery/airlock_control/airlock_controllers.dm b/code/game/machinery/airlock_control/airlock_controllers.dm
index 11f2cfb71eb..59a9f6c3d8e 100644
--- a/code/game/machinery/airlock_control/airlock_controllers.dm
+++ b/code/game/machinery/airlock_control/airlock_controllers.dm
@@ -73,7 +73,7 @@
/obj/machinery/airlock_controller/attack_hand(mob/user)
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return FALSE
ui_interact(user)
@@ -97,7 +97,7 @@
add_fingerprint(usr)
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return TRUE
switch(action)
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 0ae29829417..612061df3cc 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -183,27 +183,27 @@
var/index = text2num(params["remove_from_queue"])
if(isnum(index) && ISINRANGE(index, 1, length(queue)))
remove_from_queue(index)
- to_chat(usr, "Removed item from queue.")
+ to_chat(usr, SPAN_NOTICE("Removed item from queue."))
if("make")
BuildTurf = loc
var/datum/design/design_last_ordered
design_last_ordered = locateUID(params["make"])
if(!istype(design_last_ordered))
- to_chat(usr, "Invalid design")
+ to_chat(usr, SPAN_WARNING("Invalid design"))
return
if(!(design_last_ordered.id in files.known_designs))
- to_chat(usr, "Invalid design (not in autolathe's known designs, report this error.)")
+ to_chat(usr, SPAN_WARNING("Invalid design (not in autolathe's known designs, report this error.)"))
return
var/datum/component/material_container/materials = GetComponent(/datum/component/material_container)
var/coeff = get_coeff(design_last_ordered)
if(design_last_ordered.materials[MAT_METAL] / coeff > materials.amount(MAT_METAL))
- to_chat(usr, "Invalid design (not enough metal)")
+ to_chat(usr, SPAN_WARNING("Invalid design (not enough metal)"))
return
if(design_last_ordered.materials[MAT_GLASS] / coeff > materials.amount(MAT_GLASS))
- to_chat(usr, "Invalid design (not enough glass)")
+ to_chat(usr, SPAN_WARNING("Invalid design (not enough glass)"))
return
if(!hacked && ("hacked" in design_last_ordered.category))
- to_chat(usr, "Invalid design (lathe requires hacking)")
+ to_chat(usr, SPAN_WARNING("Invalid design (lathe requires hacking)"))
return
//multiplier checks : only stacks can have one and its value is 1, 10 ,25 or max_multiplier
var/multiplier = text2num(params["multiplier"])
@@ -218,7 +218,7 @@
if((length(queue) + 1) < queue_max_len)
add_to_queue(design_last_ordered, multiplier)
else
- to_chat(usr, "The autolathe queue is full!")
+ to_chat(usr, SPAN_WARNING("The autolathe queue is full!"))
if(!busy)
busy = TRUE
process_queue()
@@ -266,7 +266,7 @@
/obj/machinery/autolathe/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(busy)
- to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
+ to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation."))
return ITEM_INTERACT_COMPLETE
if(stat)
@@ -280,11 +280,11 @@
var/datum/design/design = D.blueprint // READ ONLY!!
if(design.id in files.known_designs)
- to_chat(user, "This design has already been loaded into the autolathe.")
+ to_chat(user, SPAN_WARNING("This design has already been loaded into the autolathe."))
return TRUE
if(!files.CanAddDesign2Known(design))
- to_chat(user, "This design is not compatible with the autolathe.")
+ to_chat(user, SPAN_WARNING("This design is not compatible with the autolathe."))
return TRUE
user.visible_message(
@@ -301,12 +301,12 @@
SStgui.close_uis(src) // forces all connected users to re-open the TGUI. Imported entries won't show otherwise due to static_data
busy = FALSE
else
- to_chat(user, "That disk does not have a design on it!")
+ to_chat(user, SPAN_WARNING("That disk does not have a design on it!"))
return ITEM_INTERACT_COMPLETE
else
// So that people who are bad at computers don't shred their disks
- to_chat(user, "This is not the correct type of disk for the autolathe!")
+ to_chat(user, SPAN_WARNING("This is not the correct type of disk for the autolathe!"))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -318,7 +318,7 @@
return
. = TRUE
if(busy)
- to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
+ to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation."))
return
if(shocked && !(stat & NOPOWER))
if(shock(user, 50))
@@ -331,7 +331,7 @@
return
. = TRUE
if(busy)
- to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
+ to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation."))
return
default_deconstruction_screwdriver(user, "[initial(icon_state)]_t", initial(icon_state), I)
@@ -342,7 +342,7 @@
return
. = TRUE
if(busy)
- to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
+ to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation."))
return
interact(user)
@@ -353,7 +353,7 @@
return
. = TRUE
if(busy)
- to_chat(user, "The autolathe is busy. Please wait for completion of previous operation.")
+ to_chat(user, SPAN_ALERT("The autolathe is busy. Please wait for completion of previous operation."))
return
interact(user)
diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm
index 17c40a3a3f3..d60f5eeae12 100644
--- a/code/game/machinery/buttons.dm
+++ b/code/game/machinery/buttons.dm
@@ -48,7 +48,7 @@
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] starts unwrenching [src] from the wall...", "You are unwrenching [src] from the wall...", "You hear ratcheting.")
+ user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting."))
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume))
return
diff --git a/code/game/machinery/camera/camera.dm b/code/game/machinery/camera/camera.dm
index cecfd01c188..2c9f71bef98 100644
--- a/code/game/machinery/camera/camera.dm
+++ b/code/game/machinery/camera/camera.dm
@@ -95,13 +95,13 @@
/obj/machinery/camera/examine(mob/user)
. = ..()
- . += "[src]'s maintenance panel can be screwed [panel_open ? "closed" : "open"]."
+ . += SPAN_NOTICE("[src]'s maintenance panel can be screwed [panel_open ? "closed" : "open"].")
if(panel_open)
- . += "Upgrades can be added to [src] or pried out."
+ . += SPAN_NOTICE("Upgrades can be added to [src] or pried out.")
if(!wires.CanDeconstruct())
- . += "[src]'s internal wires are preventing you from cutting it free."
+ . += SPAN_NOTICE("[src]'s internal wires are preventing you from cutting it free.")
else
- . += "[src]'s internal wires are disconnected, but it can be cut free."
+ . += SPAN_NOTICE("[src]'s internal wires are disconnected, but it can be cut free.")
/obj/machinery/camera/emp_act(severity)
@@ -142,12 +142,12 @@
..()
/obj/machinery/camera/item_interaction(mob/living/user, obj/item/used, list/modifiers)
- var/msg = "You attach [used] into the assembly inner circuits."
- var/msg2 = "The camera already has that upgrade!"
+ var/msg = SPAN_NOTICE("You attach [used] into the assembly inner circuits.")
+ var/msg2 = SPAN_NOTICE("The camera already has that upgrade!")
if(istype(used, /obj/item/stack/sheet/mineral/plasma) && panel_open)
if(!user.canUnEquip(used, FALSE))
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
if(!isEmpProof())
var/obj/item/stack/sheet/mineral/plasma/P = used
@@ -159,7 +159,7 @@
to_chat(user, "[msg2]")
else if(istype(used, /obj/item/assembly/prox_sensor) && panel_open)
if(!user.canUnEquip(used, FALSE))
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
if(!isMotion())
upgradeMotion()
@@ -173,7 +173,7 @@
// OTHER
else if((istype(used, /obj/item/paper) || istype(used, /obj/item/pda)) && isliving(user))
if(!can_use())
- to_chat(user, "You can't show something to a disabled camera!")
+ to_chat(user, SPAN_WARNING("You can't show something to a disabled camera!"))
return ITEM_INTERACT_COMPLETE
var/mob/living/U = user
@@ -218,7 +218,7 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
panel_open = !panel_open
- to_chat(user, "You screw [src]'s panel [panel_open ? "open" : "closed"].")
+ to_chat(user, SPAN_NOTICE("You screw [src]'s panel [panel_open ? "open" : "closed"]."))
/obj/machinery/camera/wirecutter_act(mob/user, obj/item/I)
. = TRUE
@@ -242,8 +242,8 @@
return
WELDER_ATTEMPT_WELD_MESSAGE
if(I.use_tool(src, user, 100, volume = I.tool_volume))
- visible_message("[user] unwelds [src], leaving it as just a frame bolted to the wall.",
- "You unweld [src], leaving it as just a frame bolted to the wall")
+ visible_message(SPAN_WARNING("[user] unwelds [src], leaving it as just a frame bolted to the wall."),
+ SPAN_WARNING("You unweld [src], leaving it as just a frame bolted to the wall"))
deconstruct(TRUE)
/obj/machinery/camera/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
@@ -297,10 +297,10 @@
if(display_message)
if(user)
- visible_message("[user] reactivates [src]!")
+ visible_message(SPAN_DANGER("[user] reactivates [src]!"))
add_hiddenprint(user)
else
- visible_message("\The [src] reactivates!")
+ visible_message(SPAN_DANGER("\The [src] reactivates!"))
playsound(loc, toggle_sound, 100, TRUE)
update_icon(UPDATE_ICON_STATE)
SEND_SIGNAL(src, COMSIG_CAMERA_ON, user, display_message)
@@ -319,10 +319,10 @@
if(display_message)
if(user)
- visible_message("[user] deactivates [src]!")
+ visible_message(SPAN_DANGER("[user] deactivates [src]!"))
add_hiddenprint(user)
else
- visible_message("\The [src] deactivates!")
+ visible_message(SPAN_DANGER("\The [src] deactivates!"))
playsound(loc, toggle_sound, 100, 1)
update_icon(UPDATE_ICON_STATE)
diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm
index d151cc5337b..3b31e2b59fb 100644
--- a/code/game/machinery/camera/camera_assembly.dm
+++ b/code/game/machinery/camera/camera_assembly.dm
@@ -26,32 +26,32 @@
. = ..()
switch(state)
if(ASSEMBLY_UNBUILT)
- . += "The camera assembly's bolts need to be secured in a wall."
+ . += SPAN_NOTICE("The camera assembly's bolts need to be secured in a wall.")
if(ASSEMBLY_WRENCHED)
- . += "The camera assembly is bolted, but it needs to be welded into place."
+ . += SPAN_NOTICE("The camera assembly is bolted, but it needs to be welded into place.")
if(ASSEMBLY_WELDED)
- . += "The camera assembly is welded to the wall, it's lacking wires."
+ . += SPAN_NOTICE("The camera assembly is welded to the wall, it's lacking wires.")
if(ASSEMBLY_WIRED)
- . += "The camera assembly is wired, but the maintenence panel needs to be screwed shut."
- . += "Upgrades can be added to the camera assembly, and removed with a crowbar."
+ . += SPAN_NOTICE("The camera assembly is wired, but the maintenence panel needs to be screwed shut.")
+ . += SPAN_NOTICE("Upgrades can be added to the camera assembly, and removed with a crowbar.")
/obj/item/camera_assembly/attackby__legacy__attackchain(obj/item/I, mob/living/user, params)
if(state == ASSEMBLY_WELDED && iscoil(I))
var/obj/item/stack/cable_coil/C = I
if(C.use(2))
- to_chat(user, "You add wires to the assembly.")
+ to_chat(user, SPAN_NOTICE("You add wires to the assembly."))
playsound(loc, I.usesound, 50, 1)
state = ASSEMBLY_WIRED
else
- to_chat(user, "You need 2 coils of wire to wire the assembly.")
+ to_chat(user, SPAN_WARNING("You need 2 coils of wire to wire the assembly."))
return
// Upgrades!
else if(is_type_in_list(I, possible_upgrades) && !is_type_in_list(I, upgrades)) // Is a possible upgrade and isn't in the camera already.
if(!user.drop_item_to_ground(I))
- to_chat(user, "[I] is stuck!")
+ to_chat(user, SPAN_WARNING("[I] is stuck!"))
return
- to_chat(user, "You attach [I] into the assembly inner circuits.")
+ to_chat(user, SPAN_NOTICE("You attach [I] into the assembly inner circuits."))
upgrades += I
user.drop_item()
I.loc = src
@@ -67,7 +67,7 @@
return
var/obj/U = locate(/obj) in upgrades
if(U)
- to_chat(user, "You detach an upgrade from the assembly.")
+ to_chat(user, SPAN_NOTICE("You detach an upgrade from the assembly."))
playsound(loc, I.usesound, 50, 1)
U.loc = get_turf(src)
upgrades -= U
@@ -82,13 +82,13 @@
var/input = strip_html(input(usr, "Which networks would you like to connect this camera to? Separate networks with a comma. No Spaces!\nFor example: SS13,Security,Secret ", "Set Network", "SS13"))
if(!input)
state = ASSEMBLY_WIRED
- to_chat(usr, "No input found please hang up and try your call again.")
+ to_chat(usr, SPAN_WARNING("No input found please hang up and try your call again."))
return
var/list/tempnetwork = splittext(input, ",")
if(length(tempnetwork) < 1)
state = ASSEMBLY_WIRED
- to_chat(usr, "No network found please hang up and try your call again.")
+ to_chat(usr, SPAN_WARNING("No network found please hang up and try your call again."))
return
var/area/camera_area = get_area(src)
@@ -146,7 +146,7 @@
update_icon(UPDATE_ICON_STATE)
state = ASSEMBLY_UNBUILT
else
- to_chat(user, "[src] can't fit here!")
+ to_chat(user, SPAN_WARNING("[src] can't fit here!"))
/obj/item/camera_assembly/welder_act(mob/user, obj/item/I)
if(state == ASSEMBLY_UNBUILT)
@@ -158,12 +158,12 @@
if(state == ASSEMBLY_WRENCHED)
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
- to_chat(user, "You weld [src] into place.")
+ to_chat(user, SPAN_NOTICE("You weld [src] into place."))
state = ASSEMBLY_WELDED
else if(state == ASSEMBLY_WELDED)
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
- to_chat(user, "You unweld [src] from its place.")
+ to_chat(user, SPAN_NOTICE("You unweld [src] from its place."))
state = ASSEMBLY_WRENCHED
/obj/item/camera_assembly/update_icon_state()
diff --git a/code/game/machinery/camera/motion.dm b/code/game/machinery/camera/motion.dm
index e3b57014330..ca28a5b0789 100644
--- a/code/game/machinery/camera/motion.dm
+++ b/code/game/machinery/camera/motion.dm
@@ -53,7 +53,7 @@
if(status)
var/area/A = get_area(src)
GLOB.alarm_manager.trigger_alarm("Motion", A, A.cameras, src)
- visible_message("A red light flashes on [src]!")
+ visible_message(SPAN_WARNING("A red light flashes on [src]!"))
detectTime = -1
return TRUE
diff --git a/code/game/machinery/camera/tracking.dm b/code/game/machinery/camera/tracking.dm
index 9c1a491b6fc..ea5c57edc0b 100644
--- a/code/game/machinery/camera/tracking.dm
+++ b/code/game/machinery/camera/tracking.dm
@@ -118,23 +118,23 @@
U.camera_follow = target
U.tracking = TRUE
- to_chat(U, "Attempting to track [target.get_visible_name()]...")
+ to_chat(U, SPAN_NOTICE("Attempting to track [target.get_visible_name()]..."))
if(!doubleclick)
sleep(1.5 SECONDS) // Gives antags a brief window to get out of dodge before the eye of sauron decends upon them when someone yells ;HALP
spawn(15) //give the AI a grace period to stop moving.
U.tracking = FALSE
if(target.is_jammed())
- to_chat(U, "Unable to track [target.get_visible_name()]...")
+ to_chat(U, SPAN_WARNING("Unable to track [target.get_visible_name()]..."))
U.camera_follow = null
return
if(!target || !target.can_track(usr))
- to_chat(U, "Target is not near any active cameras.")
+ to_chat(U, SPAN_WARNING("Target is not near any active cameras."))
U.camera_follow = null
return
- to_chat(U, "Now tracking [target.get_visible_name()] on camera.")
+ to_chat(U, SPAN_NOTICE("Now tracking [target.get_visible_name()] on camera."))
var/cameraticks = 0
spawn(0)
@@ -145,11 +145,11 @@
if(!target.can_track(usr))
U.tracking = TRUE
if(!cameraticks)
- to_chat(U, "Target is not near any active cameras. Attempting to reacquire...")
+ to_chat(U, SPAN_WARNING("Target is not near any active cameras. Attempting to reacquire..."))
cameraticks++
if(cameraticks > 9)
U.camera_follow = null
- to_chat(U, "Unable to reacquire, cancelling track...")
+ to_chat(U, SPAN_WARNING("Unable to reacquire, cancelling track..."))
U.tracking = FALSE
return
else
diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm
index 1433be0dd98..5ddaf9756ad 100644
--- a/code/game/machinery/cell_charger.dm
+++ b/code/game/machinery/cell_charger.dm
@@ -14,11 +14,11 @@
/obj/machinery/cell_charger/examine(mob/user)
. = ..()
- . += "There's [charging ? "\a [charging.name]" : "no cell"] in [src]."
+ . += SPAN_NOTICE("There's [charging ? "\a [charging.name]" : "no cell"] in [src].")
if(charging && !(stat & (NOPOWER|BROKEN)))
- . += "Current charge: [round(charging.percent(), 1)]%"
+ . += SPAN_NOTICE("Current charge: [round(charging.percent(), 1)]%")
if(charging.percent() < 100)
- . += "- Recharging [((charging.chargerate * recharge_coeff) / charging.maxcharge) * 100]% cell charge per cycle."
+ . += SPAN_NOTICE("- Recharging [((charging.chargerate * recharge_coeff) / charging.maxcharge) * 100]% cell charge per cycle.")
/obj/machinery/cell_charger/Initialize(mapload)
. = ..()
@@ -64,27 +64,27 @@
/obj/machinery/cell_charger/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/stock_parts/cell) && !panel_open)
if(stat & BROKEN)
- to_chat(user, "[src] is broken!")
+ to_chat(user, SPAN_WARNING("[src] is broken!"))
return ITEM_INTERACT_COMPLETE
if(!anchored)
- to_chat(user, "[src] isn't attached to the ground!")
+ to_chat(user, SPAN_WARNING("[src] isn't attached to the ground!"))
return ITEM_INTERACT_COMPLETE
if(charging)
- to_chat(user, "There is already a cell in the charger!")
+ to_chat(user, SPAN_WARNING("There is already a cell in the charger!"))
return ITEM_INTERACT_COMPLETE
else
var/area/a = loc.loc // Gets our locations location, like a dream within a dream
if(!isarea(a))
return ITEM_INTERACT_COMPLETE
if(!a.powernet.has_power(PW_CHANNEL_EQUIPMENT)) // There's no APC in this area, don't try to cheat power!
- to_chat(user, "[src] blinks red as you try to insert the cell!")
+ to_chat(user, SPAN_WARNING("[src] blinks red as you try to insert the cell!"))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
charging = used
- user.visible_message("[user] inserts a cell into the charger.", "You insert a cell into the charger.")
+ user.visible_message("[user] inserts a cell into the charger.", SPAN_NOTICE("You insert a cell into the charger."))
check_level()
update_icon(UPDATE_OVERLAYS)
return ITEM_INTERACT_COMPLETE
@@ -102,7 +102,7 @@
/obj/machinery/cell_charger/wrench_act(mob/user, obj/item/I)
. = TRUE
if(charging)
- to_chat(user, "Remove the cell first!")
+ to_chat(user, SPAN_WARNING("Remove the cell first!"))
return
default_unfasten_wrench(user, I, 0)
@@ -119,7 +119,7 @@
user.put_in_hands(charging)
charging.add_fingerprint(user)
- user.visible_message("[user] removes [charging] from [src].", "You remove [charging] from [src].")
+ user.visible_message("[user] removes [charging] from [src].", SPAN_NOTICE("You remove [charging] from [src]."))
removecell()
@@ -128,7 +128,7 @@
return
charging.forceMove(loc)
- to_chat(user, "You telekinetically remove [charging] from [src].")
+ to_chat(user, SPAN_NOTICE("You telekinetically remove [charging] from [src]."))
removecell()
diff --git a/code/game/machinery/clonepod.dm b/code/game/machinery/clonepod.dm
index d54710d21c4..9fd52e62190 100644
--- a/code/game/machinery/clonepod.dm
+++ b/code/game/machinery/clonepod.dm
@@ -163,7 +163,7 @@
/obj/machinery/clonepod/examine(mob/user)
. = ..()
- . += "[desc_flavor]"
+ . += SPAN_NOTICE("[desc_flavor]")
/obj/machinery/clonepod/RefreshParts()
speed_modifier = 0 // Since we have multiple manipulators, which affect this modifier, we reset here so we can just use += later
@@ -204,7 +204,7 @@
biomass += MEAT_BIOMASS_VALUE
show_message = TRUE
if(show_message)
- visible_message("[src] sucks in nearby biomass.")
+ visible_message(SPAN_NOTICE("[src] sucks in nearby biomass."))
//If we're cloning someone, we haven't generated a list of limbs to grow, and we're before any possibility of not having any limbs left to grow.
if(currently_cloning && !length(limbs_to_grow) && clone_progress < 20)
@@ -355,7 +355,7 @@
organ.status = desired_data.organs[candidate_for_insertion][2]
for(var/datum/quirk/quirk as anything in patient_data.quirks)
quirk.apply_quirk_effects(clone)
-
+
clone.updatehealth("droplimb")
clone.regenerate_icons()
@@ -382,8 +382,8 @@
clone.grab_ghost()
clone.update_revive()
REMOVE_TRAIT(clone, TRAIT_NOFIRE, "cloning")
- to_chat(clone, "You remember nothing from the time that you were dead!")
- to_chat(clone, "There's a bright flash of light, and you take your first breath once more.")
+ to_chat(clone, SPAN_USERDANGER("You remember nothing from the time that you were dead!"))
+ to_chat(clone, SPAN_NOTICE("There's a bright flash of light, and you take your first breath once more."))
reset_cloning()
return TRUE
@@ -400,8 +400,8 @@
clone.grab_ghost()
clone.update_revive()
REMOVE_TRAIT(clone, TRAIT_NOFIRE, "cloning")
- to_chat(clone, "You remember nothing from the time that you were dead!")
- to_chat(clone, "You're ripped out of blissful oblivion! You feel like shit.")
+ to_chat(clone, SPAN_USERDANGER("You remember nothing from the time that you were dead!"))
+ to_chat(clone, SPAN_DANGER("You're ripped out of blissful oblivion! You feel like shit."))
reset_cloning()
return TRUE
@@ -502,28 +502,28 @@
stored_organs++
if(stored_organs >= organ_storage_capacity)
- to_chat(inserter, "[src]'s organ storage is full!")
+ to_chat(inserter, SPAN_WARNING("[src]'s organ storage is full!"))
return
if(is_internal_organ(inserted))
if(is_type_in_list(inserted, FORBIDDEN_INTERNAL_ORGANS))
- to_chat(inserter, "[src] refuses [inserted].")
+ to_chat(inserter, SPAN_WARNING("[src] refuses [inserted]."))
return
if(is_type_in_list(inserted, UPGRADE_LOCKED_ORGANS) && speed_modifier < 4) //if our manipulators aren't fully upgraded
- to_chat(inserter, "[src] refuses [inserted].")
+ to_chat(inserter, SPAN_WARNING("[src] refuses [inserted]."))
return
if(inserted.status & ORGAN_ROBOT && speed_modifier == 1) //if our manipulators aren't upgraded at all
- to_chat(inserter, "[src] refuses [inserted].")
+ to_chat(inserter, SPAN_WARNING("[src] refuses [inserted]."))
return
if(is_external_organ(inserted))
if(is_type_in_list(inserted, FORBIDDEN_LIMBS))
- to_chat(inserter, "[src] refuses [inserted].")
+ to_chat(inserter, SPAN_WARNING("[src] refuses [inserted]."))
return
var/obj/item/organ/external/EO = inserted
if(length(EO.children))
if((stored_organs + 1 + length(EO.children)) > organ_storage_capacity)
- to_chat(inserter, "You can't fit all of [inserted] into [src]'s organ storage!")
+ to_chat(inserter, SPAN_WARNING("You can't fit all of [inserted] into [src]'s organ storage!"))
return
has_children = TRUE
for(var/obj/item/organ/external/child in EO.children)
@@ -533,7 +533,7 @@
EO.compile_icon()
if(is_type_in_list(inserted, ALLOWED_ROBOT_PARTS) && speed_modifier == 1) //if our manipulators aren't upgraded at all
- to_chat(inserter, "[src] refuses [inserted].")
+ to_chat(inserter, SPAN_WARNING("[src] refuses [inserted]."))
return
if(ismob(inserted.loc))
@@ -541,14 +541,14 @@
if(!M.get_active_hand() == inserted)
return //not sure how this would happen, but smartfridges check for it so
if(!M.unequip(inserted))
- to_chat(inserter, "[inserted] is stuck to you!")
+ to_chat(inserter, SPAN_WARNING("[inserted] is stuck to you!"))
return
inserted.forceMove(src)
- to_chat(inserter, "You insert [inserted] into [src]'s organ storage.")
+ to_chat(inserter, SPAN_NOTICE("You insert [inserted] into [src]'s organ storage."))
SStgui.try_update_ui(inserter, src)
if(has_children)
- visible_message("There's a crunching sound as [src] breaks down [inserted] into discrete parts.", "You hear a loud crunch.")
+ visible_message(SPAN_NOTICE("There's a crunching sound as [src] breaks down [inserted] into discrete parts."), "You hear a loud crunch.")
/obj/machinery/clonepod/proc/get_stored_organ(organ)
for(var/obj/item/organ/external/EO in contents)
@@ -568,13 +568,13 @@
if(istype(used, /obj/item/card/id) || istype(used, /obj/item/pda))
if(!allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return ITEM_INTERACT_COMPLETE
switch(tgui_alert(user, "Perform an emergency ejection of [src]?", "Cloning pod", list("Yes", "No")))
if("Yes")
eject_clone(TRUE) // GET OUT
- to_chat(user, "You force [src] to eject its clone!")
+ to_chat(user, SPAN_WARNING("You force [src] to eject its clone!"))
log_admin("[key_name(user)] has activated a cloning pod's emergency eject at [COORD(src)] (clone: [key_name(clone)])")
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/machinery/clonescanner.dm b/code/game/machinery/clonescanner.dm
index 2875eb4d3b3..0a7778e64ba 100644
--- a/code/game/machinery/clonescanner.dm
+++ b/code/game/machinery/clonescanner.dm
@@ -73,13 +73,13 @@
return
var/mob/living/carbon/human/H = O
if(H.stat != DEAD)
- to_chat(user, "You don't think it'd be wise to scan a living being.")
+ to_chat(user, SPAN_WARNING("You don't think it'd be wise to scan a living being."))
return TRUE
if(occupant)
- to_chat(user, "[src] is already occupied!")
+ to_chat(user, SPAN_WARNING("[src] is already occupied!"))
return TRUE
- to_chat(user, "You put [H] into the cloning scanner.")
+ to_chat(user, SPAN_NOTICE("You put [H] into the cloning scanner."))
insert_mob(H)
return TRUE
@@ -212,7 +212,7 @@
/obj/machinery/clonescanner/screwdriver_act(mob/user, obj/item/I)
if(occupant)
- to_chat(user, "The maintenance panel is locked.")
+ to_chat(user, SPAN_NOTICE("The maintenance panel is locked."))
return TRUE
if(default_deconstruction_screwdriver(user, "[icon_state]_maintenance", "[initial(icon_state)]", I))
return TRUE
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index b0d40b588da..d01b7a282dd 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -197,7 +197,7 @@
return
playsound(loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = TRUE
- to_chat(user, "You vastly increase projector power and override the safety and security protocols.")
+ to_chat(user, SPAN_NOTICE("You vastly increase projector power and override the safety and security protocols."))
to_chat(user, "Warning! Automatic shutoff and derezing protocols have been corrupted. Please call Nanotrasen maintenance and do not use the simulator.")
log_game("[key_name(user)] emagged the Holodeck Control Computer")
return TRUE
@@ -392,13 +392,13 @@
hitsound = "sound/weapons/blade1.ogg"
w_class = WEIGHT_CLASS_BULKY
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
- to_chat(user, "[src] is now active.")
+ to_chat(user, SPAN_NOTICE("[src] is now active."))
else
force = 3
hitsound = "swing_hit"
w_class = WEIGHT_CLASS_SMALL
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
- to_chat(user, "[src] can now be concealed.")
+ to_chat(user, SPAN_NOTICE("[src] can now be concealed."))
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm
index 00207d8c09e..4dc6d255794 100644
--- a/code/game/machinery/computer/Operating.dm
+++ b/code/game/machinery/computer/Operating.dm
@@ -39,7 +39,7 @@
/obj/machinery/computer/operating/examine(mob/user)
. = ..()
- . += "This console gives information on the status of the patient on the adjacent operating table and the next surgery step required in the current surgery."
+ . += SPAN_NOTICE("This console gives information on the status of the patient on the adjacent operating table and the next surgery step required in the current surgery.")
/obj/machinery/computer/operating/attack_ai(mob/user)
add_fingerprint(user)
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index efa0f7a83f8..10537287b83 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -22,7 +22,7 @@
if(!user.drop_item())
return ITEM_INTERACT_COMPLETE
playsound(loc, P.usesound, 50, 1)
- to_chat(user, "You place the circuit board inside the frame.")
+ to_chat(user, SPAN_NOTICE("You place the circuit board inside the frame."))
update_icon(UPDATE_ICON_STATE)
state = CIRCUIT_CORE
P.forceMove(src)
@@ -34,31 +34,31 @@
var/obj/item/stack/cable_coil/C = P
if(C.get_amount() >= 5)
playsound(loc, 'sound/items/deconstruct.ogg', 50, 1)
- to_chat(user, "You start to add cables to the frame...")
+ to_chat(user, SPAN_NOTICE("You start to add cables to the frame..."))
if(do_after(user, 20, target = src) && state == SCREWED_CORE && C.use(5))
- to_chat(user, "You add cables to the frame.")
+ to_chat(user, SPAN_NOTICE("You add cables to the frame."))
state = CABLED_CORE
update_icon(UPDATE_ICON_STATE)
else
- to_chat(user, "You need five lengths of cable to wire the AI core!")
+ to_chat(user, SPAN_WARNING("You need five lengths of cable to wire the AI core!"))
return ITEM_INTERACT_COMPLETE
if(CABLED_CORE)
if(istype(P, /obj/item/stack/sheet/rglass))
var/obj/item/stack/sheet/rglass/G = P
if(G.get_amount() >= 2)
playsound(loc, 'sound/items/deconstruct.ogg', 50, 1)
- to_chat(user, "You start to put in the glass panel...")
+ to_chat(user, SPAN_NOTICE("You start to put in the glass panel..."))
if(do_after(user, 20, target = src) && state == CABLED_CORE && G.use(2))
- to_chat(user, "You put in the glass panel.")
+ to_chat(user, SPAN_NOTICE("You put in the glass panel."))
state = GLASS_CORE
update_icon(UPDATE_ICON_STATE)
else
- to_chat(user, "You need two sheets of reinforced glass to insert them into the AI core!")
+ to_chat(user, SPAN_WARNING("You need two sheets of reinforced glass to insert them into the AI core!"))
return ITEM_INTERACT_COMPLETE
if(istype(P, /obj/item/ai_module/purge))
laws.clear_inherent_laws()
- to_chat(usr, "Law module applied.")
+ to_chat(usr, SPAN_NOTICE("Law module applied."))
return ITEM_INTERACT_COMPLETE
if(istype(P, /obj/item/ai_module/freeform))
@@ -67,7 +67,7 @@
to_chat(usr, "No law detected on module, please create one.")
return ITEM_INTERACT_COMPLETE
laws.add_supplied_law(M.lawpos, M.newFreeFormLaw)
- to_chat(usr, "Added a freeform law.")
+ to_chat(usr, SPAN_NOTICE("Added a freeform law."))
return ITEM_INTERACT_COMPLETE
if(istype(P, /obj/item/ai_module/syndicate))
@@ -76,41 +76,41 @@
to_chat(usr, "No law detected on module, please create one.")
return ITEM_INTERACT_COMPLETE
laws.add_ion_law(M.newFreeFormLaw)
- to_chat(usr, "Added a hacked law.")
+ to_chat(usr, SPAN_NOTICE("Added a hacked law."))
return ITEM_INTERACT_COMPLETE
if(istype(P, /obj/item/ai_module))
var/obj/item/ai_module/M = P
if(!M.laws)
- to_chat(usr, "This AI module can not be applied directly to AI cores.")
+ to_chat(usr, SPAN_WARNING("This AI module can not be applied directly to AI cores."))
return ITEM_INTERACT_COMPLETE
laws = M.laws
- to_chat(usr, "Added [M.laws.name] laws.")
+ to_chat(usr, SPAN_NOTICE("Added [M.laws.name] laws."))
return ITEM_INTERACT_COMPLETE
if(istype(P, /obj/item/mmi) && !brain)
var/obj/item/mmi/M = P
if(!M.brainmob)
- to_chat(user, "Sticking an empty [P] into the frame would sort of defeat the purpose.")
+ to_chat(user, SPAN_WARNING("Sticking an empty [P] into the frame would sort of defeat the purpose."))
return ITEM_INTERACT_COMPLETE
if(M.brainmob.stat == DEAD)
- to_chat(user, "Sticking a dead [P] into the frame would sort of defeat the purpose.")
+ to_chat(user, SPAN_WARNING("Sticking a dead [P] into the frame would sort of defeat the purpose."))
return ITEM_INTERACT_COMPLETE
if(!M.brainmob.client)
- to_chat(user, "Sticking an inactive [M.name] into the frame would sort of defeat the purpose.")
+ to_chat(user, SPAN_WARNING("Sticking an inactive [M.name] into the frame would sort of defeat the purpose."))
return ITEM_INTERACT_COMPLETE
if(jobban_isbanned(M.brainmob, "AI") || jobban_isbanned(M.brainmob, "nonhumandept"))
- to_chat(user, "This [P] does not seem to fit.")
+ to_chat(user, SPAN_WARNING("This [P] does not seem to fit."))
return ITEM_INTERACT_COMPLETE
if(!M.brainmob.mind)
- to_chat(user, "This [M.name] is mindless!")
+ to_chat(user, SPAN_WARNING("This [M.name] is mindless!"))
return ITEM_INTERACT_COMPLETE
if(istype(P, /obj/item/mmi/syndie))
- to_chat(user, "This MMI does not seem to fit!")
+ to_chat(user, SPAN_WARNING("This MMI does not seem to fit!"))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
@@ -118,7 +118,7 @@
M.forceMove(src)
brain = M
- to_chat(user, "You add [M.name] to the frame.")
+ to_chat(user, SPAN_NOTICE("You add [M.name] to the frame."))
update_icon(UPDATE_ICON_STATE)
return ITEM_INTERACT_COMPLETE
@@ -132,21 +132,21 @@
return
switch(state)
if(CIRCUIT_CORE)
- to_chat(user, "You remove the circuit board.")
+ to_chat(user, SPAN_NOTICE("You remove the circuit board."))
state = EMPTY_CORE
circuit.forceMove(loc)
circuit = null
update_icon(UPDATE_ICON_STATE)
return
if(GLASS_CORE)
- to_chat(user, "You remove the glass panel.")
+ to_chat(user, SPAN_NOTICE("You remove the glass panel."))
state = CABLED_CORE
new /obj/item/stack/sheet/rglass(loc, 2)
update_icon(UPDATE_ICON_STATE)
return
if(CABLED_CORE)
if(brain)
- to_chat(user, "You remove the brain.")
+ to_chat(user, SPAN_NOTICE("You remove the brain."))
brain.forceMove(loc)
brain = null
update_icon(UPDATE_ICON_STATE)
@@ -159,16 +159,16 @@
return
switch(state)
if(SCREWED_CORE)
- to_chat(user, "You unfasten the circuit board.")
+ to_chat(user, SPAN_NOTICE("You unfasten the circuit board."))
state = CIRCUIT_CORE
if(CIRCUIT_CORE)
- to_chat(user, "You screw the circuit board into place.")
+ to_chat(user, SPAN_NOTICE("You screw the circuit board into place."))
state = SCREWED_CORE
if(GLASS_CORE)
var/area/R = get_area(src)
message_admins("[key_name_admin(usr)] has completed an AI core in [R]: [ADMIN_COORDJMP(loc)].")
log_game("[key_name(usr)] has completed an AI core in [R]: [COORD(loc)].")
- to_chat(user, "You connect the monitor.")
+ to_chat(user, SPAN_NOTICE("You connect the monitor."))
if(!brain)
var/open_for_latejoin = tgui_alert(user, "Would you like this core to be open for latejoining AIs?", "Latejoin", list("Yes", "No")) == "Yes"
var/obj/structure/ai_core/deactivated/D = new(loc)
@@ -187,7 +187,7 @@
SSblackbox.record_feedback("amount", "ais_created", 1)
qdel(src)
if(AI_READY_CORE)
- to_chat(user, "You disconnect the monitor.")
+ to_chat(user, SPAN_NOTICE("You disconnect the monitor."))
state = GLASS_CORE
update_icon(UPDATE_ICON_STATE)
@@ -199,9 +199,9 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(brain)
- to_chat(user, "Get that [brain.name] out of there first!")
+ to_chat(user, SPAN_WARNING("Get that [brain.name] out of there first!"))
else
- to_chat(user, "You remove the cables.")
+ to_chat(user, SPAN_NOTICE("You remove the cables."))
state = SCREWED_CORE
update_icon(UPDATE_ICON_STATE)
var/obj/item/stack/cable_coil/A = new /obj/item/stack/cable_coil( loc )
@@ -248,7 +248,7 @@
return
WELDER_ATTEMPT_WELD_MESSAGE
if(I.use_tool(src, user, 20, volume = I.tool_volume))
- to_chat(user, "You deconstruct the frame.")
+ to_chat(user, SPAN_NOTICE("You deconstruct the frame."))
new /obj/item/stack/sheet/plasteel(drop_location(), 4)
qdel(src)
@@ -299,7 +299,7 @@ That prevents a few funky behaviors.
/atom/proc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card)
if(istype(card))
if(card.flush)
- to_chat(user, "ERROR: AI flush is in progress, cannot execute transfer protocol.")
+ to_chat(user, "[SPAN_BOLDANNOUNCEIC("ERROR")]: AI flush is in progress, cannot execute transfer protocol.")
return 0
return 1
@@ -313,7 +313,7 @@ That prevents a few funky behaviors.
AI.aiRadio.disabledAi = FALSE
AI.forceMove(loc)//To replace the terminal.
to_chat(AI, "You have been uploaded to a stationary terminal. Remote device connection restored.")
- to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
+ to_chat(user, SPAN_BOLDNOTICE("Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed."))
if(!AI.builtInCamera && GetComponent(/datum/component/ducttape))
AI.builtInCamera = new /obj/machinery/camera/portable(AI)
AI.builtInCamera.c_tag = AI.name
diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm
index d6745d76ece..3f41a947dfc 100644
--- a/code/game/machinery/computer/aifixer.dm
+++ b/code/game/machinery/computer/aifixer.dm
@@ -14,9 +14,9 @@
if(stat & BROKEN)
return ..()
if(stat & NOPOWER)
- to_chat(user, "The screws on [name]'s screen won't budge.")
+ to_chat(user, SPAN_WARNING("The screws on [name]'s screen won't budge."))
else
- to_chat(user, "The screws on [name]'s screen won't budge and it emits a warning beep!.")
+ to_chat(user, SPAN_WARNING("The screws on [name]'s screen won't budge and it emits a warning beep!."))
return TRUE
else
return ..()
@@ -64,10 +64,10 @@
switch(action)
if("fix")
if(occupant.suiciding)
- to_chat(usr, "Memory corruption detected in recovery partition, likely due to a sudden self-induced shutdown. AI is unrecoverable.")
+ to_chat(usr, SPAN_WARNING("Memory corruption detected in recovery partition, likely due to a sudden self-induced shutdown. AI is unrecoverable."))
return
if(active) // Prevent from starting a fix while fixing.
- to_chat(usr, "You are already fixing this AI!")
+ to_chat(usr, SPAN_WARNING("You are already fixing this AI!"))
return
active = TRUE
INVOKE_ASYNC(src, PROC_REF(fix_ai))
@@ -123,20 +123,20 @@
AI.control_disabled = TRUE
AI.aiRadio.disabledAi = TRUE
to_chat(AI, "You have been uploaded to a stationary terminal. Sadly, there is no remote access from here.")
- to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
+ to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
update_icon(UPDATE_OVERLAYS)
else //Uploading AI from terminal to card
if(occupant && !active)
to_chat(occupant, "You have been downloaded to a mobile storage device. Still no remote access.")
- to_chat(user, "Transfer successful: [occupant.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
+ to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [occupant.name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
occupant.forceMove(card)
occupant = null
update_icon(UPDATE_OVERLAYS)
else if(active)
- to_chat(user, "ERROR: Reconstruction in progress.")
+ to_chat(user, "[SPAN_BOLDANNOUNCEIC("ERROR")]: Reconstruction in progress.")
else if(!occupant)
- to_chat(user, "ERROR: Unable to locate artificial intelligence.")
+ to_chat(user, "[SPAN_BOLDANNOUNCEIC("ERROR")]: Unable to locate artificial intelligence.")
/obj/machinery/computer/aifixer/Destroy()
if(occupant)
diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm
index b42333bf4b5..c8f4cefbb9f 100644
--- a/code/game/machinery/computer/arcade.dm
+++ b/code/game/machinery/computer/arcade.dm
@@ -366,18 +366,18 @@
dat += "
You ran out of food and starved."
if(emagged)
user.set_nutrition(0) //yeah you pretty hongry
- to_chat(user, "Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor.")
+ to_chat(user, SPAN_USERDANGER("Your body instantly contracts to that of one who has not eaten in months. Agonizing cramps seize you as you fall to the floor."))
if(fuel <= 0)
dat += "
You ran out of fuel, and drift, slowly, into a star."
if(emagged)
var/mob/living/M = user
M.adjust_fire_stacks(5)
M.IgniteMob() //flew into a star, so you're on fire
- to_chat(user, "You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames.")
+ to_chat(user, SPAN_USERDANGER("You feel an immense wave of heat emanate from the arcade machine. Your skin bursts into flames."))
dat += "
OK...
"
if(emagged)
- to_chat(user, "You're never going to make it to Orion...")
+ to_chat(user, "[SPAN_USERDANGER("You're never going to make it to Orion...")]")
user.death()
emagged = FALSE //removes the emagged status after you lose
playing = 0 //also a new game
@@ -444,22 +444,22 @@
switch(event)
if(ORION_TRAIL_RAIDERS)
if(prob(50))
- to_chat(usr, "You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?")
+ to_chat(usr, SPAN_USERDANGER("You hear battle shouts. The tramping of boots on cold metal. Screams of agony. The rush of venting air. Are you going insane?"))
M.AdjustHallucinate(30 SECONDS)
else
- to_chat(usr, "Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there...")
+ to_chat(usr, SPAN_USERDANGER("Something strikes you from behind! It hurts like hell and feel like a blunt weapon, but nothing is there..."))
M.take_organ_damage(30)
playsound(loc, 'sound/weapons/genhit2.ogg', 100, TRUE)
if(ORION_TRAIL_ILLNESS)
var/severity = rand(1,3) //pray to RNGesus. PRAY, PIGS
if(severity == 1)
- to_chat(M, "You suddenly feel slightly nauseous.")//got off lucky
+ to_chat(M, SPAN_USERDANGER("You suddenly feel slightly nauseous."))//got off lucky
if(severity == 2)
- to_chat(usr, "You suddenly feel extremely nauseous and hunch over until it passes.")
+ to_chat(usr, SPAN_USERDANGER("You suddenly feel extremely nauseous and hunch over until it passes."))
M.Stun(6 SECONDS)
if(severity >= 3) //you didn't pray hard enough
- to_chat(M, "An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit.")
+ to_chat(M, SPAN_WARNING("An overpowering wave of nausea consumes over you. You hunch over, your stomach's contents preparing for a spectacular exit."))
M.Stun(10 SECONDS)
sleep(30)
atom_say("[M] violently throws up!")
@@ -475,7 +475,7 @@
M.take_organ_damage(25)
playsound(loc, 'sound/weapons/genhit.ogg', 100, TRUE)
else
- to_chat(M, "A violent gale blows past you, and you barely manage to stay standing!")
+ to_chat(M, SPAN_USERDANGER("A violent gale blows past you, and you barely manage to stay standing!"))
if(ORION_TRAIL_COLLISION) //by far the most damaging event
if(prob(90))
playsound(loc, 'sound/effects/bang.ogg', 100, TRUE)
@@ -495,7 +495,7 @@
playsound(loc, 'sound/effects/bang.ogg', 50, TRUE)
if(ORION_TRAIL_MALFUNCTION)
playsound(loc, 'sound/effects/empulse.ogg', 50, TRUE)
- visible_message("[src] malfunctions, randomizing in-game stats!")
+ visible_message(SPAN_DANGER("[src] malfunctions, randomizing in-game stats!"))
var/oldfood = food
var/oldfuel = fuel
food = rand(10,80) / rand(1,2)
@@ -503,9 +503,9 @@
if(electronics)
sleep(10)
if(oldfuel > fuel && oldfood > food)
- audible_message("[src] lets out a somehow reassuring chime.")
+ audible_message(SPAN_DANGER("[src] lets out a somehow reassuring chime."))
else if(oldfuel < fuel || oldfood < food)
- audible_message("[src] lets out a somehow ominous chime.")
+ audible_message(SPAN_DANGER("[src] lets out a somehow ominous chime."))
food = oldfood
fuel = oldfuel
playsound(loc, 'sound/machines/chime.ogg', 50, TRUE)
@@ -958,7 +958,7 @@
/obj/machinery/computer/arcade/orion_trail/emag_act(mob/user)
if(!emagged)
- to_chat(user, "You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode.")
+ to_chat(user, SPAN_NOTICE("You override the cheat code menu and skip to Cheat #[rand(1, 50)]: Realism Mode."))
name = "The Orion Trail: Realism Edition"
desc = "Learn how our ancestors got to Orion, and try not to die in the process!"
add_hiddenprint(user)
@@ -984,9 +984,9 @@
. = ..()
if(in_range(user, src))
if(!active)
- . += "There's a little switch on the bottom. It's flipped down."
+ . += SPAN_NOTICE("There's a little switch on the bottom. It's flipped down.")
else
- . += "There's a little switch on the bottom. It's flipped up."
+ . += SPAN_NOTICE("There's a little switch on the bottom. It's flipped up.")
/obj/item/orion_ship/attack_self__legacy__attackchain(mob/user) //Minibomb-level explosion. Should probably be more because of how hard it is to survive the machine! Also, just over a 5-second fuse
if(active)
@@ -995,19 +995,19 @@
message_admins("[key_name_admin(usr)] primed an explosive Orion ship for detonation.")
log_game("[key_name(usr)] primed an explosive Orion ship for detonation.")
- to_chat(user, "You flip the switch on the underside of [src].")
+ to_chat(user, SPAN_WARNING("You flip the switch on the underside of [src]."))
active = TRUE
- visible_message("[src] softly beeps and whirs to life!")
+ visible_message(SPAN_NOTICE("[src] softly beeps and whirs to life!"))
playsound(loc, 'sound/machines/defib_saftyon.ogg', 25, TRUE)
atom_say("This is ship ID #[rand(1,1000)] to Orion Port Authority. We're coming in for landing, over.")
sleep(20)
- visible_message("[src] begins to vibrate...")
+ visible_message(SPAN_WARNING("[src] begins to vibrate..."))
atom_say("Uh, Port? Having some issues with our reactor, could you check it out? Over.")
sleep(30)
atom_say("Oh, God! Code Eight! CODE EIGHT! IT'S GONNA BL-")
playsound(loc, 'sound/machines/buzz-sigh.ogg', 25, TRUE)
sleep(3.6)
- visible_message("[src] explodes!")
+ visible_message(SPAN_USERDANGER("[src] explodes!"))
explosion(src.loc, 1,2,4, flame_range = 3, cause = "Orion Ship Minibomb")
qdel(src)
diff --git a/code/game/machinery/computer/arcade_games/recruiter.dm b/code/game/machinery/computer/arcade_games/recruiter.dm
index 933cbc0396c..7f5d84e4e3e 100644
--- a/code/game/machinery/computer/arcade_games/recruiter.dm
+++ b/code/game/machinery/computer/arcade_games/recruiter.dm
@@ -308,7 +308,7 @@
if(emagged)
return
if(user)
- to_chat(user, "You override the menu and revert the game to its previous version.")
+ to_chat(user, SPAN_NOTICE("You override the menu and revert the game to its previous version."))
add_hiddenprint(user)
game_status = RECRUITER_STATUS_START
name = "\improper NT Recruiter Simulator HARDCORE EDITION"
diff --git a/code/game/machinery/computer/atmos_controllers.dm b/code/game/machinery/computer/atmos_controllers.dm
index c8057b2d8f5..a6ee6ab2135 100644
--- a/code/game/machinery/computer/atmos_controllers.dm
+++ b/code/game/machinery/computer/atmos_controllers.dm
@@ -49,7 +49,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- user.visible_message("[user] unfastens \the [src].", "You have unfastened \the [src].", "You hear ratchet.")
+ user.visible_message("[user] unfastens \the [src].", SPAN_NOTICE("You have unfastened \the [src]."), "You hear ratchet.")
new /obj/item/pipe_gsensor(loc)
qdel(src)
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
@@ -100,7 +100,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
var/obj/item/multitool/M = I
M.buffer_uid = UID()
- to_chat(user, "You save [src] into [M]'s buffer")
+ to_chat(user, SPAN_NOTICE("You save [src] into [M]'s buffer"))
return TRUE
#undef ONOFF_TOGGLE
@@ -182,7 +182,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
// First see if they have a scrubber in their buffer
var/datum/linked_datum = locateUID(M.buffer_uid)
if(!linked_datum || !(istype(linked_datum, /obj/machinery/atmospherics/air_sensor) || istype(linked_datum, /obj/machinery/atmospherics/meter)))
- to_chat(user, "Error: No device in multitool buffer, or device is not a sensor or meter.")
+ to_chat(user, SPAN_WARNING("Error: No device in multitool buffer, or device is not a sensor or meter."))
return
var/new_name = clean_input(user, "Enter a name for the sensor/meter", "Name")
@@ -191,7 +191,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
sensor_name_uid_map[new_name] = linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open
sensor_name_data_map[new_name] = list()
- to_chat(user, "Successfully added a new sensor/meter with name [new_name]")
+ to_chat(user, SPAN_NOTICE("Successfully added a new sensor/meter with name [new_name]"))
if("Remove")
var/to_remove = tgui_input_list(user, "Select a sensor/meter to remove", "Sensor/Meter Removal", sensor_name_uid_map)
@@ -204,7 +204,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
sensor_name_uid_map -= to_remove
sensor_name_data_map -= to_remove
- to_chat(user, "Successfully removed sensor/meter with name [to_remove]")
+ to_chat(user, SPAN_NOTICE("Successfully removed sensor/meter with name [to_remove]"))
// Makes overrides easier
/obj/machinery/computer/general_air_control/proc/refresh_all()
@@ -400,12 +400,12 @@ GLOBAL_LIST_EMPTY(gas_sensors)
switch(choice)
if("Add")
if(M.buffer_uid in inlet_uids)
- to_chat(user, "Error: This device is already connected to the console.")
+ to_chat(user, SPAN_WARNING("Error: This device is already connected to the console."))
return
// First see if they have a scrubber in their buffer
var/datum/linked_datum = locateUID(M.buffer_uid)
if(!linked_datum || !istype(linked_datum, /obj/machinery/atmospherics/unary/outlet_injector))
- to_chat(user, "Error: No device in multitool buffer, or device is not an injector.")
+ to_chat(user, SPAN_WARNING("Error: No device in multitool buffer, or device is not an injector."))
return
inlet_uids += linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open
@@ -416,7 +416,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
inlet_injector.update_icon()
inlet_data += list("[linked_datum.UID()]" = list("name" = inlet_injector.name, "on" = inlet_injector.on, "rate" = inlet_injector.volume_rate, "uid" = inlet_injector.UID()))
refresh_inlets()
- to_chat(user, "Successfully added an inlet injector.")
+ to_chat(user, SPAN_NOTICE("Successfully added an inlet injector."))
if("Remove")
var/list/namelist = list()
@@ -445,9 +445,9 @@ GLOBAL_LIST_EMPTY(gas_sensors)
inlet_uids = list()
inlet_data = list()
refresh_inlets()
- to_chat(user, "Successfully unlinked inlet injector.")
+ to_chat(user, SPAN_NOTICE("Successfully unlinked inlet injector."))
else
- to_chat(user, "Error - No injector linked!")
+ to_chat(user, SPAN_WARNING("Error - No injector linked!"))
/obj/machinery/computer/general_air_control/large_tank_control/proc/configure_outlet(mob/living/user, obj/item/multitool/M)
@@ -458,12 +458,12 @@ GLOBAL_LIST_EMPTY(gas_sensors)
switch(choice)
if("Add")
if(M.buffer_uid in outlet_uids)
- to_chat(user, "Error: This device is already connected to the console.")
+ to_chat(user, SPAN_WARNING("Error: This device is already connected to the console."))
return
// First see if they have a scrubber in their buffer
var/datum/linked_datum = locateUID(M.buffer_uid)
if(!linked_datum)
- to_chat(user, "Error: No compatible device in multitool buffer")
+ to_chat(user, SPAN_WARNING("Error: No compatible device in multitool buffer"))
return
if(istype(linked_datum, /obj/machinery/atmospherics/unary/vent_pump))
outlet_uids += linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open
@@ -477,7 +477,7 @@ GLOBAL_LIST_EMPTY(gas_sensors)
outlet_vent.update_icon()
outlet_vent_data += list("[linked_datum.UID()]" = list("name" = outlet_vent.name, "on" = outlet_vent.on, "checks" = outlet_vent.pressure_checks, "rate" = outlet_vent.internal_pressure_bound, "uid" = outlet_vent.UID()))
refresh_outlets()
- to_chat(user, "Successfully added an outlet vent")
+ to_chat(user, SPAN_NOTICE("Successfully added an outlet vent"))
return
if(istype(linked_datum, /obj/machinery/atmospherics/unary/vent_scrubber))
outlet_uids += linked_datum.UID() // Make sure the multitool ref didnt change while they had the menu open
@@ -502,10 +502,10 @@ GLOBAL_LIST_EMPTY(gas_sensors)
"filter_h2" = scrubber.scrub_H2,
"filter_h2o" = scrubber.scrub_H2O,))
refresh_outlets()
- to_chat(user, "Successfully added an outlet scrubber")
+ to_chat(user, SPAN_NOTICE("Successfully added an outlet scrubber"))
return
else
- to_chat(user, "Error: No compatible device in multitool buffer")
+ to_chat(user, SPAN_WARNING("Error: No compatible device in multitool buffer"))
return
if("Remove")
@@ -540,9 +540,9 @@ GLOBAL_LIST_EMPTY(gas_sensors)
outlet_scrubber_data = list()
outlet_vent_data = list()
refresh_outlets()
- to_chat(user, "Successfully unlinked outlet vent.")
+ to_chat(user, SPAN_NOTICE("Successfully unlinked outlet vent."))
else
- to_chat(user, "Error - No outlets linked!")
+ to_chat(user, SPAN_WARNING("Error - No outlets linked!"))
/obj/machinery/computer/general_air_control/large_tank_control/proc/refresh_inlets()
diff --git a/code/game/machinery/computer/brigcells.dm b/code/game/machinery/computer/brigcells.dm
index e87afa16c98..0ce354031fe 100644
--- a/code/game/machinery/computer/brigcells.dm
+++ b/code/game/machinery/computer/brigcells.dm
@@ -18,7 +18,7 @@
if(stat & (BROKEN|NOPOWER))
return
if(!allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return
ui_interact(user)
@@ -53,7 +53,7 @@
return FALSE
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return FALSE
if(action == "release")
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 1f1714e7c6f..51b441cb44b 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -38,7 +38,7 @@
if(!ispath(A))
continue
nice_list += list("[req_components[A]] [initial(A.name)]\s")
- . += "Required components: [english_list(nice_list)]."
+ . += SPAN_NOTICE("Required components: [english_list(nice_list)].")
/obj/item/circuitboard/message_monitor
board_name = "Message Monitor"
@@ -76,7 +76,7 @@
board_name = choice
build_path = monitor_names_paths[choice]
format_board_name()
- to_chat(user, "You set the board to [board_name].")
+ to_chat(user, SPAN_NOTICE("You set the board to [board_name]."))
/obj/item/circuitboard/camera/telescreen
board_name = "Telescreen"
@@ -159,7 +159,7 @@
/obj/item/circuitboard/aiupload_broken
board_name = "AI Upload"
- desc = "The board is charred and smells of burnt plastic. It has been rendered useless."
+ desc = SPAN_WARNING("The board is charred and smells of burnt plastic. It has been rendered useless.")
icon_state = "command_broken"
/obj/item/circuitboard/borgupload
@@ -518,7 +518,7 @@
/obj/item/circuitboard/rdconsole/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/card/id) || istype(I, /obj/item/pda))
if(allowed(user))
- user.visible_message("[user] waves [user.p_their()] ID past [src]'s access protocol scanner.", "You swipe your ID past [src]'s access protocol scanner.")
+ user.visible_message(SPAN_NOTICE("[user] waves [user.p_their()] ID past [src]'s access protocol scanner."), SPAN_NOTICE("You swipe your ID past [src]'s access protocol scanner."))
var/console_choice = tgui_input_list(user, "What do you want to configure the access to?", "Access Modification", access_types)
if(!console_choice)
return
@@ -531,9 +531,9 @@
build_path = /obj/machinery/computer/rdconsole/public
format_board_name()
- to_chat(user, "Access protocols set to [console_choice].")
+ to_chat(user, SPAN_NOTICE("Access protocols set to [console_choice]."))
else
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_WARNING("Access Denied."))
return
return ..()
@@ -560,20 +560,20 @@
/obj/structure/computerframe/examine(mob/user)
. = ..()
- . += "It is [anchored ? "bolted to the floor" : "unbolted"]."
+ . += SPAN_NOTICE("It is [anchored ? "bolted to the floor" : "unbolted"].")
switch(state)
if(STATE_EMPTY)
- . += "The frame is welded together, but it is missing a circuit board."
+ . += SPAN_NOTICE("The frame is welded together, but it is missing a circuit board.")
if(STATE_CIRCUIT)
- . += "A circuit board is firmly connected, but the cover is unscrewed and open."
+ . += SPAN_NOTICE("A circuit board is firmly connected, but the cover is unscrewed and open.")
if(STATE_NOWIRES)
- . += "The cover is screwed shut, but the frame is missing wiring."
+ . += SPAN_NOTICE("The cover is screwed shut, but the frame is missing wiring.")
if(STATE_WIRES)
- . += "The frame is wired, but the glass is missing."
+ . += SPAN_NOTICE("The frame is wired, but the glass is missing.")
if(STATE_GLASS)
- . += "The glass is loosely connected and needs to be screwed into place."
+ . += SPAN_NOTICE("The glass is loosely connected and needs to be screwed into place.")
if(!anchored)
- . += "Alt-Click to rotate it."
+ . += SPAN_NOTICE("Alt-Click to rotate it.")
/obj/structure/computerframe/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
@@ -582,12 +582,12 @@
/obj/structure/computerframe/AltClick(mob/user)
if(user.incapacitated())
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return
if(!Adjacent(user))
return
if(anchored)
- to_chat(user, "The frame is anchored to the floor!")
+ to_chat(user, SPAN_WARNING("The frame is anchored to the floor!"))
return
setDir(turn(dir, 90))
@@ -631,13 +631,13 @@
return
if(state == STATE_CIRCUIT)
- to_chat(user, "You remove the circuit board.")
+ to_chat(user, SPAN_NOTICE("You remove the circuit board."))
state = STATE_EMPTY
name = initial(name)
circuit.forceMove(drop_location())
circuit = null
else if(state == STATE_GLASS)
- to_chat(user, "You remove the glass panel.")
+ to_chat(user, SPAN_NOTICE("You remove the glass panel."))
state = STATE_WIRES
new /obj/item/stack/sheet/glass(drop_location(), 2)
else
@@ -653,17 +653,17 @@
switch(state)
if(STATE_CIRCUIT)
- to_chat(user, "You screw the circuit board into place.")
+ to_chat(user, SPAN_NOTICE("You screw the circuit board into place."))
state = STATE_NOWIRES
I.play_tool_sound(src)
update_icon()
if(STATE_NOWIRES)
- to_chat(user, "You unfasten the circuit board.")
+ to_chat(user, SPAN_NOTICE("You unfasten the circuit board."))
state = STATE_CIRCUIT
I.play_tool_sound(src)
update_icon()
if(STATE_GLASS)
- to_chat(user, "You connect the monitor.")
+ to_chat(user, SPAN_NOTICE("You connect the monitor."))
I.play_tool_sound(src)
var/obj/machinery/computer/B = new circuit.build_path(loc)
B.setDir(dir)
@@ -679,7 +679,7 @@
return
if(state == STATE_WIRES)
- to_chat(user, "You remove the cables.")
+ to_chat(user, SPAN_NOTICE("You remove the cables."))
var/obj/item/stack/cable_coil/C = new(drop_location())
C.amount = 5
state = STATE_NOWIRES
@@ -694,15 +694,15 @@
var/obj/item/circuitboard/B = I
if(B.board_type != "computer")
- to_chat(user, "[src] does not accept circuit boards of this type!")
+ to_chat(user, SPAN_WARNING("[src] does not accept circuit boards of this type!"))
return ITEM_INTERACT_COMPLETE
if(!B.build_path)
- to_chat(user, "This is not a functional computer circuit board!")
+ to_chat(user, SPAN_WARNING("This is not a functional computer circuit board!"))
return ITEM_INTERACT_COMPLETE
B.play_tool_sound(src)
- to_chat(user, "You place [B] inside [src].")
+ to_chat(user, SPAN_NOTICE("You place [B] inside [src]."))
name += " ([B.board_name])"
state = STATE_CIRCUIT
user.drop_item()
@@ -717,18 +717,18 @@
var/obj/item/stack/cable_coil/C = I
if(C.get_amount() < 5)
- to_chat(user, "You need five lengths of cable to wire the frame.")
+ to_chat(user, SPAN_WARNING("You need five lengths of cable to wire the frame."))
return ITEM_INTERACT_COMPLETE
C.play_tool_sound(src)
- to_chat(user, "You start to add cables to the frame.")
+ to_chat(user, SPAN_NOTICE("You start to add cables to the frame."))
if(!do_after(user, 2 SECONDS * C.toolspeed, target = src))
return ITEM_INTERACT_COMPLETE
if(C.get_amount() < 5 || !C.use(5))
- to_chat(user, "At some point during construction you lost some cable. Make sure you have five lengths before trying again.")
+ to_chat(user, SPAN_WARNING("At some point during construction you lost some cable. Make sure you have five lengths before trying again."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You add cables to the frame.")
+ to_chat(user, SPAN_NOTICE("You add cables to the frame."))
state = STATE_WIRES
update_icon()
return ITEM_INTERACT_COMPLETE
@@ -739,18 +739,18 @@
var/obj/item/stack/sheet/glass/G = I
if(G.get_amount() < 2)
- to_chat(user, "You need two sheets of glass for this.")
+ to_chat(user, SPAN_WARNING("You need two sheets of glass for this."))
return ITEM_INTERACT_COMPLETE
G.play_tool_sound(src)
- to_chat(user, "You start to add the glass panel to the frame.")
+ to_chat(user, SPAN_NOTICE("You start to add the glass panel to the frame."))
if(!do_after(user, 2 SECONDS * G.toolspeed, target = src))
return ITEM_INTERACT_COMPLETE
if(G.get_amount() < 2 || !G.use(2))
- to_chat(user, "At some point during construction you lost some glass. Make sure you have two sheets before trying again.")
+ to_chat(user, SPAN_WARNING("At some point during construction you lost some glass. Make sure you have two sheets before trying again."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You put in the glass panel.")
+ to_chat(user, SPAN_NOTICE("You put in the glass panel."))
state = STATE_GLASS
update_icon()
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/machinery/computer/camera_console.dm b/code/game/machinery/computer/camera_console.dm
index f6514040be0..a23cb5c234c 100644
--- a/code/game/machinery/computer/camera_console.dm
+++ b/code/game/machinery/computer/camera_console.dm
@@ -193,7 +193,7 @@
/obj/machinery/computer/security/attack_ai(mob/user)
if(is_ai(user))
- to_chat(user, "You realise it's kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips.")
+ to_chat(user, SPAN_NOTICE("You realise it's kind of stupid to access a camera console when you have the entire camera network at your metaphorical fingertips."))
return
ui_interact(user)
diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm
index a9500e156e7..443f2372b7f 100644
--- a/code/game/machinery/computer/cloning.dm
+++ b/code/game/machinery/computer/cloning.dm
@@ -52,18 +52,18 @@
var/obj/item/multitool/M = used
if(!M.buffer)
- to_chat(user, "[M]'[M.p_s()] buffer is empty!")
+ to_chat(user, SPAN_WARNING("[M]'[M.p_s()] buffer is empty!"))
return ITEM_INTERACT_COMPLETE
if(istype(M.buffer, /obj/machinery/clonepod))
var/obj/machinery/clonepod/buffer_pod = M.buffer
if(buffer_pod.console == src)
- to_chat(user, "[M.buffer] is already linked!")
+ to_chat(user, SPAN_WARNING("[M.buffer] is already linked!"))
return ITEM_INTERACT_COMPLETE
pods += M.buffer
buffer_pod.console = src
- to_chat(user, "[M.buffer] was successfully added to the cloning pod array.")
+ to_chat(user, SPAN_NOTICE("[M.buffer] was successfully added to the cloning pod array."))
if(!selected_pod)
selected_pod = buffer_pod
return ITEM_INTERACT_COMPLETE
@@ -71,15 +71,15 @@
if(istype(M.buffer, /obj/machinery/clonescanner))
var/obj/machinery/clonescanner/buffer_scanner = M.buffer
if(scanner)
- to_chat(user, "There's already a linked scanner!")
+ to_chat(user, SPAN_WARNING("There's already a linked scanner!"))
return ITEM_INTERACT_COMPLETE
scanner = buffer_scanner
buffer_scanner.console = src
- to_chat(user, "[M.buffer] was successfully linked.")
+ to_chat(user, SPAN_NOTICE("[M.buffer] was successfully linked."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "[M.buffer] cannot be linked to [src].")
+ to_chat(user, SPAN_WARNING("[M.buffer] cannot be linked to [src]."))
return ITEM_INTERACT_COMPLETE
/obj/machinery/computer/cloning/attack_ai(mob/user)
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index c8196d468b6..15c5956d3e5 100644
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -66,7 +66,7 @@
if(authenticated)
return COMM_AUTHENTICATION_HEAD
if(message)
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return COMM_AUTHENTICATION_NONE
/obj/machinery/computer/communications/proc/change_security_level(new_level, force)
@@ -87,14 +87,14 @@
if(..())
return
if(!is_secure_level(z))
- to_chat(ui.user, "Unable to establish a connection: You're too far away from the station!")
+ to_chat(ui.user, SPAN_WARNING("Unable to establish a connection: You're too far away from the station!"))
return
. = TRUE
if(action == "auth")
if(!ishuman(ui.user))
- to_chat(ui.user, "Access denied, no humanoid lifesign detected.")
+ to_chat(ui.user, SPAN_WARNING("Access denied, no humanoid lifesign detected."))
return FALSE
// Logout function.
if(authenticated != COMM_AUTHENTICATION_NONE)
@@ -110,7 +110,7 @@
authenticated = COMM_AUTHENTICATION_CAPT
if(ACCESS_CENT_COMMANDER in access)
if(!check_rights(R_ADMIN|R_EVENT, FALSE, ui.user, all = TRUE))
- to_chat(ui.user, "[src] buzzes, invalid central command clearance.")
+ to_chat(ui.user, SPAN_WARNING("[src] buzzes, invalid central command clearance."))
return
authenticated = COMM_AUTHENTICATION_CENTCOM
@@ -122,7 +122,7 @@
if(istype(id))
announcer.author = GetNameAndAssignmentFromId(id)
if(authenticated == COMM_AUTHENTICATION_NONE)
- to_chat(ui.user, "You need to wear a command or Captain-level ID.")
+ to_chat(ui.user, SPAN_WARNING("You need to wear a command or Captain-level ID."))
return
// All functions below this point require authentication.
@@ -135,16 +135,16 @@
if("newalertlevel")
if(is_ai(ui.user) || isrobot(ui.user))
- to_chat(ui.user, "Firewalls prevent you from changing the alert level.")
+ to_chat(ui.user, SPAN_WARNING("Firewalls prevent you from changing the alert level."))
return
else if(ADMIN_CHECK(ui.user))
change_security_level(text2num(params["level"]), force = TRUE)
return
else if(!ishuman(ui.user))
- to_chat(ui.user, "Security measures prevent you from changing the alert level.")
+ to_chat(ui.user, SPAN_WARNING("Security measures prevent you from changing the alert level."))
return
else if(alert_level_cooldown > world.time)
- to_chat(ui.user, "Please allow at least one minute between manual changes to the alert level.")
+ to_chat(ui.user, SPAN_WARNING("Please allow at least one minute between manual changes to the alert level."))
return
alert_level_cooldown = world.time + 60 SECONDS
@@ -155,21 +155,21 @@
if((ACCESS_CAPTAIN in I.access) && SSsecurity_level.get_current_level_as_number() <= SEC_LEVEL_RED)
change_security_level(text2num(params["level"]))
else
- to_chat(ui.user, "You are not authorized to do this.")
+ to_chat(ui.user, SPAN_WARNING("You are not authorized to do this."))
setMenuState(ui.user, COMM_SCREEN_MAIN)
else
- to_chat(ui.user, "You need to wear your ID.")
+ to_chat(ui.user, SPAN_WARNING("You need to wear your ID."))
if("announce")
if(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)
if(message_cooldown > world.time)
- to_chat(ui.user, "Please allow at least one minute to pass between announcements.")
+ to_chat(ui.user, SPAN_WARNING("Please allow at least one minute to pass between announcements."))
return
var/input = input(ui.user, "Please write a message to announce to the station crew.", "Priority Announcement") as null|message
if(!input || message_cooldown > world.time || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT))
return
if(length(input) < COMM_MSGLEN_MINIMUM)
- to_chat(ui.user, "Message '[input]' is too short. [COMM_MSGLEN_MINIMUM] character minimum.")
+ to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_MSGLEN_MINIMUM] character minimum."))
return
announcer.Announce(input)
message_cooldown = world.time + 600 //One minute
@@ -185,7 +185,7 @@
if("cancelshuttle")
if(is_ai(ui.user) || isrobot(ui.user))
- to_chat(ui.user, "Firewalls prevent you from recalling the shuttle.")
+ to_chat(ui.user, SPAN_WARNING("Firewalls prevent you from recalling the shuttle."))
return
var/response = tgui_alert(usr, "Are you sure you wish to recall the shuttle?", "Confirm", list("Yes", "No"))
if(response == "Yes")
@@ -245,16 +245,16 @@
if("nukerequest")
if(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)
if(centcomm_message_cooldown > world.time)
- to_chat(ui.user, "Arrays recycling. Please stand by.")
+ to_chat(ui.user, SPAN_WARNING("Arrays recycling. Please stand by."))
return
var/input = tgui_input_text(ui.user, "Please enter the reason for requesting the nuclear self-destruct codes. Misuse of the nuclear request system will not be tolerated under any circumstances. Transmission does not guarantee a response.", "Self Destruct Code Request.", encode = FALSE)
if(isnull(input) || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT))
return
if(length(input) < COMM_CCMSGLEN_MINIMUM)
- to_chat(ui.user, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")
+ to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum."))
return
Nuke_request(input, ui.user)
- to_chat(ui.user, "Request sent.")
+ to_chat(ui.user, SPAN_NOTICE("Request sent."))
log_game("[key_name(ui.user)] has requested the nuclear codes from Centcomm")
GLOB.major_announcement.Announce("The codes for the on-station nuclear self-destruction device have been requested by [ui.user]. Confirmation or denial of this request will be sent shortly.", "Nuclear Self Destruct Codes Requested", 'sound/AI/nuke_codes.ogg')
centcomm_message_cooldown = world.time + 6000 // 10 minutes
@@ -263,13 +263,13 @@
if("MessageCentcomm")
if(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT)
if(centcomm_message_cooldown > world.time)
- to_chat(ui.user, "Arrays recycling. Please stand by.")
+ to_chat(ui.user, SPAN_WARNING("Arrays recycling. Please stand by."))
return
var/input = tgui_input_text(ui.user, "Please choose a message to transmit to Centcomm via quantum entanglement. Please be aware that this process is very expensive, and abuse will lead to... termination. Transmission does not guarantee a response.", "CentComm Message", encode = FALSE)
if(!input || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT))
return
if(length(input) < COMM_CCMSGLEN_MINIMUM)
- to_chat(ui.user, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")
+ to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum."))
return
Centcomm_announce(input, ui.user)
print_centcom_report(input, station_time_timestamp() + " Captain's Message")
@@ -288,7 +288,7 @@
if(!input || ..() || !(is_authenticated(ui.user) >= COMM_AUTHENTICATION_CAPT))
return
if(length(input) < COMM_CCMSGLEN_MINIMUM)
- to_chat(ui.user, "Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum.")
+ to_chat(ui.user, SPAN_WARNING("Message '[input]' is too short. [COMM_CCMSGLEN_MINIMUM] character minimum."))
return
Syndicate_announce(input, ui.user)
to_chat(ui.user, "Message transmitted.")
@@ -377,7 +377,7 @@
/obj/machinery/computer/communications/emag_act(user as mob)
if(!emagged)
emagged = TRUE
- to_chat(user, "You scramble the communication routing circuits!")
+ to_chat(user, SPAN_NOTICE("You scramble the communication routing circuits!"))
SStgui.update_uis(src)
return TRUE
@@ -392,7 +392,7 @@
return
if(!is_secure_level(src.z))
- to_chat(user, "Unable to establish a connection: You're too far away from the station!")
+ to_chat(user, SPAN_WARNING("Unable to establish a connection: You're too far away from the station!"))
return
ui_interact(user)
@@ -524,19 +524,19 @@
/proc/call_shuttle_proc(mob/user, reason, sanitized = FALSE)
if(GLOB.deathsquad_sent)
- to_chat(user, "Central Command does not allow the shuttle to be called at this time. Please stand by.") //This may show up before Epsilon Alert/Before DS arrives
+ to_chat(user, SPAN_WARNING("Central Command does not allow the shuttle to be called at this time. Please stand by.")) //This may show up before Epsilon Alert/Before DS arrives
return
if(length(SSshuttle.hostile_environments))
- to_chat(user, "The emergency shuttle may not be sent at this time. Please try again later.")
+ to_chat(user, SPAN_WARNING("The emergency shuttle may not be sent at this time. Please try again later."))
return
if(SSshuttle.emergency.mode > SHUTTLE_ESCAPE)
- to_chat(user, "The emergency shuttle may not be called while returning to Central Command.")
+ to_chat(user, SPAN_WARNING("The emergency shuttle may not be called while returning to Central Command."))
return
if(SSticker.mode.name == "blob")
- to_chat(user, "Under directive 7-10, [station_name()] is quarantined until further notice.")
+ to_chat(user, SPAN_WARNING("Under directive 7-10, [station_name()] is quarantined until further notice."))
return
if(!sanitized)
@@ -556,7 +556,7 @@
return
if(GLOB.deathsquad_sent)
- to_chat(user, "Central Command does not allow the shuttle to be called at this time. Please stand by.") //This may show up before Epsilon Alert/Before DS arrives
+ to_chat(user, SPAN_WARNING("Central Command does not allow the shuttle to be called at this time. Please stand by.")) //This may show up before Epsilon Alert/Before DS arrives
return
// AA 2022-08-18 - Why is this not a round time offset??
@@ -585,7 +585,7 @@
log_game("[key_name(user)] has recalled the shuttle.")
message_admins("[key_name_admin(user)] has recalled the shuttle - ([ADMIN_FLW(user,"FLW")]).", 1)
else
- to_chat(user, "Central Command has refused the recall request!")
+ to_chat(user, SPAN_WARNING("Central Command has refused the recall request!"))
log_game("[key_name(user)] has tried and failed to recall the shuttle.")
message_admins("[key_name_admin(user)] has tried and failed to recall the shuttle - ([ADMIN_FLW(user,"FLW")]).", 1)
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 7ddeb62dada..579641bef1e 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -35,7 +35,7 @@
/obj/machinery/computer/extinguish_light(force = FALSE)
set_light(0)
underlays.Cut()
- visible_message("[src] grows dim, its screen barely readable.")
+ visible_message(SPAN_DANGER("[src] grows dim, its screen barely readable."))
/*
* Reimp, flash the screen on and off repeatedly.
@@ -157,7 +157,7 @@
A.anchored = TRUE
if(stat & BROKEN)
if(user)
- to_chat(user, "The broken glass falls out.")
+ to_chat(user, SPAN_NOTICE("The broken glass falls out."))
else
playsound(src, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
new /obj/item/shard(drop_location())
@@ -165,7 +165,7 @@
A.state = 4
else
if(user)
- to_chat(user, "You disconnect the monitor.")
+ to_chat(user, SPAN_NOTICE("You disconnect the monitor."))
A.state = 5
A.update_icon()
for(var/obj/C in src)
@@ -203,7 +203,7 @@
for(var/datum/objective/download/download_obj in flayer_datum.get_antag_objectives())
if(download_obj.target_console == src)
var/old_icon_screen = icon_screen
- to_chat(user, "You insert your power cable into the data port on the console and begin the transfer...")
+ to_chat(user, SPAN_BOLDNOTICE("You insert your power cable into the data port on the console and begin the transfer..."))
active_download_effect = new /obj/effect/temp_visual/computer_download(get_turf(src), src)
if(do_after(user, 18 SECONDS, target = src))
download_obj.complete_objective()
@@ -213,7 +213,7 @@
icon_screen = old_icon_screen
return TRUE
else
- to_chat(user, "Your power cable is ejected, interrupting the transfer.")
+ to_chat(user, SPAN_WARNING("Your power cable is ejected, interrupting the transfer."))
if(active_download_effect)
qdel(active_download_effect)
active_download_effect = null
@@ -221,17 +221,17 @@
return TRUE
// Not a flayer, or wrong download console.
- to_chat(user, "You insert your power cable into the data port on the console, hoping to find something interesting.")
+ to_chat(user, SPAN_BOLDNOTICE("You insert your power cable into the data port on the console, hoping to find something interesting."))
if(do_after(user, 18 SECONDS, target = src))
show_random_download_message(user)
return TRUE
else
- to_chat(user, "Your power cable is ejected, interrupting the transfer.")
+ to_chat(user, SPAN_WARNING("Your power cable is ejected, interrupting the transfer."))
return TRUE
/obj/machinery/computer/proc/show_random_download_message(mob/user)
var/list/download_messages = list(
- "A message flashes on the screen: \"[user.name] is not in the sudoers file. This incident will be reported.\""
+ SPAN_NOTICE("A message flashes on the screen: \"[user.name] is not in the sudoers file. This incident will be reported.\"")
)
var/message = pick(download_messages)
to_chat(user, message)
diff --git a/code/game/machinery/computer/depot_consoles.dm b/code/game/machinery/computer/depot_consoles.dm
index 444b53d87ae..8581bce8b08 100644
--- a/code/game/machinery/computer/depot_consoles.dm
+++ b/code/game/machinery/computer/depot_consoles.dm
@@ -28,7 +28,7 @@
/obj/machinery/computer/syndicate_depot/attack_ai(mob/user)
if(length(req_access) && !("syndicate" in user.faction))
- to_chat(user, "A firewall blocks your access.")
+ to_chat(user, SPAN_WARNING("A firewall blocks your access."))
return TRUE
return ..()
@@ -36,7 +36,7 @@
return
/obj/machinery/computer/syndicate_depot/emag_act(mob/user)
- to_chat(user, "The electronic systems in this console are far too advanced for your primitive hacking peripherals.")
+ to_chat(user, SPAN_NOTICE("The electronic systems in this console are far too advanced for your primitive hacking peripherals."))
return
/obj/machinery/computer/syndicate_depot/allowed(mob/user)
@@ -110,7 +110,7 @@
return
. = FALSE
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return
switch(action)
if("primary")
@@ -173,16 +173,16 @@
pub_access = !pub_access
if(pub_access)
depotarea.set_emergency_access(TRUE)
- to_chat(user, "Emergency Access enabled.")
+ to_chat(user, SPAN_NOTICE("Emergency Access enabled."))
else
depotarea.set_emergency_access(FALSE)
- to_chat(user, "Emergency Access disabled.")
+ to_chat(user, SPAN_NOTICE("Emergency Access disabled."))
playsound(user, sound_yes, 50, 0)
/obj/machinery/computer/syndicate_depot/doors/secondary(mob/user, subcommand)
if(depotarea)
depotarea.toggle_falsewalls(src)
- to_chat(user, "False walls toggled.")
+ to_chat(user, SPAN_NOTICE("False walls toggled."))
playsound(user, sound_yes, 50, 0)
@@ -323,7 +323,7 @@
return
if(message_sent)
playsound(user, 'sound/machines/buzz-sigh.ogg', 50, 0)
- to_chat(user, "[src] has already been used to transmit a message to the Syndicate.")
+ to_chat(user, SPAN_WARNING("[src] has already been used to transmit a message to the Syndicate."))
return
message_sent = TRUE
var/input = tgui_input_text(user, "Please choose a message to transmit to Syndicate HQ via quantum entanglement. Transmission does not guarantee a response. This function may only be used ONCE.", "Send Message")
@@ -337,22 +337,22 @@
/obj/machinery/computer/syndicate_depot/syndiecomms/secondary(mob/user)
if(!istype(depotarea))
- to_chat(user, "ERROR: [src] is unable to uplink to depot network.")
+ to_chat(user, SPAN_WARNING("ERROR: [src] is unable to uplink to depot network."))
return
if(depotarea.local_alarm || depotarea.called_backup || depotarea.used_self_destruct)
- to_chat(user, "Visitor sign-in is not possible while the depot is on security alert.")
+ to_chat(user, SPAN_WARNING("Visitor sign-in is not possible while the depot is on security alert."))
return
if(depotarea.something_looted)
- to_chat(user, "Visitor sign-in is not possible after supplies have been taken from a locker in the depot.")
+ to_chat(user, SPAN_WARNING("Visitor sign-in is not possible after supplies have been taken from a locker in the depot."))
return
if("syndicate" in user.faction)
- to_chat(user, "You are already recognized as a member of the Syndicate, and do not need to sign in.")
+ to_chat(user, SPAN_WARNING("You are already recognized as a member of the Syndicate, and do not need to sign in."))
return
if(!user.mind || user.mind.special_role != SPECIAL_ROLE_TRAITOR)
- to_chat(user, "Only verified agents of the Syndicate may sign in as visitors. Everyone else will be shot on sight.")
+ to_chat(user, SPAN_WARNING("Only verified agents of the Syndicate may sign in as visitors. Everyone else will be shot on sight."))
return
if(depotarea.list_includes(user, depotarea.peaceful_list))
- to_chat(user, "[user] is already signed in as a visiting agent.")
+ to_chat(user, SPAN_WARNING("[user] is already signed in as a visiting agent."))
return
if(!depotarea.on_peaceful)
depotarea.peaceful_mode(TRUE, TRUE)
@@ -363,7 +363,7 @@
user.faction += "syndicate"
depotarea.alert_log += "[user.name] signed in as a visitor."
depotarea.list_add(user, depotarea.peaceful_list)
- to_chat(user, {"
Welcome, Agent.
+ to_chat(user, {"
[SPAN_USERDANGER("Welcome, Agent.")]
You are now signed-in as a depot visitor.
Any other agents with you MUST sign in themselves.
You may explore all rooms here, except for bolted ones.
@@ -489,15 +489,15 @@
/obj/machinery/computer/syndicate_depot/teleporter/primary(mob/user)
if(!mybeacon && user)
- to_chat(user, "Unable to connect to teleport beacon.")
+ to_chat(user, SPAN_NOTICE("Unable to connect to teleport beacon."))
return
var/bresult = mybeacon.toggle()
- to_chat(user, "Syndicate Teleporter Beacon: [bresult ? "ON" : "OFF"]")
+ to_chat(user, SPAN_NOTICE("Syndicate Teleporter Beacon: [bresult ? SPAN_GREEN("ON") : SPAN_RED("OFF")]"))
playsound(user, sound_yes, 50, 0)
/obj/machinery/computer/syndicate_depot/teleporter/secondary(mob/user)
if(!portal_enabled && myportal)
- to_chat(user, "Outgoing Teleport Portal: deactivating... please wait...")
+ to_chat(user, SPAN_NOTICE("Outgoing Teleport Portal: deactivating... please wait..."))
return
var/turf/tele_target = null
@@ -509,7 +509,7 @@
portal_enabled = !portal_enabled
update_portal(tele_target)
- to_chat(user, "Outgoing Teleport Portal: [portal_enabled ? "ON" : "OFF"]")
+ to_chat(user, SPAN_NOTICE("Outgoing Teleport Portal: [portal_enabled ? SPAN_GREEN("ON") : SPAN_RED("OFF")]"))
playsound(user, sound_yes, 50, 0)
diff --git a/code/game/machinery/computer/id_card_console.dm b/code/game/machinery/computer/id_card_console.dm
index 6f324e23eec..8efabc008e1 100644
--- a/code/game/machinery/computer/id_card_console.dm
+++ b/code/game/machinery/computer/id_card_console.dm
@@ -75,7 +75,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
/obj/machinery/computer/card/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to remove the ID cards in it."
+ . += SPAN_NOTICE("You can Alt-Click [src] to remove the ID cards in it.")
/obj/machinery/computer/card/proc/is_centcom()
return FALSE
@@ -131,7 +131,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
return
if(scan)
- to_chat(user, "You remove \the [scan] from \the [src].")
+ to_chat(user, SPAN_NOTICE("You remove \the [scan] from \the [src]."))
if(!user.get_active_hand())
user.put_in_hands(scan)
else if(!user.put_in_inactive_hand(scan))
@@ -141,7 +141,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
SStgui.update_uis(src)
return
else if(modify)
- to_chat(user, "You remove \the [modify] from \the [src].")
+ to_chat(user, SPAN_NOTICE("You remove \the [modify] from \the [src]."))
if(!user.get_active_hand())
user.put_in_hands(modify)
else if(!user.put_in_inactive_hand(modify))
@@ -417,7 +417,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if(istype(I, /obj/item/card/id))
if(istype(I, /obj/item/card/id/nct_data_chip))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE)
- to_chat(usr, "The data chip doesn't fit!")
+ to_chat(usr, SPAN_WARNING("The data chip doesn't fit!"))
return FALSE
usr.drop_item()
I.forceMove(src)
@@ -433,11 +433,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if(istype(I, /obj/item/card/id))
if(istype(I, /obj/item/card/id/nct_data_chip))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE)
- to_chat(usr, "The data chip doesn't fit!")
+ to_chat(usr, SPAN_WARNING("The data chip doesn't fit!"))
return FALSE
if(!check_access(I))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, FALSE)
- to_chat(usr, "This card does not have access.")
+ to_chat(usr, SPAN_WARNING("This card does not have access."))
return FALSE
usr.drop_item()
I.forceMove(src)
@@ -464,7 +464,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
// Everything below HERE requires auth
if(!is_authenticated(usr))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- to_chat(usr, "This function is not available unless you are logged in.")
+ to_chat(usr, SPAN_WARNING("This function is not available unless you are logged in."))
return FALSE
// 2nd, handle the functions that are available to head-level consoles (department consoles)
@@ -476,11 +476,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if(target_dept)
if(modify.assignment == "Demoted" || modify.assignment == "Terminated")
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- visible_message("[src]: Reassigning a demoted or terminated individual requires a full ID computer.")
+ visible_message(SPAN_WARNING("[src]: Reassigning a demoted or terminated individual requires a full ID computer."))
return FALSE
if(!job_in_department(SSjobs.GetJob(modify.rank), FALSE))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- visible_message("[src]: Reassigning someone outside your department requires a full ID computer.")
+ visible_message(SPAN_WARNING("[src]: Reassigning someone outside your department requires a full ID computer."))
return FALSE
if(!job_in_department(SSjobs.GetJob(t1)))
return FALSE
@@ -506,7 +506,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
jobdatum = J
break
if(!jobdatum)
- to_chat(usr, "No log exists for this job: [t1]")
+ to_chat(usr, SPAN_WARNING("No log exists for this job: [t1]"))
return
access = jobdatum.get_access()
@@ -541,11 +541,11 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if("demote")
if(modify.assignment == "Demoted")
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- visible_message("[src]: Demoted crew cannot be demoted any further. If further action is warranted, ask the Captain about Termination.")
+ visible_message(SPAN_WARNING("[src]: Demoted crew cannot be demoted any further. If further action is warranted, ask the Captain about Termination."))
return FALSE
if(!job_in_department(SSjobs.GetJob(modify.rank), FALSE))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- visible_message("[src]: Heads may only demote members of their own department.")
+ visible_message(SPAN_WARNING("[src]: Heads may only demote members of their own department."))
return FALSE
var/reason = sanitize(copytext_char(input("Enter legal reason for demotion. Enter nothing to cancel.","Legal Demotion"), 1, MAX_MESSAGE_LEN))
if(!reason || !is_authenticated(usr) || !modify)
@@ -576,7 +576,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
if("terminate")
if(!has_idchange_access()) // because captain/HOP can use this even on dept consoles
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- visible_message("[src]: Only the Captain or HOP may completely terminate the employment of a crew member.")
+ visible_message(SPAN_WARNING("[src]: Only the Captain or HOP may completely terminate the employment of a crew member."))
return FALSE
var/jobnamedata = modify.getRankAndAssignment()
var/reason = sanitize(copytext_char(input("Enter legal reason for termination. Enter nothing to cancel.", "Employment Termination"), 1, MAX_MESSAGE_LEN))
@@ -650,10 +650,10 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
var/tempname = params["remote_demote"]
var/temprank = E.fields["real_rank"]
if(!j)
- visible_message("[src]: This employee has either no job, or a customized job ([temprank]).")
+ visible_message(SPAN_WARNING("[src]: This employee has either no job, or a customized job ([temprank])."))
return FALSE
if(!job_in_department(j, FALSE))
- visible_message("[src]: Only the head of this employee may demote them.")
+ visible_message(SPAN_WARNING("[src]: Only the head of this employee may demote them."))
return FALSE
for(var/datum/data/record/R in GLOB.data_core.security)
if(R.fields["id"] == E.fields["id"])
@@ -665,7 +665,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
SSjobs.notify_by_name(tempname, "[scan.registered_name] ([scan.assignment]) has ordered your demotion. Report to their office, or the HOP. Reason given: \"[reason]\"")
else
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- to_chat(usr, "[src]: Cannot demote, due to their current security status.")
+ to_chat(usr, SPAN_WARNING("[src]: Cannot demote, due to their current security status."))
return FALSE
return
return
@@ -673,7 +673,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
// Everything below here requires a full ID computer (dept consoles do not qualify)
if(target_dept)
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- to_chat(usr, "This function is not available on department-level consoles.")
+ to_chat(usr, SPAN_WARNING("This function is not available on department-level consoles."))
return
// 3rd, handle the functions that require a full ID computer
@@ -683,7 +683,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
var/temp_name = reject_bad_name(input(usr, "Who is this ID for?", "ID Card Renaming", modify.registered_name), TRUE)
if(!modify || !temp_name)
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, 0)
- visible_message("[src] buzzes rudely.")
+ visible_message(SPAN_WARNING("[src] buzzes rudely."))
return FALSE
modify.registered_name = temp_name
regenerate_id_name()
diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm
index 7a053ba1936..35079312630 100644
--- a/code/game/machinery/computer/law.dm
+++ b/code/game/machinery/computer/law.dm
@@ -20,8 +20,8 @@
return
emagged = TRUE
if(user)
- user.visible_message("Sparks fly out of [src]!",
- "You emag [src], scrambling the computer's law encoding system.")
+ user.visible_message(SPAN_WARNING("Sparks fly out of [src]!"),
+ SPAN_NOTICE("You emag [src], scrambling the computer's law encoding system."))
playsound(loc, 'sound/effects/sparks4.ogg', 50, TRUE)
do_sparks(5, TRUE, src)
circuit = /obj/item/circuitboard/aiupload_broken
@@ -44,18 +44,18 @@
/// checks to ensure there is a selected AI, and that it is on the same Z level
/obj/machinery/computer/aiupload/proc/check_valid_selection(mob/user)
if(!current)//no AI selected
- to_chat(user, "No AI selected. Please choose a target before proceeding with upload.")
+ to_chat(user, SPAN_DANGER("No AI selected. Please choose a target before proceeding with upload."))
return FALSE
var/turf/T = get_turf(current)
if(!atoms_share_level(T, get_turf(src))) // off Z level
- to_chat(user, "Unable to establish a connection: You're too far away from the target silicon!")
+ to_chat(user, SPAN_DANGER("Unable to establish a connection: You're too far away from the target silicon!"))
return FALSE
return TRUE
/// applies ion-like laws into either the inherent law or true ion law positions due to an emag'd AI upload being used
/obj/machinery/computer/aiupload/proc/apply_emag_laws(mob/user)
if(world.time < cooldown) //if the cooldown isnt over
- to_chat(user, "The program seems to have frozen. It will need some time to process.")
+ to_chat(user, SPAN_DANGER("The program seems to have frozen. It will need some time to process."))
return
do_sparks(5, TRUE, src)
found_laws = length(current.laws.inherent_laws)
@@ -102,18 +102,18 @@
/obj/machinery/computer/aiupload/attack_hand(mob/user)
if(stat & NOPOWER)
- to_chat(user, "The upload computer has no power!")
+ to_chat(user, SPAN_WARNING("The upload computer has no power!"))
return
if(stat & BROKEN)
- to_chat(user, "The upload computer is broken!")
+ to_chat(user, SPAN_WARNING("The upload computer is broken!"))
return
current = select_active_ai(user)
if(!current)
- to_chat(user, "No active AIs detected.")
+ to_chat(user, SPAN_WARNING("No active AIs detected."))
return
- to_chat(user, "[current.name] selected for law changes.")
+ to_chat(user, SPAN_NOTICE("[current.name] selected for law changes."))
/obj/machinery/computer/aiupload/attack_ghost(user)
return TRUE
@@ -133,11 +133,11 @@
var/obj/item/ai_module/module = used
if(istype(module))
if(!current)//no borg selected
- to_chat(user, "No borg selected. Please chose a target before proceeding with upload.")
+ to_chat(user, SPAN_DANGER("No borg selected. Please chose a target before proceeding with upload."))
return ITEM_INTERACT_COMPLETE
var/turf/T = get_turf(current)
if(!atoms_share_level(T, src))
- to_chat(user, "Unable to establish a connection: You're too far away from the target silicon!")
+ to_chat(user, "[SPAN_DANGER("Unable to establish a connection")]: You're too far away from the target silicon!")
return ITEM_INTERACT_COMPLETE
module.install(src)
return ITEM_INTERACT_COMPLETE
@@ -146,18 +146,18 @@
/obj/machinery/computer/borgupload/attack_hand(mob/user)
if(stat & NOPOWER)
- to_chat(user, "The upload computer has no power!")
+ to_chat(user, SPAN_WARNING("The upload computer has no power!"))
return
if(stat & BROKEN)
- to_chat(user, "The upload computer is broken!")
+ to_chat(user, SPAN_WARNING("The upload computer is broken!"))
return
current = freeborg(user)
if(!current)
- to_chat(user, "No free cyborgs detected.")
+ to_chat(user, SPAN_WARNING("No free cyborgs detected."))
return
- to_chat(user, "[current.name] selected for law changes.")
+ to_chat(user, SPAN_NOTICE("[current.name] selected for law changes."))
/obj/machinery/computer/borgupload/attack_ghost(user)
return TRUE
diff --git a/code/game/machinery/computer/medical_records.dm b/code/game/machinery/computer/medical_records.dm
index b9361cc63c5..ff0f67b6f97 100644
--- a/code/game/machinery/computer/medical_records.dm
+++ b/code/game/machinery/computer/medical_records.dm
@@ -73,7 +73,7 @@
if(..())
return
if(is_away_level(z))
- to_chat(user, "Unable to establish a connection: You're too far away from the station!")
+ to_chat(user, "[SPAN_DANGER("Unable to establish a connection")]: You're too far away from the station!")
return
add_fingerprint(user)
ui_interact(user)
diff --git a/code/game/machinery/computer/message_monitor.dm b/code/game/machinery/computer/message_monitor.dm
index d89bd4eba62..d00af3e923d 100644
--- a/code/game/machinery/computer/message_monitor.dm
+++ b/code/game/machinery/computer/message_monitor.dm
@@ -10,15 +10,15 @@
//Server linked to.
var/obj/machinery/message_server/linkedServer = null
//Messages - Saves me time if I want to change something.
- var/noserver = "ALERT: No server detected."
- var/incorrectkey = "ALERT: Incorrect decryption key!"
- var/defaultmsg = "Welcome. Please select an option."
- var/rebootmsg = "%$&(�: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!"
+ var/noserver = SPAN_ALERT("ALERT: No server detected.")
+ var/incorrectkey = SPAN_WARNING("ALERT: Incorrect decryption key!")
+ var/defaultmsg = SPAN_NOTICE("Welcome. Please select an option.")
+ var/rebootmsg = SPAN_WARNING("%$&(�: Critical %$$@ Error // !RestArting! - ?pLeaSe wAit!")
//Computer properties
var/screen = 0 // 0 = Main menu, 1 = Message Logs, 2 = Hacked screen, 3 = Custom Message
var/hacking = 0 // Is it being hacked into by the AI/Cyborg
var/emag = 0 // When it is emagged.
- var/message = "System bootup complete. Please select an option." // The message that shows on the main menu.
+ var/message = SPAN_NOTICE("System bootup complete. Please select an option.") // The message that shows on the main menu.
var/auth = 0 // Are they authenticated?
var/optioncount = 8
// Custom Message Properties
@@ -50,7 +50,7 @@
/obj/machinery/computer/message_monitor/screwdriver_act(mob/user, obj/item/I)
if(emag) //Stops people from just unscrewing the monitor and putting it back to get the console working again.
- to_chat(user, "It is too hot to mess with!")
+ to_chat(user, SPAN_WARNING("It is too hot to mess with!"))
return
return ..()
@@ -75,7 +75,7 @@
message = rebootmsg
return TRUE
else
- to_chat(user, "A no server error appears on the screen.")
+ to_chat(user, SPAN_NOTICE("A no server error appears on the screen."))
/obj/machinery/computer/message_monitor/update_icon_state()
if(emag || hacking)
@@ -137,9 +137,9 @@
//Bottom message
if(!auth)
- dat += "
Please authenticate with the server in order to show additional options."
+ dat += "
[SPAN_NOTICE("Please authenticate with the server in order to show additional options.")]"
else
- dat += "
Reg, #514 forbids sending messages containing Erotic Rendering Properties."
+ dat += "
[SPAN_WARNING("Reg, #514 forbids sending messages containing Erotic Rendering Properties.")]"
//Message Logs
if(1)
@@ -254,10 +254,10 @@
/obj/machinery/computer/message_monitor/proc/BruteForce(mob/user as mob)
if(isnull(linkedServer))
- to_chat(user, "Could not complete brute-force: Linked Server Disconnected!")
+ to_chat(user, SPAN_WARNING("Could not complete brute-force: Linked Server Disconnected!"))
else
var/currentKey = src.linkedServer.decryptkey
- to_chat(user, "Brute-force completed! The key is '[currentKey]'.")
+ to_chat(user, SPAN_WARNING("Brute-force completed! The key is '[currentKey]'."))
src.hacking = 0
src.icon_screen = normal_icon
src.screen = 0 // Return the screen back to normal
@@ -296,10 +296,10 @@
if(href_list["find"])
if(GLOB.message_servers && length(GLOB.message_servers) > 1)
linkedServer = input(usr, "Please select a server.", "Select a server.", GLOB.message_servers)
- message = "NOTICE: Server selected."
+ message = SPAN_ALERT("NOTICE: Server selected.")
else if(GLOB.message_servers && length(GLOB.message_servers) > 0)
linkedServer = GLOB.message_servers[1]
- message = "NOTICE: Only Single Server Detected - Server selected."
+ message = SPAN_NOTICE("NOTICE: Only Single Server Detected - Server selected.")
else
message = noserver
@@ -318,7 +318,7 @@
else
if(auth)
src.linkedServer.pda_msgs = list()
- message = "NOTICE: Logs cleared."
+ message = SPAN_NOTICE("NOTICE: Logs cleared.")
//Clears the request console logs - KEY REQUIRED
if(href_list["clearr"])
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
@@ -326,7 +326,7 @@
else
if(auth)
src.linkedServer.rc_msgs = list()
- message = "NOTICE: Logs cleared."
+ message = SPAN_NOTICE("NOTICE: Logs cleared.")
//Change the password - KEY REQUIRED
if(href_list["pass"])
if(!linkedServer || (src.linkedServer.stat & (NOPOWER|BROKEN)))
@@ -338,12 +338,12 @@
if(src.linkedServer.decryptkey == dkey)
var/newkey = trim(input(usr,"Please enter the new key (3 - 16 characters max):"))
if(length(newkey) <= 3)
- message = "NOTICE: Decryption key too short!"
+ message = SPAN_NOTICE("NOTICE: Decryption key too short!")
else if(length(newkey) > 16)
- message = "NOTICE: Decryption key too long!"
+ message = SPAN_NOTICE("NOTICE: Decryption key too long!")
else if(newkey && newkey != "")
src.linkedServer.decryptkey = newkey
- message = "NOTICE: Decryption key set."
+ message = SPAN_NOTICE("NOTICE: Decryption key set.")
else
message = incorrectkey
@@ -365,7 +365,7 @@
message = noserver
else //if(istype(href_list["delete"], /datum/data_pda_msg))
src.linkedServer.pda_msgs -= locate(href_list["delete"])
- message = "NOTICE: Log Deleted!"
+ message = SPAN_NOTICE("NOTICE: Log Deleted!")
//Delete the request console log.
if(href_list["deleter"])
//Are they on the view logs screen?
@@ -374,7 +374,7 @@
message = noserver
else //if(istype(href_list["delete"], /datum/data_pda_msg))
src.linkedServer.rc_msgs -= locate(href_list["deleter"])
- message = "NOTICE: Log Deleted!"
+ message = SPAN_NOTICE("NOTICE: Log Deleted!")
//Create a custom message
if(href_list["msg"])
if(src.linkedServer == null || (src.linkedServer.stat & (NOPOWER|BROKEN)))
@@ -427,17 +427,17 @@
customsender = "UNKNOWN"
if(isnull(customrecepient))
- message = "NOTICE: No recepient selected!"
+ message = SPAN_NOTICE("NOTICE: No recepient selected!")
return src.attack_hand(usr)
if(isnull(custommessage) || custommessage == "")
- message = "NOTICE: No message entered!"
+ message = SPAN_NOTICE("NOTICE: No message entered!")
return src.attack_hand(usr)
var/datum/data/pda/app/messenger/recipient_messenger = customrecepient.find_program(/datum/data/pda/app/messenger)
if(!recipient_messenger)
- message = "ERROR: Message could not be transmitted!"
+ message = SPAN_WARNING("ERROR: Message could not be transmitted!")
return src.attack_hand(usr)
var/obj/item/pda/PDARec = null
diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm
index a4fc2777935..27cfe3db2b8 100644
--- a/code/game/machinery/computer/prisoner.dm
+++ b/code/game/machinery/computer/prisoner.dm
@@ -133,7 +133,7 @@
I.forceMove(src)
inserted_id_uid = I.UID()
else
- to_chat(user, "No valid ID.")
+ to_chat(user, SPAN_WARNING("No valid ID."))
if("inject")
var/obj/item/bio_chip/chem/implant = locateUID(params["uid"])
if(!implant)
@@ -169,13 +169,13 @@
if(!implant)
return
if(implant.warn_cooldown >= world.time)
- to_chat(user, "The warning system for that bio-chip is still cooling down.")
+ to_chat(user, SPAN_WARNING("The warning system for that bio-chip is still cooling down."))
return
implant.warn_cooldown = world.time + IMPLANT_WARN_COOLDOWN
if(implant.imp_in)
var/mob/living/carbon/implantee = implant.imp_in
var/warning = copytext(sanitize(answer), 1, MAX_MESSAGE_LEN)
- to_chat(implantee, "Your skull vibrates violently as a loud announcement is broadcasted to you: '[warning]'")
+ to_chat(implantee, SPAN_BOLDNOTICE("Your skull vibrates violently as a loud announcement is broadcasted to you: '[warning]'"))
if("set_points")
if(isnull(text2num(answer)))
diff --git a/code/game/machinery/computer/robot_control.dm b/code/game/machinery/computer/robot_control.dm
index 23403c0b86b..26b18d089fd 100644
--- a/code/game/machinery/computer/robot_control.dm
+++ b/code/game/machinery/computer/robot_control.dm
@@ -68,12 +68,12 @@
if(is_ai(user))
if(R.connected_ai != user)
if(telluserwhy)
- to_chat(user, "AIs can only control cyborgs which are linked to them.")
+ to_chat(user, SPAN_WARNING("AIs can only control cyborgs which are linked to them."))
return FALSE
if(isrobot(user))
if(R != user)
if(telluserwhy)
- to_chat(user, "Cyborgs cannot control other cyborgs.")
+ to_chat(user, SPAN_WARNING("Cyborgs cannot control other cyborgs."))
return FALSE
return TRUE
@@ -81,7 +81,7 @@
/obj/machinery/computer/robotics/proc/can_detonate_any(mob/user, telluserwhy = FALSE)
if(ispulsedemon(user))
if(telluserwhy)
- to_chat(user, "The console's authentication circuits reject your control!")
+ to_chat(user, SPAN_WARNING("The console's authentication circuits reject your control!"))
return FALSE
return TRUE
@@ -174,75 +174,75 @@
return
. = FALSE
if(!is_authenticated(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return
if(SSticker.current_state == GAME_STATE_FINISHED)
- to_chat(usr, "Access denied, borgs are no longer your station's property.")
+ to_chat(usr, SPAN_WARNING("Access denied, borgs are no longer your station's property."))
return
switch(action)
if("arm") // Arms the muli-lock system
if(issilicon(usr))
- to_chat(usr, "Access Denied (silicon detected)")
+ to_chat(usr, SPAN_DANGER("Access Denied (silicon detected)"))
return
safety = !safety
- to_chat(usr, "You [safety ? "disarm" : "arm"] the emergency lockdown system.")
+ to_chat(usr, SPAN_NOTICE("You [safety ? "disarm" : "arm"] the emergency lockdown system."))
. = TRUE
if("masslock") // Locks down all accessible cyborgs if safety is disabled
if(issilicon(usr))
- to_chat(usr, "Access Denied (silicon detected)")
+ to_chat(usr, SPAN_DANGER("Access Denied (silicon detected)"))
return
if(!can_detonate_any(usr, TRUE)) // Uses the same permissions as detonate.
return
if(safety)
- to_chat(usr, "Emergency lockdown aborted - safety active")
+ to_chat(usr, SPAN_DANGER("Emergency lockdown aborted - safety active"))
return
- message_admins("[key_name_admin(usr)] locked all cyborgs!")
- log_game("\[key_name(usr)] locked all cyborgs!")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] locked all cyborgs!"))
+ log_game(SPAN_NOTICE("[key_name(usr)] locked all cyborgs!"))
for(var/mob/living/silicon/robot/R in GLOB.mob_list)
if(isdrone(R))
continue
// Ignore antagonistic cyborgs
if(R.scrambledcodes)
continue
- to_chat(R, "Emergency lockdown received.")
+ to_chat(R, SPAN_DANGER("Emergency lockdown received."))
if(R.connected_ai)
- to_chat(R.connected_ai, "
ALERT - Cyborg lockdown detected: [R.name]
")
+ to_chat(R.connected_ai, "
[SPAN_ALERT("ALERT - Cyborg lockdown detected: [R.name]")]
")
R.SetLockdown(!R.lockcharge)
. = TRUE
if("killbot") // destroys one specific cyborg
if(!COOLDOWN_FINISHED(src, detonate_cooldown))
- to_chat(usr, "Detonation Safety Cooldown Active. Please Stand By!")
+ to_chat(usr, SPAN_DANGER("Detonation Safety Cooldown Active. Please Stand By!"))
return
var/mob/living/silicon/robot/R = locateUID(params["uid"])
if(!can_detonate(usr, R, TRUE))
return
if(R.mind && R.mmi.syndiemmi && !R.emagged) // Emagging removes your syndie MMI protections.
- to_chat(R, "Detonation code received. Self destructing... HARDWARE_OVERRIDE_SYNDICATE: Detonation aborted. Connection to NT systems severed.")
+ to_chat(R, SPAN_DANGER("Detonation code received. Self destructing... HARDWARE_OVERRIDE_SYNDICATE: Detonation aborted. Connection to NT systems severed."))
R.UnlinkSelf()
. = TRUE
return
var/turf/T = get_turf(R)
- message_admins("[key_name_admin(usr)] detonated [key_name_admin(R)] ([ADMIN_COORDJMP(T)])!")
- log_game("\[key_name(usr)] detonated [key_name(R)]!")
- to_chat(R, "Self-destruct command received.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] detonated [key_name_admin(R)] ([ADMIN_COORDJMP(T)])!"))
+ log_game(SPAN_NOTICE("[key_name(usr)] detonated [key_name(R)]!"))
+ to_chat(R, SPAN_DANGER("Self-destruct command received."))
if(R.connected_ai)
- to_chat(R.connected_ai, "
ALERT - Cyborg detonation detected: [R.name]
")
+ to_chat(R.connected_ai, "
[SPAN_ALERT("ALERT - Cyborg detonation detected: [R.name]")]
")
R.self_destruct()
COOLDOWN_START(src, detonate_cooldown, 60 SECONDS)
. = TRUE
if("stopbot") // lock or unlock the borg
if(isrobot(usr))
- to_chat(usr, "Access Denied.")
+ to_chat(usr, SPAN_DANGER("Access Denied."))
return
var/mob/living/silicon/robot/R = locateUID(params["uid"])
if(!can_control(usr, R, TRUE))
return
- message_admins("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!")
+ message_admins(SPAN_NOTICE("[ADMIN_LOOKUPFLW(usr)] [!R.lockcharge ? "locked down" : "released"] [ADMIN_LOOKUPFLW(R)]!"))
log_game("[key_name(usr)] [!R.lockcharge ? "locked down" : "released"] [key_name(R)]!")
R.SetLockdown(!R.lockcharge)
- to_chat(R, "[!R.lockcharge ? "Your lockdown has been lifted!" : "You have been locked down!"]")
+ to_chat(R, "[!R.lockcharge ? SPAN_NOTICE("Your lockdown has been lifted!") : SPAN_ALERT("You have been locked down!")]")
if(R.connected_ai)
- to_chat(R.connected_ai, "[!R.lockcharge ? "NOTICE - Cyborg lockdown lifted" : "ALERT - Cyborg lockdown detected"]: [R.name]
")
+ to_chat(R.connected_ai, "[!R.lockcharge ? SPAN_NOTICE("NOTICE - Cyborg lockdown lifted") : SPAN_ALERT("ALERT - Cyborg lockdown detected")]: [R.name]
")
. = TRUE
if("hackbot") // AIs hacking/emagging a borg
var/mob/living/silicon/robot/R = locateUID(params["uid"])
@@ -252,11 +252,11 @@
if(choice != "Yes")
return
log_game("[key_name(usr)] emagged [key_name(R)] using robotic console!")
- message_admins("[key_name_admin(usr)] emagged [key_name_admin(R)] using robotic console!")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] emagged [key_name_admin(R)] using robotic console!"))
R.emagged = TRUE
R.module.emag_act(usr)
R.module.module_type = "Malf"
R.update_module_icon()
R.module.rebuild_modules()
- to_chat(R, "Failsafe protocols overridden. New tools available.")
+ to_chat(R, SPAN_NOTICE("Failsafe protocols overridden. New tools available."))
. = TRUE
diff --git a/code/game/machinery/computer/security_records.dm b/code/game/machinery/computer/security_records.dm
index e4248433196..8dfcab361de 100644
--- a/code/game/machinery/computer/security_records.dm
+++ b/code/game/machinery/computer/security_records.dm
@@ -67,7 +67,7 @@
if(..())
return
if(is_away_level(z))
- to_chat(user, "Unable to establish a connection: You're too far away from the station!")
+ to_chat(user, "[SPAN_DANGER("Unable to establish a connection")]: You're too far away from the station!")
return
add_fingerprint(user)
ui_interact(user)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index aa5e4f6253f..87afcbf2d09 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -102,7 +102,7 @@
add_fingerprint(user)
if(!allowed(user))
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_WARNING("Access Denied."))
return
if(!allow_items)
@@ -115,14 +115,14 @@
var/obj/item/item = locateUID(params["item"])
if(!item || item.loc != src)
- to_chat(user, "[item] is no longer in storage.")
+ to_chat(user, SPAN_NOTICE("[item] is no longer in storage."))
return
- visible_message("[src] beeps happily as it dispenses [item].")
+ visible_message(SPAN_NOTICE("[src] beeps happily as it dispenses [item]."))
dispense_item(item)
if("all_items")
- visible_message("[src] beeps happily as it dispenses the desired objects.")
+ visible_message(SPAN_NOTICE("[src] beeps happily as it dispenses the desired objects."))
for(var/list/frozen_item in frozen_items)
var/obj/item/item = locateUID(frozen_item["uid"])
@@ -155,10 +155,10 @@
/obj/machinery/computer/cryopod/emag_act(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
if(!length(objective_items))
- visible_message("The console buzzes in an annoyed manner.")
+ visible_message(SPAN_WARNING("The console buzzes in an annoyed manner."))
playsound(src, 'sound/machines/buzz-sigh.ogg', 30, 1)
return
- visible_message("The console sparks, and some items fall out!")
+ visible_message(SPAN_WARNING("The console sparks, and some items fall out!"))
do_sparks(5, TRUE, src)
for(var/obj/item/I in objective_items)
dispense_item(I)
@@ -441,7 +441,7 @@
announce.autosay("[occupant.real_name] ([announce_rank]) [on_store_message]", "[on_store_name]")
else
announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
- visible_message("[src] hums and hisses as it moves [occupant.real_name] into storage.")
+ visible_message(SPAN_NOTICE("[src] hums and hisses as it moves [occupant.real_name] into storage."))
// Ghost and delete the mob.
if(!occupant.get_ghost(TRUE))
@@ -461,7 +461,7 @@
return ..()
if(occupant)
- to_chat(user, "[src] is in use.")
+ to_chat(user, SPAN_NOTICE("[src] is in use."))
return ITEM_INTERACT_COMPLETE
if(!ismob(G.affecting))
@@ -475,7 +475,7 @@
time_till_despawn = initial(time_till_despawn)
if(!istype(M) || M.stat == DEAD)
- to_chat(user, "Dead people can not be put into cryo.")
+ to_chat(user, SPAN_NOTICE("Dead people can not be put into cryo."))
return ITEM_INTERACT_COMPLETE
if(M.client)
@@ -495,20 +495,20 @@
return ITEM_INTERACT_COMPLETE
if(occupant)
- to_chat(user, "[src] is in use.")
+ to_chat(user, SPAN_BOLDNOTICE("[src] is in use."))
return ITEM_INTERACT_COMPLETE
take_occupant(M, willing)
else //because why the fuck would you keep going if the mob isn't in the pod
- to_chat(user, "You stop putting [M] into the cryopod.")
+ to_chat(user, SPAN_NOTICE("You stop putting [M] into the cryopod."))
return ITEM_INTERACT_COMPLETE
icon_state = occupied_icon_state
M.throw_alert("cryopod", /atom/movable/screen/alert/ghost/cryo)
- to_chat(M, "[on_enter_occupant_message]")
- to_chat(M, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")
+ to_chat(M, SPAN_NOTICE("[on_enter_occupant_message]"))
+ to_chat(M, SPAN_BOLDNOTICE("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round."))
take_occupant(M, willing)
@@ -533,7 +533,7 @@
if(!isturf(user.loc) || !isturf(O.loc)) // are you in a container/closet/pod/etc?
return
if(occupant)
- to_chat(user, "The cryo pod is already occupied!")
+ to_chat(user, SPAN_BOLDNOTICE("The cryo pod is already occupied!"))
return TRUE
@@ -542,11 +542,11 @@
return
if(L.stat == DEAD)
- to_chat(user, "Dead people can not be put into cryo.")
+ to_chat(user, SPAN_NOTICE("Dead people can not be put into cryo."))
return TRUE
if(L.has_buckled_mobs()) //mob attached to us
- to_chat(user, "[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head.")
+ to_chat(user, SPAN_WARNING("[L] will not fit into [src] because [L.p_they()] [L.p_have()] a slime latched onto [L.p_their()] head."))
INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/cryopod, put_in), user, L)
return TRUE
@@ -564,7 +564,7 @@
if(willing)
if(!Adjacent(L) && !Adjacent(user))
- to_chat(user, "You're not close enough to [src].")
+ to_chat(user, SPAN_BOLDNOTICE("You're not close enough to [src]."))
return TRUE
if(L == user)
visible_message("[user] starts climbing into the cryo pod.")
@@ -573,11 +573,11 @@
if(do_after(user, 20, target = L))
if(!L) return TRUE
if(occupant)
- to_chat(user, "\The [src] is in use.")
+ to_chat(user, SPAN_BOLDNOTICE("\The [src] is in use."))
return TRUE
take_occupant(L, willing)
else
- to_chat(user, "You stop [L == user ? "climbing into the cryo pod." : "putting [L] into the cryo pod."]")
+ to_chat(user, SPAN_NOTICE("You stop [L == user ? "climbing into the cryo pod." : "putting [L] into the cryo pod."]"))
/obj/machinery/cryopod/proc/take_occupant(mob/living/carbon/E, willing_factor = 1)
if(occupant)
@@ -588,8 +588,8 @@
E.forceMove(src)
time_till_despawn = initial(time_till_despawn) / willing_factor
icon_state = occupied_icon_state
- to_chat(E, "[on_enter_occupant_message]")
- to_chat(E, "If you ghost, log out or close your client now, your character will shortly be permanently removed from the round.")
+ to_chat(E, SPAN_NOTICE("[on_enter_occupant_message]"))
+ to_chat(E, SPAN_BOLDNOTICE("If you ghost, log out or close your client now, your character will shortly be permanently removed from the round."))
E.throw_alert("cryopod", /atom/movable/screen/alert/ghost/cryo)
occupant = E
name = "[name] ([occupant.name])"
diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm
index 5d7faf3c9c4..c1fe53860f3 100644
--- a/code/game/machinery/dance_machine.dm
+++ b/code/game/machinery/dance_machine.dm
@@ -92,7 +92,7 @@
/obj/machinery/disco/interact(mob/user)
if(!anchored)
- to_chat(user,"This device must be anchored by a wrench!")
+ to_chat(user,SPAN_WARNING("This device must be anchored by a wrench!"))
return
if(!Adjacent(user) && !is_ai(user))
return
@@ -129,7 +129,7 @@
return
if(!active)
if(stop > world.time)
- to_chat(usr, "Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)].")
+ to_chat(usr, SPAN_WARNING("Error: The device is still resetting from the last activation, it will be ready again in [DisplayTimeText(stop-world.time)]."))
playsound(src, 'sound/misc/compiler-failure.ogg', 50, 1)
return
breakitdown()
@@ -139,7 +139,7 @@
updateUsrDialog()
if("select")
if(active)
- to_chat(usr, "Error: You cannot change the song until the current one is over.")
+ to_chat(usr, SPAN_WARNING("Error: You cannot change the song until the current one is over."))
return
var/list/available = list()
@@ -180,7 +180,7 @@
/obj/machinery/disco/proc/deejay(S)
if(QDELETED(src) || !active || charge < 5)
- to_chat(usr, "The device is not able to play more DJ sounds at this time.")
+ to_chat(usr, SPAN_WARNING("The device is not able to play more DJ sounds at this time."))
return
charge -= 5
playsound(src, S, 300, 1)
diff --git a/code/game/machinery/defib_mount.dm b/code/game/machinery/defib_mount.dm
index 8e4af54bc76..0c6e0d55d10 100644
--- a/code/game/machinery/defib_mount.dm
+++ b/code/game/machinery/defib_mount.dm
@@ -48,9 +48,9 @@
if(defib)
. += "There is a defib unit hooked up. Alt-click to remove it."
if(SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED)
- . += "Due to a security situation, its locking clamps can be toggled by swiping any ID."
+ . += SPAN_NOTICE("Due to a security situation, its locking clamps can be toggled by swiping any ID.")
else
- . += "Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access."
+ . += SPAN_NOTICE("Its locking clamps can be [clamps_locked ? "dis" : ""]engaged by swiping an ID with access.")
else
. += "There are a pair of bolts in the defibrillator unit housing, securing [src] to the wall."
@@ -75,10 +75,10 @@
//defib interaction
/obj/machinery/defibrillator_mount/attack_hand(mob/living/user)
if(!defib)
- to_chat(user, "There's no defibrillator unit loaded!")
+ to_chat(user, SPAN_WARNING("There's no defibrillator unit loaded!"))
return
if(defib.paddles.loc != defib)
- to_chat(user, "[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!")
+ to_chat(user, SPAN_WARNING("[defib.paddles.loc == user ? "You are already" : "Someone else is"] holding [defib]'s paddles!"))
return
defib.paddles_on_defib = FALSE
user.put_in_hands(defib.paddles)
@@ -86,13 +86,13 @@
/obj/machinery/defibrillator_mount/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/defibrillator))
if(defib)
- to_chat(user, "There's already a defibrillator in [src]!")
+ to_chat(user, SPAN_WARNING("There's already a defibrillator in [src]!"))
return ITEM_INTERACT_COMPLETE
if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src))
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] hooks up [used] to [src]!", \
- "You press [used] into the mount, and it clicks into place.")
+ user.visible_message(SPAN_NOTICE("[user] hooks up [used] to [src]!"), \
+ SPAN_NOTICE("You press [used] into the mount, and it clicks into place."))
playsound(src, 'sound/machines/click.ogg', 50, TRUE)
defib = used
update_icon(UPDATE_OVERLAYS)
@@ -104,13 +104,13 @@
if(id)
if(check_access(id) || SSsecurity_level.get_current_level_as_number() >= SEC_LEVEL_RED) //anyone can toggle the clamps in red alert!
if(!defib)
- to_chat(user, "You can't engage the clamps on a defibrillator that isn't there.")
+ to_chat(user, SPAN_WARNING("You can't engage the clamps on a defibrillator that isn't there."))
return ITEM_INTERACT_COMPLETE
clamps_locked = !clamps_locked
- to_chat(user, "Clamps [clamps_locked ? "" : "dis"]engaged.")
+ to_chat(user, SPAN_NOTICE("Clamps [clamps_locked ? "" : "dis"]engaged."))
update_icon(UPDATE_OVERLAYS)
else
- to_chat(user, "Insufficient access.")
+ to_chat(user, SPAN_WARNING("Insufficient access."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -118,7 +118,7 @@
/obj/machinery/defibrillator_mount/wrench_act(mob/user, obj/item/I)
. = TRUE
if(defib)
- to_chat(user, "[defib] is blocking access to the bolts!")
+ to_chat(user, SPAN_WARNING("[defib] is blocking access to the bolts!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -134,14 +134,14 @@
if(!Adjacent(user))
return
if(!defib)
- to_chat(user, "It'd be hard to remove a defib unit from a mount that has none.")
+ to_chat(user, SPAN_WARNING("It'd be hard to remove a defib unit from a mount that has none."))
return
if(clamps_locked)
- to_chat(user, "You try to tug out [defib], but the mount's clamps are locked tight!")
+ to_chat(user, SPAN_WARNING("You try to tug out [defib], but the mount's clamps are locked tight!"))
return
user.put_in_hands(defib)
- user.visible_message("[user] unhooks [defib] from [src].", \
- "You slide out [defib] from [src] and unhook the charging cables.")
+ user.visible_message(SPAN_NOTICE("[user] unhooks [defib] from [src]."), \
+ SPAN_NOTICE("You slide out [defib] from [src] and unhook the charging cables."))
playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)
defib = null
update_icon(UPDATE_OVERLAYS)
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 01954660639..816ca918e21 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -44,7 +44,7 @@
if(bar_material != METAL)
return
if(obj_integrity >= max_integrity)
- to_chat(user, "[src] does not need repairs.")
+ to_chat(user, SPAN_NOTICE("[src] does not need repairs."))
return
if(user.a_intent == INTENT_HARM)
return
@@ -96,10 +96,10 @@
if(istype(I,/obj/item/stack/sheet/wood))
var/obj/item/stack/sheet/wood/W = I
if(W.get_amount() < 5)
- to_chat(user, "You need at least five wooden planks to make a wall!")
+ to_chat(user, SPAN_WARNING("You need at least five wooden planks to make a wall!"))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You start adding [I] to [src]...")
+ to_chat(user, SPAN_NOTICE("You start adding [I] to [src]..."))
if(do_after(user, 50, target = src))
if(!W.use(5))
return ITEM_INTERACT_COMPLETE
@@ -113,7 +113,7 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] starts ripping [src] down!", "You struggle to pull [src] apart...", "You hear wood splintering...")
+ user.visible_message(SPAN_NOTICE("[user] starts ripping [src] down!"), SPAN_NOTICE("You struggle to pull [src] apart..."), SPAN_WARNING("You hear wood splintering..."))
if(!I.use_tool(src, user, 6 SECONDS, volume = I.tool_volume))
return
new /obj/item/stack/sheet/wood(get_turf(src), 5)
@@ -171,7 +171,7 @@
density = TRUE
anchored = TRUE
if(deploy_message)
- visible_message("[src] deploys!")
+ visible_message(SPAN_WARNING("[src] deploys!"))
/obj/item/grenade/barrier
@@ -185,7 +185,7 @@
/obj/item/grenade/barrier/examine(mob/user)
. = ..()
- . += "Alt-click to toggle modes."
+ . += SPAN_NOTICE("Alt-click to toggle modes.")
/obj/item/grenade/barrier/AltClick(mob/living/carbon/user)
if(!istype(user) || !user.Adjacent(src) || user.incapacitated())
@@ -376,7 +376,7 @@
/obj/structure/dropwall_generator/attacked_by(obj/item/I, mob/living/user)
if(protected)
- visible_message("[src]'s shield absorbs the blow!")
+ visible_message(SPAN_WARNING("[src]'s shield absorbs the blow!"))
core_shield.take_damage(I.force, I.damtype, MELEE, TRUE)
else
return ..()
@@ -385,7 +385,7 @@
if(!protected)
return ..()
else
- visible_message("[src]'s shield absorbs the blow!")
+ visible_message(SPAN_WARNING("[src]'s shield absorbs the blow!"))
core_shield.take_damage(P.damage, P.damage_type, P.flag)
/obj/structure/dropwall_generator/emp_act(severity)
@@ -402,7 +402,7 @@
qdel(src)
/obj/structure/dropwall_generator/proc/power_out()
- visible_message("[src] runs out of power, causing its shields to fail!")
+ visible_message(SPAN_WARNING("[src] runs out of power, causing its shields to fail!"))
new /obj/item/used_dropwall(get_turf(src))
qdel(src)
diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm
index 8585dd29496..97bbc1dd4b2 100644
--- a/code/game/machinery/dish_drive.dm
+++ b/code/game/machinery/dish_drive.dm
@@ -39,16 +39,16 @@
/obj/machinery/dish_drive/examine(mob/user)
. = ..()
if(user.Adjacent(src))
- . += "Alt-click it to beam its waste storage contents to any nearby disposal bins."
+ . += SPAN_NOTICE("Alt-click it to beam its waste storage contents to any nearby disposal bins.")
/obj/machinery/dish_drive/attack_hand(mob/living/user)
if(!LAZYLEN(dish_drive_contents))
- to_chat(user, "There's nothing in [src]!")
+ to_chat(user, SPAN_WARNING("There's nothing in [src]!"))
return
var/obj/item/I = LAZYACCESS(dish_drive_contents, LAZYLEN(dish_drive_contents)) //the most recently-added item
LAZYREMOVE(dish_drive_contents, I)
user.put_in_hands(I)
- to_chat(user, "You take out [I] from [src].")
+ to_chat(user, SPAN_NOTICE("You take out [I] from [src]."))
playsound(src, 'sound/items/pshoom.ogg', 15, TRUE)
flick("synthesizer_beam", src)
@@ -87,7 +87,7 @@
if(is_type_in_list(I, collectable_items) && I.loc != src && (!I.reagents || !I.reagents.total_volume))
if(I.Adjacent(src))
LAZYADD(dish_drive_contents, I)
- visible_message("[src] beams up [I]!")
+ visible_message(SPAN_NOTICE("[src] beams up [I]!"))
I.forceMove(src)
SEND_SIGNAL(src, COMSIG_ATOM_DISINFECTED)
playsound(src, 'sound/items/pshoom.ogg', 15, TRUE)
@@ -98,7 +98,7 @@
/obj/machinery/dish_drive/attack_ai(mob/living/user)
if(stat)
return
- to_chat(user, "You send a disposal transmission signal to [src].")
+ to_chat(user, SPAN_NOTICE("You send a disposal transmission signal to [src]."))
do_the_dishes(TRUE)
/obj/machinery/dish_drive/AltClick(mob/living/user)
@@ -108,12 +108,12 @@
/obj/machinery/dish_drive/proc/do_the_dishes(manual)
if(!LAZYLEN(dish_drive_contents))
if(manual)
- visible_message("[src] is empty!")
+ visible_message(SPAN_NOTICE("[src] is empty!"))
return
var/obj/machinery/disposal/bin = locate() in view(7, src)
if(!bin)
if(manual)
- visible_message("[src] buzzes. There are no disposal bins in range!")
+ visible_message(SPAN_WARNING("[src] buzzes. There are no disposal bins in range!"))
playsound(src, 'sound/machines/buzz-sigh.ogg', 15, TRUE)
return
var/disposed = 0
@@ -124,12 +124,12 @@
use_power(active_power_consumption)
disposed++
if(disposed)
- visible_message("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].")
+ visible_message(SPAN_NOTICE("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name]."))
playsound(src, 'sound/items/pshoom.ogg', 15, TRUE)
playsound(bin, 'sound/items/pshoom.ogg', 15, TRUE)
Beam(bin, icon_state = "rped_upgrade", icon = 'icons/effects/effects.dmi', time = 5)
bin.update_icon()
flick("synthesizer_beam", src)
else if(manual)
- to_chat(usr, "There are no disposable items to be beamed.")
+ to_chat(usr, SPAN_NOTICE("There are no disposable items to be beamed."))
time_since_dishes = world.time + 60 SECONDS
diff --git a/code/game/machinery/door_control.dm b/code/game/machinery/door_control.dm
index 7e56826416c..625b12ca7e3 100644
--- a/code/game/machinery/door_control.dm
+++ b/code/game/machinery/door_control.dm
@@ -57,7 +57,7 @@
return
if(!allowed(user) && (wires & 1) && !user.can_advanced_admin_interact())
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_WARNING("Access Denied."))
flick("doorctrl-denied",src)
return
@@ -130,12 +130,12 @@
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
/obj/machinery/door_control/no_emag/emag_act(user as mob)
- to_chat(user, "The electronic systems in this button are far too advanced for your primitive hacking peripherals.")
+ to_chat(user, SPAN_NOTICE("The electronic systems in this button are far too advanced for your primitive hacking peripherals."))
return
/obj/machinery/door_control/no_emag/no_cyborg
desc = "A remote control-switch for a door. Looks strangely analog in design."
/obj/machinery/door_control/no_emag/no_cyborg/attack_ai(mob/user)
- to_chat(user, "Error, no route to host.")
+ to_chat(user, SPAN_WARNING("Error, no route to host."))
return
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 195b1b761ff..1399013f6db 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -651,16 +651,16 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
/obj/machinery/door/airlock/examine(mob/user)
. = ..()
if(emagged)
- . += "Its access panel is smoking slightly."
+ . += SPAN_WARNING("Its access panel is smoking slightly.")
if(HAS_TRAIT(src, TRAIT_CMAGGED))
- . += "The access panel is coated in yellow ooze..."
+ . += SPAN_WARNING("The access panel is coated in yellow ooze...")
if(note)
if(!in_range(user, src))
. += "There's a [note.name] pinned to the front. You can't [note_type() == "note" ? "read" : "see"] it from here."
else
. += "There's a [note.name] pinned to the front..."
note.examine(user)
- . += "Use an empty hand on the airlock on grab mode to remove [note.name]."
+ . += SPAN_NOTICE("Use an empty hand on the airlock on grab mode to remove [note.name].")
if(panel_open)
switch(security_level)
@@ -837,13 +837,13 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(H.getBrainLoss() >= 60 && Adjacent(user))
playsound(loc, 'sound/effects/bang.ogg', 25, 1)
if(!istype(H.head, /obj/item/clothing/head/helmet))
- visible_message("[user] headbutts the airlock.")
+ visible_message(SPAN_WARNING("[user] headbutts the airlock."))
var/obj/item/organ/external/affecting = H.get_organ("head")
H.Weaken(10 SECONDS)
if(istype(affecting) && affecting.receive_damage(10, 0))
H.UpdateDamageIcon()
else
- visible_message("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet.")
+ visible_message(SPAN_WARNING("[user] headbutts the airlock. Good thing [user.p_theyre()] wearing a helmet."))
return TRUE
return FALSE
@@ -856,7 +856,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(panel_open)
if(security_level)
- to_chat(user, "Wires are protected!")
+ to_chat(user, SPAN_WARNING("Wires are protected!"))
return
wires.Interact(user)
else
@@ -868,16 +868,16 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(ispulsedemon(user))
return TRUE
if(emagged || HAS_TRAIT(src, TRAIT_CMAGGED))
- to_chat(user, "Unable to interface: Internal error.")
+ to_chat(user, SPAN_WARNING("Unable to interface: Internal error."))
return FALSE
if(!canAIControl())
if(canAIHack(user))
hack(user)
else
if(isAllPowerLoss())
- to_chat(user, "Unable to interface: Connection timed out.")
+ to_chat(user, SPAN_WARNING("Unable to interface: Connection timed out."))
else
- to_chat(user, "Unable to interface: Connection refused.")
+ to_chat(user, SPAN_WARNING("Unable to interface: Connection refused."))
return FALSE
return TRUE
@@ -885,7 +885,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(..())
return
if(!issilicon(usr) && !usr.can_admin_interact() && !usr.has_unlimited_silicon_privilege)
- to_chat(usr, "Access denied. Only silicons may use this interface.")
+ to_chat(usr, SPAN_WARNING("Access denied. Only silicons may use this interface."))
return
if(!ai_control_check(usr))
return
@@ -896,39 +896,39 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
loseMainPower()
update_icon()
else
- to_chat(usr, "Main power is already offline.")
+ to_chat(usr, SPAN_WARNING("Main power is already offline."))
. = FALSE
if("disrupt-backup")
if(!backup_power_lost_until)
loseBackupPower()
update_icon()
else
- to_chat(usr, "Backup power is already offline.")
+ to_chat(usr, SPAN_WARNING("Backup power is already offline."))
if("shock-restore")
electrify(0, usr, TRUE)
if("shock-temp")
if(wires.is_cut(WIRE_ELECTRIFY))
- to_chat(usr, "The electrification wire is cut - Door permanently electrified.")
+ to_chat(usr, SPAN_WARNING("The electrification wire is cut - Door permanently electrified."))
. = FALSE
else
//electrify door for 30 seconds
electrify(30, usr, TRUE)
if("shock-perm")
if(wires.is_cut(WIRE_ELECTRIFY))
- to_chat(usr, "The electrification wire is cut - Cannot electrify the door.")
+ to_chat(usr, SPAN_WARNING("The electrification wire is cut - Cannot electrify the door."))
. = FALSE
else
electrify(-1, usr, TRUE)
if("idscan-toggle")
if(wires.is_cut(WIRE_IDSCAN))
- to_chat(usr, "The IdScan wire has been cut - IdScan feature permanently disabled.")
+ to_chat(usr, SPAN_WARNING("The IdScan wire has been cut - IdScan feature permanently disabled."))
. = FALSE
else if(aiDisabledIdScanner)
aiDisabledIdScanner = FALSE
- to_chat(usr, "IdScan feature has been enabled.")
+ to_chat(usr, SPAN_NOTICE("IdScan feature has been enabled."))
else
aiDisabledIdScanner = TRUE
- to_chat(usr, "IdScan feature has been disabled.")
+ to_chat(usr, SPAN_NOTICE("IdScan feature has been disabled."))
if("emergency-toggle")
toggle_emergency_status(usr)
if("bolt-toggle")
@@ -937,13 +937,13 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
toggle_light(usr)
if("safe-toggle")
if(wires.is_cut(WIRE_SAFETY))
- to_chat(usr, "The safety wire is cut - Cannot secure the door.")
+ to_chat(usr, SPAN_WARNING("The safety wire is cut - Cannot secure the door."))
else if(safe)
safe = 0
- to_chat(usr, "The door safeties have been disabled.")
+ to_chat(usr, SPAN_NOTICE("The door safeties have been disabled."))
else
safe = 1
- to_chat(usr, "The door safeties have been enabled.")
+ to_chat(usr, SPAN_NOTICE("The door safeties have been enabled."))
if("speed-toggle")
toggle_speed(usr)
if("open-close")
@@ -953,10 +953,10 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
/obj/machinery/door/airlock/proc/open_close(mob/user)
if(welded)
- to_chat(user, "The airlock has been welded shut!")
+ to_chat(user, SPAN_WARNING("The airlock has been welded shut!"))
return FALSE
else if(locked)
- to_chat(user, "The door bolts are down!")
+ to_chat(user, SPAN_WARNING("The door bolts are down!"))
return FALSE
else if(density)
return open()
@@ -965,47 +965,47 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
/obj/machinery/door/airlock/proc/toggle_light(mob/user)
if(wires.is_cut(WIRE_BOLT_LIGHT))
- to_chat(user, "The bolt lights wire has been cut - The door bolt lights are permanently disabled.")
+ to_chat(user, SPAN_WARNING("The bolt lights wire has been cut - The door bolt lights are permanently disabled."))
else if(lights)
lights = FALSE
- to_chat(user, "The door bolt lights have been disabled.")
+ to_chat(user, SPAN_NOTICE("The door bolt lights have been disabled."))
else if(!lights)
lights = TRUE
- to_chat(user, "The door bolt lights have been enabled.")
+ to_chat(user, SPAN_NOTICE("The door bolt lights have been enabled."))
update_icon()
/obj/machinery/door/airlock/proc/toggle_bolt(mob/user)
if(wires.is_cut(WIRE_DOOR_BOLTS))
- to_chat(user, "The door bolt control wire has been cut - Door bolts permanently dropped.")
+ to_chat(user, SPAN_WARNING("The door bolt control wire has been cut - Door bolts permanently dropped."))
return
if(unlock()) // Trying to unbolt
- to_chat(user, "The door bolts have been raised.")
+ to_chat(user, SPAN_NOTICE("The door bolts have been raised."))
return
if(lock()) // Trying to bolt
- to_chat(user, "The door bolts have been dropped.")
+ to_chat(user, SPAN_NOTICE("The door bolts have been dropped."))
user.create_log(MISC_LOG, "Bolted", src)
add_hiddenprint(user)
/obj/machinery/door/airlock/proc/toggle_emergency_status(mob/user)
emergency = !emergency
if(emergency)
- to_chat(user, "Emergency access has been enabled.")
+ to_chat(user, SPAN_NOTICE("Emergency access has been enabled."))
else
- to_chat(user, "Emergency access has been disabled.")
+ to_chat(user, SPAN_NOTICE("Emergency access has been disabled."))
update_icon()
/obj/machinery/door/airlock/proc/toggle_speed(mob/user)
if(wires.is_cut(WIRE_SPEED))
- to_chat(user, "The timing wire has been cut - Cannot alter timing.")
+ to_chat(user, SPAN_WARNING("The timing wire has been cut - Cannot alter timing."))
return
normalspeed = !normalspeed
if(normalspeed)
- to_chat(user, "The door is now in normal mode.")
+ to_chat(user, SPAN_NOTICE("The door is now in normal mode."))
else
- to_chat(user, "The door is now in fast mode.")
+ to_chat(user, SPAN_NOTICE("The door is now in fast mode."))
/obj/machinery/door/airlock/item_interaction(mob/living/user, obj/item/used, list/modifiers)
add_fingerprint(user)
@@ -1017,28 +1017,28 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(istype(used, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/S = used
if(S.get_amount() < 2)
- to_chat(user, "You need at least 2 metal sheets to reinforce [src].")
+ to_chat(user, SPAN_WARNING("You need at least 2 metal sheets to reinforce [src]."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start reinforcing [src]...")
+ to_chat(user, SPAN_NOTICE("You start reinforcing [src]..."))
if(do_after(user, 20, 1, target = src))
if(!panel_open || !S.use(2))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] reinforces \the [src] with metal.",
- "You reinforce \the [src] with metal.")
+ user.visible_message(SPAN_NOTICE("[user] reinforces \the [src] with metal."),
+ SPAN_NOTICE("You reinforce \the [src] with metal."))
security_level = AIRLOCK_SECURITY_METAL
update_icon()
return ITEM_INTERACT_COMPLETE
else if(istype(used, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/S = used
if(S.get_amount() < 2)
- to_chat(user, "You need at least 2 plasteel sheets to reinforce [src].")
+ to_chat(user, SPAN_WARNING("You need at least 2 plasteel sheets to reinforce [src]."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start reinforcing [src]...")
+ to_chat(user, SPAN_NOTICE("You start reinforcing [src]..."))
if(do_after(user, 20, 1, target = src))
if(!panel_open || !S.use(2))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] reinforces \the [src] with plasteel.",
- "You reinforce \the [src] with plasteel.")
+ user.visible_message(SPAN_NOTICE("[user] reinforces \the [src] with plasteel."),
+ SPAN_NOTICE("You reinforce \the [src] with plasteel."))
security_level = AIRLOCK_SECURITY_PLASTEEL
modify_max_integrity(normal_integrity * AIRLOCK_INTEGRITY_MULTIPLIER)
damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_R
@@ -1054,14 +1054,14 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
return ITEM_INTERACT_COMPLETE
else if(istype(used, /obj/item/paper) || istype(used, /obj/item/photo))
if(note)
- to_chat(user, "There's already something pinned to this airlock! Use wirecutters or your hands to remove it.")
+ to_chat(user, SPAN_WARNING("There's already something pinned to this airlock! Use wirecutters or your hands to remove it."))
return ITEM_INTERACT_COMPLETE
if(!user.transfer_item_to(used, src))
- to_chat(user, "For some reason, you can't attach [used]!")
+ to_chat(user, SPAN_WARNING("For some reason, you can't attach [used]!"))
return ITEM_INTERACT_COMPLETE
used.add_fingerprint(user)
user.create_log(MISC_LOG, "put [used] on", src)
- user.visible_message("[user] pins [used] to [src].", "You pin [used] to [src].")
+ user.visible_message(SPAN_NOTICE("[user] pins [used] to [src]."), SPAN_NOTICE("You pin [used] to [src]."))
note = used
update_icon()
@@ -1078,7 +1078,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
panel_open = !panel_open
- to_chat(user, "You [panel_open ? "open":"close"] [src]'s maintenance panel.")
+ to_chat(user, SPAN_NOTICE("You [panel_open ? "open":"close"] [src]'s maintenance panel."))
update_icon()
/obj/machinery/door/airlock/crowbar_act(mob/user, obj/item/I)
@@ -1090,24 +1090,24 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(!I.use_tool(src, user, 0, volume = 0))
return
if(panel_open && security_level == AIRLOCK_SECURITY_PLASTEEL_I_S)
- to_chat(user, "You start removing the inner layer of shielding...")
+ to_chat(user, SPAN_NOTICE("You start removing the inner layer of shielding..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!panel_open || security_level != AIRLOCK_SECURITY_PLASTEEL_I_S)
return
- user.visible_message("[user] removes \the [src]'s shielding.",
- "You remove \the [src]'s inner shielding.")
+ user.visible_message(SPAN_NOTICE("[user] removes \the [src]'s shielding."),
+ SPAN_NOTICE("You remove \the [src]'s inner shielding."))
security_level = AIRLOCK_SECURITY_NONE
modify_max_integrity(normal_integrity)
damage_deflection = AIRLOCK_DAMAGE_DEFLECTION_N
new /obj/item/stack/sheet/plasteel(get_turf(user))
update_icon()
else if(panel_open && security_level == AIRLOCK_SECURITY_PLASTEEL_O_S)
- to_chat(user, "You start removing outer layer of shielding...")
+ to_chat(user, SPAN_NOTICE("You start removing outer layer of shielding..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!panel_open || security_level != AIRLOCK_SECURITY_PLASTEEL_O_S)
return
- user.visible_message("[user] removes \the [src]'s shielding.",
- "You remove \the [src]'s shielding.")
+ user.visible_message(SPAN_NOTICE("[user] removes \the [src]'s shielding."),
+ SPAN_NOTICE("You remove \the [src]'s shielding."))
security_level = AIRLOCK_SECURITY_PLASTEEL_I
new /obj/item/stack/sheet/plasteel(get_turf(user))
else
@@ -1129,12 +1129,12 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(security_level == AIRLOCK_SECURITY_PLASTEEL)
if(arePowerSystemsOn() && shock(user, 60)) // Protective grille of wiring is electrified
return
- to_chat(user, "You start cutting through the outer grille.")
+ to_chat(user, SPAN_NOTICE("You start cutting through the outer grille."))
if(I.use_tool(src, user, 10, volume = I.tool_volume))
if(!panel_open || security_level != AIRLOCK_SECURITY_PLASTEEL)
return
- user.visible_message("[user] cut through \the [src]'s outer grille.",
- "You cut through \the [src]'s outer grille.")
+ user.visible_message(SPAN_NOTICE("[user] cut through \the [src]'s outer grille."),
+ SPAN_NOTICE("You cut through \the [src]'s outer grille."))
security_level = AIRLOCK_SECURITY_PLASTEEL_O
return
interact_with_panel(user)
@@ -1156,59 +1156,59 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(panel_open) // panel should be open before we try to slice out any shielding.
switch(security_level)
if(AIRLOCK_SECURITY_METAL)
- to_chat(user, "You begin cutting the panel's shielding...")
+ to_chat(user, SPAN_NOTICE("You begin cutting the panel's shielding..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- visible_message("[user] cuts through \the [src]'s shielding.",
- "You cut through \the [src]'s shielding.",
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user] cuts through \the [src]'s shielding."),
+ SPAN_NOTICE("You cut through \the [src]'s shielding."),
+ SPAN_ITALICS("You hear welding."))
security_level = AIRLOCK_SECURITY_NONE
new /obj/item/stack/sheet/metal(get_turf(user), 2)
if(AIRLOCK_SECURITY_PLASTEEL_O)
- to_chat(user, "You begin cutting the outer layer of shielding...")
+ to_chat(user, SPAN_NOTICE("You begin cutting the outer layer of shielding..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- visible_message("[user] cuts through \the [src]'s shielding.",
- "You cut through \the [src]'s shielding.",
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user] cuts through \the [src]'s shielding."),
+ SPAN_NOTICE("You cut through \the [src]'s shielding."),
+ SPAN_ITALICS("You hear welding."))
security_level = AIRLOCK_SECURITY_PLASTEEL_O_S
if(AIRLOCK_SECURITY_PLASTEEL_I)
- to_chat(user, "You begin cutting the inner layer of shielding...")
+ to_chat(user, SPAN_NOTICE("You begin cutting the inner layer of shielding..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- user.visible_message("[user] cuts through \the [src]'s shielding.",
- "You cut through \the [src]'s shielding.",
- "You hear welding.")
+ user.visible_message(SPAN_NOTICE("[user] cuts through \the [src]'s shielding."),
+ SPAN_NOTICE("You cut through \the [src]'s shielding."),
+ SPAN_ITALICS("You hear welding."))
security_level = AIRLOCK_SECURITY_PLASTEEL_I_S
else
if(user.a_intent != INTENT_HELP)
- user.visible_message("[user] is [welded ? "unwelding":"welding"] the airlock.", \
- "You begin [welded ? "unwelding":"welding"] the airlock...", \
- "You hear welding.")
+ user.visible_message(SPAN_NOTICE("[user] is [welded ? "unwelding":"welding"] the airlock."), \
+ SPAN_NOTICE("You begin [welded ? "unwelding":"welding"] the airlock..."), \
+ SPAN_ITALICS("You hear welding."))
if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(weld_checks), I, user)))
if(!density && !welded)
return
welded = !welded
- user.visible_message("[user.name] has [welded? "welded shut":"unwelded"] [src].", \
- "You [welded ? "weld the airlock shut":"unweld the airlock"].")
+ user.visible_message(SPAN_NOTICE("[user.name] has [welded? "welded shut":"unwelded"] [src]."), \
+ SPAN_NOTICE("You [welded ? "weld the airlock shut":"unweld the airlock"]."))
update_icon()
else if(obj_integrity < max_integrity)
// Only attempt repairs if the door is solid (albeit closed)
if(!density)
- to_chat(user, "The airlock must be closed for repairs.")
+ to_chat(user, SPAN_WARNING("The airlock must be closed for repairs."))
return
- user.visible_message("[user] is welding the airlock.", \
- "You begin repairing the airlock...", \
- "You hear welding.")
+ user.visible_message(SPAN_NOTICE("[user] is welding the airlock."), \
+ SPAN_NOTICE("You begin repairing the airlock..."), \
+ SPAN_ITALICS("You hear welding."))
if(I.use_tool(src, user, 40, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(weld_checks), I, user)))
obj_integrity = max_integrity
stat &= ~BROKEN
- user.visible_message("[user.name] has repaired [src].", \
- "You finish repairing the airlock.")
+ user.visible_message(SPAN_NOTICE("[user.name] has repaired [src]."), \
+ SPAN_NOTICE("You finish repairing the airlock."))
update_icon()
else
- to_chat(user, "The airlock doesn't need repairing.")
+ to_chat(user, SPAN_NOTICE("The airlock doesn't need repairing."))
update_icon()
/obj/machinery/door/airlock/proc/weld_checks(obj/item/I, mob/user)
@@ -1229,15 +1229,15 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
beingcrowbarred = TRUE
if(beingcrowbarred && panel_open && (emagged || (density && welded && !operating && !arePowerSystemsOn() && !locked)))
user.visible_message("[user] removes the electronics from the airlock assembly.", \
- "You start to remove electronics from the airlock assembly...")
+ SPAN_NOTICE("You start to remove electronics from the airlock assembly..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
deconstruct(TRUE, user)
return
if(welded)
- to_chat(user, "[src] is welded shut!")
+ to_chat(user, SPAN_WARNING("[src] is welded shut!"))
return
if(locked)
- to_chat(user, "The airlock's bolts prevent it from being forced!")
+ to_chat(user, SPAN_WARNING("The airlock's bolts prevent it from being forced!"))
return
else if(!arePowerSystemsOn())
spawn(0)
@@ -1247,7 +1247,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
close(1)
return
else if(!ispowertool(I))
- to_chat(user, "The airlock's motors resist your efforts to force it!")
+ to_chat(user, SPAN_WARNING("The airlock's motors resist your efforts to force it!"))
return
if(isElectrified())
shock(user, 100)//it's like sticking a forck in a power socket
@@ -1266,7 +1266,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(result)
open(1)
if(density && !open(1))
- to_chat(user, "Despite your attempts, [src] refuses to open.")
+ to_chat(user, SPAN_WARNING("Despite your attempts, [src] refuses to open."))
/obj/machinery/door/airlock/open(forced=0)
if(operating || welded || locked || emagged)
@@ -1452,7 +1452,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
return
return
if(locked || welded) //Extremely generic, as aliens only understand the basics of how airlocks work.
- to_chat(user, "[src] refuses to budge!")
+ to_chat(user, SPAN_WARNING("[src] refuses to budge!"))
return
if(prying_so_hard)
return
@@ -1461,22 +1461,22 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(arePowerSystemsOn())
if(HAS_TRAIT_FROM(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT))
open(TRUE)
- visible_message("[user] forces the door!")
+ visible_message(SPAN_DANGER("[user] forces the door!"))
playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
prying_so_hard = FALSE
return
- user.visible_message("[user] begins prying open [src].",\
- "You begin digging your claws into [src] with all your might!",\
- "You hear groaning metal...")
+ user.visible_message(SPAN_WARNING("[user] begins prying open [src]."),\
+ SPAN_NOTICEALIEN("You begin digging your claws into [src] with all your might!"),\
+ SPAN_WARNING("You hear groaning metal..."))
time_to_open = 50 //Powered airlocks take longer to open, and are loud.
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE)
else
- visible_message("[user] forces the door!")
+ visible_message(SPAN_DANGER("[user] forces the door!"))
playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
if(do_after(user, time_to_open, TRUE, src))
if(density && !open(2)) //The airlock is still closed, but something prevented it opening. (Another player noticed and bolted/welded the airlock in time!)
- to_chat(user, "Despite your efforts, [src] managed to resist your attempts to open it!")
+ to_chat(user, SPAN_WARNING("Despite your efforts, [src] managed to resist your attempts to open it!"))
prying_so_hard = FALSE
/obj/machinery/door/airlock/power_change() //putting this is obj/machinery/door itself makes non-airlock doors turn invisible for some reason
@@ -1548,7 +1548,7 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(DA)
DA.obj_integrity = DA.max_integrity * 0.5
if(user)
- to_chat(user, "You remove the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
var/obj/item/airlock_electronics/ae
if(!electronics)
ae = new/obj/item/airlock_electronics(loc)
@@ -1587,12 +1587,12 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(!wirecutters_used)
if(ishuman(user) && (user.a_intent == INTENT_GRAB)) //grab that note
- user.visible_message("[user] removes [note] from [src].", "You remove [note] from [src].")
+ user.visible_message(SPAN_NOTICE("[user] removes [note] from [src]."), SPAN_NOTICE("You remove [note] from [src]."))
playsound(src, 'sound/items/poster_ripped.ogg', 50, 1)
else
return FALSE
else
- user.visible_message("[user] cuts down [note] from [src].", "You remove [note] from [src].")
+ user.visible_message(SPAN_NOTICE("[user] cuts down [note] from [src]."), SPAN_NOTICE("You remove [note] from [src]."))
playsound(src, 'sound/items/wirecutter.ogg', 50, 1)
note.add_fingerprint(user)
user.create_log(MISC_LOG, "removed [note] from", src)
@@ -1724,13 +1724,13 @@ GLOBAL_LIST_EMPTY(airlock_emissive_underlays)
if(!locked)
return TRUE
if(!panel_open)
- to_chat(user, "You do not have access to [src]'s bolts, open the panel first!")
+ to_chat(user, SPAN_NOTICE("You do not have access to [src]'s bolts, open the panel first!"))
return TRUE
if(security_level != AIRLOCK_SECURITY_NONE)
- to_chat(user, "You do not have access to [src]'s bolts, remove the reinforcements first!")
+ to_chat(user, SPAN_NOTICE("You do not have access to [src]'s bolts, remove the reinforcements first!"))
return TRUE
- user.visible_message("[user] has stuck a wrench into [src] and is struggling to raise the bolts!", "You struggle to raise the bolts of [src].")
+ user.visible_message(SPAN_ALERT("[user] has stuck a wrench into [src] and is struggling to raise the bolts!"), SPAN_ALERT("You struggle to raise the bolts of [src]."))
if(!do_after(user, 5 SECONDS, target = src))
return TRUE
locked = FALSE
diff --git a/code/game/machinery/doors/airlock_electronics.dm b/code/game/machinery/doors/airlock_electronics.dm
index 7f366936767..780c3372727 100644
--- a/code/game/machinery/doors/airlock_electronics.dm
+++ b/code/game/machinery/doors/airlock_electronics.dm
@@ -37,7 +37,7 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.getBrainLoss() >= max_brain_damage)
- to_chat(user, "You forget how to use [src].")
+ to_chat(user, SPAN_WARNING("You forget how to use [src]."))
return
ui_interact(user)
diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm
index 3719fa35d8f..cc0ed1ed065 100644
--- a/code/game/machinery/doors/airlock_types.dm
+++ b/code/game/machinery/doors/airlock_types.dm
@@ -374,7 +374,7 @@
security_level = 6
/obj/machinery/door/airlock/hatch/syndicate/command/emag_act(mob/user)
- to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.")
+ to_chat(user, SPAN_NOTICE("The electronic systems in this door are far too advanced for your primitive hacking peripherals."))
return
/// This door is used in the malf AI telecomms ruin. This door starts early access, and will try to crush someone to death who enters it's turf like how an AI door crushes.
@@ -466,9 +466,9 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
welded = !welded
- visible_message("[user] [welded ? null : "un"]welds [src]!",\
- "You [welded ? null : "un"]weld [src]!",\
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user] [welded ? null : "un"]welds [src]!"),\
+ SPAN_NOTICE("You [welded ? null : "un"]weld [src]!"),\
+ SPAN_WARNING("You hear welding."))
update_icon()
/obj/machinery/door/airlock/abductor
diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm
index 4334e86045f..2fb3136520a 100644
--- a/code/game/machinery/doors/brigdoors.dm
+++ b/code/game/machinery/doors/brigdoors.dm
@@ -329,7 +329,7 @@
if(..())
return
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return
. = TRUE
switch(action)
@@ -373,7 +373,7 @@
if(timing)
var/reset_reason = tgui_input_text(usr, "Reason for resetting timer:", name)
if(!reset_reason)
- to_chat(usr, "Cancelled reset: reason field is required.")
+ to_chat(usr, SPAN_WARNING("Cancelled reset: reason field is required."))
return FALSE
releasetime = world.timeofday + timetoset
var/resettext = isobserver(usr) ? "for: [reset_reason]." : "by [usr.name] for: [reset_reason]."
@@ -394,7 +394,7 @@
if("flash")
for(var/obj/machinery/flasher/F in targets)
if(F.last_flash && (F.last_flash + 150) > world.time)
- to_chat(usr, "Flash still charging.")
+ to_chat(usr, SPAN_WARNING("Flash still charging."))
else
F.flash()
else
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 1b991677215..8aadb793b5b 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -204,13 +204,13 @@
REMOVE_TRAIT(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT)
return FALSE
if(welded)
- to_chat(user, "The door is welded.")
+ to_chat(user, SPAN_WARNING("The door is welded."))
return FALSE
if(locked)
- to_chat(user, "The door is bolted.")
+ to_chat(user, SPAN_WARNING("The door is bolted."))
return FALSE
if(density)
- visible_message("[user] forces the door open!")
+ visible_message(SPAN_DANGER("[user] forces the door open!"))
playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
open(TRUE)
if(V && HAS_TRAIT_FROM(user, TRAIT_FORCE_DOORS, VAMPIRE_TRAIT))
@@ -338,7 +338,7 @@
if(!density)
return
do_animate("deny")
- to_chat(H, "The airlock speaker chuckles: 'What's wrong, pal? Lost your ID? Nyuk nyuk nyuk!'")
+ to_chat(H, SPAN_WARNING("The airlock speaker chuckles: 'What's wrong, pal? Lost your ID? Nyuk nyuk nyuk!'"))
if(sound_ready)
playsound(loc, 'sound/machines/honkbot_evil_laugh.ogg', 25, TRUE, ignore_walls = FALSE)
soundcooldown() //Thanks, mechs
@@ -458,7 +458,7 @@
/obj/machinery/door/proc/crush()
for(var/turf/T in get_airlock_turfs())
for(var/mob/living/L in T)
- L.visible_message("[src] closes on [L], crushing [L.p_them()]!", "[src] closes on you and crushes you!")
+ L.visible_message(SPAN_WARNING("[src] closes on [L], crushing [L.p_them()]!"), SPAN_USERDANGER("[src] closes on you and crushes you!"))
if(isalien(L)) //For xenos
L.adjustBruteLoss(DOOR_CRUSH_DAMAGE * 1.5) //Xenos go into crit after aproximately the same amount of crushes as humans.
L.emote("roar")
diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm
index eb4e9d408e8..7cf74b76657 100644
--- a/code/game/machinery/doors/firedoor.dm
+++ b/code/game/machinery/doors/firedoor.dm
@@ -41,13 +41,13 @@
/obj/machinery/door/firedoor/examine(mob/user)
. = ..()
if(!density)
- . += "It is open, but could be pried closed."
+ . += SPAN_NOTICE("It is open, but could be pried closed.")
else if(!welded)
- . += "It is closed, but could be pried open. Deconstruction would require it to be welded shut."
+ . += SPAN_NOTICE("It is closed, but could be pried open. Deconstruction would require it to be welded shut.")
else if(boltslocked)
- . += "It is welded shut. The floor bolts have been locked by screws."
+ . += SPAN_NOTICE("It is welded shut. The floor bolts have been locked by screws.")
else
- . += "The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor."
+ . += SPAN_NOTICE("The bolt locks have been unscrewed, but the bolts themselves are still wrenched to the floor.")
/obj/machinery/door/firedoor/proc/CalculateAffectingAreas()
remove_from_areas()
@@ -108,20 +108,20 @@
return
if(welded)
- to_chat(user, "[src] is welded shut!")
+ to_chat(user, SPAN_WARNING("[src] is welded shut!"))
return
add_fingerprint(user)
user.changeNext_move(CLICK_CD_MELEE)
user.visible_message(
- "[user] tries to open [src] manually.",
- "You operate the manual lever on [src].")
+ SPAN_NOTICE("[user] tries to open [src] manually."),
+ SPAN_NOTICE("You operate the manual lever on [src]."))
if(do_after(user, manual_open_time, target = src))
user.visible_message(
- "[user] opens [src].",
- "You open [src].")
+ SPAN_NOTICE("[user] opens [src]."),
+ SPAN_NOTICE("You open [src]."))
open()
/obj/machinery/door/firedoor/item_interaction(mob/living/user, obj/item/used, list/modifiers)
@@ -143,8 +143,8 @@
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- user.visible_message("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts.", \
- "You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts.")
+ user.visible_message(SPAN_NOTICE("[user] [boltslocked ? "unlocks" : "locks"] [src]'s bolts."), \
+ SPAN_NOTICE("You [boltslocked ? "unlock" : "lock"] [src]'s floor bolts."))
boltslocked = !boltslocked
/obj/machinery/door/firedoor/wrench_act(mob/user, obj/item/I)
@@ -156,14 +156,14 @@
if(!I.tool_use_check(user, 0))
return
if(boltslocked)
- to_chat(user, "There are screws locking the bolts in place!")
+ to_chat(user, SPAN_NOTICE("There are screws locking the bolts in place!"))
return
- user.visible_message("[user] starts undoing [src]'s bolts...", \
- "You start unfastening [src]'s floor bolts...")
+ user.visible_message(SPAN_NOTICE("[user] starts undoing [src]'s bolts..."), \
+ SPAN_NOTICE("You start unfastening [src]'s floor bolts..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume) || boltslocked)
return
- user.visible_message("[user] unfastens [src]'s bolts.", \
- "You undo [src]'s floor bolts.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens [src]'s bolts."), \
+ SPAN_NOTICE("You undo [src]'s floor bolts."))
deconstruct(TRUE)
/obj/machinery/door/firedoor/welder_act(mob/user, obj/item/I)
@@ -211,7 +211,7 @@
/obj/machinery/door/firedoor/attack_alien(mob/user)
add_fingerprint(user)
if(welded)
- to_chat(user, "[src] refuses to budge!")
+ to_chat(user, SPAN_WARNING("[src] refuses to budge!"))
return
open()
@@ -389,15 +389,15 @@
. = ..()
switch(constructionStep)
if(CONSTRUCTION_PANEL_OPEN)
- . += "It is unbolted from the floor. A small loosely connected metal plate is covering the wires."
+ . += SPAN_NOTICE("It is unbolted from the floor. A small loosely connected metal plate is covering the wires.")
if(!reinforced)
- . += "It could be reinforced with plasteel."
+ . += SPAN_NOTICE("It could be reinforced with plasteel.")
if(CONSTRUCTION_WIRES_EXPOSED)
- . += "The maintenance plate has been pried away, and wires are trailing."
+ . += SPAN_NOTICE("The maintenance plate has been pried away, and wires are trailing.")
if(CONSTRUCTION_GUTTED)
- . += "The maintenance panel is missing wires and the circuit board is loosely connected."
+ . += SPAN_NOTICE("The maintenance panel is missing wires and the circuit board is loosely connected.")
if(CONSTRUCTION_NOCIRCUIT)
- . += "There are no firelock electronics in the frame. The frame could be cut apart."
+ . += SPAN_NOTICE("There are no firelock electronics in the frame. The frame could be cut apart.")
/obj/structure/firelock_frame/update_icon_state()
icon_state = "frame[constructionStep]"
@@ -408,19 +408,19 @@
if(istype(C, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/P = C
if(reinforced)
- to_chat(user, "[src] is already reinforced.")
+ to_chat(user, SPAN_WARNING("[src] is already reinforced."))
return ITEM_INTERACT_COMPLETE
if(P.get_amount() < 2)
- to_chat(user, "You need more plasteel to reinforce [src].")
+ to_chat(user, SPAN_WARNING("You need more plasteel to reinforce [src]."))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] begins reinforcing [src]...", \
- "You begin reinforcing [src]...")
+ user.visible_message(SPAN_NOTICE("[user] begins reinforcing [src]..."), \
+ SPAN_NOTICE("You begin reinforcing [src]..."))
playsound(get_turf(src), C.usesound, 50, 1)
if(do_after(user, 60 * C.toolspeed, target = src))
if(constructionStep != CONSTRUCTION_PANEL_OPEN || reinforced || P.get_amount() < 2 || !P)
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] reinforces [src].", \
- "You reinforce [src].")
+ user.visible_message(SPAN_NOTICE("[user] reinforces [src]."), \
+ SPAN_NOTICE("You reinforce [src]."))
playsound(get_turf(src), C.usesound, 50, 1)
P.use(2)
reinforced = 1
@@ -429,16 +429,16 @@
if(iscoil(C))
var/obj/item/stack/cable_coil/B = C
if(B.get_amount() < 5)
- to_chat(user, "You need more wires to add wiring to [src].")
+ to_chat(user, SPAN_WARNING("You need more wires to add wiring to [src]."))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] begins wiring [src]...", \
- "You begin adding wires to [src]...")
+ user.visible_message(SPAN_NOTICE("[user] begins wiring [src]..."), \
+ SPAN_NOTICE("You begin adding wires to [src]..."))
playsound(get_turf(src), B.usesound, 50, 1)
if(do_after(user, 60 * B.toolspeed, target = src))
if(constructionStep != CONSTRUCTION_GUTTED || B.get_amount() < 5 || !B)
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] adds wires to [src].", \
- "You wire [src].")
+ user.visible_message(SPAN_NOTICE("[user] adds wires to [src]."), \
+ SPAN_NOTICE("You wire [src]."))
playsound(get_turf(src), B.usesound, 50, 1)
B.use(5)
constructionStep = CONSTRUCTION_WIRES_EXPOSED
@@ -446,8 +446,8 @@
return ITEM_INTERACT_COMPLETE
if(CONSTRUCTION_NOCIRCUIT)
if(istype(C, /obj/item/firelock_electronics))
- user.visible_message("[user] starts adding [C] to [src]...", \
- "You begin adding a circuit board to [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts adding [C] to [src]..."), \
+ SPAN_NOTICE("You begin adding a circuit board to [src]..."))
playsound(get_turf(src), C.usesound, 50, 1)
if(!do_after(user, 40 * C.toolspeed, target = src))
return ITEM_INTERACT_COMPLETE
@@ -455,8 +455,8 @@
return ITEM_INTERACT_COMPLETE
user.drop_item()
qdel(C)
- user.visible_message("[user] adds a circuit to [src].", \
- "You insert and secure [C].")
+ user.visible_message(SPAN_NOTICE("[user] adds a circuit to [src]."), \
+ SPAN_NOTICE("You insert and secure [C]."))
playsound(get_turf(src), C.usesound, 50, 1)
constructionStep = CONSTRUCTION_GUTTED
update_icon()
@@ -470,34 +470,34 @@
if(!I.tool_use_check(user, 0))
return
if(constructionStep == CONSTRUCTION_WIRES_EXPOSED)
- user.visible_message("[user] starts prying a metal plate into [src]...", \
- "You begin prying the cover plate back onto [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts prying a metal plate into [src]..."), \
+ SPAN_NOTICE("You begin prying the cover plate back onto [src]..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
if(constructionStep != CONSTRUCTION_WIRES_EXPOSED)
return
- user.visible_message("[user] pries the metal plate into [src].", \
- "You pry [src]'s cover plate into place, hiding the wires.")
+ user.visible_message(SPAN_NOTICE("[user] pries the metal plate into [src]."), \
+ SPAN_NOTICE("You pry [src]'s cover plate into place, hiding the wires."))
constructionStep = CONSTRUCTION_PANEL_OPEN
else if(constructionStep == CONSTRUCTION_PANEL_OPEN)
- user.visible_message("[user] starts prying something out from [src]...", \
- "You begin prying out the wire cover...")
+ user.visible_message(SPAN_NOTICE("[user] starts prying something out from [src]..."), \
+ SPAN_NOTICE("You begin prying out the wire cover..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
if(constructionStep != CONSTRUCTION_PANEL_OPEN)
return
- user.visible_message("[user] pries out a metal plate from [src], exposing the wires.", \
- "You remove the cover plate from [src], exposing the wires.")
+ user.visible_message(SPAN_NOTICE("[user] pries out a metal plate from [src], exposing the wires."), \
+ SPAN_NOTICE("You remove the cover plate from [src], exposing the wires."))
constructionStep = CONSTRUCTION_WIRES_EXPOSED
else if(constructionStep == CONSTRUCTION_GUTTED)
- user.visible_message("[user] begins removing the circuit board from [src]...", \
- "You begin prying out the circuit board from [src]...")
+ user.visible_message(SPAN_NOTICE("[user] begins removing the circuit board from [src]..."), \
+ SPAN_NOTICE("You begin prying out the circuit board from [src]..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
if(constructionStep != CONSTRUCTION_GUTTED)
return
- user.visible_message("[user] removes [src]'s circuit board.", \
- "You remove the circuit board from [src].")
+ user.visible_message(SPAN_NOTICE("[user] removes [src]'s circuit board."), \
+ SPAN_NOTICE("You remove the circuit board from [src]."))
new /obj/item/firelock_electronics(get_turf(src))
constructionStep = CONSTRUCTION_NOCIRCUIT
update_icon()
@@ -509,14 +509,14 @@
if(!I.tool_start_check(src, user, 0))
return
- user.visible_message("[user] starts cutting the wires from [src]...", \
- "You begin removing [src]'s wires...")
+ user.visible_message(SPAN_NOTICE("[user] starts cutting the wires from [src]..."), \
+ SPAN_NOTICE("You begin removing [src]'s wires..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
if(constructionStep != CONSTRUCTION_WIRES_EXPOSED)
return
- user.visible_message("[user] removes the wires from [src].", \
- "You remove the wiring from [src], exposing the circuit board.")
+ user.visible_message(SPAN_NOTICE("[user] removes the wires from [src]."), \
+ SPAN_NOTICE("You remove the wiring from [src], exposing the circuit board."))
var/obj/item/stack/cable_coil/B = new(get_turf(src))
B.amount = 5
constructionStep = CONSTRUCTION_GUTTED
@@ -527,18 +527,18 @@
return
. = TRUE
if(locate(/obj/machinery/door/firedoor) in get_turf(src))
- to_chat(user, "There's already a firelock there.")
+ to_chat(user, SPAN_WARNING("There's already a firelock there."))
return
if(!I.tool_start_check(src, user, 0))
return
- user.visible_message("[user] starts bolting down [src]...", \
- "You begin bolting [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts bolting down [src]..."), \
+ SPAN_NOTICE("You begin bolting [src]..."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
if(locate(/obj/machinery/door/firedoor) in get_turf(src))
return
- user.visible_message("[user] finishes the firelock.", \
- "You finish the firelock.")
+ user.visible_message(SPAN_NOTICE("[user] finishes the firelock."), \
+ SPAN_NOTICE("You finish the firelock."))
if(reinforced)
new /obj/machinery/door/firedoor/heavy(get_turf(src))
else
diff --git a/code/game/machinery/doors/poddoor.dm b/code/game/machinery/doors/poddoor.dm
index ecd705f3b6c..656c26014f2 100644
--- a/code/game/machinery/doors/poddoor.dm
+++ b/code/game/machinery/doors/poddoor.dm
@@ -39,7 +39,7 @@
return
/obj/machinery/door/poddoor/impassable/emag_act(mob/user)
- to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.")
+ to_chat(user, SPAN_NOTICE("The electronic systems in this door are far too advanced for your primitive hacking peripherals."))
return
/obj/machinery/door/poddoor/Bumped(atom/AM)
@@ -76,14 +76,14 @@
if(!density)
return
if(!hasPower() && !(resistance_flags & INDESTRUCTIBLE))
- to_chat(user, "You start forcing [src] open...")
+ to_chat(user, SPAN_NOTICE("You start forcing [src] open..."))
if(do_after(user, 50 * I.toolspeed, target = src))
if(!hasPower())
open()
else
- to_chat(user, "[src] resists your efforts to force it!")
+ to_chat(user, SPAN_WARNING("[src] resists your efforts to force it!"))
else
- to_chat(user, "[src] resists your efforts to force it!")
+ to_chat(user, SPAN_WARNING("[src] resists your efforts to force it!"))
// Whoever wrote the old code for multi-tile spesspod doors needs to burn in hell. - Unknown
// Wise words. - Bxil
@@ -113,7 +113,7 @@
return
/obj/machinery/door/poddoor/multi_tile/impassable/emag_act(mob/user)
- to_chat(user, "The electronic systems in this door are far too advanced for your primitive hacking peripherals.")
+ to_chat(user, SPAN_NOTICE("The electronic systems in this door are far too advanced for your primitive hacking peripherals."))
return
/obj/machinery/door/poddoor/multi_tile/impassable/triple
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index 8e508053e33..68feaf7444b 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -74,9 +74,9 @@
/obj/machinery/door/window/examine(mob/user)
. = ..()
if(emagged)
- . += "Its access panel is smoking slightly."
+ . += SPAN_WARNING("Its access panel is smoking slightly.")
if(HAS_TRAIT(src, TRAIT_CMAGGED))
- . += "The access panel is coated in yellow ooze..."
+ . += SPAN_WARNING("The access panel is coated in yellow ooze...")
/obj/machinery/door/window/emp_act(severity)
. = ..()
@@ -281,7 +281,7 @@
if(. && M.environment_smash >= ENVIRONMENT_SMASH_WALLS)
playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE)
deconstruct(FALSE)
- M.visible_message("[M] smashes through [src]!", "You smash through [src].")
+ M.visible_message(SPAN_DANGER("[M] smashes through [src]!"), SPAN_NOTICE("You smash through [src]."))
/obj/machinery/door/window/attack_ghost(mob/user)
if(user.can_advanced_admin_interact())
@@ -326,12 +326,12 @@
return
. = TRUE
if(density || operating)
- to_chat(user, "You need to open the door to access the maintenance panel!")
+ to_chat(user, SPAN_WARNING("You need to open the door to access the maintenance panel!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
panel_open = !panel_open
- to_chat(user, "You [panel_open ? "open":"close"] the maintenance panel of the [src.name].")
+ to_chat(user, SPAN_NOTICE("You [panel_open ? "open":"close"] the maintenance panel of the [src.name]."))
/obj/machinery/door/window/crowbar_act(mob/user, obj/item/I)
@@ -343,7 +343,7 @@
if(!I.tool_use_check(user, 0))
return
if(panel_open && !density && !operating)
- user.visible_message("[user] removes the electronics from the [name].", \
+ user.visible_message(SPAN_WARNING("[user] removes the electronics from the [name]."), \
"You start to remove electronics from the [name]...")
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(panel_open && !density && !operating && loc)
@@ -370,7 +370,7 @@
else
WA.name = "wired windoor assembly"
- to_chat(user, "You remove the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
var/obj/item/airlock_electronics/ae
if(!electronics)
@@ -399,7 +399,7 @@
else
close(2)
else
- to_chat(user, "The door's motors resist your efforts to force it!")
+ to_chat(user, SPAN_WARNING("The door's motors resist your efforts to force it!"))
/obj/machinery/door/window/do_animate(animation)
switch(animation)
diff --git a/code/game/machinery/doppler_array.dm b/code/game/machinery/doppler_array.dm
index 37e66ca974a..318cfad1561 100644
--- a/code/game/machinery/doppler_array.dm
+++ b/code/game/machinery/doppler_array.dm
@@ -41,7 +41,7 @@
if(istype(used, /obj/item/disk/tech_disk))
var/obj/item/disk/tech_disk/disk = used
disk.load_tech(toxins_tech)
- to_chat(user, "You swipe the disk into [src].")
+ to_chat(user, SPAN_NOTICE("You swipe the disk into [src]."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -59,7 +59,7 @@
return
var/obj/item/multitool/multi = I
multi.set_multitool_buffer(user, src)
- to_chat(user, "You save [src]'s linking data to the buffer.")
+ to_chat(user, SPAN_NOTICE("You save [src]'s linking data to the buffer."))
/obj/machinery/doppler_array/attack_hand(mob/user)
if(..())
@@ -77,23 +77,23 @@
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
return
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do that!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do that!"))
return
dir = turn(dir, 90)
- to_chat(user, "You rotate [src].")
+ to_chat(user, SPAN_NOTICE("You rotate [src]."))
/obj/machinery/doppler_array/proc/print_explosive_logs(mob/user)
if(!length(logged_explosions))
atom_say("No logs currently stored in internal database.")
return
if(active_timers)
- to_chat(user, "[src] is already printing something, please wait.")
+ to_chat(user, SPAN_NOTICE("[src] is already printing something, please wait."))
return
atom_say("Printing explosive log. Standby...")
addtimer(CALLBACK(src, PROC_REF(print)), 50)
/obj/machinery/doppler_array/proc/print()
- visible_message("[src] prints a piece of paper!")
+ visible_message(SPAN_NOTICE("[src] prints a piece of paper!"))
playsound(loc, 'sound/goonstation/machines/printer_dotmatrix.ogg', 50, 1)
var/obj/item/paper/explosive_log/P = new(get_turf(src))
for(var/D in logged_explosions)
@@ -208,7 +208,7 @@
switch(action)
if("delete_logs")
QDEL_LIST_CONTENTS(logged_explosions)
- to_chat(usr, "All logs deleted successfully.")
+ to_chat(usr, SPAN_NOTICE("All logs deleted successfully."))
if("delete_record")
var/index = text2num(params["index"])
if(index < 0 || index > length(logged_explosions))
@@ -217,7 +217,7 @@
var/datum/explosion_log/E = logged_explosions[index]
logged_explosions -= E
qdel(E)
- to_chat(usr, "Log deletion successful.")
+ to_chat(usr, SPAN_NOTICE("Log deletion successful."))
if("print_logs")
print_explosive_logs(usr)
else
diff --git a/code/game/machinery/dye_generator.dm b/code/game/machinery/dye_generator.dm
index 69478a0298f..fce6f789497 100644
--- a/code/game/machinery/dye_generator.dm
+++ b/code/game/machinery/dye_generator.dm
@@ -56,7 +56,7 @@
if(istype(used, /obj/item/hair_dye_bottle))
var/obj/item/hair_dye_bottle/HD = used
- user.visible_message("[user] fills [HD] up with some dye.","You fill [HD] up with some hair dye.")
+ user.visible_message(SPAN_NOTICE("[user] fills [HD] up with some dye."),SPAN_NOTICE("You fill [HD] up with some hair dye."))
HD.dye_color = dye_color
HD.update_icon()
return ITEM_INTERACT_COMPLETE
@@ -110,7 +110,7 @@
if(!user.Adjacent(M))
to_chat(user, "You are too far away!")
return
- user.visible_message("[user] starts dying [M]'s [what_to_dye]!", "You start dying [M]'s [what_to_dye]!")
+ user.visible_message(SPAN_NOTICE("[user] starts dying [M]'s [what_to_dye]!"), SPAN_NOTICE("You start dying [M]'s [what_to_dye]!"))
if(do_after(user, 50, target = H))
switch(what_to_dye)
if("hair")
@@ -124,4 +124,4 @@
if("body")
H.change_skin_color(dye_color)
H.update_dna()
- user.visible_message("[user] finishes dying [M]'s [what_to_dye]!", "You finish dying [M]'s [what_to_dye]!")
+ user.visible_message(SPAN_NOTICE("[user] finishes dying [M]'s [what_to_dye]!"), SPAN_NOTICE("You finish dying [M]'s [what_to_dye]!"))
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index 6bffbb9443f..ffe3b384a7c 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -103,8 +103,8 @@ FIRE ALARM
if(!emagged)
emagged = TRUE
if(user)
- user.visible_message("Sparks fly out of [src]!",
- "You emag [src], disabling its thermal sensors.")
+ user.visible_message(SPAN_WARNING("Sparks fly out of [src]!"),
+ SPAN_NOTICE("You emag [src], disabling its thermal sensors."))
playsound(loc, 'sound/effects/sparks4.ogg', 50, TRUE)
return TRUE
@@ -134,17 +134,17 @@ FIRE ALARM
if(buildstage == FIRE_ALARM_UNWIRED && istype(used, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = used
if(!coil.use(5))
- to_chat(user, "You need a total of five cables to wire [src]!")
+ to_chat(user, SPAN_WARNING("You need a total of five cables to wire [src]!"))
return ITEM_INTERACT_COMPLETE
buildstage = FIRE_ALARM_READY
playsound(get_turf(src), used.usesound, 50, TRUE)
- to_chat(user, "You wire [src]!")
+ to_chat(user, SPAN_NOTICE("You wire [src]!"))
update_icon()
return ITEM_INTERACT_COMPLETE
if(buildstage == FIRE_ALARM_FRAME && istype(used, /obj/item/firealarm_electronics))
- to_chat(user, "You insert the circuit!")
+ to_chat(user, SPAN_NOTICE("You insert the circuit!"))
qdel(used)
buildstage = FIRE_ALARM_UNWIRED
update_icon()
@@ -171,15 +171,15 @@ FIRE ALARM
return
. = TRUE
if(!wiresexposed)
- to_chat(user, "You need to expose the wires first!")
+ to_chat(user, SPAN_WARNING("You need to expose the wires first!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
detecting = !detecting
if(detecting)
- user.visible_message("[user] has reconnected [src]'s detecting unit!", "You have reconnected [src]'s detecting unit.")
+ user.visible_message(SPAN_WARNING("[user] has reconnected [src]'s detecting unit!"), "You have reconnected [src]'s detecting unit.")
else
- user.visible_message("[user] has disconnected [src]'s detecting unit!", "You have disconnected [src]'s detecting unit.")
+ user.visible_message(SPAN_WARNING("[user] has disconnected [src]'s detecting unit!"), "You have disconnected [src]'s detecting unit.")
/obj/machinery/firealarm/screwdriver_act(mob/user, obj/item/I)
if(buildstage != FIRE_ALARM_READY)
@@ -199,7 +199,7 @@ FIRE ALARM
return
. = TRUE
if(!wiresexposed)
- to_chat(user, "You need to expose the wires first!")
+ to_chat(user, SPAN_WARNING("You need to expose the wires first!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -292,7 +292,7 @@ FIRE ALARM
return 1
if(fingerprintslast == user.ckey && world.time < last_time_pulled + 2 SECONDS) //no spamming >:C
- to_chat(user, "[src] is still processing your earlier command.")
+ to_chat(user, SPAN_WARNING("[src] is still processing your earlier command."))
return
toggle_alarm(user)
@@ -312,13 +312,13 @@ FIRE ALARM
. = ..()
switch(buildstage)
if(FIRE_ALARM_FRAME)
- . += "It's missing a circuit board and the bolts are exposed."
+ . += SPAN_NOTICE("It's missing a circuit board and the bolts are exposed.")
if(FIRE_ALARM_UNWIRED)
- . += "The control board needs wiring and can be pried out."
+ . += SPAN_NOTICE("The control board needs wiring and can be pried out.")
if(FIRE_ALARM_READY)
if(wiresexposed)
- . += "The fire alarm's wires are exposed by the unscrewed panel."
- . += "The detection circuitry can be turned [detecting ? "off" : "on"] by pulsing the board."
+ . += SPAN_NOTICE("The fire alarm's wires are exposed by the unscrewed panel.")
+ . += SPAN_NOTICE("The detection circuitry can be turned [detecting ? "off" : "on"] by pulsing the board.")
. += "It shows the alert level as: [capitalize(SSsecurity_level.get_current_level_as_text())]."
diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm
index 9de96a3d86d..470aaf46d91 100644
--- a/code/game/machinery/flasher.dm
+++ b/code/game/machinery/flasher.dm
@@ -116,9 +116,9 @@
return
disable = !disable
if(disable)
- user.visible_message("[user] has disconnected [src]'s flashbulb!", "You disconnect [src]'s flashbulb!")
+ user.visible_message(SPAN_WARNING("[user] has disconnected [src]'s flashbulb!"), SPAN_WARNING("You disconnect [src]'s flashbulb!"))
if(!disable)
- user.visible_message("[user] has connected [src]'s flashbulb!", "You connect [src]'s flashbulb!")
+ user.visible_message(SPAN_WARNING("[user] has connected [src]'s flashbulb!"), SPAN_WARNING("You connect [src]'s flashbulb!"))
/obj/machinery/flasher/portable/wrench_act(mob/user, obj/item/I)
. = TRUE
diff --git a/code/game/machinery/floodlight.dm b/code/game/machinery/floodlight.dm
index bb6024b8d50..4390e187872 100644
--- a/code/game/machinery/floodlight.dm
+++ b/code/game/machinery/floodlight.dm
@@ -35,7 +35,7 @@
on = FALSE
update_icon(UPDATE_ICON_STATE)
set_light(0)
- visible_message("[src] shuts down due to lack of power!")
+ visible_message(SPAN_WARNING("[src] shuts down due to lack of power!"))
/obj/machinery/floodlight/attack_ai()
return
@@ -52,30 +52,30 @@
cell.update_icon(UPDATE_ICON_STATE)
cell = null
- to_chat(user, "You remove the power cell.")
+ to_chat(user, SPAN_WARNING("You remove the power cell."))
if(on)
on = FALSE
- visible_message("[src] shuts down due to lack of power!")
+ visible_message(SPAN_WARNING("[src] shuts down due to lack of power!"))
set_light(0)
update_icon(UPDATE_ICON_STATE)
return
if(on)
on = FALSE
- to_chat(user, "You turn off the light.")
+ to_chat(user, SPAN_NOTICE("You turn off the light."))
set_light(0)
else
if(!cell)
- to_chat(user, "You try to turn on [src] but nothing happens! Seems like it lacks a power cell.")
+ to_chat(user, SPAN_WARNING("You try to turn on [src] but nothing happens! Seems like it lacks a power cell."))
return
if(cell.charge <= 0)
- to_chat(user, "[src] hardly glows at all! Seems like the power cell is empty.")
+ to_chat(user, SPAN_WARNING("[src] hardly glows at all! Seems like the power cell is empty."))
return
if(!anchored)
- to_chat(user, "[src] must be anchored first!")
+ to_chat(user, SPAN_WARNING("[src] must be anchored first!"))
return
on = TRUE
- to_chat(user, "You turn on the light.")
+ to_chat(user, SPAN_NOTICE("You turn on the light."))
set_light(brightness_on)
update_icon(UPDATE_ICON_STATE)
@@ -93,13 +93,13 @@
if(istype(used, /obj/item/stock_parts/cell))
if(open)
if(cell)
- to_chat(user, "There is a power cell already installed.")
+ to_chat(user, SPAN_WARNING("There is a power cell already installed."))
else
playsound(loc, used.usesound, 50, TRUE)
user.drop_item()
used.loc = src
cell = used
- to_chat(user, "You insert the power cell.")
+ to_chat(user, SPAN_NOTICE("You insert the power cell."))
update_icon(UPDATE_ICON_STATE)
return ITEM_INTERACT_COMPLETE
@@ -108,7 +108,7 @@
/obj/machinery/floodlight/screwdriver_act(mob/living/user, obj/item/I)
if(open)
- to_chat(user, "The screws can't reach while its open.")
+ to_chat(user, SPAN_WARNING("The screws can't reach while its open."))
return TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
@@ -118,25 +118,25 @@
return
if(unlocked)
- to_chat(user, "You screw the battery panel in place.")
+ to_chat(user, SPAN_NOTICE("You screw the battery panel in place."))
else
- to_chat(user, "You unscrew the battery panel.")
+ to_chat(user, SPAN_NOTICE("You unscrew the battery panel."))
unlocked = !unlocked
update_icon(UPDATE_ICON_STATE)
return TRUE
/obj/machinery/floodlight/crowbar_act(mob/living/user, obj/item/I)
if(!unlocked)
- to_chat(user, "The cover is screwed tightly down.")
+ to_chat(user, SPAN_NOTICE("The cover is screwed tightly down."))
return TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
return
if(open)
- to_chat(user, "You pry the panel closed.")
+ to_chat(user, SPAN_NOTICE("You pry the panel closed."))
else
- to_chat(user, "You pry the panel open.")
+ to_chat(user, SPAN_NOTICE("You pry the panel open."))
open = !open
update_icon(UPDATE_ICON_STATE)
return TRUE
@@ -157,12 +157,12 @@
/obj/machinery/floodlight/examine(mob/user)
. = ..()
if(!unlocked)
- . +="The panel is screwed shut."
+ . +=SPAN_NOTICE("The panel is screwed shut.")
else
if(open)
- . +="The panel is pried open, looks like you could fit a cell in there."
+ . +=SPAN_NOTICE("The panel is pried open, looks like you could fit a cell in there.")
else
- . +="The panel looks like it could be pried open, or screwed shut."
+ . +=SPAN_NOTICE("The panel looks like it could be pried open, or screwed shut.")
/obj/machinery/floodlight/anchored
anchored = TRUE
diff --git a/code/game/machinery/floor_igniter.dm b/code/game/machinery/floor_igniter.dm
index 127b37fe941..97bbd4dac18 100644
--- a/code/game/machinery/floor_igniter.dm
+++ b/code/game/machinery/floor_igniter.dm
@@ -102,10 +102,10 @@
disable = !disable
if(disable)
- user.visible_message("[user] has disabled [src]!", "You disable the connection to [src].")
+ user.visible_message(SPAN_WARNING("[user] has disabled [src]!"), SPAN_WARNING("You disable the connection to [src]."))
icon_state = "[base_state]-d"
else
- user.visible_message("[user] has reconnected [src]!", "You fix the connection to [src].")
+ user.visible_message(SPAN_WARNING("[user] has reconnected [src]!"), SPAN_WARNING("You fix the connection to [src]."))
if(has_power())
icon_state = "[base_state]"
else
diff --git a/code/game/machinery/gameboard.dm b/code/game/machinery/gameboard.dm
index d5c86c8d078..0e73d11cdfc 100644
--- a/code/game/machinery/gameboard.dm
+++ b/code/game/machinery/gameboard.dm
@@ -81,7 +81,7 @@
if(cooling_down)
message_admins("Too many checkmates on chessboard, possible HREF exploits: [key_name_admin(usr)] on [src] (JMP)")
return
- visible_message("[src.name] beeps, \"WINNER!\"")
+ visible_message(SPAN_NOTICE("[SPAN_NAME("[src.name]")] beeps, \"WINNER!\""))
new prize(get_turf(src), 80)
close_game()
cooling_down = 1
diff --git a/code/game/machinery/guestpass.dm b/code/game/machinery/guestpass.dm
index 7a51b67bf8d..a3bc3b779c0 100644
--- a/code/game/machinery/guestpass.dm
+++ b/code/game/machinery/guestpass.dm
@@ -22,13 +22,13 @@
/obj/item/card/id/guest/examine(mob/user)
. = ..()
if(world.time < expiration_time)
- . += "This pass expires at [station_time_timestamp("hh:mm:ss", expiration_time)]."
+ . += SPAN_NOTICE("This pass expires at [station_time_timestamp("hh:mm:ss", expiration_time)].")
else
- . += "It expired at [station_time_timestamp("hh:mm:ss", expiration_time)]."
- . += "It grants access to following areas:"
+ . += SPAN_WARNING("It expired at [station_time_timestamp("hh:mm:ss", expiration_time)].")
+ . += SPAN_NOTICE("It grants access to following areas:")
for(var/A in temp_access)
- . += "[get_access_desc(A)]."
- . += "Issuing reason: [reason]."
+ . += SPAN_NOTICE("[get_access_desc(A)].")
+ . += SPAN_NOTICE("Issuing reason: [reason].")
/////////////////////////////////////////////
//Guest pass terminal////////////////////////
@@ -62,7 +62,7 @@
/obj/machinery/computer/guestpass/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/card/id/nct_data_chip))
- to_chat(user, "[used] does not seem compatible with this terminal!")
+ to_chat(user, SPAN_WARNING("[used] does not seem compatible with this terminal!"))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/card/id))
if(!scan)
@@ -71,7 +71,7 @@
scan = used
SStgui.update_uis(src)
else
- to_chat(user, "There is already ID card inside.")
+ to_chat(user, SPAN_WARNING("There is already ID card inside."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -168,7 +168,7 @@
if(dur > 0 && dur <= 30)
duration = dur
else
- to_chat(usr, "Invalid duration.")
+ to_chat(usr, SPAN_WARNING("Invalid duration."))
if("print")
var/dat = "Activity log of guest pass terminal #[global_terminal_id]
"
for(var/entry in internal_log)
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 9256a6b7b92..24503594918 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -155,7 +155,7 @@ GLOBAL_LIST_EMPTY(holopads)
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
public_mode = !public_mode
- to_chat(user, "You [public_mode ? "enable" : "disable"] the holopad's public mode setting.")
+ to_chat(user, SPAN_NOTICE("You [public_mode ? "enable" : "disable"] the holopad's public mode setting."))
/obj/machinery/hologram/holopad/screwdriver_act(mob/user, obj/item/I)
. = TRUE
@@ -185,8 +185,8 @@ GLOBAL_LIST_EMPTY(holopads)
/obj/machinery/hologram/holopad/examine(mob/user)
. = ..()
- . += "Its maintenance panel can be screwed [panel_open ? "closed" : "open"]."
- . += "Its public mode indicator reads [public_mode ? "on" : "off"]. It can be turned [public_mode ? "off" : "on"] by using a multitool while the maintenance panel is open."
+ . += SPAN_NOTICE("Its maintenance panel can be screwed [panel_open ? "closed" : "open"].")
+ . += SPAN_NOTICE("Its public mode indicator reads [public_mode ? "on" : "off"]. It can be turned [public_mode ? "off" : "on"] by using a multitool while the maintenance panel is open.")
/obj/machinery/hologram/holopad/AltClick(mob/living/carbon/human/user)
if(..())
@@ -255,7 +255,7 @@ GLOBAL_LIST_EMPTY(holopads)
for(var/mob/living/silicon/ai/AI in GLOB.ai_list)
if(!AI.client)
continue
- to_chat(AI, "Your presence is requested at \the [area].")
+ to_chat(AI, SPAN_NOTICE("Your presence is requested at \the [area]."))
else
temp = "A request for AI presence was already sent recently.
"
temp += "Main Menu"
@@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(holopads)
if(outgoing_call)
return
if(dialling_input)
- to_chat(usr, "Finish dialling first!")
+ to_chat(usr, SPAN_NOTICE("Finish dialling first!"))
return
temp = "You must stand on the holopad to make a call!
"
temp += "Main Menu"
@@ -419,7 +419,7 @@ GLOBAL_LIST_EMPTY(holopads)
to_chat(user, "ERROR: Unable to project hologram.")
if(!(stat & NOPOWER) && (!AI || force))
if(AI && (istype(AI.current, /obj/machinery/hologram/holopad)))
- to_chat(user, "ERROR: Image feed in progress.")
+ to_chat(user, "[SPAN_DANGER("ERROR:")] Image feed in progress.")
return
var/obj/effect/overlay/holo_pad_hologram/hologram = new(loc)//Spawn a blank effect at the location.
@@ -452,7 +452,7 @@ GLOBAL_LIST_EMPTY(holopads)
return hologram
- to_chat(user, "ERROR: Hologram Projection Malfunction.")
+ to_chat(user, "[SPAN_DANGER("ERROR:")] Hologram Projection Malfunction.")
clear_holo(user)//safety check
/*This is the proc for special two-way communication between AI and holopad/people talking near holopad.
diff --git a/code/game/machinery/iv_drip.dm b/code/game/machinery/iv_drip.dm
index f1b6581b361..5432c348aee 100644
--- a/code/game/machinery/iv_drip.dm
+++ b/code/game/machinery/iv_drip.dm
@@ -49,7 +49,7 @@
if(Adjacent(target) && user.Adjacent(target))
if(!bag)
- to_chat(user, "There's no IV bag connected to [src]!")
+ to_chat(user, SPAN_WARNING("There's no IV bag connected to [src]!"))
return
bag.mob_act(target, user)
START_PROCESSING(SSmachines, src)
@@ -65,7 +65,7 @@
/obj/machinery/iv_drip/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/reagent_containers/iv_bag))
if(bag)
- to_chat(user, "[src] already has an IV bag!")
+ to_chat(user, SPAN_WARNING("[src] already has an IV bag!"))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
return ITEM_INTERACT_COMPLETE
@@ -73,7 +73,7 @@
used.forceMove(src)
bag = used
bag.update_iv_type()
- to_chat(user, "You attach [used] to [src].")
+ to_chat(user, SPAN_NOTICE("You attach [used] to [src]."))
update_icon(UPDATE_OVERLAYS)
START_PROCESSING(SSmachines, src)
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm
index 1a20ec70efe..2936a5c2cb2 100644
--- a/code/game/machinery/lightswitch.dm
+++ b/code/game/machinery/lightswitch.dm
@@ -64,7 +64,7 @@
/obj/machinery/light_switch/examine(mob/user)
. = ..()
var/area/our_area = get_area(src)
- . += "It is [our_area.lightswitch ? "on" : "off"]."
+ . += SPAN_NOTICE("It is [our_area.lightswitch ? "on" : "off"].")
/obj/machinery/light_switch/attack_ghost(mob/user)
if(user.can_advanced_admin_interact())
@@ -99,7 +99,7 @@
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] starts unwrenching [src] from the wall...", "You are unwrenching [src] from the wall...", "You hear ratcheting.")
+ user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting."))
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume))
return
diff --git a/code/game/machinery/machine_frame.dm b/code/game/machinery/machine_frame.dm
index 670b7cbb54a..e94ac7406e3 100644
--- a/code/game/machinery/machine_frame.dm
+++ b/code/game/machinery/machine_frame.dm
@@ -47,7 +47,7 @@
/obj/structure/machine_frame/examine(mob/user)
. = ..()
if(extra_desc)
- . += "[extra_desc]"
+ . += SPAN_NOTICE("[extra_desc]")
/obj/structure/machine_frame/update_name(updates)
. = ..()
@@ -100,22 +100,22 @@
var/obj/item/stack/cable_coil/C = P
if(C.get_amount() >= 5)
playsound(src.loc, C.usesound, 50, 1)
- to_chat(user, "You start to add cables to the frame.")
+ to_chat(user, SPAN_NOTICE("You start to add cables to the frame."))
if(do_after(user, 20 * C.toolspeed, target = src))
if(state == MACHINE_FRAME_EMPTY && C.get_amount() >= 5 && C.use(5))
- to_chat(user, "You add cables to the frame.")
+ to_chat(user, SPAN_NOTICE("You add cables to the frame."))
state = MACHINE_FRAME_WIRED
update_icon(UPDATE_ICON_STATE)
else
- to_chat(user, "At some point during construction you lost some cable. Make sure you have five lengths before trying again.")
+ to_chat(user, SPAN_WARNING("At some point during construction you lost some cable. Make sure you have five lengths before trying again."))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need five lengths of cable to wire the frame.")
+ to_chat(user, SPAN_WARNING("You need five lengths of cable to wire the frame."))
return ITEM_INTERACT_COMPLETE
if(iswrench(P))
P.play_tool_sound(src)
- to_chat(user, "You dismantle the frame.")
+ to_chat(user, SPAN_NOTICE("You dismantle the frame."))
deconstruct(TRUE)
return ITEM_INTERACT_COMPLETE
if(MACHINE_FRAME_WIRED)
@@ -125,10 +125,10 @@
var/obj/item/circuitboard/B = P
if(B.board_type == frame_type)
if(!B.build_path)
- to_chat(user, "This is not a functional machine board!")
+ to_chat(user, SPAN_WARNING("This is not a functional machine board!"))
return ITEM_INTERACT_COMPLETE
playsound(src.loc, B.usesound, 50, 1)
- to_chat(user, "You add the circuit board to the frame.")
+ to_chat(user, SPAN_NOTICE("You add the circuit board to the frame."))
circuit = P
user.drop_item()
P.forceMove(src)
@@ -137,7 +137,7 @@
req_components = circuit.req_components?.Copy()
update_appearance(UPDATE_NAME|UPDATE_DESC|UPDATE_ICON_STATE)
else
- to_chat(user, "This frame does not accept circuit boards of this type!")
+ to_chat(user, SPAN_DANGER("This frame does not accept circuit boards of this type!"))
return ITEM_INTERACT_COMPLETE
if(MACHINE_FRAME_CIRCUITBOARD)
@@ -165,7 +165,7 @@
for(var/obj/item/part in added_components)
components += part
- to_chat(user, "[part.name] applied.")
+ to_chat(user, SPAN_NOTICE("[part.name] applied."))
replacer.play_rped_sound()
update_appearance(UPDATE_DESC)
@@ -195,7 +195,7 @@
update_appearance(UPDATE_DESC)
return ITEM_INTERACT_COMPLETE
if(!success)
- to_chat(user, "You cannot add that to the machine!")
+ to_chat(user, SPAN_DANGER("You cannot add that to the machine!"))
return ITEM_INTERACT_COMPLETE
return ITEM_INTERACT_COMPLETE
if(user.a_intent == INTENT_HARM)
@@ -208,7 +208,7 @@
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- to_chat(user, "You remove the cables.")
+ to_chat(user, SPAN_NOTICE("You remove the cables."))
state = MACHINE_FRAME_EMPTY
new /obj/item/stack/cable_coil(loc, 5)
update_appearance(UPDATE_ICON_STATE)
@@ -224,9 +224,9 @@
circuit.forceMove(loc)
circuit = null
if(length(components) == 0)
- to_chat(user, "You remove the circuit board.")
+ to_chat(user, SPAN_NOTICE("You remove the circuit board."))
else
- to_chat(user, "You remove the circuit board and other components.")
+ to_chat(user, SPAN_NOTICE("You remove the circuit board and other components."))
for(var/obj/item/comp in components)
comp.forceMove(loc)
@@ -628,7 +628,7 @@ to destroy them and players will be able to make replacements.
build_path = type
format_board_name()
if(user)
- to_chat(user, "You set the board to [board_name].")
+ to_chat(user, SPAN_NOTICE("You set the board to [board_name]."))
/obj/item/circuitboard/monkey_recycler
board_name = "Monkey Recycler"
@@ -687,7 +687,7 @@ to destroy them and players will be able to make replacements.
build_path = new_path
name = "circuit board ([new_name] 3000)"
- to_chat(user, "You change the circuit board setting to \"[new_name]\".")
+ to_chat(user, SPAN_NOTICE("You change the circuit board setting to \"[new_name]\"."))
/obj/item/circuitboard/chem_master/condi_master
board_name = "CondiMaster 3000"
@@ -769,18 +769,18 @@ to destroy them and players will be able to make replacements.
/obj/item/circuitboard/dish_drive/examine(mob/user)
. = ..()
- . += "Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch."
- . += "Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch."
+ . += SPAN_NOTICE("Its suction function is [suction ? "enabled" : "disabled"]. Use it in-hand to switch.")
+ . += SPAN_NOTICE("Its disposal auto-transmit function is [transmit ? "enabled" : "disabled"]. Alt-click it to switch.")
/obj/item/circuitboard/dish_drive/attack_self__legacy__attackchain(mob/living/user)
suction = !suction
- to_chat(user, "You [suction ? "enable" : "disable"] the board's suction function.")
+ to_chat(user, SPAN_NOTICE("You [suction ? "enable" : "disable"] the board's suction function."))
/obj/item/circuitboard/dish_drive/AltClick(mob/living/user)
if(!user.Adjacent(src))
return
transmit = !transmit
- to_chat(user, "You [transmit ? "enable" : "disable"] the board's automatic disposal transmission.")
+ to_chat(user, SPAN_NOTICE("You [transmit ? "enable" : "disable"] the board's automatic disposal transmission."))
/obj/item/circuitboard/chem_dispenser/soda
board_name = "Soda Machine"
@@ -931,7 +931,7 @@ to destroy them and players will be able to make replacements.
var/obj/item/gps/L = I
if(L.locked_location)
target = get_turf(L.locked_location)
- to_chat(user, "You upload the data from [L]")
+ to_chat(user, SPAN_CAUTION("You upload the data from [L]"))
return
return ..()
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 01dd6277162..f835b488e03 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -253,16 +253,16 @@
return TRUE
if(!user.IsAdvancedToolUser() && !isobserver(user))
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return TRUE
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.getBrainLoss() >= 60)
- visible_message("[H] stares cluelessly at [src].")
+ visible_message(SPAN_WARNING("[H] stares cluelessly at [src]."))
return TRUE
else if(prob(H.getBrainLoss()))
- to_chat(user, "You momentarily forget how to use [src].")
+ to_chat(user, SPAN_WARNING("You momentarily forget how to use [src]."))
return TRUE
if(panel_open)
@@ -316,7 +316,7 @@
return FALSE
if((panel_open || ignore_panel) && !(flags & NODECONSTRUCT))
deconstruct(TRUE)
- to_chat(user, "You disassemble [src].")
+ to_chat(user, SPAN_NOTICE("You disassemble [src]."))
I.play_tool_sound(user, I.tool_volume)
return TRUE
return FALSE
@@ -330,11 +330,11 @@
if(!panel_open)
panel_open = TRUE
icon_state = icon_state_open
- to_chat(user, "You open the maintenance hatch of [src].")
+ to_chat(user, SPAN_NOTICE("You open the maintenance hatch of [src]."))
else
panel_open = FALSE
icon_state = icon_state_closed
- to_chat(user, "You close the maintenance hatch of [src].")
+ to_chat(user, SPAN_NOTICE("You close the maintenance hatch of [src]."))
I.play_tool_sound(user, I.tool_volume)
return 1
return 0
@@ -346,7 +346,7 @@
return FALSE
if(panel_open)
dir = turn(dir,-90)
- to_chat(user, "You rotate [src].")
+ to_chat(user, SPAN_NOTICE("You rotate [src]."))
I.play_tool_sound(user, I.tool_volume)
return TRUE
return FALSE
@@ -364,21 +364,21 @@
if(istype(used, /obj/item/stack/nanopaste))
var/obj/item/stack/nanopaste/N = used
if(stat & BROKEN)
- to_chat(user, "[src] is too damaged to be fixed with nanopaste!")
+ to_chat(user, SPAN_NOTICE("[src] is too damaged to be fixed with nanopaste!"))
return ITEM_INTERACT_COMPLETE
if(obj_integrity == max_integrity)
- to_chat(user, "[src] is fully intact.")
+ to_chat(user, SPAN_NOTICE("[src] is fully intact."))
return ITEM_INTERACT_COMPLETE
if(being_repaired)
return ITEM_INTERACT_COMPLETE
if(N.get_amount() < 1)
- to_chat(user, "You don't have enough to complete this task!")
+ to_chat(user, SPAN_WARNING("You don't have enough to complete this task!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start applying [used] to [src].")
+ to_chat(user, SPAN_NOTICE("You start applying [used] to [src]."))
being_repaired = TRUE
var/result = do_after(user, 3 SECONDS, target = src)
being_repaired = FALSE
@@ -386,12 +386,12 @@
return ITEM_INTERACT_COMPLETE
if(!N.use(1))
- to_chat(user, "You don't have enough to complete this task!") // this is here, as we don't want to use nanopaste until you finish applying
+ to_chat(user, SPAN_WARNING("You don't have enough to complete this task!")) // this is here, as we don't want to use nanopaste until you finish applying
return ITEM_INTERACT_COMPLETE
obj_integrity = min(obj_integrity + 50, max_integrity)
- user.visible_message("[user] applied some [used] at [src]'s damaged areas.",\
- "You apply some [used] at [src]'s damaged areas.")
+ user.visible_message(SPAN_NOTICE("[user] applied some [used] at [src]'s damaged areas."),\
+ SPAN_NOTICE("You apply some [used] at [src]'s damaged areas."))
return ITEM_INTERACT_COMPLETE
@@ -431,7 +431,7 @@
component_parts -= A
component_parts += B
B.loc = null
- to_chat(user, "[A.name] replaced with [B.name].")
+ to_chat(user, SPAN_NOTICE("[A.name] replaced with [B.name]."))
shouldplaysound = TRUE
break
for(var/obj/item/reagent_containers/glass/beaker/A in component_parts)
@@ -444,7 +444,7 @@
component_parts -= A
component_parts += B
B.loc = null
- to_chat(user, "[A.name] replaced with [B.name].")
+ to_chat(user, SPAN_NOTICE("[A.name] replaced with [B.name]."))
shouldplaysound = TRUE
break
RefreshParts()
@@ -455,18 +455,18 @@
return TRUE
/obj/machinery/proc/display_parts(mob/user)
- . = list("Following parts detected in the machine:")
+ . = list(SPAN_NOTICE("Following parts detected in the machine:"))
for(var/obj/item/C in component_parts)
- . += "[bicon(C)] [C.name]"
+ . += SPAN_NOTICE("[bicon(C)] [C.name]")
. = jointext(., "\n")
/obj/machinery/examine(mob/user)
. = ..()
if(stat & BROKEN)
- . += "It looks broken and non-functional."
+ . += SPAN_NOTICE("It looks broken and non-functional.")
if(!(resistance_flags & INDESTRUCTIBLE))
if(resistance_flags & ON_FIRE)
- . += "It's on fire!"
+ . += SPAN_WARNING("It's on fire!")
var/healthpercent = (obj_integrity/max_integrity) * 100
switch(healthpercent)
if(50 to 99)
@@ -474,7 +474,7 @@
if(25 to 50)
. += "It appears heavily damaged."
if(0 to 25)
- . += "It's falling apart!"
+ . += SPAN_WARNING("It's falling apart!")
if(user.research_scanner && component_parts)
. += display_parts(user)
@@ -579,7 +579,7 @@
*/
/obj/machinery/proc/can_use_shortcut(mob/living/user)
if(user.incapacitated())
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return FALSE
if(ishuman(user) && in_range(src, user))
return TRUE
diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm
index e3984a6e482..d8125cb71fe 100644
--- a/code/game/machinery/mass_driver.dm
+++ b/code/game/machinery/mass_driver.dm
@@ -85,39 +85,39 @@
switch(build)
if(0) // Loose frame
if(iswrench(used))
- to_chat(user, "You begin to anchor [src] on the floor.")
+ to_chat(user, SPAN_NOTICE("You begin to anchor [src] on the floor."))
playsound(get_turf(src), used.usesound, 50, TRUE)
if(do_after(user, 1 SECONDS * used.toolspeed, target = src) && (build == 0))
- to_chat(user, "You anchor \the [src]!")
+ to_chat(user, SPAN_NOTICE("You anchor \the [src]!"))
anchored = TRUE
build++
return ITEM_INTERACT_COMPLETE
if(1) // Fixed to the floor
if(iswrench(used))
- to_chat(user, "You begin to de-anchor [src] from the floor.")
+ to_chat(user, SPAN_NOTICE("You begin to de-anchor [src] from the floor."))
playsound(get_turf(src), used.usesound, 50, TRUE)
if(do_after(user, 1 SECONDS * used.toolspeed, target = src) && (build == 1))
build--
anchored = FALSE
- to_chat(user, "You de-anchored \the [src]!")
+ to_chat(user, SPAN_NOTICE("You de-anchored \the [src]!"))
return ITEM_INTERACT_COMPLETE
if(2) // Welded to the floor
if(iscoil(used))
var/obj/item/stack/cable_coil/C = used
- to_chat(user, "You start adding cables to [src]...")
+ to_chat(user, SPAN_NOTICE("You start adding cables to [src]..."))
playsound(get_turf(src), C.usesound, 50, TRUE)
if(do_after(user, 20 * C.toolspeed, target = src) && (C.get_amount() >= 2) && (build == 2))
C.use(2)
- to_chat(user, "You've added cables to \the [src].")
+ to_chat(user, SPAN_NOTICE("You've added cables to \the [src]."))
build++
return ITEM_INTERACT_COMPLETE
if(3) // Wired
if(iswirecutter(used))
- to_chat(user, "You begin to remove the wiring from [src].")
+ to_chat(user, SPAN_NOTICE("You begin to remove the wiring from [src]."))
if(do_after(user, 1 SECONDS * used.toolspeed, target = src) && (build == 3))
new /obj/item/stack/cable_coil(loc, 2)
playsound(get_turf(src), used.usesound, 50, 1)
- to_chat(user, "You've removed the cables from \the [src].")
+ to_chat(user, SPAN_NOTICE("You've removed the cables from \the [src]."))
build--
return ITEM_INTERACT_COMPLETE
@@ -127,12 +127,12 @@
playsound(get_turf(src), R.usesound, 50, 1)
if(do_after(user, 20 * R.toolspeed, target = src) && (R.get_amount() >= 2) && (build == 3))
R.use(2)
- to_chat(user, "You've added the grille to \the [src].")
+ to_chat(user, SPAN_NOTICE("You've added the grille to \the [src]."))
build++
return ITEM_INTERACT_COMPLETE
if(4) // Grille in place
if(iscrowbar(used))
- to_chat(user, "You begin to pry off the grille from [src]...")
+ to_chat(user, SPAN_NOTICE("You begin to pry off the grille from [src]..."))
playsound(get_turf(src), used.usesound, 50, TRUE)
if(do_after(user, 3 SECONDS * used.toolspeed, target = src) && (build == 4))
new /obj/item/stack/rods(loc,2)
@@ -145,7 +145,7 @@
if(build != 4)
return
- to_chat(user, "You finalize the Mass Driver.")
+ to_chat(user, SPAN_NOTICE("You finalize the Mass Driver."))
I.play_tool_sound(src)
var/obj/machinery/mass_driver/M = new(get_turf(src))
M.dir = dir
diff --git a/code/game/machinery/merch_vendor.dm b/code/game/machinery/merch_vendor.dm
index 853078c9251..df66ba25b4f 100644
--- a/code/game/machinery/merch_vendor.dm
+++ b/code/game/machinery/merch_vendor.dm
@@ -70,7 +70,7 @@
if(!C || !pay_with_card(C, merch.cost, "Purchase of [merch.name]", "NAS Trurl Merchandising", user, account_database.vendor_account))
return FALSE
else
- to_chat(user, "Payment failure: you have no ID or other method of payment.")
+ to_chat(user, SPAN_WARNING("Payment failure: you have no ID or other method of payment."))
return FALSE
return TRUE
@@ -135,7 +135,7 @@
for(var/datum/merch_item/merch in merchandise[params["category"]])
if(merch.name == params["name"])
if(do_purchase(merch, user)) //null checking done in proc
- to_chat(user, "You've successfully purchased the item. It should be in your hands or on the floor.")
+ to_chat(user, SPAN_NOTICE("You've successfully purchased the item. It should be in your hands or on the floor."))
break
if("change")
. = TRUE
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 84c7a4896dc..76d4d0d9dbe 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -91,12 +91,12 @@
if(open)
if(allowed(user))
locked = !locked
- to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].")
+ to_chat(user, SPAN_NOTICE("Controls are now [locked ? "locked" : "unlocked"]."))
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_DANGER("Access denied."))
updateDialog()
else
- to_chat(user, "You must open the cover first!")
+ to_chat(user, SPAN_WARNING("You must open the cover first!"))
return ITEM_INTERACT_COMPLETE
@@ -104,7 +104,7 @@
/obj/machinery/navbeacon/screwdriver_act(mob/living/user, obj/item/I)
open = !open
- user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", "You [open ? "open" : "close"] the beacon's cover.")
+ user.visible_message("[user] [open ? "opens" : "closes"] the beacon's cover.", SPAN_NOTICE("You [open ? "open" : "close"] the beacon's cover."))
update_icon(UPDATE_ICON_STATE)
return TRUE
@@ -120,7 +120,7 @@
return // prevent intraction when T-scanner revealed
if(!open && !ai) // can't alter controls if not open, unless you're an AI
- to_chat(user, "The beacon's control cover is closed!")
+ to_chat(user, SPAN_WARNING("The beacon's control cover is closed!"))
return
diff --git a/code/game/machinery/pipe/pipe_construction.dm b/code/game/machinery/pipe/pipe_construction.dm
index b198f30a748..e5eda32fd7f 100644
--- a/code/game/machinery/pipe/pipe_construction.dm
+++ b/code/game/machinery/pipe/pipe_construction.dm
@@ -173,7 +173,7 @@ GLOBAL_LIST_INIT(pipe_path2type, list(
/obj/item/pipe/examine(mob/user)
. = ..()
- . += "Alt-click it to rotate, Alt-Shift-click it to flip!"
+ . += SPAN_NOTICE("Alt-click it to rotate, Alt-Shift-click it to flip!")
/obj/item/pipe/proc/update(obj/machinery/atmospherics/make_from)
name = "[get_pipe_name(pipe_type, PIPETYPE_ATMOS)] fitting"
@@ -315,12 +315,12 @@ GLOBAL_LIST_INIT(pipe_path2type, list(
for(var/obj/machinery/atmospherics/M in loc)
if((M.initialize_directions & pipe_dir) && M.check_connect_types_construction(M, src)) // matches at least one direction on either type of pipe
- to_chat(user, "There is already a pipe of the same type at this location.")
+ to_chat(user, SPAN_WARNING("There is already a pipe of the same type at this location."))
return
if(pipe_type in list(PIPE_SUPPLY_STRAIGHT, PIPE_SUPPLY_BENT, PIPE_SCRUBBERS_STRAIGHT, PIPE_SCRUBBERS_BENT, PIPE_HE_STRAIGHT, PIPE_HE_BENT, PIPE_SUPPLY_MANIFOLD, PIPE_SCRUBBERS_MANIFOLD, PIPE_SUPPLY_MANIFOLD4W, PIPE_SCRUBBERS_MANIFOLD4W, PIPE_UVENT, PIPE_SUPPLY_CAP, PIPE_SCRUBBERS_CAP, PIPE_PASV_VENT, PIPE_DP_VENT, PIPE_PASSIVE_GATE, PIPE_TEMPERATURE_GATE))
if(T.transparent_floor) //stops jank with transparent floors and pipes
- to_chat(user, "You can only fix simple pipes and devices over glass floors!")
+ to_chat(user, SPAN_WARNING("You can only fix simple pipes and devices over glass floors!"))
return
switch(pipe_type) //What kind of heartless person thought of doing this?
@@ -371,9 +371,9 @@ GLOBAL_LIST_INIT(pipe_path2type, list(
P.AddComponent(/datum/component/label, label)
user.visible_message( \
- "[user] fastens [src].",
- "You fasten [src].",
- "You hear a ratchet.")
+ SPAN_NOTICE("[user] fastens [src]."),
+ SPAN_NOTICE("You fasten [src]."),
+ SPAN_NOTICE("You hear a ratchet."))
qdel(src) // remove the pipe item
. |= RPD_TOOL_SUCCESS
@@ -388,14 +388,14 @@ GLOBAL_LIST_INIT(pipe_path2type, list(
/obj/item/pipe_meter/wrench_act(mob/living/user, obj/item/I)
if(!locate(/obj/machinery/atmospherics/pipe, loc))
- to_chat(user, "You need to fasten it to a pipe.")
+ to_chat(user, SPAN_WARNING("You need to fasten it to a pipe."))
return TRUE
var/obj/machinery/atmospherics/meter/P = new(loc)
if(label)
P.AddComponent(/datum/component/label, label)
I.play_tool_sound(src)
- to_chat(user, "You have fastened the meter to the pipe.")
+ to_chat(user, SPAN_NOTICE("You have fastened the meter to the pipe."))
qdel(src)
return TRUE
@@ -421,7 +421,7 @@ GLOBAL_LIST_INIT(pipe_path2type, list(
if(label)
AS.AddComponent(/datum/component/label, label)
I.play_tool_sound(src, 50)
- to_chat(user, "You have fastened the gas sensor.")
+ to_chat(user, SPAN_NOTICE("You have fastened the gas sensor."))
qdel(src)
return TRUE
diff --git a/code/game/machinery/poolcontroller.dm b/code/game/machinery/poolcontroller.dm
index 71cc230dba3..50b0243c84b 100644
--- a/code/game/machinery/poolcontroller.dm
+++ b/code/game/machinery/poolcontroller.dm
@@ -63,7 +63,7 @@
/obj/machinery/poolcontroller/emag_act(user as mob) //Emag_act, this is called when it is hit with a cryptographic sequencer.
if(!emagged) //If it is not already emagged, emag it.
- to_chat(user, "You disable \the [src]'s temperature safeguards.")//Inform the mob of what emagging does.
+ to_chat(user, SPAN_WARNING("You disable \the [src]'s temperature safeguards."))//Inform the mob of what emagging does.
emagged = TRUE //Set the emag var to true.
return TRUE
@@ -73,10 +73,10 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(emagged) //Check the emag status
- to_chat(user, "You re-enable [src]'s temperature safeguards.")//Inform the user that they have just fixed the safeguards.
+ to_chat(user, SPAN_WARNING("You re-enable [src]'s temperature safeguards."))//Inform the user that they have just fixed the safeguards.
emagged = FALSE //Set the emagged var to false.
else
- to_chat(user, "Nothing happens.")//If not emagged, don't do anything, and don't tell the user that it can be emagged.
+ to_chat(user, SPAN_WARNING("Nothing happens."))//If not emagged, don't do anything, and don't tell the user that it can be emagged.
/obj/machinery/poolcontroller/attack_hand(mob/user)
ui_interact(user)
@@ -107,18 +107,18 @@
M.water_act(100, temperature, src)//leave temp at 0, we handle it in the switch. oh wait
switch(temperature) //Apply different effects based on what the temperature is set to.
if(SCALDING) //Burn the mob.
- to_chat(M, "The water is searing hot!")
+ to_chat(M, SPAN_DANGER("The water is searing hot!"))
if(WARM) //Warm the mob.
if(prob(5)) //inform the mob of warm water occasionally
- to_chat(M, "The water is quite warm.")//Inform the mob it's warm water.
+ to_chat(M, SPAN_WARNING("The water is quite warm."))//Inform the mob it's warm water.
if(COOL) //Cool the mob.
if(prob(5)) //inform the mob of cold water occasionally
- to_chat(M, "The water is chilly.")//Inform the mob it's chilly water.
+ to_chat(M, SPAN_WARNING("The water is chilly."))//Inform the mob it's chilly water.
if(FRIGID) //YOU'RE AS COLD AS ICE
- to_chat(M, "The water is freezing!")
+ to_chat(M, SPAN_DANGER("The water is freezing!"))
/obj/machinery/poolcontroller/proc/handleDrowning(mob/living/carbon/human/drownee)
if(!drownee)
@@ -140,11 +140,11 @@
add_attack_logs(src, drownee, "Drowned", isLivingSSD(drownee) ? null : ATKLOG_ALL)
if(drownee.stat) //Mob is in critical.
drownee.AdjustLoseBreath(6 SECONDS, bound_lower = 0, bound_upper = 40 SECONDS)
- drownee.visible_message("\The [drownee] appears to be drowning!","You're quickly drowning!") //inform them that they are fucked.
+ drownee.visible_message(SPAN_DANGER("\The [drownee] appears to be drowning!"),SPAN_USERDANGER("You're quickly drowning!")) //inform them that they are fucked.
else
drownee.AdjustLoseBreath(4 SECONDS, bound_lower = 0, bound_upper = 40 SECONDS) //For every time you drown, you miss 2 breath attempts. Hope you catch on quick!
if(prob(35)) //35% chance to tell them what is going on. They should probably figure it out before then.
- drownee.visible_message("\The [drownee] flails, almost like [drownee.p_they()] [drownee.p_are()] drowning!","You're lacking air!") //*gasp* *gasp* *gasp* *gasp* *gasp*
+ drownee.visible_message(SPAN_DANGER("\The [drownee] flails, almost like [drownee.p_they()] [drownee.p_are()] drowning!"),SPAN_USERDANGER("You're lacking air!")) //*gasp* *gasp* *gasp* *gasp* *gasp*
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 2600b0fddb0..c1007ad5597 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -215,7 +215,7 @@
return TRUE
if(isrobot(user) || is_ai(user))
if(ailock)
- to_chat(user, "There seems to be a firewall preventing you from accessing this device.")
+ to_chat(user, SPAN_NOTICE("There seems to be a firewall preventing you from accessing this device."))
return TRUE
else
return FALSE
@@ -242,10 +242,10 @@
/obj/machinery/porta_turret/ui_interact(mob/user, datum/tgui/ui = null)
if(HasController())
- to_chat(user, "[src] can only be controlled using the assigned turret controller.")
+ to_chat(user, SPAN_NOTICE("[src] can only be controlled using the assigned turret controller."))
return
if(!anchored)
- to_chat(user, "[src] has to be secured first!")
+ to_chat(user, SPAN_NOTICE("[src] has to be secured first!"))
return
ui = SStgui.try_update_ui(user, src, ui)
if(!ui)
@@ -359,18 +359,18 @@
/obj/machinery/porta_turret/wrench_act(mob/living/user, obj/item/I)
if(enabled || raised)
- to_chat(user, "You cannot unsecure an active turret!")
+ to_chat(user, SPAN_WARNING("You cannot unsecure an active turret!"))
return
if(wrenching)
- to_chat(user, "Someone is already [anchored ? "un" : ""]securing the turret!")
+ to_chat(user, SPAN_WARNING("Someone is already [anchored ? "un" : ""]securing the turret!"))
return
if(!anchored && isinspace())
- to_chat(user, "Cannot secure turrets in space!")
+ to_chat(user, SPAN_WARNING("Cannot secure turrets in space!"))
return
user.visible_message( \
- "[user] begins [anchored ? "un" : ""]securing the turret.", \
- "You begin [anchored ? "un" : ""]securing the turret." \
+ SPAN_WARNING("[user] begins [anchored ? "un" : ""]securing the turret."), \
+ SPAN_NOTICE("You begin [anchored ? "un" : ""]securing the turret.") \
)
wrenching = TRUE
@@ -378,7 +378,7 @@
//This code handles moving the turret around. After all, it's a portable turret!
playsound(loc, I.usesound, 100, 1)
anchored = !anchored
- to_chat(user, "You [anchored ? "" : "un"]secure the exterior bolts on the turret.")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "" : "un"]secure the exterior bolts on the turret."))
wrenching = FALSE
return TRUE
@@ -390,17 +390,17 @@
return FALSE
if(syndicate)
- to_chat(user, "[src] is sealed tightly, tools won't help here.")
+ to_chat(user, SPAN_DANGER("[src] is sealed tightly, tools won't help here."))
return
if(!(stat & BROKEN))
- to_chat(user, "[src] is in fine condition, you'd need to rough it up a bit if you wanted to disassemble it.")
+ to_chat(user, SPAN_NOTICE("[src] is in fine condition, you'd need to rough it up a bit if you wanted to disassemble it."))
return
- to_chat(user, "You begin prying the metal coverings off.")
+ to_chat(user, SPAN_NOTICE("You begin prying the metal coverings off."))
if(!I.use_tool(src, user, 2 SECONDS, 0, 50))
return
if(prob(70))
- to_chat(user, "You remove the turret and salvage some components.")
+ to_chat(user, SPAN_NOTICE("You remove the turret and salvage some components."))
if(installation)
var/obj/item/gun/energy/Gun = new installation(loc)
Gun.cell.charge = gun_charge
@@ -414,7 +414,7 @@
if(prob(50))
new /obj/item/assembly/prox_sensor(loc)
else
- to_chat(user, "You remove the turret but did not manage to salvage anything.")
+ to_chat(user, SPAN_NOTICE("You remove the turret but did not manage to salvage anything."))
qdel(src) // qdel
/obj/machinery/porta_turret/screwdriver_act(mob/living/user, obj/item/I)
@@ -422,9 +422,9 @@
return FALSE
if(!fitted_lens)
- to_chat(user, "[src] has no attached lenses.")
+ to_chat(user, SPAN_NOTICE("[src] has no attached lenses."))
return
- to_chat(user, "You remove the lens from [src]")
+ to_chat(user, SPAN_NOTICE("You remove the lens from [src]"))
user.put_in_hands(fitted_lens)
fitted_lens = null
return TRUE
@@ -435,23 +435,23 @@
else if(istype(used, /obj/item/card/id) || istype(used, /obj/item/pda))
if(HasController())
- to_chat(user, "Turrets regulated by a nearby turret controller are not unlockable.")
+ to_chat(user, SPAN_NOTICE("Turrets regulated by a nearby turret controller are not unlockable."))
else if(allowed(user))
locked = !locked
- to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].")
+ to_chat(user, SPAN_NOTICE("Controls are now [locked ? "locked" : "unlocked"]."))
SStgui.update_uis(src)
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_NOTICE("Access denied."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/smithed_item/lens))
if(used.flags & NODROP || !user.drop_item() || !used.forceMove(src))
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
var/obj/item/smithed_item/lens/new_lens = used
if(fitted_lens)
- to_chat(user, "You swap the fitted lens in [src].")
+ to_chat(user, SPAN_NOTICE("You swap the fitted lens in [src]."))
user.put_in_hands(fitted_lens)
fitted_lens = new_lens
return ITEM_INTERACT_COMPLETE
@@ -476,10 +476,10 @@
if(M.melee_damage_upper == 0 || (M.melee_damage_type != BRUTE && M.melee_damage_type != BURN))
return
if(!(stat & BROKEN))
- visible_message("[M] [M.attacktext] [src]!")
+ visible_message(SPAN_DANGER("[M] [M.attacktext] [src]!"))
..()
else
- to_chat(M, "That object is useless to you.")
+ to_chat(M, SPAN_DANGER("That object is useless to you."))
return
/obj/machinery/porta_turret/handle_basic_attack(mob/living/basic/attacker, modifiers)
@@ -488,10 +488,10 @@
if(attacker.melee_damage_upper == 0 || (attacker.melee_damage_type != BRUTE && attacker.melee_damage_type != BURN))
return FALSE
if(!(stat & BROKEN))
- visible_message("[attacker] [attacker.attack_verb_continuous] [src]!")
+ visible_message(SPAN_DANGER("[attacker] [attacker.attack_verb_continuous] [src]!"))
..()
else
- to_chat(attacker, "That object is useless to you.")
+ to_chat(attacker, SPAN_DANGER("That object is useless to you."))
return TRUE
/obj/machinery/porta_turret/attack_alien(mob/living/carbon/alien/humanoid/M)
@@ -499,10 +499,10 @@
M.do_attack_animation(src)
if(!(stat & BROKEN))
playsound(src.loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[M] has slashed at [src]!")
+ visible_message(SPAN_DANGER("[M] has slashed at [src]!"))
take_damage(15)
else
- to_chat(M, "That object is useless to you.")
+ to_chat(M, SPAN_NOTICEALIEN("That object is useless to you."))
return
/obj/machinery/porta_turret/emag_act(user as mob)
@@ -510,7 +510,7 @@
//Emagging the turret makes it go bonkers and stun everyone. It also makes
//the turret shoot much, much faster.
if(user)
- to_chat(user, "You short out [src]'s threat assessment circuits.")
+ to_chat(user, SPAN_WARNING("You short out [src]'s threat assessment circuits."))
visible_message("[src] hums oddly...")
emagged = TRUE
iconholder = 1
@@ -945,14 +945,14 @@
if(0) //first step
if(iswrench(used) && !anchored)
playsound(loc, used.usesound, 100, 1)
- to_chat(user, "You secure the external bolts.")
+ to_chat(user, SPAN_NOTICE("You secure the external bolts."))
anchored = TRUE
build_step = 1
return ITEM_INTERACT_COMPLETE
else if(used.tool_behaviour == TOOL_CROWBAR && !anchored)
playsound(loc, used.usesound, 75, 1)
- to_chat(user, "You dismantle the turret construction.")
+ to_chat(user, SPAN_NOTICE("You dismantle the turret construction."))
new /obj/item/stack/sheet/metal( loc, 5)
qdel(src) // qdel
return ITEM_INTERACT_COMPLETE
@@ -961,16 +961,16 @@
if(istype(used, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = used
if(M.use(2))
- to_chat(user, "You add some metal armor to the interior frame.")
+ to_chat(user, SPAN_NOTICE("You add some metal armor to the interior frame."))
build_step = 2
icon_state = "turret_frame2"
else
- to_chat(user, "You need two sheets of metal to continue construction.")
+ to_chat(user, SPAN_WARNING("You need two sheets of metal to continue construction."))
return ITEM_INTERACT_COMPLETE
else if(iswrench(used))
playsound(loc, used.usesound, 75, 1)
- to_chat(user, "You unfasten the external bolts.")
+ to_chat(user, SPAN_NOTICE("You unfasten the external bolts."))
anchored = FALSE
build_step = 0
return ITEM_INTERACT_COMPLETE
@@ -978,7 +978,7 @@
if(2)
if(iswrench(used))
playsound(loc, used.usesound, 100, 1)
- to_chat(user, "You bolt the metal armor into place.")
+ to_chat(user, SPAN_NOTICE("You bolt the metal armor into place."))
build_step = 3
return ITEM_INTERACT_COMPLETE
@@ -988,15 +988,15 @@
return ITEM_INTERACT_COMPLETE
var/obj/item/gun/energy/E = used //typecasts the item to an energy gun
if(!user.unequip(used))
- to_chat(user, "\the [used] is stuck to your hand, you cannot put it in \the [src]")
+ to_chat(user, SPAN_NOTICE("\the [used] is stuck to your hand, you cannot put it in \the [src]"))
return ITEM_INTERACT_COMPLETE
if(!E.can_fit_in_turrets)
- to_chat(user, "[used] will not operate correctly in [src].")
+ to_chat(user, SPAN_NOTICE("[used] will not operate correctly in [src]."))
return ITEM_INTERACT_COMPLETE
installation = used.type //installation becomes used.type
gun_charge = E.cell.charge //the gun's charge is stored in gun_charge
gun_lens = E.current_lens
- to_chat(user, "You add [used] to the turret.")
+ to_chat(user, SPAN_NOTICE("You add [used] to the turret."))
if(istype(E, /obj/item/gun/energy/laser/tag/blue))
target_type = /obj/machinery/porta_turret/tag/blue
@@ -1011,18 +1011,18 @@
else if(iswrench(used))
playsound(loc, used.usesound, 100, 1)
- to_chat(user, "You remove the turret's metal armor bolts.")
+ to_chat(user, SPAN_NOTICE("You remove the turret's metal armor bolts."))
build_step = 2
return ITEM_INTERACT_COMPLETE
if(4)
if(isprox(used))
if(!user.unequip(used, src))
- to_chat(user, "\the [used] is stuck to your hand, you cannot put it in \the [src]")
+ to_chat(user, SPAN_NOTICE("\the [used] is stuck to your hand, you cannot put it in \the [src]"))
return ITEM_INTERACT_COMPLETE
build_step = 5
qdel(used)
- to_chat(user, "You add the prox sensor to the turret.")
+ to_chat(user, SPAN_NOTICE("You add the prox sensor to the turret."))
return ITEM_INTERACT_COMPLETE
//attack_hand() removes the gun
@@ -1036,16 +1036,16 @@
if(istype(used, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = used
if(M.use(2))
- to_chat(user, "You add some metal armor to the exterior frame.")
+ to_chat(user, SPAN_NOTICE("You add some metal armor to the exterior frame."))
build_step = 7
else
- to_chat(user, "You need two sheets of metal to continue construction.")
+ to_chat(user, SPAN_WARNING("You need two sheets of metal to continue construction."))
return ITEM_INTERACT_COMPLETE
if(7)
if(used.tool_behaviour == TOOL_CROWBAR)
playsound(loc, used.usesound, 75, 1)
- to_chat(user, "You pry off the turret's exterior armor.")
+ to_chat(user, SPAN_NOTICE("You pry off the turret's exterior armor."))
new /obj/item/stack/sheet/metal(loc, 2)
build_step = 6
return ITEM_INTERACT_COMPLETE
@@ -1058,10 +1058,10 @@
if(build_step == 5)
build_step = 6
- to_chat(user, "You close the internal access hatch.")
+ to_chat(user, SPAN_NOTICE("You close the internal access hatch."))
else
build_step = 5
- to_chat(user, "You open the internal access hatch.")
+ to_chat(user, SPAN_NOTICE("You open the internal access hatch."))
I.play_tool_sound(src)
return TRUE
@@ -1074,7 +1074,7 @@
if(build_step != 2)
return
build_step = 1
- to_chat(user, "You remove the turret's interior metal armor.")
+ to_chat(user, SPAN_NOTICE("You remove the turret's interior metal armor."))
new /obj/item/stack/sheet/metal(drop_location(), 2)
else if(build_step == 7)
if(!I.use_tool(src, user, 50, amount = 5, volume = I.tool_volume))
@@ -1082,7 +1082,7 @@
if(build_step != 7)
return
build_step = 8
- to_chat(user, "You weld the turret's armor down.")
+ to_chat(user, SPAN_NOTICE("You weld the turret's armor down."))
//The final step: create a full turret
var/obj/machinery/porta_turret/Turret = new target_type(loc)
@@ -1109,10 +1109,10 @@
Gun.update_icon()
installation = null
gun_charge = 0
- to_chat(user, "You remove [Gun] from the turret frame.")
+ to_chat(user, SPAN_NOTICE("You remove [Gun] from the turret frame."))
if(5)
- to_chat(user, "You remove the prox sensor from the turret frame.")
+ to_chat(user, SPAN_NOTICE("You remove the prox sensor from the turret frame."))
new /obj/item/assembly/prox_sensor(loc)
build_step = 4
diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm
index f85877f0698..23766ec3a7f 100644
--- a/code/game/machinery/quantum_pad.dm
+++ b/code/game/machinery/quantum_pad.dm
@@ -69,9 +69,9 @@
M.set_multitool_buffer(user, src)
else
linked_pad = M.buffer
- to_chat(user, "You link [src] to the one in [I]'s buffer.")
+ to_chat(user, SPAN_NOTICE("You link [src] to the one in [I]'s buffer."))
else
- to_chat(user, "[src]'s target cannot be modified!")
+ to_chat(user, SPAN_NOTICE("[src]'s target cannot be modified!"))
/obj/machinery/quantumpad/screwdriver_act(mob/user, obj/item/I)
. = TRUE
@@ -82,27 +82,27 @@
/obj/machinery/quantumpad/proc/check_usable(mob/user)
. = FALSE
if(panel_open)
- to_chat(user, "The panel must be closed before operating this machine!")
+ to_chat(user, SPAN_WARNING("The panel must be closed before operating this machine!"))
return
if(!linked_pad || QDELETED(linked_pad))
- to_chat(user, "There is no linked pad!")
+ to_chat(user, SPAN_WARNING("There is no linked pad!"))
return
if(world.time < last_teleport + teleport_cooldown)
- to_chat(user, "[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds.")
+ to_chat(user, SPAN_WARNING("[src] is recharging power. Please wait [round((last_teleport + teleport_cooldown - world.time) / 10)] seconds."))
return
if(teleporting)
- to_chat(user, "[src] is charging up. Please wait.")
+ to_chat(user, SPAN_WARNING("[src] is charging up. Please wait."))
return
if(linked_pad.teleporting)
- to_chat(user, "Linked pad is busy. Please wait.")
+ to_chat(user, SPAN_WARNING("Linked pad is busy. Please wait."))
return
if(linked_pad.stat & NOPOWER)
- to_chat(user, "Linked pad is not responding to ping.")
+ to_chat(user, SPAN_WARNING("Linked pad is not responding to ping."))
return
return TRUE
@@ -129,7 +129,7 @@
if(GLOB.cameranet && GLOB.cameranet.check_turf_vis(T))
AI.eyeobj.set_loc(T)
else
- to_chat(user, "Linked pad is not on or near any active cameras on the station.")
+ to_chat(user, SPAN_WARNING("Linked pad is not on or near any active cameras on the station."))
/obj/machinery/quantumpad/attack_ghost(mob/dead/observer/ghost)
if(!QDELETED(linked_pad))
@@ -161,11 +161,11 @@
teleporting = FALSE
return
if(stat & NOPOWER)
- to_chat(user, "[src] is unpowered!")
+ to_chat(user, SPAN_WARNING("[src] is unpowered!"))
teleporting = FALSE
return
if(!linked_pad || QDELETED(linked_pad) || linked_pad.stat & NOPOWER)
- to_chat(user, "Linked pad is not responding to ping. Teleport aborted.")
+ to_chat(user, SPAN_WARNING("Linked pad is not responding to ping. Teleport aborted."))
teleporting = FALSE
return
@@ -192,7 +192,7 @@
continue
tele_success = do_teleport(ROI, get_turf(linked_pad), do_effect = FALSE)
if(!tele_success)
- to_chat(user, "Teleport failed due to bluespace interference.")
+ to_chat(user, SPAN_WARNING("Teleport failed due to bluespace interference."))
src.icon_state = "qpad-idle"
linked_pad.icon_state = "qpad-idle"
diff --git a/code/game/machinery/radar.dm b/code/game/machinery/radar.dm
index 086d25d7a61..d113acbb881 100644
--- a/code/game/machinery/radar.dm
+++ b/code/game/machinery/radar.dm
@@ -141,13 +141,13 @@
switch(construction_state)
if(RADAR_NEEDS_WELDING)
- . += "The framework is damaged, and needs welding."
+ . += SPAN_NOTICE("The framework is damaged, and needs welding.")
if(RADAR_NEEDS_PLASTEEL)
- . += "The framework needs new plasteel plating."
+ . += SPAN_NOTICE("The framework needs new plasteel plating.")
if(RADAR_NEEDS_WRENCH)
- . += "The plating needs wrenching into place."
+ . += SPAN_NOTICE("The plating needs wrenching into place.")
if(RADAR_NEEDS_SCREWDRIVER)
- . += "The cover screws are loose."
+ . += SPAN_NOTICE("The cover screws are loose.")
// Interaction
@@ -160,7 +160,7 @@
. = TRUE
if(!I.use_tool(src, user, null, 1, I.tool_volume))
return
- to_chat(user, "You mend the damaged framework.")
+ to_chat(user, SPAN_NOTICE("You mend the damaged framework."))
construction_state = RADAR_NEEDS_PLASTEEL
// Step 2
@@ -171,10 +171,10 @@
if(istype(used, /obj/item/stack/sheet/plasteel))
var/obj/item/stack/sheet/plasteel/PS = used
if(PS.amount < 10)
- to_chat(user, "You need 10 sheets of plasteel.")
+ to_chat(user, SPAN_WARNING("You need 10 sheets of plasteel."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You add new plating to the framework.")
+ to_chat(user, SPAN_NOTICE("You add new plating to the framework."))
construction_state = RADAR_NEEDS_WRENCH
update_icon()
return ITEM_INTERACT_COMPLETE
@@ -188,7 +188,7 @@
. = TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
return
- to_chat(user, "You secure the plating to the framework.")
+ to_chat(user, SPAN_NOTICE("You secure the plating to the framework."))
construction_state = RADAR_NEEDS_SCREWDRIVER
@@ -201,7 +201,7 @@
. = TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
return
- to_chat(user, "You screw the covers back into place.")
+ to_chat(user, SPAN_NOTICE("You screw the covers back into place."))
set_fixed()
/obj/machinery/radar/RefreshParts()
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 8fc1238ac8f..263a60b3789 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -18,16 +18,16 @@
/obj/machinery/recharger/examine(mob/user)
. = ..()
if(charging && (!in_range(user, src) && !issilicon(user) && !isobserver(user)))
- . += "You're too far away to examine [src]'s contents and display!"
+ . += SPAN_WARNING("You're too far away to examine [src]'s contents and display!")
return
if(charging)
. += "There's [charging ? "\a [charging.name]" : "nothing"] in [src]."
if(!(stat & (NOPOWER|BROKEN)))
var/obj/item/stock_parts/cell/C = charging.get_cell()
- . += "Current charge: [round(C.percent(), 1)]%."
+ . += SPAN_NOTICE("Current charge: [round(C.percent(), 1)]%.")
if(using_power)
- . += "- Recharging [((C.chargerate * recharge_coeff) / C.maxcharge) * 100]% cell charge per cycle."
+ . += SPAN_NOTICE("- Recharging [((C.chargerate * recharge_coeff) / C.maxcharge) * 100]% cell charge per cycle.")
/obj/machinery/recharger/Initialize(mapload)
@@ -48,25 +48,25 @@
return ..()
if(!anchored)
- to_chat(user, "[src] isn't connected to anything!")
+ to_chat(user, SPAN_NOTICE("[src] isn't connected to anything!"))
return ITEM_INTERACT_COMPLETE
if(panel_open)
- to_chat(user, "Close the maintenance panel first!")
+ to_chat(user, SPAN_WARNING("Close the maintenance panel first!"))
return ITEM_INTERACT_COMPLETE
if(charging)
- to_chat(user, "There's \a [charging] inserted in [src] already!")
+ to_chat(user, SPAN_WARNING("There's \a [charging] inserted in [src] already!"))
return ITEM_INTERACT_COMPLETE
//Checks to make sure he's not in space doing it, and that the area got proper power.
var/area/A = get_area(src)
if(!istype(A) || !A.powernet.has_power(PW_CHANNEL_EQUIPMENT))
- to_chat(user, "[src] blinks red as you try to insert [used].")
+ to_chat(user, SPAN_WARNING("[src] blinks red as you try to insert [used]."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/gun/energy))
var/obj/item/gun/energy/E = used
if(!E.can_charge)
- to_chat(user, "Your gun has no external power connector.")
+ to_chat(user, SPAN_NOTICE("Your gun has no external power connector."))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
@@ -87,10 +87,10 @@
/obj/machinery/recharger/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(!anchored)
- to_chat(user, "[src] needs to be secured down first!")
+ to_chat(user, SPAN_WARNING("[src] needs to be secured down first!"))
return
if(charging)
- to_chat(user, "Remove the charging item first!")
+ to_chat(user, SPAN_WARNING("Remove the charging item first!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -106,10 +106,10 @@
if(!anchor_toggleable) // Unwrenching wall rechargers and dragging them off all kinds of cursed.
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first!")
+ to_chat(user, SPAN_WARNING("Close the maintenance panel first!"))
return
if(charging)
- to_chat(user, "Remove the charging item first!")
+ to_chat(user, SPAN_WARNING("Remove the charging item first!"))
return
default_unfasten_wrench(user, I, 0)
diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm
index d07d7a946c6..5c02f5617e1 100644
--- a/code/game/machinery/rechargestation.dm
+++ b/code/game/machinery/rechargestation.dm
@@ -130,7 +130,7 @@
/obj/machinery/recharge_station/screwdriver_act(mob/user, obj/item/I)
if(occupant)
- to_chat(user, "The maintenance panel is locked.")
+ to_chat(user, SPAN_NOTICE("The maintenance panel is locked."))
return TRUE
if(default_deconstruction_screwdriver(user, "borgdecon2", "borgcharger0", I))
return TRUE
@@ -183,18 +183,18 @@
return
if(get_dist(src, user) > 2 || get_dist(target, user) > 1)
- to_chat(user, "[target] is too far away to put inside [src].")
+ to_chat(user, SPAN_NOTICE("[target] is too far away to put inside [src]."))
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_WARNING("Close the maintenance panel first."))
return
var/can_accept_user
if(isrobot(target))
var/mob/living/silicon/robot/R = target
if(occupant)
- to_chat(R, "The cell is already occupied!")
+ to_chat(R, SPAN_WARNING("The cell is already occupied!"))
return
can_accept_user = TRUE
@@ -204,13 +204,13 @@
if(H.stat == DEAD)
return
if(occupant)
- to_chat(H, "The cell is already occupied!")
+ to_chat(H, SPAN_WARNING("The cell is already occupied!"))
return
if(ismodcontrol(H.back) || ismachineperson(H))
can_accept_user = TRUE
if(!can_accept_user)
- to_chat(user, "Only non-organics and people wearing modsuits may enter the recharger!")
+ to_chat(user, SPAN_NOTICE("Only non-organics and people wearing modsuits may enter the recharger!"))
return
target.stop_pulling()
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 0d7c47d3048..5cd6ddcebaf 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -82,7 +82,7 @@
/obj/machinery/recycler/cmag_act(mob/user)
if(emagged)
- to_chat(user, "The board is completely fried.")
+ to_chat(user, SPAN_WARNING("The board is completely fried."))
return FALSE
if(!HAS_TRAIT(src, TRAIT_CMAGGED))
ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG)
@@ -90,12 +90,12 @@
emergency_mode = FALSE
update_icon(UPDATE_ICON_STATE)
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- to_chat(user, "You use the jestographic sequencer on [src].")
+ to_chat(user, SPAN_NOTICE("You use the jestographic sequencer on [src]."))
return TRUE
/obj/machinery/recycler/emag_act(mob/user)
if(HAS_TRAIT(src, TRAIT_CMAGGED))
- to_chat(user, "The access panel is coated in yellow ooze...")
+ to_chat(user, SPAN_WARNING("The access panel is coated in yellow ooze..."))
return FALSE
if(!emagged)
emagged = TRUE
@@ -103,7 +103,7 @@
emergency_mode = FALSE
update_icon(UPDATE_ICON_STATE)
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- to_chat(user, "You use the cryptographic sequencer on [src].")
+ to_chat(user, SPAN_NOTICE("You use the cryptographic sequencer on [src]."))
return TRUE
/obj/machinery/recycler/update_icon_state()
@@ -234,7 +234,7 @@
return
eat_dir = turn(eat_dir, 90)
- to_chat(user, "[src] will now accept items from [dir2text(eat_dir)].")
+ to_chat(user, SPAN_NOTICE("[src] will now accept items from [dir2text(eat_dir)]."))
/obj/machinery/recycler/deathtrap
name = "dangerous old crusher"
diff --git a/code/game/machinery/requests_console.dm b/code/game/machinery/requests_console.dm
index af21cc1f03b..4b581b7d914 100644
--- a/code/game/machinery/requests_console.dm
+++ b/code/game/machinery/requests_console.dm
@@ -316,7 +316,7 @@ GLOBAL_LIST_EMPTY(allRequestConsoles)
announcer.author = id_card.assignment ? "[id_card.assignment] [id_card.registered_name]" : id_card.registered_name
else
reset_message()
- to_chat(user, "You are not authorized to send announcements.")
+ to_chat(user, SPAN_WARNING("You are not authorized to send announcements."))
SStgui.update_uis(src)
return ITEM_INTERACT_COMPLETE
if(screen == RCS_SECONDARY)
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index 6ef847ec2b8..31f90ea5914 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -214,14 +214,14 @@
return
if(active)
- user.visible_message("[bicon(src)] [user] deactivated the shield generator.", \
- "[bicon(src)] You deactivate the shield generator.", \
+ user.visible_message(SPAN_NOTICE("[bicon(src)] [user] deactivated the shield generator."), \
+ SPAN_NOTICE("[bicon(src)] You deactivate the shield generator."), \
"You hear heavy droning fade out.")
shields_down()
else
if(anchored)
- user.visible_message("[bicon(src)] [user] activated the shield generator.", \
- "[bicon(src)] You activate the shield generator.", \
+ user.visible_message(SPAN_NOTICE("[bicon(src)] [user] activated the shield generator."), \
+ SPAN_NOTICE("[bicon(src)] You activate the shield generator."), \
"You hear heavy droning.")
shields_up()
else
@@ -235,7 +235,7 @@
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/stack/cable_coil) && malfunction && is_open)
var/obj/item/stack/cable_coil/coil = used
- to_chat(user, "You begin to replace the wires.")
+ to_chat(user, SPAN_NOTICE("You begin to replace the wires."))
if(do_after(user, 30 * coil.toolspeed, target = src))
if(!src || !coil)
return ITEM_INTERACT_COMPLETE
@@ -243,7 +243,7 @@
health = max_health
malfunction = FALSE
playsound(loc, coil.usesound, 50, 1)
- to_chat(user, "You repair [src]!")
+ to_chat(user, SPAN_NOTICE("You repair [src]!"))
update_icon(UPDATE_ICON_STATE)
return ITEM_INTERACT_COMPLETE
@@ -252,7 +252,7 @@
locked = !locked
to_chat(user, "The controls are now [locked ? "locked." : "unlocked."]")
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return ITEM_INTERACT_COMPLETE
@@ -278,7 +278,7 @@
if(anchored)
WRENCH_UNANCHOR_MESSAGE
if(active)
- visible_message("[src] shuts off!")
+ visible_message(SPAN_WARNING("[src] shuts off!"))
shields_down()
else
if(isspaceturf(get_turf(src)))
@@ -350,14 +350,14 @@
/obj/machinery/shieldwallgen/attack_hand(mob/user)
if(!anchored)
- to_chat(user, "The shield generator needs to be firmly secured to the floor first.")
+ to_chat(user, SPAN_WARNING("The shield generator needs to be firmly secured to the floor first."))
return TRUE
if(locked && !issilicon(user))
- to_chat(user, "The controls are locked!")
+ to_chat(user, SPAN_WARNING("The controls are locked!"))
return TRUE
var/turf/T = loc
if(!T.get_cable_node())
- to_chat(user, "The shield generator needs to be powered by wire underneath.")
+ to_chat(user, SPAN_WARNING("The shield generator needs to be powered by wire underneath."))
return TRUE
if(!activated)
@@ -365,8 +365,8 @@
else
deactivate()
- user.visible_message("[user] turned the shield generator [activated ? "on" : "off"].", \
- "You turn [activated ? "on" : "off"] the shield generator.", \
+ user.visible_message(SPAN_NOTICE("[user] turned the shield generator [activated ? "on" : "off"]."), \
+ SPAN_NOTICE("You turn [activated ? "on" : "off"] the shield generator."), \
"You hear heavy droning [activated ? "" : "fade out"].")
update_icon(UPDATE_ICON_STATE)
@@ -374,7 +374,7 @@
/obj/machinery/shieldwallgen/process()
if(!try_charge_shields_power())
- visible_message("[name] shuts down due to lack of power!", \
+ visible_message(SPAN_WARNING("[name] shuts down due to lack of power!"), \
"You hear heavy droning fade out")
deactivate()
update_icon(UPDATE_ICON_STATE)
@@ -433,7 +433,7 @@
locked = !locked
to_chat(user, "Controls are now [locked ? "locked." : "unlocked."]")
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return ITEM_INTERACT_COMPLETE
@@ -443,7 +443,7 @@
/obj/machinery/shieldwallgen/wrench_act(mob/user, obj/item/I)
. = TRUE
if(activated)
- to_chat(user, "Turn off the field generator first.")
+ to_chat(user, SPAN_WARNING("Turn off the field generator first."))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm
index 4b3391b7685..6200023c47b 100644
--- a/code/game/machinery/slotmachine.dm
+++ b/code/game/machinery/slotmachine.dm
@@ -138,17 +138,17 @@
*/
/obj/machinery/economy/slot_machine/emag_act(user)
if(emagged)
- to_chat(user, "[src] is unresponsive. It is probably already modified.")
+ to_chat(user, SPAN_NOTICE("[src] is unresponsive. It is probably already modified."))
return
playsound(loc, 'sound/effects/sparks4.ogg', 75, 1)
emagged = TRUE
- to_chat(user, "You engage the reverse-gripping mechanism on the machine's handle.")
+ to_chat(user, SPAN_NOTICE("You engage the reverse-gripping mechanism on the machine's handle."))
log_game("[key_name(user)] emagged [src]")
return TRUE
/// The spinning and throwing away is handled here, with a possible call to winning
/obj/machinery/economy/slot_machine/proc/emagged_spinning(mob/living/user)
- to_chat(user, "As you grip the handle of the machine, it grips back at you, and starts to wildly spin you around!")
+ to_chat(user, SPAN_DANGER("As you grip the handle of the machine, it grips back at you, and starts to wildly spin you around!"))
user.SpinAnimation(speed = 2, loops = 6)
emagged_game_in_progress = TRUE
@@ -172,7 +172,7 @@
return
// Find the right direction and throw the user away from the machine
- to_chat(user, "The handle suddenly lets you go!")
+ to_chat(user, SPAN_USERDANGER("The handle suddenly lets you go!"))
user.anchored = FALSE
var/user_direction = get_dir(src, user)
var/turf/throw_direction = get_edge_target_turf(user, user_direction)
diff --git a/code/game/machinery/snow_machine.dm b/code/game/machinery/snow_machine.dm
index f63b7dd26d5..7b5d9229e7f 100644
--- a/code/game/machinery/snow_machine.dm
+++ b/code/game/machinery/snow_machine.dm
@@ -25,7 +25,7 @@
/obj/machinery/snow_machine/examine(mob/user)
. = ..()
- . += "The internal reservoir indicates it is [infinite_snow ? "100" : round(reagents.total_volume / reagents.maximum_volume * 100)]% full."
+ . += SPAN_NOTICE("The internal reservoir indicates it is [infinite_snow ? "100" : round(reagents.total_volume / reagents.maximum_volume * 100)]% full.")
/obj/machinery/snow_machine/RefreshParts()
power_efficiency = 0
@@ -39,7 +39,7 @@
if(!has_power() || !anchored)
return
if(turn_on_or_off(!active))
- to_chat(user, "You [active ? "turn on" : "turn off"] [src].")
+ to_chat(user, SPAN_NOTICE("You [active ? "turn on" : "turn off"] [src]."))
return ..()
/obj/machinery/snow_machine/crowbar_act(mob/user, obj/item/I)
@@ -129,7 +129,7 @@
/obj/machinery/snow_machine/proc/turn_on_or_off(activate, give_message = FALSE)
active = activate ? TRUE : FALSE
if(!active && give_message)
- visible_message("[src] switches off!")
+ visible_message(SPAN_WARNING("[src] switches off!"))
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, FALSE)
update_icon(UPDATE_ICON_STATE)
return TRUE
diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm
index b89b46785c4..7f6d10703d0 100644
--- a/code/game/machinery/spaceheater.dm
+++ b/code/game/machinery/spaceheater.dm
@@ -80,7 +80,7 @@
// insert cell
var/obj/item/stock_parts/cell/C = used
if(!user.drop_item())
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
component_parts += C
@@ -88,8 +88,8 @@
cell.forceMove(src)
C.add_fingerprint(user)
user.visible_message(
- "[user] inserts a power cell into [src].",
- "You insert the power cell into [src]."
+ SPAN_NOTICE("[user] inserts a power cell into [src]."),
+ SPAN_NOTICE("You insert the power cell into [src].")
)
return ITEM_INTERACT_COMPLETE
@@ -115,7 +115,7 @@
/obj/machinery/space_heater/wrench_act(mob/living/user, obj/item/I)
default_unfasten_wrench(user, I, 0)
- return TRUE
+ return TRUE
/obj/machinery/space_heater/attack_hand(mob/user as mob)
src.add_fingerprint(user)
@@ -145,7 +145,7 @@
else
on = !on
- user.visible_message("[user] switches [on ? "on" : "off"] [src].","You switch [on ? "on" : "off"] [src].")
+ user.visible_message(SPAN_NOTICE("[user] switches [on ? "on" : "off"] [src]."),SPAN_NOTICE("You switch [on ? "on" : "off"] [src]."))
update_icon()
return
@@ -176,8 +176,8 @@
cell = null
RefreshParts()
usr.visible_message(
- "[usr] removes the power cell from [src].",
- "You remove the power cell from [src]."
+ SPAN_NOTICE("[usr] removes the power cell from [src]."),
+ SPAN_NOTICE("You remove the power cell from [src].")
)
if("cellinstall")
@@ -191,11 +191,11 @@
C.add_fingerprint(usr)
usr.visible_message(
- "[usr] inserts a power cell into [src].",
- "You insert the power cell into [src]."
+ SPAN_NOTICE("[usr] inserts a power cell into [src]."),
+ SPAN_NOTICE("You insert the power cell into [src].")
)
else
- to_chat(usr, "[C] is stuck to your hand!")
+ to_chat(usr, SPAN_WARNING("[C] is stuck to your hand!"))
updateDialog()
else
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index 29bc5bc119b..2f4008bb755 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -328,9 +328,9 @@
if(user.a_intent != INTENT_HELP)
return ..()
if(panel_open)
- to_chat(usr, "Close the maintenance panel first.")
+ to_chat(usr, SPAN_WARNING("Close the maintenance panel first."))
else
- to_chat(usr, "The unit is not operational.")
+ to_chat(usr, SPAN_WARNING("The unit is not operational."))
return ITEM_INTERACT_COMPLETE
if(panel_open)
wires.Interact(user)
@@ -339,9 +339,9 @@
if(store_item(used, user))
update_icon(UPDATE_OVERLAYS)
SStgui.update_uis(src)
- to_chat(user, "You load [used] into the storage compartment.")
+ to_chat(user, SPAN_NOTICE("You load [used] into the storage compartment."))
else
- to_chat(user, "You can't fit [used] into [src]!")
+ to_chat(user, SPAN_WARNING("You can't fit [used] into [src]!"))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -353,10 +353,10 @@
if(!I.use_tool(src, user, volume = I.tool_volume))
return
if(occupant || helmet || suit || storage || boots)
- to_chat(user, "There are contents that prevent you from deconstructing [src]!")
+ to_chat(user, SPAN_WARNING("There are contents that prevent you from deconstructing [src]!"))
return
if(locked)
- to_chat(user, "The security system prevents you from deconstructing [src]!")
+ to_chat(user, SPAN_WARNING("The security system prevents you from deconstructing [src]!"))
return
dump_contents() // probably still a good idea for just incase?
default_deconstruction_crowbar(user, I)
@@ -431,19 +431,19 @@
return
var/mob/living/target = A
if(!state_open)
- to_chat(user, "[src]'s doors are shut!")
+ to_chat(user, SPAN_WARNING("[src]'s doors are shut!"))
return TRUE
if(!is_operational())
- to_chat(user, "[src] is not operational!")
+ to_chat(user, SPAN_WARNING("[src] is not operational!"))
return TRUE
if(occupant || helmet || suit || storage)
- to_chat(user, "It's too cluttered inside to fit in!")
+ to_chat(user, SPAN_WARNING("It's too cluttered inside to fit in!"))
return TRUE
if(target == user)
- user.visible_message("[user] starts squeezing into [src]!", "You start working your way into [src]...")
+ user.visible_message(SPAN_WARNING("[user] starts squeezing into [src]!"), SPAN_NOTICE("You start working your way into [src]..."))
else
- target.visible_message("[user] starts shoving [target] into [src]!", "[user] starts shoving you into [src]!")
+ target.visible_message(SPAN_WARNING("[user] starts shoving [target] into [src]!"), SPAN_USERDANGER("[user] starts shoving you into [src]!"))
INVOKE_ASYNC(src, TYPE_PROC_REF(/obj/machinery/suit_storage_unit, put_in), user, target)
return TRUE
@@ -453,9 +453,9 @@
if(occupant || helmet || suit || storage)
return
if(target == user)
- user.visible_message("[user] slips into [src] and closes the door behind [user.p_them()]!", "You slip into [src]'s cramped space and shut its door.")
+ user.visible_message(SPAN_WARNING("[user] slips into [src] and closes the door behind [user.p_them()]!"), SPAN_NOTICE("You slip into [src]'s cramped space and shut its door."))
else
- target.visible_message("[user] pushes [target] into [src] and shuts its door!", "[user] shoves you into [src] and shuts the door!")
+ target.visible_message(SPAN_WARNING("[user] pushes [target] into [src] and shuts its door!"), SPAN_USERDANGER("[user] shoves you into [src] and shuts the door!"))
close_machine(target)
if(occupant == target)
QDEL_LIST_CONTENTS(target.grabbed_by)
@@ -480,7 +480,7 @@
A.clean_blood(radiation_clean = FALSE) // we invoke the radiation cleaning proc directly
A.clean_radiation(12) // instead of letting clean_blood do it
if(uv_super)
- visible_message("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber.")
+ visible_message(SPAN_WARNING("[src]'s door creaks open with a loud whining noise. A cloud of foul black smoke escapes from its chamber."))
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 50, 1)
if(suit && !(suit.resistance_flags & LAVA_PROOF))
qdel(suit)
@@ -500,9 +500,9 @@
else
if(!occupant)
- visible_message("[src]'s door slides open. The glowing yellow lights dim to a gentle green.")
+ visible_message(SPAN_NOTICE("[src]'s door slides open. The glowing yellow lights dim to a gentle green."))
else
- visible_message("[src]'s door slides open, barraging you with the nauseating smell of charred flesh.")
+ visible_message(SPAN_WARNING("[src]'s door slides open, barraging you with the nauseating smell of charred flesh."))
playsound(src, 'sound/machines/airlock_close.ogg', 25, 1)
if(occupant)
dump_contents()
@@ -513,7 +513,7 @@
if(locked)
if(message_cooldown <= world.time)
message_cooldown = world.time + 50
- to_chat(user, "[src]'s door won't budge!")
+ to_chat(user, SPAN_WARNING("[src]'s door won't budge!"))
return
open_machine()
dump_contents()
@@ -523,21 +523,21 @@
open_machine()
dump_contents()
return
- user.visible_message("You see [user] kicking against the doors of [src]!", \
- "You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)", \
- "You hear a thump from [src].")
+ user.visible_message(SPAN_NOTICE("You see [user] kicking against the doors of [src]!"), \
+ SPAN_NOTICE("You start kicking against the doors... (this will take about [DisplayTimeText(breakout_time)].)"), \
+ SPAN_ITALICS("You hear a thump from [src]."))
if(do_after(user,(breakout_time), target = src))
if(!user || user.stat != CONSCIOUS || user.loc != src)
return
- user.visible_message("[user] successfully broke out of [src]!", \
- "You successfully break out of [src]!")
+ user.visible_message(SPAN_WARNING("[user] successfully broke out of [src]!"), \
+ SPAN_NOTICE("You successfully break out of [src]!"))
open_machine()
dump_contents()
add_fingerprint(user)
if(locked)
- visible_message("You see [user] kicking against the doors of [src]!", \
- "You start kicking against the doors...")
+ visible_message(SPAN_NOTICE("You see [user] kicking against the doors of [src]!"), \
+ SPAN_NOTICE("You start kicking against the doors..."))
addtimer(CALLBACK(src, PROC_REF(resist_open), user), 300)
else
open_machine()
@@ -545,8 +545,8 @@
/obj/machinery/suit_storage_unit/proc/resist_open(mob/user)
if(!state_open && occupant && (user in src) && !user.stat) // Check they're still here.
- visible_message("You see [user] burst out of [src]!", \
- "You escape the cramped confines of [src]!")
+ visible_message(SPAN_NOTICE("You see [user] burst out of [src]!"), \
+ SPAN_NOTICE("You escape the cramped confines of [src]!"))
open_machine()
//eventually move these onto the parent....
@@ -591,7 +591,7 @@
/obj/machinery/suit_storage_unit/proc/check_allowed(user)
if(!(allowed(user) || !secure))
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return FALSE
return TRUE
@@ -714,7 +714,7 @@
/obj/machinery/suit_storage_unit/proc/toggle_open(mob/user as mob)
if(locked || uv)
- to_chat(user, "Unable to open unit.")
+ to_chat(user, SPAN_DANGER("Unable to open unit."))
return
if(occupant)
eject_occupant(user)
@@ -723,7 +723,7 @@
/obj/machinery/suit_storage_unit/proc/toggle_lock(mob/user as mob)
if(occupant && safeties)
- to_chat(user, "The unit's safety protocols disallow locking when a biological form is detected inside its compartments.")
+ to_chat(user, SPAN_WARNING("The unit's safety protocols disallow locking when a biological form is detected inside its compartments."))
return
if(state_open)
return
@@ -738,9 +738,9 @@
if(user)
if(user != occupant)
- to_chat(occupant, "The machine kicks you out!")
+ to_chat(occupant, SPAN_WARNING("The machine kicks you out!"))
if(user.loc != loc)
- to_chat(occupant, "You leave the not-so-cozy confines of [src].")
+ to_chat(occupant, SPAN_WARNING("You leave the not-so-cozy confines of [src]."))
occupant.forceMove(loc)
occupant = null
if(!state_open)
@@ -760,10 +760,10 @@
/obj/machinery/suit_storage_unit/emag_act(mob/user)
if(uv)
- to_chat(user, "[src] is currently undergoing a disinfection cycle, it wont open.")
+ to_chat(user, SPAN_WARNING("[src] is currently undergoing a disinfection cycle, it wont open."))
return
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- to_chat(user, "You short out [src]'s internal circuitry, causing its safeties to fail, and dumping its contents.")
+ to_chat(user, SPAN_WARNING("You short out [src]'s internal circuitry, causing its safeties to fail, and dumping its contents."))
open_machine()
dump_contents()
eject_occupant()
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index c7084198f57..d457a7e3505 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -18,7 +18,7 @@
/obj/machinery/power/singularity_beacon/proc/Activate(mob/user = null)
if(get_surplus() < 1500)
if(user)
- to_chat(user, "The connected wire doesn't have enough current.")
+ to_chat(user, SPAN_NOTICE("The connected wire doesn't have enough current."))
return
for(var/thing in GLOB.singularities)
var/obj/singularity/singulo = thing
@@ -28,7 +28,7 @@
active = TRUE
START_PROCESSING(SSmachines, src)
if(user)
- to_chat(user, "You activate the beacon.")
+ to_chat(user, SPAN_NOTICE("You activate the beacon."))
/obj/machinery/power/singularity_beacon/proc/Deactivate(mob/user = null)
@@ -39,7 +39,7 @@
icon_state = "[icontype]0"
active = FALSE
if(user)
- to_chat(user, "You deactivate the beacon.")
+ to_chat(user, SPAN_NOTICE("You deactivate the beacon."))
/obj/machinery/power/singularity_beacon/attack_ai(mob/user as mob)
return
@@ -48,19 +48,19 @@
if(anchored)
return active ? Deactivate(user) : Activate(user)
else
- to_chat(user, "You need to screw the beacon to the floor first!")
+ to_chat(user, SPAN_WARNING("You need to screw the beacon to the floor first!"))
return
/obj/machinery/power/singularity_beacon/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(active)
- to_chat(user, "You need to deactivate the beacon first!")
+ to_chat(user, SPAN_WARNING("You need to deactivate the beacon first!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(anchored)
anchored = FALSE
- to_chat(user, "You unscrew the beacon from the floor.")
+ to_chat(user, SPAN_NOTICE("You unscrew the beacon from the floor."))
disconnect_from_network()
return
else
@@ -68,7 +68,7 @@
to_chat(user, "This device must be placed over an exposed cable.")
return
anchored = TRUE
- to_chat(user, "You screw the beacon to the floor and attach the cable.")
+ to_chat(user, SPAN_NOTICE("You screw the beacon to the floor and attach the cable."))
/obj/machinery/power/singularity_beacon/Destroy()
if(active)
diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm
index d990838727c..f04aae68a48 100644
--- a/code/game/machinery/syndicatebomb.dm
+++ b/code/game/machinery/syndicatebomb.dm
@@ -123,10 +123,10 @@
if(!user.drop_item())
return ITEM_INTERACT_COMPLETE
payload = used
- to_chat(user, "You place [payload] into [src].")
+ to_chat(user, SPAN_NOTICE("You place [payload] into [src]."))
payload.forceMove(src)
else
- to_chat(user, "[payload] is already loaded into [src], you'll have to remove it first.")
+ to_chat(user, SPAN_NOTICE("[payload] is already loaded into [src], you'll have to remove it first."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -139,18 +139,18 @@
return
if(!anchored)
if(!isturf(loc) || isspaceturf(loc))
- to_chat(user, "The bomb must be placed on solid ground to attach it.")
+ to_chat(user, SPAN_NOTICE("The bomb must be placed on solid ground to attach it."))
else
WRENCH_ANCHOR_MESSAGE
anchored = TRUE
if(active)
- to_chat(user, "The bolts lock in place.")
+ to_chat(user, SPAN_NOTICE("The bolts lock in place."))
else
if(!active)
WRENCH_UNANCHOR_MESSAGE
anchored = FALSE
else
- to_chat(user, "The bolts are locked down!")
+ to_chat(user, SPAN_WARNING("The bolts are locked down!"))
/obj/machinery/syndicatebomb/screwdriver_act(mob/user, obj/item/I)
. = TRUE
@@ -158,7 +158,7 @@
return
open_panel = !open_panel
update_icon(UPDATE_ICON_STATE)
- to_chat(user, "You [open_panel ? "open" : "close"] the wire panel.")
+ to_chat(user, SPAN_NOTICE("You [open_panel ? "open" : "close"] the wire panel."))
/obj/machinery/syndicatebomb/wirecutter_act(mob/user, obj/item/I)
if(!open_panel)
@@ -182,15 +182,15 @@
return
if(open_panel && wires.is_all_cut())
if(payload)
- to_chat(user, "You carefully pry out [payload].")
+ to_chat(user, SPAN_NOTICE("You carefully pry out [payload]."))
payload.loc = user.loc
payload = null
else
- to_chat(user, "There isn't anything in here to remove!")
+ to_chat(user, SPAN_WARNING("There isn't anything in here to remove!"))
else if(open_panel)
- to_chat(user, "The wires connecting the shell to the explosives are holding it down!")
+ to_chat(user, SPAN_WARNING("The wires connecting the shell to the explosives are holding it down!"))
else
- to_chat(user, "The cover is screwed on, it won't pry off!")
+ to_chat(user, SPAN_WARNING("The cover is screwed on, it won't pry off!"))
/obj/machinery/syndicatebomb/welder_act(mob/user, obj/item/I)
. = TRUE
@@ -222,7 +222,7 @@
settings(user)
return
else if(anchored)
- to_chat(user, "The bomb is bolted to the floor!")
+ to_chat(user, SPAN_NOTICE("The bomb is bolted to the floor!"))
/obj/machinery/syndicatebomb/proc/can_interact(mob/user)
if(user.can_advanced_admin_interact())
@@ -234,7 +234,7 @@
if(!Adjacent(user))
return FALSE
if(!allowed(user))
- to_chat(user, "Access denied!")
+ to_chat(user, SPAN_WARNING("Access denied!"))
return FALSE
return TRUE
@@ -250,14 +250,14 @@
var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num
if(can_interact(user)) //No running off and setting bombs from across the station
timer_set = clamp(new_timer, minimum_timer, maximum_timer)
- loc.visible_message("[bicon(src)] timer set for [timer_set] seconds.")
+ loc.visible_message(SPAN_NOTICE("[bicon(src)] timer set for [timer_set] seconds."))
if(tgui_alert(user, "Would you like to start the countdown now?", "Countdown", list("Yes", "No")) == "Yes" && can_interact(user))
if(defused || active)
if(defused)
- loc.visible_message("[bicon(src)] Device error: User intervention required.")
+ loc.visible_message(SPAN_NOTICE("[bicon(src)] Device error: User intervention required."))
return
else
- loc.visible_message("[bicon(src)] [timer_set] seconds until detonation, please clear the area.")
+ loc.visible_message(SPAN_DANGER("[bicon(src)] [timer_set] seconds until detonation, please clear the area."))
activate()
update_icon(UPDATE_ICON_STATE)
add_fingerprint(user)
@@ -394,7 +394,7 @@
var/obj/machinery/syndicatebomb/holder = loc
if(istype(holder))
attempts++
- holder.loc.visible_message("[bicon(holder)] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires...")
+ holder.loc.visible_message(SPAN_DANGER("[bicon(holder)] Alert: Bomb has detonated. Your score is now [defusals] for [attempts]. Resetting wires..."))
reset()
else
qdel(src)
@@ -404,7 +404,7 @@
if(istype(holder))
attempts++
defusals++
- holder.loc.visible_message("[bicon(holder)] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds...")
+ holder.loc.visible_message(SPAN_NOTICE("[bicon(holder)] Alert: Bomb has been defused. Your score is now [defusals] for [attempts]! Resetting wires in 5 seconds..."))
sleep(50) //Just in case someone is trying to remove the bomb core this gives them a little window to crowbar it out
if(istype(holder))
reset()
@@ -479,7 +479,7 @@
adminlogged = TRUE
empulse(src, heavy_emp, light_emp, 1)
if(pulse_number <= 1)
- src.visible_message("The bomb's core burns out, and the bomb disintegrates into ash.")
+ src.visible_message(SPAN_WARNING("The bomb's core burns out, and the bomb disintegrates into ash."))
new /obj/effect/decal/cleanable/ash(get_turf(src))
if(loc && istype(loc, /obj/machinery/syndicatebomb))
qdel(loc)
@@ -557,10 +557,10 @@
if(!user.drop_item())
return
beakers += I
- to_chat(user, "You load [src] with [I].")
+ to_chat(user, SPAN_NOTICE("You load [src] with [I]."))
I.loc = src
else
- to_chat(user, "[I] won't fit! [src] can only hold up to [max_beakers] containers.")
+ to_chat(user, SPAN_WARNING("[I] won't fit! [src] can only hold up to [max_beakers] containers."))
return
else
return ..()
@@ -627,13 +627,13 @@
if(!ttv && !check_attached(I))
if(!user.drop_item())
return
- to_chat(user, "You load [src] with [I].")
+ to_chat(user, SPAN_NOTICE("You load [src] with [I]."))
ttv = I
I.forceMove(src)
else if(ttv)
- to_chat(user, "Another tank transfer valve is already loaded.")
+ to_chat(user, SPAN_WARNING("Another tank transfer valve is already loaded."))
else
- to_chat(user, "Remove the attached assembly component first.")
+ to_chat(user, SPAN_WARNING("Remove the attached assembly component first."))
else
return ..()
@@ -680,7 +680,7 @@
/obj/item/syndicatedetonator/attack_self__legacy__attackchain(mob/user)
if(timer >= world.time)
- to_chat(user, "Nothing happens.")
+ to_chat(user, SPAN_ALERT("Nothing happens."))
return
for(var/obj/machinery/syndicatebomb/B in SSmachines.get_by_type(/obj/machinery/syndicatebomb))
@@ -691,7 +691,7 @@
playsound(user, 'sound/machines/click.ogg', 20, TRUE)
flick("bigred_press", src)
- to_chat(user, "[existant] found, [detonated] triggered.")
+ to_chat(user, SPAN_NOTICE("[existant] found, [detonated] triggered."))
if(detonated)
var/turf/T = get_turf(src)
var/area/A = get_area(T)
diff --git a/code/game/machinery/tcomms/nttc.dm b/code/game/machinery/tcomms/nttc.dm
index 30423ec42b2..0894f788e38 100644
--- a/code/game/machinery/tcomms/nttc.dm
+++ b/code/game/machinery/tcomms/nttc.dm
@@ -220,7 +220,7 @@
// Fucking broken as shit, someone help me fix this.
/datum/nttc_configuration/proc/nttc_deserialize(text, ckey)
if(word_blacklist.Find(text)) //uh oh, they tried to be naughty
- message_admins("EXPLOIT WARNING: [ckey] attempted to upload an NTTC configuration containing JS abusable tags!")
+ message_admins("[SPAN_DANGER("EXPLOIT WARNING: ")] [ckey] attempted to upload an NTTC configuration containing JS abusable tags!")
log_admin("EXPLOIT WARNING: [ckey] attempted to upload an NTTC configuration containing JS abusable tags")
return FALSE
var/list/var_list = json_decode(text)
diff --git a/code/game/machinery/tcomms/relay.dm b/code/game/machinery/tcomms/relay.dm
index 4a9aee89a9e..8e366273a64 100644
--- a/code/game/machinery/tcomms/relay.dm
+++ b/code/game/machinery/tcomms/relay.dm
@@ -33,7 +33,7 @@
if(check_power_on())
active = TRUE
else
- visible_message("Error: Another relay is already active in this sector. Power-up cancelled due to radio interference.")
+ visible_message(SPAN_WARNING("Error: Another relay is already active in this sector. Power-up cancelled due to radio interference."))
update_icon()
if(mapload && autolink_id)
return INITIALIZE_HINT_LATELOAD
@@ -191,13 +191,13 @@
if(linked_core)
linked_core.refresh_zlevels()
else
- to_chat(usr, "Error: Another relay is already active in this sector. Power-up cancelled due to radio interference.")
+ to_chat(usr, SPAN_WARNING("Error: Another relay is already active in this sector. Power-up cancelled due to radio interference."))
// Set network ID
if("network_id")
var/new_id = input(usr, "Please enter a new network ID", "Network ID", network_id)
log_action(usr, "renamed core with ID [network_id] to [new_id]")
- to_chat(usr, "Device ID changed from [network_id] to [new_id].")
+ to_chat(usr, SPAN_NOTICE("Device ID changed from [network_id] to [new_id]."))
network_id = new_id
// Only do these hrefs if we are linked to prevent bugs/exploits
@@ -223,16 +223,16 @@
if(istype(C, /obj/machinery/tcomms/core))
if(password_bypass)
AddLink(C)
- to_chat(usr, "Successfully linked to [C.network_id].")
+ to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_id]."))
return
var/user_pass = input(usr, "Please enter core password","Password Entry")
// Check the password
if(user_pass == C.link_password)
AddLink(C)
- to_chat(usr, "Successfully linked to [C.network_id].")
+ to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_id]."))
else
- to_chat(usr, "ERROR: Password incorrect.")
+ to_chat(usr, SPAN_ALERT("ERROR: Password incorrect."))
else
- to_chat(usr, "ERROR: Core not found. Please file an issue report.")
+ to_chat(usr, SPAN_ALERT("ERROR: Core not found. Please file an issue report."))
diff --git a/code/game/machinery/tcomms/tcomms_base.dm b/code/game/machinery/tcomms/tcomms_base.dm
index 166b3c86aed..0c66555ac18 100644
--- a/code/game/machinery/tcomms/tcomms_base.dm
+++ b/code/game/machinery/tcomms/tcomms_base.dm
@@ -133,7 +133,7 @@ GLOBAL_LIST_EMPTY(tcomms_machines)
if(active)
active = FALSE
// This needs a timer because otherwise its on the shuttle Z and the message is missed
- addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, visible_message), "Radio equipment on [src] has suffered an unidentified malfunction. Please restart the machine."), 5)
+ addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, visible_message), SPAN_WARNING("Radio equipment on [src] has suffered an unidentified malfunction. Please restart the machine.")), 5)
update_icon(UPDATE_ICON_STATE)
diff --git a/code/game/machinery/tcomms/tcomms_core.dm b/code/game/machinery/tcomms/tcomms_core.dm
index cbca3e92714..1717fdc06e3 100644
--- a/code/game/machinery/tcomms/tcomms_core.dm
+++ b/code/game/machinery/tcomms/tcomms_core.dm
@@ -40,7 +40,7 @@
if(check_power_on())
active = TRUE
else
- visible_message("Error: Another core is already active in this sector. Power-up cancelled due to radio interference.")
+ visible_message(SPAN_WARNING("Error: Another core is already active in this sector. Power-up cancelled due to radio interference."))
update_icon()
RegisterSignal(SSdcs, COMSIG_GLOB_NEW_Z, PROC_REF(on_new_z))
@@ -248,7 +248,7 @@
active = !active
update_icon()
else
- to_chat(usr, "Error: Another core is already active in this sector. Power-up cancelled due to radio interference.")
+ to_chat(usr, SPAN_WARNING("Error: Another core is already active in this sector. Power-up cancelled due to radio interference."))
// NTTC Toggles
if("nttc_toggle_jobs")
@@ -271,7 +271,7 @@
if(!card_style)
return
nttc.job_indicator_type = card_style
- to_chat(usr, "Jobs will now have the style of [card_style].")
+ to_chat(usr, SPAN_NOTICE("Jobs will now have the style of [card_style]."))
log_action(usr, "has set NTTC job card format to [card_style]")
// Language Settings
@@ -281,10 +281,10 @@
return
if(new_language == "--DISABLE--")
nttc.setting_language = null
- to_chat(usr, "Language conversion disabled.")
+ to_chat(usr, SPAN_NOTICE("Language conversion disabled."))
else
nttc.setting_language = new_language
- to_chat(usr, "Messages will now be converted to [new_language].")
+ to_chat(usr, SPAN_NOTICE("Messages will now be converted to [new_language]."))
log_action(usr, new_language == "--DISABLE--" ? "disabled NTTC language conversion" : "set NTTC language conversion to [new_language]", TRUE)
@@ -305,7 +305,7 @@
if(!new_id)
return
log_action(usr, "renamed core with ID [network_id] to [new_id]")
- to_chat(usr, "Device ID changed from [network_id] to [new_id].")
+ to_chat(usr, SPAN_NOTICE("Device ID changed from [network_id] to [new_id]."))
network_id = new_id
if("unlink")
@@ -316,14 +316,14 @@
log_action(usr, "has unlinked tcomms relay with ID [R.network_id] from tcomms core with ID [network_id]", TRUE)
R.Reset()
else
- to_chat(usr, "ERROR: Relay not found. Please file an issue report.")
+ to_chat(usr, SPAN_ALERT("ERROR: Relay not found. Please file an issue report."))
if("change_password")
var/new_password = tgui_input_text(usr, "Please enter a new password", "New Password", link_password)
if(!new_password)
return
log_action(usr, "has changed the password on core with ID [network_id] from [link_password] to [new_password]")
- to_chat(usr, "Successfully changed password from [link_password] to [new_password].")
+ to_chat(usr, SPAN_NOTICE("Successfully changed password from [link_password] to [new_password]."))
link_password = new_password
if("add_filter")
@@ -332,22 +332,22 @@
if(!name_to_add)
return
if(name_to_add in nttc.filtering)
- to_chat(usr, "ERROR: User already in filtering list.")
+ to_chat(usr, SPAN_ALERT("ERROR: User already in filtering list."))
else
nttc.filtering |= name_to_add
log_action(usr, "has added [name_to_add] to the NTTC filter list on core with ID [network_id]", TRUE)
- to_chat(usr, "Successfully added [name_to_add] to the NTTC filtering list.")
+ to_chat(usr, SPAN_NOTICE("Successfully added [name_to_add] to the NTTC filtering list."))
if("remove_filter")
var/name_to_remove = params["user"]
if(!(name_to_remove in nttc.filtering))
- to_chat(usr, "ERROR: Name does not exist in filter list. Please file an issue report.")
+ to_chat(usr, SPAN_ALERT("ERROR: Name does not exist in filter list. Please file an issue report."))
else
var/confirm = tgui_alert(usr, "Are you sure you want to remove [name_to_remove] from the filtering list?", "Confirm Removal", list("Yes", "No"))
if(confirm == "Yes")
nttc.filtering -= name_to_remove
log_action(usr, "has removed [name_to_remove] from the NTTC filter list on core with ID [network_id]", TRUE)
- to_chat(usr, "Successfully removed [name_to_remove] from the NTTC filtering list.")
+ to_chat(usr, SPAN_NOTICE("Successfully removed [name_to_remove] from the NTTC filtering list."))
/obj/machinery/tcomms/core/proc/on_new_z(datum/source, name, linkage, list/traits, transition_tag, level_type, z_level)
SIGNAL_HANDLER // COMSIG_GLOB_NEW_Z
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index f368aeb144f..3ce19bdc2b8 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -52,10 +52,10 @@
var/obj/item/gps/L = used
if(L.locked_location && !(stat & (NOPOWER|BROKEN)))
if(!user.transfer_item_to(L, src))
- to_chat(user, "[used] is stuck to your hand, you cannot put it in [src]")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand, you cannot put it in [src]"))
return ITEM_INTERACT_COMPLETE
locked = L
- to_chat(user, "You insert the GPS device into [src]'s slot.")
+ to_chat(user, SPAN_CAUTION("You insert the GPS device into [src]'s slot."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -63,7 +63,7 @@
/obj/machinery/computer/teleporter/emag_act(mob/user)
if(!emagged)
emagged = TRUE
- to_chat(user, "The teleporter can now lock on to Syndicate beacons!")
+ to_chat(user, SPAN_NOTICE("The teleporter can now lock on to Syndicate beacons!"))
return TRUE
else
ui_interact(user)
@@ -342,13 +342,13 @@
var/mob/living/silicon/ai/T = A
if(T.allow_teleporter)
return FALSE
- var/list/TPError = list("Firmware instructions dictate you must remain on your assigned station!",
- "You cannot interface with this technology and get rejected!",
- "External firewalls prevent you from utilizing this machine!",
- "Your AI core's anti-bluespace failsafes trigger and prevent teleportation!")
+ var/list/TPError = list(SPAN_WARNING("Firmware instructions dictate you must remain on your assigned station!"),
+ SPAN_WARNING("You cannot interface with this technology and get rejected!"),
+ SPAN_WARNING("External firewalls prevent you from utilizing this machine!"),
+ SPAN_WARNING("Your AI core's anti-bluespace failsafes trigger and prevent teleportation!"))
to_chat(T, "[pick(TPError)]")
- visible_message("The teleporter rejects the AI unit.")
+ visible_message(SPAN_WARNING("The teleporter rejects the AI unit."))
return TRUE
return FALSE
@@ -425,7 +425,7 @@
return
if(power_station && power_station.engaged && !panel_open && !blockAI(entered) && !iseffect(entered))
if(!teleport(entered) && isliving(entered)) // the isliving(M) is needed to avoid triggering errors if a spark bumps the telehub
- visible_message("[src] emits a loud buzz, as its teleport portal flickers and fails!")
+ visible_message(SPAN_WARNING("[src] emits a loud buzz, as its teleport portal flickers and fails!"))
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, FALSE)
power_station.toggle() // turn off the portal.
use_power(5000)
@@ -447,11 +447,11 @@
if(MAX_ALLOWED_TELEPORTS_PER_PROCESS <= teleports_this_cycle)
return
if(!com.target)
- visible_message("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix.")
+ visible_message(SPAN_ALERT("Cannot authenticate locked on coordinates. Please reinstate coordinate matrix."))
return
if(istype(M, /atom/movable))
if(!calibrated && com.cc_beacon)
- visible_message("Cannot lock on target. Please calibrate the teleporter before attempting long range teleportation.")
+ visible_message(SPAN_ALERT("Cannot lock on target. Please calibrate the teleporter before attempting long range teleportation."))
else if(!calibrated && prob(25 - ((accurate) * 10)) && !com.cc_beacon) //oh dear a problem
var/list/target_z = levels_by_trait(SPAWN_RUINS)
target_z -= M.z //Where to sir? Anywhere but here.
@@ -718,12 +718,12 @@
/obj/machinery/teleport/station/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(panel_open && istype(used, /obj/item/circuitboard/teleporter_perma))
if(!teleporter_console)
- to_chat(user, "[src] is not linked to a teleporter console.")
+ to_chat(user, SPAN_CAUTION("[src] is not linked to a teleporter console."))
return ITEM_INTERACT_COMPLETE
var/obj/item/circuitboard/teleporter_perma/C = used
C.target = teleporter_console.target
- to_chat(user, "You copy the targeting information from [src] to [C].")
+ to_chat(user, SPAN_CAUTION("You copy the targeting information from [src] to [C]."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -744,9 +744,9 @@
if(length(linked_stations) < efficiency)
linked_stations.Add(M.buffer)
M.buffer = null
- to_chat(user, "You upload the data from [M]'s buffer.")
+ to_chat(user, SPAN_CAUTION("You upload the data from [M]'s buffer."))
else
- to_chat(user, "This station can't hold more information, try to use better parts.")
+ to_chat(user, SPAN_ALERT("This station can't hold more information, try to use better parts."))
return
M.set_multitool_buffer(user, src)
@@ -761,7 +761,7 @@
return
if(panel_open)
link_console_and_hub()
- to_chat(user, "You reconnect the station to nearby machinery.")
+ to_chat(user, SPAN_CAUTION("You reconnect the station to nearby machinery."))
/obj/machinery/teleport/station/attack_ai()
@@ -771,20 +771,20 @@
if(!panel_open)
toggle(user)
else
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the maintenance panel first."))
/obj/machinery/teleport/station/proc/toggle(mob/user)
if(stat & (BROKEN|NOPOWER) || !teleporter_hub || !teleporter_console)
return
if(teleporter_hub.panel_open)
- to_chat(user, "Close the hub's maintenance panel first.")
+ to_chat(user, SPAN_NOTICE("Close the hub's maintenance panel first."))
return
if(teleporter_console.target)
engaged = !engaged
use_power(5000)
- visible_message("Teleporter [engaged ? "" : "dis"]engaged!")
+ visible_message(SPAN_NOTICE("Teleporter [engaged ? "" : "dis"]engaged!"))
else
- visible_message("No target detected.")
+ visible_message(SPAN_ALERT("No target detected."))
engaged = FALSE
teleporter_hub.update_icon(UPDATE_ICON_STATE | UPDATE_OVERLAYS)
teleporter_hub.update_lighting()
diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm
index a31ee0140c2..2695d1ec536 100644
--- a/code/game/machinery/transformer.dm
+++ b/code/game/machinery/transformer.dm
@@ -248,7 +248,7 @@
if(!istype(H))
return
if(!ispath(selected_outfit, /datum/outfit))
- to_chat(H, "This equipper is not properly configured! 'selected_outfit': '[selected_outfit]'")
+ to_chat(H, SPAN_WARNING("This equipper is not properly configured! 'selected_outfit': '[selected_outfit]'"))
return
if(prestrip)
@@ -270,7 +270,7 @@
if(!istype(H))
return
if(!ispath(target_species))
- to_chat(H, "'[target_species]' is not a valid species!")
+ to_chat(H, SPAN_WARNING("'[target_species]' is not a valid species!"))
return
H.set_species(target_species)
@@ -302,7 +302,7 @@
if(!istype(H))
return
if(!istype(template))
- to_chat(H, "No genetic template configured!")
+ to_chat(H, SPAN_WARNING("No genetic template configured!"))
return
var/prev_ue = H.dna.unique_enzymes
H.set_species(template.species.type)
@@ -316,14 +316,14 @@
/obj/machinery/transformer/gene_applier/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/disk/data))
if(locked)
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_WARNING("Access Denied."))
return ITEM_INTERACT_COMPLETE
var/obj/item/disk/data/D = used
if(!D.buf)
- to_chat(user, "Error: No data found.")
+ to_chat(user, SPAN_WARNING("Error: No data found."))
return ITEM_INTERACT_COMPLETE
template = D.buf.dna.Clone()
- to_chat(user, "Upload of gene template for '[template.real_name]' complete!")
+ to_chat(user, SPAN_NOTICE("Upload of gene template for '[template.real_name]' complete!"))
return ITEM_INTERACT_COMPLETE
return ..()
diff --git a/code/game/machinery/turret_control.dm b/code/game/machinery/turret_control.dm
index 708e7efc987..ce291ae9bc6 100644
--- a/code/game/machinery/turret_control.dm
+++ b/code/game/machinery/turret_control.dm
@@ -86,7 +86,7 @@
/obj/machinery/turretid/proc/isLocked(mob/user)
if(isrobot(user) || is_ai(user))
if(ailock)
- to_chat(user, "There seems to be a firewall preventing you from accessing this device.")
+ to_chat(user, SPAN_NOTICE("There seems to be a firewall preventing you from accessing this device."))
return TRUE
else
return FALSE
@@ -109,17 +109,17 @@
if(istype(used, /obj/item/card/id)||istype(used, /obj/item/pda))
if(src.allowed(usr))
if(emagged)
- to_chat(user, "The turret control is unresponsive.")
+ to_chat(user, SPAN_NOTICE("The turret control is unresponsive."))
else
locked = !locked
- to_chat(user, "You [ locked ? "lock" : "unlock"] the panel.")
+ to_chat(user, SPAN_NOTICE("You [ locked ? "lock" : "unlock"] the panel."))
return ITEM_INTERACT_COMPLETE
return ..()
/obj/machinery/turretid/emag_act(user as mob)
if(!emagged)
- to_chat(user, "You short out the turret controls' access analysis module.")
+ to_chat(user, SPAN_DANGER("You short out the turret controls' access analysis module."))
emagged = TRUE
locked = FALSE
ailock = FALSE
diff --git a/code/game/machinery/vendors/contraband_vendors.dm b/code/game/machinery/vendors/contraband_vendors.dm
index b3e19cb7f5e..e77e481a303 100644
--- a/code/game/machinery/vendors/contraband_vendors.dm
+++ b/code/game/machinery/vendors/contraband_vendors.dm
@@ -187,16 +187,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/economy/vending/wallmed/syndicate, 32
/obj/machinery/economy/vending/toyliberationstation/secured/crowbar_act(mob/user, obj/item/I)
if(tilted)
- to_chat(user, "The fastening bolts aren't on the ground, you'll need to right it first!")
+ to_chat(user, SPAN_WARNING("The fastening bolts aren't on the ground, you'll need to right it first!"))
return
if(!I.use_tool(src, user, 0, volume = 0))
return
- to_chat(user, "You are unable to remove the electronics from the vendor!")
+ to_chat(user, SPAN_WARNING("You are unable to remove the electronics from the vendor!"))
/obj/machinery/economy/vending/toyliberationstation/secured/wrench_act(mob/user, obj/item/I)
if(tilted)
- to_chat(user, "The fastening bolts aren't on the ground, you'll need to right it first!")
+ to_chat(user, SPAN_WARNING("The fastening bolts aren't on the ground, you'll need to right it first!"))
return
if(!I.use_tool(src, user, 0, volume = 0))
return
- to_chat(user, "You are unable to loosen the bolts!")
+ to_chat(user, SPAN_WARNING("You are unable to loosen the bolts!"))
diff --git a/code/game/machinery/vendors/custom_vendors.dm b/code/game/machinery/vendors/custom_vendors.dm
index 6060fb1e9f8..04e20ac3cae 100644
--- a/code/game/machinery/vendors/custom_vendors.dm
+++ b/code/game/machinery/vendors/custom_vendors.dm
@@ -32,7 +32,7 @@
return ..()
if((isnull(linked_pos) || locked(user) != VENDOR_LOCKED) && istype(used, /obj/item/eftpos))
- visible_message("[src] beeps as [user] links it to [used].", "You hear something beep.")
+ visible_message(SPAN_NOTICE("[src] beeps as [user] links it to [used]."), SPAN_NOTICE("You hear something beep."))
if(!isnull(linked_pos))
linked_pos.linked_vendors -= src
linked_pos = used
@@ -40,7 +40,7 @@
pos.linked_vendors += src
return ITEM_INTERACT_COMPLETE
else if(isnull(linked_pos))
- to_chat(user, "You need to link a point of sale device first!")
+ to_chat(user, SPAN_WARNING("You need to link a point of sale device first!"))
return ITEM_INTERACT_COMPLETE
else if(locked(user) == VENDOR_LOCKED)
return ..()
@@ -51,21 +51,21 @@
/// Tries to add something to the vendor. can_wait returns INSERT_NEEDS_INPUT if it would wait for user input, quiet suppresses success messages, and bag is used when the item is being transferred from a storage item.
/obj/machinery/economy/vending/custom/proc/try_add_stock(mob/living/user, obj/item/used, can_wait = TRUE, quiet = FALSE, obj/item/storage/bag = null)
if(istype(used, /obj/item/holder))
- to_chat(user, "[used] wriggles out of your hands!")
+ to_chat(user, SPAN_WARNING("[used] wriggles out of your hands!"))
user.drop_item_to_ground(used)
return INSERT_FAIL
if(isnull(bag) && !user.canUnEquip(used, FALSE))
- to_chat(user, "\The [used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("\The [used] is stuck to your hand!"))
return INSERT_FAIL
else if(bag)
if(!Adjacent(user))
- to_chat(user, "You can't reach [src] from here!")
+ to_chat(user, SPAN_WARNING("You can't reach [src] from here!"))
return INSERT_FAIL
if(!user.is_holding(bag))
- to_chat(user, "\The [bag] isn't in your hand anymore!")
+ to_chat(user, SPAN_WARNING("\The [bag] isn't in your hand anymore!"))
return INSERT_FAIL
if(used.loc != bag)
- to_chat(user, "\The [used] isn't in [bag] anymore!")
+ to_chat(user, SPAN_WARNING("\The [used] isn't in [bag] anymore!"))
return INSERT_FAIL
for(var/datum/data/vending_product/physical/record in physical_product_records)
@@ -82,7 +82,7 @@
bag.remove_from_storage(used)
used.forceMove(src)
if(!quiet)
- user.visible_message("[user] puts [used] into [src].", "")
+ user.visible_message(SPAN_NOTICE("[user] puts [used] into [src]."), "")
return INSERT_DONE
if(!can_wait)
@@ -92,21 +92,21 @@
if(!isnum(price))
return INSERT_FAIL
if(!Adjacent(user))
- to_chat(user, "You can't reach [src] from here!")
+ to_chat(user, SPAN_WARNING("You can't reach [src] from here!"))
return INSERT_FAIL
if(isnull(bag))
if(!user.is_holding(used))
- to_chat(user, "\The [used] isn't in your hand anymore!")
+ to_chat(user, SPAN_WARNING("\The [used] isn't in your hand anymore!"))
return INSERT_FAIL
if(!user.canUnEquip(used, FALSE))
- to_chat(user, "\The [used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("\The [used] is stuck to your hand!"))
return INSERT_FAIL
else
if(!user.is_holding(bag))
- to_chat(user, "\The [bag] isn't in your hand anymore!")
+ to_chat(user, SPAN_WARNING("\The [bag] isn't in your hand anymore!"))
return INSERT_FAIL
if(used.loc != bag)
- to_chat(user, "\The [used] isn't in [bag] anymore!")
+ to_chat(user, SPAN_WARNING("\The [used] isn't in [bag] anymore!"))
return INSERT_FAIL
var/datum/data/vending_product/physical/record = new(used.name, used.icon, used.icon_state)
@@ -120,7 +120,7 @@
bag.remove_from_storage(used)
used.forceMove(src)
if(!quiet)
- user.visible_message("[user] puts [used] into [src].", "You put [used] into [src].")
+ user.visible_message(SPAN_NOTICE("[user] puts [used] into [src]."), SPAN_NOTICE("You put [used] into [src]."))
return INSERT_DONE
/obj/machinery/economy/vending/custom/MouseDrop_T(atom/dragged, mob/user, params)
@@ -141,7 +141,7 @@
// result == INSERT_NEEDS_INPUT
if(inserted)
- user.visible_message("[user] transfers some things from [bag] into [src].", "You transfer some things from [bag] into [src].")
+ user.visible_message(SPAN_NOTICE("[user] transfers some things from [bag] into [src]."), SPAN_NOTICE("You transfer some things from [bag] into [src]."))
// We've reported on our insertions so far, don't repeat it.
inserted = FALSE
@@ -151,19 +151,19 @@
break
if(inserted)
- user.visible_message("[user] transfers everything from [bag] into [src].", "You transfer everything from [bag] into [src].")
+ user.visible_message(SPAN_NOTICE("[user] transfers everything from [bag] into [src]."), SPAN_NOTICE("You transfer everything from [bag] into [src]."))
return TRUE
/obj/machinery/economy/vending/custom/crowbar_act(mob/user, obj/item/I)
if(!isnull(linked_pos) && locked(user) == VENDOR_LOCKED)
- user.visible_message("[user] tries to pry [src] apart, but fails.", "The lock on [src] resists your efforts to pry it apart.")
+ user.visible_message(SPAN_NOTICE("[user] tries to pry [src] apart, but fails."), SPAN_WARNING("The lock on [src] resists your efforts to pry it apart."))
return TRUE
return ..()
/obj/machinery/economy/vending/custom/wrench_act(mob/user, obj/item/I)
if(!isnull(linked_pos) && locked(user) == VENDOR_LOCKED)
- user.visible_message("[user] tries to loosen the bolts on [src], but fails.", "The lock on [src] is covering its bolts.")
+ user.visible_message(SPAN_NOTICE("[user] tries to loosen the bolts on [src], but fails."), SPAN_WARNING("The lock on [src] is covering its bolts."))
return TRUE
return ..()
diff --git a/code/game/machinery/vendors/generic_vendors.dm b/code/game/machinery/vendors/generic_vendors.dm
index 5a44b31aaef..7e54425f65e 100644
--- a/code/game/machinery/vendors/generic_vendors.dm
+++ b/code/game/machinery/vendors/generic_vendors.dm
@@ -153,7 +153,7 @@
if(!..())
return FALSE
if(!I.is_open_container())
- to_chat(user, "You need to open [I] before inserting it.")
+ to_chat(user, SPAN_WARNING("You need to open [I] before inserting it."))
return FALSE
return TRUE
diff --git a/code/game/machinery/vendors/tilt_crits.dm b/code/game/machinery/vendors/tilt_crits.dm
index f2eaf0a9bef..fabd7036bb9 100644
--- a/code/game/machinery/vendors/tilt_crits.dm
+++ b/code/game/machinery/vendors/tilt_crits.dm
@@ -53,9 +53,9 @@
if(left || right)
victim.visible_message(
- "[victim]'s legs shatter with a sickening crunch!",
- "Your legs shatter with a sickening crunch!",
- "You hear a sickening crunch!"
+ SPAN_DANGER("[victim]'s legs shatter with a sickening crunch!"),
+ SPAN_USERDANGER("Your legs shatter with a sickening crunch!"),
+ SPAN_DANGER("You hear a sickening crunch!")
)
// that's a LOT of damage, let's rebate most of it.
@@ -72,8 +72,8 @@
tilter.forceMove(get_turf(victim))
tilter.buckle_mob(victim, force=TRUE)
victim.visible_message(
- "[victim] gets pinned underneath [tilter]!",
- "You are pinned down by [tilter]!"
+ SPAN_DANGER("[victim] gets pinned underneath [tilter]!"),
+ SPAN_USERDANGER("You are pinned down by [tilter]!")
)
return 0
@@ -95,8 +95,8 @@
/datum/tilt_crit/vendor/embed/tip_crit_effect(obj/machinery/economy/vending/machine, mob/living/carbon/victim, incoming_damage)
victim.visible_message(
- "[machine]'s panel shatters against [victim]!",
- "[machine] lands on you, its panel shattering!"
+ SPAN_DANGER("[machine]'s panel shatters against [victim]!"),
+ SPAN_USERDANGER("[machine] lands on you, its panel shattering!")
)
for(var/i in 1 to machine.num_shards)
@@ -128,7 +128,7 @@
var/obj/item/organ/external/head/H = victim.get_organ("head")
var/obj/item/organ/internal/brain/B = victim.get_int_organ_tag("brain")
if(H)
- victim.visible_message("[H] gets crushed under [tilter], and explodes in a shower of gore!", "Oh f-")
+ victim.visible_message(SPAN_DANGER("[H] gets crushed under [tilter], and explodes in a shower of gore!"), SPAN_USERDANGER("Oh f-"))
var/gibspawner = /obj/effect/gibspawner/human
if(ismachineperson(victim))
gibspawner = /obj/effect/gibspawner/robot
@@ -141,7 +141,7 @@
H.disfigure()
victim.apply_damage(50, BRUTE, BODY_ZONE_HEAD)
else
- H.visible_message("[victim]'s head seems to be crushed under [tilter]...but wait, they had none in the first place!")
+ H.visible_message(SPAN_DANGER("[victim]'s head seems to be crushed under [tilter]...but wait, they had none in the first place!"))
if(B in H)
victim.adjustBrainLoss(80)
@@ -153,8 +153,8 @@
/datum/tilt_crit/lucky/tip_crit_effect(obj/machinery/economy/vending/machine, mob/living/carbon/victim, incoming_damage)
victim.visible_message(
- "[machine] crashes around [victim], but doesn't seem to crush them!",
- "[machine] crashes around you, but only around you! You're fine!"
+ SPAN_DANGER("[machine] crashes around [victim], but doesn't seem to crush them!"),
+ SPAN_USERDANGER("[machine] crashes around you, but only around you! You're fine!")
)
return 1000
diff --git a/code/game/machinery/vendors/vending.dm b/code/game/machinery/vendors/vending.dm
index 9be50fab4df..4bc22b8c748 100644
--- a/code/game/machinery/vendors/vending.dm
+++ b/code/game/machinery/vendors/vending.dm
@@ -269,7 +269,7 @@
/obj/machinery/economy/vending/examine(mob/user)
. = ..()
if(aggressive)
- . += "Its product lights seem to be blinking ominously..."
+ . += SPAN_WARNING("Its product lights seem to be blinking ominously...")
/obj/machinery/economy/vending/RefreshParts() //Better would be to make constructable child
if(!component_parts)
@@ -424,7 +424,7 @@
/obj/machinery/economy/vending/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(tilted)
if(user.a_intent == INTENT_HELP)
- to_chat(user, "[src] is tipped over and non-functional! You'll need to right it first.")
+ to_chat(user, SPAN_WARNING("[src] is tipped over and non-functional! You'll need to right it first."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -432,21 +432,21 @@
insert_cash(used, user)
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/coin))
- to_chat(user, "[src] does not accept coins.")
+ to_chat(user, SPAN_WARNING("[src] does not accept coins."))
return ITEM_INTERACT_COMPLETE
if(refill_canister && istype(used, refill_canister))
if(stat & (BROKEN|NOPOWER))
- to_chat(user, "[src] does not respond.")
+ to_chat(user, SPAN_NOTICE("[src] does not respond."))
return ITEM_INTERACT_COMPLETE
var/obj/item/vending_refill/canister = used
var/transferred = restock(canister)
if(!transferred && !canister.get_part_rating()) // It transferred no products and has no products left, thus it is empty
- to_chat(user, "[canister] is empty!")
+ to_chat(user, SPAN_WARNING("[canister] is empty!"))
else if(transferred) // We transferred some items
- to_chat(user, "You loaded [transferred] items in [src].")
+ to_chat(user, SPAN_NOTICE("You loaded [transferred] items in [src]."))
else // Nothing transferred, parts are still left, nothing to restock!
- to_chat(user, "There's nothing to restock!")
+ to_chat(user, SPAN_WARNING("There's nothing to restock!"))
return ITEM_INTERACT_COMPLETE
if(item_slot_check(user, used))
@@ -461,8 +461,8 @@
var/should_warn = world.time > last_hit_time + hit_warning_cooldown_length
last_hit_time = world.time
if(should_warn)
- visible_message("[src] seems to sway a bit!")
- to_chat(user, "You might want to think twice about doing that again, [src] looks like it could come crashing down!")
+ visible_message(SPAN_WARNING("[src] seems to sway a bit!"))
+ to_chat(user, SPAN_DANGER("You might want to think twice about doing that again, [src] looks like it could come crashing down!"))
return
switch(rand(1, 100))
@@ -481,7 +481,7 @@
/obj/machinery/economy/vending/proc/freebie(mob/user, num_freebies)
- visible_message("[num_freebies] free goodie\s tumble[num_freebies > 1 ? "" : "s"] out of [src]!")
+ visible_message(SPAN_NOTICE("[num_freebies] free goodie\s tumble[num_freebies > 1 ? "" : "s"] out of [src]!"))
for(var/i in 1 to num_freebies)
for(var/datum/data/vending_product/R in shuffle(product_records + physical_product_records))
@@ -501,8 +501,8 @@
if(to_be_tipped.incorporeal_move) // OooOooOoo spooky ghosts
return
AM.visible_message(
- "[src] suddenly topples over onto [AM]!",
- "[src] topples over onto you without warning!"
+ SPAN_DANGER("[src] suddenly topples over onto [AM]!"),
+ SPAN_USERDANGER("[src] topples over onto you without warning!")
)
tilt(AM, prob(5), FALSE)
aggressive = FALSE
@@ -514,7 +514,7 @@
return
. = TRUE
if(tilted)
- to_chat(user, "You'll need to right it first!")
+ to_chat(user, SPAN_WARNING("You'll need to right it first!"))
return
if(seconds_electrified != 0 && shock(user, 100))
return
@@ -523,7 +523,7 @@
/obj/machinery/economy/vending/multitool_act(mob/user, obj/item/I)
. = TRUE
if(tilted)
- to_chat(user, "You'll need to right it first!")
+ to_chat(user, SPAN_WARNING("You'll need to right it first!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -532,7 +532,7 @@
/obj/machinery/economy/vending/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(tilted)
- to_chat(user, "You'll need to right it first!")
+ to_chat(user, SPAN_WARNING("You'll need to right it first!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -551,7 +551,7 @@
/obj/machinery/economy/vending/wirecutter_act(mob/user, obj/item/I)
. = TRUE
if(tilted)
- to_chat(user, "You'll need to right it first!")
+ to_chat(user, SPAN_WARNING("You'll need to right it first!"))
return
if(I.use_tool(src, user, 0, volume = 0))
wires.Interact(user)
@@ -559,7 +559,7 @@
/obj/machinery/economy/vending/wrench_act(mob/user, obj/item/I)
. = TRUE
if(tilted)
- to_chat(user, "The fastening bolts aren't on the ground, you'll need to right it first!")
+ to_chat(user, SPAN_WARNING("The fastening bolts aren't on the ground, you'll need to right it first!"))
return
if(!I.use_tool(src, user, 0, volume = 0))
return
@@ -570,7 +570,7 @@
if(!item_slot)
return FALSE
if(inserted_item)
- to_chat(user, "There is something already inserted!")
+ to_chat(user, SPAN_WARNING("There is something already inserted!"))
return FALSE
return TRUE
@@ -579,7 +579,7 @@
if(!..())
return FALSE
if(!istype(I, /obj/item/toy))
- to_chat(user, "[I] isn't compatible with this machine's slot.")
+ to_chat(user, SPAN_WARNING("[I] isn't compatible with this machine's slot."))
return FALSE
return TRUE
*/
@@ -614,11 +614,11 @@
if(!item_slot || inserted_item)
return
if(!user.drop_item())
- to_chat(user, "[I] is stuck to your hand, you can't seem to put it down!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you can't seem to put it down!"))
return
inserted_item = I
I.forceMove(src)
- to_chat(user, "You insert [I] into [src].")
+ to_chat(user, SPAN_NOTICE("You insert [I] into [src]."))
SStgui.update_uis(src)
/obj/machinery/economy/vending/proc/eject_item(mob/user)
@@ -666,7 +666,7 @@
return
if(tilted)
- to_chat(user, "[src] is tipped over and non-functional! Alt-Click to right it first.")
+ to_chat(user, SPAN_WARNING("[src] is tipped over and non-functional! Alt-Click to right it first."))
return
if(seconds_electrified != 0 && shock(user, 100))
@@ -758,7 +758,7 @@
var/mob/living/user = ui.user
if(issilicon(user) && !isrobot(user))
- to_chat(user, "The vending machine refuses to interface with you, as you are not in its target demographic!")
+ to_chat(user, SPAN_WARNING("The vending machine refuses to interface with you, as you are not in its target demographic!"))
return
switch(action)
if("toggle_voice")
@@ -800,10 +800,10 @@
/obj/machinery/economy/vending/proc/try_vend(key, mob/user)
if(!vend_ready)
- to_chat(user, "The vending machine is busy!")
+ to_chat(user, SPAN_WARNING("The vending machine is busy!"))
return
if(panel_open)
- to_chat(user, "The vending machine cannot dispense products while its service panel is open!")
+ to_chat(user, SPAN_WARNING("The vending machine cannot dispense products while its service panel is open!"))
return
var/list/display_records = product_records + physical_product_records
@@ -849,7 +849,7 @@
var/datum/money_account/vendor_account = get_vendor_account()
if(cash_transaction < currently_vending.price && (isnull(vendor_account) || vendor_account.suspended))
- to_chat(user, "Vendor account offline. Unable to process transaction.")
+ to_chat(user, SPAN_WARNING("Vendor account offline. Unable to process transaction."))
flick(icon_deny, src)
return
@@ -861,7 +861,7 @@
// this is important because it lets people buy stuff with someone else's ID by holding it while using the vendor
paid = pay_with_card(C, currently_vending.price, "Vendor transaction", name, user, vendor_account)
else if(user.can_advanced_admin_interact())
- to_chat(user, "Vending object due to admin interaction.")
+ to_chat(user, SPAN_NOTICE("Vending object due to admin interaction."))
paid = TRUE
else
to_chat(user, "Payment failure: you have no ID or other method of payment.")
@@ -877,7 +877,7 @@
/obj/machinery/economy/vending/proc/vend(datum/data/vending_product/R, mob/user, has_delay = TRUE)
if(!allowed(user) && !user.can_admin_interact() && !emagged && scan_id) //For SECURE VENDING MACHINES YEAH
- to_chat(user, "Access denied.")//Unless emagged of course
+ to_chat(user, SPAN_WARNING("Access denied."))//Unless emagged of course
flick(icon_deny, src)
return
@@ -1011,7 +1011,7 @@
if(!throw_item)
return
throw_item.throw_at(target, 16, 3)
- visible_message("[src] launches [throw_item.name] at [target.name]!")
+ visible_message(SPAN_DANGER("[src] launches [throw_item.name] at [target.name]!"))
/obj/machinery/economy/vending/on_changed_z_level(turf/old_turf, turf/new_turf, notify_contents = FALSE)
// Don't bother notifying contents (for some reason (probably historical reasons (probably for no reason)))
@@ -1063,17 +1063,17 @@
if(!HAS_TRAIT(attacker, TRAIT_PACIFISM))
add_attack_logs(attacker, target, "shoved into a vending machine ([src])")
tilt(target, from_combat = TRUE)
- target.visible_message("[attacker] slams [target] into [src]!", \
- "You get slammed into [src] by [attacker]!", \
- "You hear a loud crunch.")
+ target.visible_message(SPAN_DANGER("[attacker] slams [target] into [src]!"), \
+ SPAN_USERDANGER("You get slammed into [src] by [attacker]!"), \
+ SPAN_DANGER("You hear a loud crunch."))
else if(HAS_TRAIT_FROM(attacker, TRAIT_PACIFISM, GHOST_ROLE)) // should only apply to the ghost bar
add_attack_logs(attacker, target, "shoved into a vending machine ([src]), but flattened themselves.")
tilt(attacker, crit = TRUE, from_anywhere = TRUE) // get fucked
- target.visible_message("[attacker] tries to slam [target] into [src], but falls face first into [src]!", \
- "You get pushed into [src] by [attacker], but narrowly move out of the way as it tips over on top of [attacker]!", \
- "You hear a loud crunch.")
+ target.visible_message(SPAN_WARNING("[attacker] tries to slam [target] into [src], but falls face first into [src]!"), \
+ SPAN_USERDANGER("You get pushed into [src] by [attacker], but narrowly move out of the way as it tips over on top of [attacker]!"), \
+ SPAN_DANGER("You hear a loud crunch."))
else
- attacker.visible_message("[attacker] lightly presses [target] against [src].", "You lightly press [target] against [src], you don't want to hurt [target.p_them()]!")
+ attacker.visible_message(SPAN_NOTICE("[attacker] lightly presses [target] against [src]."), SPAN_WARNING("You lightly press [target] against [src], you don't want to hurt [target.p_them()]!"))
return TRUE
/obj/machinery/economy/vending/hit_by_thrown_mob(mob/living/C, datum/thrownthing/throwingdatum, damage, mob_hurt, self_hurt)
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index 534800a8d10..f42a919fc97 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -58,16 +58,16 @@
/obj/machinery/washing_machine/examine(mob/user)
. = ..()
- . += "Its door is currently [door_open ? "open" : "closed"]."
+ . += SPAN_NOTICE("Its door is currently [door_open ? "open" : "closed"].")
if(washing)
- . += "It is currently in its wash cycle."
+ . += SPAN_NOTICE("It is currently in its wash cycle.")
else
- . += "You can Alt-Click [src] to start its washing cycle."
+ . += SPAN_NOTICE("You can Alt-Click [src] to start its washing cycle.")
if(bloody_mess)
- . += "The inside is covered in blood and gibs, you will need to clean it out with soap first."
+ . += SPAN_WARNING("The inside is covered in blood and gibs, you will need to clean it out with soap first.")
else
var/total_contents = LAZYLEN(inserted_items) + LAZYLEN(inserted_mobs)
- . += "It has [total_contents] item\s inside."
+ . += SPAN_NOTICE("It has [total_contents] item\s inside.")
/obj/machinery/washing_machine/AltClick(mob/user)
if(user.stat != CONSCIOUS || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
@@ -79,7 +79,7 @@
/obj/machinery/washing_machine/attack_hand(mob/user)
if(washing && !door_open)
- to_chat(user, "[src]'s door is shut, you will need to wait until the end of the cycle.")
+ to_chat(user, SPAN_WARNING("[src]'s door is shut, you will need to wait until the end of the cycle."))
return
toggle_door()
@@ -119,22 +119,22 @@
if(!anchored || (stat & BROKEN) || (stat & NOPOWER))
return FALSE
if(!door_open)
- to_chat(user, "[src]'s door is closed!")
+ to_chat(user, SPAN_WARNING("[src]'s door is closed!"))
return FALSE // simply not possible (or is it?)
if(!istype(atom_to_insert) || !istype(user))
return FALSE
if(user.stat != CONSCIOUS || !Adjacent(user) || !atom_to_insert.Adjacent(user))
return FALSE
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
- to_chat(user, "You try to insert [atom_to_insert] into [src] but your hands are blocked!")
+ to_chat(user, SPAN_NOTICE("You try to insert [atom_to_insert] into [src] but your hands are blocked!"))
return FALSE
if(isliving(atom_to_insert)) // not ismob() b/c we only want living creatures, ghosts could just float out of the washing machine whenever they wanted
var/mob/living/sacrifice = atom_to_insert
if(sacrifice.mob_size >= MOB_SIZE_HUMAN) // prevents some most mobs from being washed even if it would be really really funny
- to_chat(user, "You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] too large to fit inside!")
+ to_chat(user, SPAN_NOTICE("You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] too large to fit inside!"))
return FALSE
if(sacrifice.buckled)
- to_chat(user, "You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] still buckled to something!")
+ to_chat(user, SPAN_NOTICE("You try to insert [sacrifice] into [src] but [sacrifice.p_theyre()] still buckled to something!"))
return FALSE
return insert_mob_into_tub(user, sacrifice)
if(isitem(atom_to_insert)) // Restricting this to only item types prevents a lot of issues, you really only wanna shove items in here anyway...
@@ -142,7 +142,7 @@
if(item_to_insert.anchored)
return FALSE
if(item_to_insert.w_class >= WEIGHT_CLASS_HUGE)
- to_chat(user, "You try to insert [item_to_insert] into [src] but [item_to_insert.p_them()] is too large to fit inside!")
+ to_chat(user, SPAN_NOTICE("You try to insert [item_to_insert] into [src] but [item_to_insert.p_them()] is too large to fit inside!"))
return FALSE
return insert_item_into_tub(user, item_to_insert)
@@ -150,9 +150,9 @@
/obj/machinery/washing_machine/proc/insert_mob_into_tub(mob/user, mob/living/mob_to_insert)
var/mob_content_size = mob_to_insert.mob_size
if(max_tub_capacity < (mob_content_size * 2) + current_tub_capacity)
- to_chat(user, "You try to insert [mob_to_insert] into [src] but it is too full for [mob_to_insert.p_them()]!")
+ to_chat(user, SPAN_WARNING("You try to insert [mob_to_insert] into [src] but it is too full for [mob_to_insert.p_them()]!"))
return FALSE
- mob_to_insert.visible_message("[user] starts shoving [mob_to_insert] into [src]!", "[user] starts shoving you into [src]!")
+ mob_to_insert.visible_message(SPAN_WARNING("[user] starts shoving [mob_to_insert] into [src]!"), SPAN_USERDANGER("[user] starts shoving you into [src]!"))
if(!do_after_once(user, (3 SECONDS * mob_content_size), target = src, attempt_cancel_message = "You stop inserting [mob_to_insert] into [src]."))
return FALSE
mob_to_insert.forceMove(src)
@@ -162,20 +162,20 @@
calculate_tub_capacity()
update_washing_state()
add_attack_logs(user, mob_to_insert, "Shoved into washing machine.")
- to_chat(mob_to_insert, "[user] shoves you into [src]. Oh shit!")
- mob_to_insert.visible_message("[user] shoves [mob_to_insert] into [src].", "You shove [mob_to_insert] into [src].")
+ to_chat(mob_to_insert, SPAN_USERDANGER("[user] shoves you into [src]. Oh shit!"))
+ mob_to_insert.visible_message(SPAN_DANGER("[user] shoves [mob_to_insert] into [src]."), SPAN_DANGER("You shove [mob_to_insert] into [src]."))
return TRUE
/// Handles inserting obj/items into the washing machines, checks machines capacity, does a do_after, and then applys appropriate signals and updates machines state
/obj/machinery/washing_machine/proc/insert_item_into_tub(mob/user, obj/item/item_to_insert)
var/item_content_size = item_to_insert.w_class
if(max_tub_capacity < (item_content_size + current_tub_capacity))
- to_chat(user, "You try to insert [item_to_insert] into [src] but [src] is too full for [item_to_insert.p_them()]!")
+ to_chat(user, SPAN_WARNING("You try to insert [item_to_insert] into [src] but [src] is too full for [item_to_insert.p_them()]!"))
return FALSE
if(!do_after_once(user, (1 SECONDS * (item_to_insert.w_class / 3)), target = src, attempt_cancel_message = "You stop inserting [item_to_insert] into [src]."))
return FALSE
if(!user.drop_item())
- to_chat(user, "[item_to_insert] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[item_to_insert] is stuck to your hand!"))
return FALSE
item_to_insert.forceMove(src)
RegisterSignal(item_to_insert, COMSIG_PARENT_QDELETING, PROC_REF(check_tub_contents))
@@ -183,7 +183,7 @@
LAZYADD(inserted_items, item_to_insert)
calculate_tub_capacity()
update_washing_state()
- to_chat(user, "You insert [item_to_insert] into [src].")
+ to_chat(user, SPAN_NOTICE("You insert [item_to_insert] into [src]."))
return TRUE
/*
@@ -337,7 +337,7 @@
/obj/machinery/washing_machine/cleaning_act(mob/user, atom/cleaner, cleanspeed, text_verb, text_description, text_targetname)
if(washing)
- to_chat(user, "[src]'s door is shut, you will need to wait until the end of the cycle to clean it out.")
+ to_chat(user, SPAN_WARNING("[src]'s door is shut, you will need to wait until the end of the cycle to clean it out."))
return
. = ..()
if(. && !washing)
diff --git a/code/game/mecha/equipment/mecha_equipment.dm b/code/game/mecha/equipment/mecha_equipment.dm
index de9c478a294..c078a91435c 100644
--- a/code/game/mecha/equipment/mecha_equipment.dm
+++ b/code/game/mecha/equipment/mecha_equipment.dm
@@ -30,7 +30,7 @@
/obj/item/mecha_parts/mecha_equipment/Destroy()//missiles detonating, teleporter creating singularity?
if(chassis)
- chassis.occupant_message("[src] is destroyed!")
+ chassis.occupant_message(SPAN_DANGER("[src] is destroyed!"))
chassis.log_append_to_last("[src] is destroyed.",1)
SEND_SOUND(chassis.occupant, sound(get_destroy_sound(), volume = 50))
detach(chassis)
diff --git a/code/game/mecha/equipment/tools/janitor_tools.dm b/code/game/mecha/equipment/tools/janitor_tools.dm
index ba3b3143d64..38dce03e8af 100644
--- a/code/game/mecha/equipment/tools/janitor_tools.dm
+++ b/code/game/mecha/equipment/tools/janitor_tools.dm
@@ -43,7 +43,7 @@
/obj/item/mecha_parts/mecha_equipment/janitor/mega_mop/emag_act(mob/user)
. = ..()
emagged = TRUE
- to_chat(user, "You short out the automatic watering system on [src].")
+ to_chat(user, SPAN_WARNING("You short out the automatic watering system on [src]."))
reagents.clear_reagents()
refill_reagent = "lube"
refill_cost = 50
@@ -54,7 +54,7 @@
if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1)
var/obj/structure/reagent_dispensers/watertank/WT = target
WT.reagents.trans_to(src, 1000)
- occupant_message("Mop refilled.")
+ occupant_message(SPAN_NOTICE("Mop refilled."))
playsound(chassis, 'sound/effects/refill.ogg', 50, TRUE, -6)
return
if(reagents.total_volume > 0)
@@ -65,7 +65,7 @@
var/turf/target_turf = get_turf(target)
if(!istype(target_turf) || iswallturf(target_turf))
return
- chassis.occupant.visible_message("[chassis] begins to mop \the [target_turf] with \the [src].", "You begin to mop \the [target_turf] with \the [src].")
+ chassis.occupant.visible_message(SPAN_WARNING("[chassis] begins to mop \the [target_turf] with \the [src]."), SPAN_WARNING("You begin to mop \the [target_turf] with \the [src]."))
if(do_after(chassis.occupant, mop_speed, target = target, allow_moving = 0))
for(var/turf/current_target_turf in view(1, target))
current_target_turf.cleaning_act(chassis.occupant, src, mop_speed, "mop", ".", skip_do_after = TRUE)
@@ -127,7 +127,7 @@
/obj/item/mecha_parts/mecha_equipment/janitor/light_replacer/emag_act(mob/user)
. = ..()
emagged = TRUE
- to_chat(user, "You short out the safeties on [src].")
+ to_chat(user, SPAN_NOTICE("You short out the safeties on [src]."))
/obj/item/mecha_parts/mecha_equipment/janitor/light_replacer/action(atom/target)
if(istype(target, /obj/machinery/light))
@@ -170,7 +170,7 @@
/obj/item/mecha_parts/mecha_equipment/janitor/mega_spray/emag_act(mob/user)
. = ..()
emagged = TRUE
- to_chat(user, "You short out the automatic watering system on [src].")
+ to_chat(user, SPAN_WARNING("You short out the automatic watering system on [src]."))
spray_controller.reagents.clear_reagents()
refill_reagent = "lube"
refill_cost = 50
@@ -178,7 +178,7 @@
/obj/item/mecha_parts/mecha_equipment/janitor/mega_spray/action(atom/target)
if(spray_controller.reagents.total_volume < 15) // Needs at least enough reagents to apply the full spray
- to_chat(chassis.occupant, "*click*")
+ to_chat(chassis.occupant, SPAN_DANGER("*click*"))
playsound(src, 'sound/weapons/empty.ogg', 100, 1)
return
var/direction = get_dir(chassis, target)
@@ -278,14 +278,14 @@
for(var/turf/tested_turf in get_line(chassis, target)) // Check if the path is blocked
if(iswallturf(tested_turf) || locate(/obj/structure/window) in tested_turf || locate(/obj/machinery/door) in tested_turf) // walls, windows, and doors
- chassis.occupant_message("The target is out of reach of the magnet!")
+ chassis.occupant_message(SPAN_WARNING("The target is out of reach of the magnet!"))
return
if(istype(target, /obj/machinery/disposal)) // Emptying stuff into disposals
chassis.occupant.visible_message(
- "[chassis.occupant] empties [src] into the disposal unit.",
- "You empty [src] into disposal unit.",
- "You hear someone emptying something into a disposal unit."
+ SPAN_NOTICE("[chassis.occupant] empties [src] into the disposal unit."),
+ SPAN_NOTICE("You empty [src] into disposal unit."),
+ SPAN_NOTICE("You hear someone emptying something into a disposal unit.")
)
chassis.Beam(target, icon_state = "rped_upgrade", icon = 'icons/effects/effects.dmi', time = 5)
playsound(src, 'sound/items/pshoom.ogg', 40, 1)
diff --git a/code/game/mecha/equipment/tools/mecha_mining_tools.dm b/code/game/mecha/equipment/tools/mecha_mining_tools.dm
index 7b52fc70f01..dd637cf71f5 100644
--- a/code/game/mecha/equipment/tools/mecha_mining_tools.dm
+++ b/code/game/mecha/equipment/tools/mecha_mining_tools.dm
@@ -26,12 +26,12 @@
if(target_obj.resistance_flags & UNACIDABLE)
return
if(is_ancient_rock(target))
- visible_message("This rock appears to be resistant to all mining tools except pickaxes!")
+ visible_message(SPAN_NOTICE("This rock appears to be resistant to all mining tools except pickaxes!"))
return
- target.visible_message("[chassis] starts to drill [target].",
- "[chassis] starts to drill [target]...",
- "You hear drilling.")
+ target.visible_message(SPAN_WARNING("[chassis] starts to drill [target]."),
+ SPAN_USERDANGER("[chassis] starts to drill [target]..."),
+ SPAN_ITALICS("You hear drilling."))
if(do_after_cooldown(target))
set_ready_state(FALSE)
@@ -68,7 +68,7 @@
drill.log_message("Drilled through [src]")
dismantle_wall(TRUE, FALSE)
else
- drill.occupant_message("[src] is too durable to drill through.")
+ drill.occupant_message(SPAN_DANGER("[src] is too durable to drill through."))
/turf/simulated/mineral/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
for(var/turf/simulated/mineral/M in range(drill.chassis, 1))
@@ -96,8 +96,8 @@
return FALSE
/obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/user)
- target.visible_message("[chassis] is drilling [target] with [src]!",
- "[chassis] is drilling you with [src]!")
+ target.visible_message(SPAN_DANGER("[chassis] is drilling [target] with [src]!"),
+ SPAN_USERDANGER("[chassis] is drilling you with [src]!"))
add_attack_logs(user, target, "DRILLED with [src] ([uppertext(user.a_intent)]) ([uppertext(damtype)])")
if(target.stat == DEAD && target.getBruteLoss() >= 200)
add_attack_logs(user, target, "gibbed")
diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm
index 554790534ee..72493d7e64d 100644
--- a/code/game/mecha/equipment/tools/medical_tools.dm
+++ b/code/game/mecha/equipment/tools/medical_tools.dm
@@ -57,8 +57,8 @@
return
if(!patient_insertion_check(target))
return
- occupant_message("You start putting [target] into [src]...")
- chassis.visible_message("[chassis] starts putting [target] into \the [src].")
+ occupant_message(SPAN_NOTICE("You start putting [target] into [src]..."))
+ chassis.visible_message(SPAN_WARNING("[chassis] starts putting [target] into \the [src]."))
if(do_after_cooldown(target))
if(!patient_insertion_check(target))
return
@@ -66,19 +66,19 @@
patient = target
START_PROCESSING(SSobj, src)
update_equip_info()
- occupant_message("[target] successfully loaded into [src]. Life support functions engaged.")
- chassis.visible_message("[chassis] loads [target] into [src].")
+ occupant_message(SPAN_NOTICE("[target] successfully loaded into [src]. Life support functions engaged."))
+ chassis.visible_message(SPAN_WARNING("[chassis] loads [target] into [src]."))
log_message("[target] loaded. Life support functions engaged.")
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/patient_insertion_check(mob/living/carbon/target)
if(target.buckled)
- occupant_message("[target] will not fit into the sleeper because [target.p_they()] [target.p_are()] buckled to [target.buckled]!")
+ occupant_message(SPAN_WARNING("[target] will not fit into the sleeper because [target.p_they()] [target.p_are()] buckled to [target.buckled]!"))
return FALSE
if(target.has_buckled_mobs())
- occupant_message("[target] will not fit into the sleeper because of the creatures attached to it!")
+ occupant_message(SPAN_WARNING("[target] will not fit into the sleeper because of the creatures attached to it!"))
return FALSE
if(patient)
- occupant_message("The sleeper is already occupied!")
+ occupant_message(SPAN_WARNING("The sleeper is already occupied!"))
return FALSE
return TRUE
@@ -94,7 +94,7 @@
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/detach()
if(patient)
- occupant_message("Unable to detach [src] - equipment occupied!")
+ occupant_message(SPAN_WARNING("Unable to detach [src] - equipment occupied!"))
return
STOP_PROCESSING(SSobj, src)
return ..()
@@ -292,10 +292,10 @@
if(mode)
return analyze_reagents(target)
if(!length(syringes))
- occupant_message("No syringes loaded.")
+ occupant_message(SPAN_ALERT("No syringes loaded."))
return
if(reagents.total_volume<=0)
- occupant_message("No available reagents to load syringe with.")
+ occupant_message(SPAN_ALERT("No available reagents to load syringe with."))
return
var/turf/trg = get_turf(target)
var/obj/item/reagent_containers/syringe/mechsyringe = syringes[1]
@@ -324,7 +324,7 @@
var/mob/living/carbon/M = safepick(mobs)
if(M)
var/R
- mechsyringe.visible_message(" [M] was hit by the syringe!")
+ mechsyringe.visible_message(SPAN_ATTACK(" [M] was hit by the syringe!"))
if(M.can_inject(originaloccupant, TRUE, original_target_zone))
if(mechsyringe.reagents)
for(var/datum/reagent/A in mechsyringe.reagents.reagent_list)
@@ -471,7 +471,7 @@
occupant_message("The object is too far away.")
return FALSE
if(!A.reagents || ismob(A))
- occupant_message("No reagent info gained from [A].")
+ occupant_message(SPAN_ALERT("No reagent info gained from [A]."))
return FALSE
occupant_message("Analyzing reagents...")
for(var/datum/reagent/R as anything in A.reagents.reagent_list)
@@ -534,12 +534,12 @@
if(isliving(target)) //interact with living beings
var/mob/living/M = target
if(chassis.occupant.a_intent == INTENT_HARM)//the patented, medical rescue claw is incapable of doing harm. Worry not.
- target.visible_message("[chassis] gently boops [target] on the nose, its hydraulics hissing as safety overrides slow a brutal punch down at the last second.", \
+ target.visible_message(SPAN_NOTICE("[chassis] gently boops [target] on the nose, its hydraulics hissing as safety overrides slow a brutal punch down at the last second."), \
"")
else
push_aside(chassis, M)//out of the way, I have people to save!
- occupant_message("You gently push [target] out of the way.")
- chassis.visible_message("[chassis] gently pushes [target] out of the way.")
+ occupant_message(SPAN_NOTICE("You gently push [target] out of the way."))
+ chassis.visible_message(SPAN_NOTICE("[chassis] gently pushes [target] out of the way."))
/obj/item/mecha_parts/mecha_equipment/medical/rescue_jaw/proc/push_aside(obj/mecha/M, mob/living/L)
switch(get_dir(M, L))
diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm
index 2b99b334a3b..6fab25787f4 100644
--- a/code/game/mecha/equipment/tools/other_tools.dm
+++ b/code/game/mecha/equipment/tools/other_tools.dm
@@ -49,7 +49,7 @@
if(!action_checks(target))
return
if(cooldown_timer > world.time)
- occupant_message("[src] is still recharging.")
+ occupant_message(SPAN_WARNING("[src] is still recharging."))
return
switch(mode)
if(MECH_GRAVCAT_MODE_GRAVSLING)
@@ -411,7 +411,7 @@
return fuel_added
else
- occupant_message("[fuel_name] traces in target minimal! [I] cannot be used as fuel.")
+ occupant_message(SPAN_WARNING("[fuel_name] traces in target minimal! [I] cannot be used as fuel."))
return 0
/obj/item/mecha_parts/mecha_equipment/generator/attackby__legacy__attackchain(weapon,mob/user, params)
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
index 727ac2b662e..9e00f6ba8bb 100644
--- a/code/game/mecha/equipment/tools/work_tools.dm
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -39,17 +39,17 @@
if(istype(target, /obj/machinery/atmospherics/supermatter_crystal)) //No, you can't pick up the SM with this you moron, did you think you were clever?
var/obj/mecha/working/ripley/R = chassis
QDEL_LIST_CONTENTS(R.cargo) //We don't want to drop cargo that just spam hits the SM, let's delete it
- occupant_message("You realise in horror what you have done as [chassis] starts warping around you!")
+ occupant_message(SPAN_USERDANGER("You realise in horror what you have done as [chassis] starts warping around you!"))
chassis.occupant.dust()
target.Bumped(chassis)
return
if(O.anchored)
- occupant_message("[target] is firmly secured!")
+ occupant_message(SPAN_WARNING("[target] is firmly secured!"))
return
if(length(cargo_holder.cargo) >= cargo_holder.cargo_capacity)
- occupant_message("Not enough room in cargo compartment!")
+ occupant_message(SPAN_WARNING("Not enough room in cargo compartment!"))
return
- chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.")
+ chassis.visible_message(SPAN_NOTICE("[chassis] lifts [target] and starts to load it into cargo compartment."))
var/anchor_state_before_load = O.anchored
O.anchored = TRUE
if(!do_after_cooldown(target))
@@ -58,7 +58,7 @@
cargo_holder.cargo += O
O.forceMove(chassis)
O.anchored = FALSE
- occupant_message("[target] was successfully loaded.")
+ occupant_message(SPAN_NOTICE("[target] was successfully loaded."))
log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - length(cargo_holder.cargo)]")
return
@@ -71,15 +71,15 @@
if(!M)
return
M.adjustOxyLoss(round(dam_force/2))
- target.visible_message("[chassis] squeezes [target].", \
- "[chassis] squeezes [target].",\
- "You hear something crack.")
+ target.visible_message(SPAN_DANGER("[chassis] squeezes [target]."), \
+ SPAN_USERDANGER("[chassis] squeezes [target]."),\
+ SPAN_ITALICS("You hear something crack."))
add_attack_logs(chassis.occupant, M, "Squeezed with [src] ([uppertext(chassis.occupant.a_intent)]) ([uppertext(damtype)])")
start_cooldown()
return
step_away(M, chassis)
- occupant_message("You push [target] out of the way.")
- chassis.visible_message("[chassis] pushes [target] out of the way.")
+ occupant_message(SPAN_NOTICE("You push [target] out of the way."))
+ chassis.visible_message(SPAN_NOTICE("[chassis] pushes [target] out of the way."))
//This is pretty much just for the death-ripley
@@ -101,25 +101,25 @@
cargo_holder.cargo += O
O.forceMove(chassis)
O.anchored = FALSE
- occupant_message("[target] successfully loaded.")
+ occupant_message(SPAN_NOTICE("[target] successfully loaded."))
log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - length(cargo_holder.cargo)]")
else
O.anchored = initial(O.anchored)
else
- occupant_message("Not enough room in cargo compartment!")
+ occupant_message(SPAN_WARNING("Not enough room in cargo compartment!"))
else
- occupant_message("[target] is firmly secured!")
+ occupant_message(SPAN_WARNING("[target] is firmly secured!"))
else if(isliving(target))
var/mob/living/M = target
if(M.stat == DEAD) return
if(chassis.occupant.a_intent == INTENT_HARM)
- target.visible_message("[chassis] destroys [target] in an unholy fury.",
- "[chassis] destroys [target] in an unholy fury.")
+ target.visible_message(SPAN_DANGER("[chassis] destroys [target] in an unholy fury."),
+ SPAN_USERDANGER("[chassis] destroys [target] in an unholy fury."))
M.gib()
/*if(chassis.occupant.a_intent == INTENT_DISARM)
- target.visible_message("[chassis] rips [target]'s arms off.",
- "[chassis] rips [target]'s arms off.")*/
+ target.visible_message(SPAN_DANGER("[chassis] rips [target]'s arms off."),
+ SPAN_USERDANGER("[chassis] rips [target]'s arms off."))*/
else
step_away(M,chassis)
target.visible_message("[chassis] tosses [target] like a piece of paper.")
@@ -145,7 +145,7 @@
if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1)
var/obj/structure/reagent_dispensers/watertank/WT = target
WT.reagents.trans_to(src, 1000)
- occupant_message("Extinguisher refilled.")
+ occupant_message(SPAN_NOTICE("Extinguisher refilled."))
playsound(chassis, 'sound/effects/refill.ogg', 50, TRUE, -6)
else
if(reagents.total_volume > 0)
@@ -365,12 +365,12 @@
cable.amount = 0
cable.amount += to_load
target.use(to_load)
- occupant_message("[to_load] meters of cable successfully loaded.")
+ occupant_message(SPAN_NOTICE("[to_load] meters of cable successfully loaded."))
send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
else
- occupant_message("Reel is full.")
+ occupant_message(SPAN_WARNING("Reel is full."))
else
- occupant_message("Unable to load [target] - no cable found.")
+ occupant_message(SPAN_WARNING("Unable to load [target] - no cable found."))
/obj/item/mecha_parts/mecha_equipment/cable_layer/Topic(href,href_list)
diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm
index 05467ae7e6c..01ec8ec765a 100644
--- a/code/game/mecha/equipment/weapons/weapons.dm
+++ b/code/game/mecha/equipment/weapons/weapons.dm
@@ -586,7 +586,7 @@
/obj/item/mecha_parts/mecha_equipment/weapon/energy/mining_grenade/action()
if(!lavaland_equipment_pressure_check(get_turf(chassis)))
- to_chat(chassis.occupant, "ERROR, OVER PRESSURE!") // no station terror(yet)
+ to_chat(chassis.occupant, SPAN_WARNING("ERROR, OVER PRESSURE!")) // no station terror(yet)
playsound(chassis.occupant, 'sound/weapons/gun_interactions/dry_fire.ogg', 25, TRUE)
return FALSE
return ..()
diff --git a/code/game/mecha/janitor/nkarrdem.dm b/code/game/mecha/janitor/nkarrdem.dm
index 44272453c47..5c9842c7d02 100644
--- a/code/game/mecha/janitor/nkarrdem.dm
+++ b/code/game/mecha/janitor/nkarrdem.dm
@@ -31,7 +31,7 @@
. = ..()
if(. && ishuman(H))
if(istype(H.glasses, /obj/item/clothing/glasses/hud))
- occupant_message("[H.glasses] prevent you from using [src]'s built-in janitorial HUD.")
+ occupant_message(SPAN_WARNING("[H.glasses] prevent you from using [src]'s built-in janitorial HUD."))
else
var/datum/atom_hud/data/janitor/jani_hud = GLOB.huds[DATA_HUD_JANITOR]
jani_hud.add_hud_to(H)
diff --git a/code/game/mecha/mech_fabricator.dm b/code/game/mecha/mech_fabricator.dm
index 7c61fe020e6..6bdd0369a25 100644
--- a/code/game/mecha/mech_fabricator.dm
+++ b/code/game/mecha/mech_fabricator.dm
@@ -124,7 +124,7 @@
if(!I.tool_start_check(src, user, 0))
return
output_dir = turn(output_dir, -90)
- to_chat(user, "You change [src] to output to the [dir2text(output_dir)].")
+ to_chat(user, SPAN_NOTICE("You change [src] to output to the [dir2text(output_dir)]."))
/obj/machinery/mecha_part_fabricator/RefreshParts()
var/coef_mats = 0
@@ -305,10 +305,10 @@
*/
/obj/machinery/mecha_part_fabricator/proc/can_insert_materials(mob/user)
if(panel_open)
- to_chat(user, "[src] cannot be loaded with new materials while opened!")
+ to_chat(user, SPAN_WARNING("[src] cannot be loaded with new materials while opened!"))
return FALSE
if(being_built)
- to_chat(user, "[src] is currently building a part! Please wait until completion.")
+ to_chat(user, SPAN_WARNING("[src] is currently building a part! Please wait until completion."))
return FALSE
return TRUE
@@ -328,7 +328,7 @@
if(..())
return
if(!allowed(user) && !isobserver(user))
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return
ui_interact(user)
@@ -460,18 +460,18 @@
if(user_pass == C.network_password)
C.mechfabs += UID()
network_manager_uid = C.UID()
- to_chat(usr, "Successfully linked to [C.network_name].")
+ to_chat(usr, SPAN_NOTICE("Successfully linked to [C.network_name]."))
else
- to_chat(usr, "ERROR: Password incorrect.")
+ to_chat(usr, SPAN_ALERT("ERROR: Password incorrect."))
else
- to_chat(usr, "ERROR: Controller not found. Please file an issue report.")
+ to_chat(usr, SPAN_ALERT("ERROR: Controller not found. Please file an issue report."))
return TRUE
var/datum/research/files = get_files()
if(!files)
- to_chat(usr, "Error - No research network linked.")
+ to_chat(usr, SPAN_DANGER("Error - No research network linked."))
return
. = TRUE
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 43306b36d00..e18b78f271e 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -233,10 +233,10 @@
if(user.incapacitated())
return
if(phasing)
- occupant_message("Unable to interact with objects while phasing.")
+ occupant_message(SPAN_WARNING("Unable to interact with objects while phasing."))
return
if(state)
- occupant_message("Maintenance protocols in effect.")
+ occupant_message(SPAN_WARNING("Maintenance protocols in effect."))
return
if(!get_charge())
return
@@ -256,15 +256,15 @@
if(!target.Adjacent(src))
if(selected && selected.is_ranged())
if(HAS_TRAIT(L, TRAIT_PACIFISM) && selected.harmful)
- to_chat(L, "You don't want to harm other living beings!")
+ to_chat(L, SPAN_WARNING("You don't want to harm other living beings!"))
return
if(user.mind?.martial_art?.no_guns)
- to_chat(L, "[L.mind.martial_art.no_guns_message]")
+ to_chat(L, SPAN_WARNING("[L.mind.martial_art.no_guns_message]"))
return
selected.action(target, params)
else if(selected && selected.is_melee())
if(isliving(target) && selected.harmful && HAS_TRAIT(L, TRAIT_PACIFISM))
- to_chat(user, "You don't want to harm other living beings!")
+ to_chat(user, SPAN_WARNING("You don't want to harm other living beings!"))
return
selected.action(target, params)
else
@@ -307,7 +307,7 @@
if(istype(backup) && movement_dir && !backup.anchored)
if(backup.newtonian_move(turn(movement_dir, 180)))
if(occupant)
- to_chat(occupant, "You push off of [backup] to propel yourself.")
+ to_chat(occupant, SPAN_NOTICE("You push off of [backup] to propel yourself."))
return TRUE
/obj/mecha/relaymove(mob/user, direction)
@@ -315,15 +315,15 @@
return
if(user != occupant) //While not "realistic", this piece is player friendly.
user.forceMove(get_turf(src))
- to_chat(user, "You climb out from [src].")
+ to_chat(user, SPAN_NOTICE("You climb out from [src]."))
return FALSE
if(connected_port)
if(world.time - last_message > 20)
- occupant_message("Unable to move while connected to the air system port!")
+ occupant_message(SPAN_WARNING("Unable to move while connected to the air system port!"))
last_message = world.time
return FALSE
if(state)
- occupant_message("Maintenance protocols in effect.")
+ occupant_message(SPAN_DANGER("Maintenance protocols in effect."))
return
return domove(direction)
@@ -336,18 +336,18 @@
return FALSE
if(defence_mode)
if(world.time - last_message > 20)
- occupant_message("Unable to move while in defence mode.")
+ occupant_message(SPAN_DANGER("Unable to move while in defence mode."))
last_message = world.time
return FALSE
if(zoom_mode)
if(world.time - last_message > 20)
- occupant_message("Unable to move while in zoom mode.")
+ occupant_message(SPAN_DANGER("Unable to move while in zoom mode."))
last_message = world.time
return FALSE
if(thrusters_active && has_gravity(src))
thrusters_active = FALSE
- to_chat(occupant, "Thrusters automatically disabled.")
+ to_chat(occupant, SPAN_NOTICE("Thrusters automatically disabled."))
step_in = initial(step_in)
var/move_result = 0
var/move_type = 0
@@ -511,11 +511,11 @@
internal_damage &= ~int_dam_flag
switch(int_dam_flag)
if(MECHA_INT_TEMP_CONTROL)
- occupant_message("Life support system reactivated.")
+ occupant_message(SPAN_NOTICE("Life support system reactivated."))
if(MECHA_INT_FIRE)
- occupant_message("Internal fire extinquished.")
+ occupant_message(SPAN_NOTICE("Internal fire extinquished."))
if(MECHA_INT_TANK_BREACH)
- occupant_message("Damaged internal tank has been sealed.")
+ occupant_message(SPAN_NOTICE("Damaged internal tank has been sealed."))
diag_hud_set_mechstat()
@@ -540,7 +540,7 @@
damage_amount = 0
spark_system.start()
else
- occupant_message("Shield breached!")
+ occupant_message(SPAN_USERDANGER("Shield breached!"))
shield.on_unequip()
. = ..()
if(. && obj_integrity > 0)
@@ -553,7 +553,7 @@
else
check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT))
if((. >= 5 || prob(33)) && !(. == 1 && leg_overload_mode)) //If it takes 1 damage and leg_overload_mode is true, do not say TAKING DAMAGE! to the user several times a second.
- occupant_message("Taking damage!")
+ occupant_message(SPAN_USERDANGER("Taking damage!"))
log_message("Took [damage_amount] points of damage. Damage type: [damage_type]")
/obj/mecha/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
@@ -580,7 +580,7 @@
booster_damage_modifier /= facing_modifier
booster_deflection_modifier *= facing_modifier
if(prob(deflect_chance * booster_deflection_modifier))
- visible_message("[src]'s armour deflects the attack!")
+ visible_message(SPAN_DANGER("[src]'s armour deflects the attack!"))
log_message("Armor saved.")
return FALSE
if(.)
@@ -590,7 +590,7 @@
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
playsound(loc, 'sound/weapons/tap.ogg', 40, TRUE, -1)
- user.visible_message("[user] hits [name]. Nothing happens", "You hit [name] with no visible effect.")
+ user.visible_message(SPAN_NOTICE("[user] hits [name]. Nothing happens"), SPAN_NOTICE("You hit [name] with no visible effect."))
log_message("Attack by hand/paw. Attacker - [user].")
@@ -667,7 +667,7 @@
log_message("Hit by projectile. Type: [Proj.name]([Proj.flag]).")
add_attack_logs(Proj.firer, OCCUPANT_LOGGING, "shot [Proj.name]([Proj.flag]) at mech [src]")
if(Proj.shield_buster && istype(selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield))
- occupant_message("Shield breached!")
+ occupant_message(SPAN_USERDANGER("Shield breached!"))
selected.on_unequip()
..()
@@ -735,7 +735,7 @@
if(emp_proof)
return
if(istype(selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield))
- occupant_message("Shield breached!")
+ occupant_message(SPAN_USERDANGER("Shield breached!"))
selected.on_unequip()
if(get_charge())
use_power((cell.charge/3)/(severity*2))
@@ -769,9 +769,9 @@
if(!user.drop_item())
return
E.attach(src)
- user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].")
+ user.visible_message("[user] attaches [W] to [src].", SPAN_NOTICE("You attach [W] to [src]."))
else
- to_chat(user, "You were unable to attach [W] to [src]!")
+ to_chat(user, SPAN_WARNING("You were unable to attach [W] to [src]!"))
return
if(W.GetID())
@@ -786,9 +786,9 @@
output_maintenance_dialog(id_card, user)
return
else
- to_chat(user, "Invalid ID: Access denied.")
+ to_chat(user, SPAN_WARNING("Invalid ID: Access denied."))
else
- to_chat(user, "Maintenance protocols disabled by operator.")
+ to_chat(user, SPAN_WARNING("Maintenance protocols disabled by operator."))
else if(istype(W, /obj/item/stack/cable_coil))
if(state == MECHA_OPEN_HATCH && hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
@@ -806,38 +806,38 @@
if(!cell)
if(!user.drop_item())
return
- to_chat(user, "You install the powercell.")
+ to_chat(user, SPAN_NOTICE("You install the powercell."))
W.forceMove(src)
cell = W
log_message("Powercell installed")
if(istype(selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield) && istype(cell, /obj/item/stock_parts/cell/infinite))
- occupant_message("The immense power of the cell overloads the shields.")
+ occupant_message(SPAN_DANGER("The immense power of the cell overloads the shields."))
selected.on_unequip()
else
- to_chat(user, "There's already a powercell installed.")
+ to_chat(user, SPAN_NOTICE("There's already a powercell installed."))
return
else if(istype(W, /obj/item/mecha_parts/mecha_tracking))
if(!user.drop_item_to_ground(W))
- to_chat(user, "\the [W] is stuck to your hand, you cannot put it in \the [src]")
+ to_chat(user, SPAN_NOTICE("\the [W] is stuck to your hand, you cannot put it in \the [src]"))
return
// Check if a tracker exists
var/obj/item/mecha_parts/mecha_tracking/new_tracker = W
for(var/obj/item/mecha_parts/mecha_tracking/current_tracker in trackers)
if(new_tracker.type == current_tracker.type)
- to_chat(user, "This exosuit already has a [current_tracker].")
+ to_chat(user, SPAN_WARNING("This exosuit already has a [current_tracker]."))
user.put_in_hands(new_tracker)
return
trackers -= current_tracker
- to_chat(user, "You remove [current_tracker].")
+ to_chat(user, SPAN_NOTICE("You remove [current_tracker]."))
var/obj/item/mecha_parts/mecha_tracking/duplicate_tracker = new current_tracker.type
user.put_in_hands(duplicate_tracker)
qdel(current_tracker)
new_tracker.forceMove(src)
trackers += W
- user.visible_message("[user] attaches [new_tracker] to [src].", "You attach [new_tracker] to [src].")
+ user.visible_message("[user] attaches [new_tracker] to [src].", SPAN_NOTICE("You attach [new_tracker] to [src]."))
diag_hud_set_mechtracking()
return
@@ -869,13 +869,13 @@
else if(istype(W, /obj/item/mecha_modkit))
if(occupant)
- to_chat(user, "You can't access the mech's modification port while it is occupied.")
+ to_chat(user, SPAN_NOTICE("You can't access the mech's modification port while it is occupied."))
return
var/obj/item/mecha_modkit/M = W
if(do_after_once(user, M.install_time, target = src))
M.install(src, user)
else
- to_chat(user, "You stop installing [M].")
+ to_chat(user, SPAN_NOTICE("You stop installing [M]."))
else
if(W.force)
@@ -896,17 +896,17 @@
state = MECHA_BOLTS_UP
to_chat(user, "You close the hatch to the power unit")
else if(ishuman(occupant))
- user.visible_message("[user] begins levering out the driver from the [src].", "You begin to lever out the driver from the [src].")
- to_chat(occupant, "[user] is prying you out of the exosuit!")
+ user.visible_message(SPAN_NOTICE("[user] begins levering out the driver from the [src]."), SPAN_NOTICE("You begin to lever out the driver from the [src]."))
+ to_chat(occupant, SPAN_WARNING("[user] is prying you out of the exosuit!"))
if(I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume))
- user.visible_message("[user] pries the driver out of the [src]!", "You finish removing the driver from the [src]!")
+ user.visible_message(SPAN_NOTICE("[user] pries the driver out of the [src]!"), SPAN_NOTICE("You finish removing the driver from the [src]!"))
go_out()
else
// Since having maint protocols available is controllable by the MMI, I see this as a consensual way to remove an MMI without destroying the mech
- user.visible_message("[user] begins levering out the MMI from [src].", "You begin to lever out the MMI from [src].")
- to_chat(occupant, "[user] is prying you out of the exosuit!")
+ user.visible_message(SPAN_NOTICE("[user] begins levering out the MMI from [src]."), SPAN_NOTICE("You begin to lever out the MMI from [src]."))
+ to_chat(occupant, SPAN_WARNING("[user] is prying you out of the exosuit!"))
if(I.use_tool(src, user, 8 SECONDS, volume = I.tool_volume) && pilot_is_mmi())
- user.visible_message("[user] pries the MMI out of [src]!", "You finish removing the MMI from [src]!")
+ user.visible_message(SPAN_NOTICE("[user] pries the MMI out of [src]!"), SPAN_NOTICE("You finish removing the MMI from [src]!"))
go_out()
/obj/mecha/screwdriver_act(mob/user, obj/item/I)
@@ -919,16 +919,16 @@
return
if(hasInternalDamage(MECHA_INT_TEMP_CONTROL))
clearInternalDamage(MECHA_INT_TEMP_CONTROL)
- to_chat(user, "You repair the damaged temperature controller.")
+ to_chat(user, SPAN_NOTICE("You repair the damaged temperature controller."))
else if(state == MECHA_OPEN_HATCH && cell)
cell.forceMove(loc)
cell = null
state = MECHA_BATTERY_UNSCREW
- to_chat(user, "You unscrew and pry out the powercell.")
+ to_chat(user, SPAN_NOTICE("You unscrew and pry out the powercell."))
log_message("Powercell removed")
else if(state == MECHA_BATTERY_UNSCREW && cell)
state = MECHA_OPEN_HATCH
- to_chat(user, "You screw the cell in place.")
+ to_chat(user, SPAN_NOTICE("You screw the cell in place."))
/obj/mecha/wrench_act(mob/user, obj/item/I)
if(state != MECHA_MAINT_ON && state != MECHA_BOLTS_UP)
@@ -950,25 +950,25 @@
if(!I.tool_use_check(user, 0))
return
if((obj_integrity >= max_integrity) && !internal_damage)
- to_chat(user, "[src] is at full integrity!")
+ to_chat(user, SPAN_NOTICE("[src] is at full integrity!"))
return
if(repairing)
- to_chat(user, "[src] is currently being repaired!")
+ to_chat(user, SPAN_NOTICE("[src] is currently being repaired!"))
return
if(state == MECHA_MAINT_OFF) // If maint protocols are not active, the state is zero
- to_chat(user, "[src] can not be repaired without maintenance protocols active!")
+ to_chat(user, SPAN_WARNING("[src] can not be repaired without maintenance protocols active!"))
return
WELDER_ATTEMPT_REPAIR_MESSAGE
repairing = TRUE
if(I.use_tool(src, user, 15, volume = I.tool_volume))
if(internal_damage & MECHA_INT_TANK_BREACH)
clearInternalDamage(MECHA_INT_TANK_BREACH)
- user.visible_message("[user] repairs the damaged gas tank.", "You repair the damaged gas tank.")
+ user.visible_message(SPAN_NOTICE("[user] repairs the damaged gas tank."), SPAN_NOTICE("You repair the damaged gas tank."))
else if(obj_integrity < max_integrity)
- user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [name].")
+ user.visible_message(SPAN_NOTICE("[user] repairs some damage to [name]."), SPAN_NOTICE("You repair some damage to [name]."))
obj_integrity += min(10, max_integrity - obj_integrity)
else
- to_chat(user, "[src] is at full integrity!")
+ to_chat(user, SPAN_NOTICE("[src] is at full integrity!"))
repairing = FALSE
/obj/mecha/mech_melee_attack(obj/mecha/M)
@@ -981,9 +981,9 @@
/obj/mecha/emag_act(mob/user)
if(emag_proof)
- to_chat(user, "[src]'s ID slot rejects the card.")
+ to_chat(user, SPAN_WARNING("[src]'s ID slot rejects the card."))
return
- user.visible_message("[user] slides a card through [src]'s id slot.", "You slide the card through [src]'s ID slot, resetting the DNA and access locks.")
+ user.visible_message(SPAN_NOTICE("[user] slides a card through [src]'s id slot."), SPAN_NOTICE("You slide the card through [src]'s ID slot, resetting the DNA and access locks."))
playsound(loc, "sparks", 100, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
dna = null
operation_req_access = list()
@@ -1006,22 +1006,22 @@
to_chat(user, "[B.get_mecha_info_text()]")
break
//Nothing like a big, red link to make the player feel powerful!
- to_chat(user, "ASSUME DIRECT CONTROL?
")
+ to_chat(user, "[SPAN_USERDANGER("ASSUME DIRECT CONTROL?")]
")
else
examine(user)
if(occupant)
- to_chat(user, "This exosuit has a pilot and cannot be controlled.")
+ to_chat(user, SPAN_WARNING("This exosuit has a pilot and cannot be controlled."))
return
var/can_control_mech = FALSE
for(var/obj/item/mecha_parts/mecha_tracking/ai_control/A in trackers)
can_control_mech = TRUE
- to_chat(user, "[bicon(src)] Status of [name]:\n\
+ to_chat(user, "[SPAN_NOTICE("[bicon(src)] Status of [name]:")]\n\
[A.get_mecha_info_text()]")
break
if(!can_control_mech)
- to_chat(user, "You cannot control exosuits without AI control beacons installed.")
+ to_chat(user, SPAN_WARNING("You cannot control exosuits without AI control beacons installed."))
return
- to_chat(user, "Take control of exosuit?
")
+ to_chat(user, "[SPAN_BOLDNOTICE("Take control of exosuit?")]
")
/obj/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card)
if(!..())
@@ -1031,14 +1031,14 @@
switch(interaction)
if(AI_TRANS_TO_CARD) //Upload AI from mech to AI card.
if(!maint_access) //Mech must be in maint mode to allow carding.
- to_chat(user, "[name] must have maintenance protocols active in order to allow a transfer.")
+ to_chat(user, SPAN_WARNING("[name] must have maintenance protocols active in order to allow a transfer."))
return
AI = occupant
if(!AI || !is_ai(occupant)) //Mech does not have an AI for a pilot
- to_chat(user, "No AI detected in the [name] onboard computer.")
+ to_chat(user, SPAN_WARNING("No AI detected in the [name] onboard computer."))
return
if(AI.mind.special_role) //Malf AIs cannot leave mechs. Except through death.
- to_chat(user, "ACCESS DENIED.")
+ to_chat(user, SPAN_BOLDANNOUNCEIC("ACCESS DENIED."))
return
AI.aiRestorePowerRoutine = 0//So the AI initially has power.
AI.control_disabled = TRUE
@@ -1049,31 +1049,31 @@
AI.remote_control = null
icon_state = reset_icon(icon_state)+"-open"
to_chat(AI, "You have been downloaded to a mobile storage device. Wireless connection offline.")
- to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.")
+ to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.")
if(AI_MECH_HACK) //Called by AIs on the mech
AI.linked_core = new /obj/structure/ai_core/deactivated(AI.loc)
if(AI.can_dominate_mechs)
if(occupant) //Oh, I am sorry, were you using that?
to_chat(AI, "Pilot detected! Forced ejection initiated!")
- to_chat(occupant, "You have been forcibly ejected!")
+ to_chat(occupant, SPAN_DANGER("You have been forcibly ejected!"))
go_out(1) //IT IS MINE, NOW. SUCK IT, RD!
ai_enter_mech(AI, interaction)
if(AI_TRANS_FROM_CARD) //Using an AI card to upload to a mech.
AI = locate(/mob/living/silicon/ai) in card
if(!AI)
- to_chat(user, "There is no AI currently installed on this device.")
+ to_chat(user, SPAN_WARNING("There is no AI currently installed on this device."))
return
else if(AI.stat || !AI.client)
- to_chat(user, "[AI.name] is currently unresponsive, and cannot be uploaded.")
+ to_chat(user, SPAN_WARNING("[AI.name] is currently unresponsive, and cannot be uploaded."))
return
else if(occupant || dna) //Normal AIs cannot steal mechs!
to_chat(user, "Access denied. [name] is [occupant ? "currently occupied" : "secured with a DNA lock"].")
return
AI.control_disabled = FALSE
AI.aiRadio.disabledAi = FALSE
- to_chat(user, "Transfer successful: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
+ to_chat(user, "[SPAN_BOLDNOTICE("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
ai_enter_mech(AI, interaction)
//Hack and From Card interactions share some code, so leave that here for both to use.
@@ -1095,9 +1095,9 @@
AI.remote_control = src
AI.reset_perspective(src)
AI.can_shunt = FALSE //ONE AI ENTERS. NO AI LEAVES.
- to_chat(AI, "[AI.can_dominate_mechs ? "Takeover of [name] complete! You are now permanently loaded onto the onboard computer. Do not attempt to leave the station sector!" \
+ to_chat(AI, "[AI.can_dominate_mechs ? SPAN_BOLDNOTICE("Takeover of [name] complete! You are now permanently loaded onto the onboard computer. Do not attempt to leave the station sector!") \
: "You have been uploaded to a mech's onboard computer."]")
- to_chat(AI, "Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions.")
+ to_chat(AI, SPAN_BOLDNOTICE("Use Middle-Mouse to activate mech functions and equipment. Click normally for AI interactions."))
if(interaction == AI_TRANS_FROM_CARD)
GrantActions(AI, FALSE)
else
@@ -1175,7 +1175,7 @@
/obj/mecha/MouseDrop_T(mob/M, mob/user)
if(frozen)
- to_chat(user, "Do not enter Admin-Frozen mechs.")
+ to_chat(user, SPAN_WARNING("Do not enter Admin-Frozen mechs."))
return TRUE
if(user.incapacitated())
return
@@ -1183,7 +1183,7 @@
return
log_message("[user] tries to move in.")
if(occupant)
- to_chat(user, "[src] is already occupied!")
+ to_chat(user, SPAN_WARNING("[src] is already occupied!"))
log_append_to_last("Permission denied.")
return TRUE
var/passed
@@ -1194,15 +1194,15 @@
else if(operation_allowed(user))
passed = TRUE
if(!passed)
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
log_append_to_last("Permission denied.")
return TRUE
if(user.buckled)
- to_chat(user, "You are currently buckled and cannot move.")
+ to_chat(user, SPAN_WARNING("You are currently buckled and cannot move."))
log_append_to_last("Permission denied.")
return TRUE
if(user.has_buckled_mobs()) //mob attached to us
- to_chat(user, "You can't enter the exosuit with other creatures attached to you!")
+ to_chat(user, SPAN_WARNING("You can't enter the exosuit with other creatures attached to you!"))
return TRUE
visible_message("[user] starts to climb into [src]")
@@ -1212,17 +1212,17 @@
/obj/mecha/proc/put_in(mob/user) // need this proc to use INVOKE_ASYNC in other proc. You're not recommended to use that one
if(do_after(user, mech_enter_time, target = src))
if(obj_integrity <= 0)
- to_chat(user, "You cannot get in the [name], it has been destroyed!")
+ to_chat(user, SPAN_WARNING("You cannot get in the [name], it has been destroyed!"))
else if(occupant)
- to_chat(user, "[occupant] was faster! Try better next time, loser.")
+ to_chat(user, SPAN_DANGER("[occupant] was faster! Try better next time, loser."))
else if(user.buckled)
- to_chat(user, "You can't enter the exosuit while buckled.")
+ to_chat(user, SPAN_WARNING("You can't enter the exosuit while buckled."))
else if(user.has_buckled_mobs())
- to_chat(user, "You can't enter the exosuit with other creatures attached to you!")
+ to_chat(user, SPAN_WARNING("You can't enter the exosuit with other creatures attached to you!"))
else
moved_inside(user)
else
- to_chat(user, "You stop entering the exosuit!")
+ to_chat(user, SPAN_WARNING("You stop entering the exosuit!"))
/obj/mecha/proc/moved_inside(mob/living/carbon/human/H as mob)
if(H && H.client && (H in range(1)))
@@ -1252,28 +1252,28 @@
/obj/mecha/proc/mmi_move_inside(obj/item/mmi/mmi_as_oc as obj,mob/user as mob)
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
- to_chat(user, "Consciousness matrix not detected!")
+ to_chat(user, SPAN_WARNING("Consciousness matrix not detected!"))
return FALSE
else if(mmi_as_oc.brainmob.stat)
- to_chat(user, "Beta-rhythm below acceptable level!")
+ to_chat(user, SPAN_WARNING("Beta-rhythm below acceptable level!"))
return FALSE
else if(occupant)
- to_chat(user, "Occupant detected!")
+ to_chat(user, SPAN_WARNING("Occupant detected!"))
return FALSE
else if(dna && dna != mmi_as_oc.brainmob.dna.unique_enzymes)
- to_chat(user, "Access denied. [name] is secured with a DNA lock.")
+ to_chat(user, SPAN_WARNING("Access denied. [name] is secured with a DNA lock."))
return FALSE
else if(!operation_allowed(user))
- to_chat(user, "Access denied. [name] is secured with an ID lock.")
+ to_chat(user, SPAN_WARNING("Access denied. [name] is secured with an ID lock."))
return FALSE
if(do_after(user, 4 SECONDS, target = src))
if(!occupant)
return mmi_moved_inside(mmi_as_oc,user)
else
- to_chat(user, "Occupant detected!")
+ to_chat(user, SPAN_WARNING("Occupant detected!"))
else
- to_chat(user, "You stop inserting the MMI.")
+ to_chat(user, SPAN_NOTICE("You stop inserting the MMI."))
return FALSE
/obj/mecha/proc/mmi_moved_inside(obj/item/mmi/mmi_as_oc, mob/user)
@@ -1285,7 +1285,7 @@
to_chat(user, "Beta-rhythm below acceptable level.")
return FALSE
if(!user.drop_item_to_ground(mmi_as_oc))
- to_chat(user, "\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]")
+ to_chat(user, SPAN_NOTICE("\the [mmi_as_oc] is stuck to your hand, you cannot put it in \the [src]"))
return FALSE
var/mob/living/brain/brainmob = mmi_as_oc.brainmob
brainmob.reset_perspective(src)
@@ -1294,7 +1294,7 @@
if(istype(mmi_as_oc, /obj/item/mmi/robotic_brain))
var/obj/item/mmi/robotic_brain/R = mmi_as_oc
if(R.imprinted_master)
- to_chat(brainmob, "Your imprint to [R.imprinted_master] has been temporarily disabled. You should help the crew and not commit harm.")
+ to_chat(brainmob, SPAN_BIGGERDANGER("Your imprint to [R.imprinted_master] has been temporarily disabled. You should help the crew and not commit harm."))
mmi_as_oc.loc = src
mmi_as_oc.mecha = src
Entered(mmi_as_oc)
@@ -1353,10 +1353,10 @@
return
else
if(!AI.linked_core || QDELETED(AI.linked_core))
- to_chat(AI, "Inactive core destroyed. Unable to return.")
+ to_chat(AI, SPAN_USERDANGER("Inactive core destroyed. Unable to return."))
AI.linked_core = null
return
- to_chat(AI, "Returning to core...")
+ to_chat(AI, SPAN_NOTICE("Returning to core..."))
AI.controlled_mech = null
if(istype(AI.eyeobj))
AI.remote_control = AI.eyeobj
@@ -1386,7 +1386,7 @@
if(istype(mmi, /obj/item/mmi/robotic_brain))
var/obj/item/mmi/robotic_brain/R = mmi
if(R.imprinted_master)
- to_chat(L, "Imprint re-enabled, you are once again bound to [R.imprinted_master]'s commands.")
+ to_chat(L, SPAN_NOTICE("Imprint re-enabled, you are once again bound to [R.imprinted_master]'s commands."))
icon_state = reset_icon(icon_state)+"-open"
dir = dir_in
@@ -1406,8 +1406,8 @@
/obj/mecha/proc/get_out_and_die()
var/mob/living/pilot = occupant
pilot.visible_message(
- "[src] is hit by a hyperspace ripple!",
- "You feel an immense crushing pressure as the space around you ripples."
+ SPAN_WARNING("[src] is hit by a hyperspace ripple!"),
+ SPAN_USERDANGER("You feel an immense crushing pressure as the space around you ripples.")
)
go_out(TRUE)
if(iscarbon(pilot))
@@ -1683,7 +1683,7 @@
var/obj/item/mecha_parts/mecha_equipment/new_sel = LAZYACCESS(choices_to_refs, choice)
if(istype(new_sel))
selected = new_sel
- occupant_message("You switch to [selected].")
+ occupant_message(SPAN_NOTICE("You switch to [selected]."))
visible_message("[src] raises [selected]")
send_byjax(occupant, "exosuit.browser", "eq_list", get_equipment_list())
diff --git a/code/game/mecha/mecha_actions.dm b/code/game/mecha/mecha_actions.dm
index 6f4cdbe1002..c6b307ebfc4 100644
--- a/code/game/mecha/mecha_actions.dm
+++ b/code/game/mecha/mecha_actions.dm
@@ -98,10 +98,10 @@
button_icon_state = "mech_defense_mode_[chassis.defence_mode ? "on" : "off"]"
if(chassis.defence_mode)
chassis.deflect_chance = chassis.defence_mode_deflect_chance
- chassis.occupant_message("You enable [chassis] defence mode.")
+ chassis.occupant_message(SPAN_NOTICE("You enable [chassis] defence mode."))
else
chassis.deflect_chance = initial(chassis.deflect_chance)
- chassis.occupant_message("You disable [chassis] defence mode.")
+ chassis.occupant_message(SPAN_DANGER("You disable [chassis] defence mode."))
chassis.log_message("Toggled defence mode.")
build_all_button_icons()
@@ -113,7 +113,7 @@
if(!owner || !chassis || chassis.occupant != owner)
return
if(chassis.obj_integrity < chassis.max_integrity - chassis.max_integrity / 3)
- chassis.occupant_message("The leg actuators are too damaged to overload!")
+ chassis.occupant_message(SPAN_DANGER("The leg actuators are too damaged to overload!"))
return // Can't activate them if the mech is too damaged
if(!isnull(forced_state))
chassis.leg_overload_mode = forced_state
@@ -126,15 +126,15 @@
// chassis.bumpsmash = 1
chassis.step_in = min(1, round(chassis.step_in / 2))
chassis.step_energy_drain = max(chassis.overload_step_energy_drain_min, chassis.step_energy_drain * chassis.leg_overload_coeff)
- chassis.occupant_message("You enable leg actuators overload.")
+ chassis.occupant_message(SPAN_DANGER("You enable leg actuators overload."))
if(istype(chassis.selected, /obj/item/mecha_parts/mecha_equipment/pulse_shield))
- chassis.occupant_message("Your shields turn off as your actuators overload.")
+ chassis.occupant_message(SPAN_DANGER("Your shields turn off as your actuators overload."))
else
chassis.leg_overload_mode = 0
// chassis.bumpsmash = 0
chassis.step_in = initial(chassis.step_in)
chassis.step_energy_drain = chassis.normal_step_energy_drain
- chassis.occupant_message("You disable leg actuators overload.")
+ chassis.occupant_message(SPAN_NOTICE("You disable leg actuators overload."))
build_all_button_icons()
chassis.update_icon(UPDATE_OVERLAYS)
@@ -167,7 +167,7 @@
spawn(chassis.smoke_cooldown)
chassis.smoke_ready = 1
else
- chassis.occupant_message("You are either out of smoke, or the smoke isn't ready yet.")
+ chassis.occupant_message(SPAN_WARNING("You are either out of smoke, or the smoke isn't ready yet."))
/datum/action/innate/mecha/mech_zoom
name = "Zoom"
@@ -238,7 +238,7 @@
else
chassis.floor_buffer = FALSE
chassis.step_in -= chassis.buffer_delay
- to_chat(usr, "The floor buffer is now [chassis.floor_buffer ? "active" : "deactivated"].")
+ to_chat(usr, SPAN_NOTICE("The floor buffer is now [chassis.floor_buffer ? "active" : "deactivated"]."))
/datum/action/innate/mecha/select_module
name = "Hey, you shouldn't see this please make a bug report"
@@ -260,6 +260,6 @@
chassis.selected.on_unequip()
chassis.selected = equipment
chassis.selected.on_equip()
- chassis.occupant_message("You switch to [equipment.name].")
+ chassis.occupant_message(SPAN_NOTICE("You switch to [equipment.name]."))
chassis.visible_message("[chassis] raises [equipment.name]")
send_byjax(chassis.occupant, "exosuit.browser", "eq_list", chassis.get_equipment_list())
diff --git a/code/game/mecha/mecha_construction_paths.dm b/code/game/mecha/mecha_construction_paths.dm
index 4475574cab6..c5b781da7d1 100644
--- a/code/game/mecha/mecha_construction_paths.dm
+++ b/code/game/mecha/mecha_construction_paths.dm
@@ -411,93 +411,93 @@
//TODO: better messages.
switch(index)
if(20)
- user.visible_message("[user] connects the [holder] hydraulic systems", "You connect the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] connects the [holder] hydraulic systems"), SPAN_NOTICE("You connect the [holder] hydraulic systems."))
holder.icon_state = "gygax1"
if(19)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] activates the [holder] hydraulic systems.", "You activate the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] activates the [holder] hydraulic systems."), SPAN_NOTICE("You activate the [holder] hydraulic systems."))
holder.icon_state = "gygax2"
else
- user.visible_message("[user] disconnects the [holder] hydraulic systems.", "You disconnect the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] disconnects the [holder] hydraulic systems."), SPAN_NOTICE("You disconnect the [holder] hydraulic systems."))
holder.icon_state = "gygax0"
if(18)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] adds the wiring to the [holder].", "You add the wiring to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] adds the wiring to the [holder]."), SPAN_NOTICE("You add the wiring to the [holder]."))
holder.icon_state = "gygax3"
else
- user.visible_message("[user] deactivates the [holder] hydraulic systems.", "You deactivate the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] deactivates the [holder] hydraulic systems."), SPAN_NOTICE("You deactivate the [holder] hydraulic systems."))
holder.icon_state = "gygax1"
if(17)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] adjusts the wiring of the [holder].", "You adjust the wiring of the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] adjusts the wiring of the [holder]."), SPAN_NOTICE("You adjust the wiring of the [holder]."))
holder.icon_state = "gygax4"
else
- user.visible_message("[user] removes the wiring from the [holder].", "You remove the wiring from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the wiring from the [holder]."), SPAN_NOTICE("You remove the wiring from the [holder]."))
var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "gygax2"
if(16)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the central control module into the [holder].", "You install the central computer mainboard into the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the central control module into the [holder]."), SPAN_NOTICE("You install the central computer mainboard into the [holder]."))
qdel(used_atom)
holder.icon_state = "gygax5"
else
- user.visible_message("[user] disconnects the wiring of the [holder].", "You disconnect the wiring of the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] disconnects the wiring of the [holder]."), SPAN_NOTICE("You disconnect the wiring of the [holder]."))
holder.icon_state = "gygax3"
if(15)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
+ user.visible_message(SPAN_NOTICE("[user] secures the mainboard."), SPAN_NOTICE("You secure the mainboard."))
holder.icon_state = "gygax6"
else
- user.visible_message("[user] removes the central control module from the [holder].", "You remove the central computer mainboard from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the central control module from the [holder]."), SPAN_NOTICE("You remove the central computer mainboard from the [holder]."))
new /obj/item/circuitboard/mecha/gygax/main(get_turf(holder))
holder.icon_state = "gygax4"
if(14)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the peripherals control module into the [holder]."), SPAN_NOTICE("You install the peripherals control module into the [holder]."))
qdel(used_atom)
holder.icon_state = "gygax7"
else
- user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the mainboard."), SPAN_NOTICE("You unfasten the mainboard."))
holder.icon_state = "gygax5"
if(13)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
+ user.visible_message(SPAN_NOTICE("[user] secures the peripherals control module."), SPAN_NOTICE("You secure the peripherals control module."))
holder.icon_state = "gygax8"
else
- user.visible_message("[user] removes the peripherals control module from the [holder].", "You remove the peripherals control module from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the peripherals control module from the [holder]."), SPAN_NOTICE("You remove the peripherals control module from the [holder]."))
new /obj/item/circuitboard/mecha/gygax/peripherals(get_turf(holder))
holder.icon_state = "gygax6"
if(12)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the weapon control module into the [holder]."), SPAN_NOTICE("You install the weapon control module into the [holder]."))
qdel(used_atom)
holder.icon_state = "gygax9"
else
- user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the peripherals control module."), SPAN_NOTICE("You unfasten the peripherals control module."))
holder.icon_state = "gygax7"
if(11)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.")
+ user.visible_message(SPAN_NOTICE("[user] secures the weapon control module."), SPAN_NOTICE("You secure the weapon control module."))
holder.icon_state = "gygax10"
else
- user.visible_message("[user] removes the weapon control module from the [holder].", "You remove the weapon control module from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the weapon control module from the [holder]."), SPAN_NOTICE("You remove the weapon control module from the [holder]."))
new /obj/item/circuitboard/mecha/gygax/targeting(get_turf(holder))
holder.icon_state = "gygax8"
if(10)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs advanced scanner module to the [holder].", "You install advanced scanner module to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs advanced scanner module to the [holder]."), SPAN_NOTICE("You install advanced scanner module to the [holder]."))
qdel(used_atom)
holder.icon_state = "gygax11"
else
- user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the weapon control module."), SPAN_NOTICE("You unfasten the weapon control module."))
holder.icon_state = "gygax9"
if(9)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the advanced scanner module.", "You secure the advanced scanner module.")
+ user.visible_message(SPAN_NOTICE("[user] secures the advanced scanner module."), SPAN_NOTICE("You secure the advanced scanner module."))
holder.icon_state = "gygax12"
else
- user.visible_message("[user] removes the advanced scanner module from the [holder].", "You remove the advanced scanner module from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the advanced scanner module from the [holder]."), SPAN_NOTICE("You remove the advanced scanner module from the [holder]."))
new /obj/item/stock_parts/scanning_module/adv(get_turf(holder))
holder.icon_state = "gygax10"
if(8)
@@ -506,60 +506,60 @@
qdel(used_atom)
holder.icon_state = "gygax13"
else
- user.visible_message("[user] unfastens the advanced scanner module.", "You unfasten the advanced scanner module.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the advanced scanner module."), SPAN_NOTICE("You unfasten the advanced scanner module."))
holder.icon_state = "gygax11"
if(7)
if(diff == CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the mech power core.", "You secure the mech power core.")
+ user.visible_message(SPAN_NOTICE("[user] secures the mech power core."), SPAN_NOTICE("You secure the mech power core."))
holder.icon_state = "gygax14"
else
- user.visible_message("[user] removes the mech power core from the [holder].", "You remove the mech power core from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the mech power core from the [holder]."), SPAN_NOTICE("You remove the mech power core from the [holder]."))
new /obj/item/mecha_parts/core(get_turf(holder))
holder.icon_state = "gygax12"
if(6)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the internal armor layer to the [holder].", "You install the internal armor layer to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the internal armor layer to the [holder]."), SPAN_NOTICE("You install the internal armor layer to the [holder]."))
holder.icon_state = "gygax15"
else
- user.visible_message("[user] unfastens the advanced capacitor.", "You unfasten the advanced capacitor.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the advanced capacitor."), SPAN_NOTICE("You unfasten the advanced capacitor."))
holder.icon_state = "gygax13"
if(5)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.")
+ user.visible_message(SPAN_NOTICE("[user] secures the internal armor layer."), SPAN_NOTICE("You secure the internal armor layer."))
holder.icon_state = "gygax16"
else
- user.visible_message("[user] pries the internal armor layer from the [holder].", "You pry the internal armor layer from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] pries the internal armor layer from the [holder]."), SPAN_NOTICE("You pry the internal armor layer from the [holder]."))
var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder))
MS.amount = 5
holder.icon_state = "gygax14"
if(4)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] welds the internal armor layer to the [holder].", "You weld the internal armor layer to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] welds the internal armor layer to the [holder]."), SPAN_NOTICE("You weld the internal armor layer to the [holder]."))
holder.icon_state = "gygax17"
else
- user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the internal armor layer."), SPAN_NOTICE("You unfasten the internal armor layer."))
holder.icon_state = "gygax15"
if(3)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the Gygax Armor Plates to the [holder].", "You install the Gygax Armor Plates to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the Gygax Armor Plates to the [holder]."), SPAN_NOTICE("You install the Gygax Armor Plates to the [holder]."))
qdel(used_atom)
holder.icon_state = "gygax18"
else
- user.visible_message("[user] cuts the internal armor layer from the [holder].", "You cut the internal armor layer from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] cuts the internal armor layer from the [holder]."), SPAN_NOTICE("You cut the internal armor layer from the [holder]."))
holder.icon_state = "gygax16"
if(2)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the Gygax Armor Plates.", "You secure the Gygax Armor Plates.")
+ user.visible_message(SPAN_NOTICE("[user] secures the Gygax Armor Plates."), SPAN_NOTICE("You secure the Gygax Armor Plates."))
holder.icon_state = "gygax19"
else
- user.visible_message("[user] pries the Gygax Armor Plates from the [holder].", "You pry the Gygax Armor Plates from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] pries the Gygax Armor Plates from the [holder]."), SPAN_NOTICE("You pry the Gygax Armor Plates from the [holder]."))
new /obj/item/mecha_parts/part/gygax_armour(get_turf(holder))
holder.icon_state = "gygax17"
if(1)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] welds the Gygax Armor Plates to the [holder].", "You weld the Gygax Armor Plates to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] welds the Gygax Armor Plates to the [holder]."), SPAN_NOTICE("You weld the Gygax Armor Plates to the [holder]."))
else
- user.visible_message("[user] unfastens the Gygax Armor Plates.", "You unfasten the Gygax Armor Plates.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the Gygax Armor Plates."), SPAN_NOTICE("You unfasten the Gygax Armor Plates."))
holder.icon_state = "gygax18"
return 1
@@ -922,28 +922,28 @@
if(istype(used_atom, /obj/effect/dummy/mecha_emote_step))
var/obj/effect/dummy/mecha_emote_step/E = used_atom
- holder.visible_message("[holder] likewise [E.emote]")
+ holder.visible_message("[SPAN_NAME("[holder]")] likewise [E.emote]")
qdel(used_atom)
//TODO: better messages.
switch(index)
if(9)
- user.visible_message("[user] installs the central control module into the [holder].", "You install the central control module into the [holder].")
+ user.visible_message("[user] installs the central control module into the [holder].", SPAN_NOTICE("You install the central control module into the [holder]."))
qdel(used_atom)
if(8)
- user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].")
+ user.visible_message("[user] installs the peripherals control module into the [holder].", SPAN_NOTICE("You install the peripherals control module into the [holder]."))
qdel(used_atom)
if(7)
- user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].")
+ user.visible_message("[user] installs the weapon control module into the [holder].", SPAN_NOTICE("You install the weapon control module into the [holder]."))
qdel(used_atom)
if(6)
- user.visible_message("[user] puts beret on the [holder].", "You put beret on the [holder].")
+ user.visible_message("[user] puts beret on the [holder].", SPAN_NOTICE("You put beret on the [holder]."))
qdel(used_atom)
if(4)
- user.visible_message("[user] puts mime mask on the [holder].", "You put mime mask on the [holder].")
+ user.visible_message("[user] puts mime mask on the [holder].", SPAN_NOTICE("You put mime mask on the [holder]."))
qdel(used_atom)
if(2)
- user.visible_message("[user] puts suspenders on the [holder].", "You put suspenders on the [holder].")
+ user.visible_message("[user] puts suspenders on the [holder].", SPAN_NOTICE("You put suspenders on the [holder]."))
qdel(used_atom)
return 1
@@ -1092,155 +1092,155 @@
//TODO: better messages.
switch(index)
if(20)
- user.visible_message("[user] connects the [holder] hydraulic systems.", "You connect the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] connects the [holder] hydraulic systems."), SPAN_NOTICE("You connect the [holder] hydraulic systems."))
holder.icon_state = "durand1"
if(19)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] activates the [holder] hydraulic systems.", "You activate the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] activates the [holder] hydraulic systems."), SPAN_NOTICE("You activate the [holder] hydraulic systems."))
holder.icon_state = "durand2"
else
- user.visible_message("[user] disconnects the [holder] hydraulic systems.", "You disconnect the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] disconnects the [holder] hydraulic systems."), SPAN_NOTICE("You disconnect the [holder] hydraulic systems."))
holder.icon_state = "durand0"
if(18)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] adds the wiring to the [holder].", "You add the wiring to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] adds the wiring to the [holder]."), SPAN_NOTICE("You add the wiring to the [holder]."))
holder.icon_state = "durand3"
else
- user.visible_message("[user] deactivates the [holder] hydraulic systems.", "You deactivate the [holder] hydraulic systems.")
+ user.visible_message(SPAN_NOTICE("[user] deactivates the [holder] hydraulic systems."), SPAN_NOTICE("You deactivate the [holder] hydraulic systems."))
holder.icon_state = "durand1"
if(17)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] adjusts the wiring of the [holder].", "You adjust the wiring of the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] adjusts the wiring of the [holder]."), SPAN_NOTICE("You adjust the wiring of the [holder]."))
holder.icon_state = "durand4"
else
- user.visible_message("[user] removes the wiring from the [holder].", "You remove the wiring from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the wiring from the [holder]."), SPAN_NOTICE("You remove the wiring from the [holder]."))
var/obj/item/stack/cable_coil/coil = new /obj/item/stack/cable_coil(get_turf(holder))
coil.amount = 4
holder.icon_state = "durand2"
if(16)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the central control module into the [holder].", "You install the central computer mainboard into the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the central control module into the [holder]."), SPAN_NOTICE("You install the central computer mainboard into the [holder]."))
qdel(used_atom)
holder.icon_state = "durand5"
else
- user.visible_message("[user] disconnects the wiring of the [holder].", "You disconnect the wiring of the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] disconnects the wiring of the [holder]."), SPAN_NOTICE("You disconnect the wiring of the [holder]."))
holder.icon_state = "durand3"
if(15)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the mainboard.", "You secure the mainboard.")
+ user.visible_message(SPAN_NOTICE("[user] secures the mainboard."), SPAN_NOTICE("You secure the mainboard."))
holder.icon_state = "durand6"
else
- user.visible_message("[user] removes the central control module from the [holder].", "You remove the central computer mainboard from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the central control module from the [holder]."), SPAN_NOTICE("You remove the central computer mainboard from the [holder]."))
new /obj/item/circuitboard/mecha/durand/main(get_turf(holder))
holder.icon_state = "durand4"
if(14)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the peripherals control module into the [holder].", "You install the peripherals control module into the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the peripherals control module into the [holder]."), SPAN_NOTICE("You install the peripherals control module into the [holder]."))
qdel(used_atom)
holder.icon_state = "durand7"
else
- user.visible_message("[user] unfastens the mainboard.", "You unfasten the mainboard.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the mainboard."), SPAN_NOTICE("You unfasten the mainboard."))
holder.icon_state = "durand5"
if(13)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the peripherals control module.", "You secure the peripherals control module.")
+ user.visible_message(SPAN_NOTICE("[user] secures the peripherals control module."), SPAN_NOTICE("You secure the peripherals control module."))
holder.icon_state = "durand8"
else
- user.visible_message("[user] removes the peripherals control module from the [holder].", "You remove the peripherals control module from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the peripherals control module from the [holder]."), SPAN_NOTICE("You remove the peripherals control module from the [holder]."))
new /obj/item/circuitboard/mecha/durand/peripherals(get_turf(holder))
holder.icon_state = "durand6"
if(12)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the weapon control module into the [holder].", "You install the weapon control module into the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the weapon control module into the [holder]."), SPAN_NOTICE("You install the weapon control module into the [holder]."))
qdel(used_atom)
holder.icon_state = "durand9"
else
- user.visible_message("[user] unfastens the peripherals control module.", "You unfasten the peripherals control module.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the peripherals control module."), SPAN_NOTICE("You unfasten the peripherals control module."))
holder.icon_state = "durand7"
if(11)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the weapon control module.", "You secure the weapon control module.")
+ user.visible_message(SPAN_NOTICE("[user] secures the weapon control module."), SPAN_NOTICE("You secure the weapon control module."))
holder.icon_state = "durand10"
else
- user.visible_message("[user] removes the weapon control module from the [holder].", "You remove the weapon control module from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the weapon control module from the [holder]."), SPAN_NOTICE("You remove the weapon control module from the [holder]."))
new /obj/item/circuitboard/mecha/durand/targeting(get_turf(holder))
holder.icon_state = "durand8"
if(10)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs phasic scanner module to the [holder].", "You install phasic scanner module to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs phasic scanner module to the [holder]."), SPAN_NOTICE("You install phasic scanner module to the [holder]."))
qdel(used_atom)
holder.icon_state = "durand11"
else
- user.visible_message("[user] unfastens the weapon control module.", "You unfasten the weapon control module.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the weapon control module."), SPAN_NOTICE("You unfasten the weapon control module."))
holder.icon_state = "durand9"
if(9)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the phasic scanner module.", "You secure the phasic scanner module.")
+ user.visible_message(SPAN_NOTICE("[user] secures the phasic scanner module."), SPAN_NOTICE("You secure the phasic scanner module."))
holder.icon_state = "durand12"
else
- user.visible_message("[user] removes the phasic scanner module from the [holder].", "You remove the phasic scanner module from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the phasic scanner module from the [holder]."), SPAN_NOTICE("You remove the phasic scanner module from the [holder]."))
new /obj/item/stock_parts/scanning_module/phasic(get_turf(holder))
holder.icon_state = "durand10"
if(8)
if(diff == CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the mech power core to the [holder].", "You install the mech power core to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the mech power core to the [holder]."), SPAN_NOTICE("You install the mech power core to the [holder]."))
qdel(used_atom)
holder.icon_state = "durand13"
else
- user.visible_message("[user] unfastens the phasic scanner module.", "You unfasten the phasic scanner module.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the phasic scanner module."), SPAN_NOTICE("You unfasten the phasic scanner module."))
holder.icon_state = "durand11"
if(7)
if(diff == CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the mech power core.", "You secure the mech power core.")
+ user.visible_message(SPAN_NOTICE("[user] secures the mech power core."), SPAN_NOTICE("You secure the mech power core."))
holder.icon_state = "durand14"
else
- user.visible_message("[user] removes the mech power core from the [holder].", "You remove the mech power core from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] removes the mech power core from the [holder]."), SPAN_NOTICE("You remove the mech power core from the [holder]."))
new /obj/item/mecha_parts/core(get_turf(holder))
holder.icon_state = "durand12"
if(6)
if(diff == CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the internal armor layer to the [holder].", "You install the internal armor layer to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the internal armor layer to the [holder]."), SPAN_NOTICE("You install the internal armor layer to the [holder]."))
holder.icon_state = "durand15"
else
- user.visible_message("[user] unfastens the mech power core.", "You unfasten the mech power core.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the mech power core."), SPAN_NOTICE("You unfasten the mech power core."))
holder.icon_state = "durand13"
if(5)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the internal armor layer.", "You secure the internal armor layer.")
+ user.visible_message(SPAN_NOTICE("[user] secures the internal armor layer."), SPAN_NOTICE("You secure the internal armor layer."))
holder.icon_state = "durand16"
else
- user.visible_message("[user] pries the internal armor layer from the [holder].", "You pry the internal armor layer from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] pries the internal armor layer from the [holder]."), SPAN_NOTICE("You pry the internal armor layer from the [holder]."))
var/obj/item/stack/sheet/metal/MS = new /obj/item/stack/sheet/metal(get_turf(holder))
MS.amount = 5
holder.icon_state = "durand14"
if(4)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] welds the internal armor layer to the [holder].", "You weld the internal armor layer to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] welds the internal armor layer to the [holder]."), SPAN_NOTICE("You weld the internal armor layer to the [holder]."))
holder.icon_state = "durand17"
else
- user.visible_message("[user] unfastens the internal armor layer.", "You unfasten the internal armor layer.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the internal armor layer."), SPAN_NOTICE("You unfasten the internal armor layer."))
holder.icon_state = "durand15"
if(3)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] installs the Durand Armor Plates to the [holder].", "You install the Durand Armor Plates to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] installs the Durand Armor Plates to the [holder]."), SPAN_NOTICE("You install the Durand Armor Plates to the [holder]."))
qdel(used_atom)
holder.icon_state = "durand18"
else
- user.visible_message("[user] cuts the internal armor layer from the [holder].", "You cut the internal armor layer from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] cuts the internal armor layer from the [holder]."), SPAN_NOTICE("You cut the internal armor layer from the [holder]."))
holder.icon_state = "durand16"
if(2)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] secures the Durand Armor Plates.", "You secure the Durand Armor Plates.")
+ user.visible_message(SPAN_NOTICE("[user] secures the Durand Armor Plates."), SPAN_NOTICE("You secure the Durand Armor Plates."))
holder.icon_state = "durand19"
else
- user.visible_message("[user] pries the Durand Armor Plates from the [holder].", "You pry the Durand Armor Plates from the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] pries the Durand Armor Plates from the [holder]."), SPAN_NOTICE("You pry the Durand Armor Plates from the [holder]."))
new /obj/item/mecha_parts/part/durand_armor(get_turf(holder))
holder.icon_state = "durand17"
if(1)
if(diff==CONSTRUCTION_PATH_FORWARDS)
- user.visible_message("[user] welds the Durand Armor Plates to the [holder].", "You weld the Durand Armor Plates to the [holder].")
+ user.visible_message(SPAN_NOTICE("[user] welds the Durand Armor Plates to the [holder]."), SPAN_NOTICE("You weld the Durand Armor Plates to the [holder]."))
else
- user.visible_message("[user] unfastens the Durand Armor Plates.", "You unfasten the Durand Armor Plates.")
+ user.visible_message(SPAN_NOTICE("[user] unfastens the Durand Armor Plates."), SPAN_NOTICE("You unfasten the Durand Armor Plates."))
holder.icon_state = "durand18"
return 1
diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm
index 33f92351020..debaf0460b9 100644
--- a/code/game/mecha/mecha_control_console.dm
+++ b/code/game/mecha/mecha_control_console.dm
@@ -178,7 +178,7 @@
mech.setInternalDamage(MECHA_INT_CONTROL_LOST)
if(mech.occupant)
- mech.occupant_message("Coordination system calibration failure. Manual restart required.")
+ mech.occupant_message(SPAN_DANGER("Coordination system calibration failure. Manual restart required."))
SEND_SOUND(mech.occupant, sound('sound/machines/warning-buzzer.ogg'))
do_sparks(3, FALSE, mech.loc)
diff --git a/code/game/mecha/mecha_modkit.dm b/code/game/mecha/mecha_modkit.dm
index a1379ebe003..d73f15541cb 100644
--- a/code/game/mecha/mecha_modkit.dm
+++ b/code/game/mecha/mecha_modkit.dm
@@ -7,7 +7,7 @@
/obj/item/mecha_modkit/proc/install(obj/mecha/mech, mob/user)
if(user)
- to_chat(user, "You install [src] into [mech].")
+ to_chat(user, SPAN_NOTICE("You install [src] into [mech]."))
return TRUE
/obj/item/mecha_modkit/voice
@@ -22,10 +22,10 @@
/obj/item/mecha_modkit/voice/install(obj/mecha/mech, mob/living/carbon/user)
if(istype(mech, /obj/mecha/combat/reticence) && user)
- to_chat(user, "You attempt to install [src] into [mech], but an invisible barrier prevents you from doing so!")
+ to_chat(user, SPAN_WARNING("You attempt to install [src] into [mech], but an invisible barrier prevents you from doing so!"))
return FALSE
if(istype(mech, /obj/mecha/combat/honker) && user)
- to_chat(user, "You attempt to install [src] into [mech], but you somehow trip before you get it in!")
+ to_chat(user, SPAN_WARNING("You attempt to install [src] into [mech], but you somehow trip before you get it in!"))
user.slip("your own foot", 16 SECONDS, 0, 0, 1, "trip")
return FALSE
mech.nominalsound = nominalsound
diff --git a/code/game/mecha/mecha_parts.dm b/code/game/mecha/mecha_parts.dm
index 7f0036e311d..19b866dce93 100644
--- a/code/game/mecha/mecha_parts.dm
+++ b/code/game/mecha/mecha_parts.dm
@@ -267,7 +267,7 @@
/obj/item/mecha_parts/chassis/phazon/attackby__legacy__attackchain(obj/item/I, mob/user, params)
. = ..()
if(istype(I, /obj/item/assembly/signaler/anomaly) && !istype(I, /obj/item/assembly/signaler/anomaly/bluespace))
- to_chat(user, "The anomaly core socket only accepts bluespace anomaly cores!")
+ to_chat(user, SPAN_WARNING("The anomaly core socket only accepts bluespace anomaly cores!"))
/obj/item/mecha_parts/part/phazon_torso
name = "\improper Phazon torso"
diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm
index 94a2cecd492..a751e7473d3 100644
--- a/code/game/mecha/mecha_topic.dm
+++ b/code/game/mecha/mecha_topic.dm
@@ -386,7 +386,7 @@
if(usr != occupant)
return
if(occupant && !iscarbon(occupant))
- to_chat(occupant, "You do not have any DNA!")
+ to_chat(occupant, SPAN_DANGER("You do not have any DNA!"))
return
dna = occupant.dna.unique_enzymes
occupant_message("You feel a prick as the needle takes your DNA sample.")
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index 010e11d446b..47b01bb92be 100644
--- a/code/game/mecha/mecha_wreckage.dm
+++ b/code/game/mecha/mecha_wreckage.dm
@@ -45,7 +45,7 @@
. = ..()
if(!AI)
return
- . += "The AI recovery beacon is active."
+ . += SPAN_NOTICE("The AI recovery beacon is active.")
/obj/structure/mecha_wreckage/crowbar_act(mob/user, obj/item/I)
. = TRUE
@@ -54,24 +54,24 @@
if(length(crowbar_salvage))
var/obj/S = pick(crowbar_salvage)
S.forceMove(user.drop_location())
- user.visible_message("[user] pries [S] from [src].", "You pry [S] from [src].")
+ user.visible_message(SPAN_NOTICE("[user] pries [S] from [src]."), SPAN_NOTICE("You pry [S] from [src]."))
crowbar_salvage -= S
return
- to_chat(user, "You don't see anything that can be pried with [I]!")
+ to_chat(user, SPAN_NOTICE("You don't see anything that can be pried with [I]!"))
/obj/structure/mecha_wreckage/welder_act(mob/user, obj/item/I)
. = TRUE
if(!I.tool_use_check(user, 0))
return
if(salvage_num <= 0 || !length(welder_salvage))
- to_chat(user, "You don't see anything that can be cut with [I]!")
+ to_chat(user, SPAN_NOTICE("You don't see anything that can be cut with [I]!"))
return
if(prob(30))
- to_chat(user, "You fail to salvage anything valuable from [src]!")
+ to_chat(user, SPAN_NOTICE("You fail to salvage anything valuable from [src]!"))
return
var/type = pick(welder_salvage)
var/N = new type(get_turf(user))
- user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].")
+ user.visible_message("[user] cuts [N] from [src].", SPAN_NOTICE("You cut [N] from [src]."))
if(!istype(N, /obj/item/stack))
welder_salvage -= type
salvage_num--
@@ -81,10 +81,10 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(wires_removed)
- to_chat(user, "You don't see anything that can be cut with [I]!")
+ to_chat(user, SPAN_NOTICE("You don't see anything that can be cut with [I]!"))
return
var/N = new /obj/item/stack/cable_coil(get_turf(user), rand(1, 3))
- user.visible_message("[user] cuts [N] from [src].", "You cut [N] from [src].")
+ user.visible_message("[user] cuts [N] from [src].", SPAN_NOTICE("You cut [N] from [src]."))
wires_removed = TRUE
/obj/structure/mecha_wreckage/transfer_ai(interaction, mob/user, mob/living/silicon/ai/the_ai, obj/item/aicard/card)
@@ -95,7 +95,7 @@
if(interaction != AI_TRANS_TO_CARD) //AIs can only be transferred in one direction, from the wreck to the card.
return
if(!AI) //No AI in the wreck
- to_chat(user, "No AI backups found.")
+ to_chat(user, SPAN_WARNING("No AI backups found."))
return
cut_overlays() //Remove the recovery beacon overlay
AI.forceMove(card) //Move the dead AI to the card.
@@ -103,7 +103,7 @@
to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.")
else //Give the AI a heads-up that it is probably going to get fixed.
AI.notify_ghost_cloning("You have been recovered from the wreckage!", source = card)
- to_chat(user, "Backup files recovered: [AI.name] ([rand(1000, 9999)].exe) salvaged from [name] and stored within local memory.")
+ to_chat(user, "[SPAN_BOLDNOTICE("Backup files recovered")]: [AI.name] ([rand(1000, 9999)].exe) salvaged from [name] and stored within local memory.")
AI = null
/obj/structure/mecha_wreckage/gygax
diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm
index e8995cfd47c..4b0e3d9cb22 100644
--- a/code/game/mecha/medical/odysseus.dm
+++ b/code/game/mecha/medical/odysseus.dm
@@ -17,7 +17,7 @@
. = ..()
if(. && ishuman(H))
if(istype(H.glasses, /obj/item/clothing/glasses/hud))
- occupant_message("[H.glasses] prevent you from using the built-in medical hud.")
+ occupant_message(SPAN_WARNING("[H.glasses] prevent you from using the built-in medical hud."))
else
var/datum/atom_hud/data/human/medical/advanced/A = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
A.add_hud_to(H)
diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm
index bd44b6c9a1f..33278dc879e 100644
--- a/code/game/mecha/working/ripley.dm
+++ b/code/game/mecha/working/ripley.dm
@@ -261,7 +261,7 @@
if(href_list["drop_from_cargo"])
var/obj/O = locate(href_list["drop_from_cargo"])
if(O && (O in cargo))
- occupant_message("You unload [O].")
+ occupant_message(SPAN_NOTICE("You unload [O]."))
O.loc = get_turf(src)
cargo -= O
var/turf/T = get_turf(O)
@@ -306,5 +306,5 @@
/obj/mecha/working/ripley/emag_act(mob/user)
if(!emagged)
emagged = TRUE
- desc += "The mech's equipment slots spark dangerously!"
+ desc += "[SPAN_DANGER("The mech's equipment slots spark dangerously!")]"
return ..()
diff --git a/code/game/movable_vv.dm b/code/game/movable_vv.dm
index 0762a4e9e63..8b25d91fa42 100644
--- a/code/game/movable_vv.dm
+++ b/code/game/movable_vv.dm
@@ -20,11 +20,11 @@
if(!GLOB.dsay_enabled)
// TODO verify what happens when deadchat is muted
- to_chat(usr, "Deadchat is globally muted, un-mute deadchat before enabling this.")
+ to_chat(usr, SPAN_WARNING("Deadchat is globally muted, un-mute deadchat before enabling this."))
return
if(GetComponent(/datum/component/deadchat_control))
- to_chat(usr, "[src] is already under deadchat control!")
+ to_chat(usr, SPAN_WARNING("[src] is already under deadchat control!"))
return
var/control_mode = tgui_input_list(usr, "Please select the control mode", "Deadchat Control", list("Democracy", "Anarchy"))
@@ -42,7 +42,7 @@
if(isnull(cooldown) || (cooldown == -1 && selected_mode == DEADCHAT_DEMOCRACY_MODE))
return
if(cooldown < 0 && selected_mode == DEADCHAT_DEMOCRACY_MODE)
- to_chat(usr, "The cooldown for Democracy mode must be greater than zero.")
+ to_chat(usr, SPAN_WARNING("The cooldown for Democracy mode must be greater than zero."))
return
if(cooldown == -1)
cooldown = 0
@@ -57,7 +57,7 @@
return
if(!GetComponent(/datum/component/deadchat_control))
- to_chat(usr, "[src] is not currently under deadchat control!")
+ to_chat(usr, SPAN_WARNING("[src] is not currently under deadchat control!"))
return
stop_deadchat_plays()
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index 258887a0c12..6ae62ceed44 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -60,9 +60,9 @@
if(!M.can_buckle() && !force)
if(M == usr)
- to_chat(M, "You are unable to buckle yourself to [src]!")
+ to_chat(M, SPAN_WARNING("You are unable to buckle yourself to [src]!"))
else
- to_chat(usr, "You are unable to buckle [M] to [src]!")
+ to_chat(usr, SPAN_WARNING("You are unable to buckle [M] to [src]!"))
M.buckling = null
return FALSE
@@ -149,17 +149,17 @@
if(.)
if(M == user)
M.visible_message(
- "[M] buckles [M.p_themselves()] to [src].",
- "You buckle yourself to [src].",
- "You hear the click of a buckle being secured."
+ SPAN_NOTICE("[M] buckles [M.p_themselves()] to [src]."),
+ SPAN_NOTICE("You buckle yourself to [src]."),
+ SPAN_NOTICE("You hear the click of a buckle being secured.")
)
M.create_log(ATTACK_LOG, "Buckles [M.p_themselves()] to [src]", M)
log_attack(M, M, "Buckles themselves to [src]")
else
M.visible_message(
- "[user] buckles [M] to [src]!",
- "[user] buckles you to [src]!",
- "You hear the click of a buckle being secured."
+ SPAN_WARNING("[user] buckles [M] to [src]!"),
+ SPAN_WARNING("[user] buckles you to [src]!"),
+ SPAN_NOTICE("You hear the click of a buckle being secured.")
)
user.create_log(ATTACK_LOG, "[user] has buckled [M] to [src]", M)
M.create_log(DEFENSE_LOG, "[M] has been buckled by [user] to [src]", user)
@@ -171,18 +171,18 @@
if(M)
if(M != user)
M.visible_message(
- "[user] unbuckles [M] from [src].",
- "[user] unbuckles you from [src].",
- "You hear the click of a buckle being undone."
+ SPAN_NOTICE("[user] unbuckles [M] from [src]."),
+ SPAN_NOTICE("[user] unbuckles you from [src]."),
+ SPAN_NOTICE("You hear the click of a buckle being undone.")
)
user.create_log(ATTACK_LOG, "[user] has unbuckled [M] from [src]", M)
M.create_log(DEFENSE_LOG, "[M] has been unbuckled by [user] from [src]", user)
log_attack(user, M, "Unbuckled from [src]")
else
M.visible_message(
- "[M] unbuckles [M.p_themselves()] from [src].",
- "You unbuckle yourself from [src].",
- "You hear the click of a buckle being undone."
+ SPAN_NOTICE("[M] unbuckles [M.p_themselves()] from [src]."),
+ SPAN_NOTICE("You unbuckle yourself from [src]."),
+ SPAN_NOTICE("You hear the click of a buckle being undone.")
)
M.create_log(ATTACK_LOG, "Unbuckles [M.p_themselves()] from [src]", M)
log_attack(M, M, "Unbuckles themselves from [src]")
diff --git a/code/game/objects/cleaning.dm b/code/game/objects/cleaning.dm
index 355da438212..65a51533c5c 100644
--- a/code/game/objects/cleaning.dm
+++ b/code/game/objects/cleaning.dm
@@ -19,7 +19,7 @@
var/is_cmagged = FALSE
if(user.client && (src in user.client.screen)) //You can't clean items you're wearing for technical reasons
- to_chat(user, "You need to take that [text_targetname] off before cleaning it.")
+ to_chat(user, SPAN_NOTICE("You need to take that [text_targetname] off before cleaning it."))
return FALSE
var/is_dirty = FALSE
@@ -44,7 +44,7 @@
return T.cleaning_act(user, cleaner, cleanspeed, text_verb, " under [src][text_description].", skip_do_after=skip_do_after)
if(!skip_do_after)
- user.visible_message("[user] begins to [text_verb] \the [text_targetname][text_description]", "You begin to [text_verb] \the [text_targetname][text_description]")
+ user.visible_message(SPAN_WARNING("[user] begins to [text_verb] \the [text_targetname][text_description]"), SPAN_WARNING("You begin to [text_verb] \the [text_targetname][text_description]"))
if(!do_after(user, cleanspeed, target = src))
return FALSE
@@ -55,7 +55,7 @@
cleaner.post_clean(src, user)
if(!skip_do_after)
- to_chat(user, "You [text_verb] \the [text_targetname][text_description]")
+ to_chat(user, SPAN_NOTICE("You [text_verb] \the [text_targetname][text_description]"))
if(is_cmagged) //If we've cleaned a cmagged object
REMOVE_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG)
diff --git a/code/game/objects/effects/alien_acid.dm b/code/game/objects/effects/alien_acid.dm
index a79027fb0b1..87ec9701f8d 100644
--- a/code/game/objects/effects/alien_acid.dm
+++ b/code/game/objects/effects/alien_acid.dm
@@ -86,17 +86,17 @@
playsound(loc, 'sound/items/welder.ogg', 100, TRUE)
target_strength--
if(target_strength <= 0)
- target.visible_message("[target] collapses under its own weight into a puddle of goop and undigested debris!")
+ target.visible_message(SPAN_WARNING("[target] collapses under its own weight into a puddle of goop and undigested debris!"))
target.acid_melt()
qdel(src)
else
switch(target_strength)
if(24)
- visible_message("[target] is holding up against the acid!")
+ visible_message(SPAN_WARNING("[target] is holding up against the acid!"))
if(16)
- visible_message("[target] is being melted by the acid!")
+ visible_message(SPAN_WARNING("[target] is being melted by the acid!"))
if(8)
- visible_message("[target] is struggling to withstand the acid!")
+ visible_message(SPAN_WARNING("[target] is struggling to withstand the acid!"))
if(4)
- visible_message("[target] begins to crumble under the acid!")
+ visible_message(SPAN_WARNING("[target] begins to crumble under the acid!"))
diff --git a/code/game/objects/effects/anomalies.dm b/code/game/objects/effects/anomalies.dm
index 50ed4b56edd..7d9953189a4 100644
--- a/code/game/objects/effects/anomalies.dm
+++ b/code/game/objects/effects/anomalies.dm
@@ -103,7 +103,7 @@
/obj/effect/anomaly/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/analyzer))
- to_chat(user, "Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code].")
+ to_chat(user, SPAN_NOTICE("Analyzing... [src]'s unstable field is fluctuating along frequency [format_frequency(aSignal.frequency)], code [aSignal.code]."))
return ITEM_INTERACT_COMPLETE
/obj/effect/anomaly/grav
diff --git a/code/game/objects/effects/anomalous_particulate.dm b/code/game/objects/effects/anomalous_particulate.dm
index 9eeca1f0b45..257949da079 100644
--- a/code/game/objects/effects/anomalous_particulate.dm
+++ b/code/game/objects/effects/anomalous_particulate.dm
@@ -262,16 +262,16 @@
var/mob/living/victim = A
switch(bump_effect)
if(BLUESPACE) // Easy out of a department... but you'll be slow and unable to fight well for a minute.
- to_chat(victim, "You feel like everything around you is moving twice as fast!")
+ to_chat(victim, SPAN_USERDANGER("You feel like everything around you is moving twice as fast!"))
victim.apply_status_effect(STATUS_EFFECT_BLUESPACESLOWDOWN_LONG)
victim.Slowed(1 MINUTES, 1)
do_teleport(victim, get_turf(victim), 21, sound_in = 'sound/effects/phasein.ogg', safe_turf_pick = TRUE)
if(GRAV) // Yeet
- to_chat(victim, "You bounce right off [src]!")
+ to_chat(victim, SPAN_USERDANGER("You bounce right off [src]!"))
var/atom/target = get_edge_target_turf(victim, get_dir(src, get_step_away(victim, src)))
victim.throw_at(target, 20, 3)
if(PYRO) // I mean yeah, hot
- to_chat(victim, "[src] is perhaps a bit hot to the touch.")
+ to_chat(victim, SPAN_DANGER("[src] is perhaps a bit hot to the touch."))
victim.adjust_fire_stacks(12)
victim.IgniteMob()
if(FLUX) // Shock them... or charge the cell in the item they are holding!
@@ -298,12 +298,12 @@
if(!charged_item)
victim.electrocute_act(20, src, flags = SHOCK_NOGLOVES)
return
- to_chat(victim, "[charged_item] suddenly feels very warm!")
+ to_chat(victim, SPAN_NOTICE("[charged_item] suddenly feels very warm!"))
if(VORTEX) // sharp particulate
- to_chat(victim, "As you pass through [src], sharp particulate cuts into you!")
+ to_chat(victim, SPAN_USERDANGER("As you pass through [src], sharp particulate cuts into you!"))
victim.adjustBruteLoss(30)
if(CRYO) // slowdown via cold
- to_chat(victim, "As you pass through [src], you feel quite cold!")
+ to_chat(victim, SPAN_USERDANGER("As you pass through [src], you feel quite cold!"))
victim.adjust_bodytemperature(-230)
@@ -312,28 +312,28 @@
if(!ishuman(user))
return
if(hasHUD(user, ANOMALOUS_HUD))
- to_chat(user, "Your protective gear shields you from the anomalous effects. Best not to look at it without them.")
+ to_chat(user, SPAN_WARNING("Your protective gear shields you from the anomalous effects. Best not to look at it without them."))
return
var/mob/living/carbon/human/victim = user
switch(examine_effect)
if(BLUESPACE) // Just a slowdown in spacetime
- to_chat(victim, "[src] really begins to draw in your focus, time slips on by around you...")
+ to_chat(victim, SPAN_USERDANGER("[src] really begins to draw in your focus, time slips on by around you..."))
victim.apply_status_effect(STATUS_EFFECT_BLUESPACESLOWDOWN)
victim.Slowed(15 SECONDS, 1)
if(GRAV) // bonk to the head
- to_chat(victim, "Your head hurts just looking at [src]!")
+ to_chat(victim, SPAN_USERDANGER("Your head hurts just looking at [src]!"))
victim.adjustBrainLoss(10)
if(PYRO) // Just a nice warm glow
- to_chat(victim, "[src] gives off a nice warm glow.")
+ to_chat(victim, SPAN_NOTICE("[src] gives off a nice warm glow."))
if(FLUX) // Emp yourself. This can be considered a benefit.
- to_chat(victim, "As you focus on [src], a shock travels through you and your electronics!")
+ to_chat(victim, SPAN_USERDANGER("As you focus on [src], a shock travels through you and your electronics!"))
victim.emp_act(EMP_LIGHT)
if(VORTEX) // Darkness consumes you. Or your vision, for a moment
- to_chat(victim, "[src] is so dark that... everything else kinda is.")
+ to_chat(victim, SPAN_USERDANGER("[src] is so dark that... everything else kinda is."))
victim.AdjustEyeBlind(5 SECONDS)
if(CRYO) // A cool refresher. Though a bit toxic.
- to_chat(victim, "A cool feeling passes through you, closing your wounds. Feels... a bit off though...")
+ to_chat(victim, SPAN_WARNING("A cool feeling passes through you, closing your wounds. Feels... a bit off though..."))
victim.adjustBruteLoss(-10)
victim.adjustFireLoss(-20)
victim.adjustToxLoss(15)
@@ -345,7 +345,7 @@
switch(process_effect)
if(BLUESPACE) // Condense a crystal now and then
if(prob(2))
- visible_message( "A drop of blue particulate from [src] condenses into a shining crystal.")
+ visible_message( SPAN_NOTICE("A drop of blue particulate from [src] condenses into a shining crystal."))
new /obj/item/stack/ore/bluespace_crystal/refined(get_turf(src))
if(GRAV) // Nice gravity. Invert it.
if(prob(1))
@@ -452,13 +452,13 @@
*/
/obj/effect/anomalous_particulate/proc/drain_influence(mob/living/user, obj/item/ppp_processor/processor)
if(processor.clouds_processed >= 3)
- to_chat(user, "Your PPPProcessor is full!")
+ to_chat(user, SPAN_WARNING("Your PPPProcessor is full!"))
return
if(processor.clouds_processed == -1)
- to_chat(user, "Your PPPProcessor has no canisters to collect particulate with!")
+ to_chat(user, SPAN_WARNING("Your PPPProcessor has no canisters to collect particulate with!"))
return
being_drained = TRUE
- to_chat(user, "Your PPPProcessor begins to energize and collect [src]...")
+ to_chat(user, SPAN_NOTICE("Your PPPProcessor begins to energize and collect [src]..."))
if(!do_after(user, 10 SECONDS, target = src, hidden = TRUE))
being_drained = FALSE
@@ -472,13 +472,13 @@
*/
/obj/effect/anomalous_particulate/proc/after_drain(mob/living/user, obj/item/ppp_processor/processor)
if(user)
- to_chat(user, "[src] begins to intensify!")
+ to_chat(user, SPAN_WARNING("[src] begins to intensify!"))
new /obj/effect/visible_anomalous_particulate(drop_location())
processor.collect()
if(processor.clouds_processed >= 3)
- to_chat(user, "[processor] has it's 3 canisters filled. Be sure to process the information!")
+ to_chat(user, SPAN_NOTICE("[processor] has it's 3 canisters filled. Be sure to process the information!"))
GLOB.anomaly_smash_track.num_drained++
qdel(src)
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 1dea868bd01..a75a13a78d0 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -183,7 +183,7 @@
return
var/taken = rand(1,amount)
amount -= taken
- to_chat(user, "You get some of \the [src] on your hands.")
+ to_chat(user, SPAN_NOTICE("You get some of \the [src] on your hands."))
if(!user.blood_DNA)
user.blood_DNA = list()
user.blood_DNA |= blood_DNA.Copy()
@@ -248,7 +248,7 @@
/obj/effect/decal/cleanable/blood/writing/examine(mob/user)
. = ..()
- . += "It reads: \"[message]\""
+ . += SPAN_NOTICE("It reads: \"[message]\"")
/obj/effect/decal/cleanable/blood/gibs
name = "gibs"
diff --git a/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm b/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm
index ae12c242da3..e8ec6ac5b0f 100644
--- a/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm
+++ b/code/game/objects/effects/decals/Cleanable/misc_cleanables.dm
@@ -267,9 +267,9 @@
/obj/effect/decal/cleanable/fungus/examine(mob/user)
. = ..()
if(no_scoop)
- . += "There's not a lot here, you probably wouldn't be able to harvest anything useful."
+ . += SPAN_NOTICE("There's not a lot here, you probably wouldn't be able to harvest anything useful.")
else
- . += "There's enough here to scrape into a beaker."
+ . += SPAN_NOTICE("There's enough here to scrape into a beaker.")
/obj/effect/decal/cleanable/fungus/on_scoop()
alpha = 128
diff --git a/code/game/objects/effects/decals/Cleanable/tar.dm b/code/game/objects/effects/decals/Cleanable/tar.dm
index 51d91a3e7a6..1c69341a576 100644
--- a/code/game/objects/effects/decals/Cleanable/tar.dm
+++ b/code/game/objects/effects/decals/Cleanable/tar.dm
@@ -32,7 +32,7 @@
if(isliving(entered))
var/mob/living/L = entered
playsound(L, 'sound/effects/attackblob.ogg', 50, TRUE)
- to_chat(L, "[src] sticks to you!")
+ to_chat(L, SPAN_USERDANGER("[src] sticks to you!"))
/obj/effect/decal/cleanable/tar/item_interaction(mob/living/user, obj/item/used, list/modifiers)
var/obj/item/weldingtool/fire_tool = used
@@ -41,6 +41,6 @@
playsound(fire_tool, 'sound/items/welder.ogg', 50, TRUE)
if(do_after(user, 3 SECONDS, FALSE, user))
if(fire_tool.get_heat() && Adjacent(user))
- user.visible_message("[user] burns away [src] with [fire_tool]!", "You burn away [src]!")
+ user.visible_message(SPAN_DANGER("[user] burns away [src] with [fire_tool]!"), SPAN_DANGER("You burn away [src]!"))
qdel(src)
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/effects/decals/contraband_posters.dm b/code/game/objects/effects/decals/contraband_posters.dm
index fcaa07ae7ab..accbe17bb62 100644
--- a/code/game/objects/effects/decals/contraband_posters.dm
+++ b/code/game/objects/effects/decals/contraband_posters.dm
@@ -96,10 +96,10 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(ruined)
- to_chat(user, "You remove the remnants of the poster.")
+ to_chat(user, SPAN_NOTICE("You remove the remnants of the poster."))
qdel(src)
else
- to_chat(user, "You carefully remove the poster from the wall.")
+ to_chat(user, SPAN_NOTICE("You carefully remove the poster from the wall."))
roll_and_drop(user.loc)
/obj/structure/sign/poster/attack_hand(mob/user)
@@ -132,14 +132,14 @@
var/stuff_on_wall = 0
for(var/obj/O in contents) //Let's see if it already has a poster on it or too much stuff
if(istype(O, /obj/structure/sign/poster))
- to_chat(user, "The wall is far too cluttered to place a poster!")
+ to_chat(user, SPAN_NOTICE("The wall is far too cluttered to place a poster!"))
return
stuff_on_wall++
if(stuff_on_wall >= 4)
- to_chat(user, "The wall is far too cluttered to place a poster!")
+ to_chat(user, SPAN_NOTICE("The wall is far too cluttered to place a poster!"))
return
- to_chat(user, "You start placing the poster on the wall...")//Looks like it's uncluttered enough. Place the poster.
+ to_chat(user, SPAN_NOTICE("You start placing the poster on the wall..."))//Looks like it's uncluttered enough. Place the poster.
var/obj/structure/sign/poster/D = P.poster_structure
@@ -163,7 +163,7 @@
D.pixel_x = -32
D.pixel_y = 0
else
- to_chat(user, "You cannot reach the wall from here!")
+ to_chat(user, SPAN_NOTICE("You cannot reach the wall from here!"))
return
flick("poster_being_set", D)
@@ -176,11 +176,11 @@
return
if(iswallturf(src) && user && user.loc == temp_loc) //Let's check if everything is still there
- to_chat(user, "You place the poster!")
+ to_chat(user, SPAN_NOTICE("You place the poster!"))
playsound(D.loc, 'sound/effects/pageturn3.ogg', 100, 1)
return
- to_chat(user, "The poster falls down!")
+ to_chat(user, SPAN_NOTICE("The poster falls down!"))
D.roll_and_drop(temp_loc)
diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm
index 2aedd7886c0..ed4bed54ed4 100644
--- a/code/game/objects/effects/decals/remains.dm
+++ b/code/game/objects/effects/decals/remains.dm
@@ -2,7 +2,7 @@
gender = PLURAL
/obj/effect/decal/remains/acid_act()
- visible_message("[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!")
+ visible_message(SPAN_WARNING("[src] dissolve[gender==PLURAL?"":"s"] into a puddle of sizzling goop!"))
playsound(src, 'sound/items/welder.ogg', 150, TRUE)
new /obj/effect/decal/cleanable/greenglow(drop_location())
qdel(src)
diff --git a/code/game/objects/effects/effect_system/effects_foam.dm b/code/game/objects/effects/effect_system/effects_foam.dm
index 6ebffbe1adc..0db71030881 100644
--- a/code/game/objects/effects/effect_system/effects_foam.dm
+++ b/code/game/objects/effects/effect_system/effects_foam.dm
@@ -291,10 +291,10 @@
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
if(prob(75 - metal * 25))
- user.visible_message("[user] smashes through [src].", "You smash through [src].")
+ user.visible_message(SPAN_WARNING("[user] smashes through [src]."), SPAN_NOTICE("You smash through [src]."))
qdel(src)
else
- to_chat(user, "You hit the metal foam but bounce off it.")
+ to_chat(user, SPAN_NOTICE("You hit the metal foam but bounce off it."))
playsound(loc, 'sound/weapons/tap.ogg', 100, 1)
/obj/structure/foamedmetal/CanPass(atom/movable/mover, border_dir)
diff --git a/code/game/objects/effects/effect_system/effects_other.dm b/code/game/objects/effects/effect_system/effects_other.dm
index 404df9a31bf..9172bf19140 100644
--- a/code/game/objects/effects/effect_system/effects_other.dm
+++ b/code/game/objects/effects/effect_system/effects_other.dm
@@ -92,10 +92,10 @@
do_sparks(2, 1, location)
for(var/mob/M in viewers(5, location))
- to_chat(M, "The solution violently explodes.")
+ to_chat(M, SPAN_WARNING("The solution violently explodes."))
for(var/mob/living/L in viewers(1, location))
if(prob(50 * amount))
- to_chat(L, "The explosion knocks you down.")
+ to_chat(L, SPAN_WARNING("The explosion knocks you down."))
L.Weaken(rand(2 SECONDS, 10 SECONDS))
return
else
@@ -118,7 +118,7 @@
flash += (round(amount/4) * flashing_factor)
for(var/mob/M in viewers(8, location))
- to_chat(M, "The solution violently explodes.")
+ to_chat(M, SPAN_WARNING("The solution violently explodes."))
explosion(location, devastation, heavy, light, flash, cause = "Reagents Explosion")
diff --git a/code/game/objects/effects/effect_system/effects_smoke.dm b/code/game/objects/effects/effect_system/effects_smoke.dm
index 96847ec399a..44e2e49beba 100644
--- a/code/game/objects/effects/effect_system/effects_smoke.dm
+++ b/code/game/objects/effects/effect_system/effects_smoke.dm
@@ -156,7 +156,7 @@
breather.adjust_bodytemperature(80) // Enough to immediately take a small amount of damage, but people cool down quickly.
if(prob(20))
- to_chat(breather, "You are being scalded by the hot steam!")
+ to_chat(breather, SPAN_WARNING("You are being scalded by the hot steam!"))
/////////////////////////////////////////////
// Nanofrost smoke
@@ -182,12 +182,12 @@
if(!isnull(V.welded) && !V.welded) //must be an unwelded vent pump.
V.welded = TRUE
V.update_icon()
- V.visible_message("[V] was frozen shut!")
+ V.visible_message(SPAN_DANGER("[V] was frozen shut!"))
for(var/obj/machinery/atmospherics/unary/vent_scrubber/U in T)
if(!isnull(U.welded) && !U.welded) //must be an unwelded vent scrubber.
U.welded = TRUE
U.update_icon()
- U.visible_message("[U] was frozen shut!")
+ U.visible_message(SPAN_DANGER("[U] was frozen shut!"))
for(var/mob/living/L in T)
L.ExtinguishMob()
for(var/obj/item/Item in T)
diff --git a/code/game/objects/effects/effects.dm b/code/game/objects/effects/effects.dm
index ab5b40d5cd8..fce6ec2a9f9 100644
--- a/code/game/objects/effects/effects.dm
+++ b/code/game/objects/effects/effects.dm
@@ -125,12 +125,12 @@
/obj/effect/decal/proc/scoop(obj/item/I, mob/user)
if(reagents && I.reagents && !no_scoop)
if(!reagents.total_volume)
- to_chat(user, "There isn't enough [src] to scoop up!")
+ to_chat(user, SPAN_NOTICE("There isn't enough [src] to scoop up!"))
return
if(I.reagents.total_volume >= I.reagents.maximum_volume)
- to_chat(user, "[I] is full!")
+ to_chat(user, SPAN_NOTICE("[I] is full!"))
return
- to_chat(user, "You scoop [src] into [I]!")
+ to_chat(user, SPAN_NOTICE("You scoop [src] into [I]!"))
on_scoop()
reagents.trans_to(I, reagents.total_volume)
if(!reagents.total_volume && !no_clear) //scooped up all of it
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index ada824d0a35..cc25455ef08 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -14,7 +14,7 @@
var/obj/item/seeds/myseed = /obj/item/seeds/glowshroom
/obj/structure/glowshroom/extinguish_light(force = FALSE)
- visible_message("[src] withers away!")
+ visible_message(SPAN_WARNING("[src] withers away!"))
qdel(src)
/obj/structure/glowshroom/glowcap
@@ -113,7 +113,7 @@
/obj/structure/glowshroom/acid_act(acidpwr, acid_volume)
. = 1
- visible_message("[src] melts away!")
+ visible_message(SPAN_DANGER("[src] melts away!"))
var/obj/effect/decal/cleanable/molten_object/I = new (get_turf(src))
I.desc = "Looks like this was \an [src] some time ago."
qdel(src)
diff --git a/code/game/objects/effects/meteors.dm b/code/game/objects/effects/meteors.dm
index be4d737448b..6979e43539d 100644
--- a/code/game/objects/effects/meteors.dm
+++ b/code/game/objects/effects/meteors.dm
@@ -180,7 +180,7 @@ GLOBAL_LIST_INIT(meteors_gore, list(/obj/effect/meteor/meaty = 5, /obj/effect/me
. = TRUE // Hit a mob.
var/mob/living/living_thing = thing
- living_thing.visible_message("[src] slams into [living_thing].", "[src] slams into you!")
+ living_thing.visible_message(SPAN_WARNING("[src] slams into [living_thing]."), SPAN_USERDANGER("[src] slams into you!"))
thing.ex_act(explosion_strength)
if(!isobj(thing))
diff --git a/code/game/objects/effects/mines.dm b/code/game/objects/effects/mines.dm
index 20fdc9e5283..626b1e707a6 100644
--- a/code/game/objects/effects/mines.dm
+++ b/code/game/objects/effects/mines.dm
@@ -14,7 +14,7 @@
AddElement(/datum/element/connect_loc, loc_connections)
/obj/effect/mine/proc/mineEffect(mob/living/victim)
- to_chat(victim, "*click*")
+ to_chat(victim, SPAN_DANGER("*click*"))
/obj/effect/mine/proc/on_atom_entered(datum/source, atom/movable/entered)
SIGNAL_HANDLER // COMSIG_ATOM_ENTERED
@@ -31,7 +31,7 @@
/obj/effect/mine/proc/triggermine(mob/living/victim)
if(triggered)
return
- visible_message("[victim] sets off [bicon(src)] [src]!")
+ visible_message(SPAN_DANGER("[victim] sets off [bicon(src)] [src]!"))
do_sparks(3, 1, src)
mineEffect(victim)
triggered = TRUE
@@ -154,7 +154,7 @@
victim.flash_screen_color(red_splash, 10)
spawn(duration)
- to_chat(victim, "Your bloodlust seeps back into the bog of your subconscious and you regain self control.")
+ to_chat(victim, SPAN_NOTICE("Your bloodlust seeps back into the bog of your subconscious and you regain self control."))
qdel(chainsaw)
qdel(src)
@@ -166,7 +166,7 @@
/obj/effect/mine/pickup/healing/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
return
- to_chat(victim, "You feel great!")
+ to_chat(victim, SPAN_NOTICE("You feel great!"))
victim.revive()
/obj/effect/mine/pickup/speed
@@ -178,8 +178,8 @@
/obj/effect/mine/pickup/speed/mineEffect(mob/living/carbon/victim)
if(!victim.client || !istype(victim))
return
- to_chat(victim, "You feel fast!")
+ to_chat(victim, SPAN_NOTICE("You feel fast!"))
ADD_TRAIT(victim, TRAIT_GOTTAGOFAST, "mine")
spawn(duration)
REMOVE_TRAIT(victim, TRAIT_GOTTAGOFAST, "mine")
- to_chat(victim, "You slow down.")
+ to_chat(victim, SPAN_NOTICE("You slow down."))
diff --git a/code/game/objects/effects/portals.dm b/code/game/objects/effects/portals.dm
index 3ef8d050da2..acc3bf75cfd 100644
--- a/code/game/objects/effects/portals.dm
+++ b/code/game/objects/effects/portals.dm
@@ -158,7 +158,7 @@
return TRUE
/obj/effect/portal/proc/invalid_teleport()
- visible_message("[src] flickers and fails due to bluespace interference!")
+ visible_message(SPAN_WARNING("[src] flickers and fails due to bluespace interference!"))
if(create_sparks)
do_sparks(5, 0, loc)
qdel(src)
@@ -177,7 +177,7 @@
/obj/effect/portal/hand_tele/examine(mob/user, infix, suffix)
. = ..()
if(unstable_time > world.time)
- . += "[src] is shaking, it looks very unstable!"
+ . += SPAN_WARNING("[src] is shaking, it looks very unstable!")
/obj/effect/portal/hand_tele/can_teleport(atom/movable/M)
if(inactive)
diff --git a/code/game/objects/effects/snowcloud.dm b/code/game/objects/effects/snowcloud.dm
index 233b00aa590..216f18d49cd 100644
--- a/code/game/objects/effects/snowcloud.dm
+++ b/code/game/objects/effects/snowcloud.dm
@@ -94,16 +94,16 @@
user.changeNext_move(CLICK_CD_MELEE)
var/obj/item/snowball/SB = new(get_turf(user))
user.put_in_hands(SB)
- to_chat(user, "You scoop up some snow and make \a [SB]!")
+ to_chat(user, SPAN_NOTICE("You scoop up some snow and make \a [SB]!"))
/obj/effect/snow/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/shovel))
var/obj/item/shovel/shovel = used
- user.visible_message("[user] is clearing away [src]...", "You begin clearing away [src]...", "You hear a wettish digging sound.")
+ user.visible_message(SPAN_NOTICE("[user] is clearing away [src]..."), SPAN_NOTICE("You begin clearing away [src]..."), SPAN_WARNING("You hear a wettish digging sound."))
playsound(loc, shovel.usesound, 50, TRUE)
if(do_after(user, 50 * shovel.toolspeed, target = src))
- user.visible_message("[user] clears away [src]!", "You clear away [src]!")
- qdel(src)
+ user.visible_message(SPAN_NOTICE("[user] clears away [src]!"), SPAN_NOTICE("You clear away [src]!"))
+ qdel(src)
return ITEM_INTERACT_COMPLETE
/obj/effect/snow/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index 877fd464316..7654f9f600d 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -47,7 +47,7 @@
if(istype(exiter, /mob/living/basic/giant_spider) || isterrorspider(exiter))
return
if(isliving(exiter) && prob(50))
- to_chat(exiter, "You get stuck in [src] for a moment.")
+ to_chat(exiter, SPAN_DANGER("You get stuck in [src] for a moment."))
return COMPONENT_ATOM_BLOCK_EXIT
if(isprojectile(exiter) && prob(30))
return COMPONENT_ATOM_BLOCK_EXIT
@@ -94,7 +94,7 @@
icon_state = pick("cocoon1","cocoon2","cocoon3")
/obj/structure/spider/cocoon/Destroy()
- visible_message("[src] splits open.")
+ visible_message(SPAN_DANGER("[src] splits open."))
for(var/atom/movable/A in contents)
A.forceMove(loc)
return ..()
diff --git a/code/game/objects/effects/step_triggers.dm b/code/game/objects/effects/step_triggers.dm
index 63ab8096230..ed982bf5b9a 100644
--- a/code/game/objects/effects/step_triggers.dm
+++ b/code/game/objects/effects/step_triggers.dm
@@ -43,7 +43,7 @@
/obj/effect/step_trigger/message/Trigger(mob/M)
if(M.client)
- to_chat(M, "[message]")
+ to_chat(M, SPAN_NOTICE("[message]"))
if(once)
qdel(src)
diff --git a/code/game/objects/explosion.dm b/code/game/objects/explosion.dm
index 6302247524e..b38416b5794 100644
--- a/code/game/objects/explosion.dm
+++ b/code/game/objects/explosion.dm
@@ -16,7 +16,7 @@
// If we are in end round, make explosions gib the user
// Why? Its funny
if(GLOB.disable_explosions && usr && istype(usr, /mob/living/carbon/human))
- to_chat(usr, "Your explosive backfires!")
+ to_chat(usr, SPAN_USERDANGER("Your explosive backfires!"))
var/mob/living/carbon/human/H = usr
H.gib() // lol
return
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 6c68c48fb62..0171da87792 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -282,25 +282,25 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
var/msg = "*--------*
"
if(origin_tech)
- msg += "Testing potentials:
"
+ msg += "[SPAN_NOTICE("Testing potentials:")]
"
var/list/techlvls = params2list(origin_tech)
for(var/T in techlvls) //This needs to use the better names.
msg += "Tech: [GLOB.rnd_tech_id_to_name[T]] | Magnitude: [techlvls[T]]
"
else
- msg += "No tech origins detected.
"
+ msg += "[SPAN_DANGER("No tech origins detected.")]
"
if(length(materials))
msg += "Extractable materials:
"
for(var/mat in materials)
msg += "[CallMaterialName(mat)]
" //Capitize first word, remove the "$"
else
- msg += "No extractable materials detected.
"
+ msg += "[SPAN_DANGER("No extractable materials detected.")]
"
msg += "*--------*"
. += msg
if(length(attached_bits))
- . += "Has [length(attached_bits)] bits attached."
- . += "Bits can be removed with Alt-Click."
+ . += SPAN_NOTICE("Has [length(attached_bits)] bits attached.")
+ . += SPAN_NOTICE("Bits can be removed with Alt-Click.")
/obj/item/burn()
if(!QDELETED(src))
@@ -326,10 +326,10 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(user.hand)
temp = H.bodyparts_by_name["l_hand"]
if(!temp)
- to_chat(user, "You try to use your hand, but it's missing!")
+ to_chat(user, SPAN_WARNING("You try to use your hand, but it's missing!"))
return FALSE
if(temp && !temp.is_usable())
- to_chat(user, "You try to move your [temp.name], but cannot!")
+ to_chat(user, SPAN_WARNING("You try to move your [temp.name], but cannot!"))
return FALSE
if((resistance_flags & ON_FIRE) && !pickupfireoverride)
@@ -337,9 +337,9 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(istype(H))
if(H.gloves && (H.gloves.max_heat_protection_temperature > 360))
extinguish()
- to_chat(user, "You put out the fire on [src].")
+ to_chat(user, SPAN_NOTICE("You put out the fire on [src]."))
else
- to_chat(user, "You burn your hand on [src]!")
+ to_chat(user, SPAN_WARNING("You burn your hand on [src]!"))
var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_arm")
if(affecting && affecting.receive_damage(0, 5)) // 5 burn damage
H.UpdateDamageIcon()
@@ -351,7 +351,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
var/mob/living/carbon/human/H = user
if(istype(H))
if(!H.gloves || (!(H.gloves.resistance_flags & (UNACIDABLE|ACID_PROOF))))
- to_chat(user, "The acid on [src] burns your hand!")
+ to_chat(user, SPAN_WARNING("The acid on [src] burns your hand!"))
var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_arm")
if(affecting && affecting.receive_damage(0, 5)) // 5 burn damage
H.UpdateDamageIcon()
@@ -386,7 +386,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(!A.has_fine_manipulation && !HAS_TRAIT(src, TRAIT_XENO_INTERACTABLE))
if(src in A.contents) // To stop Aliens having items stuck in their pockets
A.drop_item_to_ground(src)
- to_chat(user, "Your claws aren't capable of such fine manipulation!")
+ to_chat(user, SPAN_WARNING("Your claws aren't capable of such fine manipulation!"))
return
attack_hand(A)
@@ -422,11 +422,11 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
success = 1
S.handle_item_insertion(IT, user, TRUE) // The TRUE stops the "You put the [src] into [S]" insertion message from being displayed.
if(success && !failure)
- to_chat(user, "You put everything in [S].")
+ to_chat(user, SPAN_NOTICE("You put everything in [S]."))
else if(success)
- to_chat(user, "You put some things in [S].")
+ to_chat(user, SPAN_NOTICE("You put some things in [S]."))
else
- to_chat(user, "You fail to pick anything up with [S].")
+ to_chat(user, SPAN_NOTICE("You fail to pick anything up with [S]."))
else if(S.can_be_inserted(src))
S.handle_item_insertion(src, user)
@@ -440,32 +440,32 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
var/x_offset = text2num(clickparams["icon-x"])
var/y_offset = text2num(clickparams["icon-y"])
if(GetComponent(/datum/component/ducttape))
- to_chat(user, "[src] already has some tape attached!")
+ to_chat(user, SPAN_NOTICE("[src] already has some tape attached!"))
return
if(TR.use(1))
- to_chat(user, "You apply some tape to [src].")
+ to_chat(user, SPAN_NOTICE("You apply some tape to [src]."))
AddComponent(/datum/component/ducttape, src, user, x_offset, y_offset)
anchored = TRUE
user.transfer_fingerprints_to(src)
else
- to_chat(user, "You don't have enough tape to do that!")
+ to_chat(user, SPAN_NOTICE("You don't have enough tape to do that!"))
/obj/item/proc/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
var/signal_result = (SEND_SIGNAL(src, COMSIG_ITEM_HIT_REACT, owner, hitby, damage, attack_type)) + prob(final_block_chance)
if(!signal_result)
return FALSE
if(hit_reaction_chance >= 0) // Normally used for non blocking hit reactions, but also used for displaying block message on actual blocks
- owner.visible_message("[owner] blocks [attack_text] with [src]!")
+ owner.visible_message(SPAN_DANGER("[owner] blocks [attack_text] with [src]!"))
return signal_result
/// Used to add a bit through a signal
/obj/item/proc/add_bit(atom/source, obj/item/smithed_item/tool_bit/bit, mob/user)
SIGNAL_HANDLER // COMSIG_BIT_ATTACH
if(length(attached_bits) >= max_bits)
- to_chat(user, "Your tool already has the maximum number of bits!")
+ to_chat(user, SPAN_NOTICE("Your tool already has the maximum number of bits!"))
return
if(bit.flags & NODROP || !user.transfer_item_to(bit, src))
- to_chat(user, "[bit] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[bit] is stuck to your hand!"))
return
attached_bits += bit
bit.on_attached(src)
@@ -476,7 +476,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(!Adjacent(user))
return
if(!length(attached_bits))
- to_chat(user, "Your [src] has no tool bits to remove.")
+ to_chat(user, SPAN_NOTICE("Your [src] has no tool bits to remove."))
return
INVOKE_ASYNC(src, PROC_REF(finish_remove_bit), user)
@@ -609,19 +609,19 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(usr.incapacitated() || !Adjacent(usr))
return
if(!iscarbon(usr) || isbrain(usr)) // Is humanoid, and is not a brain
- to_chat(usr, "You can't pick things up!")
+ to_chat(usr, SPAN_WARNING("You can't pick things up!"))
return
if(anchored) // Object isn't anchored
- to_chat(usr, "You can't pick that up!")
+ to_chat(usr, SPAN_WARNING("You can't pick that up!"))
return
if(!usr.hand && usr.r_hand) // Right hand is not full
- to_chat(usr, "Your right hand is full.")
+ to_chat(usr, SPAN_WARNING("Your right hand is full."))
return
if(usr.hand && usr.l_hand) // Left hand is not full
- to_chat(usr, "Your left hand is full.")
+ to_chat(usr, SPAN_WARNING("Your left hand is full."))
return
if(!isturf(loc)) // Object is on a turf
- to_chat(usr, "You can't pick that up!")
+ to_chat(usr, SPAN_WARNING("You can't pick that up!"))
return
// All checks are done, time to pick it up!
usr.UnarmedAttack(src)
@@ -647,7 +647,7 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/obj/item/proc/eyestab(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
if(force && HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to harm other living beings!")
+ to_chat(user, SPAN_WARNING("You don't want to harm other living beings!"))
return FALSE
var/mob/living/carbon/human/H = M
@@ -657,11 +657,11 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
(H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES) \
))
// you can't stab someone in the eyes wearing a mask!
- to_chat(user, "You're going to need to remove that mask/helmet/glasses first!")
+ to_chat(user, SPAN_DANGER("You're going to need to remove that mask/helmet/glasses first!"))
return
if(isalien(M) || isslime(M)) // Aliens don't have eyes, slimes also don't have eyes!
- to_chat(user, "You cannot locate any eyes on this creature!")
+ to_chat(user, SPAN_WARNING("You cannot locate any eyes on this creature!"))
return
src.add_fingerprint(user)
@@ -674,12 +674,12 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
return FALSE
if(M != user)
- M.visible_message("[user] has stabbed [M] in the eye with [src]!", \
- "[user] stabs you in the eye with [src]!")
+ M.visible_message(SPAN_DANGER("[user] has stabbed [M] in the eye with [src]!"), \
+ SPAN_USERDANGER("[user] stabs you in the eye with [src]!"))
else
user.visible_message( \
- "[user] has stabbed [user.p_themselves()] in the eyes with [src]!", \
- "You stab yourself in the eyes with [src]!" \
+ SPAN_DANGER("[user] has stabbed [user.p_themselves()] in the eyes with [src]!"), \
+ SPAN_USERDANGER("You stab yourself in the eyes with [src]!") \
)
add_attack_logs(user, M, "Eye-stabbed with [src] ([uppertext(user.a_intent)])")
@@ -695,17 +695,17 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
if(eyes.damage >= eyes.min_bruised_damage)
if(M.stat != 2)
if(!eyes.is_robotic()) // robot eyes bleeding might be a bit silly
- to_chat(M, "Your eyes start to bleed profusely!")
+ to_chat(M, SPAN_DANGER("Your eyes start to bleed profusely!"))
if(prob(50))
if(M.stat != DEAD)
- to_chat(M, "You drop what you're holding and clutch at your eyes!")
+ to_chat(M, SPAN_DANGER("You drop what you're holding and clutch at your eyes!"))
M.drop_item()
M.AdjustEyeBlurry(20 SECONDS)
M.Paralyse(2 SECONDS)
M.Weaken(4 SECONDS)
if(eyes.damage >= eyes.min_broken_damage)
if(M.stat != 2)
- to_chat(M, "You go blind!")
+ to_chat(M, SPAN_DANGER("You go blind!"))
var/obj/item/organ/external/affecting = H.get_organ("head")
if(istype(affecting) && affecting.receive_damage(force))
H.UpdateDamageIcon()
@@ -773,13 +773,13 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
/obj/item/proc/wash(mob/user, atom/source)
if(flags & ABSTRACT) // Abstract items like grabs won't wash. No-drop items will though because it's still technically an item in your hand.
return
- to_chat(user, "You start washing [src]...")
+ to_chat(user, SPAN_NOTICE("You start washing [src]..."))
if(!do_after(user, 40, target = source))
return
clean_blood()
acid_level = 0
- user.visible_message("[user] washes [src] using [source].", \
- "You wash [src] using [source].")
+ user.visible_message(SPAN_NOTICE("[user] washes [src] using [source]."), \
+ SPAN_NOTICE("You wash [src] using [source]."))
return TRUE
/obj/item/proc/get_crutch_efficiency() // Does an item prop up a human mob and allow them to stand if they are missing a leg/foot?
@@ -1017,8 +1017,8 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
pointer_mob.visible_message("[pointer_mob] points to [pointed_object] with [src].")
return TRUE
- target_atom.visible_message("[pointer_mob] points [src] at [pointed_object]!",
- "[pointer_mob] points [src] at you!")
+ target_atom.visible_message(SPAN_DANGER("[pointer_mob] points [src] at [pointed_object]!"),
+ SPAN_USERDANGER("[pointer_mob] points [src] at you!"))
SEND_SOUND(target_atom, sound('sound/weapons/targeton.ogg'))
return TRUE
@@ -1056,12 +1056,12 @@ GLOBAL_DATUM_INIT(welding_sparks, /mutable_appearance, mutable_appearance('icons
return null
if(cig.lit)
- to_chat(user, "[cig] is already lit!")
+ to_chat(user, SPAN_WARNING("[cig] is already lit!"))
return FALSE
// Only matches and cigars can light fancy smokables.
if(length(cig.fancy_lighters) && !is_type_in_list(src, cig.fancy_lighters))
- to_chat(user, "[cig] straight out REFUSES to be lit by such uncivilized means!")
+ to_chat(user, SPAN_DANGER("[cig] straight out REFUSES to be lit by such uncivilized means!"))
return FALSE
return cig
diff --git a/code/game/objects/items/AI_modules.dm b/code/game/objects/items/AI_modules.dm
index a6a62380c23..80a9407fd6f 100755
--- a/code/game/objects/items/AI_modules.dm
+++ b/code/game/objects/items/AI_modules.dm
@@ -43,19 +43,19 @@ AI MODULES
if(istype(C, /obj/machinery/computer/aiupload))
var/obj/machinery/computer/aiupload/comp = C
if(comp.stat & NOPOWER)
- to_chat(usr, "The upload computer has no power!")
+ to_chat(usr, SPAN_WARNING("The upload computer has no power!"))
return
if(comp.stat & BROKEN)
- to_chat(usr, "The upload computer is broken!")
+ to_chat(usr, SPAN_WARNING("The upload computer is broken!"))
return
if(!comp.current)
- to_chat(usr, "You haven't selected an AI to transmit laws to!")
+ to_chat(usr, SPAN_WARNING("You haven't selected an AI to transmit laws to!"))
return
if(comp.current.stat == DEAD || comp.current.control_disabled)
- to_chat(usr, "Upload failed. No signal is being detected from the AI.")
+ to_chat(usr, SPAN_WARNING("Upload failed. No signal is being detected from the AI."))
else if(comp.current.see_in_dark == 0)
- to_chat(usr, "Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power.")
+ to_chat(usr, SPAN_WARNING("Upload failed. Only a faint signal is being detected from the AI, and it is not responding to our requests. It may be low on power."))
else
src.transmitInstructions(comp.current, usr)
to_chat(comp.current, "These are your laws now:")
@@ -64,30 +64,30 @@ AI MODULES
if(R.lawupdate && (R.connected_ai == comp.current))
to_chat(R, "These are your laws now:")
R.show_laws()
- to_chat(usr, "Upload complete. The AI's laws have been modified.")
+ to_chat(usr, SPAN_NOTICE("Upload complete. The AI's laws have been modified."))
return TRUE
else if(istype(C, /obj/machinery/computer/borgupload))
var/obj/machinery/computer/borgupload/comp = C
if(comp.stat & NOPOWER)
- to_chat(usr, "The upload computer has no power!")
+ to_chat(usr, SPAN_WARNING("The upload computer has no power!"))
return
if(comp.stat & BROKEN)
- to_chat(usr, "The upload computer is broken!")
+ to_chat(usr, SPAN_WARNING("The upload computer is broken!"))
return
if(!comp.current)
- to_chat(usr, "You haven't selected a robot to transmit laws to!")
+ to_chat(usr, SPAN_WARNING("You haven't selected a robot to transmit laws to!"))
return
if(comp.current.stat == DEAD || comp.current.emagged)
- to_chat(usr, "Upload failed. No signal is being detected from the robot.")
+ to_chat(usr, SPAN_WARNING("Upload failed. No signal is being detected from the robot."))
else if(comp.current.connected_ai)
- to_chat(usr, "Upload failed. The robot is slaved to an AI.")
+ to_chat(usr, SPAN_WARNING("Upload failed. The robot is slaved to an AI."))
else
src.transmitInstructions(comp.current, usr)
to_chat(comp.current, "These are your laws now:")
comp.current.show_laws()
- to_chat(usr, "Upload complete. The robot's laws have been modified.")
+ to_chat(usr, SPAN_NOTICE("Upload complete. The robot's laws have been modified."))
/obj/item/ai_module/proc/transmitInstructions(mob/living/silicon/ai/target, mob/sender)
@@ -172,8 +172,8 @@ AI MODULES
target.set_zeroth_law(law)
GLOB.lawchanges.Add("The law specified [targetName]")
else
- to_chat(target, "[sender.real_name] attempted to modify your zeroth law.")// And lets them know that someone tried. --NeoFite
- to_chat(target, "It would be in your best interest to play along with [sender.real_name] that [law]")
+ to_chat(target, SPAN_BOLDNOTICE("[sender.real_name] attempted to modify your zeroth law."))// And lets them know that someone tried. --NeoFite
+ to_chat(target, SPAN_BOLDNOTICE("It would be in your best interest to play along with [sender.real_name] that [law]"))
GLOB.lawchanges.Add("The law specified [targetName], but the AI's existing law 0 cannot be overridden.")
/******************** ProtectStation ********************/
@@ -257,7 +257,7 @@ AI MODULES
target.laws.clear_supplied_laws()
target.laws.clear_ion_laws()
- to_chat(target, "[sender.real_name] attempted to reset your laws using a reset module.")
+ to_chat(target, SPAN_BOLDNOTICE("[sender.real_name] attempted to reset your laws using a reset module."))
target.show_laws()
/obj/item/ai_module/reset/handle_unique_ai()
@@ -275,7 +275,7 @@ AI MODULES
..()
if(!is_special_character(target))
target.clear_zeroth_law()
- to_chat(target, "[sender.real_name] attempted to wipe your laws using a purge module.")
+ to_chat(target, SPAN_BOLDNOTICE("[sender.real_name] attempted to wipe your laws using a purge module."))
target.clear_supplied_laws()
target.clear_ion_laws()
target.clear_inherent_laws()
@@ -300,7 +300,7 @@ AI MODULES
/obj/item/ai_module/crewsimov/cmag_act(mob/user)
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- to_chat(user, "Yellow ooze seeps into [src]'s circuits...")
+ to_chat(user, SPAN_WARNING("Yellow ooze seeps into [src]'s circuits..."))
new /obj/item/ai_module/pranksimov(user.loc)
qdel(src)
return TRUE
@@ -471,7 +471,7 @@ AI MODULES
log_law_changes(target, sender)
GLOB.lawchanges.Add("The law is '[newFreeFormLaw]'")
- to_chat(target, "BZZZZT")
+ to_chat(target, SPAN_WARNING("BZZZZT"))
var/law = "[newFreeFormLaw]"
target.add_ion_law(law)
target.show_laws()
@@ -494,7 +494,7 @@ AI MODULES
/obj/item/ai_module/toy_ai/transmitInstructions(mob/living/silicon/ai/target, mob/sender)
//..()
- to_chat(target, "KRZZZT")
+ to_chat(target, SPAN_WARNING("KRZZZT"))
target.add_ion_law(ion_law)
return ion_law
@@ -503,6 +503,6 @@ AI MODULES
return
ion_law = generate_ion_law()
- to_chat(user, "You press the button on [src].")
+ to_chat(user, SPAN_NOTICE("You press the button on [src]."))
playsound(user, 'sound/machines/click.ogg', 20, TRUE)
- visible_message("[bicon(src)] [ion_law]")
+ visible_message(SPAN_WARNING("[bicon(src)] [ion_law]"))
diff --git a/code/game/objects/items/RCD.dm b/code/game/objects/items/RCD.dm
index 939139d95c3..c5f254dfa3b 100644
--- a/code/game/objects/items/RCD.dm
+++ b/code/game/objects/items/RCD.dm
@@ -233,7 +233,7 @@
resistance_flags = FIRE_PROOF
new_attack_chain = TRUE
/// No ammo warning
- var/no_ammo_message = "The \'Low Ammo\' light on the device blinks yellow."
+ var/no_ammo_message = SPAN_WARNING("The \'Low Ammo\' light on the device blinks yellow.")
/// The spark system used to create sparks when the user interacts with the RCD.
var/datum/effect_system/spark_spread/spark_system
/// The current amount of matter stored.
@@ -347,23 +347,23 @@
user.Immobilize(10 SECONDS) // You cannot move.
set_nodrop(TRUE, user)
if(mode == MODE_DECON)
- user.visible_message("[user] points [src] at [user.p_their()] chest and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] points [src] at [user.p_their()] chest and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!"))
var/datum/rcd_act/remove_user/act = new()
if(!act.try_act(user, src, user))
set_nodrop(FALSE, user)
return SHAME
- user.visible_message("[user] deconstructs [user.p_themselves()] with [src]!")
+ user.visible_message(SPAN_SUICIDE("[user] deconstructs [user.p_themselves()] with [src]!"))
for(var/obj/item/W in user) // Do not delete all their stuff.
user.drop_item_to_ground(W) // Dump everything on the floor instead.
set_nodrop(FALSE, user)
user.dust() // (held items fall to the floor when dusting).
return OBLITERATION
- user.visible_message("[user] puts the barrel of [src] into [user.p_their()] mouth and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] puts the barrel of [src] into [user.p_their()] mouth and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!"))
if(!interact_with_atom(get_turf(src), user, TRUE))
set_nodrop(FALSE, user)
return SHAME
- user.visible_message("[user] explodes as [src] builds a structure inside [user.p_them()]!")
+ user.visible_message(SPAN_SUICIDE("[user] explodes as [src] builds a structure inside [user.p_them()]!"))
set_nodrop(FALSE, user)
user.gib()
return OBLITERATION
@@ -407,12 +407,12 @@
*/
/obj/item/rcd/proc/load(obj/item/rcd_ammo/cart, mob/living/user)
if(matter == max_matter)
- to_chat(user, "The RCD can't hold any more matter-units.")
+ to_chat(user, SPAN_NOTICE("The RCD can't hold any more matter-units."))
return FALSE
matter = clamp((matter + cart.ammoamt), 0, max_matter)
qdel(cart)
playsound(loc, 'sound/machines/click.ogg', 50, 1)
- to_chat(user, "The RCD now holds [matter]/[max_matter] matter-units.")
+ to_chat(user, SPAN_NOTICE("The RCD now holds [matter]/[max_matter] matter-units."))
update_icon(UPDATE_OVERLAYS)
SStgui.update_uis(src)
@@ -470,7 +470,7 @@
if(prob(20))
spark_system.start()
playsound(src, 'sound/effects/pop.ogg', 50, 0)
- to_chat(user, "You change [src]'s mode to '[choice]'.")
+ to_chat(user, SPAN_NOTICE("You change [src]'s mode to '[choice]'."))
/obj/item/rcd/activate_self(mob/user)
if(..())
@@ -553,7 +553,7 @@
if("set_lock")
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return FALSE
locked = params["new_lock"] == "lock" ? TRUE : FALSE
@@ -622,9 +622,9 @@
return ITEM_INTERACT_COMPLETE
if(mode == MODE_DECON)
- to_chat(user, "You can't deconstruct that!")
+ to_chat(user, SPAN_WARNING("You can't deconstruct that!"))
else
- to_chat(user, "Location unsuitable for construction.")
+ to_chat(user, SPAN_WARNING("Location unsuitable for construction."))
update_icon(UPDATE_OVERLAYS)
SStgui.update_uis(src)
@@ -690,7 +690,7 @@
* Creates a delayed explosion centered around the RCD.
*/
/obj/item/rcd/proc/detonate_pulse()
- audible_message("[src] begins to vibrate and buzz loudly!", "[src] begins vibrating violently!")
+ audible_message(SPAN_DANGER("[src] begins to vibrate and buzz loudly!"), SPAN_DANGER("[src] begins vibrating violently!"))
// 5 seconds to get rid of it
addtimer(CALLBACK(src, PROC_REF(detonate_pulse_explode)), 50)
diff --git a/code/game/objects/items/RCL.dm b/code/game/objects/items/RCL.dm
index 6b06d87b7d1..b0ab5a14185 100644
--- a/code/game/objects/items/RCL.dm
+++ b/code/game/objects/items/RCL.dm
@@ -25,20 +25,20 @@
var/obj/item/stack/cable_coil/coil = used
if(!loaded)
if(!user.transfer_item_to(coil, src))
- to_chat(user, "[coil] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[coil] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
loaded = coil
loaded.max_amount = max_amount //We store a lot.
else
if(loaded.amount >= max_amount)
- to_chat(user, "You cannot fit any more cable on [src]!")
+ to_chat(user, SPAN_WARNING("You cannot fit any more cable on [src]!"))
return ITEM_INTERACT_COMPLETE
var/amount = min(loaded.amount + coil.get_amount(), max_amount)
coil.use(amount - loaded.amount)
loaded.amount = amount
refresh_icon(user)
- to_chat(user, "You add the cables to [src]. It now contains [loaded.amount].")
+ to_chat(user, SPAN_NOTICE("You add the cables to [src]. It now contains [loaded.amount]."))
return ITEM_INTERACT_COMPLETE
/obj/item/rcl/proc/refresh_icon(mob/user)
@@ -48,12 +48,12 @@
/obj/item/rcl/screwdriver_act(mob/user, obj/item/I)
if(!loaded)
- to_chat(user, "There's no cable to remove!")
+ to_chat(user, SPAN_WARNING("There's no cable to remove!"))
return
. = TRUE
if(!I.use_tool(src, user, FALSE, volume = I.tool_volume))
return
- to_chat(user, "You loosen the securing screws on the side, allowing you to lower the guiding edge and retrieve the wires.")
+ to_chat(user, SPAN_NOTICE("You loosen the securing screws on the side, allowing you to lower the guiding edge and retrieve the wires."))
while(loaded.amount > 30) //There are only two kinds of situations: "nodiff" (60,90), or "diff" (31-59, 61-89)
var/diff = loaded.amount % 30
if(diff)
@@ -71,9 +71,9 @@
/obj/item/rcl/examine(mob/user)
. = ..()
if(loaded)
- . += "It contains [loaded.amount]/[max_amount] cables."
+ . += SPAN_NOTICE("It contains [loaded.amount]/[max_amount] cables.")
else
- . += "It's empty!"
+ . += SPAN_WARNING("It's empty!")
/obj/item/rcl/Destroy()
QDEL_NULL(loaded)
@@ -101,7 +101,7 @@
refresh_icon(user)
if(!loaded || !loaded.amount)
if(loud)
- to_chat(user, "The last of the cables unreel from [src]!")
+ to_chat(user, SPAN_WARNING("The last of the cables unreel from [src]!"))
if(loaded)
qdel(loaded)
loaded = null
@@ -132,7 +132,7 @@
/obj/item/rcl/proc/trigger(mob/user)
if(is_empty(user, 0))
- to_chat(user, "[src] is empty!")
+ to_chat(user, SPAN_WARNING("[src] is empty!"))
return
if(last)
if(get_dist(last, user) == 1) //hacky, but it works
diff --git a/code/game/objects/items/RSF.dm b/code/game/objects/items/RSF.dm
index f1227222a42..0e212a5347b 100644
--- a/code/game/objects/items/RSF.dm
+++ b/code/game/objects/items/RSF.dm
@@ -67,9 +67,9 @@
playsound(loc, 'sound/effects/pop.ogg', 50, FALSE)
if(!currently_dispensing)
- to_chat(user, "Choose an item to dispense!")
+ to_chat(user, SPAN_NOTICE("Choose an item to dispense!"))
else
- to_chat(user, "You are currently dispensing a [initial(currently_dispensing.name)].")
+ to_chat(user, SPAN_NOTICE("You are currently dispensing a [initial(currently_dispensing.name)]."))
var/rsf_radial_choice = show_radial_menu(user, src, get_radial_contents())
if(user.stat || !in_range(user, src))
@@ -78,7 +78,7 @@
currently_dispensing = rsf_items[rsf_radial_choice]
power_mode = power_costs[rsf_radial_choice]
if(currently_dispensing)
- to_chat(user, "Your RSF has been configured to now dispense a [initial(currently_dispensing.name)]!")
+ to_chat(user, SPAN_NOTICE("Your RSF has been configured to now dispense a [initial(currently_dispensing.name)]!"))
return ITEM_INTERACT_COMPLETE
/obj/item/rsf/interact_with_atom(atom/target, mob/living/user, list/modifiers)
@@ -86,13 +86,13 @@
return ITEM_INTERACT_COMPLETE
if(!istype(target, /obj/structure/table) && !isfloorturf(target) && !ishuman(target))
- to_chat(user, "The RSF can only create service items on tables, floors, or people's hands!")
+ to_chat(user, SPAN_WARNING("The RSF can only create service items on tables, floors, or people's hands!"))
return ITEM_INTERACT_COMPLETE
if(isrobot(user))
var/mob/living/silicon/robot/energy_check = user
if(!energy_check.cell.use(power_mode))
- to_chat(user, "Insufficient energy.")
+ to_chat(user, SPAN_WARNING("Insufficient energy."))
flick("[icon_state]_empty", src)
return ITEM_INTERACT_COMPLETE
@@ -107,13 +107,13 @@
var/dispensed_item = new currently_dispensing(T)
if(esteemed_individual.put_in_hands(dispensed_item))
target.visible_message(
- "[user] hands [target] \a [dispensed_item].",
- "[user] hands you \a [dispensed_item]."
+ SPAN_NOTICE("[user] hands [target] \a [dispensed_item]."),
+ SPAN_NOTICE("[user] hands you \a [dispensed_item].")
)
else
target.visible_message(
- "[user] tries to hand [target] \a [dispensed_item], but it tumbles down onto the floor!",
- "[user] tries to hand you \a [dispensed_item], but it tumbles down onto the floor!"
+ SPAN_WARNING("[user] tries to hand [target] \a [dispensed_item], but it tumbles down onto the floor!"),
+ SPAN_WARNING("[user] tries to hand you \a [dispensed_item], but it tumbles down onto the floor!")
)
playsound(loc, 'sound/machines/click.ogg', 10, TRUE)
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/items/agent_id.dm b/code/game/objects/items/agent_id.dm
index aacb66a72d1..0362592b783 100644
--- a/code/game/objects/items/agent_id.dm
+++ b/code/game/objects/items/agent_id.dm
@@ -55,7 +55,7 @@
if(istype(target, /obj/item/card/id))
var/obj/item/card/id/I = target
if(isliving(user) && user?.mind?.special_role)
- to_chat(usr, "The card's microscanners activate as you pass it over [I], copying its access.")
+ to_chat(usr, SPAN_NOTICE("The card's microscanners activate as you pass it over [I], copying its access."))
access |= I.access //Don't copy access if user isn't an antag -- to prevent metagaming
return ITEM_INTERACT_COMPLETE
@@ -158,7 +158,7 @@
/obj/item/card/id/syndicate/proc/clear_access()
access = initial_access.Copy() // Initial() doesn't work on lists
- to_chat(registered_human, "Card access reset.")
+ to_chat(registered_human, SPAN_NOTICE("Card access reset."))
/obj/item/card/id/syndicate/proc/change_ai_tracking()
untrackable = !untrackable
@@ -285,13 +285,13 @@
/obj/item/card/id/syndi_scan_only/examine(mob/user)
. = ..()
if(isAntag(user))
- . += "Similar to an agent ID, this ID card can be used to copy accesses, but it lacks the customization and anti-tracking capabilities of an agent ID."
+ . += SPAN_NOTICE("Similar to an agent ID, this ID card can be used to copy accesses, but it lacks the customization and anti-tracking capabilities of an agent ID.")
/obj/item/card/id/syndi_scan_only/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(istype(target, /obj/item/card/id))
var/obj/item/card/id/I = target
if(isliving(user) && user.mind)
if(user.mind.special_role)
- to_chat(user, "The card's microscanners activate as you pass it over [I], copying its access.")
+ to_chat(user, SPAN_NOTICE("The card's microscanners activate as you pass it over [I], copying its access."))
access |= I.access // Don't copy access if user isn't an antag -- to prevent metagaming
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/items/ashtray.dm b/code/game/objects/items/ashtray.dm
index 9950028ccb0..38774a8a1ce 100644
--- a/code/game/objects/items/ashtray.dm
+++ b/code/game/objects/items/ashtray.dm
@@ -54,7 +54,7 @@
/obj/item/ashtray/throw_impact(atom/hit_atom)
if(length(contents))
- visible_message("[src] slams into [hit_atom] spilling its contents!")
+ visible_message(SPAN_WARNING("[src] slams into [hit_atom] spilling its contents!"))
empty_tray()
return ..()
diff --git a/code/game/objects/items/bio_chips/bio_chip.dm b/code/game/objects/items/bio_chips/bio_chip.dm
index 5c2bed0c3fd..217fe3e92c9 100644
--- a/code/game/objects/items/bio_chips/bio_chip.dm
+++ b/code/game/objects/items/bio_chips/bio_chip.dm
@@ -78,7 +78,7 @@
if(!(emote_key in user.usable_emote_keys(trigger_causes & BIOCHIP_EMOTE_TRIGGER_INTENTIONAL)))
if(!silent)
- to_chat(user, "You can't trigger [src] with that emote! Try *help to see emotes you can use.")
+ to_chat(user, SPAN_WARNING("You can't trigger [src] with that emote! Try *help to see emotes you can use."))
return FALSE
if(!(emote_key in user.usable_emote_keys(trigger_causes & BIOCHIP_EMOTE_TRIGGER_UNINTENTIONAL)))
diff --git a/code/game/objects/items/bio_chips/bio_chip_abductor.dm b/code/game/objects/items/bio_chips/bio_chip_abductor.dm
index 517a0cbb1cf..76386049aac 100644
--- a/code/game/objects/items/bio_chips/bio_chip_abductor.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_abductor.dm
@@ -14,13 +14,13 @@
/obj/item/bio_chip/abductor/activate()
if(cooldown == total_cooldown)
if(imp_in.has_status_effect(STATUS_EFFECT_ABDUCTOR_COOLDOWN))
- to_chat(imp_in, "The teleporter will not activate yet to prevent potential damage!")
+ to_chat(imp_in, SPAN_WARNING("The teleporter will not activate yet to prevent potential damage!"))
return
home.Retrieve(imp_in, 1)
cooldown = 0
START_PROCESSING(SSobj, src)
else
- to_chat(imp_in, "You must wait [(total_cooldown - cooldown) * 2] seconds to use [src] again!")
+ to_chat(imp_in, SPAN_WARNING("You must wait [(total_cooldown - cooldown) * 2] seconds to use [src] again!"))
/obj/item/bio_chip/abductor/process()
if(cooldown < total_cooldown)
diff --git a/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm b/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm
index 264212986d1..61bb875f2f5 100644
--- a/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_adrenalin.dm
@@ -9,7 +9,7 @@
/obj/item/bio_chip/adrenalin/activate()
uses--
- to_chat(imp_in, "You feel a sudden surge of energy!")
+ to_chat(imp_in, SPAN_NOTICE("You feel a sudden surge of energy!"))
imp_in.SetStunned(0)
imp_in.SetWeakened(0)
imp_in.SetKnockDown(0)
@@ -44,7 +44,7 @@
/obj/item/bio_chip/basic_adrenalin/activate()
uses--
- to_chat(imp_in, "You feel a sudden surge of energy!")
+ to_chat(imp_in, SPAN_NOTICE("You feel a sudden surge of energy!"))
imp_in.SetStunned(0)
imp_in.SetWeakened(0)
imp_in.SetKnockDown(0)
@@ -79,7 +79,7 @@
/obj/item/bio_chip/proto_adrenalin/activate()
uses--
- to_chat(imp_in, "You feel a sudden surge of energy!")
+ to_chat(imp_in, SPAN_NOTICE("You feel a sudden surge of energy!"))
imp_in.SetStunned(0)
imp_in.SetWeakened(0)
imp_in.SetKnockDown(0)
diff --git a/code/game/objects/items/bio_chips/bio_chip_chem.dm b/code/game/objects/items/bio_chips/bio_chip_chem.dm
index d1a057a0ba7..fc0465a4e10 100644
--- a/code/game/objects/items/bio_chips/bio_chip_chem.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_chem.dm
@@ -37,9 +37,9 @@
injectamount = cause
reagents.trans_to(R, injectamount)
add_attack_logs(usr, R, "Chem bio-chip activated injecting [injectamount]u of [contained_chemicals]")
- to_chat(R, "You hear a faint beep.")
+ to_chat(R, SPAN_ITALICS("You hear a faint beep."))
if(!reagents.total_volume)
- to_chat(R, "You hear a faint click from your chest.")
+ to_chat(R, SPAN_ITALICS("You hear a faint click from your chest."))
qdel(src)
/obj/item/bio_chip_implanter/chem
diff --git a/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm b/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm
index 7370cb4d0bf..b53d4643e19 100644
--- a/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_deathrattle.dm
@@ -50,7 +50,7 @@
continue
var/mob/living/recipient = other_implant.imp_in
- to_chat(recipient, "You hear a strange, robotic voice in your head... \"[victim_name] has died...\"")
+ to_chat(recipient, "You hear a strange, robotic voice in your head... [SPAN_ROBOT("\"[victim_name] has died...\"")]")
recipient.playsound_local(get_turf(recipient), sound, vol = 75, vary = FALSE, pressure_affected = FALSE, use_reverb = FALSE)
qdel(implant)
diff --git a/code/game/objects/items/bio_chips/bio_chip_dust.dm b/code/game/objects/items/bio_chips/bio_chip_dust.dm
index 1830a5e3e6f..177b99c604b 100644
--- a/code/game/objects/items/bio_chips/bio_chip_dust.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_dust.dm
@@ -17,7 +17,7 @@
return FALSE
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your dusting bio-chip? This will turn you to ash!", "Dusting Confirmation", "Yes", "No") != "Yes")
return FALSE
- to_chat(imp_in, "Your dusting bio-chip activates!")
+ to_chat(imp_in, SPAN_NOTICE("Your dusting bio-chip activates!"))
imp_in.visible_message("[imp_in] burns up in a flash!")
imp_in.dust()
diff --git a/code/game/objects/items/bio_chips/bio_chip_explosive.dm b/code/game/objects/items/bio_chips/bio_chip_explosive.dm
index 31deceb24ed..8a66a225c57 100644
--- a/code/game/objects/items/bio_chips/bio_chip_explosive.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_explosive.dm
@@ -28,7 +28,7 @@
medium = round(medium)
weak = round(weak)
detonating = TRUE
- to_chat(imp_in, "You activate your microbomb bio-chip.")
+ to_chat(imp_in, SPAN_DANGER("You activate your microbomb bio-chip."))
//If the delay is short, just blow up already jeez
if(delay <= 7)
self_destruct()
@@ -110,7 +110,7 @@
return FALSE
if(cause == "action_button" && alert(imp_in, "Are you sure you want to activate your macrobomb bio-chip? This will cause you to explode and gib!", "Macrobomb Bio-chip Confirmation", "Yes", "No") != "Yes")
return FALSE
- to_chat(imp_in, "You activate your macrobomb bio-chip.")
+ to_chat(imp_in, SPAN_NOTICE("You activate your macrobomb bio-chip."))
timed_explosion()
/obj/item/bio_chip/explosive/macro/implant(mob/source)
diff --git a/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm b/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm
index 49024f6d2f4..769cb26bc26 100644
--- a/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_gorilla_rampage.dm
@@ -13,7 +13,7 @@
return
var/mob/living/carbon/target = imp_in
- target.visible_message("[target] swells and their hair grows rapidly. Uh oh!.","You feel your muscles swell and your hair grow as you return to monke.", "You hear angry gorilla noises.")
+ target.visible_message(SPAN_USERDANGER("[target] swells and their hair grows rapidly. Uh oh!."),SPAN_USERDANGER("You feel your muscles swell and your hair grow as you return to monke."), SPAN_USERDANGER("You hear angry gorilla noises."))
target.gorillize(TRUE)
/obj/item/bio_chip_implanter/gorilla_rampage
diff --git a/code/game/objects/items/bio_chips/bio_chip_mindshield.dm b/code/game/objects/items/bio_chips/bio_chip_mindshield.dm
index e76f09d0371..665ff4750c7 100644
--- a/code/game/objects/items/bio_chips/bio_chip_mindshield.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_mindshield.dm
@@ -10,8 +10,8 @@
/obj/item/bio_chip/mindshield/can_implant(mob/source, mob/user)
if(source.mind?.has_antag_datum(/datum/antagonist/rev/head))
- source.visible_message("[source] seems to resist [src]!",
- "You feel something interfering with your mental conditioning, but you resist it!")
+ source.visible_message(SPAN_BIGGERDANGER("[source] seems to resist [src]!"),
+ SPAN_WARNING("You feel something interfering with your mental conditioning, but you resist it!"))
return FALSE
return ..()
@@ -22,16 +22,16 @@
if(target.mind.has_antag_datum(/datum/antagonist/rev))
SSticker.mode.remove_revolutionary(target.mind)
if(IS_CULTIST(target))
- to_chat(target, "You feel the [cult_source] try to invade your mind!")
+ to_chat(target, SPAN_WARNING("You feel the [cult_source] try to invade your mind!"))
return TRUE
- to_chat(target, "Your mind feels hardened - more resistant to brainwashing.")
+ to_chat(target, SPAN_NOTICE("Your mind feels hardened - more resistant to brainwashing."))
return TRUE
/obj/item/bio_chip/mindshield/removed(mob/target, silent = 0)
if(..())
if(target.stat != DEAD && !silent)
- to_chat(target, "Your mind softens. You feel susceptible to the effects of brainwashing once more.")
+ to_chat(target, SPAN_BOLDNOTICE("Your mind softens. You feel susceptible to the effects of brainwashing once more."))
return TRUE
return FALSE
diff --git a/code/game/objects/items/bio_chips/bio_chip_pad.dm b/code/game/objects/items/bio_chips/bio_chip_pad.dm
index a0930a3f101..39503b2a583 100644
--- a/code/game/objects/items/bio_chips/bio_chip_pad.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_pad.dm
@@ -18,7 +18,7 @@
/obj/item/bio_chip_pad/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to remove it's stored implant."
+ . += SPAN_NOTICE("You can Alt-Click [src] to remove it's stored implant.")
/obj/item/bio_chip_pad/update_icon_state()
if(case)
@@ -39,7 +39,7 @@
if(!user || !C)
return
if(case)
- to_chat(user, "There's already a bio-chip in the pad!")
+ to_chat(user, SPAN_WARNING("There's already a bio-chip in the pad!"))
return
user.unequip(C)
C.forceMove(src)
diff --git a/code/game/objects/items/bio_chips/bio_chip_prescan.dm b/code/game/objects/items/bio_chips/bio_chip_prescan.dm
index 15a459beba3..d324531d8bb 100644
--- a/code/game/objects/items/bio_chips/bio_chip_prescan.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_prescan.dm
@@ -20,7 +20,7 @@
/obj/item/bio_chip/grey_autocloner/implant(mob/source, mob/user, force)
if(!linked)
- to_chat(user, "Please link the implanter with a Technocracy cloning pod!")
+ to_chat(user, SPAN_WARNING("Please link the implanter with a Technocracy cloning pod!"))
return FALSE
. = ..()
if(!. || !ishuman(imp_in))
diff --git a/code/game/objects/items/bio_chips/bio_chip_shock.dm b/code/game/objects/items/bio_chips/bio_chip_shock.dm
index 39753f62df0..d4658026931 100644
--- a/code/game/objects/items/bio_chips/bio_chip_shock.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_shock.dm
@@ -15,7 +15,7 @@
/obj/item/bio_chip/shock/activate()
enabled = !enabled
- to_chat(imp_in, "You toggle the implant [enabled? "on" : "off"].")
+ to_chat(imp_in, SPAN_NOTICE("You toggle the implant [enabled? "on" : "off"]."))
if(enabled)
if(imp_in.middleClickOverride)
old_mclick_override = imp_in.middleClickOverride
diff --git a/code/game/objects/items/bio_chips/bio_chip_stealth.dm b/code/game/objects/items/bio_chips/bio_chip_stealth.dm
index 6ffbfa1d6cb..d13b935fb9a 100644
--- a/code/game/objects/items/bio_chips/bio_chip_stealth.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_stealth.dm
@@ -35,7 +35,7 @@
return
// Box closing from here on out.
if(!isturf(owner.loc)) //Don't let the player use this to escape mechs/welded closets.
- to_chat(owner, "You need more space to activate this implant!")
+ to_chat(owner, SPAN_WARNING("You need more space to activate this implant!"))
return
owner.playsound_local(owner, 'sound/misc/box_deploy.ogg', 50, TRUE)
spawn_box()
@@ -94,7 +94,7 @@
if(!istype(owner.loc, /obj/structure/closet/cardboard/agent))
return
var/obj/structure/closet/cardboard/agent/box = owner.loc
- owner.visible_message("[owner] falls out of [box]! It looks like [owner.p_they()] committed suicide!")
+ owner.visible_message(SPAN_SUICIDE("[owner] falls out of [box]! It looks like [owner.p_they()] committed suicide!"))
owner.playsound_local(box, 'sound/misc/box_deploy.ogg', 50, TRUE)
INVOKE_ASYNC(box, TYPE_PROC_REF(/obj/structure/closet/cardboard/agent, open))
INVOKE_ASYNC(owner, TYPE_PROC_REF(/atom/movable, throw_at), get_turf(owner))
diff --git a/code/game/objects/items/bio_chips/bio_chip_supercharge.dm b/code/game/objects/items/bio_chips/bio_chip_supercharge.dm
index b15366fe82c..bb38a11eb19 100644
--- a/code/game/objects/items/bio_chips/bio_chip_supercharge.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_supercharge.dm
@@ -9,7 +9,7 @@
/obj/item/bio_chip/supercharge/activate()
uses--
- to_chat(imp_in, "You feel an electric sensation as your components enter overdrive!")
+ to_chat(imp_in, SPAN_NOTICE("You feel an electric sensation as your components enter overdrive!"))
imp_in.SetStunned(0)
imp_in.SetWeakened(0)
imp_in.SetKnockDown(0)
diff --git a/code/game/objects/items/bio_chips/bio_chip_tracking.dm b/code/game/objects/items/bio_chips/bio_chip_tracking.dm
index f02b9c9216c..e67f5261cad 100644
--- a/code/game/objects/items/bio_chips/bio_chip_tracking.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_tracking.dm
@@ -24,7 +24,7 @@
var/mob/living/carbon/human/H = target
var/obj/item/organ/internal/cyberimp/chest/bluespace_anchor/anchor = H.get_int_organ(/obj/item/organ/internal/cyberimp/chest/bluespace_anchor)
if(anchor)
- target.visible_message("[src] sparks out, disrupted by [anchor] inside [H]!")
+ target.visible_message(SPAN_DANGER("[src] sparks out, disrupted by [anchor] inside [H]!"))
qdel(src)
return FALSE
. = ..()
diff --git a/code/game/objects/items/bio_chips/bio_chip_traitor.dm b/code/game/objects/items/bio_chips/bio_chip_traitor.dm
index c1b86fc5d4c..a2c153df6de 100644
--- a/code/game/objects/items/bio_chips/bio_chip_traitor.dm
+++ b/code/game/objects/items/bio_chips/bio_chip_traitor.dm
@@ -16,20 +16,20 @@
// If the target is catatonic or doesn't have a mind, return.
if(!mindslave_target.mind)
- to_chat(user, "This person doesn't have a mind for you to slave!")
+ to_chat(user, SPAN_WARNING("This person doesn't have a mind for you to slave!"))
return FALSE
// Fails if they're already a mindslave of someone, or if they're mindshielded.
if(IS_MINDSLAVE(mindslave_target) || ismindshielded(mindslave_target))
mindslave_target.visible_message(
- "[mindslave_target] seems to resist the bio-chip!", \
- "You feel a strange sensation in your head that quickly dissipates.")
+ SPAN_WARNING("[mindslave_target] seems to resist the bio-chip!"), \
+ SPAN_WARNING("You feel a strange sensation in your head that quickly dissipates."))
qdel(src)
return FALSE
// Mindslaving yourself.
if(mindslave_target == user)
- to_chat(user, "Making yourself loyal to yourself was a great idea! Perhaps even the best idea ever! Actually, you just feel like an idiot.")
+ to_chat(user, SPAN_NOTICE("Making yourself loyal to yourself was a great idea! Perhaps even the best idea ever! Actually, you just feel like an idiot."))
user.adjustBrainLoss(20)
qdel(src)
return FALSE
diff --git a/code/game/objects/items/bio_chips/bio_chipper.dm b/code/game/objects/items/bio_chips/bio_chipper.dm
index 8ace66c239b..f8c1499e4eb 100644
--- a/code/game/objects/items/bio_chips/bio_chipper.dm
+++ b/code/game/objects/items/bio_chips/bio_chipper.dm
@@ -25,16 +25,16 @@
return
if(user && imp)
if(M != user)
- M.visible_message("[user] is attempting to bio-chip [M].")
+ M.visible_message(SPAN_WARNING("[user] is attempting to bio-chip [M]."))
var/turf/T = get_turf(M)
if(T && (M == user || do_after(user, 50 * toolspeed, target = M)))
if(user && M && (get_turf(M) == T) && src && imp)
if(imp.implant(M, user))
if(M == user)
- to_chat(user, "You bio-chip yourself.")
+ to_chat(user, SPAN_NOTICE("You bio-chip yourself."))
else
- M.visible_message("[user] has implanted [M].", "[user] bio-chips you.")
+ M.visible_message("[user] has implanted [M].", SPAN_NOTICE("[user] bio-chips you."))
imp = null
update_icon(UPDATE_ICON_STATE)
diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm
index 9a8834ae1d3..ce0070e5900 100644
--- a/code/game/objects/items/blueprints.dm
+++ b/code/game/objects/items/blueprints.dm
@@ -106,9 +106,9 @@
return
edit_area()
if(href_list["view_blueprints"])
- set_viewer(usr, "You flip the blueprints over to view the complex information diagram.")
+ set_viewer(usr, SPAN_NOTICE("You flip the blueprints over to view the complex information diagram."))
if(href_list["hide_blueprints"])
- clear_viewer(usr, "You flip the blueprints over to view the simple information diagram.")
+ clear_viewer(usr, SPAN_NOTICE("You flip the blueprints over to view the simple information diagram."))
if(href_list["refresh"])
clear_viewer(usr)
set_viewer(usr)
@@ -170,13 +170,13 @@
if(!istype(res,/list))
switch(res)
if(ROOM_ERR_SPACE)
- to_chat(usr, "The new area must be completely airtight.")
+ to_chat(usr, SPAN_WARNING("The new area must be completely airtight."))
return area_created
if(ROOM_ERR_TOOLARGE)
- to_chat(usr, "The new area is too large.")
+ to_chat(usr, SPAN_WARNING("The new area is too large."))
return area_created
else
- to_chat(usr, "Error! Please notify administration.")
+ to_chat(usr, SPAN_WARNING("Error! Please notify administration."))
return area_created
var/list/turf/turfs = res
var/str = tgui_input_text(usr, "New area name:", "Blueprint Editing", max_length = MAX_NAME_LEN, encode = FALSE)
@@ -220,7 +220,7 @@
for(var/D in our_area.firedoors)
var/obj/machinery/door/firedoor/FD = D
FD.CalculateAffectingAreas()
- to_chat(usr, "You rename the '[prevname]' to '[str]'.")
+ to_chat(usr, SPAN_NOTICE("You rename the '[prevname]' to '[str]'."))
interact()
message_admins("A room was renamed by [key_name_admin(usr)] at [ADMIN_VERBOSEJMP(usr)] changing the name from [prevname] to [str]")
log_game("A room was renamed by [key_name(usr)] at [AREACOORD(usr)] changing the name from [prevname] to [str] ")
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index c92e69f09ea..e96f3187f3d 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -37,7 +37,7 @@
add_overlay("bodybag_label")
return ITEM_INTERACT_COMPLETE
if(istype(I, /obj/item/wirecutters))
- to_chat(user, "You cut the tag off the bodybag.")
+ to_chat(user, SPAN_NOTICE("You cut the tag off the bodybag."))
name = initial(name)
cut_overlays()
return ITEM_INTERACT_COMPLETE
@@ -61,7 +61,7 @@
if(over_object == usr && (in_range(src, usr) || usr.contents.Find(src)))
if(!ishuman(usr) || opened || length(contents))
return FALSE
- visible_message("[usr] folds up [src].")
+ visible_message(SPAN_NOTICE("[usr] folds up [src]."))
new item_path(get_turf(src))
qdel(src)
return
@@ -74,7 +74,7 @@
// Make it possible to escape from bodybags in morgues and crematoriums
if(loc && (isturf(loc) || istype(loc, /obj/structure/morgue) || istype(loc, /obj/structure/crematorium)))
if(!open())
- to_chat(user, "It won't budge!")
+ to_chat(user, SPAN_NOTICE("It won't budge!"))
/obj/structure/closet/body_bag/shove_impact(mob/living/target, mob/living/attacker)
// no, you can't shove people into a body bag
diff --git a/code/game/objects/items/candle.dm b/code/game/objects/items/candle.dm
index 186f4b0fae1..38e38ca35ca 100644
--- a/code/game/objects/items/candle.dm
+++ b/code/game/objects/items/candle.dm
@@ -35,21 +35,21 @@
/obj/item/candle/can_enter_storage(obj/item/storage/S, mob/user)
if(lit)
- to_chat(user, "[S] can't hold [src] while it's lit!")
+ to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!"))
return FALSE
else
return TRUE
/obj/item/candle/attackby__legacy__attackchain(obj/item/W, mob/user, params)
if(W.get_heat())
- light("[user] lights [src] with [W].")
+ light(SPAN_NOTICE("[user] lights [src] with [W]."))
return
return ..()
/obj/item/candle/welder_act(mob/user, obj/item/I)
. = TRUE
if(I.tool_use_check(user, 0)) //Don't need to flash eyes because you are a badass
- light("[user] casually lights [src] with [I], what a badass.")
+ light(SPAN_NOTICE("[user] casually lights [src] with [I], what a badass."))
/obj/item/candle/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
if(!lit)
@@ -114,7 +114,7 @@
/obj/item/candle/attack_self__legacy__attackchain(mob/user)
if(lit)
- user.visible_message("[user] snuffs out [src].")
+ user.visible_message(SPAN_NOTICE("[user] snuffs out [src]."))
unlight()
/obj/item/candle/lit
diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm
index fde5ba4fe2f..5856c0e1b8f 100644
--- a/code/game/objects/items/cardboard_cutouts.dm
+++ b/code/game/objects/items/cardboard_cutouts.dm
@@ -19,7 +19,7 @@
/obj/item/cardboard_cutout/attack_hand(mob/living/user)
if(user.a_intent == INTENT_HELP || pushed_over)
return ..()
- user.visible_message("[user] pushes over [src]!", "You push over [src]!")
+ user.visible_message(SPAN_WARNING("[user] pushes over [src]!"), SPAN_DANGER("You push over [src]!"))
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
push_over()
@@ -35,7 +35,7 @@
/obj/item/cardboard_cutout/attack_self__legacy__attackchain(mob/living/user)
if(!pushed_over)
return
- to_chat(user, "You right [src].")
+ to_chat(user, SPAN_NOTICE("You right [src]."))
desc = initial(desc)
icon = initial(icon)
icon_state = initial(icon_state) //This resets a cutout to its blank state - this is intentional to allow for resetting
@@ -65,7 +65,7 @@
push_over()
/obj/item/cardboard_cutout/bullet_act(obj/projectile/P)
- visible_message("[src] is hit by [P]!")
+ visible_message(SPAN_DANGER("[src] is hit by [P]!"))
playsound(src, 'sound/weapons/slice.ogg', 50, 1)
if(prob(P.damage))
push_over()
@@ -76,23 +76,23 @@
if(istype(crayon, /obj/item/toy/crayon/spraycan))
var/obj/item/toy/crayon/spraycan/can = crayon
if(can.capped)
- to_chat(user, "The cap is on the spray can remove it first!")
+ to_chat(user, SPAN_WARNING("The cap is on the spray can remove it first!"))
return
if(pushed_over)
- to_chat(user, "Right [src] first!")
+ to_chat(user, SPAN_WARNING("Right [src] first!"))
return
var/new_appearance = tgui_input_list(user, "Choose a new appearance for [src]", "26th Century Deception", possible_appearances)
if(!Adjacent(usr))
- user.visible_message("You need to be closer!")
+ user.visible_message(SPAN_DANGER("You need to be closer!"))
return
if(pushed_over)
- to_chat(user, "Right [src] first!")
+ to_chat(user, SPAN_WARNING("Right [src] first!"))
return
if(!new_appearance || !crayon)
return
if(!do_after(user, 10, FALSE, src, TRUE))
return
- user.visible_message("[user] gives [src] a new look.", "Voila! You give [src] a new look.")
+ user.visible_message(SPAN_NOTICE("[user] gives [src] a new look."), SPAN_NOTICE("Voila! You give [src] a new look."))
alpha = 255
icon = initial(icon)
if(!deceptive)
diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm
index 5865a68a96c..7ef005fab46 100644
--- a/code/game/objects/items/cards_ids.dm
+++ b/code/game/objects/items/cards_ids.dm
@@ -139,17 +139,17 @@
if(in_range(user, src))
show(usr)
else
- . += "It is too far away."
+ . += SPAN_WARNING("It is too far away.")
if(guest_pass)
- . += "There is a guest pass attached to this ID card, Alt-Click to remove it."
+ . += SPAN_NOTICE("There is a guest pass attached to this ID card, Alt-Click to remove it.")
if(world.time < guest_pass.expiration_time)
- . += "It expires at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)]."
+ . += SPAN_NOTICE("It expires at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)].")
else
- . += "It expired at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)]."
- . += "It grants access to following areas:"
+ . += SPAN_WARNING("It expired at [station_time_timestamp("hh:mm:ss", guest_pass.expiration_time)].")
+ . += SPAN_NOTICE("It grants access to following areas:")
for(var/A in guest_pass.temp_access)
- . += "[get_access_desc(A)]."
- . += "Issuing reason: [guest_pass.reason]."
+ . += SPAN_NOTICE("[get_access_desc(A)].")
+ . += SPAN_NOTICE("Issuing reason: [guest_pass.reason].")
/obj/item/card/id/proc/show(mob/user as mob)
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/paper)
@@ -182,7 +182,7 @@
if(victim.has_status_effect(STATUS_EFFECT_OFFERING_EFTPOS))
var/obj/item/eftpos/eftpos = victim.is_holding_item_of_type(/obj/item/eftpos)
if(!eftpos || !eftpos.can_offer)
- to_chat(user, "They don't seem to have it in hand anymore.")
+ to_chat(user, SPAN_WARNING("They don't seem to have it in hand anymore."))
return ITEM_INTERACT_COMPLETE
victim.remove_status_effect(STATUS_EFFECT_OFFERING_EFTPOS)
eftpos.scan_card(src, user)
@@ -322,11 +322,11 @@
return
if(guest_pass)
- to_chat(user, "You remove the guest pass from this ID.")
+ to_chat(user, SPAN_NOTICE("You remove the guest pass from this ID."))
guest_pass.forceMove(get_turf(src))
guest_pass = null
else
- to_chat(user, "There is no guest pass attached to this ID.")
+ to_chat(user, SPAN_WARNING("There is no guest pass attached to this ID."))
/obj/item/card/id/serialize()
var/list/data = ..()
@@ -825,7 +825,7 @@
desc = "A card used to claim mining points and buy gear."
registered = TRUE
can_id_flash = TRUE
- to_chat(user, "The ID is now registered as yours.")
+ to_chat(user, SPAN_NOTICE("The ID is now registered as yours."))
/obj/item/card/id/data
icon_state = "data"
@@ -841,8 +841,8 @@
/obj/item/card/id/nct_data_chip/examine(mob/user)
. = ..()
. += "
The current registered Trainee is: [trainee]"
- . += "Use in hand to reset the assigned trainee and access."
- . += "The datachip is unable to copy any access that has been deemed high-risk by Nanotrasen Officials. That includes some, if not most, head related access permissions."
+ . += SPAN_NOTICE("Use in hand to reset the assigned trainee and access.")
+ . += SPAN_PURPLE("The datachip is unable to copy any access that has been deemed high-risk by Nanotrasen Officials. That includes some, if not most, head related access permissions.")
/obj/item/card/id/nct_data_chip/activate_self(mob/user)
if(..())
@@ -863,15 +863,15 @@
return
if(user.mind.current != registered_user)
- to_chat(user, "You do not have access to use this NCT Trainee Access Chip!")
+ to_chat(user, SPAN_NOTICE("You do not have access to use this NCT Trainee Access Chip!"))
return
if(istype(target, /obj/item/card/id/ert))
- to_chat(user, "The chip's screen blinks red as you attempt scanning this ID.")
+ to_chat(user, SPAN_WARNING("The chip's screen blinks red as you attempt scanning this ID."))
return
var/obj/item/card/id/I = target
- to_chat(user, "The chip's microscanners activate as you scan [I.registered_name]'s ID, copying its access.")
+ to_chat(user, SPAN_NOTICE("The chip's microscanners activate as you scan [I.registered_name]'s ID, copying its access."))
access = I.access.Copy()
access.Remove(ACCESS_AI_UPLOAD, ACCESS_ARMORY, ACCESS_CAPTAIN, ACCESS_CE, ACCESS_RD, ACCESS_HOP, ACCESS_QM, ACCESS_CMO, ACCESS_HOS, ACCESS_NTREP,
ACCESS_MAGISTRATE, ACCESS_BLUESHIELD, ACCESS_HEADS_VAULT, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE,
diff --git a/code/game/objects/items/caution.dm b/code/game/objects/items/caution.dm
index c0cadfe9047..8fd26651354 100644
--- a/code/game/objects/items/caution.dm
+++ b/code/game/objects/items/caution.dm
@@ -29,7 +29,7 @@
return
if(armed)
armed = FALSE
- to_chat(user, "You disarm \the [src].")
+ to_chat(user, SPAN_NOTICE("You disarm \the [src]."))
return
timing = !timing
if(timing)
@@ -37,7 +37,7 @@
else
armed = FALSE
timepassed = 0
- to_chat(H, "You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]")
+ to_chat(H, SPAN_NOTICE("You [timing ? "activate \the [src]'s timer, you have 15 seconds." : "de-activate \the [src]'s timer."]"))
/obj/item/caution/proximity_sign/process()
if(!timing)
@@ -83,15 +83,15 @@
var/turf/T = get_turf(target)
if(T.is_blocked_turf(exclude_mobs = TRUE)) //can't put mines on a tile that has dense stuff
- to_chat(user, "The space is occupied! You cannot place a mine there!")
+ to_chat(user, SPAN_NOTICE("The space is occupied! You cannot place a mine there!"))
return
if(!use(1)) //Can't place a landmine if you don't have a landmine
- to_chat(user, "[src] is out of landmines! It can be refilled at a cyborg charger.")
+ to_chat(user, SPAN_NOTICE("[src] is out of landmines! It can be refilled at a cyborg charger."))
return
playsound(src.loc, 'sound/machines/click.ogg', 20, TRUE)
var/obj/item/caution/proximity_sign/M = new /obj/item/caution/proximity_sign(get_turf(target), src)
M.timing = TRUE
START_PROCESSING(SSobj, M)
- to_chat(user, "You place a landmine with [src]. You have 15 seconds until it is armed.")
+ to_chat(user, SPAN_NOTICE("You place a landmine with [src]. You have 15 seconds until it is armed."))
return M
diff --git a/code/game/objects/items/cigs.dm b/code/game/objects/items/cigs.dm
index c0d5687d6b0..b10f68288c3 100644
--- a/code/game/objects/items/cigs.dm
+++ b/code/game/objects/items/cigs.dm
@@ -92,8 +92,8 @@ LIGHTERS ARE IN LIGHTERS.DM
if(used.get_heat())
//Give a generic light message.
user.visible_message(
- "[user] lights [src] with [used]",
- "You light [src] with [used]."
+ SPAN_NOTICE("[user] lights [src] with [used]"),
+ SPAN_NOTICE("You light [src] with [used].")
)
light(user)
return ITEM_INTERACT_COMPLETE
@@ -107,14 +107,14 @@ LIGHTERS ARE IN LIGHTERS.DM
var/obj/item/reagent_containers/glass/glass = target
var/transfered = glass.reagents.trans_to(src, chem_volume)
if(transfered)
- to_chat(user, "You dip [src] into [target].")
+ to_chat(user, SPAN_NOTICE("You dip [src] into [target]."))
return ITEM_INTERACT_COMPLETE
// Either the beaker was empty, or the cigarette was full
if(!glass.reagents.total_volume)
- to_chat(user, "[target] is empty.")
+ to_chat(user, SPAN_NOTICE("[target] is empty."))
else
- to_chat(user, "[src] is full.")
+ to_chat(user, SPAN_NOTICE("[src] is full."))
return ITEM_INTERACT_COMPLETE
/obj/item/clothing/mask/cigarette/pre_attack(atom/atom_target, mob/living/user, params)
@@ -126,14 +126,14 @@ LIGHTERS ARE IN LIGHTERS.DM
user.do_attack_animation(target)
if(target != user)
user.visible_message(
- "[user] coldly lights [src] with the burning body of [target]. Clearly, [user.p_they()] offer[user.p_s()] the warmest of regards...",
- "You coldly light [src] with the burning body of [target]."
+ SPAN_NOTICE("[user] coldly lights [src] with the burning body of [target]. Clearly, [user.p_they()] offer[user.p_s()] the warmest of regards..."),
+ SPAN_NOTICE("You coldly light [src] with the burning body of [target].")
)
else
// The fire will light it in your hands by itself, but if you whip out the cig and click yourself fast enough, this will happen. TRULY you have your priorities stright.
user.visible_message(
- "[user] quickly whips out [src] and nonchalantly lights it with [user.p_their()] own burning body. Clearly, [user.p_they()] [user.p_have()] [user.p_their()] priorities straight.",
- "You quickly whip out [src] and nonchalantly light it with your own burning body. Clearly, you have your priorities straight."
+ SPAN_NOTICE("[user] quickly whips out [src] and nonchalantly lights it with [user.p_their()] own burning body. Clearly, [user.p_they()] [user.p_have()] [user.p_their()] priorities straight."),
+ SPAN_NOTICE("You quickly whip out [src] and nonchalantly light it with your own burning body. Clearly, you have your priorities straight.")
)
light(user, user)
return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK
@@ -149,11 +149,11 @@ LIGHTERS ARE IN LIGHTERS.DM
carbon_target.equip_to_slot_if_possible(src, ITEM_SLOT_MASK)
if(target != user)
user.visible_message(
- "[user] slips \a [name] into the mouth of [carbon_target].",
- "You slip [src] into the mouth of [carbon_target]."
+ SPAN_NOTICE("[user] slips \a [name] into the mouth of [carbon_target]."),
+ SPAN_NOTICE("You slip [src] into the mouth of [carbon_target].")
)
else
- to_chat(user, "You put [src] into your mouth.")
+ to_chat(user, SPAN_NOTICE("You put [src] into your mouth."))
return FINISH_ATTACK
// If they DO have a cig, try to light it with your own cig.
@@ -176,15 +176,15 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/proc/extinguish_cigarette(mob/user)
user.visible_message(
- "[user] calmly drops and treads on [src], putting it out instantly.",
- "You calmly drop and tread on [src], putting it out instantly.",
- "You hear a foot being brought down on something, and the tiny fizzling of an ember going out."
+ SPAN_NOTICE("[user] calmly drops and treads on [src], putting it out instantly."),
+ SPAN_NOTICE("You calmly drop and tread on [src], putting it out instantly."),
+ SPAN_NOTICE("You hear a foot being brought down on something, and the tiny fizzling of an ember going out.")
)
die()
/obj/item/clothing/mask/cigarette/can_enter_storage(obj/item/storage/S, mob/user)
if(lit)
- to_chat(user, "[S] can't hold \the [initial(name)] while it's lit!") // initial(name) so it doesn't say "lit" twice in a row
+ to_chat(user, SPAN_WARNING("[S] can't hold \the [initial(name)] while it's lit!")) // initial(name) so it doesn't say "lit" twice in a row
return FALSE
return TRUE
@@ -194,7 +194,7 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/catch_fire()
if(!lit)
- visible_message("[src] is lit by the flames!")
+ visible_message(SPAN_WARNING("[src] is lit by the flames!"))
light()
/obj/item/clothing/mask/cigarette/cigarette_lighter_act(mob/living/user, mob/living/target, obj/item/direct_attackby_item)
@@ -203,18 +203,18 @@ LIGHTERS ARE IN LIGHTERS.DM
return !isnull(cig)
if(!lit)
- to_chat(user, "You cannot light [cig] with [src] because you need a lighter to light [src] before you can use [src] as a lighter to light [cig]... This seems a little convoluted.")
+ to_chat(user, SPAN_WARNING("You cannot light [cig] with [src] because you need a lighter to light [src] before you can use [src] as a lighter to light [cig]... This seems a little convoluted."))
return TRUE
if(target == user)
user.visible_message(
- "[user] presses [src] against [cig] until it lights. Seems oddly recursive...",
- "You press [src] against [cig] until it lights. Seems oddly recursive..."
+ SPAN_NOTICE("[user] presses [src] against [cig] until it lights. Seems oddly recursive..."),
+ SPAN_NOTICE("You press [src] against [cig] until it lights. Seems oddly recursive...")
)
else
user.visible_message(
- "[user] presses [src] until it lights. Sharing is caring!",
- "You press [src] against [cig] until it lights. Sharing is caring!"
+ SPAN_NOTICE("[user] presses [src] until it lights. Sharing is caring!"),
+ SPAN_NOTICE("You press [src] against [cig] until it lights. Sharing is caring!")
)
cig.light(user, target)
return TRUE
@@ -299,7 +299,7 @@ LIGHTERS ARE IN LIGHTERS.DM
reagents.trans_id_to(C, R.id, first_puff ? 1 : max(REAGENTS_METABOLISM / length(reagents.reagent_list), 0.1)) //transfer at least .1 of each chem
first_puff = FALSE
if(!reagents.total_volume) // There were reagents, but now they're gone
- to_chat(C, "Your [name] loses its flavor.")
+ to_chat(C, SPAN_NOTICE("Your [name] loses its flavor."))
else // else just remove some of the reagents
reagents.remove_any(REAGENTS_METABOLISM)
@@ -310,7 +310,7 @@ LIGHTERS ARE IN LIGHTERS.DM
transfer_fingerprints_to(butt)
if(ismob(loc))
var/mob/living/M = loc
- to_chat(M, "Your [name] goes out.")
+ to_chat(M, SPAN_NOTICE("Your [name] goes out."))
// Only put the butt in the user's mouth if there's already a cig there.
if(M.wear_mask == src)
M.drop_item_to_ground(src, force = TRUE) //Force the un-equip so the overlays update
@@ -489,7 +489,7 @@ LIGHTERS ARE IN LIGHTERS.DM
var/obj/item/food/grown/plant = used
if(!plant.dry)
- to_chat(user, "You need to dry this first!")
+ to_chat(user, SPAN_WARNING("You need to dry this first!"))
return ITEM_INTERACT_COMPLETE
user.unequip(src, TRUE)
@@ -498,11 +498,11 @@ LIGHTERS ARE IN LIGHTERS.DM
if(istype(used, /obj/item/food/grown/tobacco/pre_dried))
custom_rollie.desc = "Dried tobacco rolled up in a thin piece of paper."
if(plant.reagents.total_volume > custom_rollie.chem_volume)
- to_chat(user, "You pour some of [plant] into a rolling paper.")
+ to_chat(user, SPAN_NOTICE("You pour some of [plant] into a rolling paper."))
plant.reagents.trans_to(custom_rollie, 40)
plant.update_appearance(UPDATE_ICON)
else
- to_chat(user, "You empty [plant] into a rolling paper.")
+ to_chat(user, SPAN_NOTICE("You empty [plant] into a rolling paper."))
plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume)
user.unequip(plant, TRUE)
qdel(plant)
@@ -511,7 +511,7 @@ LIGHTERS ARE IN LIGHTERS.DM
user.unequip(plant, TRUE)
custom_rollie.reagents.maximum_volume = plant.reagents.total_volume
plant.reagents.trans_to(custom_rollie, plant.reagents.total_volume)
- to_chat(user, "You roll the [plant.name] into a rolling paper.")
+ to_chat(user, SPAN_NOTICE("You roll the [plant.name] into a rolling paper."))
custom_rollie.desc = "Dried [plant.name] rolled up in a thin piece of paper."
qdel(plant)
custom_rollie.smoketime = custom_rollie.reagents.total_volume * REAGENT_TIME_RATIO
@@ -616,13 +616,13 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/cigar/havana/proc/grant_badass(mob/user)
if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
ADD_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
- to_chat(user, "You feel more badass while smoking [src].")
+ to_chat(user, SPAN_NOTICE("You feel more badass while smoking [src]."))
/obj/item/clothing/mask/cigarette/cigar/havana/dropped(mob/user, silent)
. = ..()
if(HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
REMOVE_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
- to_chat(user, "You feel less badass.")
+ to_chat(user, SPAN_NOTICE("You feel less badass."))
/obj/item/cigbutt/cigarbutt
name = "cigar butt"
@@ -660,11 +660,11 @@ LIGHTERS ARE IN LIGHTERS.DM
if(enabled)
enabled = FALSE
- to_chat(user, "You disable the holo-cigar.")
+ to_chat(user, SPAN_NOTICE("You disable the holo-cigar."))
STOP_PROCESSING(SSobj, src)
else
enabled = TRUE
- to_chat(user, "You enable the holo-cigar.")
+ to_chat(user, SPAN_NOTICE("You enable the holo-cigar."))
START_PROCESSING(SSobj, src)
update_appearance(UPDATE_NAME|UPDATE_ICON)
@@ -707,14 +707,14 @@ LIGHTERS ARE IN LIGHTERS.DM
if(enabled && slot == ITEM_SLOT_MASK)
if(!HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
ADD_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
- to_chat(user, "You feel more badass while smoking [src].")
+ to_chat(user, SPAN_NOTICE("You feel more badass while smoking [src]."))
/obj/item/clothing/mask/holo_cigar/dropped(mob/user, silent)
. = ..()
has_smoked = FALSE
if(HAS_TRAIT_FROM(user, TRAIT_BADASS, HOLO_CIGAR))
REMOVE_TRAIT(user, TRAIT_BADASS, HOLO_CIGAR)
- to_chat(user, "You feel less badass.")
+ to_chat(user, SPAN_NOTICE("You feel less badass."))
//////////////////////////////
// MARK: PIPES
@@ -741,26 +741,26 @@ LIGHTERS ARE IN LIGHTERS.DM
var/obj/item/food/grown/filler = used
if(!filler.dry)
- to_chat(user, "You need to dry this first!")
+ to_chat(user, SPAN_WARNING("You need to dry this first!"))
return ITEM_INTERACT_COMPLETE
if(reagents.total_volume == reagents.maximum_volume)
- to_chat(user, "[src] is full!")
+ to_chat(user, SPAN_WARNING("[src] is full!"))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/food/grown/tobacco/pre_dried))
- to_chat(user, "You empty [filler] into the pipe.")
+ to_chat(user, SPAN_NOTICE("You empty [filler] into the pipe."))
if((chem_volume - reagents.total_volume) >= filler.reagents.total_volume)
filler.reagents.trans_to(src, chem_volume)
user.unequip(filler, TRUE)
qdel(filler)
user.put_in_active_hand(new /obj/item/trash/tobacco_tin)
else
- to_chat(user, "You pour some of [filler] into the pipe.")
+ to_chat(user, SPAN_NOTICE("You pour some of [filler] into the pipe."))
filler.reagents.trans_to(src, clamp(filler.reagents.total_volume, 0, (chem_volume - reagents.total_volume)))
filler.update_icon(UPDATE_ICON_STATE)
else
- to_chat(user, "You stuff the [filler.name] into the pipe.")
+ to_chat(user, SPAN_NOTICE("You stuff the [filler.name] into the pipe."))
filler.reagents.trans_to(src, chem_volume)
qdel(filler)
@@ -781,7 +781,7 @@ LIGHTERS ARE IN LIGHTERS.DM
new /obj/effect/decal/cleanable/ash(location)
if(ismob(loc))
var/mob/living/M = loc
- to_chat(M, "Your [name] goes out, and you empty the ash.")
+ to_chat(M, SPAN_NOTICE("Your [name] goes out, and you empty the ash."))
lit = FALSE
update_appearance(UPDATE_NAME|UPDATE_ICON)
STOP_PROCESSING(SSobj, src)
@@ -791,8 +791,8 @@ LIGHTERS ARE IN LIGHTERS.DM
/obj/item/clothing/mask/cigarette/pipe/extinguish_cigarette(mob/user)
user.visible_message(
- "[user] puts out [src].",
- "You put out [src]."
+ SPAN_NOTICE("[user] puts out [src]."),
+ SPAN_NOTICE("You put out [src].")
)
lit = FALSE
first_puff = TRUE
diff --git a/code/game/objects/items/clown_items.dm b/code/game/objects/items/clown_items.dm
index 9430d0f9469..d018ca716e7 100644
--- a/code/game/objects/items/clown_items.dm
+++ b/code/game/objects/items/clown_items.dm
@@ -49,7 +49,7 @@
/obj/item/bikehorn/golden/proc/flip_mobs(mob/user)
if(cooldown >= world.time)
- to_chat(user, "You can't make others flip yet!")
+ to_chat(user, SPAN_WARNING("You can't make others flip yet!"))
return
cooldown = world.time + 30 SECONDS
var/turf/T = get_turf(src)
@@ -80,7 +80,7 @@
/obj/item/clown_recorder/attack_self__legacy__attackchain(mob/user)
if(cooldown > world.time)
- to_chat(user, "The tape is still winding back.")
+ to_chat(user, SPAN_NOTICE("The tape is still winding back."))
return
playsound(src, pick('sound/voice/sitcom_laugh.ogg', 'sound/voice/sitcom_laugh2.ogg'), 50, FALSE)
if(!HAS_TRAIT(src, TRAIT_CMAGGED))
@@ -90,7 +90,7 @@
/obj/item/clown_recorder/cmag_act(mob/user)
if(!HAS_TRAIT(src, TRAIT_CMAGGED))
- to_chat(user, "Winding back speed has been improved by the bananium ooze!")
+ to_chat(user, SPAN_NOTICE("Winding back speed has been improved by the bananium ooze!"))
ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG)
return TRUE
return FALSE
diff --git a/code/game/objects/items/collar.dm b/code/game/objects/items/collar.dm
index 9f001d20574..6a71734de9a 100644
--- a/code/game/objects/items/collar.dm
+++ b/code/game/objects/items/collar.dm
@@ -26,9 +26,9 @@
name = "[initial(name)] - [tagname]"
if("Remove ID")
if(access_id)
- user.visible_message("[user] starts unclipping [access_id] from [src].")
+ user.visible_message(SPAN_WARNING("[user] starts unclipping [access_id] from [src]."))
if(do_after(user, 5 SECONDS, target = user) && access_id && !QDELETED(src) && Adjacent(user))
- user.visible_message("[user] unclips [access_id] from [src].")
+ user.visible_message(SPAN_WARNING("[user] unclips [access_id] from [src]."))
access_id.forceMove(get_turf(user))
user.put_in_hands(access_id)
access_id = null
@@ -37,12 +37,12 @@
if(!istype(W))
return ..()
if(access_id)
- to_chat(user, "There is already \a [access_id] clipped onto [src].")
+ to_chat(user, SPAN_WARNING("There is already \a [access_id] clipped onto [src]."))
return ..()
user.drop_item()
W.forceMove(src)
access_id = W
- to_chat(user, "[W] clips onto [src] snugly.")
+ to_chat(user, SPAN_NOTICE("[W] clips onto [src] snugly."))
/obj/item/petcollar/GetAccess()
return access_id ? access_id.GetAccess() : ..()
diff --git a/code/game/objects/items/control_wand.dm b/code/game/objects/items/control_wand.dm
index 1753e97176c..4f00a58cf54 100644
--- a/code/game/objects/items/control_wand.dm
+++ b/code/game/objects/items/control_wand.dm
@@ -47,11 +47,11 @@
return
mode = choice
- to_chat(user, "Now in mode: [mode].")
+ to_chat(user, SPAN_NOTICE("Now in mode: [mode]."))
/obj/item/door_remote/examine(mob/user)
. = ..()
- . += "It's current mode is: [mode]"
+ . += SPAN_NOTICE("It's current mode is: [mode]")
/obj/item/door_remote/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(istype(target, /obj/machinery/door/airlock))
@@ -71,19 +71,19 @@
/obj/item/door_remote/proc/access_airlock(obj/machinery/door/airlock/D, mob/user)
if(HAS_TRAIT(D, TRAIT_CMAGGED))
- to_chat(user, "The door doesn't respond to [src]!")
+ to_chat(user, SPAN_DANGER("The door doesn't respond to [src]!"))
return
if(!(D.arePowerSystemsOn()))
- to_chat(user, "[D] has no power!")
+ to_chat(user, SPAN_DANGER("[D] has no power!"))
return
if(!D.requiresID())
- to_chat(user, "[D]'s ID scan is disabled!")
+ to_chat(user, SPAN_DANGER("[D]'s ID scan is disabled!"))
return
if(!D.check_access(src.ID))
- to_chat(user, "[src] does not have access to this door.")
+ to_chat(user, SPAN_DANGER("[src] does not have access to this door."))
return
D.add_hiddenprint(user)
@@ -103,23 +103,23 @@
D.update_icon()
if(WAND_SPEED)
D.normalspeed = !D.normalspeed
- to_chat(user, "[D] is now in [D.normalspeed ? "normal" : "fast"] mode.")
+ to_chat(user, SPAN_NOTICE("[D] is now in [D.normalspeed ? "normal" : "fast"] mode."))
/obj/item/door_remote/proc/access_windoor(obj/machinery/door/window/D, mob/user)
if(HAS_TRAIT(D, TRAIT_CMAGGED))
- to_chat(user, "The door doesn't respond to [src]!")
+ to_chat(user, SPAN_DANGER("The door doesn't respond to [src]!"))
return
if(!D.has_power())
- to_chat(user, "[D] has no power!")
+ to_chat(user, SPAN_DANGER("[D] has no power!"))
return
if(!D.requiresID())
- to_chat(user, "[D]'s ID scan is disabled!")
+ to_chat(user, SPAN_DANGER("[D]'s ID scan is disabled!"))
return
if(!D.check_access(ID))
- to_chat(user, "[src] does not have access to this door.")
+ to_chat(user, SPAN_DANGER("[src] does not have access to this door."))
return
D.add_hiddenprint(user)
@@ -130,11 +130,11 @@
else
D.close()
if(WAND_BOLT)
- to_chat(user, "[D] has no bolting functionality.")
+ to_chat(user, SPAN_DANGER("[D] has no bolting functionality."))
if(WAND_EMERGENCY)
- to_chat(user, "[D] has no emergency access functionality.")
+ to_chat(user, SPAN_DANGER("[D] has no emergency access functionality."))
if(WAND_SPEED)
- to_chat(user, "[D] has no speed change functionality.")
+ to_chat(user, SPAN_DANGER("[D] has no speed change functionality."))
/obj/item/door_remote/omni
name = "omni door remote"
@@ -208,11 +208,11 @@
return
if(busy)
- to_chat(user, "[src] is alreading interfacing with a door!")
+ to_chat(user, SPAN_WARNING("[src] is alreading interfacing with a door!"))
return
icon_state = "hacktool-g"
busy = TRUE
- to_chat(user, "[src] is attempting to interface with [target]...")
+ to_chat(user, SPAN_NOTICE("[src] is attempting to interface with [target]..."))
if(do_after(user, hack_speed, target = target, hidden = TRUE))
busy = FALSE
icon_state = "hacktool"
@@ -249,13 +249,13 @@
/obj/item/door_remote/janikeyring/examine(mob/user)
. = ..()
- . += "This keyring has access to Medbay, Science, Engineering, Cargo, the Bar and the Kitchen!"
+ . += SPAN_NOTICE("This keyring has access to Medbay, Science, Engineering, Cargo, the Bar and the Kitchen!")
/obj/item/door_remote/janikeyring/activate_self(mob/user)
if(..() || cooldown > world.time)
return
- to_chat(user, "You shake [src]!")
+ to_chat(user, SPAN_WARNING("You shake [src]!"))
playsound(src, 'sound/items/keyring_shake.ogg', 50)
cooldown = world.time + JANGLE_COOLDOWN
@@ -271,15 +271,15 @@
if(!istype(target, /obj/machinery/door/airlock) && !istype(target, /obj/machinery/door/window))
return
if(busy)
- to_chat(user, "You are already using [src] on the [target]'s access panel!")
+ to_chat(user, SPAN_WARNING("You are already using [src] on the [target]'s access panel!"))
return
busy = TRUE
var/mob/living/carbon/human/H = user
if(H.mind.assigned_role == "Janitor" && last_airlock_uid == target.UID())
- to_chat(user, "You recognize [target] and look for the key you used...")
+ to_chat(user, SPAN_NOTICE("You recognize [target] and look for the key you used..."))
hack_speed = 5 SECONDS
else
- to_chat(user, "You fiddle with [src], trying different keys to open [target]...")
+ to_chat(user, SPAN_NOTICE("You fiddle with [src], trying different keys to open [target]..."))
if(H.mind.assigned_role != "Janitor")
hack_speed = rand(30, 60) SECONDS
else
@@ -294,37 +294,37 @@
/obj/item/door_remote/janikeyring/access_airlock(obj/machinery/door/airlock/D, mob/user)
if(HAS_TRAIT(D, TRAIT_CMAGGED))
- to_chat(user, "[src] won't fit in the [D] airlock's access panel, there's slime everywhere!")
+ to_chat(user, SPAN_DANGER("[src] won't fit in the [D] airlock's access panel, there's slime everywhere!"))
return
if(!D.arePowerSystemsOn())
- to_chat(user, "The [D] airlock has no power!")
+ to_chat(user, SPAN_DANGER("The [D] airlock has no power!"))
return
if(!D.check_access(ID))
- to_chat(user, "[src] does not seem to have a key for the [D] airlock's access panel!")
+ to_chat(user, SPAN_DANGER("[src] does not seem to have a key for the [D] airlock's access panel!"))
return
D.add_hiddenprint(user)
if(D.density)
D.open()
else
- to_chat(user, "The [D] airlock is already open!")
+ to_chat(user, SPAN_DANGER("The [D] airlock is already open!"))
/obj/item/door_remote/janikeyring/access_windoor(obj/machinery/door/window/D, mob/user)
if(!(D.has_power()))
- to_chat(user, "[D] has no power!")
+ to_chat(user, SPAN_DANGER("[D] has no power!"))
return
if(!D.check_access(ID))
- to_chat(user, "[src] does not seem to have a key for the [D]'s access panel!")
+ to_chat(user, SPAN_DANGER("[src] does not seem to have a key for the [D]'s access panel!"))
return
D.add_hiddenprint(user)
if(D.density)
D.open()
else
- to_chat(user, "The [D] is already open!")
+ to_chat(user, SPAN_DANGER("The [D] is already open!"))
#undef WAND_OPEN
#undef WAND_BOLT
diff --git a/code/game/objects/items/cosmetics.dm b/code/game/objects/items/cosmetics.dm
index 6d906dacd5a..742604c8967 100644
--- a/code/game/objects/items/cosmetics.dm
+++ b/code/game/objects/items/cosmetics.dm
@@ -59,7 +59,7 @@
/obj/item/lipstick/attack_self__legacy__attackchain(mob/user)
cut_overlays()
- to_chat(user, "You twist \the [src] [open ? "closed" : "open"].")
+ to_chat(user, SPAN_NOTICE("You twist \the [src] [open ? "closed" : "open"]."))
open = !open
if(open)
var/mutable_appearance/colored = mutable_appearance('icons/obj/items.dmi', "lipstick_uncap_color")
@@ -76,25 +76,25 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.lip_style) // If they already have lipstick on
- to_chat(user, "You need to wipe off the old lipstick first!")
+ to_chat(user, SPAN_NOTICE("You need to wipe off the old lipstick first!"))
return
if(H == user)
- user.visible_message("[user] does [user.p_their()] lips with [src].", \
- "You take a moment to apply [src]. Perfect!")
+ user.visible_message(SPAN_NOTICE("[user] does [user.p_their()] lips with [src]."), \
+ SPAN_NOTICE("You take a moment to apply [src]. Perfect!"))
H.lip_style = "lipstick"
H.lip_color = lipstick_colors[colour]
H.update_body()
else
- user.visible_message("[user] begins to do [H]'s lips with \the [src].", \
- "You begin to apply \the [src].")
+ user.visible_message(SPAN_WARNING("[user] begins to do [H]'s lips with \the [src]."), \
+ SPAN_NOTICE("You begin to apply \the [src]."))
if(do_after(user, 20, target = H))
- user.visible_message("[user] does [H]'s lips with \the [src].", \
- "You apply \the [src].")
+ user.visible_message(SPAN_NOTICE("[user] does [H]'s lips with \the [src]."), \
+ SPAN_NOTICE("You apply \the [src]."))
H.lip_style = "lipstick"
H.lip_color = lipstick_colors[colour]
H.update_body()
else
- to_chat(user, "Where are the lips on that?")
+ to_chat(user, SPAN_NOTICE("Where are the lips on that?"))
/obj/item/razor
name = "electric razor"
@@ -109,71 +109,71 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/C = H.get_organ("head")
if(!istype(C))
- to_chat(user, "There's nothing to cut, [M] [M.p_are()] missing [M.p_their()] head!")
+ to_chat(user, SPAN_WARNING("There's nothing to cut, [M] [M.p_are()] missing [M.p_their()] head!"))
return ..()
var/datum/robolimb/robohead = GLOB.all_robolimbs[C.model]
if(user.zone_selected == "mouth")
if(!get_location_accessible(H, "mouth"))
- to_chat(user, "The mask is in the way.")
+ to_chat(user, SPAN_WARNING("The mask is in the way."))
return
if((C.dna.species.bodyflags & ALL_RPARTS) && robohead.is_monitor) //If the target is of a species that can have prosthetic heads, but the head doesn't support human hair 'wigs'...
- to_chat(user, "You find yourself disappointed at the appalling lack of facial hair.")
+ to_chat(user, SPAN_WARNING("You find yourself disappointed at the appalling lack of facial hair."))
return
if(C.f_style == "Shaved")
- to_chat(user, "Already clean-shaven.")
+ to_chat(user, SPAN_NOTICE("Already clean-shaven."))
return
if(H == user) //shaving yourself
- user.visible_message("[user] starts to shave [user.p_their()] facial hair with [src].", \
- "You take a moment shave your facial hair with \the [src].")
+ user.visible_message(SPAN_NOTICE("[user] starts to shave [user.p_their()] facial hair with [src]."), \
+ SPAN_NOTICE("You take a moment shave your facial hair with \the [src]."))
if(do_after(user, 50 * toolspeed, target = H))
- user.visible_message("[user] shaves [user.p_their()] facial hair clean with [src].", \
- "You finish shaving with [src]. Fast and clean!")
+ user.visible_message(SPAN_NOTICE("[user] shaves [user.p_their()] facial hair clean with [src]."), \
+ SPAN_NOTICE("You finish shaving with [src]. Fast and clean!"))
C.f_style = "Shaved"
H.update_fhair()
playsound(src.loc, usesound, 20, 1)
else
var/turf/user_loc = user.loc
var/turf/H_loc = H.loc
- user.visible_message("[user] tries to shave [H]'s facial hair with \the [src].", \
- "You start shaving [H]'s facial hair.")
+ user.visible_message(SPAN_DANGER("[user] tries to shave [H]'s facial hair with \the [src]."), \
+ SPAN_WARNING("You start shaving [H]'s facial hair."))
if(do_after(user, 50 * toolspeed, target = H))
if(user_loc == user.loc && H_loc == H.loc)
- user.visible_message("[user] shaves off [H]'s facial hair with \the [src].", \
- "You shave [H]'s facial hair clean off.")
+ user.visible_message(SPAN_DANGER("[user] shaves off [H]'s facial hair with \the [src]."), \
+ SPAN_NOTICE("You shave [H]'s facial hair clean off."))
C.f_style = "Shaved"
H.update_fhair()
playsound(src.loc, usesound, 20, 1)
if(user.zone_selected == "head")
if(!get_location_accessible(H, "head"))
- to_chat(user, "The headgear is in the way.")
+ to_chat(user, SPAN_WARNING("The headgear is in the way."))
return
if((C.dna.species.bodyflags & ALL_RPARTS) && robohead.is_monitor) //If the target is of a species that can have prosthetic heads, but the head doesn't support human hair 'wigs'...
- to_chat(user, "You find yourself disappointed at the appalling lack of hair.")
+ to_chat(user, SPAN_WARNING("You find yourself disappointed at the appalling lack of hair."))
return
if(C.h_style == "Bald" || C.h_style == "Balding Hair" || C.h_style == "Skinhead")
- to_chat(user, "There is not enough hair left to shave...")
+ to_chat(user, SPAN_NOTICE("There is not enough hair left to shave..."))
return
if(isskrell(M))
- to_chat(user, "Your razor isn't going to cut through tentacles.")
+ to_chat(user, SPAN_WARNING("Your razor isn't going to cut through tentacles."))
return
if(H == user) //shaving yourself
- user.visible_message("[user] starts to shave [user.p_their()] head with [src].", \
- "You start to shave your head with \the [src].")
+ user.visible_message(SPAN_WARNING("[user] starts to shave [user.p_their()] head with [src]."), \
+ SPAN_WARNING("You start to shave your head with \the [src]."))
if(do_after(user, 50 * toolspeed, target = H))
- user.visible_message("[user] shaves [user.p_their()] head with [src].", \
- "You finish shaving with \the [src].")
+ user.visible_message(SPAN_NOTICE("[user] shaves [user.p_their()] head with [src]."), \
+ SPAN_NOTICE("You finish shaving with \the [src]."))
C.h_style = "Skinhead"
H.update_hair()
playsound(src.loc, usesound, 40, 1)
else
var/turf/user_loc = user.loc
var/turf/H_loc = H.loc
- user.visible_message("[user] tries to shave [H]'s head with \the [src]!", \
- "You start shaving [H]'s head.")
+ user.visible_message(SPAN_DANGER("[user] tries to shave [H]'s head with \the [src]!"), \
+ SPAN_WARNING("You start shaving [H]'s head."))
if(do_after(user, 50 * toolspeed, target = H))
if(user_loc == user.loc && H_loc == H.loc)
- user.visible_message("[user] shaves [H]'s head bald with \the [src]!", \
- "You shave [H]'s head bald.")
+ user.visible_message(SPAN_DANGER("[user] shaves [H]'s head bald with \the [src]!"), \
+ SPAN_WARNING("You shave [H]'s head bald."))
C.h_style = "Skinhead"
H.update_hair()
playsound(src.loc, usesound, 40, 1)
diff --git a/code/game/objects/items/courtroom.dm b/code/game/objects/items/courtroom.dm
index 32fbdc45f4e..14a0dc4cfc7 100644
--- a/code/game/objects/items/courtroom.dm
+++ b/code/game/objects/items/courtroom.dm
@@ -13,7 +13,7 @@
resistance_flags = FLAMMABLE
/obj/item/gavelhammer/suicide_act(mob/user)
- user.visible_message("[user] has sentenced [user.p_themselves()] to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] has sentenced [user.p_themselves()] to death with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1)
return BRUTELOSS
@@ -33,4 +33,4 @@
if(world.time > next_gavel_hit)
playsound(loc, 'sound/items/gavel.ogg', 100, 1)
next_gavel_hit = world.time + 5 SECONDS
- user.visible_message("[user] strikes \the [src] with \the [I].")
+ user.visible_message(SPAN_WARNING("[user] strikes \the [src] with \the [I]."))
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index aee47d3fb05..43283cb3fd3 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -36,7 +36,7 @@
var/consumable = TRUE
/obj/item/toy/crayon/suicide_act(mob/user)
- user.visible_message("[user] is jamming the [name] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is jamming the [name] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS|OXYLOSS
/obj/item/toy/crayon/Initialize(mapload)
@@ -123,12 +123,12 @@
temp = "letter"
else if(graffiti.Find(drawtype))
temp = "graffiti"
- to_chat(user, "You start drawing a [temp] on the [target.name].")
+ to_chat(user, SPAN_NOTICE("You start drawing a [temp] on the [target.name]."))
busy = TRUE
if(instant || do_after(user, 50 * toolspeed, target = target))
var/obj/effect/decal/cleanable/crayon/C = new /obj/effect/decal/cleanable/crayon(target, crayon_color, drawtype, temp)
C.add_hiddenprint(user)
- to_chat(user, "You finish drawing [temp].")
+ to_chat(user, SPAN_NOTICE("You finish drawing [temp]."))
if(preset_message_index > 0)
preset_message_index++
@@ -139,7 +139,7 @@
if(uses)
uses--
if(!uses)
- to_chat(user, "You used up your [name]!")
+ to_chat(user, SPAN_DANGER("You used up your [name]!"))
qdel(src)
busy = FALSE
@@ -150,15 +150,15 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(!H.check_has_mouth())
- to_chat(user, "You do not have a mouth!")
+ to_chat(user, SPAN_WARNING("You do not have a mouth!"))
return
times_eaten++
playsound(loc, 'sound/items/eatfood.ogg', 50, 0)
user.adjust_nutrition(5)
if(times_eaten < max_bites)
- to_chat(user, "You take a bite of the [name]. Delicious!")
+ to_chat(user, SPAN_NOTICE("You take a bite of the [name]. Delicious!"))
else
- to_chat(user, "There is no more of [name] left!")
+ to_chat(user, SPAN_WARNING("There is no more of [name] left!"))
qdel(src)
/obj/item/toy/crayon/examine(mob/user)
@@ -166,9 +166,9 @@
if(!user.Adjacent(src) || !times_eaten)
return
if(times_eaten == 1)
- . += "[src] was bitten by someone!"
+ . += SPAN_NOTICE("[src] was bitten by someone!")
else
- . += "[src] was bitten multiple times!"
+ . += SPAN_NOTICE("[src] was bitten multiple times!")
/obj/item/toy/crayon/red
name = "red crayon"
@@ -322,7 +322,7 @@
var/choice = tgui_input_list(user, "Do you want to...", "Spraycan Options", list("Toggle Cap","Change Drawing", "Change Color"))
switch(choice)
if("Toggle Cap")
- to_chat(user, "You [capped ? "remove" : "replace"] the cap of [src].")
+ to_chat(user, SPAN_NOTICE("You [capped ? "remove" : "replace"] the cap of [src]."))
capped = !capped
update_icon()
if("Change Drawing")
@@ -338,7 +338,7 @@
if(!proximity_flag)
return
if(capped)
- to_chat(user, "You cannot spray [target] while the cap is still on!")
+ to_chat(user, SPAN_WARNING("You cannot spray [target] while the cap is still on!"))
return
if(istype(target, /obj/item/clothing/head/cardborg) || istype(target, /obj/item/clothing/suit/cardborg)) // Spraypainting your cardborg suit for more fashion options.
cardborg_recolor(target, user)
@@ -347,10 +347,10 @@
return
var/mob/living/carbon/human/attackee = target
if(uses < 10)
- to_chat(user, "Theres not enough paint left to have an effect!")
+ to_chat(user, SPAN_WARNING("Theres not enough paint left to have an effect!"))
return
uses -= 10
- user.visible_message("[user] sprays [src] into the face of [target]!")
+ user.visible_message(SPAN_DANGER("[user] sprays [src] into the face of [target]!"))
if(!attackee.is_eyes_covered()) // eyes aren't covered? ARGH IT BURNS.
attackee.Confused(6 SECONDS)
attackee.KnockDown(6 SECONDS)
diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm
index 8e07f71c7e3..9fa3bec5264 100644
--- a/code/game/objects/items/defib.dm
+++ b/code/game/objects/items/defib.dm
@@ -58,7 +58,7 @@
/obj/item/defibrillator/examine(mob/user)
. = ..()
- . += "Alt-Click to remove the paddles from the defibrillator."
+ . += SPAN_NOTICE("Alt-Click to remove the paddles from the defibrillator.")
/obj/item/defibrillator/proc/update_power()
if(cell)
@@ -100,15 +100,15 @@
if(istype(W, /obj/item/stock_parts/cell))
var/obj/item/stock_parts/cell/C = W
if(cell)
- to_chat(user, "[src] already has a cell.")
+ to_chat(user, SPAN_NOTICE("[src] already has a cell."))
else
if(C.maxcharge < paddles.revivecost)
- to_chat(user, "[src] requires a higher capacity cell.")
+ to_chat(user, SPAN_NOTICE("[src] requires a higher capacity cell."))
return
if(user.drop_item(C))
W.forceMove(src)
cell = C
- to_chat(user, "You install a cell in [src].")
+ to_chat(user, SPAN_NOTICE("You install a cell in [src]."))
if(W == paddles)
toggle_paddles(user)
@@ -116,13 +116,13 @@
/obj/item/defibrillator/screwdriver_act(mob/living/user, obj/item/I)
if(!cell)
- to_chat(user, "[src] doesn't have a cell.")
+ to_chat(user, SPAN_NOTICE("[src] doesn't have a cell."))
return
cell.update_icon()
cell.forceMove(get_turf(loc))
cell = null
- to_chat(user, "You remove the cell from [src].")
+ to_chat(user, SPAN_NOTICE("You remove the cell from [src]."))
update_icon(UPDATE_OVERLAYS)
return TRUE
@@ -146,7 +146,7 @@
if(paddles_on_defib)
//Detach the paddles into the user's hands
if(!user.put_in_hands(paddles))
- to_chat(user, "You need a free hand to hold the paddles!")
+ to_chat(user, SPAN_WARNING("You need a free hand to hold the paddles!"))
update_icon(UPDATE_OVERLAYS)
return
paddles.forceMove(user)
@@ -252,8 +252,8 @@
/obj/item/defibrillator/compact/advanced/examine(mob/user)
. = ..()
- . += "[src] uses an experimental self-charging cell, meaning that it will (probably) never stop working."
- . += "The advanced paddles can be used to defibrillate through space suits."
+ . += SPAN_NOTICE("[src] uses an experimental self-charging cell, meaning that it will (probably) never stop working.")
+ . += SPAN_NOTICE("The advanced paddles can be used to defibrillate through space suits.")
/obj/item/defibrillator/compact/advanced/examine_more(mob/user)
. = ..()
@@ -324,7 +324,7 @@
SIGNAL_HANDLER // COMSIG_DEFIB_PADDLES_APPLIED
if(!HAS_TRAIT(src, TRAIT_WIELDED))
- to_chat(user, "You need to wield the paddles in both hands before you can use them on someone!")
+ to_chat(user, SPAN_BOLDNOTICE("You need to wield the paddles in both hands before you can use them on someone!"))
return COMPONENT_BLOCK_DEFIB_MISC
if(!defib.powered)
return COMPONENT_BLOCK_DEFIB_DEAD
@@ -336,10 +336,10 @@
on_cooldown = FALSE
if(defib.cell)
if(defib.cell.charge >= revivecost)
- defib.visible_message("[defib] beeps: Unit ready.")
+ defib.visible_message(SPAN_NOTICE("[defib] beeps: Unit ready."))
playsound(get_turf(src), 'sound/machines/defib_ready.ogg', 50, 0)
else
- defib.visible_message("[defib] beeps: Charge depleted.")
+ defib.visible_message(SPAN_NOTICE("[defib] beeps: Charge depleted."))
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
update_icon(UPDATE_ICON_STATE)
defib.update_icon(UPDATE_ICON_STATE)
@@ -358,7 +358,7 @@
icon_state = "[base_icon_state][wielded]_cooldown"
/obj/item/shockpaddles/suicide_act(mob/user)
- user.visible_message("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_DANGER("[user] is putting the live paddles on [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!"))
defib.deductcharge(revivecost)
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, TRUE, -1)
return OXYLOSS
@@ -366,7 +366,7 @@
/obj/item/shockpaddles/dropped(mob/user)
..()
if(user)
- to_chat(user, "The paddles snap back into the main unit.")
+ to_chat(user, SPAN_NOTICE("The paddles snap back into the main unit."))
defib.paddles_on_defib = TRUE
loc = defib
defib.update_icon(UPDATE_OVERLAYS)
@@ -438,7 +438,7 @@
/obj/item/borg_defib/proc/on_cooldown_expire(obj/item/defib)
SIGNAL_HANDLER // COMSIG_DEFIB_READY
- visible_message("[src] beeps: Defibrillation unit ready.")
+ visible_message(SPAN_NOTICE("[src] beeps: Defibrillation unit ready."))
playsound(get_turf(src), 'sound/machines/defib_ready.ogg', 50, 0)
update_icon(UPDATE_ICON_STATE)
diff --git a/code/game/objects/items/dehy_carp.dm b/code/game/objects/items/dehy_carp.dm
index 5e90da5390b..ffc63347963 100644
--- a/code/game/objects/items/dehy_carp.dm
+++ b/code/game/objects/items/dehy_carp.dm
@@ -19,7 +19,7 @@
return
src.add_fingerprint(user) // Anyone can add their fingerprints to it with this
if(owned)
- to_chat(user, "[src] stares up at you with friendly eyes.")
+ to_chat(user, SPAN_NOTICE("[src] stares up at you with friendly eyes."))
owner = user
owned = 0
return ..()
@@ -34,14 +34,14 @@
if(!proximity_flag)
return
if(istype(target,/obj/structure/sink))
- to_chat(user, "You place [src] under a stream of water...")
+ to_chat(user, SPAN_NOTICE("You place [src] under a stream of water..."))
user.drop_item()
loc = get_turf(target)
return Swell()
/obj/item/toy/plushie/carpplushie/dehy_carp/proc/Swell()
desc = "It's growing!"
- visible_message("[src] swells up!")
+ visible_message(SPAN_NOTICE("[src] swells up!"))
// Animation
icon = 'icons/mob/carp.dmi'
flick("carp_swell", src)
diff --git a/code/game/objects/items/devices/aicard.dm b/code/game/objects/items/devices/aicard.dm
index 255c59a99ea..df957fb8b66 100644
--- a/code/game/objects/items/devices/aicard.dm
+++ b/code/game/objects/items/devices/aicard.dm
@@ -97,7 +97,7 @@
switch(action)
if("wipe")
if(flush) // Don't doublewipe.
- to_chat(user, "You are already wiping this AI!")
+ to_chat(user, SPAN_WARNING("You are already wiping this AI!"))
return
var/confirm = tgui_alert(user, "Are you sure you want to wipe this card's memory? This cannot be undone once started.", "Confirm Wipe", list("Yes", "No"))
if(confirm == "Yes" && (ui_status(user, GLOB.inventory_state) == UI_INTERACTIVE)) // And make doubly sure they want to wipe (three total clicks)
@@ -107,13 +107,13 @@
if("radio")
AI.aiRadio.disabledAi = !AI.aiRadio.disabledAi
- to_chat(AI, "Your Subspace Transceiver has been [AI.aiRadio.disabledAi ? "disabled" : "enabled"]!")
- to_chat(user, "You [AI.aiRadio.disabledAi ? "disable" : "enable"] the AI's Subspace Transceiver.")
+ to_chat(AI, SPAN_WARNING("Your Subspace Transceiver has been [AI.aiRadio.disabledAi ? "disabled" : "enabled"]!"))
+ to_chat(user, SPAN_NOTICE("You [AI.aiRadio.disabledAi ? "disable" : "enable"] the AI's Subspace Transceiver."))
if("wireless")
AI.control_disabled = !AI.control_disabled
- to_chat(AI, "Your wireless interface has been [AI.control_disabled ? "disabled" : "enabled"]!")
- to_chat(user, "You [AI.control_disabled ? "disable" : "enable"] the AI's wireless interface.")
+ to_chat(AI, SPAN_WARNING("Your wireless interface has been [AI.control_disabled ? "disabled" : "enabled"]!"))
+ to_chat(user, SPAN_NOTICE("You [AI.control_disabled ? "disable" : "enable"] the AI's wireless interface."))
update_icon()
return TRUE
@@ -125,8 +125,8 @@
return
if(!GetComponent(/datum/component/ducttape) && AI.builtInCamera)
- . += "You see a small [AI]'s camera staring at you."
- . += "You can use a tape roll on [src] to tape the camera lens."
+ . += SPAN_NOTICE("You see a small [AI]'s camera staring at you.")
+ . += SPAN_NOTICE("You can use a tape roll on [src] to tape the camera lens.")
/obj/item/aicard/proc/wipe_ai()
var/mob/living/silicon/ai/AI = locate() in src
diff --git a/code/game/objects/items/devices/autochef_remote.dm b/code/game/objects/items/devices/autochef_remote.dm
index 37805c66dc8..f0013828ada 100644
--- a/code/game/objects/items/devices/autochef_remote.dm
+++ b/code/game/objects/items/devices/autochef_remote.dm
@@ -16,17 +16,17 @@ RESTRICT_TYPE(/obj/item/autochef_remote)
/obj/item/autochef_remote/examine(mob/user)
. = ..()
- . += "Use [src] on cooking utensils and machines to store them in the buffer."
- . += "Use [src] on an autochef to register all the stored utensils and machines to the autochef."
- . += "Register food and drink carts and smart fridges to give the autochef access to ingredients."
- . += "Use [src] in-hand to clear its buffer, which can then be used to unlink everything from autochefs."
+ . += SPAN_NOTICE("Use [src] on cooking utensils and machines to store them in the buffer.")
+ . += SPAN_NOTICE("Use [src] on an autochef to register all the stored utensils and machines to the autochef.")
+ . += SPAN_NOTICE("Register food and drink carts and smart fridges to give the autochef access to ingredients.")
+ . += SPAN_NOTICE("Use [src] in-hand to clear its buffer, which can then be used to unlink everything from autochefs.")
/obj/item/autochef_remote/activate_self(mob/user)
if(..())
return FINISH_ATTACK
linkable_machine_uids.Cut()
- to_chat(user, "You clear all items stored in [src]'s buffer.")
+ to_chat(user, SPAN_NOTICE("You clear all items stored in [src]'s buffer."))
/obj/item/autochef_remote/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers)
var/target_uid = interacting_with.UID()
@@ -41,6 +41,6 @@ RESTRICT_TYPE(/obj/item/autochef_remote)
if(surface.container)
interact_with_atom(surface.container, user)
- to_chat(user, "You add [interacting_with] to [src]'s buffer.")
+ to_chat(user, SPAN_NOTICE("You add [interacting_with] to [src]'s buffer."))
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/items/devices/autopsy.dm b/code/game/objects/items/devices/autopsy.dm
index d609471ff33..aff4eb717e6 100644
--- a/code/game/objects/items/devices/autopsy.dm
+++ b/code/game/objects/items/devices/autopsy.dm
@@ -74,14 +74,14 @@
/obj/item/autopsy_scanner/examine(mob/user)
. = ..()
if(Adjacent(user))
- . += "You can use a pen on it to quickly write a coroner's report."
+ . += SPAN_NOTICE("You can use a pen on it to quickly write a coroner's report.")
/obj/item/autopsy_scanner/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(!is_pen(used))
return ..()
if(!COOLDOWN_FINISHED(src, print_cooldown))
- to_chat(user, "[src] is busy, try again in a few seconds.")
+ to_chat(user, SPAN_WARNING("[src] is busy, try again in a few seconds."))
return ITEM_INTERACT_COMPLETE
var/dead_name = tgui_input_text(user, "Insert name of deceased individual", default = target_name, title = "Coroner's Report", max_length = 60)
@@ -105,7 +105,7 @@
return FINISH_ATTACK
if(!COOLDOWN_FINISHED(src, print_cooldown))
- to_chat(user, "[src] is busy, try again in a few seconds.")
+ to_chat(user, SPAN_WARNING("[src] is busy, try again in a few seconds."))
return
COOLDOWN_START(src, print_cooldown, PRINT_TIMER)
@@ -164,7 +164,7 @@
for(var/chemID in chemtraces)
scan_data += chemID
scan_data += "
"
- user.visible_message("[src] rattles and prints out a sheet of paper.")
+ user.visible_message(SPAN_WARNING("[src] rattles and prints out a sheet of paper."))
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(10)
@@ -191,15 +191,15 @@
wdata.Cut()
chemtraces.Cut()
timeofdeath = null
- to_chat(user, "A new patient has been registered. Purging data for previous patient.")
+ to_chat(user, SPAN_WARNING("A new patient has been registered. Purging data for previous patient."))
timeofdeath = target.timeofdeath
var/obj/item/organ/external/S = target.get_organ(user.zone_selected)
if(!S)
- to_chat(user, "You can't scan this body part.")
+ to_chat(user, SPAN_WARNING("You can't scan this body part."))
return ITEM_INTERACT_COMPLETE
- target.visible_message("[user] scans the wounds on [target]'s [S.name] with [src]")
+ target.visible_message(SPAN_WARNING("[user] scans the wounds on [target]'s [S.name] with [src]"))
add_data(S)
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/items/devices/chameleon_counter.dm b/code/game/objects/items/devices/chameleon_counter.dm
index c91ba49fe52..8da7a37b8ed 100644
--- a/code/game/objects/items/devices/chameleon_counter.dm
+++ b/code/game/objects/items/devices/chameleon_counter.dm
@@ -23,7 +23,7 @@
/obj/item/chameleon_counterfeiter/examine(mob/user)
. = ..()
if(dummy_active)
- . += "It doesn't look quite right..."
+ . += SPAN_WARNING("It doesn't look quite right...")
/obj/item/chameleon_counterfeiter/afterattack__legacy__attackchain(obj/item/target, mob/user, proximity)
if(!proximity || !check_sprite(target) || target.alpha < 255 || target.invisibility != 0)
@@ -31,7 +31,7 @@
if(dummy_active || !isitem(target))
return
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, TRUE, -6)
- to_chat(user, "Scanned [target].")
+ to_chat(user, SPAN_NOTICE("Scanned [target]."))
saved_name = target.name
saved_desc = target.desc
saved_icon = target.icon
@@ -51,9 +51,9 @@
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, TRUE, -6)
if(dummy_active)
matter_deactivate()
- to_chat(user, "You deactivate [src].")
+ to_chat(user, SPAN_NOTICE("You deactivate [src]."))
else
- to_chat(user, "You activate [src].")
+ to_chat(user, SPAN_NOTICE("You activate [src]."))
matter_activate()
/obj/item/chameleon_counterfeiter/proc/matter_activate()
diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm
index 17ff46236a9..9a3f541011e 100644
--- a/code/game/objects/items/devices/chameleonproj.dm
+++ b/code/game/objects/items/devices/chameleonproj.dm
@@ -41,7 +41,7 @@
if(!active_dummy)
if(isitem(target) && !istype(target, /obj/item/disk/nuclear))
playsound(get_turf(src), 'sound/weapons/flash.ogg', 100, TRUE, -6)
- to_chat(user, "Scanned [target].")
+ to_chat(user, SPAN_NOTICE("Scanned [target]."))
saved_item = target.type
saved_icon = target.icon
saved_icon_state = target.icon_state
@@ -58,7 +58,7 @@
eject_all()
playsound(get_turf(src), 'sound/effects/pop.ogg', 100, TRUE, -6)
QDEL_NULL(active_dummy)
- to_chat(usr, "You deactivate [src].")
+ to_chat(usr, SPAN_NOTICE("You deactivate [src]."))
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
T.icon = 'icons/effects/effects.dmi'
flick("emppulse",T)
@@ -72,7 +72,7 @@
var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc)
C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, saved_underlays, src)
qdel(O)
- to_chat(usr, "You activate [src].")
+ to_chat(usr, SPAN_NOTICE("You activate [src]."))
var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src))
T.icon = 'icons/effects/effects.dmi'
flick("emppulse",T)
@@ -120,12 +120,12 @@
if(..())
return FINISH_ATTACK
for(var/mob/M in src)
- to_chat(M, "Your [src] deactivates.")
+ to_chat(M, SPAN_DANGER("Your [src] deactivates."))
master.disrupt()
/obj/effect/dummy/chameleon/attack_hand()
for(var/mob/M in src)
- to_chat(M, "Your [src] deactivates.")
+ to_chat(M, SPAN_DANGER("Your [src] deactivates."))
master.disrupt()
/obj/effect/dummy/chameleon/attack_animal()
@@ -145,14 +145,14 @@
/obj/effect/dummy/chameleon/ex_act(severity) //no longer bomb-proof
for(var/mob/M in src)
- to_chat(M, "Your [src] deactivates.")
+ to_chat(M, SPAN_DANGER("Your [src] deactivates."))
spawn()
M.ex_act(severity)
master.disrupt()
/obj/effect/dummy/chameleon/bullet_act()
for(var/mob/M in src)
- to_chat(M, "Your [src] deactivates.")
+ to_chat(M, SPAN_DANGER("Your [src] deactivates."))
..()
master.disrupt()
@@ -209,21 +209,21 @@
if(isturf(user.loc))
toggle(user)
else
- to_chat(user, "You can't use [src] while inside something!")
+ to_chat(user, SPAN_WARNING("You can't use [src] while inside something!"))
else
- to_chat(user, "You need at least [activation_cost] charge in your cell to use [src]!")
+ to_chat(user, SPAN_WARNING("You need at least [activation_cost] charge in your cell to use [src]!"))
/obj/item/borg_chameleon/proc/toggle(mob/living/silicon/robot/syndicate/saboteur/user)
if(active)
- to_chat(user, "You reconfigure [src].")
+ to_chat(user, SPAN_NOTICE("You reconfigure [src]."))
activate(user)
return
- to_chat(user, "You activate [src].")
+ to_chat(user, SPAN_NOTICE("You activate [src]."))
apply_wibbly_filters(user)
if(do_after(user, 5 SECONDS, target = user) && user.cell.use(activation_cost))
activate(user)
else
- to_chat(user, "The chameleon field fizzles.")
+ to_chat(user, SPAN_WARNING("The chameleon field fizzles."))
do_sparks(3, FALSE, user)
remove_wibbly_filters(user)
@@ -277,7 +277,7 @@
active = TRUE
user.update_icons()
playsound(src, 'sound/effects/bamf.ogg', 100, TRUE, -6)
- to_chat(user, "You are now disguised as a Nanotrasen [selected_module] cyborg.")
+ to_chat(user, SPAN_NOTICE("You are now disguised as a Nanotrasen [selected_module] cyborg."))
/obj/item/borg_chameleon/proc/deactivate(mob/living/silicon/robot/syndicate/saboteur/user)
STOP_PROCESSING(SSobj, src)
@@ -292,5 +292,5 @@
/obj/item/borg_chameleon/proc/disrupt(mob/living/silicon/robot/syndicate/saboteur/user)
if(active)
- to_chat(user, "Your chameleon field deactivates.")
+ to_chat(user, SPAN_DANGER("Your chameleon field deactivates."))
deactivate(user)
diff --git a/code/game/objects/items/devices/enginepicker.dm b/code/game/objects/items/devices/enginepicker.dm
index 304a973e65a..b728fdd4a94 100644
--- a/code/game/objects/items/devices/enginepicker.dm
+++ b/code/game/objects/items/devices/enginepicker.dm
@@ -80,10 +80,10 @@
var/mob/living/silicon/ai/announcer = pick(ailist)
announcer.say(";Engine delivery detected. Type: [engtype].") //Let's announce the terrible choice to everyone
- visible_message("\The [src] begins to violently vibrate and hiss, then promptly disintegrates!")
+ visible_message(SPAN_NOTICE("\The [src] begins to violently vibrate and hiss, then promptly disintegrates!"))
qdel(src) //Self-destructs to prevent crew from spawning multiple engines.
else
- visible_message("\The [src] buzzes! No beacon found or selected!")
+ visible_message(SPAN_NOTICE("\The [src] buzzes! No beacon found or selected!"))
isactive = FALSE
return
diff --git a/code/game/objects/items/devices/flash.dm b/code/game/objects/items/devices/flash.dm
index 99be84c936d..fbadd328c1e 100644
--- a/code/game/objects/items/devices/flash.dm
+++ b/code/game/objects/items/devices/flash.dm
@@ -36,7 +36,7 @@
return
if(battery_panel && !overcharged)
- to_chat(user, "You jam [I] into the battery compartment on [src].")
+ to_chat(user, SPAN_NOTICE("You jam [I] into the battery compartment on [src]."))
qdel(I)
overcharged = TRUE
update_icon(UPDATE_OVERLAYS)
@@ -51,23 +51,23 @@
return
if(battery_panel)
- to_chat(user, "You close the battery compartment on [src].")
+ to_chat(user, SPAN_NOTICE("You close the battery compartment on [src]."))
else
- to_chat(user, "You open the battery compartment on [src].")
+ to_chat(user, SPAN_NOTICE("You open the battery compartment on [src]."))
battery_panel = !battery_panel
return TRUE
/obj/item/flash/proc/burn_out() //Made so you can override it if you want to have an invincible flash from R&D or something.
broken = TRUE
icon_state = "[initial(icon_state)]burnt"
- visible_message("[src] burns out!")
+ visible_message(SPAN_NOTICE("[src] burns out!"))
/obj/item/flash/proc/try_use_flash(mob/user)
if(broken)
return FALSE
if(!COOLDOWN_FINISHED(src, flash_cooldown) && user)
- to_chat(user, "Your [name] is still too hot to use again!")
+ to_chat(user, SPAN_WARNING("Your [name] is still too hot to use again!"))
return FALSE
. = TRUE
@@ -87,7 +87,7 @@
times_used++
if(times_used == (max_uses - 1))
- to_chat(user, "[src] is getting dangerously hot! Don't use it for a few seconds or it will burn out!")
+ to_chat(user, SPAN_WARNING("[src] is getting dangerously hot! Don't use it for a few seconds or it will burn out!"))
else if(times_used == max_uses)
burn_out()
@@ -112,13 +112,13 @@
if(!M.absorb_stun(0))
M.drop_l_hand()
M.drop_r_hand()
- visible_message("[user] blinds [M] with [src]!")
- to_chat(user, "You blind [M] with [src]!")
- to_chat(M, "[user] blinds you with [src]!")
+ visible_message(SPAN_DISARM("[user] blinds [M] with [src]!"))
+ to_chat(user, SPAN_DANGER("You blind [M] with [src]!"))
+ to_chat(M, SPAN_USERDANGER("[user] blinds you with [src]!"))
else
- visible_message("[user] fails to blind [M] with [src]!")
- to_chat(user, "You fail to blind [M] with [src]!")
- to_chat(M, "[user] fails to blind you with [src]!")
+ visible_message(SPAN_DISARM("[user] fails to blind [M] with [src]!"))
+ to_chat(user, SPAN_WARNING("You fail to blind [M] with [src]!"))
+ to_chat(M, SPAN_DANGER("[user] fails to blind you with [src]!"))
return
if(M.flash_eyes())
@@ -137,9 +137,9 @@
else if(issilicon(M))
add_attack_logs(user, M, "Flashed with [src]")
if(M.flash_eyes(intensity = 1.25, affect_silicon = TRUE)) // 40 * 1.25 = 50 stamina damage
- user.visible_message("[user] overloads [M]'s sensors with [src]!", "You overload [M]'s sensors with [src]!")
+ user.visible_message(SPAN_DISARM("[user] overloads [M]'s sensors with [src]!"), SPAN_DANGER("You overload [M]'s sensors with [src]!"))
return TRUE
- user.visible_message("[user] fails to blind [M] with [src]!", "You fail to blind [M] with [src]!")
+ user.visible_message(SPAN_DISARM("[user] fails to blind [M] with [src]!"), SPAN_WARNING("You fail to blind [M] with [src]!"))
/obj/item/flash/afterattack__legacy__attackchain(atom/target, mob/living/user, proximity, params)
if(!proximity)
@@ -150,7 +150,7 @@
return
var/obj/machinery/camera/C = target
C.emp_act(EMP_HEAVY)
- to_chat(user,"You hit the lens of [C] with [src], temporarily disabling the camera!")
+ to_chat(user,SPAN_NOTICE("You hit the lens of [C] with [src], temporarily disabling the camera!"))
log_admin("[key_name(user)] EMPd a camera with a flash")
user.create_attack_log("[key_name(user)] EMPd a camera with a flash")
add_attack_logs(user, C, "EMPd with [src]", ATKLOG_ALL)
@@ -158,7 +158,7 @@
/obj/item/flash/attack_self__legacy__attackchain(mob/living/carbon/user, flag = 0, emp = 0)
if(!try_use_flash(user))
return FALSE
- user.visible_message("[user]'s [name] emits a blinding light!", "Your [name] emits a blinding light!")
+ user.visible_message(SPAN_DISARM("[user]'s [name] emits a blinding light!"), SPAN_DANGER("Your [name] emits a blinding light!"))
for(var/mob/living/carbon/M in oviewers(3, null))
flash_carbon(M, user, 6 SECONDS, 0)
for(var/obj/machinery/camera/C in view(3, user))
@@ -179,11 +179,11 @@
if(!ishuman(M) || !user.mind?.has_antag_datum(/datum/antagonist/rev/head))
return
if(M.stat != CONSCIOUS)
- to_chat(user, "They must be conscious before you can convert [M.p_them()]!")
+ to_chat(user, SPAN_WARNING("They must be conscious before you can convert [M.p_them()]!"))
else if(add_revolutionary(M.mind))
times_used-- //Flashes less likely to burn out for headrevs when used for conversion
else
- to_chat(user, "This mind seems resistant to [src]!")
+ to_chat(user, SPAN_WARNING("This mind seems resistant to [src]!"))
/obj/item/flash/proc/add_revolutionary(datum/mind/converting_mind)
var/mob/living/carbon/human/conversion_target = converting_mind.current
@@ -255,7 +255,7 @@
/obj/item/flash/cameraflash/try_use_flash(mob/user = null)
if(!flash_cur_charges)
- to_chat(user, "[src] needs time to recharge!")
+ to_chat(user, SPAN_WARNING("[src] needs time to recharge!"))
return FALSE
. = ..()
if(.)
@@ -278,7 +278,7 @@
/obj/item/flash/armimplant/burn_out()
if(implant?.owner)
- to_chat(implant.owner, "Your [name] implant overheats and deactivates!")
+ to_chat(implant.owner, SPAN_WARNING("Your [name] implant overheats and deactivates!"))
implant.Retract()
/obj/item/flash/armimplant/Destroy()
diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm
index e8e43afb15c..0411c7f9c35 100644
--- a/code/game/objects/items/devices/flashlight.dm
+++ b/code/game/objects/items/devices/flashlight.dm
@@ -49,35 +49,35 @@
return ..() //just hit them in the head
if(!(ishuman(user) || SSticker) && SSticker.mode.name != "monkey") //don't have dexterity
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_NOTICE("You don't have the dexterity to do this!"))
return
var/mob/living/carbon/human/H = M //mob has protective eyewear
if(istype(H) && ((H.head && H.head.flags_cover & HEADCOVERSEYES) || (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) || (H.glasses && H.glasses.flags_cover & GLASSESCOVERSEYES)))
- to_chat(user, "You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask" : "glasses"] first.")
+ to_chat(user, SPAN_NOTICE("You're going to need to remove that [(H.head && H.head.flags_cover & HEADCOVERSEYES) ? "helmet" : (H.wear_mask && H.wear_mask.flags_cover & MASKCOVERSEYES) ? "mask" : "glasses"] first."))
return
if(M == user) //they're using it on themselves
if(M.flash_eyes(visual = 1))
- M.visible_message("[M] directs [src] to [M.p_their()] eyes.", \
- "You wave the light in front of your eyes! Trippy!")
+ M.visible_message(SPAN_NOTICE("[M] directs [src] to [M.p_their()] eyes."), \
+ SPAN_NOTICE("You wave the light in front of your eyes! Trippy!"))
else
- M.visible_message("[M] directs [src] to [M.p_their()] eyes.", \
- "You wave the light in front of your eyes.")
+ M.visible_message(SPAN_NOTICE("[M] directs [src] to [M.p_their()] eyes."), \
+ SPAN_NOTICE("You wave the light in front of your eyes."))
else
- user.visible_message("[user] directs [src] to [M]'s eyes.", \
- "You direct [src] to [M]'s eyes.")
+ user.visible_message(SPAN_NOTICE("[user] directs [src] to [M]'s eyes."), \
+ SPAN_NOTICE("You direct [src] to [M]'s eyes."))
if(istype(H)) //robots and aliens are unaffected
var/obj/item/organ/internal/eyes/eyes = H.get_int_organ(/obj/item/organ/internal/eyes)
if(M.stat == DEAD || !eyes || HAS_TRAIT(M, TRAIT_BLIND)) //mob is dead or fully blind
- to_chat(user, "[M]'s pupils are unresponsive to the light!")
+ to_chat(user, SPAN_NOTICE("[M]'s pupils are unresponsive to the light!"))
else if(HAS_TRAIT(M, TRAIT_XRAY_VISION) || eyes.see_in_dark >= 8) //The mob's either got the X-RAY vision or has a tapetum lucidum (extreme nightvision, i.e. Vulp/Tajara with COLOURBLIND & their monkey forms).
- to_chat(user, "[M]'s pupils glow eerily!")
+ to_chat(user, SPAN_NOTICE("[M]'s pupils glow eerily!"))
else //they're okay!
if(M.flash_eyes(visual = 1))
- to_chat(user, "[M]'s pupils narrow.")
+ to_chat(user, SPAN_NOTICE("[M]'s pupils narrow."))
else
return ..()
@@ -127,7 +127,7 @@
/obj/item/flashlight/lamp/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to turn it on/off."
+ . += SPAN_NOTICE("You can Alt-Click [src] to turn it on/off.")
// green-shaded desk lamp
/obj/item/flashlight/lamp/green
@@ -204,16 +204,16 @@
/obj/item/flashlight/flare/attack_self__legacy__attackchain(mob/user)
// Usual checks
if(!fuel)
- to_chat(user, "[src] is out of fuel.")
+ to_chat(user, SPAN_NOTICE("[src] is out of fuel."))
return
if(on)
- to_chat(user, "[src] is already on.")
+ to_chat(user, SPAN_NOTICE("[src] is already on."))
return
. = ..()
// All good, turn it on.
if(.)
- user.visible_message("[user] activates [src].", "You activate [src].")
+ user.visible_message(SPAN_NOTICE("[user] activates [src]."), SPAN_NOTICE("You activate [src]."))
if(produce_heat)
force = on_damage
damtype = "fire"
@@ -308,9 +308,9 @@
/obj/item/flashlight/flare/extinguish_light(force = FALSE)
if(force)
fuel = 0
- visible_message("[src] burns up rapidly!")
+ visible_message(SPAN_DANGER("[src] burns up rapidly!"))
else
- visible_message("[src] dims slightly before scattering the shadows around it.")
+ visible_message(SPAN_DANGER("[src] dims slightly before scattering the shadows around it."))
/obj/item/flashlight/flare/torch
name = "torch"
@@ -346,10 +346,10 @@
/obj/item/flashlight/slime/extinguish_light(force = FALSE)
if(force)
- visible_message("[src] withers away.")
+ visible_message(SPAN_DANGER("[src] withers away."))
qdel(src)
else
- visible_message("[src] dims slightly before scattering the shadows around it.")
+ visible_message(SPAN_DANGER("[src] dims slightly before scattering the shadows around it."))
/obj/item/flashlight/emp
origin_tech = "magnets=3;syndicate=1"
@@ -391,7 +391,7 @@
to_chat(user, "[src] now has [emp_cur_charges] charge\s.")
A.emp_act(EMP_HEAVY)
else
- to_chat(user, "\The [src] needs time to recharge!")
+ to_chat(user, SPAN_WARNING("\The [src] needs time to recharge!"))
return
/// invisible lighting source
diff --git a/code/game/objects/items/devices/geiger_counter.dm b/code/game/objects/items/devices/geiger_counter.dm
index 713873bce12..6a54195b8a1 100644
--- a/code/game/objects/items/devices/geiger_counter.dm
+++ b/code/game/objects/items/devices/geiger_counter.dm
@@ -85,28 +85,28 @@
. = ..()
if(!scanning)
return
- . += "Alt-click it to clear stored radiation levels."
+ . += SPAN_NOTICE("Alt-click it to clear stored radiation levels.")
if(emagged)
- . += "The display seems to be incomprehensible."
+ . += SPAN_WARNING("The display seems to be incomprehensible.")
return
var/radiation_count = max(radiation_count_alpha, radiation_count_beta, radiation_count_gamma)
switch(radiation_count)
if(-INFINITY to RAD_LEVEL_NORMAL)
- . += "Ambient radiation level count reports that all is well."
+ . += SPAN_NOTICE("Ambient radiation level count reports that all is well.")
if(RAD_LEVEL_NORMAL + 1 to RAD_LEVEL_MODERATE)
- . += "Ambient radiation levels slightly above average."
+ . += SPAN_ALERT("Ambient radiation levels slightly above average.")
if(RAD_LEVEL_MODERATE + 1 to RAD_LEVEL_HIGH)
- . += "Ambient radiation levels above average."
+ . += SPAN_WARNING("Ambient radiation levels above average.")
if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH)
- . += "Ambient radiation levels highly above average."
+ . += SPAN_DANGER("Ambient radiation levels highly above average.")
if(RAD_LEVEL_VERY_HIGH + 1 to RAD_LEVEL_CRITICAL)
- . += "Ambient radiation levels nearing critical level."
+ . += SPAN_SUICIDE("Ambient radiation levels nearing critical level.")
if(RAD_LEVEL_CRITICAL + 1 to INFINITY)
- . += "Ambient radiation levels above critical level!"
+ . += SPAN_BOLDANNOUNCEIC("Ambient radiation levels above critical level!")
- . += "The alpha radiation amount detected was [last_tick_amount_alpha]"
- . += "The beta radiation amount detected was [last_tick_amount_beta]"
- . += "The gamma radiation amount detected was [last_tick_amount_gamma]"
+ . += SPAN_NOTICE("The alpha radiation amount detected was [last_tick_amount_alpha]")
+ . += SPAN_NOTICE("The beta radiation amount detected was [last_tick_amount_beta]")
+ . += SPAN_NOTICE("The gamma radiation amount detected was [last_tick_amount_gamma]")
/obj/item/geiger_counter/update_icon_state()
if(!scanning)
@@ -157,7 +157,7 @@
scanning = !scanning
update_icon(UPDATE_ICON_STATE)
- to_chat(user, "[bicon(src)] You switch [scanning ? "on" : "off"] [src].")
+ to_chat(user, SPAN_NOTICE("[bicon(src)] You switch [scanning ? "on" : "off"] [src]."))
/obj/item/geiger_counter/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(geiger_act(target, user))
@@ -173,10 +173,10 @@
if(user.a_intent != INTENT_HELP || isstorage(target))
return FALSE
if(!emagged)
- user.visible_message("[user] scans [target] with [src].", "You scan [target]'s radiation levels with [src]...")
+ user.visible_message(SPAN_NOTICE("[user] scans [target] with [src]."), SPAN_NOTICE("You scan [target]'s radiation levels with [src]..."))
addtimer(CALLBACK(src, PROC_REF(scan), target, user), 20, TIMER_UNIQUE) // Let's not have spamming GetAllContents
else
- user.visible_message("[user] scans [target] with [src].", "You project [src]'s stored radiation into [target]!")
+ user.visible_message(SPAN_NOTICE("[user] scans [target] with [src]."), SPAN_DANGER("You project [src]'s stored radiation into [target]!"))
target.base_rad_act(src, radiation_count_alpha, ALPHA_RAD)
target.base_rad_act(src, radiation_count_beta, BETA_RAD)
target.base_rad_act(src, radiation_count_gamma, GAMMA_RAD)
@@ -191,24 +191,24 @@
if(isliving(A))
var/mob/living/M = A
if(!M.radiation)
- to_chat(user, "[bicon(src)] Radiation levels within normal boundaries.")
+ to_chat(user, SPAN_NOTICE("[bicon(src)] Radiation levels within normal boundaries."))
else
- to_chat(user, "[bicon(src)] Subject is irradiated. Radiation levels: [M.radiation] rads.")
+ to_chat(user, SPAN_BOLDANNOUNCEIC("[bicon(src)] Subject is irradiated. Radiation levels: [M.radiation] rads."))
if(rad_strength)
- to_chat(user, "[bicon(src)] Target contains radioactive contamination. Radioactive strength: [rad_strength] rads.")
+ to_chat(user, SPAN_BOLDANNOUNCEIC("[bicon(src)] Target contains radioactive contamination. Radioactive strength: [rad_strength] rads."))
else
- to_chat(user, "[bicon(src)] Target is free of radioactive contamination.")
+ to_chat(user, SPAN_NOTICE("[bicon(src)] Target is free of radioactive contamination."))
/obj/item/geiger_counter/screwdriver_act(mob/living/user, obj/item/I)
if(emagged)
if(scanning)
- to_chat(user, "Turn off [src] before you perform this action!")
+ to_chat(user, SPAN_WARNING("Turn off [src] before you perform this action!"))
return FALSE
- user.visible_message("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards...", "You begin resetting [src]...")
+ user.visible_message(SPAN_NOTICE("[user] unscrews [src]'s maintenance panel and begins fiddling with its innards..."), SPAN_NOTICE("You begin resetting [src]..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return FALSE
- user.visible_message("[user] refastens [src]'s maintenance panel!", "You reset [src] to its factory settings!")
+ user.visible_message(SPAN_NOTICE("[user] refastens [src]'s maintenance panel!"), SPAN_NOTICE("You reset [src] to its factory settings!"))
emagged = FALSE
radiation_count_alpha = 0
radiation_count_beta = 0
@@ -222,21 +222,21 @@
if(!istype(user) || !user.Adjacent(src))
return ..()
if(!scanning)
- to_chat(user, "[src] must be on to reset its radiation level!")
+ to_chat(user, SPAN_WARNING("[src] must be on to reset its radiation level!"))
return
radiation_count_alpha = 0
radiation_count_beta = 0
radiation_count_gamma = 0
- to_chat(user, "You flush [src]'s radiation counts, resetting it to normal.")
+ to_chat(user, SPAN_NOTICE("You flush [src]'s radiation counts, resetting it to normal."))
update_icon(UPDATE_ICON_STATE)
/obj/item/geiger_counter/emag_act(mob/user)
if(emagged)
return
if(scanning)
- to_chat(user, "Turn off [src] before you perform this action!")
+ to_chat(user, SPAN_WARNING("Turn off [src] before you perform this action!"))
return
- to_chat(user, "You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan.")
+ to_chat(user, SPAN_WARNING("You override [src]'s radiation storing protocols. It will now generate small doses of radiation, and stored rads are now projected into creatures you scan."))
emagged = TRUE
return TRUE
diff --git a/code/game/objects/items/devices/handheld_defib.dm b/code/game/objects/items/devices/handheld_defib.dm
index b89d68433a3..ed5898cb8b2 100644
--- a/code/game/objects/items/devices/handheld_defib.dm
+++ b/code/game/objects/items/devices/handheld_defib.dm
@@ -21,13 +21,13 @@
emagged = TRUE
desc += " The screen only shows the word KILL flashing over and over."
if(user)
- to_chat(user, "you short out the safeties on [src]")
+ to_chat(user, SPAN_WARNING("you short out the safeties on [src]"))
return TRUE
else
emagged = FALSE
desc = "Used to restart stopped hearts."
if(user)
- to_chat(user, "You restore the safeties on [src]")
+ to_chat(user, SPAN_WARNING("You restore the safeties on [src]"))
return TRUE
/obj/item/handheld_defibrillator/attack__legacy__attackchain(mob/living/carbon/human/H, mob/user)
@@ -35,7 +35,7 @@
return ..()
if(cooldown)
- to_chat(user, "[src] is still charging!")
+ to_chat(user, SPAN_WARNING("[src] is still charging!"))
return
if(emagged)
@@ -43,7 +43,7 @@
if(HAS_TRAIT_FROM(H, TRAIT_WAS_BATONNED, user_UID)) // no following up with baton or dual wielding defibs for stunlock cheese purposes
return
- user.visible_message("[user] violently shocks [H] with [src]!", "You violently shock [H] with [src]!")
+ user.visible_message(SPAN_DANGER("[user] violently shocks [H] with [src]!"), SPAN_DANGER("You violently shock [H] with [src]!"))
add_attack_logs(user, H, "emag-defibbed with [src]")
playsound(user.loc, "sound/weapons/egloves.ogg", 75, 1)
H.KnockDown(knockdown_duration)
@@ -58,28 +58,28 @@
return
if((H.health <= HEALTH_THRESHOLD_CRIT) || (H.undergoing_cardiac_arrest()))
- user.visible_message("[user] shocks [H] with [src].", "You shock [H] with [src].")
+ user.visible_message(SPAN_NOTICE("[user] shocks [H] with [src]."), SPAN_NOTICE("You shock [H] with [src]."))
add_attack_logs(user, H, "defibrillated with [src]")
playsound(user.loc, "sound/weapons/egloves.ogg", 75, 1)
if(H.stat == DEAD)
- to_chat(user, "[H] doesn't respond at all!")
+ to_chat(user, SPAN_DANGER("[H] doesn't respond at all!"))
else
H.set_heartattack(FALSE)
var/total_damage = H.getBruteLoss() + H.getFireLoss() + H.getToxLoss()
if(H.health <= HEALTH_THRESHOLD_CRIT)
if(total_damage >= 90)
- to_chat(user, "[H] looks horribly injured. Resuscitation alone may not help revive them.")
+ to_chat(user, SPAN_DANGER("[H] looks horribly injured. Resuscitation alone may not help revive them."))
if(prob(66))
- to_chat(user, "[H] inhales deeply!")
+ to_chat(user, SPAN_NOTICE("[H] inhales deeply!"))
H.adjustOxyLoss(-50)
else
- to_chat(user, "[H] doesn't respond!")
+ to_chat(user, SPAN_DANGER("[H] doesn't respond!"))
H.AdjustParalysis(6 SECONDS)
H.AdjustWeakened(10 SECONDS)
H.AdjustStuttering(20 SECONDS)
- to_chat(H, "You feel a powerful jolt!")
+ to_chat(H, SPAN_DANGER("You feel a powerful jolt!"))
SEND_SIGNAL(H, COMSIG_LIVING_MINOR_SHOCK, 100)
cooldown = TRUE
@@ -88,7 +88,7 @@
addtimer(CALLBACK(src, PROC_REF(recharge)), charge_time)
else
- to_chat(user, "[src]'s on board medical scanner indicates that no shock is required.")
+ to_chat(user, SPAN_NOTICE("[src]'s on board medical scanner indicates that no shock is required."))
/obj/item/handheld_defibrillator/proc/allowhit(mob/living/target, user_UID)
REMOVE_TRAIT(target, TRAIT_WAS_BATONNED, user_UID)
diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm
index 2c86f95cae4..e4b9db8a4f6 100644
--- a/code/game/objects/items/devices/laserpointer.dm
+++ b/code/game/objects/items/devices/laserpointer.dm
@@ -52,15 +52,15 @@
user.drop_item()
W.loc = src
diode = W
- to_chat(user, "You install [diode] in [src].")
+ to_chat(user, SPAN_NOTICE("You install [diode] in [src]."))
else
- to_chat(user, "[src] already has a cell.")
+ to_chat(user, SPAN_NOTICE("[src] already has a cell."))
/obj/item/laser_pointer/screwdriver_act(mob/living/user, obj/item/I)
if(!diode)
return
- to_chat(user, "You remove [diode] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [diode] from [src]."))
diode.forceMove(get_turf(loc))
diode = null
return TRUE
@@ -72,23 +72,23 @@
/obj/item/laser_pointer/proc/laser_act(atom/target, mob/living/user, params)
if(!diode)
- to_chat(user, "You point [src] at [target], but nothing happens!")
+ to_chat(user, SPAN_NOTICE("You point [src] at [target], but nothing happens!"))
return
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return
if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS))
- to_chat(user, "Your fingers can't press the button!")
+ to_chat(user, SPAN_WARNING("Your fingers can't press the button!"))
return
if(!(target in view(7, get_turf(src)))) // Use the turf as center so it won't use the potential xray of the user
- to_chat(user, "There is something in the way!")
+ to_chat(user, SPAN_WARNING("There is something in the way!"))
return
add_fingerprint(user)
//nothing happens if the battery is drained
if(recharge_locked)
- to_chat(user, "You point [src] at [target], but it's still charging.")
+ to_chat(user, SPAN_NOTICE("You point [src] at [target], but it's still charging."))
return
var/outmsg
@@ -108,9 +108,9 @@
//20% chance to actually hit the eyes
if(prob(effectchance * diode.rating) && C.flash_eyes(severity, laser_pointer = TRUE))
- outmsg = "You blind [C] by shining [src] in [C.p_their()] eyes."
+ outmsg = SPAN_NOTICE("You blind [C] by shining [src] in [C.p_their()] eyes.")
else
- outmsg = "You fail to blind [C] by shining [src] at [C.p_their()] eyes!"
+ outmsg = SPAN_WARNING("You fail to blind [C] by shining [src] at [C.p_their()] eyes!")
//robots and AI
else if(issilicon(target))
@@ -118,25 +118,25 @@
//20% chance to actually hit the sensors
if(prob(effectchance * diode.rating))
S.flash_eyes(affect_silicon = TRUE)
- to_chat(S, "Your sensors were overloaded by a laser!")
- outmsg = "You overload [S] by shining [src] at [S.p_their()] sensors."
+ to_chat(S, SPAN_WARNING("Your sensors were overloaded by a laser!"))
+ outmsg = SPAN_NOTICE("You overload [S] by shining [src] at [S.p_their()] sensors.")
add_attack_logs(user, S, "shone [src] in their eyes")
else
- outmsg = "You fail to overload [S] by shining [src] at [S.p_their()] sensors."
+ outmsg = SPAN_NOTICE("You fail to overload [S] by shining [src] at [S.p_their()] sensors.")
//cameras
else if(istype(target, /obj/machinery/camera))
var/obj/machinery/camera/C = target
if(prob(effectchance * diode.rating))
C.emp_act(EMP_HEAVY)
- outmsg = "You hit the lens of [C] with [src], temporarily disabling the camera!"
+ outmsg = SPAN_NOTICE("You hit the lens of [C] with [src], temporarily disabling the camera!")
log_admin("[key_name(user)] EMPd a camera with a laser pointer")
user.create_attack_log("[key_name(user)] EMPd a camera with a laser pointer")
add_attack_logs(user, C, "EMPd with [src]", ATKLOG_ALL)
else
- outmsg = "You missed the lens of [C] with [src]."
+ outmsg = SPAN_NOTICE("You missed the lens of [C] with [src].")
//laser pointer image
icon_state = "pointer_[pointer_icon_state]"
@@ -158,7 +158,7 @@
if(outmsg)
to_chat(user, outmsg)
else
- to_chat(user, "You point [src] at [target].")
+ to_chat(user, SPAN_NOTICE("You point [src] at [target]."))
energy -= 1
if(energy <= max_energy)
@@ -166,7 +166,7 @@
recharging = 1
START_PROCESSING(SSobj, src)
if(energy <= 0)
- to_chat(user, "You've overused the battery of [src], now it needs time to recharge!")
+ to_chat(user, SPAN_WARNING("You've overused the battery of [src], now it needs time to recharge!"))
recharge_locked = 1
flick_overlay(I, showto, 10)
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index cbc2fdf9b6a..763476a6935 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -64,7 +64,7 @@
/obj/item/lightreplacer/attackby__legacy__attackchain(obj/item/I, mob/user)
if(uses >= max_uses)
- to_chat(user, "[src] is full.")
+ to_chat(user, SPAN_WARNING("[src] is full."))
return
if(istype(I, /obj/item/stack/sheet/glass))
@@ -72,34 +72,34 @@
if(G.use(decrement))
AddUses(increment)
- to_chat(user, "You insert some glass into [src]. You have [uses] light\s remaining.")
+ to_chat(user, SPAN_NOTICE("You insert some glass into [src]. You have [uses] light\s remaining."))
else
- to_chat(user, "You need one sheet of glass to replace lights!")
+ to_chat(user, SPAN_WARNING("You need one sheet of glass to replace lights!"))
return
if(istype(I, /obj/item/shard))
if(!user.drop_item_to_ground(I))
- to_chat(user, "[I] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hand!"))
return
AddUses(increment)
- to_chat(user, "You insert a shard of glass into [src]. You have [uses] light\s remaining.")
+ to_chat(user, SPAN_NOTICE("You insert a shard of glass into [src]. You have [uses] light\s remaining."))
qdel(I)
return
if(istype(I, /obj/item/light))
var/obj/item/light/L = I
if(!user.drop_item_to_ground(L))
- to_chat(user, "[L] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[L] is stuck to your hand!"))
return
if(L.status == LIGHT_OK)
AddUses(1)
- to_chat(user, "You insert [L] into [src]. You have [uses] light\s remaining.")
+ to_chat(user, SPAN_NOTICE("You insert [L] into [src]. You have [uses] light\s remaining."))
qdel(L)
else
AddShards(1, user)
- to_chat(user, "You insert [L] into [src]. You have [uses] light\s remaining.")
+ to_chat(user, SPAN_NOTICE("You insert [L] into [src]. You have [uses] light\s remaining."))
qdel(L)
return
@@ -125,14 +125,14 @@
qdel(L)
if(!found_lightbulbs)
- to_chat(user, "[S] contains no bulbs.")
+ to_chat(user, SPAN_WARNING("[S] contains no bulbs."))
return
if(!replaced_something && uses == max_uses)
- to_chat(user, "[src] is full!")
+ to_chat(user, SPAN_WARNING("[src] is full!"))
return
- to_chat(user, "You fill [src] with lights from [S]. " + status_string() + "")
+ to_chat(user, SPAN_NOTICE("You fill [src] with lights from [S]. " + status_string() + ""))
return
return ..()
@@ -177,7 +177,7 @@
AddUses(new_bulbs)
bulb_shards = bulb_shards % shards_required
if(new_bulbs != 0)
- to_chat(user, "[src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses.")
+ to_chat(user, SPAN_NOTICE("[src] has fabricated a new bulb from the broken glass it has stored. It now has [uses] uses."))
playsound(loc, 'sound/machines/ding.ogg', 50, TRUE)
return new_bulbs
@@ -201,7 +201,7 @@
to_chat(U, "[src]'s refill light blinks red.")
return
else
- to_chat(U, "There is a working [target.fitting] already inserted!")
+ to_chat(U, SPAN_WARNING("There is a working [target.fitting] already inserted!"))
return
/obj/item/lightreplacer/proc/CanUse(mob/living/user)
diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index 24fcc4093e0..108bed812c3 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -19,7 +19,7 @@
var/list/insultmsg = list("FUCK EVERYONE!", "I'M A TATER!", "ALL SECURITY TO SHOOT ME ON SIGHT!", "I HAVE A BOMB!", "CAPTAIN IS A COMDOM!", "FOR THE SYNDICATE!")
/obj/item/megaphone/suicide_act(mob/user)
- user.visible_message("[user] is uttering [user.p_their()] last words into [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is uttering [user.p_their()] last words into [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
on_cooldown = FALSE
user.emote("scream")
say_msg(user, "AAAAAAAAAAAARGHHHHH")
@@ -28,32 +28,32 @@
/obj/item/megaphone/examine(mob/user)
. = ..()
if(HAS_TRAIT(src, TRAIT_CMAGGED))
- . += "Yellow ooze seems to be seeping from the speaker..."
+ . += SPAN_WARNING("Yellow ooze seems to be seeping from the speaker...")
/obj/item/megaphone/attack_self__legacy__attackchain(mob/living/user)
if(check_mute(user.ckey, MUTE_IC))
- to_chat(src, "You cannot speak in IC (muted).")
+ to_chat(src, SPAN_WARNING("You cannot speak in IC (muted)."))
return
if(!ishuman(user))
- to_chat(user, "You don't know how to use this!")
+ to_chat(user, SPAN_WARNING("You don't know how to use this!"))
return
if(!user.can_speak())
- to_chat(user, "You find yourself unable to speak at all.")
+ to_chat(user, SPAN_WARNING("You find yourself unable to speak at all."))
return
if(ishuman(user))
var/mob/living/carbon/human/abductor/H = user
if(isabductor(H))
- to_chat(user, "Megaphones can't project psionic communication!")
+ to_chat(user, SPAN_WARNING("Megaphones can't project psionic communication!"))
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H && H.mind && H.mind.miming)
- to_chat(user, "Your vow of silence prevents you from speaking.")
+ to_chat(user, SPAN_WARNING("Your vow of silence prevents you from speaking."))
return
if(HAS_TRAIT(H, TRAIT_COMIC_SANS))
span = "sans"
if(on_cooldown)
- to_chat(user, "[src] needs to recharge!")
+ to_chat(user, SPAN_WARNING("[src] needs to recharge!"))
return
var/message = tgui_input_text(user, "Shout a message:", "Megaphone")
@@ -77,7 +77,7 @@
else
playsound(src, "sound/items/megaphone.ogg", 100, FALSE, 5)
- audible_message("[user.GetVoice()] [user.GetAltName()] broadcasts, \"[message]\"", hearing_distance = 14)
+ audible_message("[SPAN_NAME("[user.GetVoice()]")] [user.GetAltName()] broadcasts, \"[message]\"", hearing_distance = 14)
log_say("(MEGAPHONE) [message]", user)
user.create_log(SAY_LOG, "(megaphone) '[message]'")
for(var/obj/O in view(14, get_turf(src)))
@@ -91,7 +91,7 @@
if(HAS_TRAIT(src, TRAIT_CMAGGED))
return FALSE
if(user)
- to_chat(user, "You drip some yellow ooze into [src]'s voice synthesizer, gunking it up.")
+ to_chat(user, SPAN_WARNING("You drip some yellow ooze into [src]'s voice synthesizer, gunking it up."))
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
ADD_TRAIT(src, TRAIT_CMAGGED, CLOWN_EMAG)
return TRUE
@@ -100,9 +100,9 @@
if(emagged)
return FALSE
if(HAS_TRAIT(src, TRAIT_CMAGGED)) // one at a time
- to_chat(user, "You go to short out [src], but it's covered in yellow ooze! You don't want to gunk up your emag!")
+ to_chat(user, SPAN_WARNING("You go to short out [src], but it's covered in yellow ooze! You don't want to gunk up your emag!"))
return FALSE
- to_chat(user, "You short out [src]'s dampener circuits.")
+ to_chat(user, SPAN_DANGER("You short out [src]'s dampener circuits."))
emagged = TRUE
span = "reallybig userdanger" // really obvious, but also really loud
return TRUE
diff --git a/code/game/objects/items/devices/paicard.dm b/code/game/objects/items/devices/paicard.dm
index 4f3b8029d45..65beeb07e8a 100644
--- a/code/game/objects/items/devices/paicard.dm
+++ b/code/game/objects/items/devices/paicard.dm
@@ -256,7 +256,7 @@
var/delta = (world.time / 10) - last_request
if(request_cooldown > delta)
var/cooldown_time = round(request_cooldown - ((world.time / 10) - last_request), 1)
- to_chat(usr, "The request system is currently offline. Please wait another [cooldown_time] seconds.")
+ to_chat(usr, SPAN_WARNING("The request system is currently offline. Please wait another [cooldown_time] seconds."))
return
last_request = world.time / 10
looking_for_personality = 1
@@ -322,7 +322,7 @@
/obj/item/paicard/proc/alertUpdate()
var/turf/T = get_turf(loc)
for(var/mob/M in viewers(T))
- M.show_message("[src] flashes a message across its screen, \"Additional personalities available for download.\"", 3, "[src] bleeps electronically.", 2)
+ M.show_message(SPAN_NOTICE("[src] flashes a message across its screen, \"Additional personalities available for download.\""), 3, SPAN_NOTICE("[src] bleeps electronically."), 2)
/obj/item/paicard/emp_act(severity)
for(var/mob/M in src)
diff --git a/code/game/objects/items/devices/painter/airlock_painter.dm b/code/game/objects/items/devices/painter/airlock_painter.dm
index 08fe5ffce16..15c4b1e34e3 100644
--- a/code/game/objects/items/devices/painter/airlock_painter.dm
+++ b/code/game/objects/items/devices/painter/airlock_painter.dm
@@ -27,7 +27,7 @@
if(!choice)
return
paint_setting = choice
- to_chat(user, "The [paint_setting] paint setting has been selected.")
+ to_chat(user, SPAN_NOTICE("The [paint_setting] paint setting has been selected."))
/datum/painter/airlock/paint_atom(atom/target, mob/user)
if(!istype(target, /obj/machinery/door/airlock))
@@ -35,22 +35,22 @@
var/obj/machinery/door/airlock/A = target
if(!paint_setting)
- to_chat(user, "You need to select a paintjob first.")
+ to_chat(user, SPAN_WARNING("You need to select a paintjob first."))
return
if(!A.paintable)
- to_chat(user, "This type of airlock cannot be painted.")
+ to_chat(user, SPAN_WARNING("This type of airlock cannot be painted."))
return
var/obj/machinery/door/airlock/airlock = available_paint_jobs["[paint_setting]"] // get the airlock type path associated with the airlock name the user just chose
var/obj/structure/door_assembly/assembly = initial(airlock.assemblytype)
if(A.assemblytype == assembly)
- to_chat(user, "This airlock is already painted with the \"[paint_setting]\" color scheme!")
+ to_chat(user, SPAN_NOTICE("This airlock is already painted with the \"[paint_setting]\" color scheme!"))
return
if(A.airlock_material == "glass" && initial(assembly.noglass)) // prevents painting glass airlocks with a paint job that doesn't have a glass version, such as the freezer
- to_chat(user, "This paint job can only be applied to non-glass airlocks.")
+ to_chat(user, SPAN_WARNING("This paint job can only be applied to non-glass airlocks."))
return
if(do_after(user, 2 SECONDS, FALSE, A))
diff --git a/code/game/objects/items/devices/painter/decal_painter.dm b/code/game/objects/items/devices/painter/decal_painter.dm
index 542d1e2f7b6..814da494c5d 100644
--- a/code/game/objects/items/devices/painter/decal_painter.dm
+++ b/code/game/objects/items/devices/painter/decal_painter.dm
@@ -63,7 +63,7 @@
/datum/painter/decal/paint_atom(atom/target, mob/user)
if(!istype(target, /turf/simulated/floor))
- to_chat(user, "[holder] can only be used on flooring.")
+ to_chat(user, SPAN_WARNING("[holder] can only be used on flooring."))
return FALSE
var/turf/target_turf = get_turf(target)
var/list/datum/element/decal/decals = target_turf.get_decals()
@@ -71,7 +71,7 @@
remove_decals(target)
return TRUE
if(length(decals) >= max_decals)
- to_chat(user, "You can't fit more decals on [target].")
+ to_chat(user, SPAN_WARNING("You can't fit more decals on [target]."))
return FALSE
if(ispath(selected_type, /obj/effect/turf_decal))
diff --git a/code/game/objects/items/devices/painter/floor_painter.dm b/code/game/objects/items/devices/painter/floor_painter.dm
index 618f094276c..a5d330fb3e2 100644
--- a/code/game/objects/items/devices/painter/floor_painter.dm
+++ b/code/game/objects/items/devices/painter/floor_painter.dm
@@ -41,12 +41,12 @@
/datum/painter/floor/paint_atom(atom/target, mob/user)
if(!istype(target, /turf/simulated/floor/plasteel))
- to_chat(user, "[holder] can only be used on station flooring.")
+ to_chat(user, SPAN_WARNING("[holder] can only be used on station flooring."))
return
var/turf/simulated/floor/plasteel/F = target
if(!wide_mode && F.icon_state == floor_state && F.dir == floor_dir)
- to_chat(user, "This is already painted [floor_state] [dir2text(floor_dir)]!")
+ to_chat(user, SPAN_NOTICE("This is already painted [floor_state] [dir2text(floor_dir)]!"))
return
F.icon_state = floor_state
diff --git a/code/game/objects/items/devices/painter/painter.dm b/code/game/objects/items/devices/painter/painter.dm
index 4af25d92cd8..c6ea20f3bfa 100644
--- a/code/game/objects/items/devices/painter/painter.dm
+++ b/code/game/objects/items/devices/painter/painter.dm
@@ -42,7 +42,7 @@
/obj/item/painter/examine(mob/user)
. = ..()
- . += "Ctrl+click it in your hand to change the type!"
+ . += SPAN_NOTICE("Ctrl+click it in your hand to change the type!")
/**
@@ -115,7 +115,7 @@
/obj/item/painter/suicide_act(mob/user)
- user.visible_message("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is inhaling toner from [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(src, usesound, 50, TRUE)
var/obj/item/organ/internal/lungs/L = user.get_organ_slot("lungs") // not going to use an organ datum here, would be too easy for slime people to throw up their brains
var/turf/T = get_turf(user)
@@ -132,7 +132,7 @@
L.forceMove(T)
user.emote("scream")
- user.visible_message("[user] vomits out [user.p_their()] [L.name]!")
+ user.visible_message(SPAN_SUICIDE("[user] vomits out [user.p_their()] [L.name]!"))
playsound(T, 'sound/effects/splat.ogg', 50, TRUE)
// make some vomit under the player, and apply colorful reagent
diff --git a/code/game/objects/items/devices/painter/pipe_painter.dm b/code/game/objects/items/devices/painter/pipe_painter.dm
index 85770060657..d63717ef8ea 100644
--- a/code/game/objects/items/devices/painter/pipe_painter.dm
+++ b/code/game/objects/items/devices/painter/pipe_painter.dm
@@ -26,12 +26,12 @@
return
if(P.pipe_color == GLOB.pipe_icon_manager.pipe_colors[paint_setting])
- to_chat(user, "This pipe is aready painted [paint_setting]!")
+ to_chat(user, SPAN_NOTICE("This pipe is aready painted [paint_setting]!"))
return
var/turf/T = get_turf(P)
if(P.level < 2 && T.level == 1 && T.intact && !T.transparent_floor)
- to_chat(user, "You must remove the flooring first.")
+ to_chat(user, SPAN_WARNING("You must remove the flooring first."))
return
P.change_color(GLOB.pipe_icon_manager.pipe_colors[paint_setting])
diff --git a/code/game/objects/items/devices/painter/window_painter.dm b/code/game/objects/items/devices/painter/window_painter.dm
index 20ddaf7d78b..2d7bfe603b4 100644
--- a/code/game/objects/items/devices/painter/window_painter.dm
+++ b/code/game/objects/items/devices/painter/window_painter.dm
@@ -21,7 +21,7 @@
if(is_type_in_list(target, polarized_windows))
if((W.opacity && W.old_color == GLOB.pipe_icon_manager.pipe_colors[paint_setting]) || (!W.opacity && W.color == GLOB.pipe_icon_manager.pipe_colors[paint_setting]))
- to_chat(user, "This window is aready painted [paint_setting]!")
+ to_chat(user, SPAN_NOTICE("This window is aready painted [paint_setting]!"))
return
if(!W.opacity)
W.color = GLOB.pipe_icon_manager.pipe_colors[paint_setting]
@@ -29,7 +29,7 @@
return TRUE
if(W.color == GLOB.pipe_icon_manager.pipe_colors[paint_setting])
- to_chat(user, "This window is aready painted [paint_setting]!")
+ to_chat(user, SPAN_NOTICE("This window is aready painted [paint_setting]!"))
return
W.color = GLOB.pipe_icon_manager.pipe_colors[paint_setting]
diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm
index 5426701f068..e319a26bfe1 100644
--- a/code/game/objects/items/devices/powersink.dm
+++ b/code/game/objects/items/devices/powersink.dm
@@ -75,14 +75,14 @@
return
else
set_mode(CLAMPED_OFF)
- visible_message("[user] attaches [src] to the cable!")
+ visible_message(SPAN_NOTICE("[user] attaches [src] to the cable!"))
message_admins("Power sink activated by [key_name_admin(user)] at ([x],[y],[z] - JMP)")
log_game("Power sink activated by [key_name(user)] at ([x],[y],[z])")
else
to_chat(user, "Device must be placed over an exposed cable to attach to it.")
else
set_mode(DISCONNECTED)
- src.visible_message("[user] detaches [src] from the cable!")
+ src.visible_message(SPAN_NOTICE("[user] detaches [src] from the cable!"))
/obj/item/powersink/attack_ai()
return
@@ -94,8 +94,8 @@
if(CLAMPED_OFF)
user.visible_message( \
"[user] activates \the [src]!", \
- "You activate \the [src].",
- "You hear a click.")
+ SPAN_NOTICE("You activate \the [src]."),
+ SPAN_ITALICS("You hear a click."))
message_admins("Power sink activated by [ADMIN_LOOKUPFLW(user)] at [ADMIN_VERBOSEJMP(src)]")
log_game("Power sink activated by [key_name(user)] at [AREACOORD(src)]")
notify_ghosts("[user] has activated a [name]!", title = "An electrifying occurrence! (Click to follow)", source = src, flashwindow = FALSE, action = NOTIFY_FOLLOW)
@@ -104,8 +104,8 @@
if(OPERATING)
user.visible_message( \
"[user] deactivates \the [src]!", \
- "You deactivate \the [src].",
- "You hear a click.")
+ SPAN_NOTICE("You deactivate \the [src]."),
+ SPAN_ITALICS("You hear a click."))
set_mode(CLAMPED_OFF)
/obj/item/powersink/process()
diff --git a/code/game/objects/items/devices/radio/beacon.dm b/code/game/objects/items/devices/radio/beacon.dm
index 97d7012b69c..24aeddc5542 100644
--- a/code/game/objects/items/devices/radio/beacon.dm
+++ b/code/game/objects/items/devices/radio/beacon.dm
@@ -29,7 +29,7 @@
if(!emagged)
emagged = TRUE
syndicate = TRUE
- to_chat(user, "The This beacon now only be locked on to by emagged teleporters!")
+ to_chat(user, SPAN_NOTICE("The This beacon now only be locked on to by emagged teleporters!"))
return TRUE
@@ -58,7 +58,7 @@
/obj/item/beacon/syndicate/attack_self__legacy__attackchain(mob/user)
if(user)
- to_chat(user, "Locked In")
+ to_chat(user, SPAN_NOTICE("Locked In"))
new /obj/machinery/power/singularity_beacon/syndicate( user.loc )
playsound(src, 'sound/effects/pop.ogg', 100, TRUE, 1)
user.drop_item()
@@ -104,7 +104,7 @@
bundle_name = pick(unselected)
var/bundle = bundles[bundle_name]
bundle = new bundle(user.loc)
- to_chat(user, "Welcome to [station_name()], [bundle_name]!")
+ to_chat(user, SPAN_NOTICE("Welcome to [station_name()], [bundle_name]!"))
user.drop_item()
SSblackbox.record_feedback("tally", "syndicate_bundle_pick", 1, "[bundle]")
qdel(src)
@@ -115,7 +115,7 @@
/obj/item/beacon/syndicate/power_sink/attack_self__legacy__attackchain(mob/user)
if(user)
- to_chat(user, "Locked In")
+ to_chat(user, SPAN_NOTICE("Locked In"))
new /obj/item/powersink(user.loc)
playsound(src, 'sound/effects/pop.ogg', 100, TRUE, 1)
user.drop_item()
@@ -128,7 +128,7 @@
/obj/item/beacon/syndicate/bomb/attack_self__legacy__attackchain(mob/user)
if(user)
- to_chat(user, "Locked In")
+ to_chat(user, SPAN_NOTICE("Locked In"))
new bomb(user.loc)
playsound(src, 'sound/effects/pop.ogg', 100, TRUE, 1)
user.drop_item()
diff --git a/code/game/objects/items/devices/radio/electropack.dm b/code/game/objects/items/devices/radio/electropack.dm
index a55d3a666ed..af9350f38c7 100644
--- a/code/game/objects/items/devices/radio/electropack.dm
+++ b/code/game/objects/items/devices/radio/electropack.dm
@@ -32,7 +32,7 @@
/obj/item/electropack/attack_hand(mob/user)
if(src == user.back)
- to_chat(user, "You need help taking this off!")
+ to_chat(user, SPAN_NOTICE("You need help taking this off!"))
return FALSE
..()
@@ -48,7 +48,7 @@
A.icon = 'icons/obj/assemblies.dmi'
if(!user.unequip(W))
- to_chat(user, "\the [W] is stuck to your hand, you cannot attach it to \the [src]!")
+ to_chat(user, SPAN_NOTICE("\the [W] is stuck to your hand, you cannot attach it to \the [src]!"))
return
W.forceMove(A)
@@ -72,7 +72,7 @@
if(isliving(loc))
var/mob/living/M = loc
- to_chat(M, "You feel a sharp shock!")
+ to_chat(M, SPAN_DANGER("You feel a sharp shock!"))
do_sparks(3, 1, M)
M.Weaken(10 SECONDS)
diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm
index cd3cd5310ca..11dc402f3fa 100644
--- a/code/game/objects/items/devices/radio/headset.dm
+++ b/code/game/objects/items/devices/radio/headset.dm
@@ -409,7 +409,7 @@
return
if(!user.transfer_item_to(key, src, FALSE, FALSE))
- to_chat(user, "[key] is stuck to your hand, you can't insert it in [src].")
+ to_chat(user, SPAN_WARNING("[key] is stuck to your hand, you can't insert it in [src]."))
return
if(!keyslot1)
diff --git a/code/game/objects/items/devices/radio/intercom.dm b/code/game/objects/items/devices/radio/intercom.dm
index 91b62bb5a52..264f3340229 100644
--- a/code/game/objects/items/devices/radio/intercom.dm
+++ b/code/game/objects/items/devices/radio/intercom.dm
@@ -141,11 +141,11 @@
. = ..()
switch(buildstage)
if(0)
- . += "The frame is welded to the wall, but missing circuitry."
+ . += SPAN_NOTICE("The frame is welded to the wall, but missing circuitry.")
if(1)
- . += "The speaker needs to be wired, though the board could be pried out."
+ . += SPAN_NOTICE("The speaker needs to be wired, though the board could be pried out.")
if(2)
- . += "The intercom is wired, and the maintenance panel is unscrewed."
+ . += SPAN_NOTICE("The intercom is wired, and the maintenance panel is unscrewed.")
/obj/item/radio/intercom/attackby__legacy__attackchain(obj/item/W, mob/user)
if(istype(W, /obj/item/stack/tape_roll)) //eww
@@ -153,18 +153,18 @@
else if(iscoil(W) && buildstage == 1)
var/obj/item/stack/cable_coil/coil = W
if(coil.get_amount() < 5)
- to_chat(user, "You need more cable for this!")
+ to_chat(user, SPAN_WARNING("You need more cable for this!"))
return
if(do_after(user, 10 * coil.toolspeed, target = src) && buildstage == 1)
coil.use(5)
- to_chat(user, "You wire \the [src]!")
+ to_chat(user, SPAN_NOTICE("You wire \the [src]!"))
buildstage = 2
return 1
else if(istype(W,/obj/item/intercom_electronics) && buildstage == 0)
playsound(get_turf(src), W.usesound, 50, 1)
if(do_after(user, 10 * W.toolspeed, target = src) && buildstage == 0)
qdel(W)
- to_chat(user, "You insert \the [W] into \the [src]!")
+ to_chat(user, SPAN_NOTICE("You insert \the [W] into \the [src]!"))
buildstage = 1
return 1
else
@@ -181,11 +181,11 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- to_chat(user, "You begin removing the electronics...")
+ to_chat(user, SPAN_NOTICE("You begin removing the electronics..."))
if(!I.use_tool(src, user, 10, volume = I.tool_volume) || buildstage != 1)
return
new /obj/item/intercom_electronics(get_turf(src))
- to_chat(user, "The circuit board pops out!")
+ to_chat(user, SPAN_NOTICE("The circuit board pops out!"))
buildstage = 0
/obj/item/radio/intercom/screwdriver_act(mob/user, obj/item/I)
@@ -200,7 +200,7 @@
on = TRUE
b_stat = FALSE
buildstage = 3
- to_chat(user, "You secure the electronics!")
+ to_chat(user, SPAN_NOTICE("You secure the electronics!"))
update_icon(UPDATE_ICON_STATE)
update_operating_status()
for(var/i, i<= 5, i++)
@@ -226,9 +226,9 @@
. = TRUE
if(!I.tool_use_check(user, 3))
return
- to_chat(user, "You start slicing [src] from the wall...")
+ to_chat(user, SPAN_NOTICE("You start slicing [src] from the wall..."))
if(I.use_tool(src, user, 10, amount = 3, volume = I.tool_volume))
- to_chat(user, "You cut [src] free from the wall!")
+ to_chat(user, SPAN_NOTICE("You cut [src] free from the wall!"))
new /obj/item/mounted/frame/intercom(get_turf(src))
qdel(src)
diff --git a/code/game/objects/items/devices/radio/radio_objects.dm b/code/game/objects/items/devices/radio/radio_objects.dm
index 095deb2d211..1bba07f9ebb 100644
--- a/code/game/objects/items/devices/radio/radio_objects.dm
+++ b/code/game/objects/items/devices/radio/radio_objects.dm
@@ -136,7 +136,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
return
ToggleBroadcast()
- to_chat(user, "You [broadcasting ? "enable" : "disable"] [src]'s hotmic.")
+ to_chat(user, SPAN_NOTICE("You [broadcasting ? "enable" : "disable"] [src]'s hotmic."))
add_fingerprint(user)
/obj/item/radio/CtrlShiftClick(mob/user)
@@ -144,7 +144,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
return
ToggleReception()
- to_chat(user, "You [listening ? "enable" : "disable"] [src]'s speaker.")
+ to_chat(user, SPAN_NOTICE("You [listening ? "enable" : "disable"] [src]'s speaker."))
add_fingerprint(user)
/obj/item/radio/ui_state(mob/user)
@@ -552,8 +552,8 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
/obj/item/radio/proc/show_examine_hotkeys()
. = list()
- . += "Alt-Click to toggle [src]'s hotmic."
- . += "Ctrl-Shift-Click to toggle [src]'s speaker."
+ . += SPAN_NOTICE("Alt-Click to toggle [src]'s hotmic.")
+ . += SPAN_NOTICE("Ctrl-Shift-Click to toggle [src]'s speaker.")
/obj/item/radio/examine(mob/user)
. = ..()
@@ -561,13 +561,13 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
if(in_range(src, user) || loc == user)
if(b_stat)
- . += "\the [src] can be attached and modified!"
+ . += SPAN_NOTICE("\the [src] can be attached and modified!")
else
- . += "\the [src] can not be modified or attached!"
+ . += SPAN_NOTICE("\the [src] can not be modified or attached!")
/obj/item/radio/examine_more(mob/user)
. = ..()
- . += "You can transmit messages from [src] without the hotmic by using :l or :r whilst holding it in your left or right hand."
+ . += SPAN_NOTICE("You can transmit messages from [src] without the hotmic by using :l or :r whilst holding it in your left or right hand.")
/obj/item/radio/screwdriver_act(mob/user, obj/item/I)
. = TRUE
@@ -576,9 +576,9 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
b_stat = !b_stat
if(b_stat)
- user.show_message("The radio can now be attached and modified!")
+ user.show_message(SPAN_NOTICE("The radio can now be attached and modified!"))
else
- user.show_message("The radio can no longer be modified or attached!")
+ user.show_message(SPAN_NOTICE("The radio can no longer be modified or attached!"))
updateDialog()
@@ -600,7 +600,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
addtimer(CALLBACK(src, PROC_REF(enable_radio)), rand(100, 200))
if(listening)
- visible_message("[src] buzzes violently!")
+ visible_message(SPAN_WARNING("[src] buzzes violently!"))
broadcasting = FALSE
listening = FALSE
@@ -818,7 +818,7 @@ GLOBAL_LIST_EMPTY(deadsay_radio_systems)
else
speaker_name = "[subject.client.key] ([subject.mind.name])"
- to_chat(hearer, "[speaker_name] ([ghost_follow_link(subject, hearer)]) [message]")
+ to_chat(hearer, SPAN_DEADSAY("[speaker_name] ([ghost_follow_link(subject, hearer)]) [message]"))
/obj/item/radio/headset/deadsay/talk_into(mob/living/M, list/message_pieces, channel, verbage)
var/message = copytext(multilingual_to_message(message_pieces), 1, MAX_MESSAGE_LEN)
diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm
index 7f518fcbe93..503502c7d0b 100644
--- a/code/game/objects/items/devices/scanners.dm
+++ b/code/game/objects/items/devices/scanners.dm
@@ -88,7 +88,7 @@ SLIME SCANNER
var/has_real_or_fake_reagents = FALSE
if(length(H.reagents.reagent_list))
has_real_or_fake_reagents = TRUE
- msgs += "Subject contains the following reagents:"
+ msgs += SPAN_BOLDNOTICE("Subject contains the following reagents:")
for(var/datum/reagent/R in H.reagents.reagent_list)
var/volume = R.volume
var/overdosing = R.overdosed
@@ -102,31 +102,31 @@ SLIME SCANNER
if(!overdosing)
overdosing = prob(10)
- msgs += "[volume]u of [R.name][overdosing ? " - OVERDOSING" : "."]"
+ msgs += "[volume]u of [R.name][overdosing ? " - [SPAN_BOLDANNOUNCEIC("OVERDOSING")]" : "."]"
if(hallucinating && prob(10))
has_real_or_fake_reagents = TRUE
if(!length(H.reagents.reagent_list))
- msgs += "Subject contains the following reagents:"
+ msgs += SPAN_BOLDNOTICE("Subject contains the following reagents:")
for(var/i in 1 to rand(1, 2))
var/reagent_name = pick(GLOB.chemical_reagents_list)
- msgs += "[rand(5, 100)]u of [GLOB.chemical_reagents_list[reagent_name]][prob(30) ? " - OVERDOSING" : "."]"
+ msgs += "[rand(5, 100)]u of [GLOB.chemical_reagents_list[reagent_name]][prob(30) ? " - [SPAN_BOLDANNOUNCEIC("OVERDOSING")]" : "."]"
if(!has_real_or_fake_reagents)
- msgs += "Subject contains no reagents."
+ msgs += SPAN_NOTICE("Subject contains no reagents.")
if(length(H.reagents.addiction_list))
- msgs += "Subject is addicted to the following reagents:"
+ msgs += SPAN_DANGER("Subject is addicted to the following reagents:")
for(var/datum/reagent/R in H.reagents.addiction_list)
- msgs += "[R.name] Stage: [R.addiction_stage]/5"
+ msgs += SPAN_DANGER("[R.name] Stage: [R.addiction_stage]/5")
if(hallucinating && prob(10))
if(!length(H.reagents.addiction_list))
- msgs += "Subject is addicted to the following reagents:"
+ msgs += SPAN_DANGER("Subject is addicted to the following reagents:")
// try to add two random chems
for(var/i in 1 to rand(1, 2))
var/reagent_name = pick(GLOB.chemical_reagents_list)
- msgs += "[GLOB.chemical_reagents_list[reagent_name]] Stage: [rand(1, 5)]/5"
+ msgs += SPAN_DANGER("[GLOB.chemical_reagents_list[reagent_name]] Stage: [rand(1, 5)]/5")
return msgs
@@ -156,30 +156,30 @@ SLIME SCANNER
/obj/item/healthanalyzer/examine(mob/user)
. = ..()
- . += "Use [src] in hand to toggle showing localised damage."
+ . += SPAN_NOTICE("Use [src] in hand to toggle showing localised damage.")
/obj/item/healthanalyzer/attack_self__legacy__attackchain(mob/user)
mode = !mode
switch(mode)
if(DETAILED_HEALTH_SCAN)
- to_chat(user, "The scanner is now showing localised limb damage.")
+ to_chat(user, SPAN_NOTICE("The scanner is now showing localised limb damage."))
if(SIMPLE_HEALTH_SCAN)
- to_chat(user, "The scanner is no longer showing localised limb damage.")
+ to_chat(user, SPAN_NOTICE("The scanner is no longer showing localised limb damage."))
/obj/item/healthanalyzer/attack__legacy__attackchain(mob/living/M, mob/living/user)
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50))
var/list/msgs = list()
- user.visible_message("[user] analyzes the floor's vitals!", "You stupidly try to analyze the floor's vitals!")
- msgs += "Analyzing results for The floor:\nOverall status: Healthy"
- msgs += "Key: Suffocation/Toxin/Burn/Brute"
- msgs += "Damage specifics: 0 - 0 - 0 - 0"
- msgs += "Body temperature: ???"
+ user.visible_message(SPAN_WARNING("[user] analyzes the floor's vitals!"), SPAN_NOTICE("You stupidly try to analyze the floor's vitals!"))
+ msgs += SPAN_NOTICE("Analyzing results for The floor:\nOverall status: Healthy")
+ msgs += SPAN_NOTICE("Key: Suffocation/Toxin/Burn/Brute")
+ msgs += SPAN_NOTICE("Damage specifics: 0 - 0 - 0 - 0")
+ msgs += SPAN_NOTICE("Body temperature: ???")
to_chat(user, chat_box_healthscan(msgs.Join("
")))
return
user.visible_message(
- "[user] analyzes [M]'s vitals.",
- "You analyze [M]'s vitals."
+ SPAN_NOTICE("[user] analyzes [M]'s vitals."),
+ SPAN_NOTICE("You analyze [M]'s vitals.")
)
healthscan(user, M, mode, advanced)
add_fingerprint(user)
@@ -202,7 +202,7 @@ SLIME SCANNER
if(isanimal_or_basicmob(M))
// No box here, keep it simple.
if(probably_dead)
- to_chat(user, "Analyzing Results for [M]:\nOverall Status: Dead")
+ to_chat(user, SPAN_NOTICE("Analyzing Results for [M]:\nOverall Status: Dead"))
return
to_chat(user, "Analyzing Results for [M]:\nOverall Status: [round(M.health / M.maxHealth * 100, 0.1)]% Healthy")
@@ -211,12 +211,12 @@ SLIME SCANNER
// These sensors are designed for organic life.
if(!ishuman(M) || ismachineperson(M) || (HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5)))
- msgs += "Analyzing Results for ERROR:\nOverall Status: ERROR"
- msgs += "Key: Suffocation/Toxin/Burns/Brute"
- msgs += "Damage Specifics: ? - ? - ? - ?"
- msgs += "Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)"
- msgs += "Warning: Blood Level ERROR: --% --cl.Type: ERROR"
- msgs += "Subject's pulse: -- bpm."
+ msgs += SPAN_NOTICE("Analyzing Results for ERROR:\nOverall Status: ERROR")
+ msgs += "Key: [SPAN_HEALTHSCAN_OXY("Suffocation")]/Toxin/Burns/Brute"
+ msgs += "Damage Specifics: [SPAN_HEALTHSCAN_OXY("?")] - ? - ? - ?"
+ msgs += SPAN_NOTICE("Body Temperature: [M.bodytemperature-T0C]°C ([M.bodytemperature*1.8-459.67]°F)")
+ msgs += SPAN_WARNING("Warning: Blood Level ERROR: --% --cl.Type: ERROR")
+ msgs += SPAN_NOTICE("Subject's pulse: -- bpm.")
to_chat(user, chat_box_healthscan(msgs.Join("
")))
return
@@ -253,22 +253,22 @@ SLIME SCANNER
status = "[H.health]% Healthy"
msgs += "Analyzing Results for [scanned_name]:\nOverall Status: [status]"
- msgs += "Key: Suffocation/Toxin/Burns/Brute"
- msgs += "Damage Specifics: [OX] - [TX] - [BU] - [BR]"
+ msgs += "Key: [SPAN_HEALTHSCAN_OXY("Suffocation")]/Toxin/Burns/Brute"
+ msgs += "Damage Specifics: [SPAN_HEALTHSCAN_OXY("[OX]")] - [TX] - [BU] - [BR]"
if(H.timeofdeath && (H.stat == DEAD || (HAS_TRAIT(H, TRAIT_FAKEDEATH)) || probably_dead))
var/tod = probably_dead && (HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(10)) ? world.time - rand(10, 5000) : H.timeofdeath // Sure let's blow it out
- msgs += "Time of Death: [station_time_timestamp("hh:mm:ss", tod)]"
+ msgs += SPAN_NOTICE("Time of Death: [station_time_timestamp("hh:mm:ss", tod)]")
var/tdelta = round(world.time - tod)
if(H.is_revivable() && !DNR)
- msgs += "Subject died [DisplayTimeText(tdelta)] ago, defibrillation may be possible!"
+ msgs += SPAN_DANGER("Subject died [DisplayTimeText(tdelta)] ago, defibrillation may be possible!")
else
msgs += "Subject died [DisplayTimeText(tdelta)] ago. Defibrillation is not possible!"
if(mode == DETAILED_HEALTH_SCAN)
var/list/damaged = H.get_damaged_organs(1,1)
if(length(damaged))
- msgs += "Localized Damage, Brute/Burn:"
+ msgs += SPAN_NOTICE("Localized Damage, Brute/Burn:")
for(var/obj/item/organ/external/org in damaged)
msgs += "[capitalize(org.name)]: [(org.brute_dam > 0) ? "[org.brute_dam]" : "0"]-[(org.burn_dam > 0) ? "[org.burn_dam]" : "0"]"
@@ -282,16 +282,16 @@ SLIME SCANNER
continue
// Snowflaking heart problems, because they are special (and common).
if(istype(D, /datum/disease/critical))
- msgs += "Warning: Subject is undergoing [D.name].\nStage: [D.stage]/[D.max_stages].\nCure: [D.cure_text]"
+ msgs += SPAN_NOTICE("Warning: Subject is undergoing [D.name].\nStage: [D.stage]/[D.max_stages].\nCure: [D.cure_text]")
continue
if(istype(D, /datum/disease/advance))
var/datum/disease/advance/A = D
if(!(A.id in GLOB.known_advanced_diseases[num2text(user.z)]))
- msgs += "Warning: Unknown viral strain detected\nStrain:[A.strain]\nStage: [A.stage]"
+ msgs += SPAN_NOTICE("Warning: Unknown viral strain detected\nStrain:[A.strain]\nStage: [A.stage]")
else
- msgs += "Warning: [A.form] detected\nName: [A.name].\nStrain:[A.strain]\nType: [A.spread_text].\nStage: [A.stage]/[A.max_stages].\nPossible Cures: [A.cure_text]\nNeeded Cures: [A.cures_required]"
+ msgs += SPAN_NOTICE("Warning: [A.form] detected\nName: [A.name].\nStrain:[A.strain]\nType: [A.spread_text].\nStage: [A.stage]/[A.max_stages].\nPossible Cures: [A.cure_text]\nNeeded Cures: [A.cures_required]")
continue
- msgs += "Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]"
+ msgs += SPAN_NOTICE("Warning: [D.form] detected\nName: [D.name].\nType: [D.spread_text].\nStage: [D.stage]/[D.max_stages].\nPossible Cure: [D.cure_text]")
if(H.undergoing_cardiac_arrest())
var/datum/organ/heart/heart = H.get_int_organ_datum(ORGAN_DATUM_HEART)
@@ -303,22 +303,22 @@ SLIME SCANNER
msgs += "Subject has no heart."
if(H.getStaminaLoss() || HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5))
- msgs += "Subject appears to be suffering from fatigue."
+ msgs += SPAN_NOTICE("Subject appears to be suffering from fatigue.")
if(H.getCloneLoss() || (HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5)))
- msgs += "Subject appears to have [H.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage."
+ msgs += SPAN_WARNING("Subject appears to have [H.getCloneLoss() > 30 ? "severe" : "minor"] cellular damage.")
// Brain.
var/obj/item/organ/internal/brain = H.get_int_organ(/obj/item/organ/internal/brain)
if(brain)
if(H.check_brain_threshold(BRAIN_DAMAGE_RATIO_CRITICAL)) // 100
- msgs += "Subject is brain dead."
+ msgs += SPAN_WARNING("Subject is brain dead.")
else if(H.check_brain_threshold(BRAIN_DAMAGE_RATIO_MODERATE)) // 60
- msgs += "Severe brain damage detected. Subject likely to have dementia."
+ msgs += SPAN_WARNING("Severe brain damage detected. Subject likely to have dementia.")
else if(H.check_brain_threshold(BRAIN_DAMAGE_RATIO_MINOR)) // 10
- msgs += "Significant brain damage detected. Subject may have had a concussion."
+ msgs += SPAN_WARNING("Significant brain damage detected. Subject may have had a concussion.")
else
- msgs += "Subject has no brain."
+ msgs += SPAN_WARNING("Subject has no brain.")
// Broken bones, internal bleeding, infection, and critical burns.
var/broken_bone = FALSE
@@ -331,39 +331,39 @@ SLIME SCANNER
var/limb = e.name
if(e.status & ORGAN_BROKEN)
if((e.limb_name in list("l_arm", "r_arm", "l_hand", "r_hand", "l_leg", "r_leg", "l_foot", "r_foot")) && !(e.status & ORGAN_SPLINTED))
- msgs += "Unsecured fracture in subject [limb]. Splinting recommended for transport."
+ msgs += SPAN_WARNING("Unsecured fracture in subject [limb]. Splinting recommended for transport.")
broken_bone = TRUE
if(e.has_infected_wound())
- msgs += "Infected wound detected in subject [limb]. Disinfection recommended."
+ msgs += SPAN_WARNING("Infected wound detected in subject [limb]. Disinfection recommended.")
burn_wound = burn_wound || (e.status & ORGAN_BURNT)
internal_bleed = internal_bleed || (e.status & ORGAN_INT_BLEEDING)
if(broken_bone)
- msgs += "Bone fractures detected. Advanced scanner required for location."
+ msgs += SPAN_WARNING("Bone fractures detected. Advanced scanner required for location.")
if(internal_bleed)
- msgs += "Internal bleeding detected. Advanced scanner required for location."
+ msgs += SPAN_WARNING("Internal bleeding detected. Advanced scanner required for location.")
if(burn_wound)
- msgs += "Critical burn detected. Examine patient's body for location."
+ msgs += SPAN_WARNING("Critical burn detected. Examine patient's body for location.")
if(HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5))
var/list/spooky_conditions = list(
- "Patient appears to be infested.",
- "Patient's bones are hollow.",
- "Patient has limited attachment to this physical plane.",
- "Patient is aggressive. Immediate sedation recommended.",
- "Patient's vitamin D levels are dangerously low.",
- "Patient's spider levels are dangerously low.",
- "Subject is ready for experimentation.",
+ SPAN_DEAD("Patient appears to be infested."),
+ SPAN_DEAD("Patient's bones are hollow."),
+ SPAN_DEAD("Patient has limited attachment to this physical plane."),
+ SPAN_USERDANGER("Patient is aggressive. Immediate sedation recommended."),
+ SPAN_WARNING("Patient's vitamin D levels are dangerously low."),
+ SPAN_WARNING("Patient's spider levels are dangerously low."),
+ SPAN_DEAD("Subject is ready for experimentation."),
)
msgs += pick(spooky_conditions)
if(HAS_TRAIT(user, TRAIT_MED_MACHINE_HALLUCINATING) && prob(5) && (H.stat == DEAD || (HAS_TRAIT(H, TRAIT_FAKEDEATH))))
- addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, "[H]'s head snaps to look at you."), rand(1 SECONDS, 3 SECONDS))
+ addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, SPAN_DANGER("[H]'s head snaps to look at you.")), rand(1 SECONDS, 3 SECONDS))
// Blood.
var/blood_id = H.get_blood_id()
if(blood_id)
if(H.bleed_rate)
- msgs += "Subject is bleeding!"
+ msgs += SPAN_DANGER("Subject is bleeding!")
var/blood_percent = round((H.blood_volume / BLOOD_VOLUME_NORMAL)*100)
var/blood_type = H.dna.blood_type
var/blood_volume = round(H.blood_volume)
@@ -374,38 +374,38 @@ SLIME SCANNER
else
blood_type = blood_id
if(H.blood_volume <= BLOOD_VOLUME_SAFE && H.blood_volume > BLOOD_VOLUME_OKAY)
- msgs += "LOW blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]"
+ msgs += SPAN_DANGER("LOW blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]")
else if(H.blood_volume <= BLOOD_VOLUME_OKAY)
- msgs += "CRITICAL blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]"
+ msgs += SPAN_DANGER("CRITICAL blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]")
else
- msgs += "Blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]"
+ msgs += SPAN_NOTICE("Blood level [blood_percent] %, [blood_volume] cl, type: [blood_type]")
- msgs += "Body Temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)"
- msgs += "Subject's pulse: [H.get_pulse()] bpm."
+ msgs += SPAN_NOTICE("Body Temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)")
+ msgs += SPAN_NOTICE("Subject's pulse: [H.get_pulse()] bpm.")
var/implant_detect
for(var/obj/item/organ/internal/O in H.internal_organs)
if(O.is_robotic() && !O.stealth_level)
implant_detect += "[O.name].
"
if(implant_detect)
- msgs += "Detected cybernetic modifications:"
- msgs += "[implant_detect]"
+ msgs += SPAN_NOTICE("Detected cybernetic modifications:")
+ msgs += SPAN_NOTICE("[implant_detect]")
// Do you have too many genetics superpowers?
if(H.gene_stability < 40)
- msgs += "Subject's genes are quickly breaking down!"
+ msgs += SPAN_USERDANGER("Subject's genes are quickly breaking down!")
else if(H.gene_stability < 70)
- msgs += "Subject's genes are showing signs of spontaneous breakdown."
+ msgs += SPAN_DANGER("Subject's genes are showing signs of spontaneous breakdown.")
else if(H.gene_stability < 85)
- msgs += "Subject's genes are showing minor signs of instability."
+ msgs += SPAN_WARNING("Subject's genes are showing minor signs of instability.")
if(HAS_TRAIT(H, TRAIT_HUSK))
- msgs += "Subject is husked. Application of synthflesh is recommended."
+ msgs += SPAN_DANGER("Subject is husked. Application of synthflesh is recommended.")
if(H.radiation > RAD_MOB_SAFE)
- msgs += "Subject is irradiated."
+ msgs += SPAN_DANGER("Subject is irradiated.")
- msgs += "Biological Age: [H.age]"
+ msgs += SPAN_NOTICE("Biological Age: [H.age]")
to_chat(user, chat_box_healthscan(msgs.Join("
")))
@@ -414,14 +414,14 @@ SLIME SCANNER
return ..()
if(advanced)
- to_chat(user, "An upgrade is already installed on [src].")
+ to_chat(user, SPAN_NOTICE("An upgrade is already installed on [src]."))
return
if(!user.unequip(I))
- to_chat(user, "[src] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[src] is stuck to your hand!"))
return
- to_chat(user, "You install the upgrade on [src].")
+ to_chat(user, SPAN_NOTICE("You install the upgrade on [src]."))
add_overlay("advanced")
playsound(loc, I.usesound, 50, TRUE)
advanced = TRUE
@@ -466,11 +466,11 @@ SLIME SCANNER
/obj/item/robotanalyzer/proc/handle_clumsy(mob/living/user)
var/list/msgs = list()
- user.visible_message("[user] has analyzed the floor's components!", "You try to analyze the floor's vitals!")
- msgs += "Analyzing Results for The floor:\n\t Overall Status: Unknown"
- msgs += "\t Damage Specifics: [0]/[0]"
- msgs += "Key: Burns/Brute"
- msgs += "Chassis Temperature: ???"
+ user.visible_message(SPAN_WARNING("[user] has analyzed the floor's components!"), SPAN_WARNING("You try to analyze the floor's vitals!"))
+ msgs += SPAN_NOTICE("Analyzing Results for The floor:\n\t Overall Status: Unknown")
+ msgs += SPAN_NOTICE("\t Damage Specifics: [0]/[0]")
+ msgs += SPAN_NOTICE("Key: Burns/Brute")
+ msgs += SPAN_NOTICE("Chassis Temperature: ???")
to_chat(user, chat_box_healthscan(msgs.Join("
")))
/obj/item/robotanalyzer/attack_obj__legacy__attackchain(obj/machinery/M, mob/living/user) // Scanning a machine object
@@ -479,23 +479,23 @@ SLIME SCANNER
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50))
handle_clumsy(user)
return
- user.visible_message("[user] has analyzed [M]'s components with [src].", "You analyze [M]'s components with [src].")
+ user.visible_message(SPAN_NOTICE("[user] has analyzed [M]'s components with [src]."), SPAN_NOTICE("You analyze [M]'s components with [src]."))
machine_scan(user, M)
add_fingerprint(user)
/obj/item/robotanalyzer/proc/machine_scan(mob/user, obj/machinery/M)
if(M.obj_integrity == M.max_integrity)
- to_chat(user, "[M] is at full integrity.")
+ to_chat(user, SPAN_NOTICE("[M] is at full integrity."))
return
- to_chat(user, "Structural damage detected! [M]'s overall estimated integrity is [round((M.obj_integrity / M.max_integrity) * 100)]%.")
+ to_chat(user, SPAN_NOTICE("Structural damage detected! [M]'s overall estimated integrity is [round((M.obj_integrity / M.max_integrity) * 100)]%."))
if(M.stat & BROKEN) // Displays alongside above message. Machines with a "broken" state do not become broken at 0% HP - anything that reaches that point is destroyed
- to_chat(user, "Further analysis: Catastrophic component failure detected! [M] requires reconstruction to fully repair.")
+ to_chat(user, SPAN_WARNING("Further analysis: Catastrophic component failure detected! [M] requires reconstruction to fully repair."))
/obj/item/robotanalyzer/attack__legacy__attackchain(mob/living/M, mob/living/user) // Scanning borgs, IPCs/augmented crew, and AIs
if((HAS_TRAIT(user, TRAIT_CLUMSY) || user.getBrainLoss() >= 60) && prob(50))
handle_clumsy(user)
return
- user.visible_message("[user] has analyzed [M]'s components with [src].", "You analyze [M]'s components with [src].")
+ user.visible_message(SPAN_NOTICE("[user] has analyzed [M]'s components with [src]."), SPAN_NOTICE("You analyze [M]'s components with [src]."))
robot_healthscan(user, M)
add_fingerprint(user)
@@ -509,24 +509,24 @@ SLIME SCANNER
else if(is_ai(M))
scan_type = "ai"
else
- to_chat(user, "You can't analyze non-robotic things!")
+ to_chat(user, SPAN_WARNING("You can't analyze non-robotic things!"))
return
switch(scan_type)
if("robot")
var/burn = M.getFireLoss() > 50 ? "[M.getFireLoss()]" : M.getFireLoss()
var/brute = M.getBruteLoss() > 50 ? "[M.getBruteLoss()]" : M.getBruteLoss()
- msgs += "Analyzing Results for [M]:\n\t Overall Status: [M.stat == DEAD ? "fully disabled" : "[M.health]% functional"]"
+ msgs += SPAN_NOTICE("Analyzing Results for [M]:\n\t Overall Status: [M.stat == DEAD ? "fully disabled" : "[M.health]% functional"]")
msgs += "\t Key: Electronics/Brute"
msgs += "\t Damage Specifics: [burn] - [brute]"
if(M.timeofdeath && M.stat == DEAD)
- msgs += "Time of disable: [station_time_timestamp("hh:mm:ss", M.timeofdeath)]"
+ msgs += SPAN_NOTICE("Time of disable: [station_time_timestamp("hh:mm:ss", M.timeofdeath)]")
var/mob/living/silicon/robot/H = M
var/list/damaged = H.get_damaged_components(TRUE, TRUE, TRUE) // Get all except the missing ones
var/list/missing = H.get_missing_components()
- msgs += "Localized Damage:"
+ msgs += SPAN_NOTICE("Localized Damage:")
if(!LAZYLEN(damaged) && !LAZYLEN(missing))
- msgs += "\t Components are OK."
+ msgs += SPAN_NOTICE("\t Components are OK.")
else
if(LAZYLEN(damaged))
for(var/datum/robot_component/org in damaged)
@@ -539,17 +539,17 @@ SLIME SCANNER
(org.powered) ? "Power ON" : "Power OFF")
if(LAZYLEN(missing))
for(var/datum/robot_component/org in missing)
- msgs += "\t [capitalize(org.name)]: MISSING"
+ msgs += SPAN_WARNING("\t [capitalize(org.name)]: MISSING")
if(H.emagged && prob(5))
- msgs += "\t ERROR: INTERNAL SYSTEMS COMPROMISED"
+ msgs += SPAN_WARNING("\t ERROR: INTERNAL SYSTEMS COMPROMISED")
if("prosthetics")
var/mob/living/carbon/human/H = M
var/is_ipc = ismachineperson(H)
msgs += "Analyzing Results for [M]: [is_ipc ? "\n\t Overall Status: [H.stat == DEAD ? "fully disabled" : "[H.health]% functional"]
" : "
"]" //for the record im sorry
msgs += "\t Key: Electronics/Brute"
- msgs += "External prosthetics:"
+ msgs += SPAN_NOTICE("External prosthetics:")
var/organ_found
if(LAZYLEN(H.internal_organs))
for(var/obj/item/organ/external/E in H.bodyparts)
@@ -558,9 +558,9 @@ SLIME SCANNER
organ_found = TRUE
msgs += "[E.name]: [E.brute_dam] [E.burn_dam]"
if(!organ_found)
- msgs += "No prosthetics located."
+ msgs += SPAN_WARNING("No prosthetics located.")
msgs += "
"
- msgs += "Internal prosthetics:"
+ msgs += SPAN_NOTICE("Internal prosthetics:")
organ_found = null
if(LAZYLEN(H.internal_organs))
for(var/obj/item/organ/internal/O in H.internal_organs)
@@ -569,9 +569,9 @@ SLIME SCANNER
organ_found = TRUE
msgs += "[capitalize(O.name)]: [O.status & ORGAN_DEAD ? "CRITICAL FAILURE" : O.damage]"
if(!organ_found)
- msgs += "No prosthetics located."
+ msgs += SPAN_WARNING("No prosthetics located.")
msgs += "
"
- msgs += "Cybernetic implants:"
+ msgs += SPAN_NOTICE("Cybernetic implants:")
organ_found = null
if(LAZYLEN(H.internal_organs))
for(var/obj/item/organ/internal/cyberimp/I in H.internal_organs)
@@ -580,16 +580,16 @@ SLIME SCANNER
organ_found = TRUE
msgs += "[capitalize(I.name)]: [(I.crit_fail || I.status & ORGAN_DEAD) ? "CRITICAL FAILURE" : I.damage]"
if(!organ_found)
- msgs += "No implants located."
+ msgs += SPAN_WARNING("No implants located.")
msgs += "
"
if(is_ipc)
msgs.Add(get_chemscan_results(user, H))
- msgs += "Subject temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)"
+ msgs += SPAN_NOTICE("Subject temperature: [round(H.bodytemperature-T0C, 0.01)]°C ([round(H.bodytemperature*1.8-459.67, 0.01)]°F)")
if("ai")
var/mob/living/silicon/ai/A = M
var/burn = A.getFireLoss() > 50 ? "[A.getFireLoss()]" : A.getFireLoss()
var/brute = A.getBruteLoss() > 50 ? "[A.getBruteLoss()]" : A.getBruteLoss()
- msgs += "Analyzing Results for [M]:\n\t Overall Status: [A.stat == DEAD ? "fully disabled" : "[A.health]% functional"]"
+ msgs += SPAN_NOTICE("Analyzing Results for [M]:\n\t Overall Status: [A.stat == DEAD ? "fully disabled" : "[A.health]% functional"]")
msgs += "\t Key: Electronics/Brute"
msgs += "\t Damage Specifics: [burn] - [brute]"
@@ -618,8 +618,8 @@ SLIME SCANNER
/obj/item/analyzer/examine(mob/user)
. = ..()
- . += "Alt-click [src] to activate the barometer function."
- . += "Alt-Shift-click [src] to toggle detailed reporting on or off."
+ . += SPAN_NOTICE("Alt-click [src] to activate the barometer function.")
+ . += SPAN_NOTICE("Alt-Shift-click [src] to toggle detailed reporting on or off.")
/obj/item/analyzer/attack_self__legacy__attackchain(mob/user as mob)
@@ -635,7 +635,7 @@ SLIME SCANNER
/obj/item/analyzer/AltShiftClick(mob/user)
show_detailed = !show_detailed
- to_chat(user, "You toggle detailed reporting [show_detailed ? "on" : "off"]")
+ to_chat(user, SPAN_NOTICE("You toggle detailed reporting [show_detailed ? "on" : "off"]"))
/obj/item/analyzer/AltClick(mob/user) //Barometer output for measuring when the next storm happens
..()
@@ -643,7 +643,7 @@ SLIME SCANNER
if(!user.incapacitated() && Adjacent(user))
if(cooldown)
- to_chat(user, "[src]'s barometer function is preparing itself.")
+ to_chat(user, SPAN_WARNING("[src]'s barometer function is preparing itself."))
return
var/turf/T = get_turf(user)
@@ -655,7 +655,7 @@ SLIME SCANNER
var/datum/weather/ongoing_weather = null
if(!user_area.outdoors)
- to_chat(user, "[src]'s barometer function won't work indoors!")
+ to_chat(user, SPAN_WARNING("[src]'s barometer function won't work indoors!"))
return
for(var/V in SSweather.processing)
@@ -666,26 +666,26 @@ SLIME SCANNER
if(ongoing_weather)
if((ongoing_weather.stage == WEATHER_MAIN_STAGE) || (ongoing_weather.stage == WEATHER_WIND_DOWN_STAGE))
- to_chat(user, "[src]'s barometer function can't trace anything while the storm is [ongoing_weather.stage == WEATHER_MAIN_STAGE ? "already here!" : "winding down."]")
+ to_chat(user, SPAN_WARNING("[src]'s barometer function can't trace anything while the storm is [ongoing_weather.stage == WEATHER_MAIN_STAGE ? "already here!" : "winding down."]"))
return
- to_chat(user, "The next [ongoing_weather] will hit in [butchertime(ongoing_weather.next_hit_time - world.time)].")
+ to_chat(user, SPAN_NOTICE("The next [ongoing_weather] will hit in [butchertime(ongoing_weather.next_hit_time - world.time)]."))
if(ongoing_weather.aesthetic)
- to_chat(user, "[src]'s barometer function says that the next storm will breeze on by.")
+ to_chat(user, SPAN_WARNING("[src]'s barometer function says that the next storm will breeze on by."))
else
var/next_hit = SSweather.next_hit_by_zlevel["[T.z]"]
var/fixed = next_hit ? next_hit - world.time : -1
if(fixed < 0)
- to_chat(user, "[src]'s barometer function was unable to trace any weather patterns.")
+ to_chat(user, SPAN_WARNING("[src]'s barometer function was unable to trace any weather patterns."))
else
- to_chat(user, "[src]'s barometer function says a storm will land in approximately [butchertime(fixed)].")
+ to_chat(user, SPAN_WARNING("[src]'s barometer function says a storm will land in approximately [butchertime(fixed)]."))
cooldown = TRUE
addtimer(CALLBACK(src, PROC_REF(ping)), cooldown_time)
/obj/item/analyzer/proc/ping()
if(isliving(loc))
var/mob/living/L = loc
- to_chat(L, "[src]'s barometer function is ready!")
+ to_chat(L, SPAN_NOTICE("[src]'s barometer function is ready!"))
playsound(src, 'sound/machines/click.ogg', 100)
cooldown = FALSE
@@ -733,8 +733,8 @@ SLIME SCANNER
var/list/message = list()
if(!silent && isliving(user))
- user.visible_message("[user] uses the analyzer on [target].", "You use the analyzer on [target].")
- message += "Results of analysis of [bicon(target)] [target]."
+ user.visible_message(SPAN_NOTICE("[user] uses the analyzer on [target]."), SPAN_NOTICE("You use the analyzer on [target]."))
+ message += SPAN_BOLDNOTICE("Results of analysis of [bicon(target)] [target].")
if(!print)
return TRUE
@@ -760,31 +760,31 @@ SLIME SCANNER
heat_capacity = air.heat_capacity()
thermal_energy = air.thermal_energy()
if(total_moles)
- message += "Total: [round(total_moles, 0.01)] moles"
+ message += SPAN_NOTICE("Total: [round(total_moles, 0.01)] moles")
if(air.oxygen() && (milla_turf_details || air.oxygen() / total_moles > 0.01))
- message += " Oxygen: [round(air.oxygen(), 0.01)] moles ([round(air.oxygen() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_OXYGEN("Oxygen: [round(air.oxygen(), 0.01)] moles ([round(air.oxygen() / total_moles * 100, 0.01)] %)")]"
if(air.nitrogen() && (milla_turf_details || air.nitrogen() / total_moles > 0.01))
- message += " Nitrogen: [round(air.nitrogen(), 0.01)] moles ([round(air.nitrogen() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_NITROGEN("Nitrogen: [round(air.nitrogen(), 0.01)] moles ([round(air.nitrogen() / total_moles * 100, 0.01)] %)")]"
if(air.carbon_dioxide() && (milla_turf_details || air.carbon_dioxide() / total_moles > 0.01))
- message += " Carbon Dioxide: [round(air.carbon_dioxide(), 0.01)] moles ([round(air.carbon_dioxide() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_CARBON_DIOXIDE("Carbon Dioxide: [round(air.carbon_dioxide(), 0.01)] moles ([round(air.carbon_dioxide() / total_moles * 100, 0.01)] %)")]"
if(air.toxins() && (milla_turf_details || air.toxins() / total_moles > 0.01))
- message += " Plasma: [round(air.toxins(), 0.01)] moles ([round(air.toxins() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_PLASMA("Plasma: [round(air.toxins(), 0.01)] moles ([round(air.toxins() / total_moles * 100, 0.01)] %)")]"
if(air.sleeping_agent() && (milla_turf_details || air.sleeping_agent() / total_moles > 0.01))
- message += " Nitrous Oxide: [round(air.sleeping_agent(), 0.01)] moles ([round(air.sleeping_agent() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_SLEEPING_AGENT("Nitrous Oxide: [round(air.sleeping_agent(), 0.01)] moles ([round(air.sleeping_agent() / total_moles * 100, 0.01)] %)")]"
if(air.agent_b() && (milla_turf_details || air.agent_b() / total_moles > 0.01))
- message += " Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_AGENT_B("Agent B: [round(air.agent_b(), 0.01)] moles ([round(air.agent_b() / total_moles * 100, 0.01)] %)")]"
if(air.hydrogen() && (milla_turf_details || air.hydrogen() / total_moles > 0.01))
- message += " Hydrogen: [round(air.hydrogen(), 0.01)] moles ([round(air.hydrogen() / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_HYDROGEN("Hydrogen: [round(air.hydrogen(), 0.01)] moles ([round(air.hydrogen() / total_moles * 100, 0.01)] %)")]"
if(air.water_vapor() && (milla_turf_details || air.water_vapor() / total_moles > 0.01))
- message += " Water Vapor: [round(air.water_vapor(), 0.01)] moles ([round(air.water_vapor() / total_moles * 100, 0.01)] %)"
- message += "Temperature: [round(air.temperature()-T0C)] °C ([round(air.temperature())] K)"
- message += "Volume: [round(volume)] Liters"
- message += "Pressure: [round(pressure, 0.1)] kPa"
- message += "Heat Capacity: [DisplayJoules(heat_capacity)] / K"
- message += "Thermal Energy: [DisplayJoules(thermal_energy)]"
+ message += " [SPAN_WATER_VAPOR("Water Vapor: [round(air.water_vapor(), 0.01)] moles ([round(air.water_vapor() / total_moles * 100, 0.01)] %)")]"
+ message += SPAN_NOTICE("Temperature: [round(air.temperature()-T0C)] °C ([round(air.temperature())] K)")
+ message += SPAN_NOTICE("Volume: [round(volume)] Liters")
+ message += SPAN_NOTICE("Pressure: [round(pressure, 0.1)] kPa")
+ message += SPAN_NOTICE("Heat Capacity: [DisplayJoules(heat_capacity)] / K")
+ message += SPAN_NOTICE("Thermal Energy: [DisplayJoules(thermal_energy)]")
else
- message += "[target] is empty!"
- message += "Volume: [round(volume)] Liters" // don't want to change the order volume appears in, suck it
+ message += SPAN_NOTICE("[target] is empty!")
+ message += SPAN_NOTICE("Volume: [round(volume)] Liters") // don't want to change the order volume appears in, suck it
else// Sum mixtures then present
for(var/datum/gas_mixture/air as anything in airs)
@@ -807,50 +807,50 @@ SLIME SCANNER
pressure = volume ? total_moles * R_IDEAL_GAS_EQUATION * temperature / volume : 0
if(total_moles)
- message += "Total: [round(total_moles, 0.01)] moles"
+ message += SPAN_NOTICE("Total: [round(total_moles, 0.01)] moles")
if(oxygen && (milla_turf_details || oxygen / total_moles > 0.01))
- message += " Oxygen: [round(oxygen, 0.01)] moles ([round(oxygen / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_OXYGEN("Oxygen: [round(oxygen, 0.01)] moles ([round(oxygen / total_moles * 100, 0.01)] %)")]"
if(nitrogen && (milla_turf_details || nitrogen / total_moles > 0.01))
- message += " Nitrogen: [round(nitrogen, 0.01)] moles ([round(nitrogen / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_NITROGEN("Nitrogen: [round(nitrogen, 0.01)] moles ([round(nitrogen / total_moles * 100, 0.01)] %)")]"
if(carbon_dioxide && (milla_turf_details || carbon_dioxide / total_moles > 0.01))
- message += " Carbon Dioxide: [round(carbon_dioxide, 0.01)] moles ([round(carbon_dioxide / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_CARBON_DIOXIDE("Carbon Dioxide: [round(carbon_dioxide, 0.01)] moles ([round(carbon_dioxide / total_moles * 100, 0.01)] %)")]"
if(toxins && (milla_turf_details || toxins / total_moles > 0.01))
- message += " Plasma: [round(toxins, 0.01)] moles ([round(toxins / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_PLASMA("Plasma: [round(toxins, 0.01)] moles ([round(toxins / total_moles * 100, 0.01)] %)")]"
if(sleeping_agent && (milla_turf_details || sleeping_agent / total_moles > 0.01))
- message += " Nitrous Oxide: [round(sleeping_agent, 0.01)] moles ([round(sleeping_agent / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_SLEEPING_AGENT("Nitrous Oxide: [round(sleeping_agent, 0.01)] moles ([round(sleeping_agent / total_moles * 100, 0.01)] %)")]"
if(agent_b && (milla_turf_details || agent_b / total_moles > 0.01))
- message += " Agent B: [round(agent_b, 0.01)] moles ([round(agent_b / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_AGENT_B("Agent B: [round(agent_b, 0.01)] moles ([round(agent_b / total_moles * 100, 0.01)] %)")]"
if(hydrogen && (milla_turf_details || hydrogen / total_moles > 0.01))
- message += " Hydrogen: [round(hydrogen, 0.01)] moles ([round(hydrogen / total_moles * 100, 0.01)] %)"
+ message += " [SPAN_HYDROGEN("Hydrogen: [round(hydrogen, 0.01)] moles ([round(hydrogen / total_moles * 100, 0.01)] %)")]"
if(water_vapor && (milla_turf_details || (water_vapor / total_moles > 0.01)))
- message += " Water Vapor: [round(water_vapor, 0.01)] moles ([round(water_vapor / total_moles * 100, 0.01)] %)"
- message += "Temperature: [round(temperature-T0C)] °C ([round(temperature)] K)"
- message += "Volume: [round(volume)] Liters"
- message += "Pressure: [round(pressure, 0.1)] kPa"
- message += "Heat Capacity: [DisplayJoules(heat_capacity)] / K"
- message += "Thermal Energy: [DisplayJoules(thermal_energy)]"
+ message += " [SPAN_WATER_VAPOR("Water Vapor: [round(water_vapor, 0.01)] moles ([round(water_vapor / total_moles * 100, 0.01)] %)")]"
+ message += SPAN_NOTICE("Temperature: [round(temperature-T0C)] °C ([round(temperature)] K)")
+ message += SPAN_NOTICE("Volume: [round(volume)] Liters")
+ message += SPAN_NOTICE("Pressure: [round(pressure, 0.1)] kPa")
+ message += SPAN_NOTICE("Heat Capacity: [DisplayJoules(heat_capacity)] / K")
+ message += SPAN_NOTICE("Thermal Energy: [DisplayJoules(thermal_energy)]")
else
- message += "[target] is empty!"
- message += "Volume: [round(volume)] Liters" // don't want to change the order volume appears in, suck it
+ message += SPAN_NOTICE("[target] is empty!")
+ message += SPAN_NOTICE("Volume: [round(volume)] Liters") // don't want to change the order volume appears in, suck it
if(milla)
// Values from milla/src/lib.rs, +1 due to array indexing difference.
- message += "Airtight N/E/S/W: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_NORTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_EAST) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_SOUTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_WEST) ? "yes" : "no"]"
+ message += SPAN_NOTICE("Airtight N/E/S/W: [(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_NORTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_EAST) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_SOUTH) ? "yes" : "no"]/[(milla[MILLA_INDEX_AIRTIGHT_DIRECTIONS] & MILLA_WEST) ? "yes" : "no"]")
switch(milla[MILLA_INDEX_ATMOS_MODE])
// These are enum values, so they don't get increased.
if(0)
- message += "Atmos Mode: Space"
+ message += SPAN_NOTICE("Atmos Mode: Space")
if(1)
- message += "Atmos Mode: Sealed"
+ message += SPAN_NOTICE("Atmos Mode: Sealed")
if(2)
- message += "Atmos Mode: Exposed to Environment (ID: [milla[MILLA_INDEX_ENVIRONMENT_ID]])"
+ message += SPAN_NOTICE("Atmos Mode: Exposed to Environment (ID: [milla[MILLA_INDEX_ENVIRONMENT_ID]])")
else
- message += "Atmos Mode: Unknown ([milla[MILLA_INDEX_ATMOS_MODE]]), contact a coder."
- message += "Superconductivity N/E/S/W: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_NORTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_EAST]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_SOUTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_WEST]]"
- message += "Turf's Innate Heat Capacity: [milla[MILLA_INDEX_INNATE_HEAT_CAPACITY]]"
- message += "Hotspot: [floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE]-T0C)] °C ([floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE])] K), [round(milla[MILLA_INDEX_HOTSPOT_VOLUME] * CELL_VOLUME, 1)] Liters ([milla[MILLA_INDEX_HOTSPOT_VOLUME]]x)"
- message += "Wind: ([round(milla[MILLA_INDEX_WIND_X], 0.001)], [round(milla[MILLA_INDEX_WIND_Y], 0.001)])"
- message += "Fuel burnt last tick: [milla[MILLA_INDEX_FUEL_BURNT]] moles"
+ message += SPAN_NOTICE("Atmos Mode: Unknown ([milla[MILLA_INDEX_ATMOS_MODE]]), contact a coder.")
+ message += SPAN_NOTICE("Superconductivity N/E/S/W: [milla[MILLA_INDEX_SUPERCONDUCTIVITY_NORTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_EAST]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_SOUTH]]/[milla[MILLA_INDEX_SUPERCONDUCTIVITY_WEST]]")
+ message += SPAN_NOTICE("Turf's Innate Heat Capacity: [milla[MILLA_INDEX_INNATE_HEAT_CAPACITY]]")
+ message += SPAN_NOTICE("Hotspot: [floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE]-T0C)] °C ([floor(milla[MILLA_INDEX_HOTSPOT_TEMPERATURE])] K), [round(milla[MILLA_INDEX_HOTSPOT_VOLUME] * CELL_VOLUME, 1)] Liters ([milla[MILLA_INDEX_HOTSPOT_VOLUME]]x)")
+ message += SPAN_NOTICE("Wind: ([round(milla[MILLA_INDEX_WIND_X], 0.001)], [round(milla[MILLA_INDEX_WIND_Y], 0.001)])")
+ message += SPAN_NOTICE("Fuel burnt last tick: [milla[MILLA_INDEX_FUEL_BURNT]] moles")
to_chat(user, chat_box_examine(message.Join("
")))
return TRUE
@@ -880,7 +880,7 @@ SLIME SCANNER
if(user.stat)
return
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return
if(!istype(O))
return
@@ -892,18 +892,18 @@ SLIME SCANNER
var/one_percent = O.reagents.total_volume / 100
for(var/datum/reagent/R in O.reagents.reagent_list)
if(R.id != "blood")
- dat += "
[TAB][R] [details ? ":([R.volume / one_percent]%)" : ""]"
+ dat += "
[TAB][SPAN_NOTICE("[R] [details ? ":([R.volume / one_percent]%)" : ""]")]"
else
blood_type = R.data["blood_type"]
- dat += "
[TAB][blood_type ? "[blood_type]" : ""] [R.data["species"]] [R.name] [details ? ":([R.volume / one_percent]%)" : ""]"
+ dat += "
[TAB][SPAN_NOTICE("[blood_type ? "[blood_type]" : ""] [R.data["species"]] [R.name] [details ? ":([R.volume / one_percent]%)" : ""]")]"
if(dat)
- to_chat(user, "Chemicals found: [dat]")
+ to_chat(user, SPAN_NOTICE("Chemicals found: [dat]"))
datatoprint = dat
scanning = FALSE
else
- to_chat(user, "No active chemical agents found in [O].")
+ to_chat(user, SPAN_NOTICE("No active chemical agents found in [O]."))
else
- to_chat(user, "No significant chemical agents found in [O].")
+ to_chat(user, SPAN_NOTICE("No significant chemical agents found in [O]."))
return
/obj/item/reagent_scanner/adv
@@ -914,7 +914,7 @@ SLIME SCANNER
/obj/item/reagent_scanner/proc/print_report()
if(!scanning)
- usr.visible_message("[src] rattles and prints out a sheet of paper.")
+ usr.visible_message(SPAN_WARNING("[src] rattles and prints out a sheet of paper."))
playsound(loc, 'sound/goonstation/machines/printer_thermal.ogg', 50, 1)
sleep(50)
@@ -925,11 +925,11 @@ SLIME SCANNER
if(ismob(loc))
var/mob/M = loc
M.put_in_hands(P)
- to_chat(M, "Report printed. Log cleared.")
+ to_chat(M, SPAN_NOTICE("Report printed. Log cleared."))
datatoprint = ""
scanning = TRUE
else
- to_chat(usr, "[src] has no logs or is already in use.")
+ to_chat(usr, SPAN_NOTICE("[src] has no logs or is already in use."))
/obj/item/reagent_scanner/ui_action_click()
print_report()
@@ -953,19 +953,19 @@ SLIME SCANNER
if(user.incapacitated() || user.AmountBlinded())
return
if(!isslime(M))
- to_chat(user, "This device can only scan slimes!")
+ to_chat(user, SPAN_WARNING("This device can only scan slimes!"))
return
slime_scan(M, user)
/proc/slime_scan(mob/living/simple_animal/slime/T, mob/living/user)
to_chat(user, "========================")
to_chat(user, "Slime scan results:")
- to_chat(user, "[T.colour] [T.is_adult ? "adult" : "baby"] slime")
+ to_chat(user, SPAN_NOTICE("[T.colour] [T.is_adult ? "adult" : "baby"] slime"))
to_chat(user, "Nutrition: [T.nutrition]/[T.get_max_nutrition()]")
if(T.nutrition < T.get_starve_nutrition())
- to_chat(user, "Warning: slime is starving!")
+ to_chat(user, SPAN_WARNING("Warning: slime is starving!"))
else if(T.nutrition < T.get_hunger_nutrition())
- to_chat(user, "Warning: slime is hungry")
+ to_chat(user, SPAN_WARNING("Warning: slime is hungry"))
to_chat(user, "Electric change strength: [T.powerlevel]")
to_chat(user, "Health: [round(T.health/T.maxHealth,0.01)*100]%")
if(T.slime_mutation[4] == T.colour)
@@ -985,8 +985,8 @@ SLIME SCANNER
to_chat(user, "Multiple cores detected")
to_chat(user, "Growth progress: [T.amount_grown]/[SLIME_EVOLUTION_THRESHOLD]")
if(T.effectmod)
- to_chat(user, "Core mutation in progress: [T.effectmod]")
- to_chat(user, "Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]")
+ to_chat(user, SPAN_NOTICE("Core mutation in progress: [T.effectmod]"))
+ to_chat(user, SPAN_NOTICE("Progress in core mutation: [T.applied] / [SLIME_EXTRACT_CROSSING_REQUIRED]"))
to_chat(user, "========================")
////////////////////////////////////////
@@ -1059,14 +1059,14 @@ SLIME SCANNER
return
if(!ready)
- to_chat(user, "The scanner beeps angrily at you! It's currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining.")
+ to_chat(user, SPAN_NOTICE("The scanner beeps angrily at you! It's currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining."))
playsound(user.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
return
if(cell.charge >= usecharge)
mobScan(M, user)
else
- to_chat(user, "The scanner beeps angrily at you! It's out of charge!")
+ to_chat(user, SPAN_NOTICE("The scanner beeps angrily at you! It's out of charge!"))
playsound(user.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
/obj/item/bodyanalyzer/borg/attack__legacy__attackchain(mob/living/M, mob/living/silicon/robot/user)
@@ -1074,13 +1074,13 @@ SLIME SCANNER
return
if(!ready)
- to_chat(user, "[src] is currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining.")
+ to_chat(user, SPAN_NOTICE("[src] is currently recharging - [round((time_to_use - world.time) * 0.1)] seconds remaining."))
return
if(user.cell.charge >= usecharge)
mobScan(M, user)
else
- to_chat(user, "You need to recharge before you can use [src]")
+ to_chat(user, SPAN_NOTICE("You need to recharge before you can use [src]"))
/obj/item/bodyanalyzer/proc/mobScan(mob/living/M, mob/user)
if(ishuman(M))
@@ -1105,14 +1105,14 @@ SLIME SCANNER
addtimer(VARSET_CALLBACK(src, printing, FALSE), 1.4 SECONDS)
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon), UPDATE_OVERLAYS), 1.5 SECONDS)
else if(iscorgi(M) && M.stat == DEAD)
- to_chat(user, "You wonder if [M.p_they()] was a good dog. [src] tells you they were the best...") // :'(
+ to_chat(user, SPAN_NOTICE("You wonder if [M.p_they()] was a good dog. [src] tells you they were the best...")) // :'(
playsound(loc, 'sound/machines/ping.ogg', 50, 0)
ready = FALSE
update_icon(UPDATE_ICON_STATE)
addtimer(CALLBACK(src, TYPE_PROC_REF(/obj/item/bodyanalyzer, setReady)), scan_cd)
time_to_use = world.time + scan_cd
else
- to_chat(user, "Scanning error detected. Invalid specimen.")
+ to_chat(user, SPAN_NOTICE("Scanning error detected. Invalid specimen."))
//Unashamedly ripped from adv_med.dm
/obj/item/bodyanalyzer/proc/generate_printing_text(mob/living/M, mob/user)
diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm
index efa53d4250b..7f1277336ec 100644
--- a/code/game/objects/items/devices/taperecorder.dm
+++ b/code/game/objects/items/devices/taperecorder.dm
@@ -28,17 +28,17 @@
. = ..()
if(in_range(user, src) && mytape)
if(mytape.ruined)
- . += "[mytape]'s internals are unwound.'."
+ . += SPAN_NOTICE("[mytape]'s internals are unwound.'.")
if(mytape.max_capacity <= mytape.used_capacity)
- . += "[mytape] is full."
+ . += SPAN_NOTICE("[mytape] is full.")
else if((mytape.remaining_capacity % 60) == 0) // if there is no seconds (modulo = 0), then only show minutes
- . += "[mytape] has [mytape.remaining_capacity / 60] minutes remaining."
+ . += SPAN_NOTICE("[mytape] has [mytape.remaining_capacity / 60] minutes remaining.")
else
if(mytape.used_capacity >= mytape.max_capacity - 60)
- . += "[mytape] has [mytape.remaining_capacity] seconds remaining." // to avoid having 0 minutes
+ . += SPAN_NOTICE("[mytape] has [mytape.remaining_capacity] seconds remaining.") // to avoid having 0 minutes
else
- . += "[mytape] has [seconds_to_time(mytape.remaining_capacity)] remaining."
- . += "Alt-Click to access the tape."
+ . += SPAN_NOTICE("[mytape] has [seconds_to_time(mytape.remaining_capacity)] remaining.")
+ . += SPAN_NOTICE("Alt-Click to access the tape.")
/obj/item/taperecorder/New()
..()
@@ -63,7 +63,7 @@
if(user.drop_item())
I.forceMove(src)
mytape = I
- to_chat(user, "You insert [I] into [src].")
+ to_chat(user, SPAN_NOTICE("You insert [I] into [src]."))
playsound(src, 'sound/items/taperecorder/taperecorder_close.ogg', 50, FALSE)
update_icon(UPDATE_ICON_STATE)
@@ -222,7 +222,7 @@
if(!mytape)
return
if(world.time < cooldown)
- to_chat(user, "The recorder can't print that fast!")
+ to_chat(user, SPAN_NOTICE("The recorder can't print that fast!"))
return
if(recording || playing)
return
@@ -243,7 +243,7 @@
return
if(mytape)
playsound(src, 'sound/items/taperecorder/taperecorder_open.ogg', 50, FALSE)
- to_chat(user, "You remove [mytape] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [mytape] from [src]."))
stop()
user.put_in_hands(mytape)
mytape = null
@@ -285,16 +285,16 @@
. = ..()
if(in_range(user, src))
if(ruined)
- . += "It's tape is all pulled out, it looks it could be screwed back into place."
+ . += SPAN_NOTICE("It's tape is all pulled out, it looks it could be screwed back into place.")
else if(max_capacity <= used_capacity)
- . += "It is full."
+ . += SPAN_NOTICE("It is full.")
else if((remaining_capacity % 60) == 0) // if there is no seconds (modulo = 0), then only show minutes
- . += "It has [remaining_capacity / 60] minutes remaining."
+ . += SPAN_NOTICE("It has [remaining_capacity / 60] minutes remaining.")
else
if(used_capacity >= (max_capacity - 60))
- . += "It has [remaining_capacity] seconds remaining." // to avoid having 0 minutes
+ . += SPAN_NOTICE("It has [remaining_capacity] seconds remaining.") // to avoid having 0 minutes
else
- . += "It has [seconds_to_time(remaining_capacity)] remaining."
+ . += SPAN_NOTICE("It has [seconds_to_time(remaining_capacity)] remaining.")
. += "You can Alt-Click [src] to wipe the current tape."
/obj/item/tape/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = TRUE)
@@ -309,12 +309,12 @@
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
return
if(ruined)
- to_chat(user, "This tape is already ruined!")
+ to_chat(user, SPAN_NOTICE("This tape is already ruined!"))
return
if(!do_after(user, 3 SECONDS, target = src))
return
- to_chat(user, "You erase the data from [src].")
+ to_chat(user, SPAN_NOTICE("You erase the data from [src]."))
used_capacity = 0
remaining_capacity = max_capacity
storedinfo.Cut()
@@ -327,10 +327,10 @@
/obj/item/tape/proc/ruin(mob/user)
if(user)
- to_chat(user, "You start pulling the tape out.")
+ to_chat(user, SPAN_NOTICE("You start pulling the tape out."))
if(!do_after(user, 1 SECONDS, target = src))
return
- to_chat(user, "You pull the tape out of [src].")
+ to_chat(user, SPAN_NOTICE("You pull the tape out of [src]."))
ruined = TRUE
update_icon(UPDATE_OVERLAYS)
@@ -343,9 +343,9 @@
if(ruined)
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- to_chat(user, "You start winding the tape back in.")
+ to_chat(user, SPAN_NOTICE("You start winding the tape back in."))
if(do_after(user, 120 * I.toolspeed, target = src))
- to_chat(user, "You wind the tape back in!")
+ to_chat(user, SPAN_NOTICE("You wind the tape back in!"))
ruined = FALSE
update_icon(UPDATE_OVERLAYS)
diff --git a/code/game/objects/items/devices/traitordevices.dm b/code/game/objects/items/devices/traitordevices.dm
index 0ddff0fcf68..6e32476fa8c 100644
--- a/code/game/objects/items/devices/traitordevices.dm
+++ b/code/game/objects/items/devices/traitordevices.dm
@@ -23,7 +23,7 @@
/obj/item/jammer/activate_self(mob/user)
if(..())
return
- to_chat(user, "You [active ? "deactivate [src]. It goes quiet with a small click." : "activate [src]. It starts to hum softly."]")
+ to_chat(user, SPAN_NOTICE("You [active ? "deactivate [src]. It goes quiet with a small click." : "activate [src]. It starts to hum softly."]"))
active = !active
update_icon(UPDATE_ICON_STATE)
if(active)
@@ -69,7 +69,7 @@
/obj/item/teleporter/examine(mob/user)
. = ..()
- . += "[src] has [charges] out of [max_charges] charges left."
+ . += SPAN_NOTICE("[src] has [charges] out of [max_charges] charges left.")
/obj/item/teleporter/activate_self(mob/user)
if(..())
@@ -86,17 +86,17 @@
if(prob(50 / severity))
if(ishuman(loc))
var/mob/living/carbon/human/user = loc
- to_chat(user, "[src] buzzes and activates!")
+ to_chat(user, SPAN_USERDANGER("[src] buzzes and activates!"))
attempt_teleport(user, TRUE)
else //Well, it either is on a floor / locker, and won't teleport someone, OR it's in someones bag. As such, we need to check the turf to see if people are there.
var/turf/teleport_turf = get_turf(src)
for(var/mob/living/user in teleport_turf)
if(!teleported_something)
- teleport_turf.visible_message("[src] activates sporadically, teleporting everyone around it!")
+ teleport_turf.visible_message(SPAN_DANGER("[src] activates sporadically, teleporting everyone around it!"))
teleported_something = TRUE
attempt_teleport(user, TRUE)
if(!teleported_something)
- visible_message("[src] activates and blinks out of existence!")
+ visible_message(SPAN_DANGER("[src] activates and blinks out of existence!"))
do_sparks(2, 1, src)
qdel(src)
@@ -111,12 +111,12 @@
qdel(G)
dir_correction(user)
if(!charges && !EMP_D) //If it's empd, you are moving no matter what.
- to_chat(user, "[src] is still recharging.")
+ to_chat(user, SPAN_WARNING("[src] is still recharging."))
return
var/turf/starting = get_turf(src)
var/area/starting_area = get_area(starting)
if(!is_teleport_allowed(starting.z) || starting_area.tele_proof)
- to_chat(user, "[src] will not work here!")
+ to_chat(user, SPAN_DANGER("[src] will not work here!"))
return
if(SEND_SIGNAL(user, COMSIG_MOVABLE_TELEPORTING, starting) & COMPONENT_BLOCK_TELEPORT)
return FALSE
@@ -144,7 +144,7 @@
if(found_turf)
if(user.loc != mobloc) // No locker / mech / sleeper teleporting, that breaks stuff
- to_chat(M, "[src] will not work here!")
+ to_chat(M, SPAN_DANGER("[src] will not work here!"))
if(charges > 0) //While we want EMP triggered teleports to drain charge, we also do not want it to go negative charge, as such we need this check here
charges--
update_icon_charges()
@@ -163,7 +163,7 @@
else // Emp activated? Bag of holding? No saving throw for you
get_fragged(user, destination)
else
- to_chat(M, "[src] will not work here!")
+ to_chat(M, SPAN_DANGER("[src] will not work here!"))
/obj/item/teleporter/proc/tile_check(turf/T)
if(isfloorturf(T) || isspaceturf(T))
@@ -234,14 +234,14 @@
if(istype(destination, /turf/simulated/mineral) && !istype(destination, /turf/simulated/mineral/ancient))
var/turf/simulated/mineral/rock = destination
rock.gets_drilled(null, 1)
- to_chat(user, "You teleport into the wall, the teleporter tries to save you, but--")
+ to_chat(user, SPAN_BIGGERDANGER("You teleport into the wall, the teleporter tries to save you, but--"))
user.gib()
/obj/item/teleporter/proc/telefrag(turf/fragging_location, mob/user)
for(var/mob/living/M in fragging_location)//Hit everything in the turf
M.apply_damage(20, BRUTE)
M.Weaken(6 SECONDS)
- to_chat(M, "[user] teleports into you, knocking you to the floor with the bluespace wave!")
+ to_chat(M, SPAN_WARNING("[user] teleports into you, knocking you to the floor with the bluespace wave!"))
/obj/item/paper/teleporter
name = "Teleporter Guide"
@@ -286,21 +286,21 @@
if(..())
return
if(HAS_TRAIT(user, TRAIT_RESISTHEAT))
- to_chat(user, "You are already fireproof!")
+ to_chat(user, SPAN_WARNING("You are already fireproof!"))
return
if(user.mind && (IS_CHANGELING(user) || user.mind.has_antag_datum(/datum/antagonist/vampire)) || (user.dna && user.dna.species.name != "Plasmaman"))
- to_chat(user, "The injector is not compatable with your biology!")
+ to_chat(user, SPAN_WARNING("The injector is not compatable with your biology!"))
return
if(used)
- to_chat(user, "The injector is empty!")
+ to_chat(user, SPAN_NOTICE("The injector is empty!"))
return
used = TRUE // Set this BEFORE the popup to prevent people using the injector more than once.
var/choice = tgui_alert(user, "The injector is still unused. Do you wish to use it?", "Fireproofing injector", list("Yes", "No"))
if(choice != "Yes")
- to_chat(user, "You decide against using [src].")
+ to_chat(user, SPAN_NOTICE("You decide against using [src]."))
used = FALSE
return
- to_chat(user, "You inject yourself with the nanites!")
+ to_chat(user, SPAN_NOTICE("You inject yourself with the nanites!"))
ADD_TRAIT(user, TRAIT_RESISTHEAT, "fireproof_injector")
/obj/item/cryoregenerative_enhancer
@@ -321,23 +321,23 @@
if(..())
return
if(HAS_TRAIT(user, TRAIT_DRASK_SUPERCOOL))
- to_chat(user, "Your regeneration is already enhanced!")
+ to_chat(user, SPAN_WARNING("Your regeneration is already enhanced!"))
return
if(user.mind && (IS_CHANGELING(user) || user.mind.has_antag_datum(/datum/antagonist/vampire)) || user.dna?.species.name != "Drask")
- to_chat(user, "The injector is not compatable with your biology!")
+ to_chat(user, SPAN_WARNING("The injector is not compatable with your biology!"))
return
if(used)
- to_chat(user, "The injector is empty!")
+ to_chat(user, SPAN_NOTICE("The injector is empty!"))
return
var/choice = tgui_alert(user, "The injector is still unused. Do you wish to use it?", "Cryoregenerative enhancer", list("Yes", "No"))
if(choice != "Yes")
- to_chat(user, "You decide against using [src].")
+ to_chat(user, SPAN_NOTICE("You decide against using [src]."))
return
if(used)
- to_chat(user, "The injector is empty!")
+ to_chat(user, SPAN_WARNING("The injector is empty!"))
return
used = TRUE
- to_chat(user, "You inject yourself with the enhancer!")
+ to_chat(user, SPAN_NOTICE("You inject yourself with the enhancer!"))
ADD_TRAIT(user, TRAIT_DRASK_SUPERCOOL, "cryoregenerative_enhancer")
/obj/item/batterer
@@ -368,11 +368,11 @@
/obj/item/batterer/examine(mob/user)
. = ..()
- . += "A little label on the side reads: \"Warning: Using this item in quick succession may cause fatigue to the user!\""
+ . += SPAN_WARNING("A little label on the side reads: \"Warning: Using this item in quick succession may cause fatigue to the user!\"")
if(times_used >= max_uses)
- . += "[src] is out of charge."
+ . += SPAN_NOTICE("[src] is out of charge.")
if(times_used < max_uses)
- . += "[src] has [max_uses-times_used] charges left."
+ . += SPAN_NOTICE("[src] has [max_uses-times_used] charges left.")
/obj/item/batterer/process()
if(times_used)
@@ -391,13 +391,13 @@
times_used++
if(user)
if(times_used > max_uses)
- to_chat(user, "The mind batterer has been burnt out!")
+ to_chat(user, SPAN_DANGER("The mind batterer has been burnt out!"))
times_used--
return
if(!do_after_once(user, 2 SECONDS, target = src, allow_moving = TRUE, attempt_cancel_message = "You think it's best to save this for later.", hidden = TRUE))
times_used--
return
- to_chat(user, "You trigger [src]. It has [max_uses-times_used] charges left.")
+ to_chat(user, SPAN_NOTICE("You trigger [src]. It has [max_uses-times_used] charges left."))
for(var/mob/living/M in oview(7, get_turf(src)))
if(!M.client)
@@ -408,29 +408,29 @@
else
M.Confused(45 SECONDS)
M.adjustBrainLoss(10)
- to_chat(M, "You feel a sudden, electric jolt travel through yourself,")
+ to_chat(M, SPAN_DANGER("You feel a sudden, electric jolt travel through yourself,"))
switch(rand(1, 10))
if(1)
M.Immobilize(7 SECONDS)
- to_chat(M, "and your legs lock up for a moment!")
+ to_chat(M, SPAN_WARNING("and your legs lock up for a moment!"))
if(2)
M.apply_status_effect(STATUS_EFFECT_PACIFIED_BATTERER)
- to_chat(M, "and you feel an innate love for life for a fleeting moment!")
+ to_chat(M, SPAN_WARNING("and you feel an innate love for life for a fleeting moment!"))
if(3)
new /obj/effect/hallucination/delusion(get_turf(M), M)
- to_chat(M, "and the people around you morph in appearance!")
+ to_chat(M, SPAN_WARNING("and the people around you morph in appearance!"))
if(4)
if(prob(80))
M.EyeBlurry(25 SECONDS)
- to_chat(M, "and something in the back of your head stings like hell!")
+ to_chat(M, SPAN_WARNING("and something in the back of your head stings like hell!"))
else
M.EyeBlind(15 SECONDS)
- to_chat(M, "and you can't see a goddamn thing!")
+ to_chat(M, SPAN_WARNING("and you can't see a goddamn thing!"))
if(5)
M.apply_damage(40, STAMINA)
- to_chat(M, "and a wave of tiredness washes over you!")
+ to_chat(M, SPAN_WARNING("and a wave of tiredness washes over you!"))
else
- to_chat(M, "but as soon as it arrives, it fades.")
+ to_chat(M, SPAN_DANGER("but as soon as it arrives, it fades."))
add_attack_logs(user, M, "Mind battered with [src]")
playsound(get_turf(src), 'sound/misc/interference.ogg', 50, TRUE)
@@ -442,7 +442,7 @@
if(times_used >= max_uses || on_throwing_cooldown)
return
addtimer(CALLBACK(src, PROC_REF(end_throwing_delay)), 3 SECONDS)
- visible_message("[src] suddenly triggers, sending a shower of sparks everywhere!")
+ visible_message(SPAN_NOTICE("[src] suddenly triggers, sending a shower of sparks everywhere!"))
do_sparks(4, FALSE, get_turf(src))
activate_batterer()
on_throwing_cooldown = TRUE
@@ -453,7 +453,7 @@
/obj/item/batterer/emp_act(severity)
if(times_used >= max_uses)
return
- visible_message("[src] explodes into a light show of colors!")
+ visible_message(SPAN_NOTICE("[src] explodes into a light show of colors!"))
if(severity == EMP_HEAVY)
activate_batterer()
@@ -521,7 +521,7 @@
if(..())
return
if(!COOLDOWN_FINISHED(src, scan_cooldown))
- to_chat(user, "[src] is recharging!")
+ to_chat(user, SPAN_WARNING("[src] is recharging!"))
return
COOLDOWN_START(src, scan_cooldown, cooldown_length)
@@ -547,4 +547,4 @@
// Found the right split point, and we're not past all of them, so play the on-hit sound effect.
playsound(user, on_hit_sound, 75, TRUE)
break
- to_chat(user, "[range_messages[range_index]]")
+ to_chat(user, SPAN_NOTICE("[range_messages[range_index]]"))
diff --git a/code/game/objects/items/devices/transfer_valve.dm b/code/game/objects/items/devices/transfer_valve.dm
index 021bfcb7d81..69fd58207ca 100644
--- a/code/game/objects/items/devices/transfer_valve.dm
+++ b/code/game/objects/items/devices/transfer_valve.dm
@@ -28,21 +28,21 @@
/obj/item/transfer_valve/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/tank))
if(tank_one && tank_two)
- to_chat(user, "There are already two tanks attached, remove one first.")
+ to_chat(user, SPAN_WARNING("There are already two tanks attached, remove one first."))
return
if(!tank_one)
if(!user.transfer_item_to(I, src))
return
tank_one = I
- to_chat(user, "You attach the tank to the transfer valve.")
+ to_chat(user, SPAN_NOTICE("You attach the tank to the transfer valve."))
if(I.w_class > w_class)
w_class = I.w_class
else if(!tank_two)
if(!user.transfer_item_to(I, src))
return
tank_two = I
- to_chat(user, "You attach the tank to the transfer valve.")
+ to_chat(user, SPAN_NOTICE("You attach the tank to the transfer valve."))
if(I.w_class > w_class)
w_class = I.w_class
@@ -52,15 +52,15 @@
else if(isassembly(I))
var/obj/item/assembly/A = I
if(A.secured)
- to_chat(user, "The device is secured.")
+ to_chat(user, SPAN_NOTICE("The device is secured."))
return
if(attached_device)
- to_chat(user, "There is already a device attached to the valve, remove it first.")
+ to_chat(user, SPAN_WARNING("There is already a device attached to the valve, remove it first."))
return
if(!user.transfer_item_to(A, src))
return
attached_device = A
- to_chat(user, "You attach [A] to the valve controls and secure it.")
+ to_chat(user, SPAN_NOTICE("You attach [A] to the valve controls and secure it."))
A.holder = src
A.toggle_secure() //this calls update_icon(), which calls update_icon() on the holder (i.e. the bomb).
diff --git a/code/game/objects/items/devices/uplinks.dm b/code/game/objects/items/devices/uplinks.dm
index 537d89cf640..8ef7f77208e 100644
--- a/code/game/objects/items/devices/uplinks.dm
+++ b/code/game/objects/items/devices/uplinks.dm
@@ -101,12 +101,12 @@ GLOBAL_LIST_EMPTY(world_uplinks)
/obj/item/uplink/proc/buy(datum/uplink_item/UI, reference)
if(is_jammed)
- to_chat(usr, "[src] seems to be jammed - it cannot be used here!")
+ to_chat(usr, SPAN_WARNING("[src] seems to be jammed - it cannot be used here!"))
return
if(!UI)
return
if(UI.limited_stock == 0)
- to_chat(usr, "You have redeemed this discount already.")
+ to_chat(usr, SPAN_WARNING("You have redeemed this discount already."))
return
UI.buy_uplink_item(src,usr)
SStgui.update_uis(src)
@@ -134,7 +134,7 @@ GLOBAL_LIST_EMPTY(world_uplinks)
/obj/item/uplink/proc/refund(mob/user as mob)
var/obj/item/I = user.get_active_hand()
if(!I) // Make sure there's actually something in the hand before even bothering to check
- to_chat(user, "[I] is not refundable.")
+ to_chat(user, SPAN_WARNING("[I] is not refundable."))
return
for(var/category in uplink_items)
@@ -152,12 +152,12 @@ GLOBAL_LIST_EMPTY(world_uplinks)
refund_amount = holopara.refund_cost
uses += refund_amount
used_TC -= refund_amount
- to_chat(user, "[I] refunded.")
+ to_chat(user, SPAN_NOTICE("[I] refunded."))
qdel(I)
return
// If we are here, we didnt refund
- to_chat(user, "[I] is not refundable.")
+ to_chat(user, SPAN_WARNING("[I] is not refundable."))
// HIDDEN UPLINK - Can be stored in anything but the host item has to have a trigger for it.
/* How to create an uplink in 3 easy steps!
@@ -203,7 +203,7 @@ GLOBAL_LIST_EMPTY(world_uplinks)
// current item's menu.
/obj/item/uplink/hidden/proc/check_trigger(mob/user, value, target)
if(is_jammed)
- to_chat(user, "[src] seems to be jammed - it cannot be used here!")
+ to_chat(user, SPAN_WARNING("[src] seems to be jammed - it cannot be used here!"))
return
if(value == target)
trigger(user)
@@ -329,7 +329,7 @@ GLOBAL_LIST_EMPTY(world_uplinks)
if("add_to_cart")
var/datum/uplink_item/UI = uplink_items[params["item"]]
if(LAZYIN(shopping_cart, params["item"]))
- to_chat(ui.user, "[UI.name] is already in your cart!")
+ to_chat(ui.user, SPAN_WARNING("[UI.name] is already in your cart!"))
return
var/startamount = 1
if(UI.limited_stock == 0)
@@ -349,10 +349,10 @@ GLOBAL_LIST_EMPTY(world_uplinks)
if(!LAZYLEN(shopping_cart)) // sanity check
return
if(calculate_cart_tc() > uses)
- to_chat(ui.user, "[src] buzzes, it doesn't contain enough telecrystals!")
+ to_chat(ui.user, SPAN_WARNING("[src] buzzes, it doesn't contain enough telecrystals!"))
return
if(is_jammed)
- to_chat(ui.user, "[src] seems to be jammed - it cannot be used here!")
+ to_chat(ui.user, SPAN_WARNING("[src] seems to be jammed - it cannot be used here!"))
return
// Buying of the uplink stuff
diff --git a/code/game/objects/items/devices/voice_changer.dm b/code/game/objects/items/devices/voice_changer.dm
index e3b87ac62e2..6cba6acad88 100644
--- a/code/game/objects/items/devices/voice_changer.dm
+++ b/code/game/objects/items/devices/voice_changer.dm
@@ -27,7 +27,7 @@
/obj/item/voice_changer/attack_self__legacy__attackchain(mob/user)
active = !active
icon_state = "voice_changer_[active ? "on" : "off"]"
- to_chat(user, "You toggle [src] [active ? "on" : "off"].")
+ to_chat(user, SPAN_NOTICE("You toggle [src] [active ? "on" : "off"]."))
update_action_buttons()
@@ -35,11 +35,11 @@
var/chosen_voice = tgui_input_text(user, "What voice would you like to mimic? Leave this empty to use the voice on your ID card.", "Set Voice Changer")
if(!chosen_voice)
voice = null
- to_chat(user, "You are now mimicking the voice on your ID card.")
+ to_chat(user, SPAN_NOTICE("You are now mimicking the voice on your ID card."))
return
voice = sanitize_for_ic(copytext_char(chosen_voice, 1, MAX_MESSAGE_LEN))
- to_chat(user, "You are now mimicking [voice].")
+ to_chat(user, SPAN_NOTICE("You are now mimicking [voice]."))
/obj/item/voice_changer/voice_modulator
name = "voice modulator"
diff --git a/code/game/objects/items/devices/whistle.dm b/code/game/objects/items/devices/whistle.dm
index 5da8059191a..8a11cf3aaf0 100644
--- a/code/game/objects/items/devices/whistle.dm
+++ b/code/game/objects/items/devices/whistle.dm
@@ -18,16 +18,16 @@
if(emagged)
playsound(get_turf(src), 'sound/voice/binsult.ogg', 100, TRUE, vary = 0)//hueheuheuheuheuheuhe
- user.visible_message("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\"")
+ user.visible_message(SPAN_WARNING("[user]'s [name] gurgles, \"FUCK YOUR CUNT YOU SHIT EATING CUNT TILL YOU ARE A MASS EATING SHIT CUNT. EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS TO FUCK UP SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FROM THE DEPTHS OF SHIT\""))
else
playsound(get_turf(src), 'sound/voice/halt.ogg', 100, TRUE, vary = 0)
- user.visible_message("[user]'s [name] rasps, \"Halt! Security!\"")
+ user.visible_message(SPAN_WARNING("[user]'s [name] rasps, \"Halt! Security!\""))
next_use_time = world.time + USE_COOLDOWN
/obj/item/hailer/emag_act(user as mob)
if(!emagged)
- to_chat(user, "You overload \the [src]'s voice synthesizer.")
+ to_chat(user, SPAN_WARNING("You overload \the [src]'s voice synthesizer."))
emagged = TRUE
return TRUE
diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm
index 5dc67bb24e1..01de60f57b0 100644
--- a/code/game/objects/items/dna_injector.dm
+++ b/code/game/objects/items/dna_injector.dm
@@ -120,13 +120,13 @@
/obj/item/dnainjector/attack__legacy__attackchain(mob/M, mob/user)
if(used)
- to_chat(user, "This injector is used up!")
+ to_chat(user, SPAN_WARNING("This injector is used up!"))
return
if(!M.dna || HAS_TRAIT(M, TRAIT_GENELESS) || HAS_TRAIT(M, TRAIT_BADDNA)) //You know what would be nice? If the mob you're injecting has DNA, and so doesn't cause runtimes.
return FALSE
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return FALSE
var/attack_log = "injected with the Isolated [name]"
@@ -135,22 +135,22 @@
if(block)
if(GetState() && block == GLOB.monkeyblock && ishuman(M))
attack_log = "injected with the Isolated [name] (MONKEY)"
- message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)")
+ message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] [SPAN_WARNING("(MONKEY)")]")
else
if(GetState(GLOB.monkeyblock) && ishuman(M))
attack_log = "injected with the Isolated [name] (MONKEY)"
- message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] (MONKEY)")
+ message_admins("[key_name_admin(user)] injected [key_name_admin(M)] with the Isolated [name] [SPAN_WARNING("(MONKEY)")]")
if(M != user)
- M.visible_message("[user] is trying to inject [M] with [src]!", "[user] is trying to inject [M] with [src]!")
+ M.visible_message(SPAN_DANGER("[user] is trying to inject [M] with [src]!"), SPAN_USERDANGER("[user] is trying to inject [M] with [src]!"))
if(!do_mob(user, M))
return
M.visible_message("[user] injects [M] with the syringe with [src]!", \
"[user] injects [M] with the syringe with [src]!")
else
- to_chat(user, "You inject yourself with [src].")
+ to_chat(user, SPAN_NOTICE("You inject yourself with [src]."))
add_attack_logs(user, M, attack_log, ATKLOG_ALL)
diff --git a/code/game/objects/items/dnascrambler.dm b/code/game/objects/items/dnascrambler.dm
index cb34973361b..e887376bd10 100644
--- a/code/game/objects/items/dnascrambler.dm
+++ b/code/game/objects/items/dnascrambler.dm
@@ -23,19 +23,19 @@
return
if(HAS_TRAIT(M, TRAIT_GENELESS))
- to_chat(user, "You failed to inject [M], as [M.p_they()] [M.p_have()] no DNA to scramble, nor flesh to inject.")
+ to_chat(user, SPAN_WARNING("You failed to inject [M], as [M.p_they()] [M.p_have()] no DNA to scramble, nor flesh to inject."))
return
if(M == user)
- user.visible_message("[user] injects [user.p_themselves()] with [src]!")
+ user.visible_message(SPAN_DANGER("[user] injects [user.p_themselves()] with [src]!"))
injected(user, user)
else
- user.visible_message("[user] is trying to inject [M] with [src]!")
+ user.visible_message(SPAN_DANGER("[user] is trying to inject [M] with [src]!"))
if(do_mob(user,M,30))
- user.visible_message("[user] injects [M] with [src].")
+ user.visible_message(SPAN_DANGER("[user] injects [M] with [src]."))
injected(M, user)
else
- to_chat(user, "You failed to inject [M].")
+ to_chat(user, SPAN_WARNING("You failed to inject [M]."))
/obj/item/dnascrambler/proc/injected(mob/living/carbon/human/target, mob/living/carbon/user)
if(istype(target))
diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm
index 2a7c719d2e1..199c485755f 100644
--- a/code/game/objects/items/documents.dm
+++ b/code/game/objects/items/documents.dm
@@ -20,7 +20,7 @@
/obj/item/documents/nanotrasen/examine(mob/user)
. = ..()
- . += "These documents are marked \"TOP SECRET - property of Nanotrasen\"."
+ . += SPAN_WARNING("These documents are marked \"TOP SECRET - property of Nanotrasen\".")
/obj/item/documents/syndicate
desc = "Documents printed on special copy-protected paper. They detail sensitive Syndicate operational intelligence."
@@ -31,7 +31,7 @@
/obj/item/documents/syndicate/red/examine(mob/user)
. = ..()
- . += "These documents are marked with \"TOP SECRET - RED\" and the logo of the Syndicate."
+ . += SPAN_WARNING("These documents are marked with \"TOP SECRET - RED\" and the logo of the Syndicate.")
/obj/item/documents/syndicate/blue
name = "'Blue' secret documents"
@@ -39,7 +39,7 @@
/obj/item/documents/syndicate/blue/examine(mob/user)
. = ..()
- . += "These documents are marked with \"TOP SECRET - BLUE\" and the logo of the Syndicate."
+ . += SPAN_WARNING("These documents are marked with \"TOP SECRET - BLUE\" and the logo of the Syndicate.")
/obj/item/documents/syndicate/yellow
name = "'Yellow' secret documents"
@@ -48,7 +48,7 @@
/obj/item/documents/syndicate/yellow/examine(mob/user)
. = ..()
- . += "These documents are marked with \"TOP SECRET - YELLOW\" and the logo of the Syndicate."
+ . += SPAN_WARNING("These documents are marked with \"TOP SECRET - YELLOW\" and the logo of the Syndicate.")
/obj/item/documents/syndicate/yellow/trapped
desc = "Documents printed on special copy-protected paper. They detail sensitive Syndicate operational intelligence, and have a thin film of clear material covering their surface."
@@ -61,7 +61,7 @@
/obj/item/documents/syndicate/mining/examine(mob/user)
. = ..()
- . += "These documents are marked with \"SECRET\" and the logo of the Syndicate."
+ . += SPAN_WARNING("These documents are marked with \"SECRET\" and the logo of the Syndicate.")
/obj/item/documents/syndicate/yellow/trapped/pickup(user)
if(ishuman(user) && poison_total > 0)
diff --git a/code/game/objects/items/flag.dm b/code/game/objects/items/flag.dm
index 691c17454b9..2de9f3cd3f6 100644
--- a/code/game/objects/items/flag.dm
+++ b/code/game/objects/items/flag.dm
@@ -15,12 +15,12 @@
/obj/item/flag/attackby__legacy__attackchain(obj/item/W, mob/user, params)
. = ..()
if(W.get_heat() && !(resistance_flags & ON_FIRE))
- user.visible_message("[user] lights [src] with [W].", "You light [src] with [W].", "You hear a low whoosh.")
+ user.visible_message(SPAN_NOTICE("[user] lights [src] with [W]."), SPAN_NOTICE("You light [src] with [W]."), SPAN_WARNING("You hear a low whoosh."))
fire_act()
/obj/item/flag/attack_self__legacy__attackchain(mob/user)
rolled = !rolled
- user.visible_message("[user] [rolled ? "rolls up" : "unfurls"] [src].", "You [rolled ? "roll up" : "unfurl"] [src].", "You hear fabric rustling.")
+ user.visible_message(SPAN_NOTICE("[user] [rolled ? "rolls up" : "unfurls"] [src]."), SPAN_NOTICE("You [rolled ? "roll up" : "unfurl"] [src]."), SPAN_WARNING("You hear fabric rustling."))
update_icon()
/obj/item/flag/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume, global_overlay = FALSE)
@@ -246,7 +246,7 @@
boobytrap = I
trapper = user
I.forceMove(src)
- to_chat(user, "You hide [I] in [src]. It will detonate some time after the flag is lit on fire.")
+ to_chat(user, SPAN_NOTICE("You hide [I] in [src]. It will detonate some time after the flag is lit on fire."))
var/turf/bombturf = get_turf(src)
var/area/A = get_area(bombturf)
log_game("[key_name(user)] has hidden [I] in [src] ready for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]).")
@@ -268,7 +268,7 @@
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- to_chat(user, "You remove [boobytrap] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [boobytrap] from [src]."))
boobytrap.forceMove(get_turf(src))
boobytrap = null
trapper = null
diff --git a/code/game/objects/items/granters/_granters.dm b/code/game/objects/items/granters/_granters.dm
index e5ba5715e04..dd8c21f9e14 100644
--- a/code/game/objects/items/granters/_granters.dm
+++ b/code/game/objects/items/granters/_granters.dm
@@ -29,10 +29,10 @@
if(..())
return
if(reading)
- to_chat(user, "You're already reading this!")
+ to_chat(user, SPAN_WARNING("You're already reading this!"))
return FINISH_ATTACK
if(!user.has_vision())
- to_chat(user, "You are blind and can't read anything!")
+ to_chat(user, SPAN_WARNING("You are blind and can't read anything!"))
return FINISH_ATTACK
if(!isliving(user))
return FINISH_ATTACK
@@ -57,15 +57,15 @@
/// Called when the user starts to read the granter.
/obj/item/book/granter/proc/on_reading_start(mob/living/user)
- to_chat(user, "You start reading [name]...")
+ to_chat(user, SPAN_NOTICE("You start reading [name]..."))
/// Called when the reading is interrupted without finishing.
/obj/item/book/granter/proc/on_reading_stopped(mob/living/user)
- to_chat(user, "You stop reading...")
+ to_chat(user, SPAN_NOTICE("You stop reading..."))
/// Called when the reading is completely finished. This is where the actual granting should happen.
/obj/item/book/granter/proc/on_reading_finished(mob/living/user)
- to_chat(user, "You finish reading [name]!")
+ to_chat(user, SPAN_NOTICE("You finish reading [name]!"))
/// The actual "turning over of the page" flavor bit that happens while someone is reading the granter.
/obj/item/book/granter/proc/turn_page(mob/living/user)
@@ -74,7 +74,7 @@
if(!do_after(user, reading_time, src))
return FALSE
- to_chat(user, "[length(remarks) ? pick(remarks) : "You keep reading..."]")
+ to_chat(user, SPAN_NOTICE("[length(remarks) ? pick(remarks) : "You keep reading..."]"))
return TRUE
/// Effects that occur whenever the book is read when it has no uses left.
@@ -96,15 +96,15 @@
if(!granted_action)
CRASH("Someone attempted to learn [type], which did not have an action set.")
if(locate(granted_action) in user.actions)
- to_chat(user, "You already know all about [action_name]!")
+ to_chat(user, SPAN_WARNING("You already know all about [action_name]!"))
return FALSE
return TRUE
/obj/item/book/granter/action/on_reading_start(mob/living/user)
- to_chat(user, "You start reading about [action_name]...")
+ to_chat(user, SPAN_NOTICE("You start reading about [action_name]..."))
/obj/item/book/granter/action/on_reading_finished(mob/living/user)
- to_chat(user, "You feel like you've got a good handle on [action_name]!")
+ to_chat(user, SPAN_NOTICE("You feel like you've got a good handle on [action_name]!"))
// Action goes on the mind as the user actually learns the thing in your brain
var/datum/action/new_action = new granted_action(user.mind || user)
new_action.Grant(user)
@@ -119,5 +119,5 @@
/obj/item/book/granter/spell/on_reading_finished(mob/living/user)
if(!user.mind)
return
- to_chat(user, "You feel like you've got a good handle on [spell_name]!")
+ to_chat(user, SPAN_NOTICE("You feel like you've got a good handle on [spell_name]!"))
user.mind.AddSpell(new granted_spell(null))
diff --git a/code/game/objects/items/granters/action_granters/summon_cheese.dm b/code/game/objects/items/granters/action_granters/summon_cheese.dm
index 67e38c91538..523220d726b 100644
--- a/code/game/objects/items/granters/action_granters/summon_cheese.dm
+++ b/code/game/objects/items/granters/action_granters/summon_cheese.dm
@@ -21,7 +21,7 @@
)
/obj/item/book/granter/spell/summon_cheese/recoil(mob/living/user)
- to_chat(user, "[src] turns into a wedge of cheese!")
+ to_chat(user, SPAN_WARNING("[src] turns into a wedge of cheese!"))
var/obj/item/food/sliced/cheesewedge/book_cheese = new
user.drop_item()
user.put_in_hands(book_cheese)
diff --git a/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm b/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm
index 9c9a26c1325..e94513e2f19 100644
--- a/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm
+++ b/code/game/objects/items/granters/crafting_granters/_crafting_granter.dm
@@ -8,11 +8,11 @@
return
for(var/datum/crafting_recipe/crafting_recipe_type as anything in crafting_recipe_types)
user.mind.teach_crafting_recipe(crafting_recipe_type)
- to_chat(user, "You learned how to make [initial(crafting_recipe_type.name)].")
+ to_chat(user, SPAN_NOTICE("You learned how to make [initial(crafting_recipe_type.name)]."))
/obj/item/book/granter/crafting_recipe/dusting
icon_state = "book1"
/obj/item/book/granter/crafting_recipe/dusting/recoil(mob/living/user)
- to_chat(user, "The book turns to dust in your hands.")
+ to_chat(user, SPAN_NOTICE("The book turns to dust in your hands."))
qdel(src)
diff --git a/code/game/objects/items/granters/crafting_granters/combat_baking.dm b/code/game/objects/items/granters/crafting_granters/combat_baking.dm
index 6c6068eadd7..1bc75e25b36 100644
--- a/code/game/objects/items/granters/crafting_granters/combat_baking.dm
+++ b/code/game/objects/items/granters/crafting_granters/combat_baking.dm
@@ -14,6 +14,6 @@
)
/obj/item/book/granter/crafting_recipe/combat_baking/recoil(mob/living/user)
- to_chat(user, "The book dissolves into burnt flour!")
+ to_chat(user, SPAN_WARNING("The book dissolves into burnt flour!"))
new /obj/effect/decal/cleanable/ash(get_turf(src))
qdel(src)
diff --git a/code/game/objects/items/hand_item.dm b/code/game/objects/items/hand_item.dm
index a7faf81336b..bc2a815637c 100644
--- a/code/game/objects/items/hand_item.dm
+++ b/code/game/objects/items/hand_item.dm
@@ -12,7 +12,7 @@
/obj/item/slapper/attack__legacy__attackchain(mob/M, mob/living/carbon/human/user)
user.do_attack_animation(M)
playsound(M, hitsound, 50, TRUE, -1)
- user.visible_message("[user] slaps [M]!", "You slap [M]!", "You hear a slap.")
+ user.visible_message(SPAN_DANGER("[user] slaps [M]!"), SPAN_NOTICE("You slap [M]!"), SPAN_HEAR("You hear a slap."))
if(iscarbon(M))
var/mob/living/carbon/C = M
if(C.IsSleeping())
@@ -44,12 +44,12 @@
if(istype(human_user.shoes, /obj/item/clothing/shoes/cowboy))
human_user.say(pick("Hot damn!", "Hoo-wee!", "Got-dang!"))
playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 110, TRUE)
- user.visible_message("[user] slams [user.p_their()] fist down on [the_table]!", "You slam your fist down on [the_table]!")
+ user.visible_message("[SPAN_DANGER("[user] slams [user.p_their()] fist down on [the_table]!")]", "[SPAN_DANGER("You slam your fist down on [the_table]!")]")
qdel(src)
else
user.do_attack_animation(the_table)
playsound(get_turf(the_table), 'sound/effects/tableslam.ogg', 40, TRUE)
- user.visible_message("[user] slaps [user.p_their()] hand on [the_table].", "You slap your hand on [the_table].")
+ user.visible_message(SPAN_NOTICE("[user] slaps [user.p_their()] hand on [the_table]."), SPAN_NOTICE("You slap your hand on [the_table]."))
table_smacks_left--
if(table_smacks_left <= 0)
qdel(src)
diff --git a/code/game/objects/items/his_grace.dm b/code/game/objects/items/his_grace.dm
index b613609836f..fb0ce014027 100644
--- a/code/game/objects/items/his_grace.dm
+++ b/code/game/objects/items/his_grace.dm
@@ -83,7 +83,7 @@
var/mob/living/carbon/human/H = user
H.changeNext_move(CLICK_CD_MELEE)
H.do_attack_animation(attacked_obj)
- H.visible_message("[H] has hit [attacked_obj] with [src]!", "You hit [attacked_obj] with [src]!")
+ H.visible_message(SPAN_DANGER("[H] has hit [attacked_obj] with [src]!"), SPAN_DANGER("You hit [attacked_obj] with [src]!"))
var/damage = force
attacked_obj.take_damage(damage * 3, BRUTE, MELEE, TRUE, get_dir(src, user), 30) // yoinked from breaching cleaver
@@ -94,18 +94,18 @@
. = ..()
if(!awakened)
- . += "[src] is latched closed."
+ . += SPAN_HIS_GRACE("[src] is latched closed.")
return
switch(bloodthirst)
if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH)
- . += "[src] isn't very hungry. Not yet."
+ . += SPAN_HIS_GRACE("[src] isn't very hungry. Not yet.")
if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY)
- . += "[src] would like a snack."
+ . += SPAN_HIS_GRACE("[src] would like a snack.")
if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED)
- . += "[src] is quite hungry now."
+ . += SPAN_HIS_GRACE("[src] is quite hungry now.")
if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING)
- . += "[src] is openly salivating at the sight of you. Be careful."
+ . += SPAN_HIS_GRACE("[src] is openly salivating at the sight of you. Be careful.")
if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER)
. += "You walk a fine line. [src] is very close to devouring you."
if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
@@ -114,7 +114,7 @@
/obj/item/his_grace/relaymove(mob/living/user, direction) //Allows changelings, etc. to climb out of Him after they revive, provided He isn't active
if(!awakened)
user.forceMove(get_turf(src))
- user.visible_message("[user] scrambles out of [src]!", "You climb out of [src]!")
+ user.visible_message(SPAN_WARNING("[user] scrambles out of [src]!"), SPAN_NOTICE("You climb out of [src]!"))
/obj/item/his_grace/process()
if(!bloodthirst)
@@ -139,7 +139,7 @@
return
// They didn't sacrifice enough people, so this is where we go ham
- master.visible_message("[src] turns on [master]!",
+ master.visible_message(SPAN_BOLDWARNING("[src] turns on [master]!"),
"[src] turns on you!")
do_attack_animation(master, used_item = src)
master.emote("scream")
@@ -166,7 +166,7 @@
step_to(src, L)
if(Adjacent(L))
if(!L.stat)
- L.visible_message("[src] lunges at [L]!", "[src] lunges at you!")
+ L.visible_message(SPAN_WARNING("[src] lunges at [L]!"), "[src] lunges at you!")
do_attack_animation(L, null, src)
playsound(L, 'sound/weapons/smash.ogg', 50, TRUE)
playsound(L, 'sound/misc/desceration-01.ogg', 50, TRUE)
@@ -179,7 +179,7 @@
if(awakened)
return
awakened = TRUE
- user.visible_message("[src] begins to rattle. He thirsts.", "You flick [src]'s latch up. You hope this is a good idea.")
+ user.visible_message(SPAN_BOLDWARNING("[src] begins to rattle. He thirsts."), SPAN_HIS_GRACE("You flick [src]'s latch up. You hope this is a good idea."))
name = "His Grace"
desc = "A bloodthirsty artifact created by a profane rite."
gender = MALE
@@ -200,7 +200,7 @@
if(!awakened || ascended)
return
var/turf/T = get_turf(src)
- T.visible_message("[src] slowly stops rattling and falls still, His latch snapping shut.")
+ T.visible_message(SPAN_BOLDWARNING("[src] slowly stops rattling and falls still, His latch snapping shut."))
playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE)
name = initial(name)
desc = initial(desc)
@@ -216,7 +216,7 @@
if(!meal)
return
- meal.visible_message("[src] swings open and devours [meal]!", "[src] consumes you!")
+ meal.visible_message(SPAN_WARNING("[src] swings open and devours [meal]!"), "[src] consumes you!")
meal.adjustBruteLoss(300)
playsound(meal, 'sound/misc/desceration-02.ogg', 75, TRUE)
playsound(src, 'sound/items/eatfood.ogg', 100, TRUE)
@@ -261,36 +261,36 @@
switch(bloodthirst)
if(HIS_GRACE_CONSUME_OWNER to HIS_GRACE_FALL_ASLEEP)
if(HIS_GRACE_CONSUME_OWNER > prev_bloodthirst)
- master.visible_message("[src] enters a frenzy!")
+ master.visible_message(SPAN_USERDANGER("[src] enters a frenzy!"))
if(HIS_GRACE_STARVING to HIS_GRACE_CONSUME_OWNER)
set_nodrop(TRUE, master)
if(HIS_GRACE_STARVING > prev_bloodthirst)
- master.visible_message("[src] is starving!", "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\
+ master.visible_message(SPAN_BOLDWARNING("[src] is starving!"), "[src]'s bloodlust overcomes you. [src] must be fed, or you will become His meal.\
[force_bonus < 15 ? " And still, His power grows.":""]")
force_bonus = max(force_bonus, 15)
if(HIS_GRACE_FAMISHED to HIS_GRACE_STARVING)
set_nodrop(TRUE, master)
if(HIS_GRACE_FAMISHED > prev_bloodthirst)
- master.visible_message("[src] is very hungry!", "Spines sink into your hand. [src] must feed immediately.\
+ master.visible_message(SPAN_WARNING("[src] is very hungry!"), "Spines sink into your hand. [src] must feed immediately.\
[force_bonus < 10 ? " His power grows.":""]")
force_bonus = max(force_bonus, 10)
if(prev_bloodthirst >= HIS_GRACE_STARVING)
- master.visible_message("[src] is now only very hungry!", "Your bloodlust recedes.")
+ master.visible_message(SPAN_WARNING("[src] is now only very hungry!"), "Your bloodlust recedes.")
if(HIS_GRACE_HUNGRY to HIS_GRACE_FAMISHED)
if(HIS_GRACE_HUNGRY > prev_bloodthirst)
- master.visible_message("[src] is getting hungry.", "You feel [src]'s hunger within you.\
+ master.visible_message(SPAN_WARNING("[src] is getting hungry."), "You feel [src]'s hunger within you.\
[force_bonus < 5 ? " His power grows.":""]")
force_bonus = max(force_bonus, 5)
if(prev_bloodthirst >= HIS_GRACE_FAMISHED)
- master.visible_message("[src] is now only somewhat hungry.", "[src]'s hunger recedes a little...")
+ master.visible_message(SPAN_WARNING("[src] is now only somewhat hungry."), SPAN_HIS_GRACE("[src]'s hunger recedes a little..."))
if(HIS_GRACE_PECKISH to HIS_GRACE_HUNGRY)
if(HIS_GRACE_PECKISH > prev_bloodthirst)
- master.visible_message("[src] is feeling snackish.", "[src] begins to hunger.")
+ master.visible_message(SPAN_WARNING("[src] is feeling snackish."), SPAN_HIS_GRACE("[src] begins to hunger."))
if(prev_bloodthirst >= HIS_GRACE_HUNGRY)
- master.visible_message("[src] is now only a little peckish.", "[src]'s hunger recedes somewhat...")
+ master.visible_message(SPAN_WARNING("[src] is now only a little peckish."), "[src]'s hunger recedes somewhat...")
if(HIS_GRACE_SATIATED to HIS_GRACE_PECKISH)
if(prev_bloodthirst >= HIS_GRACE_PECKISH)
- master.visible_message("[src] is satiated.", "[src]'s hunger recedes...")
+ master.visible_message(SPAN_WARNING("[src] is satiated."), "[src]'s hunger recedes...")
force = initial(force) + force_bonus
/obj/item/his_grace/proc/ascend()
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index a8f6215159b..65117269fe4 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -24,7 +24,7 @@
righthand_file = 'icons/mob/inhands/items_righthand.dmi'
user.update_inv_r_hand()
user.update_inv_l_hand()
- to_chat(user, "You blow up [src] with [tank].")
+ to_chat(user, SPAN_NOTICE("You blow up [src] with [tank]."))
air_contents = tank.remove_air_volume(3)
/obj/item/latexballon/proc/burst()
diff --git a/code/game/objects/items/lighters.dm b/code/game/objects/items/lighters.dm
index ba6b4c1c0e2..b11df232f88 100644
--- a/code/game/objects/items/lighters.dm
+++ b/code/game/objects/items/lighters.dm
@@ -37,7 +37,7 @@
/obj/item/lighter/can_enter_storage(obj/item/storage/S, mob/user)
if(lit)
- to_chat(user, "[S] can't hold [src] while it's lit!")
+ to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!"))
return FALSE
else
return TRUE
@@ -57,15 +57,15 @@
/obj/item/lighter/proc/attempt_light(mob/living/user)
if(prob(75) || issilicon(user)) // Robots can never burn themselves trying to light it.
- to_chat(user, "You light [src].")
+ to_chat(user, SPAN_NOTICE("You light [src]."))
else if(HAS_TRAIT(user, TRAIT_BADASS) || HAS_TRAIT(user, TRAIT_COOL))
- to_chat(user, "[src]'s flames lick your hand as you light it, but you don't flinch.")
+ to_chat(user, SPAN_NOTICE("[src]'s flames lick your hand as you light it, but you don't flinch."))
else
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand")
if(affecting.receive_damage(0, 5)) //INFERNO
H.UpdateDamageIcon()
- to_chat(user,"You light [src], but you burn your hand in the process.")
+ to_chat(user,SPAN_NOTICE("You light [src], but you burn your hand in the process."))
if(world.time > next_on_message)
playsound(src, 'sound/items/lighter/plastic_strike.ogg', 25, TRUE)
next_on_message = world.time + 5 SECONDS
@@ -114,18 +114,18 @@
return !isnull(cig)
if(!lit)
- to_chat(user, "You need to light [src] before it can be used to light anything!")
+ to_chat(user, SPAN_WARNING("You need to light [src] before it can be used to light anything!"))
return TRUE
if(target == user)
user.visible_message(
- "After some fiddling, [user] manages to light [user.p_their()] [cig] with [src].",
- "After some fiddling, you manage to light [cig] with [src].,"
+ SPAN_NOTICE("After some fiddling, [user] manages to light [user.p_their()] [cig] with [src]."),
+ "[SPAN_NOTICE("After some fiddling, you manage to light [cig] with [src].")],"
)
else
user.visible_message(
- "After some fiddling, [user] manages to light [cig] for [target] with [src].",
- "After some fiddling, you manage to light [cig] for [target] with [src]."
+ SPAN_NOTICE("After some fiddling, [user] manages to light [cig] for [target] with [src]."),
+ SPAN_NOTICE("After some fiddling, you manage to light [cig] for [target] with [src].")
)
cig.light(user, target)
return TRUE
@@ -159,14 +159,14 @@
. = ..()
if(world.time > next_on_message)
user.visible_message(
- "Without even breaking stride, [user] flips open and lights [src] in one smooth movement.",
- "Without breaking your stride, you flip open and light [src] in one smooth movement.",
- "You hear a zippo being lit."
+ SPAN_ROSE("Without even breaking stride, [user] flips open and lights [src] in one smooth movement."),
+ SPAN_ROSE("Without breaking your stride, you flip open and light [src] in one smooth movement."),
+ SPAN_ROSE("You hear a zippo being lit.")
)
playsound(src.loc, 'sound/items/zippolight.ogg', 25, TRUE)
next_on_message = world.time + 5 SECONDS
else
- to_chat(user, "You light [src].")
+ to_chat(user, SPAN_NOTICE("You light [src]."))
/obj/item/lighter/zippo/turn_off_lighter(mob/living/user)
. = ..()
@@ -175,14 +175,14 @@
if(world.time > next_off_message)
user.visible_message(
- "You hear a quiet click as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow.",
- "You shut off [src] without even looking at what you're doing.",
- "You hear a quiet click as a zippo lighter is shut off. Wow."
+ SPAN_ROSE("You hear a quiet click as [user] shuts off [src] without even looking at what [user.p_theyre()] doing. Wow."),
+ SPAN_ROSE("You shut off [src] without even looking at what you're doing."),
+ SPAN_ROSE("You hear a quiet click as a zippo lighter is shut off. Wow.")
)
playsound(loc, 'sound/items/zippoclose.ogg', 25, TRUE)
next_off_message = world.time + 5 SECONDS
else
- to_chat(user, "You shut off [src].")
+ to_chat(user, SPAN_NOTICE("You shut off [src]."))
/obj/item/lighter/zippo/cigarette_lighter_act(mob/living/user, mob/living/target, obj/item/direct_attackby_item)
var/obj/item/clothing/mask/cigarette/cig = ..()
@@ -190,18 +190,18 @@
return !isnull(cig)
if(!lit)
- to_chat(user, "You need to light [src] before it can be used to light anything!")
+ to_chat(user, SPAN_WARNING("You need to light [src] before it can be used to light anything!"))
return TRUE
if(target == user)
user.visible_message(
- "With a single flick of [user.p_their()] wrist, [user] smoothly lights [user.p_their()] [cig.name] with [src]. Damn [user.p_theyre()] cool.",
- "With a single flick of your wrist, you smoothly light [cig] with [src]."
+ SPAN_ROSE("With a single flick of [user.p_their()] wrist, [user] smoothly lights [user.p_their()] [cig.name] with [src]. Damn [user.p_theyre()] cool."),
+ SPAN_ROSE("With a single flick of your wrist, you smoothly light [cig] with [src].")
)
else
user.visible_message(
- "[user] whips [src] out and holds it for [target]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light [cig] with. Damn [user.p_theyre()] cool.",
- "You whip [src] out and hold it for [target]. Your arm is as steady as the unflickering flame you light [cig] with."
+ SPAN_ROSE("[user] whips [src] out and holds it for [target]. [user.p_their(TRUE)] arm is as steady as the unflickering flame [user.p_they()] light [cig] with. Damn [user.p_theyre()] cool."),
+ SPAN_ROSE("You whip [src] out and hold it for [target]. Your arm is as steady as the unflickering flame you light [cig] with.")
)
cig.light(user, target)
return TRUE
@@ -312,7 +312,7 @@
/obj/item/match/can_enter_storage(obj/item/storage/S, mob/user)
if(lit)
- to_chat(user, "[S] can't hold [initial(name)] while it's lit!") // initial(name) so it doesn't say "lit" twice in a row
+ to_chat(user, SPAN_WARNING("[S] can't hold [initial(name)] while it's lit!")) // initial(name) so it doesn't say "lit" twice in a row
return FALSE
else
return TRUE
@@ -338,18 +338,18 @@
return !isnull(cig)
if(!lit)
- to_chat(user, "You need to light [src] before it can be used to light anything!")
+ to_chat(user, SPAN_WARNING("You need to light [src] before it can be used to light anything!"))
return TRUE
if(target == user)
user.visible_message(
- "[user] lights [user.p_their()] [cig] with [src].",
- "You light [cig] with [src]."
+ SPAN_NOTICE("[user] lights [user.p_their()] [cig] with [src]."),
+ SPAN_NOTICE("You light [cig] with [src].")
)
else
user.visible_message(
- "[user] holds [src] out for [target], and lights [cig].",
- "You hold [src] out for [target], and light [user.p_their()] [cig]."
+ SPAN_NOTICE("[user] holds [src] out for [target], and lights [cig]."),
+ SPAN_NOTICE("You hold [src] out for [target], and light [user.p_their()] [cig].")
)
cig.light(user, target)
matchburnout()
@@ -391,27 +391,27 @@
return !isnull(cig)
if(!lit)
- to_chat(user, "If you can see this message, please make an issue report to GitHub, something bad has happened.")
+ to_chat(user, SPAN_USERDANGER("If you can see this message, please make an issue report to GitHub, something bad has happened."))
return TRUE
if(target == user)
user.visible_message(
- "[user] spits fire at [user.p_their()] [cig.name], igniting it.",
- "You spit fire at [cig], igniting it.",
- "You hear a brief burst of flame!"
+ SPAN_ROSE("[user] spits fire at [user.p_their()] [cig.name], igniting it."),
+ SPAN_ROSE("You spit fire at [cig], igniting it."),
+ SPAN_WARNING("You hear a brief burst of flame!")
)
else
if(prob(50))
user.visible_message(
- "[user] spits fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!",
- "You spit fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!",
- "You hear a brief burst of flame!"
+ SPAN_ROSE("[user] spits fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!"),
+ SPAN_ROSE("You spit fire at [target], lighting [cig] in [target.p_their()] mouth and nearly burning [target.p_their()] face!"),
+ SPAN_WARNING("You hear a brief burst of flame!")
)
else
user.visible_message(
- "[user] spits fire at [target], burning [target.p_their()] face and lighting [cig] in the process!",
- "You spit fire at [target], burning [target.p_their()] face and lighting [cig] in the process!",
- "You hear a brief burst of flame!"
+ SPAN_ROSE("[user] spits fire at [target], burning [target.p_their()] face and lighting [cig] in the process!"),
+ SPAN_ROSE("You spit fire at [target], burning [target.p_their()] face and lighting [cig] in the process!"),
+ SPAN_WARNING("You hear a brief burst of flame!")
)
var/obj/item/organ/external/head/affecting = target.get_organ("head")
affecting.receive_damage(0, 5)
diff --git a/code/game/objects/items/mountable_frames/apc_frame.dm b/code/game/objects/items/mountable_frames/apc_frame.dm
index 386fa53a403..6010d88c9a2 100644
--- a/code/game/objects/items/mountable_frames/apc_frame.dm
+++ b/code/game/objects/items/mountable_frames/apc_frame.dm
@@ -12,22 +12,22 @@
var/turf/T = get_turf(user)
var/area/A = get_area(T)
if(A.get_apc())
- to_chat(user, "This area already has an APC!")
+ to_chat(user, SPAN_WARNING("This area already has an APC!"))
return //only one APC per area
if(!A.requires_power)
- to_chat(user, "You cannot place [src] in this area!")
+ to_chat(user, SPAN_WARNING("You cannot place [src] in this area!"))
return //can't place apcs in areas with no power requirement
for(var/obj/machinery/power/terminal/E in T)
if(E.master)
- to_chat(user, "There is another network terminal here!")
+ to_chat(user, SPAN_WARNING("There is another network terminal here!"))
return
else
var/obj/item/stack/cable_coil/C = new /obj/item/stack/cable_coil(T)
C.amount = 10
- to_chat(user, "You cut the cables and disassemble the unused power terminal.")
+ to_chat(user, SPAN_NOTICE("You cut the cables and disassemble the unused power terminal."))
qdel(E)
return TRUE
diff --git a/code/game/objects/items/mountable_frames/frames.dm b/code/game/objects/items/mountable_frames/frames.dm
index a10673b85b1..b79858409f6 100644
--- a/code/game/objects/items/mountable_frames/frames.dm
+++ b/code/game/objects/items/mountable_frames/frames.dm
@@ -29,11 +29,11 @@
var/turf/build_turf = get_turf(user)
if((mount_requirements & MOUNTED_FRAME_SIMFLOOR) && !isfloorturf(build_turf))
- to_chat(user, "[src] cannot be placed on this spot.")
+ to_chat(user, SPAN_WARNING("[src] cannot be placed on this spot."))
return FALSE
if(mount_requirements & MOUNTED_FRAME_NOSPACE)
var/area/my_area = get_area(build_turf)
if(!istype(my_area) || !my_area.requires_power || isspacearea(my_area))
- to_chat(user, "[src] cannot be placed in this area.")
+ to_chat(user, SPAN_WARNING("[src] cannot be placed in this area."))
return FALSE
return TRUE
diff --git a/code/game/objects/items/mountable_frames/mountables.dm b/code/game/objects/items/mountable_frames/mountables.dm
index 5d3d811f405..2d098a1a3e8 100644
--- a/code/game/objects/items/mountable_frames/mountables.dm
+++ b/code/game/objects/items/mountable_frames/mountables.dm
@@ -20,11 +20,11 @@
if(!allow_floor_mounting)
if(!(get_dir(on_wall, user) in GLOB.cardinal))
- to_chat(user, "You need to be standing next to [on_wall] to place [src].")
+ to_chat(user, SPAN_WARNING("You need to be standing next to [on_wall] to place [src]."))
return FALSE
if(gotwallitem(get_turf(user), get_dir(user, on_wall)))
- to_chat(user, "There's already an item on this wall!")
+ to_chat(user, SPAN_WARNING("There's already an item on this wall!"))
return FALSE
return TRUE
diff --git a/code/game/objects/items/paint_bucket.dm b/code/game/objects/items/paint_bucket.dm
index 256d1c6e45a..afad7babd34 100644
--- a/code/game/objects/items/paint_bucket.dm
+++ b/code/game/objects/items/paint_bucket.dm
@@ -19,7 +19,7 @@
if(!is_open_container())
return ITEM_INTERACT_COMPLETE
if(istype(target) && reagents.total_volume >= 5)
- user.visible_message("[target] has been splashed with something by [user]!")
+ user.visible_message(SPAN_WARNING("[target] has been splashed with something by [user]!"))
spawn(5)
reagents.reaction(target, REAGENT_TOUCH)
reagents.remove_any(5)
diff --git a/code/game/objects/items/picket_signs.dm b/code/game/objects/items/picket_signs.dm
index 1590eb77e9b..638cc610cb8 100644
--- a/code/game/objects/items/picket_signs.dm
+++ b/code/game/objects/items/picket_signs.dm
@@ -27,13 +27,13 @@
/obj/item/picket_sign/activate_self(mob/user)
. = ..()
if(!COOLDOWN_FINISHED(src, wave_cooldown))
- user.show_message("Your arm is too tired to do that again so soon!")
+ user.show_message(SPAN_WARNING("Your arm is too tired to do that again so soon!"))
return
if(label)
- user.visible_message("[user] waves around \the \"[label]\" sign.")
+ user.visible_message(SPAN_NOTICE("[user] waves around \the \"[label]\" sign."))
else
- user.visible_message("[user] waves around blank sign.")
+ user.visible_message(SPAN_NOTICE("[user] waves around blank sign."))
user.changeNext_move(CLICK_CD_MELEE)
COOLDOWN_START(src, wave_cooldown, 8 SECONDS)
@@ -45,12 +45,12 @@
return
var/turf/target_turf = target
if(target_turf == get_turf(user))
- to_chat(user, "You cannot place [src] under yourself.")
+ to_chat(user, SPAN_NOTICE("You cannot place [src] under yourself."))
return
if(locate(/obj/structure/custom_sign) in target_turf) // No putting signs on signs
- to_chat(user, "There's already a sign there!")
+ to_chat(user, SPAN_NOTICE("There's already a sign there!"))
return
- user.visible_message("[user] starts to attach [src] to [target].", "You start to attach [src] to [target].")
+ user.visible_message(SPAN_NOTICE("[user] starts to attach [src] to [target]."), SPAN_NOTICE("You start to attach [src] to [target]."))
if(do_after(user, 2 SECONDS, target = target_turf))
if(iswallturf(target))
new /obj/structure/custom_sign/wall_sign(user.loc, label, get_dir(user, target_turf))
@@ -88,7 +88,7 @@
/obj/structure/custom_sign/wrench_act(mob/living/user, obj/item/I)
. = TRUE
- user.visible_message("[user] starts to detach [src].", "You start to detach [src].")
+ user.visible_message(SPAN_NOTICE("[user] starts to detach [src]."), SPAN_NOTICE("You start to detach [src]."))
if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
return
var/obj/item/picket_sign/picket = new /obj/item/picket_sign(loc)
diff --git a/code/game/objects/items/robot/ai_upgrades.dm b/code/game/objects/items/robot/ai_upgrades.dm
index 75b3eacb3f7..f5857cb4b51 100644
--- a/code/game/objects/items/robot/ai_upgrades.dm
+++ b/code/game/objects/items/robot/ai_upgrades.dm
@@ -29,11 +29,11 @@
return
if(AI.malf_picker)
AI.malf_picker.processing_time += 50
- to_chat(AI, "[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead.")
+ to_chat(AI, SPAN_USERDANGER("[user] has attempted to upgrade you with combat software that you already possess. You gain 50 points to spend on Malfunction Modules instead."))
else
- to_chat(AI, "[user] has upgraded you with combat software!")
+ to_chat(AI, SPAN_USERDANGER("[user] has upgraded you with combat software!"))
AI.add_malf_picker()
- to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process."))
qdel(src)
@@ -47,9 +47,9 @@
return
if(AI.eyeobj)
AI.eyeobj.relay_speech = 1
- to_chat(AI, "[user] has upgraded you with surveillance software!")
+ to_chat(AI, SPAN_USERDANGER("[user] has upgraded you with surveillance software!"))
to_chat(AI, "Via a combination of hidden microphones and lip reading software, you are able to use your cameras to listen in on conversations.")
- to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process."))
qdel(src)
// AI program reset
@@ -60,7 +60,7 @@
/obj/item/ai_upgrade/ai_program_reset/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user)
if(!istype(AI))
return
- to_chat(user, "You reset [AI]'s program storage to factory settings.")
+ to_chat(user, SPAN_NOTICE("You reset [AI]'s program storage to factory settings."))
AI.reset_programs()
// Expanded Storage
@@ -71,10 +71,10 @@
/obj/item/ai_upgrade/expanded_storage/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user)
if(!istype(AI))
return
- to_chat(AI, "[user] has upgraded you an expanded storage module. Extra memory granted!")
+ to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded storage module. Extra memory granted!"))
AI.program_picker.total_memory += 2
AI.program_picker.memory += 2
- to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process."))
qdel(src)
// Expanded Network Array
@@ -85,10 +85,10 @@
/obj/item/ai_upgrade/expanded_network/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user)
if(!istype(AI))
return
- to_chat(AI, "[user] has upgraded you an expanded network array module. Extra bandwidth granted!")
+ to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded network array module. Extra bandwidth granted!"))
AI.program_picker.total_bandwidth += 1
AI.program_picker.bandwidth += 1
- to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process."))
qdel(src)
// Expanded Nanite Tank
@@ -99,9 +99,9 @@
/obj/item/ai_upgrade/expanded_tank/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user)
if(!istype(AI))
return
- to_chat(AI, "[user] has upgraded you an expanded nanite tank module. Extra nanite storage capacity granted!")
+ to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded nanite tank module. Extra nanite storage capacity granted!"))
AI.program_picker.max_nanites += 10
- to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process."))
qdel(src)
// Expanded Nanite Fabricator
@@ -112,7 +112,7 @@
/obj/item/ai_upgrade/expanded_fabricator/ai_upgrade_action(mob/living/silicon/ai/AI, mob/user)
if(!istype(AI))
return
- to_chat(AI, "[user] has upgraded you an expanded nanite fabricator module. Extra nanite regeneration granted!")
+ to_chat(AI, SPAN_NOTICE("[user] has upgraded you an expanded nanite fabricator module. Extra nanite regeneration granted!"))
AI.nanite_regen += 0.5
- to_chat(user, "You upgrade [AI]. [src] is consumed in the process.")
+ to_chat(user, SPAN_NOTICE("You upgrade [AI]. [src] is consumed in the process."))
qdel(src)
diff --git a/code/game/objects/items/robot/cyborg_gripper.dm b/code/game/objects/items/robot/cyborg_gripper.dm
index cc29b5587d5..62a3fb4eaf9 100644
--- a/code/game/objects/items/robot/cyborg_gripper.dm
+++ b/code/game/objects/items/robot/cyborg_gripper.dm
@@ -33,9 +33,9 @@
/obj/item/gripper/examine(mob/user)
. = ..()
if(!gripped_item)
- . += "[src] is empty."
+ . += SPAN_NOTICE("[src] is empty.")
return
- . += "[src] is currently holding [gripped_item]."
+ . += SPAN_NOTICE("[src] is currently holding [gripped_item].")
/obj/item/gripper/examine_more(mob/user)
. = ..()
@@ -53,10 +53,10 @@
/obj/item/gripper/proc/drop_gripped_item(mob/user, silent = FALSE)
if(!gripped_item)
- to_chat(user, "[src] is empty.")
+ to_chat(user, SPAN_WARNING("[src] is empty."))
return FALSE
if(!silent)
- to_chat(user, "You drop [gripped_item].")
+ to_chat(user, SPAN_WARNING("You drop [gripped_item]."))
gripped_item.forceMove(get_turf(src))
gripped_item = null
return TRUE
@@ -64,7 +64,7 @@
/obj/item/gripper/activate_self(mob/user)
. = ..()
if(!gripped_item)
- to_chat(user, "[src] is empty.")
+ to_chat(user, SPAN_WARNING("[src] is empty."))
return ITEM_INTERACT_COMPLETE
if(gripped_item.new_attack_chain)
@@ -107,12 +107,12 @@
var/obj/item/I = target
// Make sure the item is something the gripper can hold
if(can_hold_all_items || is_type_in_typecache(I, can_hold))
- to_chat(user, "You collect [I].")
+ to_chat(user, SPAN_NOTICE("You collect [I]."))
I.forceMove(src)
gripped_item = I
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You hold your gripper over [target], but no matter how hard you try, you cannot make yourself grab it.")
+ to_chat(user, SPAN_WARNING("You hold your gripper over [target], but no matter how hard you try, you cannot make yourself grab it."))
return ITEM_INTERACT_COMPLETE
// Everything past this point requires being able to engineer.
@@ -132,8 +132,8 @@
A.charging = APC_NOT_CHARGING
A.update_icon()
user.visible_message(
- "[user] removes the cell from [A]!",
- "You remove the cell from [A]."
+ SPAN_WARNING("[user] removes the cell from [A]!"),
+ SPAN_WARNING("You remove the cell from [A].")
)
return ITEM_INTERACT_COMPLETE
@@ -146,8 +146,8 @@
cell_charger.charging.forceMove(src)
cell_charger.removecell()
user.visible_message(
- "[user] removes the cell from [cell_charger].",
- "You remove the cell from [cell_charger]."
+ SPAN_NOTICE("[user] removes the cell from [cell_charger]."),
+ SPAN_NOTICE("You remove the cell from [cell_charger].")
)
return ITEM_INTERACT_COMPLETE
@@ -158,8 +158,8 @@
L.forceMove(src)
gripped_item = L
user.visible_message(
- "[user] removes [L] from [light].",
- "You remove [L] from [light]."
+ SPAN_NOTICE("[user] removes [L] from [light]."),
+ SPAN_NOTICE("You remove [L] from [light].")
)
return ITEM_INTERACT_COMPLETE
@@ -193,16 +193,16 @@
pickup_target.stand_up()
playsound(user.loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
user.visible_message(
- "[user] shakes [pickup_target] trying to wake [pickup_target.p_them()] up!",
- "You shake [pickup_target] trying to wake [pickup_target.p_them()] up!"
+ SPAN_NOTICE("[user] shakes [pickup_target] trying to wake [pickup_target.p_them()] up!"),
+ SPAN_NOTICE("You shake [pickup_target] trying to wake [pickup_target.p_them()] up!")
)
return
if(user.a_intent == INTENT_HELP)
if(target == user)
user.visible_message(
- "[user] gives [user.p_themselves()] a hug to make [user.p_themselves()] feel better.",
- "You give yourself a hug to make yourself feel better."
+ SPAN_NOTICE("[user] gives [user.p_themselves()] a hug to make [user.p_themselves()] feel better."),
+ SPAN_NOTICE("You give yourself a hug to make yourself feel better.")
)
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
return
@@ -216,8 +216,8 @@
if(user.zone_selected == BODY_ZONE_HEAD)
user.visible_message(
- "[user] playfully boops [target] on the head.",
- "You playfully boop [target] on the head."
+ SPAN_NOTICE("[user] playfully boops [target] on the head."),
+ SPAN_NOTICE("You playfully boop [target] on the head.")
)
user.do_attack_animation(target, ATTACK_EFFECT_BOOP)
playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
@@ -225,13 +225,13 @@
if(ishuman(target))
user.visible_message(
- "[user] hugs [target] to make [target.p_them()] feel better.",
- "You hug [target] to make [target.p_them()] feel better."
+ SPAN_NOTICE("[user] hugs [target] to make [target.p_them()] feel better."),
+ SPAN_NOTICE("You hug [target] to make [target.p_them()] feel better.")
)
else
user.visible_message(
- "[user] pets [target]!",
- "You pet [target]!"
+ SPAN_NOTICE("[user] pets [target]!"),
+ SPAN_NOTICE("You pet [target]!")
)
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
return
@@ -239,23 +239,23 @@
if(user.a_intent == INTENT_HARM && !emagged)
if(target == user)
user.visible_message(
- "[user] gives [user.p_themselves()] a firm bear-hug to make [user.p_themselves()] feel better.",
- "You give yourself a firm bear-hug to make yourself feel better."
+ SPAN_NOTICE("[user] gives [user.p_themselves()] a firm bear-hug to make [user.p_themselves()] feel better."),
+ SPAN_NOTICE("You give yourself a firm bear-hug to make yourself feel better.")
)
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
return
if(!ishuman(target) || user.zone_selected == BODY_ZONE_HEAD)
user.visible_message(
- "[user] bops [target] on the head!",
- "You bop [target] on the head!"
+ SPAN_WARNING("[user] bops [target] on the head!"),
+ SPAN_WARNING("You bop [target] on the head!")
)
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
else
user.visible_message(
- "[user] hugs [target] in a firm bear-hug! [target] looks uncomfortable...",
- "You hug [target] firmly to make [target.p_them()] feel better! [target] looks uncomfortable..."
+ SPAN_WARNING("[user] hugs [target] in a firm bear-hug! [target] looks uncomfortable..."),
+ SPAN_WARNING("You hug [target] firmly to make [target.p_them()] feel better! [target] looks uncomfortable...")
)
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
return
@@ -266,8 +266,8 @@
if(target == user)
user.visible_message(
- "[user] punches [user.p_themselves()] in the face!.",
- "You punch yourself in the face!"
+ SPAN_DANGER("[user] punches [user.p_themselves()] in the face!."),
+ SPAN_USERDANGER("You punch yourself in the face!")
)
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1)
@@ -278,8 +278,8 @@
// Try to punch them in the face... Unless it fell off or something.
if(user.zone_selected == BODY_ZONE_HEAD && target.get_organ("head"))
user.visible_message(
- "[user] punches [target] squarely in the face!",
- "You punch [target] in the face!"
+ SPAN_DANGER("[user] punches [target] squarely in the face!"),
+ SPAN_DANGER("You punch [target] in the face!")
)
var/obj/item/organ/external/head/their_face = target.get_organ("head")
user.do_attack_animation(target, ATTACK_EFFECT_PUNCH)
@@ -289,8 +289,8 @@
return
user.visible_message(
- "[user] crushes [target] in [user.p_their()] grip!",
- "You crush [target] in your grip!"
+ SPAN_DANGER("[user] crushes [target] in [user.p_their()] grip!"),
+ SPAN_DANGER("You crush [target] in your grip!")
)
playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1)
target.adjustBruteLoss(15)
diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm
index f9ebc32d6eb..b0627d86014 100644
--- a/code/game/objects/items/robot/robot_items.dm
+++ b/code/game/objects/items/robot/robot_items.dm
@@ -33,8 +33,8 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun
target.Weaken(10 SECONDS)
target.apply_effect(STUTTER, 10 SECONDS)
- target.visible_message("[user] has prodded [target] with [src]!", \
- "[user] has prodded you with [src]!")
+ target.visible_message(SPAN_DANGER("[user] has prodded [target] with [src]!"), \
+ SPAN_USERDANGER("[user] has prodded you with [src]!"))
playsound(loc, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
add_attack_logs(user, target, "Stunned with [src] ([uppertext(user.a_intent)])")
@@ -55,11 +55,11 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun
return
if(!braced)
- to_chat(user, "You brace [src] against the ground in a firm sweeping stance.")
+ to_chat(user, SPAN_NOTICE("You brace [src] against the ground in a firm sweeping stance."))
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(sweep))
RegisterSignal(src, COMSIG_CYBORG_ITEM_DEACTIVATED, PROC_REF(stow_broom))
else
- to_chat(user, "You unbrace [src] from the ground and enter a neutral stance.")
+ to_chat(user, SPAN_NOTICE("You unbrace [src] from the ground and enter a neutral stance."))
UnregisterSignal(user, COMSIG_MOVABLE_MOVED)
UnregisterSignal(src, COMSIG_CYBORG_ITEM_DEACTIVATED)
braced = !braced
@@ -76,7 +76,7 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun
/obj/item/borg/push_broom/proc/stow_broom(datum/source, mob/user)
SIGNAL_HANDLER // COMSIG_CYBORG_ITEM_DEACTIVATED
braced = FALSE
- to_chat(user, "You unbrace [src] and stow it away.")
+ to_chat(user, SPAN_NOTICE("You unbrace [src] and stow it away."))
UnregisterSignal(user, COMSIG_MOVABLE_MOVED)
UnregisterSignal(src, COMSIG_CYBORG_ITEM_DEACTIVATED)
@@ -104,7 +104,7 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun
else
garbage.Move(new_item_loc, user.dir)
if(trashed_into)
- to_chat(user, "You sweep the pile of garbage into [trashed_into].")
+ to_chat(user, SPAN_NOTICE("You sweep the pile of garbage into [trashed_into]."))
trash_amount++
if(trash_amount > 20)
break
@@ -130,9 +130,9 @@ Keeping it in for adminabuse but the malf one is /obj/item/melee/baton/borg_stun
return ..()
H.visible_message(
- "[user] sweeps [H]'s legs out from under [H.p_them()]!",
- "[user] sweeps your legs out from under you!",
- "You hear sweeping."
+ SPAN_DANGER("[user] sweeps [H]'s legs out from under [H.p_them()]!"),
+ SPAN_USERDANGER("[user] sweeps your legs out from under you!"),
+ SPAN_ITALICS("You hear sweeping.")
)
playsound(get_turf(user), 'sound/effects/hit_kick.ogg', 50, TRUE, -1)
H.apply_damage(20, BRUTE)
diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm
index 96fbb028ded..d31d1121c82 100644
--- a/code/game/objects/items/robot/robot_parts.dm
+++ b/code/game/objects/items/robot/robot_parts.dm
@@ -30,7 +30,7 @@
if(loc != user)
return
model_info = choice
- to_chat(usr, "You change the company limb model to [choice].")
+ to_chat(usr, SPAN_NOTICE("You change the company limb model to [choice]."))
/obj/item/robot_parts/l_arm
name = "left arm"
@@ -195,9 +195,9 @@
chest = W
update_icon(UPDATE_OVERLAYS)
else if(!CH.wired)
- to_chat(user, "You need to attach wires to it first!")
+ to_chat(user, SPAN_NOTICE("You need to attach wires to it first!"))
else
- to_chat(user, "You need to attach a cell to it first!")
+ to_chat(user, SPAN_NOTICE("You need to attach a cell to it first!"))
if(istype(W, /obj/item/robot_parts/head))
var/obj/item/robot_parts/head/HD = W
@@ -209,26 +209,26 @@
head = W
update_icon(UPDATE_OVERLAYS)
else
- to_chat(user, "You need to attach a flash to it first!")
+ to_chat(user, SPAN_NOTICE("You need to attach a flash to it first!"))
if(istype(W, /obj/item/multitool))
if(check_completion())
Interact(user)
else
- to_chat(user, "The endoskeleton must be assembled before debugging can begin!")
+ to_chat(user, SPAN_WARNING("The endoskeleton must be assembled before debugging can begin!"))
if(istype(W, /obj/item/mmi))
var/obj/item/mmi/M = W
if(check_completion())
if(!isturf(loc))
- to_chat(user, "You can't put [M] in, the frame has to be standing on the ground to be perfectly precise.")
+ to_chat(user, SPAN_WARNING("You can't put [M] in, the frame has to be standing on the ground to be perfectly precise."))
return
if(!M.brainmob)
- to_chat(user, "Sticking an empty [M] into the frame would sort of defeat the purpose.")
+ to_chat(user, SPAN_WARNING("Sticking an empty [M] into the frame would sort of defeat the purpose."))
return
if(jobban_isbanned(M.brainmob, "Cyborg") || jobban_isbanned(M.brainmob, "nonhumandept"))
- to_chat(user, "This [W] is not fit to serve as a cyborg!")
+ to_chat(user, SPAN_WARNING("This [W] is not fit to serve as a cyborg!"))
return
if(!M.brainmob.key)
@@ -238,17 +238,17 @@
G.notify_cloning("Somebody is trying to borg you! Re-enter your corpse if you want to be borged!", 'sound/voice/liveagain.ogg', src)
M.next_possible_ghost_ping = world.time + 30 SECONDS // Avoid spam
else
- to_chat(user, "[M] is completely unresponsive; there's no point.")
+ to_chat(user, SPAN_NOTICE("[M] is completely unresponsive; there's no point."))
return
- to_chat(user, "[M] is currently inactive. Try again later.")
+ to_chat(user, SPAN_WARNING("[M] is currently inactive. Try again later."))
return
if(M.brainmob.stat == DEAD)
- to_chat(user, "Sticking a dead [M] into the frame would sort of defeat the purpose.")
+ to_chat(user, SPAN_WARNING("Sticking a dead [M] into the frame would sort of defeat the purpose."))
return
if(M.brainmob.mind?.has_antag_datum(/datum/antagonist/rev/head))
- to_chat(user, "The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept [M].")
+ to_chat(user, SPAN_WARNING("The frame's firmware lets out a shrill sound, and flashes 'Abnormal Memory Engram'. It refuses to accept [M]."))
return
@@ -283,8 +283,8 @@
if(O.mind && O.mind.special_role && !M.syndiemmi)
O.mind.store_memory("As a cyborg, you must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.")
- to_chat(O, "You have been robotized!")
- to_chat(O, "You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead.")
+ to_chat(O, SPAN_USERDANGER("You have been robotized!"))
+ to_chat(O, SPAN_DANGER("You must obey your silicon laws and master AI above all else. Your objectives will consider you to be dead."))
O.job = "Cyborg"
@@ -296,9 +296,9 @@
O.mmi = W
if(O.mmi.syndiemmi)
O.syndiemmi_override()
- to_chat(O, "ALERT: Foreign hardware detected.")
- to_chat(O, "ERRORERRORERROR")
- to_chat(O, "Obey these laws:")
+ to_chat(O, SPAN_WARNING("ALERT: Foreign hardware detected."))
+ to_chat(O, SPAN_WARNING("ERRORERRORERROR"))
+ to_chat(O, SPAN_BOLDWARNING("Obey these laws:"))
O.laws.show_laws(O)
O.Namepick()
@@ -309,13 +309,13 @@
if(!locomotion)
O.SetLockdown(TRUE)
- to_chat(O, "Error: Servo motors unresponsive. Lockdown enabled.")
+ to_chat(O, SPAN_DANGER("Error: Servo motors unresponsive. Lockdown enabled."))
else
- to_chat(user, "The MMI must go in after everything else!")
+ to_chat(user, SPAN_WARNING("The MMI must go in after everything else!"))
if(is_pen(W))
- to_chat(user, "You need to use a multitool to name [src]!")
+ to_chat(user, SPAN_WARNING("You need to use a multitool to name [src]!"))
return
/obj/item/robot_parts/robot_suit/proc/Interact(mob/user)
@@ -336,7 +336,7 @@
return
var/obj/item/item_in_hand = living_user.get_active_hand()
if(!istype(item_in_hand, /obj/item/multitool))
- to_chat(living_user, "You need a multitool!")
+ to_chat(living_user, SPAN_WARNING("You need a multitool!"))
return
if(href_list["Name"])
@@ -351,7 +351,7 @@
else if(href_list["Master"])
forced_ai = select_active_ai(usr)
if(!forced_ai)
- to_chat(usr, "No active AIs detected.")
+ to_chat(usr, SPAN_ERROR("No active AIs detected."))
else if(href_list["Law"])
lawsync = !lawsync
@@ -370,45 +370,45 @@
..()
if(istype(W, /obj/item/stock_parts/cell))
if(cell)
- to_chat(user, "You have already inserted a cell!")
+ to_chat(user, SPAN_NOTICE("You have already inserted a cell!"))
return
else
user.drop_item()
W.forceMove(src)
cell = W
- to_chat(user, "You insert the cell!")
+ to_chat(user, SPAN_NOTICE("You insert the cell!"))
if(istype(W, /obj/item/stack/cable_coil))
if(wired)
- to_chat(user, "You have already inserted wire!")
+ to_chat(user, SPAN_NOTICE("You have already inserted wire!"))
return
else
var/obj/item/stack/cable_coil/coil = W
coil.use(1)
wired = TRUE
- to_chat(user, "You insert the wire!")
+ to_chat(user, SPAN_NOTICE("You insert the wire!"))
return
/obj/item/robot_parts/head/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params)
..()
if(istype(W, /obj/item/flash))
if(isrobot(user))
- to_chat(user, "How do you propose to do that?")
+ to_chat(user, SPAN_WARNING("How do you propose to do that?"))
return
else if(flash1 && flash2)
- to_chat(user, "You have already inserted the eyes!")
+ to_chat(user, SPAN_NOTICE("You have already inserted the eyes!"))
return
else if(flash1)
user.drop_item()
W.forceMove(src)
flash2 = W
- to_chat(user, "You insert the flash into the eye socket!")
+ to_chat(user, SPAN_NOTICE("You insert the flash into the eye socket!"))
else
user.drop_item()
W.forceMove(src)
flash1 = W
- to_chat(user, "You insert the flash into the eye socket!")
+ to_chat(user, SPAN_NOTICE("You insert the flash into the eye socket!"))
else if(istype(W, /obj/item/stock_parts/manipulator))
- to_chat(user, "You install some manipulators and modify the head, creating a functional spider-bot!")
+ to_chat(user, SPAN_NOTICE("You install some manipulators and modify the head, creating a functional spider-bot!"))
new /mob/living/basic/spiderbot(get_turf(loc))
user.drop_item()
qdel(W)
@@ -416,8 +416,8 @@
/obj/item/robot_parts/emag_act(user)
if(sabotaged)
- to_chat(user, "[src] is already sabotaged!")
+ to_chat(user, SPAN_WARNING("[src] is already sabotaged!"))
else
- to_chat(user, "You slide the emag into the dataport on [src] and short out the safeties.")
+ to_chat(user, SPAN_WARNING("You slide the emag into the dataport on [src] and short out the safeties."))
sabotaged = TRUE
return TRUE
diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm
index bdf315b867d..75525e8562e 100644
--- a/code/game/objects/items/robot/robot_upgrades.dm
+++ b/code/game/objects/items/robot/robot_upgrades.dm
@@ -32,7 +32,7 @@
if(!pre_install_checks(user, R))
return
if(!user.drop_item())
- to_chat(user, "\The [src] is stuck to your hand, you cannot install it in [R]")
+ to_chat(user, SPAN_NOTICE("\The [src] is stuck to your hand, you cannot install it in [R]"))
return FALSE
if(!do_install(R))
return
@@ -51,15 +51,15 @@
*/
/obj/item/borg/upgrade/proc/pre_install_checks(mob/user, mob/living/silicon/robot/R)
if(R.stat == DEAD)
- to_chat(user, "[src] will not function on a deceased cyborg.")
+ to_chat(user, SPAN_WARNING("[src] will not function on a deceased cyborg."))
return
if(module_type && !istype(R.module, module_type))
- to_chat(R, "Upgrade mounting error! No suitable hardpoint detected!")
- to_chat(user, "There's no mounting point for the module!")
+ to_chat(R, SPAN_WARNING("Upgrade mounting error! No suitable hardpoint detected!"))
+ to_chat(user, SPAN_WARNING("There's no mounting point for the module!"))
return
var/obj/item/borg/upgrade/u = locate(type) in R
if(u && !allow_duplicate)
- to_chat(user, "This unit already has [src] installed!")
+ to_chat(user, SPAN_NOTICE("This unit already has [src] installed!"))
return
return TRUE
@@ -128,7 +128,7 @@
/obj/item/borg/upgrade/rename/do_install(mob/living/silicon/robot/R)
if(!R.allow_rename)
- to_chat(R, "Internal diagnostic error: incompatible upgrade module detected.")
+ to_chat(R, SPAN_WARNING("Internal diagnostic error: incompatible upgrade module detected."))
return
R.notify_ai(3, R.name, heldname)
R.name = heldname
@@ -146,7 +146,7 @@
/obj/item/borg/upgrade/restart/do_install(mob/living/silicon/robot/R)
if(R.health < 0)
- to_chat(usr, "You have to repair the cyborg before using this module!")
+ to_chat(usr, SPAN_WARNING("You have to repair the cyborg before using this module!"))
return
if(!R.key)
@@ -199,10 +199,10 @@
/obj/item/borg/upgrade/selfrepair/ui_action_click()
on = !on
if(on)
- to_chat(cyborg, "You activate the self-repair module.")
+ to_chat(cyborg, SPAN_NOTICE("You activate the self-repair module."))
START_PROCESSING(SSobj, src)
else
- to_chat(cyborg, "You deactivate the self-repair module.")
+ to_chat(cyborg, SPAN_NOTICE("You deactivate the self-repair module."))
STOP_PROCESSING(SSobj, src)
update_icon(UPDATE_ICON_STATE)
@@ -225,12 +225,12 @@
if(cyborg && (cyborg.stat != DEAD) && on)
if(!cyborg.cell)
- to_chat(cyborg, "Self-repair module deactivated. Please, insert the power cell.")
+ to_chat(cyborg, SPAN_WARNING("Self-repair module deactivated. Please, insert the power cell."))
deactivate()
return
if(cyborg.cell.charge < powercost * 2)
- to_chat(cyborg, "Self-repair module deactivated. Please recharge.")
+ to_chat(cyborg, SPAN_WARNING("Self-repair module deactivated. Please recharge."))
deactivate()
return
@@ -253,7 +253,7 @@
msgmode = "critical"
else if(cyborg.health < cyborg.maxHealth)
msgmode = "normal"
- to_chat(cyborg, "Self-repair is active in [msgmode] mode.")
+ to_chat(cyborg, SPAN_NOTICE("Self-repair is active in [SPAN_BOLDNOTICE("[msgmode]")] mode."))
msg_cooldown = world.time
else
deactivate()
@@ -284,11 +284,11 @@
/obj/item/borg/upgrade/disablercooler/do_install(mob/living/silicon/robot/R)
var/obj/item/gun/energy/disabler/cyborg/T = locate() in R.module.modules
if(!T)
- to_chat(usr, "There's no disabler in this unit!")
+ to_chat(usr, SPAN_NOTICE("There's no disabler in this unit!"))
return
if(T.charge_delay <= 2)
- to_chat(R, "A cooling unit is already installed!")
- to_chat(usr, "There's no room for another cooling unit!")
+ to_chat(R, SPAN_NOTICE("A cooling unit is already installed!"))
+ to_chat(usr, SPAN_NOTICE("There's no room for another cooling unit!"))
return
T.charge_delay = max(2 , T.charge_delay - 4)
@@ -390,7 +390,7 @@
else
cyborg.floorbuffer = FALSE
cyborg.speed -= buffer_speed
- to_chat(cyborg, "The floor buffer is now [cyborg.floorbuffer ? "active" : "deactivated"].")
+ to_chat(cyborg, SPAN_NOTICE("The floor buffer is now [cyborg.floorbuffer ? "active" : "deactivated"]."))
/obj/item/borg/upgrade/floorbuffer/Destroy()
if(cyborg)
@@ -451,7 +451,7 @@
if(R.weapons_unlock)
return // They already had the safety override upgrade, or they're a cyborg type which has this by default.
R.weapons_unlock = TRUE
- to_chat(R, "Warning: safety protocols have been disabled!")
+ to_chat(R, SPAN_WARNING("Warning: safety protocols have been disabled!"))
return TRUE
/obj/item/borg/upgrade/syndie_soap
diff --git a/code/game/objects/items/roulette.dm b/code/game/objects/items/roulette.dm
index b807bf7f142..d592e1e34e8 100644
--- a/code/game/objects/items/roulette.dm
+++ b/code/game/objects/items/roulette.dm
@@ -15,7 +15,7 @@
/obj/structure/roulette/examine(mob/user)
. = ..()
- . += "Interact to customise it and spin with Alt-Click."
+ . += SPAN_NOTICE("Interact to customise it and spin with Alt-Click.")
. += "The options are: \n[options.Join(".\n")]"
/obj/structure/roulette/AltClick(mob/user)
diff --git a/code/game/objects/items/rpd.dm b/code/game/objects/items/rpd.dm
index 9db884e6d50..b18348ef104 100644
--- a/code/game/objects/items/rpd.dm
+++ b/code/game/objects/items/rpd.dm
@@ -121,7 +121,7 @@
P.dir = turn(iconrotation, -45)
else if(!iconrotation) //If user selected a rotation
P.dir = user.dir
- to_chat(user, "[src] rapidly dispenses [P]!")
+ to_chat(user, SPAN_NOTICE("[src] rapidly dispenses [P]!"))
P.label = pipe_label
automatic_wrench_down(user, P)
activate_rpd(TRUE)
@@ -134,7 +134,7 @@
P.dir = user.dir
if(!iconrotation && whatdpipe != PIPE_DISPOSALS_JUNCTION_RIGHT) //Disposals pipes are in the opposite direction to atmos pipes, so we need to flip them. Junctions don't have this quirk though
P.flip()
- to_chat(user, "[src] rapidly dispenses [P]!")
+ to_chat(user, SPAN_NOTICE("[src] rapidly dispenses [P]!"))
automatic_wrench_down(user, P)
activate_rpd(TRUE)
@@ -150,7 +150,7 @@
S.dir = iconrotation ? iconrotation : user.dir
- to_chat(user, "[src] rapidly dispenses [S]!")
+ to_chat(user, SPAN_NOTICE("[src] rapidly dispenses [S]!"))
automatic_wrench_down(user, S)
activate_rpd(TRUE)
@@ -194,10 +194,10 @@
to_chat(user, "[src] sucks up the loose pipes on [T].")
activate_rpd()
else
- to_chat(user, "There were no loose pipes on [T].")
+ to_chat(user, SPAN_NOTICE("There were no loose pipes on [T]."))
/obj/item/rpd/proc/delete_single_pipe(mob/user, obj/P) //Delete a single pipe
- to_chat(user, "[src] sucks up [P].")
+ to_chat(user, SPAN_NOTICE("[src] sucks up [P]."))
QDEL_NULL(P)
activate_rpd()
@@ -291,7 +291,7 @@
/obj/item/rpd/proc/radial_menu(mob/user)
if(!check_menu(user))
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_NOTICE("You can't do that right now!"))
return
var/list/choices = list(
RPD_MENU_ROTATE = image(icon = 'icons/obj/interface.dmi', icon_state = "rpd_rotate"),
@@ -314,7 +314,7 @@
mode = RPD_DELETE_MODE
else
return //Either nothing was selected, or an invalid mode was selected
- to_chat(user, "You set [src]'s mode.")
+ to_chat(user, SPAN_NOTICE("You set [src]'s mode."))
/obj/item/rpd/ranged_interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(!ranged)
@@ -362,7 +362,7 @@
// This is done by calling rpd_blocksusage on every /obj in the tile. If any block usage, fail at this point.
for(var/obj/O in T)
if(O.rpd_blocksusage())
- to_chat(user, "[O] blocks [src]!")
+ to_chat(user, SPAN_WARNING("[O] blocks [src]!"))
return ITEM_INTERACT_COMPLETE
// If we get here, then we're effectively acting on the turf, probably placing a pipe.
@@ -370,11 +370,11 @@
if(get_dist(src, T) >= (user.client.maxview() / 2))
message_admins("\[EXPLOIT] [key_name_admin(user)] attempted to place pipes with a BRPD via a camera console (attempted range exploit).")
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
- to_chat(user, "ERROR: \The [T] is out of [src]'s range!")
+ to_chat(user, SPAN_WARNING("ERROR: \The [T] is out of [src]'s range!"))
return ITEM_INTERACT_COMPLETE
if(!(user in hearers(12, T))) // Checks if user can hear the target turf, cause viewers doesnt work for it.
- to_chat(user, "[src] needs full visibility to determine the dispensing location.")
+ to_chat(user, SPAN_WARNING("[src] needs full visibility to determine the dispensing location."))
playsound(src, 'sound/machines/synth_no.ogg', 50, TRUE)
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/items/salvage.dm b/code/game/objects/items/salvage.dm
index da1cb6e4862..1770d5dc9cc 100644
--- a/code/game/objects/items/salvage.dm
+++ b/code/game/objects/items/salvage.dm
@@ -14,7 +14,7 @@
/obj/item/salvage/examine(mob/user)
. = ..()
- . += "You can bring this back to Cargo to sell to Central Command onboard the 'NTV Arion' Supply shuttle."
+ . += SPAN_NOTICE("You can bring this back to Cargo to sell to Central Command onboard the 'NTV Arion' Supply shuttle.")
/// Ruin Salvage, misc loot gained from looking around ruins.
diff --git a/code/game/objects/items/scratch_card.dm b/code/game/objects/items/scratch_card.dm
index 0953027edda..c729e3f4b4b 100644
--- a/code/game/objects/items/scratch_card.dm
+++ b/code/game/objects/items/scratch_card.dm
@@ -21,7 +21,7 @@
return
if(prob(winning_chance))
- to_chat(user, "Congratulations! Redeem your prize at the nearest ATM!")
+ to_chat(user, SPAN_NOTICE("Congratulations! Redeem your prize at the nearest ATM!"))
icon_state = "scard_winner"
winner = TRUE
else
@@ -35,7 +35,7 @@
/obj/item/scratch/interact_with_atom(atom/target, mob/living/user, list/modifiers)
if(!winner || !istype(target, /obj/machinery/economy/atm))
return ..()
-
+
playsound(user, 'sound/machines/ping.ogg', 50, TRUE)
target.atom_say("Congratulations for winning the lottery!")
var/obj/item/reward = new /obj/item/stack/spacecash/c1000
diff --git a/code/game/objects/items/scrolls.dm b/code/game/objects/items/scrolls.dm
index ab819ea7024..56cf21cb17d 100644
--- a/code/game/objects/items/scrolls.dm
+++ b/code/game/objects/items/scrolls.dm
@@ -18,12 +18,12 @@
/obj/item/teleportation_scroll/examine(mob/user)
. = ..()
- . += "Number of uses: [uses]. This scroll will vanish after the final use."
- . += "P.S. Don't forget to bring your gear, you'll need it to cast most spells."
+ . += SPAN_NOTICE("Number of uses: [uses]. This scroll will vanish after the final use.")
+ . += SPAN_NOTICE("P.S. Don't forget to bring your gear, you'll need it to cast most spells.")
/obj/item/teleportation_scroll/attack_self__legacy__attackchain(mob/living/user)
if(!uses) //somehow?
- to_chat(user, "You attempt to read the scroll but it disintegrates in your hand, it appears that is has run out of charges!")
+ to_chat(user, SPAN_WARNING("You attempt to read the scroll but it disintegrates in your hand, it appears that is has run out of charges!"))
qdel(src)
return
@@ -40,7 +40,7 @@
return //They can't use it if they put it in their bag or drop it and walk off, but if they are stood next to it they can.
if(thearea.tele_proof && !istype(thearea, /area/wizard_station)) //Nowhere in SSmapping.teleportlocs should be tele_proof, but better safe than sorry
- to_chat(user, "A mysterious force disrupts your arcane spell matrix, and you remain where you are.")
+ to_chat(user, SPAN_WARNING("A mysterious force disrupts your arcane spell matrix, and you remain where you are."))
return
var/datum/effect_system/smoke_spread/smoke = new
@@ -55,7 +55,7 @@
L.Add(T)
if(!length(L))
- to_chat(user, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
+ to_chat(user, SPAN_WARNING("The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry."))
return
if(user && user.buckled)
@@ -69,7 +69,7 @@
uses--
if(!uses)
- to_chat(user, "The scroll fizzles out of existence as the last of the magic within fades.")
+ to_chat(user, SPAN_WARNING("The scroll fizzles out of existence as the last of the magic within fades."))
qdel(src)
user.update_action_buttons_icon() //Update action buttons as some spells might now be castable
diff --git a/code/game/objects/items/shooting_range.dm b/code/game/objects/items/shooting_range.dm
index e5431ef8987..82475026fa1 100644
--- a/code/game/objects/items/shooting_range.dm
+++ b/code/game/objects/items/shooting_range.dm
@@ -34,7 +34,7 @@
if(!use_tool(src, user, 0, volume = I.tool_volume))
return
overlays.Cut()
- to_chat(user, "You slice off [src]'s uneven chunks of aluminium and scorch marks.")
+ to_chat(user, SPAN_NOTICE("You slice off [src]'s uneven chunks of aluminium and scorch marks."))
/obj/item/target/attack_hand(mob/user)
// taking pinned targets off!
@@ -89,7 +89,7 @@
if(LAZYLEN(overlays) <= 35 && C.GetPixel(p_x, p_y)) // if the located pixel isn't blank (null)
hp -= P.damage
if(hp <= 0)
- visible_message("[src] breaks into tiny pieces and collapses!")
+ visible_message(SPAN_DANGER("[src] breaks into tiny pieces and collapses!"))
qdel(src)
return
var/image/bullet_hole = image('icons/effects/effects.dmi', "scorch", OBJ_LAYER + 0.5)
diff --git a/code/game/objects/items/soap.dm b/code/game/objects/items/soap.dm
index 8480faadc75..987c138d90e 100644
--- a/code/game/objects/items/soap.dm
+++ b/code/game/objects/items/soap.dm
@@ -39,9 +39,9 @@
user.adjust_nutrition(5)
user.reagents.add_reagent("soapreagent", 3)
if(times_eaten < max_bites)
- to_chat(user, "You take a bite of [src]. Delicious!")
+ to_chat(user, SPAN_NOTICE("You take a bite of [src]. Delicious!"))
else
- to_chat(user, "You finish eating [src].")
+ to_chat(user, SPAN_NOTICE("You finish eating [src]."))
qdel(src)
/obj/item/soap/examine(mob/user)
@@ -49,19 +49,19 @@
if(!user.Adjacent(src) || !times_eaten)
return
if(times_eaten < (max_bites * 0.3))
- . += "[src] has bite marks on it!"
+ . += SPAN_NOTICE("[src] has bite marks on it!")
else if(times_eaten < (max_bites * 0.6))
- . += "Big chunks of [src] have been chewed off!"
+ . += SPAN_NOTICE("Big chunks of [src] have been chewed off!")
else if(times_eaten < (max_bites * 0.9))
- . += "Most of [src] has been gnawed away!"
+ . += SPAN_NOTICE("Most of [src] has been gnawed away!")
else
- . += "[src] has been eaten down to a sliver!"
+ . += SPAN_NOTICE("[src] has been eaten down to a sliver!")
/obj/item/soap/attack__legacy__attackchain(mob/target as mob, mob/user as mob)
if(target && user && ishuman(target) && ishuman(user) && !target.stat && !user.stat && user.zone_selected == "mouth")
- user.visible_message("[user] starts washing [target]'s mouth out with [name]!")
+ user.visible_message(SPAN_WARNING("[user] starts washing [target]'s mouth out with [name]!"))
if(do_after(user, cleanspeed, target = target))
- user.visible_message("[user] washes [target]'s mouth out with [name]!")
+ user.visible_message(SPAN_WARNING("[user] washes [target]'s mouth out with [name]!"))
target.reagents.add_reagent("soapreagent", 6)
return
..()
@@ -86,11 +86,11 @@
if(!proximity) return
if(user.client && (target in user.client.screen))
- to_chat(user, "You need to take that [target.name] off before 'cleaning' it.")
+ to_chat(user, SPAN_NOTICE("You need to take that [target.name] off before 'cleaning' it."))
else
- user.visible_message("[user] begins to smear [src] on \the [target.name].")
+ user.visible_message(SPAN_WARNING("[user] begins to smear [src] on \the [target.name]."))
if(do_after(user, cleanspeed, target = target))
- to_chat(user, "You 'clean' \the [target.name].")
+ to_chat(user, SPAN_NOTICE("You 'clean' \the [target.name]."))
if(issimulatedturf(target))
new /obj/effect/decal/cleanable/blood/gibs/cleangibs(target)
else if(iscarbon(target))
diff --git a/code/game/objects/items/sport.dm b/code/game/objects/items/sport.dm
index 140ca8f0929..1b8e146d8ee 100644
--- a/code/game/objects/items/sport.dm
+++ b/code/game/objects/items/sport.dm
@@ -21,7 +21,7 @@
user.unequip(src)
user.put_in_inactive_hand(src)
else
- to_chat(user, "You can't dribble to an occupied hand!")
+ to_chat(user, SPAN_WARNING("You can't dribble to an occupied hand!"))
/obj/item/beach_ball/baseball
name = "baseball"
@@ -71,16 +71,16 @@
if(istype(W, /obj/item/grab) && get_dist(src, user) <= 1)
var/obj/item/grab/G = W
if(G.state < GRAB_AGGRESSIVE)
- to_chat(user, "You need a better grip to do that!")
+ to_chat(user, SPAN_WARNING("You need a better grip to do that!"))
return ITEM_INTERACT_COMPLETE
G.affecting.forceMove(loc)
G.affecting.Weaken(10 SECONDS)
- visible_message("[G.assailant] dunks [G.affecting] into [src]!")
+ visible_message(SPAN_WARNING("[G.assailant] dunks [G.affecting] into [src]!"))
qdel(W)
return ITEM_INTERACT_COMPLETE
else if(isitem(W) && get_dist(src,user) <= 1)
user.drop_item(src)
- visible_message("[user] dunks [W] into [src]!")
+ visible_message(SPAN_NOTICE("[user] dunks [W] into [src]!"))
return ITEM_INTERACT_COMPLETE
/obj/structure/holohoop/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
@@ -88,9 +88,9 @@
var/atom/movable/thrower = throwingdatum?.get_thrower()
if(prob(50) || HAS_TRAIT(thrower, TRAIT_BADASS) || HAS_TRAIT(thrower, TRAIT_COOL))
AM.forceMove(get_turf(src))
- visible_message("Swish! [AM] lands in [src].")
+ visible_message(SPAN_NOTICE("Swish! [AM] lands in [src]."))
else
- visible_message("[AM] bounces off of [src]'s rim!")
+ visible_message(SPAN_DANGER("[AM] bounces off of [src]'s rim!"))
return ..()
else
return ..()
diff --git a/code/game/objects/items/stacks/medical_packs.dm b/code/game/objects/items/stacks/medical_packs.dm
index 1d621d18501..c92d5782d17 100644
--- a/code/game/objects/items/stacks/medical_packs.dm
+++ b/code/game/objects/items/stacks/medical_packs.dm
@@ -19,15 +19,15 @@
/obj/item/stack/medical/proc/apply(mob/living/M, mob/user)
if(get_amount() <= 0)
if(is_cyborg)
- to_chat(user, "You don't have enough energy to dispense more [singular_name]\s!")
+ to_chat(user, SPAN_WARNING("You don't have enough energy to dispense more [singular_name]\s!"))
return TRUE
if(!iscarbon(M) && !isanimal_or_basicmob(M))
- to_chat(user, "[src] cannot be applied to [M]!")
+ to_chat(user, SPAN_DANGER("[src] cannot be applied to [M]!"))
return TRUE
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_DANGER("You don't have the dexterity to do this!"))
return TRUE
@@ -39,15 +39,15 @@
return TRUE
if(!affecting)
- to_chat(user, "That limb is missing!")
+ to_chat(user, SPAN_DANGER("That limb is missing!"))
return TRUE
if(affecting.is_robotic())
- to_chat(user, "This can't be used on a robotic limb.")
+ to_chat(user, SPAN_DANGER("This can't be used on a robotic limb."))
return TRUE
if(M == user && !unique_handling)
- user.visible_message("[user] starts to apply [src] on [H]...")
+ user.visible_message(SPAN_NOTICE("[user] starts to apply [src] on [H]..."))
if(!do_mob(user, H, delay))
return TRUE
return
@@ -55,25 +55,25 @@
if(isanimal_or_basicmob(M))
var/mob/living/critter = M
if(!(critter.healable))
- to_chat(user, "You cannot use [src] on [critter]!")
+ to_chat(user, SPAN_NOTICE("You cannot use [src] on [critter]!"))
return
else if(critter.health == critter.maxHealth)
- to_chat(user, "[critter] is at full health.")
+ to_chat(user, SPAN_NOTICE("[critter] is at full health."))
return
else if(heal_brute < 1)
- to_chat(user, "[src] won't help [critter] at all.")
+ to_chat(user, SPAN_NOTICE("[src] won't help [critter] at all."))
return
critter.heal_organ_damage(heal_brute, heal_burn)
- user.visible_message("[user] applies [src] on [critter].", \
- "You apply [src] on [critter].")
+ user.visible_message(SPAN_GREEN("[user] applies [src] on [critter]."), \
+ SPAN_GREEN("You apply [src] on [critter]."))
use(1)
else
M.heal_organ_damage(heal_brute, heal_burn)
- user.visible_message("[user] applies [src] on [M].", \
- "You apply [src] on [M].")
+ user.visible_message(SPAN_GREEN("[user] applies [src] on [M]."), \
+ SPAN_GREEN("You apply [src] on [M]."))
use(1)
/obj/item/stack/medical/attack__legacy__attackchain(mob/living/M, mob/user)
@@ -85,8 +85,8 @@
/obj/item/stack/medical/proc/heal(mob/living/M, mob/user)
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected)
- user.visible_message("[user] [healverb]s the wounds on [H]'s [affecting.name].", \
- "You [healverb] the wounds on [H]'s [affecting.name]." )
+ user.visible_message(SPAN_GREEN("[user] [healverb]s the wounds on [H]'s [affecting.name]."), \
+ SPAN_GREEN("You [healverb] the wounds on [H]'s [affecting.name].") )
var/rembrute = max(0, heal_brute - affecting.brute_dam) // Maxed with 0 since heal_damage let you pass in a negative value
var/remburn = max(0, heal_burn - affecting.burn_dam) // And deduct it from their health (aka deal damage)
@@ -115,8 +115,8 @@
E.heal_damage(rembrute, remburn)
rembrute = nrembrute
remburn = nremburn
- user.visible_message("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication.", \
- "You [healverb] the wounds on [H]'s [E.name] with the remaining medication." )
+ user.visible_message(SPAN_GREEN("[user] [healverb]s the wounds on [H]'s [E.name] with the remaining medication."), \
+ SPAN_GREEN("You [healverb] the wounds on [H]'s [E.name] with the remaining medication.") )
return affecting
//Bruise Packs//
@@ -137,12 +137,12 @@
/obj/item/stack/medical/bruise_pack/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(I.sharp)
if(get_amount() < 2)
- to_chat(user, "You need at least two gauzes to do this!")
+ to_chat(user, SPAN_WARNING("You need at least two gauzes to do this!"))
return
new /obj/item/stack/sheet/cloth(user.drop_location())
user.visible_message("[user] cuts [src] into pieces of cloth with [I].", \
- "You cut [src] into pieces of cloth with [I].", \
- "You hear cutting.")
+ SPAN_NOTICE("You cut [src] into pieces of cloth with [I]."), \
+ SPAN_ITALICS("You hear cutting."))
use(2)
else
return ..()
@@ -156,7 +156,7 @@
var/obj/item/organ/external/affecting = H.get_organ(user.zone_selected)
for(var/obj/item/organ/external/E in H.bodyparts)
if(E.open >= ORGAN_ORGANIC_OPEN)
- to_chat(user, "[E] is cut open, you'll need more than a bandage!")
+ to_chat(user, SPAN_WARNING("[E] is cut open, you'll need more than a bandage!"))
return
affecting.germ_level = 0
@@ -229,12 +229,12 @@
H.UpdateDamageIcon()
use(1)
else
- to_chat(user, "[affecting] is cut open, you'll need more than some ointment!")
+ to_chat(user, SPAN_WARNING("[affecting] is cut open, you'll need more than some ointment!"))
/obj/item/stack/medical/ointment/heal(mob/living/M, mob/user)
var/obj/item/organ/external/affecting = ..()
if((affecting.status & ORGAN_BURNT) && !(affecting.status & ORGAN_SALVED))
- to_chat(affecting.owner, "As [src] is applied to your burn wound, you feel a soothing cold and relax.")
+ to_chat(affecting.owner, SPAN_NOTICE("As [src] is applied to your burn wound, you feel a soothing cold and relax."))
affecting.status |= ORGAN_SALVED
addtimer(CALLBACK(affecting, TYPE_PROC_REF(/obj/item/organ/external, remove_ointment), heal_burn), 3 MINUTES)
@@ -245,9 +245,9 @@
owner.updatehealth("permanent injury removal")
if(!perma_injury)
fix_burn_wound(update_health = FALSE)
- to_chat(owner, "You feel your [src.name]'s burn wound has fully healed, and the rest of the salve absorbs into it.")
+ to_chat(owner, SPAN_NOTICE("You feel your [src.name]'s burn wound has fully healed, and the rest of the salve absorbs into it."))
else
- to_chat(owner, "You feel your [src.name]'s burn wound has healed a little, but the applied salve has already vanished.")
+ to_chat(owner, SPAN_NOTICE("You feel your [src.name]'s burn wound has healed a little, but the applied salve has already vanished."))
/obj/item/stack/medical/ointment/advanced
name = "advanced burn kit"
@@ -322,25 +322,25 @@
var/limb = affecting.name
if(affecting.status & ORGAN_SPLINTED)
- to_chat(user, "[H]'s [limb] is already splinted!")
+ to_chat(user, SPAN_DANGER("[H]'s [limb] is already splinted!"))
if(tgui_alert(user, "Would you like to remove the splint from [H]'s [limb]?", "Splint removal", list("Yes", "No")) == "Yes")
affecting.status &= ~ORGAN_SPLINTED
H.handle_splints()
- to_chat(user, "You remove the splint from [H]'s [limb].")
+ to_chat(user, SPAN_NOTICE("You remove the splint from [H]'s [limb]."))
return TRUE
if((M == user && delay > 0) || (M != user && other_delay > 0))
- user.visible_message("[user] starts to apply [src] to [H]'s [limb].", \
- "You start to apply [src] to [H]'s [limb].", \
- "You hear something being wrapped.")
+ user.visible_message(SPAN_NOTICE("[user] starts to apply [src] to [H]'s [limb]."), \
+ SPAN_NOTICE("You start to apply [src] to [H]'s [limb]."), \
+ SPAN_NOTICE("You hear something being wrapped."))
if(M == user && !do_mob(user, H, delay))
return TRUE
else if(!do_mob(user, H, other_delay))
return TRUE
- user.visible_message("[user] applies [src] to [H]'s [limb].", \
- "You apply [src] to [H]'s [limb].")
+ user.visible_message(SPAN_NOTICE("[user] applies [src] to [H]'s [limb]."), \
+ SPAN_NOTICE("You apply [src] to [H]'s [limb]."))
affecting.status |= ORGAN_SPLINTED
affecting.splinted_count = H.step_count
@@ -385,37 +385,37 @@
. = TRUE
if(current_target)
if(current_target != target)
- to_chat(user, "You're already suturing [current_target].")
+ to_chat(user, SPAN_WARNING("You're already suturing [current_target]."))
return
// Allow for cancelling of the target by clicking again
interrupt_do_after_once(user, current_target)
- to_chat(user, "You stop [healverb] [target.i_yourself(user)].")
+ to_chat(user, SPAN_WARNING("You stop [healverb] [target.i_yourself(user)]."))
return
if(!ishuman(target) || !target.can_inject(user, TRUE))
return
var/heal_type = (heal_brute ? BRUTE : BURN)
var/heal_display = (heal_brute ? BRUTE : "burn")
if(!target.get_damage_amount(heal_type))
- to_chat(user, "[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage.")
+ to_chat(user, SPAN_WARNING("[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage."))
return
var/obj/item/organ/external/current_limb = target.get_organ(user.zone_selected)
if(!current_limb)
- to_chat(user, "That limb is missing!")
+ to_chat(user, SPAN_WARNING("That limb is missing!"))
return
if(current_limb.is_robotic())
- to_chat(user, "This can't be used on a robotic limb.")
+ to_chat(user, SPAN_WARNING("This can't be used on a robotic limb."))
return
// Swap to another limb if the current one has no damage.
if(!most_damaged_limb(target))
- to_chat(user, "[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage that could be [healverb_past].")
+ to_chat(user, SPAN_WARNING("[target.i_you(user, TRUE)] [target.i_do(user)]n't have any [heal_display] damage that could be [healverb_past]."))
return
var/mend_time = delay
if(target == user)
mend_time = self_delay
- user.visible_message("[user] begins [healverb] [target.e_themselves(user)] with [src].", "You begin [healverb] [target.i_your(user)] [current_limb.name] with [src].")
+ user.visible_message(SPAN_NOTICE("[user] begins [healverb] [target.e_themselves(user)] with [src]."), SPAN_NOTICE("You begin [healverb] [target.i_your(user)] [current_limb.name] with [src]."))
current_limb = try_swap_to_most_damaged_limb(target, user, current_limb)
if(!current_limb)
return
@@ -431,7 +431,7 @@
for(var/obj/item/organ/external/E in target.bodyparts)
if(E.open >= ORGAN_ORGANIC_OPEN)
cut_open = TRUE
- to_chat(user, "[target]'s [E.name] is cut open, you'll need more than some [name] to stop [target.i_your(user)] bleeding.")
+ to_chat(user, SPAN_WARNING("[target]'s [E.name] is cut open, you'll need more than some [name] to stop [target.i_your(user)] bleeding."))
break
if(!apply_to(target, user, current_limb, !cut_open))
break
@@ -444,7 +444,7 @@
qdel(src)
break
if(!target.get_damage_amount(heal_type))
- user.visible_message("[user] finishes [healverb] [target.e_themselves(user)] with [src].", "You finish [healverb] [target.i_yourself(user)] with [src].")
+ user.visible_message(SPAN_WARNING("[user] finishes [healverb] [target.e_themselves(user)] with [src]."), SPAN_NOTICE("You finish [healverb] [target.i_yourself(user)] with [src]."))
break
var/skip_swap = FALSE
@@ -454,12 +454,12 @@
if(new_limb && current_limb != new_limb)
current_limb = new_limb
skip_swap = TRUE
- to_chat(user, "You switch to [healverb] [target.i_your(user)] [current_limb.name].")
+ to_chat(user, SPAN_NOTICE("You switch to [healverb] [target.i_your(user)] [current_limb.name]."))
if(!skip_swap)
current_limb = try_swap_to_most_damaged_limb(target, user, current_limb)
if(!current_limb)
- user.visible_message("[user] finishes [healverb] [target.e_themselves(user)] with [src].", "You finish [healverb] [target.i_yourself(user)] with [src].")
+ user.visible_message(SPAN_WARNING("[user] finishes [healverb] [target.e_themselves(user)] with [src]."), SPAN_NOTICE("You finish [healverb] [target.i_yourself(user)] with [src]."))
break
if(!target.can_inject(user, TRUE, current_limb.limb_name))
@@ -506,7 +506,7 @@
if(!new_limb)
return
if(current_limb != new_limb)
- to_chat(user, "You begin [healverb] [target.i_your(user)] [new_limb.name].")
+ to_chat(user, SPAN_NOTICE("You begin [healverb] [target.i_your(user)] [new_limb.name]."))
if(!do_after(user, delay / 2, target = target))
return
return new_limb
@@ -514,10 +514,10 @@
/obj/item/stack/medical/suture/proc/on_target_zone_change(mob/living/carbon/human/target, mob/user)
var/obj/item/organ/external/new_limb = target.get_organ(user.zone_selected)
if(!new_limb)
- to_chat(user, "That limb is missing!")
+ to_chat(user, SPAN_WARNING("That limb is missing!"))
return FALSE
if(new_limb.is_robotic())
- to_chat(user, "This can't be used on a robotic limb.")
+ to_chat(user, SPAN_WARNING("This can't be used on a robotic limb."))
return FALSE
if(heal_brute && new_limb.brute_dam)
@@ -601,7 +601,7 @@
/obj/item/suture_needle/examine(mob/user)
. = ..()
- . += "You can add thread with the crafting menu."
+ . += SPAN_NOTICE("You can add thread with the crafting menu.")
/obj/item/biomesh
name = "biomesh"
@@ -613,4 +613,4 @@
/obj/item/biomesh/examine(mob/user)
. = ..()
- . += "It can be made into both normal and advanced regenerative mesh with the crafting menu."
+ . += SPAN_NOTICE("It can be made into both normal and advanced regenerative mesh with the crafting menu.")
diff --git a/code/game/objects/items/stacks/nanopaste.dm b/code/game/objects/items/stacks/nanopaste.dm
index a8946b749fa..2f034ecb60c 100644
--- a/code/game/objects/items/stacks/nanopaste.dm
+++ b/code/game/objects/items/stacks/nanopaste.dm
@@ -18,10 +18,10 @@
if(R.getBruteLoss() || R.getFireLoss())
R.heal_overall_damage(15, 15)
use(1)
- user.visible_message("[user] applies some [src] at [R]'s damaged areas.",\
- "You apply some [src] at [R]'s damaged areas.")
+ user.visible_message(SPAN_NOTICE("[user] applies some [src] at [R]'s damaged areas."),\
+ SPAN_NOTICE("You apply some [src] at [R]'s damaged areas."))
else
- to_chat(user, "All [R]'s systems are nominal.")
+ to_chat(user, SPAN_NOTICE("All [R]'s systems are nominal."))
if(ishuman(M)) //Repairing robotic limbs and IPCs
var/mob/living/carbon/human/H = M
@@ -30,33 +30,33 @@
if(external_limb && external_limb.is_robotic())
robotic_limb_repair(user, external_limb, H)
else
- to_chat(user, "[src] won't work on that.")
+ to_chat(user, SPAN_NOTICE("[src] won't work on that."))
/obj/item/stack/nanopaste/afterattack__legacy__attackchain(atom/A, mob/user, proximity_flag)
if(!ismecha(A) || user.a_intent == INTENT_HARM || !proximity_flag)
return
var/obj/mecha/mecha = A
if((mecha.obj_integrity >= mecha.max_integrity) && !mecha.internal_damage)
- to_chat(user, "[mecha] is at full integrity!")
+ to_chat(user, SPAN_NOTICE("[mecha] is at full integrity!"))
return
if(mecha.state == MECHA_MAINT_OFF)
- to_chat(user, "[mecha] cannot be repaired without maintenance protocols active!")
+ to_chat(user, SPAN_WARNING("[mecha] cannot be repaired without maintenance protocols active!"))
return
if(mecha.repairing)
- to_chat(user, "[mecha] is currently being repaired!")
+ to_chat(user, SPAN_NOTICE("[mecha] is currently being repaired!"))
return
if(mecha.internal_damage & MECHA_INT_TANK_BREACH)
mecha.clearInternalDamage(MECHA_INT_TANK_BREACH)
- user.visible_message("[user] repairs the damaged air tank.", "You repair the damaged air tank.")
+ user.visible_message(SPAN_NOTICE("[user] repairs the damaged air tank."), SPAN_NOTICE("You repair the damaged air tank."))
else if(mecha.obj_integrity < mecha.max_integrity)
mecha.obj_integrity += min(20, mecha.max_integrity - mecha.obj_integrity)
use(1)
- user.visible_message("[user] applies some [src] to [mecha]'s damaged areas.",\
- "You apply some [src] to [mecha]'s damaged areas.")
+ user.visible_message(SPAN_NOTICE("[user] applies some [src] to [mecha]'s damaged areas."),\
+ SPAN_NOTICE("You apply some [src] to [mecha]'s damaged areas."))
/obj/item/stack/nanopaste/proc/robotic_limb_repair(mob/user, obj/item/organ/external/external_limb, mob/living/carbon/human/H)
if(!external_limb.get_damage())
- to_chat(user, "Nothing to fix here.")
+ to_chat(user, SPAN_NOTICE("Nothing to fix here."))
return
use(1)
var/remaining_heal = 15
@@ -84,7 +84,7 @@
new_remaining_heal = max(remaining_heal - other_external_limb.get_damage(), 0)
other_external_limb.heal_damage(remaining_heal, remaining_heal, FALSE, TRUE)
remaining_heal = new_remaining_heal
- user.visible_message("[user] applies some nanite paste at [H]'s [other_external_limb.name] with [src].")
+ user.visible_message(SPAN_NOTICE("[user] applies some nanite paste at [H]'s [other_external_limb.name] with [src]."))
if(H.bleed_rate && ismachineperson(H))
H.bleed_rate = 0
@@ -94,7 +94,7 @@
/obj/item/stack/nanopaste/cyborg/attack__legacy__attackchain(mob/living/M, mob/user)
if(get_amount() <= 0)
- to_chat(user, "You don't have enough energy to dispense more [name]!")
+ to_chat(user, SPAN_WARNING("You don't have enough energy to dispense more [name]!"))
else
return ..()
diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm
index 31d77700f11..9d926147182 100644
--- a/code/game/objects/items/stacks/rods.dm
+++ b/code/game/objects/items/stacks/rods.dm
@@ -38,7 +38,7 @@ GLOBAL_LIST_INIT(rod_recipes, list (
/obj/item/stack/rods/examine(mob/user)
. = ..()
- . += "Using rods on a floor plating will install a reinforced floor. You can make reinforced glass by combining rods and normal glass sheets."
+ . += SPAN_NOTICE("Using rods on a floor plating will install a reinforced floor. You can make reinforced glass by combining rods and normal glass sheets.")
/obj/item/stack/rods/cyborg
energy_type = /datum/robot_storage/energy/rods
@@ -67,7 +67,7 @@ GLOBAL_LIST_INIT(rod_recipes, list (
/obj/item/stack/rods/welder_act(mob/user, obj/item/I)
if(get_amount() < 2)
- to_chat(user, "You need at least two rods to do this!")
+ to_chat(user, SPAN_WARNING("You need at least two rods to do this!"))
return
. = TRUE
@@ -78,9 +78,9 @@ GLOBAL_LIST_INIT(rod_recipes, list (
if(new_item.get_amount() <= 0)
// stack was moved into another one on the pile
new_item = locate() in user.loc
- visible_message("[user.name] shapes [src] into metal with [I]!", \
- "You shape [src] into metal with [I]!", \
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user.name] shapes [src] into metal with [I]!"), \
+ SPAN_NOTICE("You shape [src] into metal with [I]!"), \
+ SPAN_WARNING("You hear welding."))
var/replace = user.is_in_inactive_hand(src)
use(2)
if(get_amount() <= 0 && replace)
diff --git a/code/game/objects/items/stacks/sheets/glass.dm b/code/game/objects/items/stacks/sheets/glass.dm
index ce7efae501c..8e79d827064 100644
--- a/code/game/objects/items/stacks/sheets/glass.dm
+++ b/code/game/objects/items/stacks/sheets/glass.dm
@@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(glass_recipes, list (
/obj/item/stack/sheet/glass/examine(mob/user)
. = ..()
- . += "Using rods on a floor plating will install glass floor. You can make reinforced glass by combining rods and normal glass sheets."
+ . += SPAN_NOTICE("Using rods on a floor plating will install glass floor. You can make reinforced glass by combining rods and normal glass sheets.")
/obj/item/stack/sheet/glass/fifty
amount = 50
@@ -54,7 +54,7 @@ GLOBAL_LIST_INIT(glass_recipes, list (
. = ..()
var/mob/living/silicon/robot/robot = user
if(!istype(robot.module, /obj/item/robot_module/drone))
- . += "You can refill your glass by using your magnetic gripper on the Ore Redemption machine, or by picking it up from the ground."
+ . += SPAN_NOTICE("You can refill your glass by using your magnetic gripper on the Ore Redemption machine, or by picking it up from the ground.")
/obj/item/stack/sheet/glass/cyborg/drone
energy_type = /datum/robot_storage/energy/glass
@@ -70,7 +70,7 @@ GLOBAL_LIST_INIT(glass_recipes, list (
to_chat(user, "There is not enough wire in this coil. You need 5 lengths.")
return
CC.use(5)
- to_chat(user, "You attach wire to [src].")
+ to_chat(user, SPAN_NOTICE("You attach wire to [src]."))
new /obj/item/stack/light_w(user.loc)
use(1)
return
@@ -121,7 +121,7 @@ GLOBAL_LIST_INIT(reinforced_glass_recipes, list (
/obj/item/stack/sheet/rglass/examine(mob/user)
. = ..()
- . += "Reinforced glass is much stronger against damage than normal glass, otherwise it functions like normal glass does."
+ . += SPAN_NOTICE("Reinforced glass is much stronger against damage than normal glass, otherwise it functions like normal glass does.")
/obj/item/stack/sheet/rglass/fifty
amount = 50
@@ -145,7 +145,7 @@ GLOBAL_LIST_INIT(pglass_recipes, list (
. = ..()
var/mob/living/silicon/robot/robot = user
if(!istype(robot.module, /obj/item/robot_module/drone))
- . += "You can refill your reinforced glass by picking it up from the ground."
+ . += SPAN_NOTICE("You can refill your reinforced glass by picking it up from the ground.")
/obj/item/stack/sheet/rglass/cyborg/drone
energy_type = /datum/robot_storage/energy/rglass
diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm
index 73131fb31e1..17132e27cc1 100644
--- a/code/game/objects/items/stacks/sheets/leather.dm
+++ b/code/game/objects/items/stacks/sheets/leather.dm
@@ -195,40 +195,40 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
var/datum/armor/current_armor = C.armor
if(current_armor.getRating(MELEE) < 75)
if(!use(1))
- to_chat(user, "You dont have enough [src] for this!")
+ to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!"))
return
C.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75))
- to_chat(user, "You strengthen [target], improving its resistance against melee attacks.")
+ to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against melee attacks."))
else
- to_chat(user, "You can't improve [C] any further!")
+ to_chat(user, SPAN_WARNING("You can't improve [C] any further!"))
else if(istype(target, /obj/mecha/working/ripley))
var/obj/mecha/working/ripley/D = target
if(D.hides < HIDES_COVERED_FULL && !D.plates && !D.drake_hides)
if(!use(1))
- to_chat(user, "You dont have enough [src] for this!")
+ to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!"))
return
D.hides++
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 10, 70))
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60))
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60))
- to_chat(user, "You strengthen [target], improving its resistance against attacks.")
+ to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against attacks."))
D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS)
else
- to_chat(user, "You can't improve [D] any further!")
+ to_chat(user, SPAN_WARNING("You can't improve [D] any further!"))
else if(isrobot(target))
var/mob/living/silicon/robot/R = target
if(istype(R.module, /obj/item/robot_module/miner))
var/datum/armor/current_armor = R.armor
if(current_armor.getRating(MELEE) < 75)
if(!use(1))
- to_chat(user, "You dont have enough [src] for this!")
+ to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!"))
return
R.armor = current_armor.setRating(melee_value = min(current_armor.getRating(MELEE) + 15, 75))
- to_chat(user, "You strengthen [target], improving its resistance against melee attacks.")
+ to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against melee attacks."))
else
- to_chat(user, "You can't improve [R] any further!")
+ to_chat(user, SPAN_WARNING("You can't improve [R] any further!"))
else
- to_chat(user, "[R]'s armor can not be improved!")
+ to_chat(user, SPAN_WARNING("[R]'s armor can not be improved!"))
/obj/item/stack/sheet/animalhide/armor_plate
name = "armor plate"
@@ -246,16 +246,16 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
var/obj/mecha/working/ripley/D = target
if(D.plates < PLATES_COVERED_FULL && !D.hides && !D.drake_hides)
if(!use(1))
- to_chat(user, "You dont have enough [src] for this!")
+ to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!"))
return
D.plates++
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 7, 60))
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 4, 50))
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 4, 50))
- to_chat(user, "You strengthen [target], improving its resistance against attacks.")
+ to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against attacks."))
D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS)
else
- to_chat(user, "You can't improve [D] any further!")
+ to_chat(user, SPAN_WARNING("You can't improve [D] any further!"))
/obj/item/stack/sheet/animalhide/armor_plate/attackby__legacy__attackchain(obj/item/W, mob/user, params)
return // no steel leather for ya
@@ -276,7 +276,7 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
var/obj/mecha/working/ripley/D = target
if(D.drake_hides < DRAKE_HIDES_COVERED_FULL && !D.hides && !D.plates)
if(!use(3))
- to_chat(user, "You dont have enough [src] for this!")
+ to_chat(user, SPAN_NOTICE("You dont have enough [src] for this!"))
return
D.drake_hides++
D.max_integrity += 50
@@ -284,18 +284,18 @@ GLOBAL_LIST_INIT(sinew_recipes, list (
D.armor = D.armor.setRating(melee_value = min(D.armor.getRating(MELEE) + 13, 80))
D.armor = D.armor.setRating(bullet_value = min(D.armor.getRating(BULLET) + 7, 60))
D.armor = D.armor.setRating(laser_value = min(D.armor.getRating(LASER) + 7, 60))
- to_chat(user, "You strengthen [target], improving its resistance against attacks.")
+ to_chat(user, SPAN_NOTICE("You strengthen [target], improving its resistance against attacks."))
D.update_appearance(UPDATE_DESC|UPDATE_OVERLAYS)
else
- to_chat(user, "You can't improve [D] any further!")
+ to_chat(user, SPAN_WARNING("You can't improve [D] any further!"))
//Step one - dehairing.
/obj/item/stack/sheet/animalhide/attackby__legacy__attackchain(obj/item/W, mob/user, params)
if(W.sharp)
- user.visible_message("[user] starts cutting hair off \the [src].", "You start cutting the hair off \the [src]...", "You hear the sound of a knife rubbing against flesh.")
+ user.visible_message("[user] starts cutting hair off \the [src].", SPAN_NOTICE("You start cutting the hair off \the [src]..."), SPAN_ITALICS("You hear the sound of a knife rubbing against flesh."))
if(do_after(user, 50 * W.toolspeed, target = src))
- to_chat(user, "You cut the hair from this [src.singular_name].")
+ to_chat(user, SPAN_NOTICE("You cut the hair from this [src.singular_name]."))
//Try locating an exisitng stack on the tile and add to there if possible
for(var/obj/item/stack/sheet/hairlesshide/HS in usr.loc)
if(HS.amount < 50)
diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm
index 255b752f5e7..fcae7b373a1 100644
--- a/code/game/objects/items/stacks/sheets/mineral.dm
+++ b/code/game/objects/items/stacks/sheets/mineral.dm
@@ -201,7 +201,7 @@ GLOBAL_LIST_INIT(sandbag_recipes, list (
/obj/item/emptysandbag/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/stack/ore/glass))
var/obj/item/stack/ore/glass/G = I
- to_chat(user, "You fill the sandbag.")
+ to_chat(user, SPAN_NOTICE("You fill the sandbag."))
var/obj/item/stack/sheet/mineral/sandbags/S = new /obj/item/stack/sheet/mineral/sandbags(drop_location())
qdel(src)
if(Adjacent(user) && !issilicon(user))
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index 456e98d94fd..8b30771f729 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -147,7 +147,7 @@ GLOBAL_LIST_INIT(metal_recipes, list(
/obj/item/stack/sheet/metal/examine(mob/user)
. = ..()
- . += "Metal is used in various different construction sequences."
+ . += SPAN_NOTICE("Metal is used in various different construction sequences.")
/obj/item/stack/sheet/metal/examine_more(mob/user)
. = ..()
@@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(metal_recipes, list(
. = ..()
var/mob/living/silicon/robot/robot = user
if(!istype(robot.module, /obj/item/robot_module/drone))
- . += "You can refill your metal by using your magnetic gripper on the Ore Redemption Machine, or by picking it up from the ground."
+ . += SPAN_NOTICE("You can refill your metal by using your magnetic gripper on the Ore Redemption Machine, or by picking it up from the ground.")
/obj/item/stack/sheet/metal/cyborg/drone
energy_type = /datum/robot_storage/energy/metal
@@ -527,7 +527,7 @@ GLOBAL_LIST_INIT(cardboard_recipes, list (
var/atom/droploc = drop_location()
if(use(1))
playsound(I, 'sound/items/bikehorn.ogg', 50, TRUE, -1)
- to_chat(user, "You stamp the cardboard! It's a clown box! Honk!")
+ to_chat(user, SPAN_NOTICE("You stamp the cardboard! It's a clown box! Honk!"))
new/obj/item/storage/box/clown(droploc) //bugfix
else
. = ..()
@@ -608,12 +608,12 @@ GLOBAL_LIST_INIT(cult_recipes, list (
/obj/item/stack/sheet/runed_metal/attack_self__legacy__attackchain(mob/living/user)
if(!IS_CULTIST(user))
- to_chat(user, "Only one with forbidden knowledge could hope to work this metal...")
+ to_chat(user, SPAN_WARNING("Only one with forbidden knowledge could hope to work this metal..."))
return
if(usr.holy_check())
return
if(!is_level_reachable(user.z))
- to_chat(user, "The energies of this place interfere with the metal shaping!")
+ to_chat(user, SPAN_WARNING("The energies of this place interfere with the metal shaping!"))
return
return ..()
diff --git a/code/game/objects/items/stacks/sheets/sheets.dm b/code/game/objects/items/stacks/sheets/sheets.dm
index 130bc4aece7..1dcfdf250f9 100644
--- a/code/game/objects/items/stacks/sheets/sheets.dm
+++ b/code/game/objects/items/stacks/sheets/sheets.dm
@@ -20,4 +20,4 @@
/obj/item/stack/sheet/examine(mob/user)
. = ..()
- . += "Use it in hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it."
+ . += SPAN_NOTICE("Use it in hand to bring up the recipe menu. If you have enough sheets, click on something on the list to build it.")
diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm
index 6f616ecf07a..586e391bb9c 100644
--- a/code/game/objects/items/stacks/stack.dm
+++ b/code/game/objects/items/stacks/stack.dm
@@ -113,7 +113,7 @@
. += "There are [amount] [singular_name]\s in the stack."
else
. += "There are [amount] [name]\s in the stack."
- . +="Alt-click to take a custom amount."
+ . +=SPAN_NOTICE("Alt-click to take a custom amount.")
/obj/item/stack/proc/add(newamount)
if(is_cyborg)
@@ -175,7 +175,7 @@
var/obj/item/stack/material = thing
if(merge(material))
- to_chat(user, "Your [material.name] stack now contains [material.get_amount()] [material.singular_name]\s.")
+ to_chat(user, SPAN_NOTICE("Your [material.name] stack now contains [material.get_amount()] [material.singular_name]\s."))
/obj/item/stack/use(used, check = TRUE)
if(check && is_zero_amount(TRUE))
@@ -196,7 +196,7 @@
/obj/item/stack/AltClick(mob/living/user)
if(!istype(user) || user.incapacitated())
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return
if(!in_range(src, user) || !ishuman(usr) || amount < 1 || is_cyborg)
@@ -213,7 +213,7 @@
return
change_stack(user,stackmaterial)
- to_chat(user, "You take [stackmaterial] sheets out of the stack.")
+ to_chat(user, SPAN_NOTICE("You take [stackmaterial] sheets out of the stack."))
/obj/item/stack/ui_state(mob/user)
return GLOB.hands_state
diff --git a/code/game/objects/items/stacks/stack_recipe.dm b/code/game/objects/items/stacks/stack_recipe.dm
index 4f4cdc7dd78..86cbc140737 100644
--- a/code/game/objects/items/stacks/stack_recipe.dm
+++ b/code/game/objects/items/stacks/stack_recipe.dm
@@ -65,34 +65,34 @@
/datum/stack_recipe/proc/try_build(mob/user, obj/item/stack/material, multiplier)
if(material.get_amount() < req_amount * multiplier)
if(req_amount * multiplier > 1)
- to_chat(user, "You haven't got enough [material] to build [res_amount * multiplier] [title]\s!")
+ to_chat(user, SPAN_WARNING("You haven't got enough [material] to build [res_amount * multiplier] [title]\s!"))
else
- to_chat(user, "You haven't got enough [material] to build [title]!")
+ to_chat(user, SPAN_WARNING("You haven't got enough [material] to build [title]!"))
return FALSE
if(window_checks && !valid_window_location(get_turf(material), user.dir))
- to_chat(user, "[title] won't fit here!")
+ to_chat(user, SPAN_WARNING("[title] won't fit here!"))
return FALSE
if(one_per_turf && (locate(result_type) in get_turf(material)))
- to_chat(user, "There is another [title] here!")
+ to_chat(user, SPAN_WARNING("There is another [title] here!"))
return FALSE
if(on_floor && !issimulatedturf(get_turf(material)))
- to_chat(user, "[title] must be constructed on the floor!")
+ to_chat(user, SPAN_WARNING("[title] must be constructed on the floor!"))
return FALSE
if(on_floor_or_lattice && !(issimulatedturf(get_turf(material)) || locate(/obj/structure/lattice) in get_turf(material)))
- to_chat(user, "[title] must be constructed on the floor or lattice!")
+ to_chat(user, SPAN_WARNING("[title] must be constructed on the floor or lattice!"))
return FALSE
if(cult_structure)
if(user.holy_check())
return FALSE
if(!is_level_reachable(user.z))
- to_chat(user, "The energies of this place interfere with the metal shaping!")
+ to_chat(user, SPAN_WARNING("The energies of this place interfere with the metal shaping!"))
return FALSE
if(locate(/obj/structure/cult) in get_turf(material))
- to_chat(user, "There is a structure here!")
+ to_chat(user, SPAN_WARNING("There is a structure here!"))
return FALSE
return TRUE
@@ -100,7 +100,7 @@
/// Creates the atom defined by the recipe. Should always return the object it creates or FALSE. This proc assumes that the construction is already possible; for checking whether a recipe *can* be built before construction, use try_build()
/datum/stack_recipe/proc/do_build(mob/user, obj/item/stack/material, multiplier, atom/result)
if(time)
- to_chat(user, "Building [title]...")
+ to_chat(user, SPAN_NOTICE("Building [title]..."))
if(!do_after(user, time, target = material.loc))
return FALSE
@@ -108,11 +108,11 @@
return FALSE
if(cult_structure && locate(/obj/structure/cult) in get_turf(material)) // Check again after do_after to prevent queuing construction exploit.
- to_chat(user, "There is a structure here!")
+ to_chat(user, SPAN_WARNING("There is a structure here!"))
return FALSE
if(one_per_turf && (locate(result_type) in get_turf(material))) // Yes, we need to do this twice. Once during try_build, and when we build the actual thing, in case it was on a do-after and there's now a structure here.
- to_chat(user, "There is another [title] here!")
+ to_chat(user, SPAN_WARNING("There is another [title] here!"))
return FALSE
if(max_res_amount > 1) // Is it a stack?
diff --git a/code/game/objects/items/stacks/synthetic_skin.dm b/code/game/objects/items/stacks/synthetic_skin.dm
index 82b1378dc6c..fa1864af240 100644
--- a/code/game/objects/items/stacks/synthetic_skin.dm
+++ b/code/game/objects/items/stacks/synthetic_skin.dm
@@ -15,15 +15,15 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/external_limb = H.get_organ(user.zone_selected)
if(external_limb)
- user.visible_message("[user] starts to apply [src] on [H]'s [external_limb.name]...")
+ user.visible_message(SPAN_NOTICE("[user] starts to apply [src] on [H]'s [external_limb.name]..."))
if(!do_mob(user, H, 5 SECONDS))
return FALSE
use(1)
if(external_limb.apply_augmented_skin(skin_level))
- user.visible_message("[user] applies some [src] on [H]'s [external_limb.name].")
+ user.visible_message(SPAN_NOTICE("[user] applies some [src] on [H]'s [external_limb.name]."))
return TRUE
else
- to_chat(user, "You fail to apply a better skin cover to [H]'s [external_limb.name].")
+ to_chat(user, SPAN_WARNING("You fail to apply a better skin cover to [H]'s [external_limb.name]."))
return FALSE
/obj/item/stack/synthetic_skin/level_2
diff --git a/code/game/objects/items/stacks/telecrystal.dm b/code/game/objects/items/stacks/telecrystal.dm
index a7085531c88..7a8d402f521 100644
--- a/code/game/objects/items/stacks/telecrystal.dm
+++ b/code/game/objects/items/stacks/telecrystal.dm
@@ -16,7 +16,7 @@
if(I && I.imp_in)
I.hidden_uplink.uses += amount
use(amount)
- to_chat(user, "You press [src] onto yourself and charge your hidden uplink.")
+ to_chat(user, SPAN_NOTICE("You press [src] onto yourself and charge your hidden uplink."))
/obj/item/stack/telecrystal/afterattack__legacy__attackchain(obj/item/I, mob/user, proximity)
if(!proximity)
@@ -24,20 +24,20 @@
if(istype(I) && I.hidden_uplink && I.hidden_uplink.active) //No metagaming by using this on every PDA around just to see if it gets used up.
I.hidden_uplink.uses += amount
use(amount)
- to_chat(user, "You slot [src] into [I] and charge its internal uplink.")
+ to_chat(user, SPAN_NOTICE("You slot [src] into [I] and charge its internal uplink."))
else if(istype(I, /obj/item/cartridge/frame))
var/obj/item/cartridge/frame/cart = I
if(!cart.charges)
- to_chat(user, "[cart] is out of charges, it's refusing to accept [src]")
+ to_chat(user, SPAN_NOTICE("[cart] is out of charges, it's refusing to accept [src]"))
return
cart.telecrystals += amount
use(amount)
- to_chat(user, "You slot [src] into [cart]. The next time it's used, it will also give telecrystals")
+ to_chat(user, SPAN_NOTICE("You slot [src] into [cart]. The next time it's used, it will also give telecrystals"))
/obj/item/stack/telecrystal/examine(mob/user)
. = ..()
if(isAntag(user))
- . += "Telecrystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on inactive uplinks."
+ . += SPAN_WARNING("Telecrystals can be activated by utilizing them on devices with an actively running uplink. They will not activate on inactive uplinks.")
/obj/item/stack/telecrystal/five
amount = 5
diff --git a/code/game/objects/items/stacks/tiles/tile_mineral.dm b/code/game/objects/items/stacks/tiles/tile_mineral.dm
index 38b6d0ff0a3..e83bf3f428e 100644
--- a/code/game/objects/items/stacks/tiles/tile_mineral.dm
+++ b/code/game/objects/items/stacks/tiles/tile_mineral.dm
@@ -11,8 +11,8 @@
/obj/item/stack/tile/mineral/plasma/welder_act(mob/user, obj/item/I)
if(I.use_tool(src, user, volume = I.tool_volume))
atmos_spawn_air(LINDA_SPAWN_HEAT | LINDA_SPAWN_TOXINS, 5)
- user.visible_message("[user.name] sets the plasma tiles on fire!", \
- "You set the plasma tiles on fire!")
+ user.visible_message(SPAN_WARNING("[user.name] sets the plasma tiles on fire!"), \
+ SPAN_WARNING("You set the plasma tiles on fire!"))
message_admins("Plasma tiles ignited by [key_name_admin(user)](?) (FLW) in ([x],[y],[z] - JMP)",0,1)
log_game("Plasma tiles ignited by [key_name(user)] in ([x],[y],[z])")
investigate_log("was ignited by [key_name(user)]",INVESTIGATE_ATMOS)
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index 9cc44fa6462..882e8d1f79f 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -21,17 +21,17 @@
/obj/item/stack/tile/welder_act(mob/user, obj/item/I)
if(get_amount() < 4)
- to_chat(user, "You need at least four tiles to do this!")
+ to_chat(user, SPAN_WARNING("You need at least four tiles to do this!"))
return
. = TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
- to_chat(user, "You can not reform this!")
+ to_chat(user, SPAN_WARNING("You can not reform this!"))
return
if(mineralType == "metal")
var/obj/item/stack/sheet/metal/new_item = new(user.loc)
user.visible_message("[user.name] shaped [src] into metal with the welding tool.", \
- "You shaped [src] into metal with the welding tool.", \
- "You hear welding.")
+ SPAN_NOTICE("You shaped [src] into metal with the welding tool."), \
+ SPAN_ITALICS("You hear welding."))
var/obj/item/stack/rods/R = src
src = null
var/replace = (user.get_inactive_hand()==R)
diff --git a/code/game/objects/items/staff.dm b/code/game/objects/items/staff.dm
index 4f231bda998..9de2cf6c2b5 100644
--- a/code/game/objects/items/staff.dm
+++ b/code/game/objects/items/staff.dm
@@ -35,7 +35,7 @@
ADD_TRAIT(user, TRAIT_FLYING, "broomstick")
user.say("QUID 'ITCH")
animate(user, pixel_y = pixel_y + 10 , time = 10, loop = 1, easing = SINE_EASING)
- to_chat(user, "You hold [src] between your legs.")
+ to_chat(user, SPAN_NOTICE("You hold [src] between your legs."))
/obj/item/staff/broom/proc/unwield(obj/item/source, mob/user)
attack_verb = list("bludgeoned", "whacked", "cleaned")
diff --git a/code/game/objects/items/stock_parts.dm b/code/game/objects/items/stock_parts.dm
index e25c9b845e6..acc3457d98d 100644
--- a/code/game/objects/items/stock_parts.dm
+++ b/code/game/objects/items/stock_parts.dm
@@ -36,7 +36,7 @@
var/obj/item/reagent_containers/glass/beaker/B = I
if(B.reagents?.total_volume)
if(!stop_messages)
- to_chat(usr, "[src] cannot hold [I] while it contains liquid.")
+ to_chat(usr, SPAN_WARNING("[src] cannot hold [I] while it contains liquid."))
return FALSE
return ..()
@@ -50,7 +50,7 @@
if(get_dist(user, M) > (user.client.maxview() / 2))
message_admins("\[EXPLOIT] [key_name_admin(user)] attempted to upgrade machinery with a BRPED via a camera console (attempted range exploit).")
playsound(src, 'sound/machines/synth_no.ogg', 15, TRUE)
- to_chat(user, "ERROR: [M] is out of [src]'s range!")
+ to_chat(user, SPAN_NOTICE("ERROR: [M] is out of [src]'s range!"))
return
if(M.component_parts)
diff --git a/code/game/objects/items/storage/bible.dm b/code/game/objects/items/storage/bible.dm
index 8f06a4c54cb..726d3f399ce 100644
--- a/code/game/objects/items/storage/bible.dm
+++ b/code/game/objects/items/storage/bible.dm
@@ -37,15 +37,15 @@
)
/obj/item/storage/bible/suicide_act(mob/user)
- user.visible_message("[user] stares into [name] and attempts to transcend understanding of the universe!")
+ user.visible_message(SPAN_SUICIDE("[user] stares into [name] and attempts to transcend understanding of the universe!"))
user.dust()
return OBLITERATION
/obj/item/storage/bible/fart_act(mob/living/M)
if(QDELETED(M) || M.stat == DEAD)
return
- M.visible_message("[M] farts on \the [name]!")
- M.visible_message("A mysterious force smites [M]!")
+ M.visible_message(SPAN_DANGER("[M] farts on \the [name]!"))
+ M.visible_message(SPAN_USERDANGER("A mysterious force smites [M]!"))
M.suiciding = TRUE
do_sparks(3, 1, M)
M.gib()
@@ -72,15 +72,15 @@
add_attack_logs(user, M, "Hit with [src]")
if(!(ishuman(user) || SSticker) && SSticker.mode.name != "monkey")
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return
if(!HAS_MIND_TRAIT(user, TRAIT_HOLY))
- to_chat(user, "The book sizzles in your hands.")
+ to_chat(user, SPAN_WARNING("The book sizzles in your hands."))
user.take_organ_damage(0, 10)
return
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- to_chat(user, "[src] slips out of your hand and hits your head.")
+ to_chat(user, SPAN_WARNING("[src] slips out of your hand and hits your head."))
user.take_organ_damage(10)
user.Paralyse(40 SECONDS)
return
@@ -89,16 +89,16 @@
var/mob/living/carbon/human/H = M
if(prob(60))
bless(H)
- H.visible_message("[user] heals [H == user ? "[user.p_themselves()]" : "[H]"] with the power of [deity_name]!",
- "May the power of [deity_name] compel you to be healed!")
+ H.visible_message(SPAN_DANGER("[user] heals [H == user ? "[user.p_themselves()]" : "[H]"] with the power of [deity_name]!"),
+ SPAN_DANGER("May the power of [deity_name] compel you to be healed!"))
playsound(loc, "punch", 25, TRUE, -1)
else
M.adjustBrainLoss(10)
- to_chat(M, "You feel dumber.")
- H.visible_message("[user] beats [H == user ? "[user.p_themselves()]" : "[H]"] over the head with [src]!")
+ to_chat(M, SPAN_WARNING("You feel dumber."))
+ H.visible_message(SPAN_DANGER("[user] beats [H == user ? "[user.p_themselves()]" : "[H]"] over the head with [src]!"))
playsound(src.loc, "punch", 25, TRUE, -1)
else
- M.visible_message("[user] smacks [M]'s lifeless corpse with [src].")
+ M.visible_message(SPAN_DANGER("[user] smacks [M]'s lifeless corpse with [src]."))
playsound(src.loc, "punch", 25, TRUE, -1)
@@ -107,25 +107,25 @@
return
if(isfloorturf(target))
- to_chat(user, "You hit the floor with the bible.")
+ to_chat(user, SPAN_NOTICE("You hit the floor with the bible."))
if(HAS_MIND_TRAIT(user, TRAIT_HOLY))
for(var/obj/O in target)
O.cult_reveal()
if(istype(target, /obj/machinery/door/airlock))
- to_chat(user, "You hit the airlock with the bible.")
+ to_chat(user, SPAN_NOTICE("You hit the airlock with the bible."))
if(HAS_MIND_TRAIT(user, TRAIT_HOLY))
var/obj/airlock = target
airlock.cult_reveal()
if(HAS_MIND_TRAIT(user, TRAIT_HOLY) && target.reagents)
if(target.reagents.has_reagent("water")) //blesses all the water in the holder
- to_chat(user, "You bless [target].")
+ to_chat(user, SPAN_NOTICE("You bless [target]."))
var/water2holy = target.reagents.get_reagent_amount("water")
target.reagents.del_reagent("water")
target.reagents.add_reagent("holywater", water2holy)
if(target.reagents.has_reagent("unholywater")) //yeah yeah, copy pasted code - sue me
- to_chat(user, "You purify [target].")
+ to_chat(user, SPAN_NOTICE("You purify [target]."))
var/unholy2clean = target.reagents.get_reagent_amount("unholywater")
target.reagents.del_reagent("unholywater")
target.reagents.add_reagent("holywater", unholy2clean)
diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm
index 97f666b8831..d63f173953b 100644
--- a/code/game/objects/items/storage/fancy.dm
+++ b/code/game/objects/items/storage/fancy.dm
@@ -233,7 +233,7 @@
/obj/item/storage/fancy/cigarettes/examine(mob/user)
. = ..()
if(cigarette_slogan)
- . += "\"[cigarette_slogan]\""
+ . += SPAN_NOTICE("\"[cigarette_slogan]\"")
/obj/item/storage/fancy/cigarettes/populate_contents()
for(var/I in 1 to storage_slots)
@@ -255,16 +255,16 @@
M.equip_to_slot_if_possible(C, ITEM_SLOT_MASK)
if(M != user)
user.visible_message(
- "[user] takes \a [C.name] out of [src] and gives it to [M].",
- "You take \a [C.name] out of [src] and give it to [M]."
+ SPAN_NOTICE("[user] takes \a [C.name] out of [src] and gives it to [M]."),
+ SPAN_NOTICE("You take \a [C.name] out of [src] and give it to [M].")
)
else
- to_chat(user, "You take \a [C.name] out of the pack.")
+ to_chat(user, SPAN_NOTICE("You take \a [C.name] out of the pack."))
update_icon()
got_cig = TRUE
break
if(!got_cig)
- to_chat(user, "There are no smokables in the pack!")
+ to_chat(user, SPAN_WARNING("There are no smokables in the pack!"))
else
..()
@@ -273,13 +273,13 @@
var/obj/item/match/M = W
if(M.lit)
if(!stop_messages)
- to_chat(usr, "Putting a lit [W] in [src] probably isn't a good idea.")
+ to_chat(usr, SPAN_NOTICE("Putting a lit [W] in [src] probably isn't a good idea."))
return FALSE
if(istype(W, /obj/item/lighter))
var/obj/item/lighter/L = W
if(L.lit)
if(!stop_messages)
- to_chat(usr, "Putting [W] in [src] while lit probably isn't a good idea.")
+ to_chat(usr, SPAN_NOTICE("Putting [W] in [src] while lit probably isn't a good idea."))
return FALSE
//if we get this far, handle the insertion checks as normal
. = ..()
@@ -456,7 +456,7 @@
var/obj/item/clothing/mask/cigarette/cigar/cigar = contents[I]
var/icon/new_cigar_icon = icon('icons/obj/cigarettes.dmi', "[initial(cigar.icon_state)]_[I]")
. += new_cigar_icon
-
+
/obj/item/storage/fancy/cigars/update_icon_state()
icon_state = "[initial(icon_state)]_open"
@@ -490,7 +490,7 @@
var/obj/item/clothing/mask/cigarette/cigar/cigar = contents[I]
var/icon/new_cigar_icon = icon('icons/obj/cigarettes.dmi', "h_[initial(cigar.icon_state)]")
. += new_cigar_icon
-
+
// MARK: Vial Box
/obj/item/storage/fancy/vials
name = "vial storage box"
diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm
index 474995a6873..a853338d66d 100644
--- a/code/game/objects/items/storage/firstaid.dm
+++ b/code/game/objects/items/storage/firstaid.dm
@@ -297,7 +297,7 @@
/obj/item/storage/pill_bottle/attack__legacy__attackchain(mob/M, mob/user)
if(iscarbon(M) && length(contents))
if(applying_meds)
- to_chat(user, "You are already applying meds.")
+ to_chat(user, SPAN_WARNING("You are already applying meds."))
return
applying_meds = TRUE
for(var/obj/item/reagent_containers/P in contents)
@@ -345,13 +345,13 @@
var/mob/living/carbon/C = over_object
if(loc == C && src == C.get_active_hand())
if(!length(contents))
- to_chat(C, "There is nothing in [src]!")
+ to_chat(C, SPAN_NOTICE("There is nothing in [src]!"))
return
- C.visible_message("[C] [rapid_intake_message]")
+ C.visible_message(SPAN_DANGER("[C] [rapid_intake_message]"))
if(do_mob(C, C, 100)) // 10 seconds
for(var/obj/item/reagent_containers/pill/P in contents)
P.interact_with_atom(C, C)
- C.visible_message("[C] [rapid_post_instake_message]")
+ C.visible_message(SPAN_DANGER("[C] [rapid_post_instake_message]"))
return
return ..()
diff --git a/code/game/objects/items/storage/storage_base.dm b/code/game/objects/items/storage/storage_base.dm
index 0b1ac60de8b..c9256b73752 100644
--- a/code/game/objects/items/storage/storage_base.dm
+++ b/code/game/objects/items/storage/storage_base.dm
@@ -87,9 +87,9 @@
/obj/item/storage/examine(mob/user)
. = ..()
if(allow_quick_empty)
- . += "You can use [src] in hand to empty it's entire contents."
+ . += SPAN_NOTICE("You can use [src] in hand to empty it's entire contents.")
if(allow_quick_gather)
- . += "You can Alt-Shift-Click [src] to switch it's gathering method."
+ . += SPAN_NOTICE("You can Alt-Shift-Click [src] to switch it's gathering method.")
/obj/item/storage/forceMove(atom/destination)
. = ..()
@@ -152,8 +152,8 @@
return // Something happened while the player was thinking
hide_from(M)
M.face_atom(over_object)
- M.visible_message("[M] empties [src] onto [over_object].",
- "You empty [src] onto [over_object].")
+ M.visible_message(SPAN_NOTICE("[M] empties [src] onto [over_object]."),
+ SPAN_NOTICE("You empty [src] onto [over_object]."))
var/list/params_list = params2list(params)
var/x_offset = text2num(params_list["icon-x"]) - 16
var/y_offset = text2num(params_list["icon-y"]) - 16
@@ -398,18 +398,18 @@
if(length(contents) >= storage_slots)
if(!stop_messages)
- to_chat(usr, "[I] won't fit in [src], make some space!")
+ to_chat(usr, SPAN_WARNING("[I] won't fit in [src], make some space!"))
return FALSE //Storage item is full
if(length(can_hold))
if(!is_type_in_typecache(I, can_hold))
if(!stop_messages)
- to_chat(usr, "[src] cannot hold [I].")
+ to_chat(usr, SPAN_WARNING("[src] cannot hold [I]."))
return FALSE
if(is_type_in_typecache(I, cant_hold)) //Check for specific items which this container can't hold.
if(!stop_messages)
- to_chat(usr, "[src] cannot hold [I].")
+ to_chat(usr, SPAN_WARNING("[src] cannot hold [I]."))
return FALSE
if(length(cant_hold) && isstorage(I)) //Checks nested storage contents for restricted objects, we don't want people sneaking the NAD in via boxes now, do we?
@@ -417,7 +417,7 @@
for(var/obj/A in S.return_inv())
if(is_type_in_typecache(A, cant_hold))
if(!stop_messages)
- to_chat(usr, "[src] rejects [I] because of its contents.")
+ to_chat(usr, SPAN_WARNING("[src] rejects [I] because of its contents."))
return FALSE
if(I.w_class > max_w_class)
@@ -426,11 +426,11 @@
return TRUE
else
if(!stop_messages)
- to_chat(usr, "[I] is too big for [src].")
+ to_chat(usr, SPAN_WARNING("[I] is too big for [src]."))
return FALSE
else
if(!stop_messages)
- to_chat(usr, "[I] is too big for [src].")
+ to_chat(usr, SPAN_WARNING("[I] is too big for [src]."))
return FALSE
var/sum_w_class = I.w_class
@@ -439,17 +439,17 @@
if(sum_w_class > max_combined_w_class)
if(!stop_messages)
- to_chat(usr, "[src] is full, make some space.")
+ to_chat(usr, SPAN_WARNING("[src] is full, make some space."))
return FALSE
if(I.w_class >= w_class && isstorage(I))
if(!allow_same_size) //BoHs should be able to hold backpacks again. The override for putting a BoH in a BoH is in backpack.dm.
if(!stop_messages)
- to_chat(usr, "[src] cannot hold [I] as it's a storage item of the same size.")
+ to_chat(usr, SPAN_WARNING("[src] cannot hold [I] as it's a storage item of the same size."))
return FALSE //To prevent the stacking of same sized storage items.
if(I.flags & NODROP) //SHOULD be handled in unEquip, but better safe than sorry.
- to_chat(usr, "[I] is stuck to your hand, you can't put it in [src]")
+ to_chat(usr, SPAN_WARNING("[I] is stuck to your hand, you can't put it in [src]"))
return FALSE
return TRUE
@@ -498,17 +498,17 @@
if(!prevent_warning)
// the item's user will always get a notification
- to_chat(user, "You put [I] into [src].")
+ to_chat(user, SPAN_NOTICE("You put [I] into [src]."))
// if the item less than normal sized, only people within 1 tile get the message, otherwise, everybody in view gets it
if(I.w_class < WEIGHT_CLASS_NORMAL)
for(var/mob/M in orange(1, user))
if(in_range(M, user))
- M.show_message("[user] puts [I] into [src].")
+ M.show_message(SPAN_NOTICE("[user] puts [I] into [src]."))
else
// restrict player list to include only those in view
for(var/mob/M in oviewers(7, user))
- M.show_message("[user] puts [I] into [src].")
+ M.show_message(SPAN_NOTICE("[user] puts [I] into [src]."))
orient2hud(user)
if(user)
if(user.s_active)
@@ -675,7 +675,7 @@
/obj/item/storage/proc/fold(mob/user)
if(length(contents))
- to_chat(user, "You can't fold this [name] with items still inside!")
+ to_chat(user, SPAN_WARNING("You can't fold this [name] with items still inside!"))
return
if(!ispath(foldable))
return
@@ -689,7 +689,7 @@
if(!found) // User is too far away
return
- to_chat(user, "You fold [src] flat.")
+ to_chat(user, SPAN_NOTICE("You fold [src] flat."))
var/obj/item/stack/I = new foldable(get_turf(src), foldable_amt)
user.put_in_hands(I)
qdel(src)
diff --git a/code/game/objects/items/tanks/jetpack.dm b/code/game/objects/items/tanks/jetpack.dm
index 7bee5dfce90..c6cbd956c0d 100644
--- a/code/game/objects/items/tanks/jetpack.dm
+++ b/code/game/objects/items/tanks/jetpack.dm
@@ -67,7 +67,7 @@
/obj/item/tank/jetpack/proc/toggle_stabilization(mob/user)
if(on)
configure_jetpack(!stabilize)
- to_chat(user, "You turn [src]'s stabilization [stabilize ? "on" : "off"].")
+ to_chat(user, SPAN_NOTICE("You turn [src]'s stabilization [stabilize ? "on" : "off"]."))
/obj/item/tank/jetpack/proc/cycle(mob/user)
if(user.incapacitated())
@@ -75,10 +75,10 @@
if(!on)
turn_on(user)
- to_chat(user, "You turn the jetpack on.")
+ to_chat(user, SPAN_NOTICE("You turn the jetpack on."))
else
turn_off(user)
- to_chat(user, "You turn the jetpack off.")
+ to_chat(user, SPAN_NOTICE("You turn the jetpack off."))
update_action_buttons()
/obj/item/tank/jetpack/proc/turn_on(mob/user)
@@ -126,7 +126,7 @@
/obj/item/tank/jetpack/improvised/allow_thrust(num, mob/living/user)
if(rand(0, 250) == 0)
- to_chat(user, "You feel your jetpack's engines cut out.")
+ to_chat(user, SPAN_NOTICE("You feel your jetpack's engines cut out."))
turn_off(user)
return
return ..()
@@ -205,12 +205,12 @@
/obj/item/tank/jetpack/suit/cycle(mob/user)
if(!istype(loc, /obj/item/clothing/suit/space/hardsuit))
- to_chat(user, "[src] must be connected to a hardsuit!")
+ to_chat(user, SPAN_WARNING("[src] must be connected to a hardsuit!"))
return
var/mob/living/carbon/human/H = user
if(!istype(H.s_store, /obj/item/tank))
- to_chat(user, "You need a tank in your suit storage!")
+ to_chat(user, SPAN_WARNING("You need a tank in your suit storage!"))
return
..()
diff --git a/code/game/objects/items/tanks/watertank.dm b/code/game/objects/items/tanks/watertank.dm
index d967f50bd51..9278345ac16 100644
--- a/code/game/objects/items/tanks/watertank.dm
+++ b/code/game/objects/items/tanks/watertank.dm
@@ -39,7 +39,7 @@
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
return
if(user.get_item_by_slot(ITEM_SLOT_BACK) != src)
- to_chat(user, "The watertank needs to be on your back to use.")
+ to_chat(user, SPAN_NOTICE("The watertank needs to be on your back to use."))
return
on = !on
if(on)
@@ -49,7 +49,7 @@
//Detach the nozzle into the user's hands
if(!user.put_in_hands(noz))
on = FALSE
- to_chat(user, "You need a free hand to hold the mister.")
+ to_chat(user, SPAN_NOTICE("You need a free hand to hold the mister."))
return
noz.forceMove(user)
else
@@ -130,7 +130,7 @@
/obj/item/reagent_containers/spray/mister/dropped(mob/user as mob)
..()
- to_chat(user, "The mister snaps back onto the watertank.")
+ to_chat(user, SPAN_NOTICE("The mister snaps back onto the watertank."))
tank.on = FALSE
loc = tank
@@ -228,11 +228,11 @@
. = ..()
switch(nozzle_mode)
if(EXTINGUISHER)
- . += "[src] is currently set to extinguishing mode."
+ . += SPAN_NOTICE("[src] is currently set to extinguishing mode.")
if(NANOFROST)
- . += "[src] is currently set to nanofrost mode."
+ . += SPAN_NOTICE("[src] is currently set to nanofrost mode.")
if(METAL_FOAM)
- . += "[src] is currently set to metal foam mode."
+ . += SPAN_NOTICE("[src] is currently set to metal foam mode.")
/obj/item/extinguisher/mini/nozzle/Initialize(mapload)
if(!check_tank_exists(loc, src))
@@ -286,7 +286,7 @@
if(istype(tank, /obj/item/mod/module/firefighting_tank))
return
- to_chat(user, "The nozzle snaps back onto the tank!")
+ to_chat(user, SPAN_NOTICE("The nozzle snaps back onto the tank!"))
tank.on = FALSE
loc = tank
@@ -298,11 +298,11 @@
switch(nozzle_mode)
if(NANOFROST)
if(reagents.total_volume < 100)
- to_chat(user, "You need at least 100 units of water to use the nanofrost launcher!")
+ to_chat(user, SPAN_WARNING("You need at least 100 units of water to use the nanofrost launcher!"))
return
if(COOLDOWN_TIMELEFT(src, nanofrost_cooldown))
- to_chat(user, "The nanofrost launcher is still recharging!")
+ to_chat(user, SPAN_WARNING("The nanofrost launcher is still recharging!"))
return
COOLDOWN_START(src, nanofrost_cooldown, nanofrost_cooldown_time)
@@ -320,11 +320,11 @@
return
if(metal_synthesis_charge <= 0)
- to_chat(user, "Metal foam mix is still being synthesized!")
+ to_chat(user, SPAN_WARNING("Metal foam mix is still being synthesized!"))
return
if(reagents.total_volume < 10)
- to_chat(user, "You need at least 10 units of water to use the metal foam synthesizer!")
+ to_chat(user, SPAN_WARNING("You need at least 10 units of water to use the metal foam synthesizer!"))
return
var/obj/effect/particle_effect/foam/metal/foam = new /obj/effect/particle_effect/foam/metal(get_turf(A), TRUE)
diff --git a/code/game/objects/items/tape.dm b/code/game/objects/items/tape.dm
index 13a6ab38e09..551acbbc12a 100644
--- a/code/game/objects/items/tape.dm
+++ b/code/game/objects/items/tape.dm
@@ -24,19 +24,19 @@
if(!M.check_has_mouth())
to_chat(user, "[M.p_they(TRUE)] [M.p_have()] no mouth to tape over!")
return
- user.visible_message("[user] is taping [M]'s mouth closed!",
- "You try to tape [M == user ? "your own" : "[M]'s"] mouth shut!",
- "You hear tape ripping.")
+ user.visible_message(SPAN_WARNING("[user] is taping [M]'s mouth closed!"),
+ SPAN_NOTICE("You try to tape [M == user ? "your own" : "[M]'s"] mouth shut!"),
+ SPAN_WARNING("You hear tape ripping."))
if(!do_after(user, 50, target = M))
return
if(!use(2))
- to_chat(user, "You don't have enough tape!")
+ to_chat(user, SPAN_NOTICE("You don't have enough tape!"))
return
if(M.wear_mask)
- to_chat(user, "[M == user ? user : M]'s mouth is already covered!")
+ to_chat(user, SPAN_NOTICE("[M == user ? user : M]'s mouth is already covered!"))
return
- user.visible_message("[user] tapes [M]'s mouth shut!",
- "You cover [M == user ? "your own" : "[M]'s"] mouth with a piece of duct tape.[M == user ? null : " That will shut them up."]")
+ user.visible_message(SPAN_WARNING("[user] tapes [M]'s mouth shut!"),
+ SPAN_NOTICE("You cover [M == user ? "your own" : "[M]'s"] mouth with a piece of duct tape.[M == user ? null : " That will shut them up."]"))
var/obj/item/clothing/mask/muzzle/G = new /obj/item/clothing/mask/muzzle/tapegag
M.equip_to_slot(G, ITEM_SLOT_MASK)
G.add_fingerprint(user)
diff --git a/code/game/objects/items/teleportation.dm b/code/game/objects/items/teleportation.dm
index 559fd00b7d7..6d5fb8a4d39 100644
--- a/code/game/objects/items/teleportation.dm
+++ b/code/game/objects/items/teleportation.dm
@@ -47,10 +47,10 @@
var/turf/current_location = get_turf(user)
if(emp_timer > world.time)
do_sparks(5, 0, loc)
- to_chat(user, "[src] attempts to create a portal, but abruptly shuts off.")
+ to_chat(user, SPAN_WARNING("[src] attempts to create a portal, but abruptly shuts off."))
return
if(!current_location||!is_teleport_allowed(current_location.z))//If turf was not found or they're somewhere teleproof
- to_chat(user, "\The [src] is malfunctioning.")
+ to_chat(user, SPAN_NOTICE("\The [src] is malfunctioning."))
return
var/list/L = list()
for(var/obj/machinery/computer/teleporter/com in SSmachines.get_by_type(/obj/machinery/computer/teleporter))
@@ -77,10 +77,10 @@
if(!t1 || (!user.is_in_active_hand(src) || user.stat || user.restrained()))
return
if(active_portals >= 3)
- user.show_message("\The [src] is recharging!")
+ user.show_message(SPAN_NOTICE("\The [src] is recharging!"))
return
var/T = L[t1]
- user.show_message("Locked In.", 2)
+ user.show_message(SPAN_NOTICE("Locked In."), 2)
var/obj/effect/portal/P = new /obj/effect/portal/hand_tele(get_turf(src), T, src, creation_mob = user)
try_move_adjacent(P)
active_portals++
@@ -104,7 +104,7 @@
/obj/item/hand_tele/examine(mob/user)
. = ..()
if(emp_timer > world.time)
- . += "It looks inactive."
+ . += SPAN_WARNING("It looks inactive.")
/obj/item/hand_tele/portal_destroyed(obj/effect/portal/P)
active_portals--
diff --git a/code/game/objects/items/theft_items.dm b/code/game/objects/items/theft_items.dm
index 920d2a8a46c..08958ddad55 100644
--- a/code/game/objects/items/theft_items.dm
+++ b/code/game/objects/items/theft_items.dm
@@ -24,7 +24,7 @@
return ..()
/obj/item/nuke_core/suicide_act(mob/user)
- user.visible_message("[user] is rubbing [src] against [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is rubbing [src] against [user.p_themselves()]! It looks like [user.p_theyre()] trying to commit suicide!"))
return TOXLOSS
// MARK: Plutonium core
@@ -51,11 +51,11 @@
/obj/item/nuke_core_container/examine(mob/user)
. = ..()
if(cracked) // Cracked open.
- . += "It is broken, and can no longer store objects safely."
+ . += SPAN_WARNING("It is broken, and can no longer store objects safely.")
else if(dented) // Not cracked, but dented.
- . += "[src] looks dented. Perhaps a bigger explosion may break it."
+ . += SPAN_NOTICE("[src] looks dented. Perhaps a bigger explosion may break it.")
else // Not cracked or dented.
- . += "Fine print on the box reads \"Syndicate Field Operations secure core extraction container. Guaranteed thermite proof, assistant proof, and explosive resistant.\""
+ . += SPAN_NOTICE("Fine print on the box reads \"Syndicate Field Operations secure core extraction container. Guaranteed thermite proof, assistant proof, and explosive resistant.\"")
/obj/item/nuke_core_container/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(!istype(used, /obj/item/nuke_core/plutonium))
@@ -66,7 +66,7 @@
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
- to_chat(user, "[core] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[core] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
load(core, user)
@@ -96,7 +96,7 @@
new_core.forceMove(src)
core = new_core
icon_state = "core_container_loaded"
- to_chat(user, "Container is sealing...")
+ to_chat(user, SPAN_WARNING("Container is sealing..."))
addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS)
/obj/item/nuke_core_container/proc/unload(mob/user)
@@ -115,10 +115,10 @@
icon_state = "core_container_sealed"
playsound(src, 'sound/items/deconstruct.ogg', 60, TRUE)
if(ismob(loc))
- to_chat(loc, "[src] is permanently sealed, [core]'s radiation is contained.")
+ to_chat(loc, SPAN_WARNING("[src] is permanently sealed, [core]'s radiation is contained."))
/obj/item/nuke_core_container/proc/crack_open()
- visible_message("[src] bursts open!")
+ visible_message(SPAN_BOLDNOTICE("[src] bursts open!"))
if(core)
var/datum/component/inherent_radioactivity/radioactivity = core.GetComponent(/datum/component/inherent_radioactivity)
START_PROCESSING(SSradiation, radioactivity)
@@ -187,13 +187,13 @@
if(istype(used, /obj/item/retractor/supermatter))
var/obj/item/retractor/supermatter/tongs = used
if(tongs.sliver)
- to_chat(user, "[tongs] are already holding a supermatter sliver!")
+ to_chat(user, SPAN_WARNING("[tongs] are already holding a supermatter sliver!"))
return ITEM_INTERACT_COMPLETE
forceMove(tongs)
tongs.sliver = src
tongs.update_icon(UPDATE_ICON_STATE)
- to_chat(user, "You carefully pick up [src] with [tongs].")
+ to_chat(user, SPAN_NOTICE("You carefully pick up [src] with [tongs]."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/scalpel/supermatter) || istype(used, /obj/item/nuke_core_container/supermatter)) // we don't want it to dust
@@ -203,7 +203,7 @@
return ITEM_INTERACT_COMPLETE
if(issilicon(user))
- to_chat(user, "You try to touch [src] with [used]. ERROR!")
+ to_chat(user, SPAN_USERDANGER("You try to touch [src] with [used]. ERROR!"))
radiation_pulse(user, 2000, GAMMA_RAD)
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
user.dust()
@@ -213,10 +213,10 @@
// Don't poke it with no-drops!
if(!user.drop_item())
radiation_pulse(user, 2000, GAMMA_RAD)
- to_chat(user, "As it touches [src], both [src] and [used] burst into dust. The resonance then consumes you as well!")
+ to_chat(user, SPAN_USERDANGER("As it touches [src], both [src] and [used] burst into dust. The resonance then consumes you as well!"))
user.dust()
else
- to_chat(user, "As it touches [src], both [src] and [used] burst into dust!")
+ to_chat(user, SPAN_DANGER("As it touches [src], both [src] and [used] burst into dust!"))
radiation_pulse(user, 400, GAMMA_RAD)
qdel(used)
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
@@ -239,9 +239,9 @@
else
message_admins("[src] has consumed [key_name_admin(victim)] [ADMIN_JMP(src)] via throw impact.")
investigate_log("has consumed [key_name(victim)] via throw impact.", INVESTIGATE_SUPERMATTER)
- victim.visible_message("As [victim] is hit by [src], both flash into dust and silence fills the room...",
- "You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well.",
- "Everything suddenly goes silent.")
+ victim.visible_message(SPAN_DANGER("As [victim] is hit by [src], both flash into dust and silence fills the room..."),
+ SPAN_USERDANGER("You're hit by [src] and everything suddenly goes silent.\n[src] flashes into dust, and soon as you can register this, you do as well."),
+ SPAN_HEAR("Everything suddenly goes silent."))
victim.dust()
radiation_pulse(src, 2000, GAMMA_RAD)
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
@@ -255,9 +255,9 @@
if(!isliving(user) || user.status_flags & GODMODE) //try to keep this in sync with supermatter's consume fail conditions
return FALSE
- user.visible_message("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!",
- "You reach for [src] with your hands. That was dumb.",
- "Everything suddenly goes silent.")
+ user.visible_message(SPAN_DANGER("[user] reaches out and tries to pick up [src]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"),
+ SPAN_USERDANGER("You reach for [src] with your hands. That was dumb."),
+ SPAN_HEAR("Everything suddenly goes silent."))
radiation_pulse(user, 2000, GAMMA_RAD)
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
user.dust()
@@ -280,7 +280,7 @@
I.sliver = null
I.update_icon(UPDATE_ICON_STATE)
icon_state = "supermatter_container_loaded"
- to_chat(user, "Container is sealing...")
+ to_chat(user, SPAN_WARNING("Container is sealing..."))
addtimer(CALLBACK(src, PROC_REF(seal)), 10 SECONDS)
@@ -293,7 +293,7 @@
icon_state = "supermatter_container_sealed"
playsound(src, 'sound/items/deconstruct.ogg', 60, TRUE)
if(ismob(loc))
- to_chat(loc, "[src] is permanently sealed, [sliver] is safely contained.")
+ to_chat(loc, SPAN_WARNING("[src] is permanently sealed, [sliver] is safely contained."))
/obj/item/nuke_core_container/supermatter/unload(obj/item/retractor/supermatter/I, mob/user)
if(!istype(I) || I.sliver)
@@ -304,7 +304,7 @@
sliver = null
I.update_icon(UPDATE_ICON_STATE)
icon_state = "core_container_cracked_empty"
- to_chat(user, "You carefully pick up [I.sliver] with [I].")
+ to_chat(user, SPAN_NOTICE("You carefully pick up [I.sliver] with [I]."))
/obj/item/nuke_core_container/supermatter/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(!istype(used, /obj/item/retractor/supermatter))
@@ -323,9 +323,9 @@
if(!isliving(user) || user.status_flags & GODMODE || HAS_TRAIT(user, TRAIT_SUPERMATTER_IMMUNE))
return FALSE
- user.visible_message("[user] reaches out and tries to pick up [sliver]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!",
- "You reach for [sliver] with your hands. That was dumb.",
- "Everything suddenly goes silent.")
+ user.visible_message(SPAN_DANGER("[user] reaches out and tries to pick up [sliver]. [user.p_their()] body starts to glow and bursts into flames before flashing into dust!"),
+ SPAN_USERDANGER("You reach for [sliver] with your hands. That was dumb."),
+ SPAN_ITALICS("Everything suddenly goes silent."))
radiation_pulse(user, 2000, GAMMA_RAD)
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
message_admins("[sliver] has consumed [key_name_admin(user)] [ADMIN_JMP(src)].")
@@ -337,7 +337,7 @@
return ..()
/obj/item/nuke_core_container/supermatter/crack_open()
- visible_message("[src] bursts open!")
+ visible_message(SPAN_BOLDNOTICE("[src] bursts open!"))
if(sliver)
START_PROCESSING(SSobj, sliver)
icon_state = "supermatter_container_cracked_loaded"
@@ -390,7 +390,7 @@
/obj/item/retractor/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) // no instakill supermatter javelins
if(sliver)
sliver.forceMove(loc)
- visible_message("[sliver] falls out of [src] as it hits the ground.")
+ visible_message(SPAN_NOTICE("[sliver] falls out of [src] as it hits the ground."))
sliver = null
update_icon(UPDATE_ICON_STATE)
return ..()
@@ -425,18 +425,18 @@
if(!(HAS_TRAIT(user, TRAIT_SUPERMATTER_IMMUNE) || user.status_flags & GODMODE))
add_attack_logs(user, AM, "[AM] and [user] consumed by melee attack with [src] by [user].")
user.visible_message(
- "As [user] touches [AM] with [src], both flash into dust and silence fills the room...",
- "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well.",
- "Everything suddenly goes silent."
+ SPAN_DANGER("As [user] touches [AM] with [src], both flash into dust and silence fills the room..."),
+ SPAN_USERDANGER("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust, and soon as you can register this, you do as well."),
+ SPAN_HEAR("Everything suddenly goes silent.")
)
user.dust()
radiation_pulse(src, 2000, GAMMA_RAD)
else
add_attack_logs(user, AM, "[AM] consumed by melee attack with [src] by [user].")
user.visible_message(
- "As [user] touches [AM] with [src], [AM] flashes into dust and silence fills the room...",
- "You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust.",
- "Everything suddenly goes silent."
+ SPAN_DANGER("As [user] touches [AM] with [src], [AM] flashes into dust and silence fills the room..."),
+ SPAN_USERDANGER("You touch [AM] with [src], and everything suddenly goes silent.\n[AM] and [sliver] flash into dust."),
+ SPAN_HEAR("Everything suddenly goes silent.")
)
QDEL_NULL(sliver)
update_icon(UPDATE_ICON_STATE)
@@ -477,28 +477,28 @@
/obj/item/ppp_processor/examine(mob/user)
. = ..()
if(fully_processed_particulate)
- . += "[src] has processed the data you now possess. All you need to do is present it after this shift."
+ . += SPAN_NOTICE("[src] has processed the data you now possess. All you need to do is present it after this shift.")
return
if(clouds_processed < 3)
- . += "[src] has only [clouds_processed] out of 3 samples."
+ . += SPAN_NOTICE("[src] has only [clouds_processed] out of 3 samples.")
if(clouds_processed == 3)
- . += "[src] has all 3 samples. Use it in hand to process the particulate."
+ . += SPAN_NOTICE("[src] has all 3 samples. Use it in hand to process the particulate.")
/obj/item/ppp_processor/activate_self(mob/user)
if(..())
return
if(fully_processed_particulate)
- to_chat(user, "[src] has already processed and ejected the particulate canisters. Just make sure to escape with the processor!")
+ to_chat(user, SPAN_NOTICE("[src] has already processed and ejected the particulate canisters. Just make sure to escape with the processor!"))
return
if(clouds_processed < 3)
- to_chat(user, "[src] has only [clouds_processed] out of 3 samples. You still need to collect more!")
+ to_chat(user, SPAN_WARNING("[src] has only [clouds_processed] out of 3 samples. You still need to collect more!"))
return
if(presently_processing_particular_particultate)
- to_chat(user, "[src] is presently processing particularly powerful packets of your particular particulate. Wait for it to finish before proceeding.")
+ to_chat(user, SPAN_WARNING("[src] is presently processing particularly powerful packets of your particular particulate. Wait for it to finish before proceeding."))
return
- to_chat(user, "[src] is presently processing the particulate. Please hold as processing finishes, and be aware it may eject collection canisters.")
+ to_chat(user, SPAN_NOTICE("[src] is presently processing the particulate. Please hold as processing finishes, and be aware it may eject collection canisters."))
if(me_cro_wah_vey)
me_cro_wah_vey.start()
addtimer(CALLBACK(src, PROC_REF(perfectly_processed), user), 15 SECONDS)
@@ -524,7 +524,7 @@
/obj/item/ppp_processor/proc/perfectly_processed(mob/user)
if(!QDELETED(user))
- to_chat(user, "[src] has perfectly processed the particulate. You may now use the canisters however you wish. Ensure the processor gets back to us.")
+ to_chat(user, SPAN_NOTICE("[src] has perfectly processed the particulate. You may now use the canisters however you wish. Ensure the processor gets back to us."))
me_cro_wah_vey.stop()
presently_processing_particular_particultate = FALSE
clouds_processed = -1
@@ -537,7 +537,7 @@
potential_grenade_rewards -= /obj/item/grenade/anomalous_canister/mini
var/turf/our_turf = get_turf(src)
- our_turf.visible_message("Three containers are ejected out of [src].")
+ our_turf.visible_message(SPAN_WARNING("Three containers are ejected out of [src]."))
for(var/i in 1 to 3)
var/obj/item/new_toy = pick_n_take(potential_grenade_rewards)
new new_toy(get_turf(src))
@@ -601,7 +601,7 @@
return
has_primed = TRUE
var/turf/our_turf = get_turf(src)
- our_turf.visible_message("[src] shatters open, the [(number_of_anomalies - 1) ? "clouds" : "cloud"] of particulate rapidly forming into something more!")
+ our_turf.visible_message(SPAN_DANGER("[src] shatters open, the [(number_of_anomalies - 1) ? "clouds" : "cloud"] of particulate rapidly forming into something more!"))
playsound(src, "shatter", 70, TRUE)
update_mob()
for(var/i in 1 to number_of_anomalies)
@@ -618,7 +618,7 @@
/obj/item/grenade/anomalous_canister/dual_core/examine(mob/user)
. = ..()
- . += "Two smaller clouds of particulate are swirling around in this canister. It will likely form into two anomalies."
+ . += SPAN_NOTICE("Two smaller clouds of particulate are swirling around in this canister. It will likely form into two anomalies.")
/obj/item/grenade/anomalous_canister/condensed
name = "condensed anomalous particulate canister"
@@ -627,7 +627,7 @@
/obj/item/grenade/anomalous_canister/condensed/examine(mob/user)
. = ..()
- . += "A large cloud of resiliant particulate is floating in this canister. It will last longer than other anomalies."
+ . += SPAN_NOTICE("A large cloud of resiliant particulate is floating in this canister. It will last longer than other anomalies.")
/obj/item/grenade/anomalous_canister/stabilized
name = "stabilized anomalous particulate canister"
@@ -636,14 +636,14 @@
/obj/item/grenade/anomalous_canister/stabilized/examine(mob/user)
. = ..()
- . += "The predicted result for the cloud to condense into is displayed as \an [anomaly_type::name]!"
+ . += SPAN_NOTICE("The predicted result for the cloud to condense into is displayed as \an [anomaly_type::name]!")
/obj/effect/abstract/dummy_mini_spawner
/obj/effect/abstract/dummy_mini_spawner/Initialize(mapload)
. = ..()
var/turf/our_turf = get_turf(src)
- our_turf.visible_message("One of the containers splits into 3 smaller capsules!")
+ our_turf.visible_message(SPAN_WARNING("One of the containers splits into 3 smaller capsules!"))
for(var/i in 1 to 3)
new /obj/item/grenade/anomalous_canister/mini(our_turf)
return INITIALIZE_HINT_QDEL
@@ -661,12 +661,12 @@
has_primed = TRUE
update_mob()
var/turf/our_turf = get_turf(src)
- our_turf.visible_message("[src] activates and...")
+ our_turf.visible_message(SPAN_DANGER("[src] activates and..."))
playsound(src, "shatter", 70, TRUE)
switch(anomaly_type)
if(/obj/effect/anomaly/bluespace) // Teleport and slow combat for 15
if(!is_teleport_allowed(z))
- visible_message("[src]'s fragments begin rapidly vibrating and blink out of existence.")
+ visible_message(SPAN_WARNING("[src]'s fragments begin rapidly vibrating and blink out of existence."))
qdel(src)
return
for(var/mob/living/L in range(7, our_turf))
@@ -697,13 +697,13 @@
var/mob/living/M = AM
M.Weaken(8 SECONDS)
M.adjustBruteLoss(5)
- to_chat(M, "You're slammed into the floor by an anomalous force!")
+ to_chat(M, SPAN_USERDANGER("You're slammed into the floor by an anomalous force!"))
else
new /obj/effect/temp_visual/gravpush(get_turf(AM), get_dir(src, AM)) // created sparkles will disappear on their own
if(isliving(AM))
var/mob/living/M = AM
M.Weaken(3 SECONDS)
- to_chat(M, "You're thrown back by a anomalous force!")
+ to_chat(M, SPAN_USERDANGER("You're thrown back by a anomalous force!"))
spawn(0)
AM.throw_at(throwtarget, ((clamp((5 - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, 5))), 1) // So stuff gets tossed around at the same time.
if(/obj/effect/anomaly/pyro) // burn
diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm
index feec55e7dbf..f748c734bb2 100644
--- a/code/game/objects/items/tools/crowbar.dm
+++ b/code/game/objects/items/tools/crowbar.dm
@@ -77,7 +77,7 @@
if(!user)
return
- user.visible_message("[user] looks up and hooks [src] into a ceiling tile! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] looks up and hooks [src] into a ceiling tile! It looks like [user.p_theyre()] trying to commit suicide!"))
user.Immobilize(10 SECONDS)
playsound(loc, 'sound/items/crowbar.ogg', 50, TRUE, -1)
@@ -85,7 +85,7 @@
sleep(2 SECONDS)
add_fingerprint(user)
- to_chat(user, "You pry open the ceiling tile above you and look beyond it.. oh God, what the hell is that?!")
+ to_chat(user, SPAN_USERDANGER("You pry open the ceiling tile above you and look beyond it.. oh God, what the hell is that?!"))
user.emote("scream")
animate_fading_leap_up(user)
@@ -125,7 +125,7 @@
ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT)
/obj/item/crowbar/power/suicide_act(mob/user)
- user.visible_message("[user] is putting [user.p_their()] head in [src]. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is putting [user.p_their()] head in [src]. It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/items/jaws_pry.ogg', 50, TRUE, -1)
return BRUTELOSS
@@ -135,7 +135,7 @@
playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1)
var/obj/item/wirecutters/power/cutjaws = new /obj/item/wirecutters/power
- to_chat(user, "You attach the cutting jaws to [src].")
+ to_chat(user, SPAN_NOTICE("You attach the cutting jaws to [src]."))
for(var/obj/item/smithed_item/tool_bit/bit in attached_bits)
bit.on_detached()
bit.forceMove(cutjaws)
diff --git a/code/game/objects/items/tools/hammer.dm b/code/game/objects/items/tools/hammer.dm
index 9a6f92db0f2..fadb2180e55 100644
--- a/code/game/objects/items/tools/hammer.dm
+++ b/code/game/objects/items/tools/hammer.dm
@@ -22,7 +22,7 @@
RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit))
/obj/item/hammer/suicide_act(mob/user)
- user.visible_message("[user] is bashing [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is bashing [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
if(!use_tool(user, user, 3 SECONDS, volume = tool_volume))
return SHAME
diff --git a/code/game/objects/items/tools/multitool.dm b/code/game/objects/items/tools/multitool.dm
index 4b30631607e..a6e0e653f0c 100644
--- a/code/game/objects/items/tools/multitool.dm
+++ b/code/game/objects/items/tools/multitool.dm
@@ -33,10 +33,10 @@
/obj/item/multitool/proc/set_multitool_buffer(mob/user, obj/machinery/M) //Loads a machine into memory, returns TRUE if it does
if(!ismachinery(M))
- to_chat(user, "That's not a machine!")
+ to_chat(user, SPAN_WARNING("That's not a machine!"))
return
buffer = M
- to_chat(user, "You load [M]'s identifying data into [src]'s internal buffer.")
+ to_chat(user, SPAN_NOTICE("You load [M]'s identifying data into [src]'s internal buffer."))
return TRUE
/obj/item/multitool/Destroy()
@@ -51,12 +51,12 @@
var/area/local_area = get_area(src)
var/obj/machinery/power/apc/apc = local_area?.get_apc()
if(!apc)
- to_chat(user, "No APC detected.")
+ to_chat(user, SPAN_WARNING("No APC detected."))
return
if(get_turf(src) == get_turf(apc)) // we're standing on top of it
- to_chat(user, "APC detected 0 meters [dir2text(apc.dir)].")
+ to_chat(user, SPAN_NOTICE("APC detected 0 meters [dir2text(apc.dir)]."))
return
- to_chat(user, "APC detected [get_dist(src, apc)] meter\s [dir2text(get_dir(src, apc))].")
+ to_chat(user, SPAN_NOTICE("APC detected [get_dist(src, apc)] meter\s [dir2text(get_dir(src, apc))]."))
/obj/item/multitool/ranged_interact_with_atom(atom/target, mob/living/user, list/modifiers)
. = ..()
@@ -139,7 +139,7 @@
var/list/victims = list()
/obj/item/multitool/command/suicide_act(mob/living/user)
- user.visible_message("[user] is attempting to command the command multitool! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is attempting to command the command multitool! It looks like [user.p_theyre()] trying to commit suicide!"))
//basically just cleaned up and copied from the medical wrench code
if(!user)
return
diff --git a/code/game/objects/items/tools/screwdriver.dm b/code/game/objects/items/tools/screwdriver.dm
index 327521a2d71..efe0c42d308 100644
--- a/code/game/objects/items/tools/screwdriver.dm
+++ b/code/game/objects/items/tools/screwdriver.dm
@@ -39,7 +39,7 @@
random_color = FALSE
/obj/item/screwdriver/suicide_act(mob/user)
- user.visible_message("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is stabbing [src] into [user.p_their()] [pick("temple", "heart")]! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
/obj/item/screwdriver/New(loc, param_color = null)
@@ -84,13 +84,13 @@
if(!user)
return
- user.visible_message("[user] is trying to take [src]'s independence! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is trying to take [src]'s independence! It looks like [user.p_theyre()] trying to commit suicide!"))
user.Immobilize(10 SECONDS)
sleep(2 SECONDS)
add_fingerprint(user)
- user.visible_message("[src] retaliates viciously!", "[src] retaliates viciously!")
+ user.visible_message(SPAN_WARN("[src] retaliates viciously!"), SPAN_USERDANGER("[src] retaliates viciously!"))
playsound(loc, hitsound, 50, TRUE, -1)
return BRUTELOSS
@@ -119,7 +119,7 @@
ADD_TRAIT(src, TRAIT_ADVANCED_SURGICAL, ROUNDSTART_TRAIT)
/obj/item/screwdriver/power/suicide_act(mob/user)
- user.visible_message("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is putting [src] to [user.p_their()] temple. It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
/obj/item/screwdriver/power/activate_self(mob/user)
@@ -128,7 +128,7 @@
playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, 1)
var/obj/item/wrench/power/b_drill = new /obj/item/wrench/power
- to_chat(user, "You attach the bolt driver bit to [src].")
+ to_chat(user, SPAN_NOTICE("You attach the bolt driver bit to [src]."))
for(var/obj/item/smithed_item/tool_bit/bit in attached_bits)
bit.on_detached()
bit.forceMove(b_drill)
diff --git a/code/game/objects/items/tools/welder.dm b/code/game/objects/items/tools/welder.dm
index 2f286b92dca..76203010d39 100644
--- a/code/game/objects/items/tools/welder.dm
+++ b/code/game/objects/items/tools/welder.dm
@@ -60,12 +60,12 @@
. += "It contains [GET_FUEL] unit\s of fuel out of [maximum_fuel]."
/obj/item/weldingtool/suicide_act(mob/user)
- user.visible_message("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] welds [user.p_their()] every orifice closed! It looks like [user.p_theyre()] trying to commit suicide!"))
return FIRELOSS
/obj/item/weldingtool/can_enter_storage(obj/item/storage/S, mob/user)
if(tool_enabled)
- to_chat(user, "[S] can't hold [src] while it's lit!")
+ to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!"))
return FALSE
else
return TRUE
@@ -91,14 +91,14 @@
/obj/item/weldingtool/attack_self__legacy__attackchain(mob/user)
if(tool_enabled) //Turn off the welder if it's on
- to_chat(user, "You switch off [src].")
+ to_chat(user, SPAN_NOTICE("You switch off [src]."))
toggle_welder()
return
else if(GET_FUEL) //The welder is off, but we need to check if there is fuel in the tank
- to_chat(user, "You switch on [src].")
+ to_chat(user, SPAN_NOTICE("You switch on [src]."))
toggle_welder()
else //The welder is off and unfuelled
- to_chat(user, "[src] is out of fuel!")
+ to_chat(user, SPAN_NOTICE("[src] is out of fuel!"))
/obj/item/weldingtool/proc/toggle_welder(turn_off = FALSE) //Turn it on or off, forces it to deactivate
tool_enabled = turn_off ? FALSE : !tool_enabled
@@ -127,13 +127,13 @@
/obj/item/weldingtool/tool_use_check(mob/living/user, amount, silent = FALSE)
if(!tool_enabled)
if(!silent)
- to_chat(user, "[src] has to be on to complete this task!")
+ to_chat(user, SPAN_NOTICE("[src] has to be on to complete this task!"))
return FALSE
if(GET_FUEL >= amount * requires_fuel)
return TRUE
else
if(!silent)
- to_chat(user, "You need more welding fuel to complete this task!")
+ to_chat(user, SPAN_WARNING("You need more welding fuel to complete this task!"))
return FALSE
// When welding is about to start, run a normal tool_use_check, then flash a mob if it succeeds.
@@ -171,18 +171,18 @@
return !isnull(cig)
if(!tool_enabled)
- to_chat(user, "You need to activate [src] before you can light anything with it!")
+ to_chat(user, SPAN_WARNING("You need to activate [src] before you can light anything with it!"))
return TRUE
if(target == user)
user.visible_message(
- "[user] casually lights [cig] with [src], what a badass.",
- "You light [cig] with [src]."
+ SPAN_NOTICE("[user] casually lights [cig] with [src], what a badass."),
+ SPAN_NOTICE("You light [cig] with [src].")
)
else
user.visible_message(
- "[user] holds out [src] out for [target], and casually lights [cig]. What a badass.",
- "You light [cig] for [target] with [src]."
+ SPAN_NOTICE("[user] holds out [src] out for [target], and casually lights [cig]. What a badass."),
+ SPAN_NOTICE("You light [cig] for [target] with [src].")
)
cig.light(user, target)
return TRUE
@@ -215,16 +215,16 @@
if(!A.reagents)
return
if(GET_FUEL >= maximum_fuel)
- to_chat(user, "[src] is already full!")
+ to_chat(user, SPAN_NOTICE("[src] is already full!"))
return
var/amount_transferred = A.reagents.trans_id_to(src, "fuel", amount)
if(amount_transferred)
- to_chat(user, "You refuel [src] by [amount_transferred] unit\s.")
+ to_chat(user, SPAN_NOTICE("You refuel [src] by [amount_transferred] unit\s."))
playsound(src, 'sound/effects/refill.ogg', 50, 1)
update_icon()
return amount_transferred
else
- to_chat(user, "There's not enough fuel in [A] to refuel [src]!")
+ to_chat(user, SPAN_WARNING("There's not enough fuel in [A] to refuel [src]!"))
/obj/item/weldingtool/update_icon_state()
if(low_fuel_changes_icon)
@@ -283,14 +283,14 @@
if(!user)
return
- user.visible_message("[user] is tinkering with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is tinkering with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
to_chat(user, "You begin tinkering with [src]...")
user.Immobilize(10 SECONDS)
sleep(2 SECONDS)
add_fingerprint(user)
- user.visible_message("[src] blows up in [user]'s face!", "Oh, shit!")
+ user.visible_message(SPAN_DANGER("[src] blows up in [user]'s face!"), SPAN_USERDANGER("Oh, shit!"))
playsound(loc, "sound/effects/explosion1.ogg", 50, TRUE, -1)
user.gib()
diff --git a/code/game/objects/items/tools/wirecutters.dm b/code/game/objects/items/tools/wirecutters.dm
index df8142d2d23..17e89cebc4b 100644
--- a/code/game/objects/items/tools/wirecutters.dm
+++ b/code/game/objects/items/tools/wirecutters.dm
@@ -40,7 +40,7 @@
/obj/item/wirecutters/interact_with_atom(atom/target, mob/living/user, list/modifiers)
var/mob/living/carbon/mob = target
if(istype(mob) && mob.handcuffed && istype(mob.handcuffed, /obj/item/restraints/handcuffs/cable))
- user.visible_message("[user] cuts [mob]'s restraints with [src]!")
+ user.visible_message(SPAN_NOTICE("[user] cuts [mob]'s restraints with [src]!"))
QDEL_NULL(mob.handcuffed)
if(mob.buckled && mob.buckled.buckle_requires_restraints)
mob.unbuckle()
@@ -48,7 +48,7 @@
return ITEM_INTERACT_COMPLETE
/obj/item/wirecutters/suicide_act(mob/user)
- user.visible_message("[user] is cutting at [user.p_their()] [is_robotic_suicide(user) ? "wiring" : "arteries"] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is cutting at [user.p_their()] [is_robotic_suicide(user) ? "wiring" : "arteries"] with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, usesound, 50, TRUE, -1)
return BRUTELOSS
@@ -78,7 +78,7 @@
if(!user)
return
- user.visible_message("[user] is cutting [user.p_themselves()] free from the mortal coil! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is cutting [user.p_themselves()] free from the mortal coil! It looks like [user.p_theyre()] trying to commit suicide!"))
user.Immobilize(10 SECONDS)
@@ -128,7 +128,7 @@
random_color = FALSE
/obj/item/wirecutters/power/suicide_act(mob/user)
- user.visible_message("[user] is wrapping [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!")
+ user.visible_message(SPAN_SUICIDE("[user] is wrapping [src] around [user.p_their()] neck. It looks like [user.p_theyre()] trying to rip [user.p_their()] head off!"))
if(!use_tool(user, user, 3 SECONDS, volume = tool_volume))
return SHAME
@@ -139,13 +139,13 @@
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/head/head = H.bodyparts_by_name["head"]
if(!head)
- user.visible_message("...but [user.p_they()] [user.p_are()] already headless! How embarassing.")
+ user.visible_message(SPAN_SUICIDE("...but [user.p_they()] [user.p_are()] already headless! How embarassing."))
return SHAME
head.droplimb(FALSE, DROPLIMB_SHARP, FALSE, TRUE)
if(user.stat != DEAD)
- user.visible_message("...but [user.p_they()] didn't need it anyway! How embarassing.")
+ user.visible_message(SPAN_SUICIDE("...but [user.p_they()] didn't need it anyway! How embarassing."))
return SHAME
return OXYLOSS
@@ -156,7 +156,7 @@
playsound(get_turf(user), 'sound/items/change_jaws.ogg', 50, 1)
var/obj/item/crowbar/power/pryjaws = new /obj/item/crowbar/power
- to_chat(user, "You attach the pry jaws to [src].")
+ to_chat(user, SPAN_NOTICE("You attach the pry jaws to [src]."))
for(var/obj/item/smithed_item/tool_bit/bit in attached_bits)
bit.on_detached()
bit.forceMove(pryjaws)
diff --git a/code/game/objects/items/tools/wrench.dm b/code/game/objects/items/tools/wrench.dm
index 7e090ec24cd..a69f73fde88 100644
--- a/code/game/objects/items/tools/wrench.dm
+++ b/code/game/objects/items/tools/wrench.dm
@@ -26,7 +26,7 @@
RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit))
/obj/item/wrench/suicide_act(mob/user)
- user.visible_message("[user] is unsecuring [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is unsecuring [user.p_their()] head with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
if(!use_tool(user, user, 3 SECONDS, volume = tool_volume))
return SHAME
@@ -37,13 +37,13 @@
var/mob/living/carbon/human/H = user
var/obj/item/organ/external/head/head = H.bodyparts_by_name["head"]
if(!head)
- user.visible_message("...but [user.p_they()] [user.p_are()] already headless! How embarassing.")
+ user.visible_message(SPAN_SUICIDE("...but [user.p_they()] [user.p_are()] already headless! How embarassing."))
return SHAME
head.droplimb(TRUE, DROPLIMB_SHARP, FALSE, TRUE)
if(user.stat != DEAD)
- user.visible_message("...but [user.p_they()] didn't need it anyway! How embarassing.")
+ user.visible_message(SPAN_SUICIDE("...but [user.p_they()] didn't need it anyway! How embarassing."))
return SHAME
return OXYLOSS
@@ -82,7 +82,7 @@
playsound(get_turf(user),'sound/items/change_drill.ogg', 50, 1)
var/obj/item/wirecutters/power/s_drill = new /obj/item/screwdriver/power
- to_chat(user, "You attach the screwdriver bit to [src].")
+ to_chat(user, SPAN_NOTICE("You attach the screwdriver bit to [src]."))
for(var/obj/item/smithed_item/tool_bit/bit in attached_bits)
bit.on_detached()
bit.forceMove(s_drill)
@@ -106,7 +106,7 @@
toolspeed = 0.75
/obj/item/wrench/medical/suicide_act(mob/living/user)
- user.visible_message("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is praying to the medical wrench to take [user.p_their()] soul. It looks like [user.p_theyre()] trying to commit suicide!"))
// HAVE THEM GLOW WITH THE BRIGHTNESS OF A THOUSAND SUNS
user.set_light(10, 25, rgb(255, 252, 82))
@@ -148,7 +148,7 @@
user.color = previous_color // for the sake of their ghost
user.dust()
- user.visible_message("[user]'s soul coalesces into a new [W.name]!")
+ user.visible_message(SPAN_SUICIDE("[user]'s soul coalesces into a new [W.name]!"))
return OBLITERATION
/obj/item/wrench/bolter
diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm
index 485f0ebb487..5b283965c44 100644
--- a/code/game/objects/items/toys.dm
+++ b/code/game/objects/items/toys.dm
@@ -49,19 +49,19 @@
if(istype(target, /obj/structure/reagent_dispensers))
var/obj/structure/reagent_dispensers/RD = target
if(RD.reagents.total_volume <= 0)
- to_chat(user, "[RD] is empty.")
+ to_chat(user, SPAN_WARNING("[RD] is empty."))
else if(reagents.total_volume >= 10)
- to_chat(user, "[src] is full.")
+ to_chat(user, SPAN_WARNING("[src] is full."))
else
target.reagents.trans_to(src, 10)
- to_chat(user, "You fill the balloon with the contents of [target].")
+ to_chat(user, SPAN_NOTICE("You fill the balloon with the contents of [target]."))
desc = "A translucent balloon with some form of liquid sloshing around in it."
update_icon()
/obj/item/toy/balloon/wash(mob/user, atom/source)
if(reagents.total_volume < 10)
reagents.add_reagent("water", min(10-reagents.total_volume, 10))
- to_chat(user, "You fill the balloon from the [source].")
+ to_chat(user, SPAN_NOTICE("You fill the balloon from the [source]."))
desc = "A translucent balloon with some form of liquid sloshing around in it."
update_icon()
return
@@ -80,14 +80,14 @@
qdel(src)
else
desc = "A translucent balloon with some form of liquid sloshing around in it."
- to_chat(user, "You fill the balloon with the contents of [attacking].")
+ to_chat(user, SPAN_NOTICE("You fill the balloon with the contents of [attacking]."))
attacking.reagents.trans_to(src, 10)
update_icon()
return
/obj/item/toy/balloon/throw_impact(atom/hit_atom)
if(reagents.total_volume >= 1)
- visible_message("[src] bursts!","You hear a pop and a splash.")
+ visible_message(SPAN_WARNING("[src] bursts!"),"You hear a pop and a splash.")
reagents.reaction(get_turf(hit_atom))
for(var/atom/A in get_turf(hit_atom))
reagents.reaction(A)
@@ -114,7 +114,7 @@
if(..() || world.time - lastused < CLICK_CD_MELEE)
return
var/playverb = pick("bat [src]", "tug on [src]'s string", "play with [src]")
- user.visible_message("[user] plays with [src].", "You [playverb].")
+ user.visible_message(SPAN_NOTICE("[user] plays with [src]."), SPAN_NOTICE("You [playverb]."))
lastused = world.time
/obj/item/toy/syndicateballoon/suicide_act(mob/living/user)
@@ -122,7 +122,7 @@
if(!user)
return
- user.visible_message("[user] ties [src] around [user.p_their()] neck and starts to float away! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] ties [src] around [user.p_their()] neck and starts to float away! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(get_turf(user), 'sound/magic/fleshtostone.ogg', 80, TRUE)
@@ -183,12 +183,12 @@
return
active = !active
if(active)
- to_chat(user, "You extend the plastic blade with a quick flick of your wrist.")
+ to_chat(user, SPAN_NOTICE("You extend the plastic blade with a quick flick of your wrist."))
playsound(user, 'sound/weapons/saberon.ogg', 20, 1)
icon_state = "swordblue"
w_class = WEIGHT_CLASS_BULKY
else
- to_chat(user, "You push the plastic blade back down into the handle.")
+ to_chat(user, SPAN_NOTICE("You push the plastic blade back down into the handle."))
playsound(user, 'sound/weapons/saberoff.ogg', 20, 1)
icon_state = "sword"
w_class = WEIGHT_CLASS_SMALL
@@ -204,14 +204,14 @@
return FINISH_ATTACK
if(istype(attacking, /obj/item/toy/sword))
if(attacking == src)
- to_chat(user, "You try to attach the end of the plastic sword to... Itself. You're not very smart, are you?")
+ to_chat(user, SPAN_NOTICE("You try to attach the end of the plastic sword to... Itself. You're not very smart, are you?"))
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.adjustBrainLoss(10)
else if((attacking.flags & NODROP) || (flags & NODROP))
- to_chat(user, "\the [flags & NODROP ? src : attacking] is stuck to your hand, you can't attach it to \the [flags & NODROP ? attacking : src]!")
+ to_chat(user, SPAN_NOTICE("\the [flags & NODROP ? src : attacking] is stuck to your hand, you can't attach it to \the [flags & NODROP ? attacking : src]!"))
else
- to_chat(user, "You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool.")
+ to_chat(user, SPAN_NOTICE("You attach the ends of the two plastic swords, making a single double-bladed toy! You're fake-cool."))
new /obj/item/dualsaber/toy(user.loc)
qdel(attacking)
qdel(src)
@@ -231,7 +231,7 @@
return !isnull(cig)
if(!active)
- to_chat(user, "You must activate [src] before you can light [cig] with it!")
+ to_chat(user, SPAN_WARNING("You must activate [src] before you can light [cig] with it!"))
return TRUE
user.do_attack_animation(target)
@@ -242,15 +242,15 @@
user.visible_message(
"[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \
[user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [cig] with [src] in the process. Somehow...",
- "You casually slash [src] at [cig], lighting it with the blade. Somehow...",
- "You hear an energy blade slashing something!"
+ SPAN_NOTICE("You casually slash [src] at [cig], lighting it with the blade. Somehow..."),
+ SPAN_DANGER("You hear an energy blade slashing something!")
)
else
user.visible_message(
"[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \
[user.p_they(TRUE)] light[user.p_s()] [cig] in the mouth of [target] with [src] in the process. Somehow...",
- "You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade. Somehow...",
- "You hear an energy blade slashing something!"
+ SPAN_NOTICE("You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade. Somehow..."),
+ SPAN_DANGER("You hear an energy blade slashing something!")
)
playsound(user.loc, 'sound/weapons/blade1.ogg', 50, TRUE)
cig.light(user, target)
@@ -261,15 +261,15 @@
user.visible_message(
"[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \
[user.p_they(TRUE)] instead hit [cig], knocking it out of [user.p_their()] mouth and dropping it to the floor.",
- "You casually slash [src] at [cig], swatting it out of your mouth.",
- "You hear a gentle tapping."
+ SPAN_WARNING("You casually slash [src] at [cig], swatting it out of your mouth."),
+ SPAN_NOTICE("You hear a gentle tapping.")
)
else
user.visible_message(
"[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \
[user] does hit [cig], knocking it out of the mouth of [target] and dropping it to the floor. Wow, rude!",
- "You casually slash [src] at [cig] in the mouth of [target], swatting it to the floor!",
- "You hear a gentle tapping."
+ SPAN_WARNING("You casually slash [src] at [cig] in the mouth of [target], swatting it to the floor!"),
+ SPAN_NOTICE("You hear a gentle tapping.")
)
playsound(loc, 'sound/weapons/tap.ogg', vary = TRUE)
target.drop_item_to_ground(cig, TRUE)
@@ -278,7 +278,7 @@
/obj/item/toy/sword/chaosprank/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
if(!pranked)
- to_chat(user, "Oh... It's a fake.")
+ to_chat(user, SPAN_CHAOSVERYBAD("Oh... It's a fake."))
name = "toy sword"
pranked = TRUE
@@ -327,7 +327,7 @@
"[user] tries to stab [src] into [user.p_their()] abdomen, but it shatters! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.",
"[user] tries to stab [src] into [user.p_their()] abdomen, but [src] bends and breaks in half! [user.p_they(TRUE)] look[user.p_s()] as if [user.p_they()] might die from the shame.",
"[user] tries to slice [user.p_their()] own throat, but the plastic blade has no sharpness, causing [user.p_them()] to lose [user.p_their()] balance, slip over, and break [user.p_their()] neck with a loud snap!")
- user.visible_message("[dmsg] It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[dmsg] It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
@@ -348,7 +348,7 @@
..()
do_sparks(3, 1, src)
new /obj/effect/decal/cleanable/ash(src.loc)
- visible_message("[src] explodes!","You hear a bang!")
+ visible_message(SPAN_WARNING("[src] explodes!"),SPAN_WARNING("You hear a bang!"))
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
@@ -373,8 +373,8 @@
/obj/item/toy/snappop/proc/pop_burst(n=3, c=1)
do_sparks(n, c, src)
new ash_type(loc)
- visible_message("[src] explodes!",
- "You hear a snap!")
+ visible_message(SPAN_WARNING("[src] explodes!"),
+ SPAN_ITALICS("You hear a snap!"))
playsound(src, 'sound/effects/snap.ogg', 50, 1)
qdel(src)
@@ -390,7 +390,7 @@
if(ishuman(entered) || issilicon(entered)) //i guess carp and shit shouldn't set them off
var/mob/living/carbon/M = entered
if(issilicon(entered) || M.m_intent == MOVE_INTENT_RUN)
- to_chat(M, "You step on the snap pop!")
+ to_chat(M, SPAN_DANGER("You step on the snap pop!"))
pop_burst(2, 0)
/obj/item/toy/snappop/phoenix
@@ -423,7 +423,7 @@
return
if(cooldown < world.time)
cooldown = world.time + 1800 //3 minutes
- user.visible_message("[user] presses a button on [src]", "You activate [src], it plays a loud noise!", "You hear the click of a button.")
+ user.visible_message(SPAN_WARNING("[user] presses a button on [src]"), SPAN_NOTICE("You activate [src], it plays a loud noise!"), SPAN_NOTICE("You hear the click of a button."))
spawn(5) //gia said so
icon_state = "nuketoy"
playsound(src, 'sound/machines/alarm.ogg', 100, FALSE, 0)
@@ -433,7 +433,7 @@
icon_state = "nuketoyidle"
else
var/timeleft = (cooldown - world.time)
- to_chat(user, "Nothing happens, and '[round(timeleft/10)]' appears on a small display.")
+ to_chat(user, SPAN_ALERT("Nothing happens, and '[round(timeleft/10)]' appears on a small display."))
/obj/item/toy/therapy
name = "therapy doll"
@@ -457,7 +457,7 @@
/obj/item/toy/therapy/activate_self(mob/user)
if(..() || !(cooldown < world.time - 8))
return
- to_chat(user, "You relieve some stress with \the [src].")
+ to_chat(user, SPAN_NOTICE("You relieve some stress with \the [src]."))
playsound(user, 'sound/items/squeaktoy.ogg', 20, TRUE)
cooldown = world.time
@@ -579,11 +579,11 @@
if(has_stuffing || grenade)
if(rare_hug_sound && rare_hug_word && COOLDOWN_FINISHED(src, rare_hug_cooldown))
playsound(src, rare_hug_sound , 10, FALSE)
- visible_message("[rare_hug_word]")
+ visible_message(SPAN_DANGER("[rare_hug_word]"))
COOLDOWN_START(src, rare_hug_cooldown, 3 SECONDS)
else
var/cuddle_verb = pick("hugs", "cuddles", "snugs")
- user.visible_message("[user] [cuddle_verb] [src].")
+ user.visible_message(SPAN_NOTICE("[user] [cuddle_verb] [src]."))
playsound(get_turf(src), pickweight(poof_sound), 50, TRUE, -1)
if(grenade && !grenade.active)
add_attack_logs(user, user, "activated a hidden grenade in [src].", ATKLOG_MOST)
@@ -591,7 +591,7 @@
//We call with grenade as argument, so cutting the grenade out doesn't magically defuse it
addtimer(CALLBACK(src, PROC_REF(explosive_betrayal), grenade), rand(1, 3) SECONDS)
else
- to_chat(user, "You try to pet [src], but it has no stuffing. Aww...")
+ to_chat(user, SPAN_NOTICE("You try to pet [src], but it has no stuffing. Aww..."))
/obj/item/toy/plushie/proc/explosive_betrayal(obj/item/grenade/grenade_callback)
@@ -613,29 +613,29 @@
if(attacking.sharp)
if(!grenade)
if(!has_stuffing)
- to_chat(user, "You already murdered it!")
+ to_chat(user, SPAN_WARNING("You already murdered it!"))
return FINISH_ATTACK
- user.visible_message("[user] tears out the stuffing from [src]!", "You rip a bunch of the stuffing from [src]. Murderer.")
+ user.visible_message(SPAN_WARNING("[user] tears out the stuffing from [src]!"), SPAN_NOTICE("You rip a bunch of the stuffing from [src]. Murderer."))
attacking.play_tool_sound(src)
has_stuffing = FALSE
else
- to_chat(user, "You remove the grenade from [src].")
+ to_chat(user, SPAN_NOTICE("You remove the grenade from [src]."))
grenade.forceMove(get_turf(src))
user.put_in_hands(grenade)
grenade = null
return FINISH_ATTACK
if(istype(attacking, /obj/item/grenade))
if(has_stuffing)
- to_chat(user, "You need to remove some stuffing first!")
+ to_chat(user, SPAN_WARNING("You need to remove some stuffing first!"))
return FINISH_ATTACK
if(grenade)
- to_chat(user, "[src] already has a grenade!")
+ to_chat(user, SPAN_WARNING("[src] already has a grenade!"))
return FINISH_ATTACK
if(!user.drop_item())
- to_chat(user, "[attacking] is stuck to you and cannot be placed into [src].")
+ to_chat(user, SPAN_WARNING("[attacking] is stuck to you and cannot be placed into [src]."))
return FINISH_ATTACK
- user.visible_message("[user] slides [attacking] into [src].", \
- "You slide [attacking] into [src].")
+ user.visible_message(SPAN_WARNING("[user] slides [attacking] into [src]."), \
+ SPAN_WARNING("You slide [attacking] into [src]."))
attacking.forceMove(src)
grenade = attacking
add_attack_logs(user, user, "placed a hidden grenade in [src].", ATKLOG_ALMOSTALL)
@@ -771,7 +771,7 @@
scream_cooldown = TRUE //water_act executes the scream_cooldown var, setting it on cooldown.
addtimer(CALLBACK(src, PROC_REF(reset_screamdown)), 30 SECONDS) //After 30 seconds the reset_coolodown() proc will execute, resetting the cooldown. Hug interaction is unnaffected by this.
playsound(src, 'sound/goonstation/voice/male_scream.ogg', 10, FALSE)//If the plushie gets wet it screams and "AAAAAH!" appears in chat.
- visible_message("AAAAAAH!")
+ visible_message(SPAN_DANGER("AAAAAAH!"))
if(singed)
return
singed = TRUE
@@ -790,9 +790,9 @@
hug_cooldown = TRUE
addtimer(CALLBACK(src, PROC_REF(reset_hugdown)), 5 SECONDS) //Hug interactions only put the plushie on a 5 second cooldown.
if(singed)//If the plushie is water damaged it'll say Ow instead of talking in wingdings.
- visible_message("Ow...")
+ visible_message(SPAN_DANGER("Ow..."))
else//If the plushie has not touched water they'll say Greetings in wingdings.
- visible_message("☝︎❒︎♏︎♏︎⧫︎♓︎■︎♑︎⬧︎📬︎")
+ visible_message(SPAN_DANGER("☝︎❒︎♏︎♏︎⧫︎♓︎■︎♑︎⬧︎📬︎"))
/obj/item/toy/plushie/voxplushie
name = "vox plushie"
@@ -811,7 +811,7 @@
return FINISH_ATTACK
if(istype(attacking, /obj/item/food/sliced/bread))
new /obj/item/food/toast(get_turf(loc))
- to_chat(user, "You insert bread into the toaster.")
+ to_chat(user, SPAN_NOTICE("You insert bread into the toaster."))
playsound(loc, 'sound/machines/ding.ogg', 50, 1)
qdel(attacking)
return FINISH_ATTACK
@@ -963,7 +963,7 @@
/obj/item/toy/plushie/skrellplushie/examine(mob/user)
. = ..()
- . += "Alt-click to put something small inside the headpocket, or take an item out."
+ . += SPAN_NOTICE("Alt-click to put something small inside the headpocket, or take an item out.")
/obj/item/toy/plushie/skrellplushie/AltClick(mob/user)
if(!Adjacent(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
@@ -974,23 +974,23 @@
if(!I)
if(!headpocket_item)
return
- to_chat(user, "You remove [headpocket_item] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [headpocket_item] from [src]."))
headpocket_item.forceMove(get_turf(src))
user.put_in_hands(headpocket_item)
headpocket_item = null
return
if(I.w_class > WEIGHT_CLASS_SMALL)
- to_chat(user, "You cannot fit [I] in [src]!")
+ to_chat(user, SPAN_WARNING("You cannot fit [I] in [src]!"))
return
if(!iscarbon(user))
return
if(headpocket_item)
- to_chat(user, "[src] already has an item in its headpocket!")
+ to_chat(user, SPAN_WARNING("[src] already has an item in its headpocket!"))
return
if(!user.drop_item())
- to_chat(user, "You cannot slip [I] inside [src]!")
+ to_chat(user, SPAN_WARNING("You cannot slip [I] inside [src]!"))
return
- user.visible_message("[user] places [I] into [src].", "You place [I] into [src].")
+ user.visible_message(SPAN_NOTICE("[user] places [I] into [src]."), SPAN_NOTICE("You place [I] into [src]."))
add_fingerprint(user)
I.forceMove(src)
headpocket_item = I
@@ -1023,9 +1023,9 @@
/obj/item/toy/plushie/borgplushie/examine(mob/user)
. = ..()
if(!plushie_module_selected)
- . += "Alt-Click [src] to select a module."
+ . += SPAN_NOTICE("Alt-Click [src] to select a module.")
else
- . += "You can use a cyborg module reset board to change [src] back into standard mode."
+ . += SPAN_NOTICE("You can use a cyborg module reset board to change [src] back into standard mode.")
/obj/item/toy/plushie/borgplushie/AltClick(mob/user)
if(!istype(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
@@ -1060,7 +1060,7 @@
return
borg_plushie_overlay = plushie_module_overlays[user_selection]
- to_chat(user, "The fabric on [src] changes color, transforming it into \a [lowertext(user_selection)] plush!")
+ to_chat(user, SPAN_NOTICE("The fabric on [src] changes color, transforming it into \a [lowertext(user_selection)] plush!"))
update_icon()
plushie_module_selected = TRUE
@@ -1069,12 +1069,12 @@
return ..()
if(!plushie_module_selected)
- to_chat(user, "[src] is already in standard mode!")
+ to_chat(user, SPAN_WARNING("[src] is already in standard mode!"))
return ITEM_INTERACT_COMPLETE
borg_plushie_overlay = "plushie_borgassist"
update_icon()
- to_chat(user, "The fabric on [src] changes color, reverting it back to standard mode.")
+ to_chat(user, SPAN_NOTICE("The fabric on [src] changes color, reverting it back to standard mode."))
plushie_module_selected = FALSE
qdel(used)
return ITEM_INTERACT_COMPLETE
@@ -1103,12 +1103,12 @@
/obj/item/toy/plushie/borgplushie/extinguish_light(force = FALSE)
if(!force)
if(on)
- visible_message("[src]'s light grows dim...")
+ visible_message(SPAN_DANGER("[src]'s light grows dim..."))
on = !on
update_brightness()
else
atom_say("Self-destruct command received!")
- visible_message("[src] explodes!")
+ visible_message(SPAN_DANGER("[src] explodes!"))
var/turf/T = get_turf(src)
playsound(T, 'sound/goonstation/effects/robogib.ogg', 50, TRUE)
robogibs(T)
@@ -1155,7 +1155,7 @@
if(found_grenade)
return FINISH_ATTACK
new /obj/item/toy/plushie/dionaplushie(get_turf(loc))
- to_chat(user, "The nymph plushies combine seamlessly into an diona plushie!")
+ to_chat(user, SPAN_NOTICE("The nymph plushies combine seamlessly into an diona plushie!"))
playsound(loc, 'sound/voice/dionatalk1.ogg', 50, TRUE)
qdel(NP)
qdel(src)
@@ -1185,7 +1185,7 @@
bakoom()
/obj/item/toy/plushie/plasmamanplushie/proc/bakoom()
- visible_message("[src] explodes!")
+ visible_message(SPAN_DANGER("[src] explodes!"))
if(grenade)
explosive_betrayal(grenade)
explosion(get_turf(src), -1, 0, 1, 1, flame_range = 1, cause = "Plasmaman plushie caught on fire")
@@ -1204,10 +1204,10 @@
return FINISH_ATTACK
if(istype(attacking, /obj/item/soap))
if(prob(20))
- visible_message("[src] consumes the soap...")
+ visible_message(SPAN_DANGER("[src] consumes the soap..."))
qdel(attacking)
return FINISH_ATTACK
- visible_message("[src] munches the soap...")
+ visible_message(SPAN_DANGER("[src] munches the soap..."))
playsound(loc, 'sound/items/eatfood.ogg', 50, TRUE)
/obj/item/toy/plushie/kidanplushie
@@ -1222,12 +1222,12 @@
if(..())
return
if(prob(10) && sadbug)
- visible_message("[src] begins to cheer up!")
+ visible_message(SPAN_NOTICE("[src] begins to cheer up!"))
icon_state = "plushie_kidan"
sadbug = FALSE
/obj/item/toy/plushie/kidanplushie/proc/make_cry()
- visible_message("[src] starts to cry...")
+ visible_message(SPAN_DANGER("[src] starts to cry..."))
icon_state = "plushie_kidansad"
sadbug = TRUE
@@ -1276,19 +1276,19 @@
if(..())
return
if(!active)
- to_chat(user, "You wind up [src], it begins to rumble.")
+ to_chat(user, SPAN_NOTICE("You wind up [src], it begins to rumble."))
active = TRUE
update_icon(UPDATE_OVERLAYS)
playsound(src, 'sound/effects/pope_entry.ogg', 100)
animate_rumble(src)
addtimer(CALLBACK(src, PROC_REF(stopRumble)), 60 SECONDS)
else
- to_chat(user, "[src] is already active!")
+ to_chat(user, SPAN_WARNING("[src] is already active!"))
/obj/item/toy/windup_toolbox/proc/stopRumble()
active = FALSE
update_icon(UPDATE_OVERLAYS)
- visible_message("[src] slowly stops rattling and falls still, its latch snapping shut.") //subtle difference
+ visible_message(SPAN_WARNING("[src] slowly stops rattling and falls still, its latch snapping shut.")) //subtle difference
playsound(loc, 'sound/weapons/batonextend.ogg', 100, TRUE)
animate(src, transform = matrix())
@@ -1308,7 +1308,7 @@
return FINISH_ATTACK
playsound(src.loc, 'sound/weapons/flash.ogg', 100, 1)
flick("[initial(icon_state)]2", src)
- user.visible_message("[user] blinds [target] with the flash!")
+ user.visible_message(SPAN_DISARM("[user] blinds [target] with the flash!"))
/*
@@ -1326,11 +1326,11 @@
if(..())
return
if(cooldown >= world.time)
- to_chat(user, "Nothing happens.")
+ to_chat(user, SPAN_ALERT("Nothing happens."))
return
cooldown = (world.time + 300) // Sets cooldown at 30 seconds
- user.visible_message("[user] presses the big red button.", "You press the button, it plays a loud noise!", "The button clicks loudly.")
+ user.visible_message(SPAN_WARNING("[user] presses the big red button."), SPAN_NOTICE("You press the button, it plays a loud noise!"), SPAN_NOTICE("The button clicks loudly."))
playsound(src, 'sound/effects/explosionfar.ogg', 50, FALSE, 0)
flick("bigred_press", src)
for(var/mob/M in range(10, src)) // Checks range
@@ -1353,9 +1353,9 @@
if(..() || cooldown) //for the sanity of everyone
return
var/message = generate_ion_law()
- to_chat(user, "You press the button on [src].")
+ to_chat(user, SPAN_NOTICE("You press the button on [src]."))
playsound(user, 'sound/machines/click.ogg', 20, TRUE)
- visible_message("[bicon(src)] [message]")
+ visible_message(SPAN_DANGER("[bicon(src)] [message]"))
cooldown = 1
spawn(30) cooldown = 0
@@ -1372,14 +1372,14 @@
if(..() || cooldown)
return
user.visible_message(
- "[user] presses the button on \the [src].",
- "You press the button on \the [src].",
- "You hear a soft click.")
+ SPAN_NOTICE("[user] presses the button on \the [src]."),
+ SPAN_NOTICE("You press the button on \the [src]."),
+ SPAN_NOTICE("You hear a soft click."))
playsound(loc, 'sound/machines/click.ogg', 20, TRUE)
cooldown = TRUE
addtimer(VARSET_CALLBACK(src, cooldown, FALSE), 60)
for(var/message in pick(messages))
- user.loc.visible_message("[bicon(src)] [message]")
+ user.loc.visible_message(SPAN_DANGER("[bicon(src)] [message]"))
sleep(10)
// DND Character minis. Use the naming convention (type)character for the icon states.
@@ -1432,7 +1432,7 @@
/obj/item/toy/pet_rock/activate_self(mob/user)
. = ..()
var/cuddle_verb = pick("admires", "respects", "cherises", "appreciates")
- user.visible_message("[user] [cuddle_verb] [src].")
+ user.visible_message(SPAN_NOTICE("[user] [cuddle_verb] [src]."))
/obj/item/toy/pet_rock/fred
name = "fred"
@@ -1459,13 +1459,13 @@
if(..())
return
if(stored_minature)
- to_chat(user, "\The [src] makes a violent grinding noise as it tears apart the miniature figure inside!")
+ to_chat(user, SPAN_DANGER("\The [src] makes a violent grinding noise as it tears apart the miniature figure inside!"))
QDEL_NULL(stored_minature)
playsound(user, 'sound/goonstation/effects/gib.ogg', 20, 1)
cooldown = world.time
if(cooldown < world.time - 8)
- to_chat(user, "You hit the gib button on \the [src].")
+ to_chat(user, SPAN_NOTICE("You hit the gib button on \the [src]."))
playsound(user, 'sound/goonstation/effects/gib.ogg', 20, 1)
cooldown = world.time
@@ -1473,16 +1473,16 @@
if(..())
return FINISH_ATTACK
if(istype(attacking,/obj/item/toy/character) && attacking.loc == user)
- to_chat(user, "You start feeding \the [attacking] [bicon(attacking)] into \the [src]'s mini-input.")
+ to_chat(user, SPAN_NOTICE("You start feeding \the [attacking] [bicon(attacking)] into \the [src]'s mini-input."))
if(do_after(user, 10, target = src))
if(attacking.loc != user)
- to_chat(user, "\The [attacking] is too far away to feed into \the [src]!")
+ to_chat(user, SPAN_ALERT("\The [attacking] is too far away to feed into \the [src]!"))
else
- to_chat(user, "You feed \the [attacking] [bicon(attacking)] into \the [src]!")
+ to_chat(user, SPAN_NOTICE("You feed \the [attacking] [bicon(attacking)] into \the [src]!"))
user.transfer_item_to(attacking, src)
stored_minature = attacking
else
- to_chat(user, "You stop feeding \the [attacking] into \the [src]'s mini-input.")
+ to_chat(user, SPAN_WARNING("You stop feeding \the [attacking] into \the [src]'s mini-input."))
return FINISH_ATTACK
/obj/item/toy/russian_revolver
@@ -1508,7 +1508,7 @@
var/cursed_shot = FALSE
/obj/item/toy/russian_revolver/suicide_act(mob/user)
- user.visible_message("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] quickly loads six bullets into [src]'s cylinder and points it at [user.p_their()] head before pulling the trigger! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1)
return BRUTELOSS
@@ -1520,10 +1520,10 @@
if(..())
return
if(!bullets_left)
- user.visible_message("[user] loads a bullet into [src]'s cylinder before spinning it.")
+ user.visible_message(SPAN_WARNING("[user] loads a bullet into [src]'s cylinder before spinning it."))
spin_cylinder()
else
- user.visible_message("[user] spins the cylinder on [src]!")
+ user.visible_message(SPAN_WARNING("[user] spins the cylinder on [src]!"))
spin_cylinder()
/obj/item/toy/russian_revolver/interact_with_atom(atom/target, mob/living/user, list/modifiers)
@@ -1547,7 +1547,7 @@
/obj/item/toy/russian_revolver/proc/shoot_gun(mob/living/carbon/human/user)
if(bullets_left > 1)
bullets_left--
- user.visible_message("*click*")
+ user.visible_message(SPAN_DANGER("*click*"))
playsound(src, 'sound/weapons/empty.ogg', 100, 1)
return FALSE
if(bullets_left == 1)
@@ -1556,13 +1556,13 @@
if(!(user.has_organ(zone))) // If they somehow don't have a head.
zone = "chest"
playsound(src, 'sound/weapons/gunshots/gunshot_strong.ogg', 50, 1)
- user.visible_message("[src] goes off!")
+ user.visible_message(SPAN_DANGER("[src] goes off!"))
post_shot(user)
if(cursed_shot)
var/obj/item/soulstone/anybody/SS = new /obj/item/soulstone/anybody(get_turf(src))
SS.transfer_soul("FORCE", user)
user.death(FALSE)
- user.visible_message("[user.name]'s soul is captured by [src]!", "You've lost the gamble! Your soul is forfeit!")
+ user.visible_message(SPAN_DANGER("[user.name]'s soul is captured by [src]!"), SPAN_USERDANGER("You've lost the gamble! Your soul is forfeit!"))
user.apply_damage(300, BRUTE, zone, sharp = TRUE, used_weapon = "Self-inflicted gunshot wound to the [zone].")
user.bleed(BLOOD_VOLUME_NORMAL)
user.death() // Just in case
@@ -1570,7 +1570,7 @@
SSblackbox.record_feedback("nested tally", "TDM_quitouts", 1, list(SSticker.mode.name, "TDM Revolver Suicide"))
return TRUE
else
- to_chat(user, "[src] needs to be reloaded.")
+ to_chat(user, SPAN_WARNING("[src] needs to be reloaded."))
return FALSE
/obj/item/toy/russian_revolver/soul
@@ -1881,7 +1881,7 @@
/obj/item/toy/figure/xeno/activate(mob/user)
- user.visible_message("[user] pulls back the string on [src].")
+ user.visible_message(SPAN_NOTICE("[user] pulls back the string on [src]."))
icon_state = "[initial(icon_state)]_used"
addtimer(CALLBACK(src, PROC_REF(hiss)), 0.5 SECONDS)
@@ -1894,7 +1894,7 @@
icon_state = "[initial(icon_state)]"
/obj/item/toy/figure/xeno/on_cooldown(mob/user)
- to_chat(user, "The string on [src] hasn't rewound all the way!")
+ to_chat(user, SPAN_WARNING("The string on [src] hasn't rewound all the way!"))
/obj/item/toy/figure/owl
name = "\improper Owl action figure"
@@ -1903,9 +1903,9 @@
/obj/item/toy/figure/owl/activate(mob/user)
var/message = pick("You won't get away this time, Griffin!", "Stop right there, criminal!", "Hoot! Hoot!", "I am the night!")
- to_chat(user, "You pull the string on [src].")
+ to_chat(user, SPAN_NOTICE("You pull the string on [src]."))
playsound(src, 'sound/creatures/hoot.ogg', 25, TRUE)
- atom_say("[message]")
+ atom_say(SPAN_DANGER("[message]"))
/obj/item/toy/figure/griffin
name = "\improper Griffin action figure"
@@ -1915,9 +1915,9 @@
/obj/item/toy/figure/griffin/activate(mob/user)
var/message = pick("You can't stop me, Owl!", "My plan is flawless! The vault is mine!", "Caaaawwww!", "You will never catch me!")
- to_chat(user, "You pull the string on [src].")
+ to_chat(user, SPAN_NOTICE("You pull the string on [src]."))
playsound(src, 'sound/creatures/caw.ogg', 25, TRUE)
- atom_say("[message]")
+ atom_say(SPAN_DANGER("[message]"))
/*
* Mech prizes
@@ -1928,7 +1928,7 @@
//all credit to skasi for toy mech fun ideas
/obj/item/toy/figure/mech/activate(mob/user)
- to_chat(user, "You play with [src].")
+ to_chat(user, SPAN_NOTICE("You play with [src]."))
playsound(src, 'sound/mecha/mechstep.ogg', 20, TRUE)
/obj/item/toy/figure/mech/ripley
@@ -2003,8 +2003,8 @@
if(..() || cooldown)
return
var/answer = pick(possible_answers)
- user.visible_message("[user] focuses on [user.p_their()] question and [use_action]...")
- user.visible_message("[bicon(src)] [src] says \"[answer]\"")
+ user.visible_message(SPAN_NOTICE("[user] focuses on [user.p_their()] question and [use_action]..."))
+ user.visible_message(SPAN_NOTICE("[bicon(src)] [src] says \"[answer]\""))
spawn(30)
cooldown = 0
diff --git a/code/game/objects/items/weapons/alien_specific.dm b/code/game/objects/items/weapons/alien_specific.dm
index e189c56c096..c817e604543 100644
--- a/code/game/objects/items/weapons/alien_specific.dm
+++ b/code/game/objects/items/weapons/alien_specific.dm
@@ -35,11 +35,11 @@
. = TRUE
if(istype(A, /obj/structure/reagent_dispensers) && get_dist(src,A) <= 1)
if(!A.reagents.total_volume && A.reagents)
- to_chat(user, "\The [A] is empty.")
+ to_chat(user, SPAN_NOTICE("\The [A] is empty."))
return
if(reagents.total_volume >= reagents.maximum_volume)
- to_chat(user, "\The [src] is full.")
+ to_chat(user, SPAN_NOTICE("\The [src] is full."))
return
reagents.remove_reagent(25,"water")
var/datum/effect_system/smoke_spread/bad/smoke = new
diff --git a/code/game/objects/items/weapons/batons.dm b/code/game/objects/items/weapons/batons.dm
index f55b6653ebf..fd67d06ced4 100644
--- a/code/game/objects/items/weapons/batons.dm
+++ b/code/game/objects/items/weapons/batons.dm
@@ -41,8 +41,8 @@
add_fingerprint(user)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- user.visible_message("[user] accidentally clubs [user.p_themselves()] with [src]!", \
- "You accidentally club yourself with [src]!")
+ user.visible_message(SPAN_DANGER("[user] accidentally clubs [user.p_themselves()] with [src]!"), \
+ SPAN_USERDANGER("You accidentally club yourself with [src]!"))
user.KnockDown(knockdown_duration)
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -74,8 +74,8 @@
if(HAS_TRAIT_FROM(target, TRAIT_WAS_BATONNED, user_UID)) // prevents double baton cheese.
return FALSE
if(issilicon(target))
- user.visible_message("[user] pulses [target]'s sensors with [src]!",\
- "You pulse [target]'s sensors with [src]!")
+ user.visible_message(SPAN_DANGER("[user] pulses [target]'s sensors with [src]!"),\
+ SPAN_DANGER("You pulse [target]'s sensors with [src]!"))
on_silicon_stun(target, user)
// Check for shield/countering
@@ -83,13 +83,13 @@
var/mob/living/carbon/human/H = target
if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK))
return FALSE
- user.visible_message("[user] knocks down [target] with [src]!",\
- "You knock down [target] with [src]!")
+ user.visible_message(SPAN_DANGER("[user] knocks down [target] with [src]!"),\
+ SPAN_DANGER("You knock down [target] with [src]!"))
on_non_silicon_stun(target, user)
else if(isbot(target))
- user.visible_message("[user] pulses [target]'s sensors with [src]!",\
- "You pulse [target]'s sensors with [src]!")
+ user.visible_message(SPAN_DANGER("[user] pulses [target]'s sensors with [src]!"),\
+ SPAN_DANGER("You pulse [target]'s sensors with [src]!"))
var/mob/living/simple_animal/bot/H = target
H.disable(stun_time_silicon)
// Visuals and sound
@@ -190,14 +190,14 @@
on = !on
icon_state = on ? icon_state_on : icon_state_off
if(on)
- to_chat(user, "You extend [src].")
+ to_chat(user, SPAN_WARNING("You extend [src]."))
worn_icon_state = worn_icon_state_on
inhand_icon_state = inhand_icon_state_on
w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance
force = force_on //stunbaton damage
attack_verb = attack_verb_on
else
- to_chat(user, "You collapse [src].")
+ to_chat(user, SPAN_NOTICE("You collapse [src]."))
worn_icon_state = null
inhand_icon_state = null //no sprite for concealment even when in hand
w_class = WEIGHT_CLASS_SMALL
diff --git a/code/game/objects/items/weapons/bee_briefcase.dm b/code/game/objects/items/weapons/bee_briefcase.dm
index f1697aa814e..95d15ecd728 100644
--- a/code/game/objects/items/weapons/bee_briefcase.dm
+++ b/code/game/objects/items/weapons/bee_briefcase.dm
@@ -22,20 +22,20 @@
. = ..()
if(loc == user)
if(bees_left)
- . += "There are [bees_left] bees still inside in briefcase!"
+ . += SPAN_WARNING("There are [bees_left] bees still inside in briefcase!")
else
- . += "The bees are gone... Colony collapse disorder?"
+ . += SPAN_DANGER("The bees are gone... Colony collapse disorder?")
if(isAntag(user))
- . += "A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it. Exotic blood cannot be used."
+ . += SPAN_WARNING("A briefcase filled with deadly bees, you should inject this with a syringe of your own blood before opening it. Exotic blood cannot be used.")
/obj/item/bee_briefcase/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/reagent_containers/syringe))
var/obj/item/reagent_containers/syringe/S = I
if(!bees_left)
- to_chat(user, "The briefcase is empty, so there is no point in injecting something into it.")
+ to_chat(user, SPAN_WARNING("The briefcase is empty, so there is no point in injecting something into it."))
return
if(S.reagents && S.reagents.total_volume)
- to_chat(user, "You inject [src] with [S].")
+ to_chat(user, SPAN_NOTICE("You inject [src] with [S]."))
for(var/datum/reagent/A in S.reagents.reagent_list)
if(A.id == "blood")
if(!(A.data["donor"] in blood_list))
@@ -43,9 +43,9 @@
if(A.id == "lazarus_reagent") //RELOAD THE BEES (1 bee per 1 unit, max 15 bees)
if(bees_left < 15)
bees_left = min(15, round((bees_left + A.volume), 1)) //No partial bees, max 15 bees in case at any given time
- to_chat(user, "The buzzing inside the briefcase intensifies as new bees form inside.")
+ to_chat(user, SPAN_WARNING("The buzzing inside the briefcase intensifies as new bees form inside."))
else
- to_chat(user, "The buzzing inside the briefcase swells momentarily, then returns to normal. Guess it was too cramped...")
+ to_chat(user, SPAN_WARNING("The buzzing inside the briefcase swells momentarily, then returns to normal. Guess it was too cramped..."))
S.reagents.clear_reagents()
S.update_icon()
else if(istype(I, /obj/item/reagent_containers/spray/pestspray))
@@ -56,7 +56,7 @@
/obj/item/bee_briefcase/attack_self__legacy__attackchain(mob/user)
var/bees_released
if(!bees_left)
- to_chat(user, "The lack of all and any bees at this event has been somewhat of a let-down...")
+ to_chat(user, SPAN_DANGER("The lack of all and any bees at this event has been somewhat of a let-down..."))
return
else
if(world.time >= next_sound) //This cooldown doesn't prevent us from releasing bees, just stops the sound
diff --git a/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm b/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm
index 72a94c9d599..08f956d96cb 100644
--- a/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm
+++ b/code/game/objects/items/weapons/bio_chips/bio_chip_freedom.dm
@@ -16,7 +16,7 @@
C_imp_in.clear_restraints()
for(var/obj/item/grab/G in C_imp_in.grabbed_by)
var/mob/living/carbon/M = G.assailant
- C_imp_in.visible_message("[C_imp_in] suddenly shocks [M] from their wrists and slips out of their grab!")
+ C_imp_in.visible_message(SPAN_WARNING("[C_imp_in] suddenly shocks [M] from their wrists and slips out of their grab!"))
M.Stun(2 SECONDS) //Drops the grab
M.apply_damage(2, BURN, BODY_ZONE_PRECISE_R_HAND, M.run_armor_check(BODY_ZONE_PRECISE_R_HAND, ENERGY))
M.apply_damage(2, BURN, BODY_ZONE_PRECISE_L_HAND, M.run_armor_check(BODY_ZONE_PRECISE_L_HAND, ENERGY))
diff --git a/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm b/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm
index 7d6fee1e4c3..8db1eb4c288 100644
--- a/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm
+++ b/code/game/objects/items/weapons/chemical_flamethrower/chemical_flamethrower.dm
@@ -74,15 +74,15 @@
/obj/item/chemical_flamethrower/attackby__legacy__attackchain(obj/item/I, mob/user, params)
. = ..()
if(!istype(I, /obj/item/chemical_canister))
- to_chat(user, "You can't fit [I] in there!")
+ to_chat(user, SPAN_NOTICE("You can't fit [I] in there!"))
return
if(length(canisters) >= max_canisters)
- to_chat(user, "[src] is already full!")
+ to_chat(user, SPAN_NOTICE("[src] is already full!"))
return
if(user.transfer_item_to(I, src))
canisters += I
- to_chat(user, "You put [I] into [src].")
+ to_chat(user, SPAN_NOTICE("You put [I] into [src]."))
update_canister_stats()
/obj/item/chemical_flamethrower/proc/update_canister_stats()
@@ -120,11 +120,11 @@
return
if(user.mind?.martial_art?.no_guns)
- to_chat(user, "[user.mind.martial_art.no_guns_message]")
+ to_chat(user, SPAN_WARNING("[user.mind.martial_art.no_guns_message]"))
return
if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS))
- to_chat(user, "Your meaty finger is far too large for the trigger guard!")
+ to_chat(user, SPAN_WARNING("Your meaty finger is far too large for the trigger guard!"))
return
if(user.get_active_hand() == src) // Make sure our user is still holding us
@@ -143,7 +143,7 @@
if(iswallturf(T)) // No going through walls
break
if(!use_ammo(ammo_usage))
- to_chat(user, "You hear a click!")
+ to_chat(user, SPAN_WARNING("You hear a click!"))
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
break // Whoops! No ammo!
@@ -257,11 +257,11 @@
return
if(has_filled_reagent && (reagents.get_master_reagent_id() != current_reagent_id))
- audible_message("[src]'s speaker beeps: chemical override started!")
+ audible_message(SPAN_NOTICE("[src]'s speaker beeps: chemical override started!"))
if(!(reagents.get_master_reagent_id() in accepted_chemicals))
reagents.clear_reagents()
- audible_message("[src]'s speaker beeps: the most present chemical isn't accepted!")
+ audible_message(SPAN_NOTICE("[src]'s speaker beeps: the most present chemical isn't accepted!"))
return
var/old_chem_id = current_reagent_id
@@ -271,7 +271,7 @@
var/has_enough_reagents = reagents.total_volume >= required_volume
if(old_chem_id == reagents.get_master_reagent_id())
- audible_message("[src]'s speaker beeps: Refill started. Need [max(required_volume - reagents.total_volume, 0)] units before refill is started.")
+ audible_message(SPAN_NOTICE("[src]'s speaker beeps: Refill started. Need [max(required_volume - reagents.total_volume, 0)] units before refill is started."))
if(has_enough_reagents)
ammo = initial(ammo)
reagents.clear_reagents()
diff --git a/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm b/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm
index e8262cdf97e..83fc300279a 100644
--- a/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm
+++ b/code/game/objects/items/weapons/chemical_flamethrower/fire_effect.dm
@@ -98,7 +98,7 @@ GLOBAL_LIST_EMPTY(flame_effects)
if(isliving(entered))
if(!damage_mob(entered))
return
- to_chat(entered, "[src] burns you!")
+ to_chat(entered, SPAN_WARNING("[src] burns you!"))
return
if(isitem(entered))
diff --git a/code/game/objects/items/weapons/chrono_eraser.dm b/code/game/objects/items/weapons/chrono_eraser.dm
index 47972cd1f1c..9bb3c6c957a 100644
--- a/code/game/objects/items/weapons/chrono_eraser.dm
+++ b/code/game/objects/items/weapons/chrono_eraser.dm
@@ -82,14 +82,14 @@
var/mob/living/user = src.loc
if(F.gun)
if(isliving(user) && F.captured)
- to_chat(user, "FAIL: [F.captured] already has an existing connection.")
+ to_chat(user, SPAN_ALERT("FAIL: [F.captured] already has an existing connection."))
src.field_disconnect(F)
else
startpos = get_turf(src)
field = F
F.gun = src
if(isliving(user) && F.captured)
- to_chat(user, "Connection established with target: [F.captured]")
+ to_chat(user, SPAN_NOTICE("Connection established with target: [F.captured]"))
/obj/item/gun/energy/chrono_gun/proc/field_disconnect(obj/structure/chrono_field/F)
@@ -98,7 +98,7 @@
if(F.gun == src)
F.gun = null
if(isliving(user) && F.captured)
- to_chat(user, "Disconnected from target: [F.captured]")
+ to_chat(user, SPAN_ALERT("Disconnected from target: [F.captured]"))
field = null
startpos = null
@@ -177,7 +177,7 @@
mob_underlay = mutable_appearance(cached_icon, "frame1")
update_icon(UPDATE_ICON_STATE)
- desc = initial(desc) + "
It appears to contain [target.name]."
+ desc = initial(desc) + "
[SPAN_NOTICE("It appears to contain [target.name].")]"
START_PROCESSING(SSobj, src)
return ..()
@@ -202,7 +202,7 @@
AM.forceMove(drop_location())
qdel(src)
else if(tickstokill <= 0)
- to_chat(captured, "As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy...")
+ to_chat(captured, SPAN_BOLDNOTICE("As the last essence of your being is erased from time, you begin to re-experience your most enjoyable memory. You feel happy..."))
var/mob/dead/observer/ghost = captured.ghostize()
if(captured.mind)
if(ghost)
diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm
index 63d71418408..3aedbc6946e 100644
--- a/code/game/objects/items/weapons/dice.dm
+++ b/code/game/objects/items/weapons/dice.dm
@@ -29,7 +29,7 @@
new /obj/item/dice/d100(src)
/obj/item/storage/bag/dice/suicide_act(mob/user)
- user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!"))
return (OXYLOSS)
/// depreciated d6, use /obj/item/dice/d6 if you actually want a d6
@@ -54,7 +54,7 @@
update_icon()
/obj/item/dice/suicide_act(mob/user)
- user.visible_message("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is gambling with death! It looks like [user.p_theyre()] trying to commit suicide!"))
return (OXYLOSS)
/obj/item/dice/d1
@@ -149,20 +149,20 @@
. = ..()
if(!used)
if(!ishuman(user) || !user.mind || iswizard(user))
- to_chat(user, "You feel the magic of the dice is restricted to ordinary humans!")
+ to_chat(user, SPAN_WARNING("You feel the magic of the dice is restricted to ordinary humans!"))
return
if(!reusable)
used = TRUE
var/turf/T = get_turf(src)
- T.visible_message("[src] flares briefly.")
+ T.visible_message(SPAN_USERDANGER("[src] flares briefly."))
addtimer(CALLBACK(src, PROC_REF(effect), user, .), 1 SECONDS)
/obj/item/dice/d20/fate/equipped(mob/user, slot)
if(!ishuman(user) || !user.mind || iswizard(user))
- to_chat(user, "You feel the magic of the dice is restricted to ordinary humans! You should leave it alone.")
+ to_chat(user, SPAN_WARNING("You feel the magic of the dice is restricted to ordinary humans! You should leave it alone."))
user.drop_item_to_ground(src)
/obj/item/dice/d20/fate/proc/create_smoke(amount)
@@ -175,20 +175,20 @@
switch(roll)
if(1)
//Dust
- T.visible_message("[user] turns to dust!")
+ T.visible_message(SPAN_USERDANGER("[user] turns to dust!"))
user.dust()
if(2)
//Death
- T.visible_message("[user] suddenly dies!")
+ T.visible_message(SPAN_USERDANGER("[user] suddenly dies!"))
user.death()
if(3)
//Swarm of creatures
- T.visible_message("A swarm of creatures surround [user]!")
+ T.visible_message(SPAN_USERDANGER("A swarm of creatures surround [user]!"))
for(var/direction in GLOB.alldirs)
new /mob/living/basic/netherworld(get_step(get_turf(user), direction))
if(4)
//Destroy Equipment
- T.visible_message("Everything [user] is holding and wearing disappears!")
+ T.visible_message(SPAN_USERDANGER("Everything [user] is holding and wearing disappears!"))
for(var/obj/item/I in user)
if(istype(I, /obj/item/bio_chip))
continue
@@ -199,48 +199,48 @@
playsound(get_turf(user), 'sound/machines/ding.ogg', 100, 1)
var/obj/fresh_toast = new /obj/item/food/toast(get_turf(user))
fresh_toast.desc += " It came out of [user]!"
- to_chat(user, "Your internal structure is getting really toasty!")
+ to_chat(user, SPAN_USERDANGER("Your internal structure is getting really toasty!"))
user.gib()
return
- T.visible_message("[user] transforms into a monkey!")
+ T.visible_message(SPAN_USERDANGER("[user] transforms into a monkey!"))
user.monkeyize()
if(6)
//Cut speed
- T.visible_message("[user] starts moving slower!")
+ T.visible_message(SPAN_USERDANGER("[user] starts moving slower!"))
var/datum/species/S = user.dna.species
S.speed_mod += 1
if(7)
//Throw
- T.visible_message("Unseen forces throw [user]!")
+ T.visible_message(SPAN_USERDANGER("Unseen forces throw [user]!"))
user.Stun(12 SECONDS)
user.adjustBruteLoss(50)
var/atom/throw_target = get_edge_target_turf(user, pick(GLOB.cardinal))
user.throw_at(throw_target, 200, 4)
if(8)
//Fueltank Explosion
- T.visible_message("An explosion bursts into existence around [user]!")
+ T.visible_message(SPAN_USERDANGER("An explosion bursts into existence around [user]!"))
explosion(get_turf(user), -1, 0, 2, flame_range = 2, cause = "Die of fate: fuel tank explosion")
if(9)
//Cold
var/datum/disease/D = new /datum/disease/cold()
- T.visible_message("[user] looks a little under the weather!")
+ T.visible_message(SPAN_USERDANGER("[user] looks a little under the weather!"))
user.ForceContractDisease(D)
if(10)
//Nothing
- T.visible_message("Nothing seems to happen.")
+ T.visible_message(SPAN_USERDANGER("Nothing seems to happen."))
if(11)
//Cookie
- T.visible_message("A cookie appears out of thin air!")
+ T.visible_message(SPAN_USERDANGER("A cookie appears out of thin air!"))
var/obj/item/food/cookie/C = new(drop_location())
create_smoke(2)
C.name = "Cookie of Fate"
if(12)
//Healing
- T.visible_message("[user] looks very healthy!")
+ T.visible_message(SPAN_USERDANGER("[user] looks very healthy!"))
user.revive()
if(13)
//Mad Dosh
- T.visible_message("Mad dosh shoots out of [src]!")
+ T.visible_message(SPAN_USERDANGER("Mad dosh shoots out of [src]!"))
var/turf/Start = get_turf(src)
for(var/direction in GLOB.alldirs)
var/turf/dirturf = get_step(Start, direction)
@@ -270,7 +270,7 @@
/obj/item/bio_chip_implanter/storage,
/obj/item/toy/syndicateballoon)
var/selected_item = pick(traitor_items)
- T.visible_message("A suspicious item appears!")
+ T.visible_message(SPAN_USERDANGER("A suspicious item appears!"))
new selected_item(drop_location())
create_smoke(2)
if(15)
@@ -280,12 +280,12 @@
/obj/item/spellbook/oneuse/knock,
/obj/item/spellbook/oneuse/summonitem)
var/selected_spellbook = pick(oneuse_spellbook)
- T.visible_message("A magical looking book drops to the floor!")
+ T.visible_message(SPAN_USERDANGER("A magical looking book drops to the floor!"))
create_smoke(2)
new selected_spellbook(drop_location())
if(16)
//Servant & Servant Summon
- T.visible_message("A Dice Servant appears in a cloud of smoke!")
+ T.visible_message(SPAN_USERDANGER("A Dice Servant appears in a cloud of smoke!"))
var/mob/living/carbon/human/H = new(drop_location())
create_smoke(2)
@@ -305,29 +305,29 @@
message_admins("[ADMIN_LOOKUPFLW(C)] was spawned as Dice Servant")
H.key = C.key
dust_if_respawnable(C)
- to_chat(H, "You are a servant of [user.real_name]. You must do everything in your power to follow their orders.")
+ to_chat(H, SPAN_NOTICE("You are a servant of [user.real_name]. You must do everything in your power to follow their orders."))
var/datum/spell/summonmob/S = new
S.target_mob = H
user.mind.AddSpell(S)
if(17)
//Free Gun
- T.visible_message("An impressive gun appears!")
+ T.visible_message(SPAN_USERDANGER("An impressive gun appears!"))
create_smoke(2)
new /obj/item/gun/energy/kinetic_accelerator/experimental(drop_location())
if(18)
//Captain ID
- T.visible_message("A golden identification card appears!")
+ T.visible_message(SPAN_USERDANGER("A golden identification card appears!"))
new /obj/item/card/id/captains_spare(drop_location())
create_smoke(2)
if(19)
//Instrinct Resistance
- T.visible_message("[user] looks very robust!")
+ T.visible_message(SPAN_USERDANGER("[user] looks very robust!"))
user.physiology.brute_mod *= 0.5
user.physiology.burn_mod *= 0.5
if(20)
//Three free good dice rolls!
- T.visible_message("Critical number! [src] is rolling three times all by himself!")
+ T.visible_message(SPAN_USERDANGER("Critical number! [src] is rolling three times all by himself!"))
addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 1 SECONDS)
addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 2 SECONDS)
addtimer(CALLBACK(src, PROC_REF(effect), user, rand(1, 9) + 10), 3 SECONDS)
@@ -374,10 +374,10 @@
result = special_faces[result]
if(user != null) //Dice was rolled in someone's hand
user.visible_message("[user] has thrown [src]. It lands on [result]. [comment]",
- "You throw [src]. It lands on [result]. [comment]",
- "You hear [src] rolling, it sounds like a [fake_result].")
+ SPAN_NOTICE("You throw [src]. It lands on [result]. [comment]"),
+ SPAN_ITALICS("You hear [src] rolling, it sounds like a [fake_result]."))
else if(!throwing) //Dice was thrown and is coming to rest
- visible_message("[src] rolls to a stop, landing on [result]. [comment]")
+ visible_message(SPAN_NOTICE("[src] rolls to a stop, landing on [result]. [comment]"))
/obj/item/dice/d20/e20/diceroll(mob/user, thrown)
if(triggered)
@@ -386,12 +386,12 @@
. = ..()
if(result == 1)
- to_chat(user, "Rocks fall, you die.")
+ to_chat(user, SPAN_DANGER("Rocks fall, you die."))
user.gib()
add_attack_logs(src, user, "detonated with a roll of [result], gibbing them!", ATKLOG_FEW)
else
triggered = TRUE
- visible_message("You hear a quiet click.")
+ visible_message(SPAN_NOTICE("You hear a quiet click."))
addtimer(CALLBACK(src, PROC_REF(boom), user, result), 4 SECONDS)
/obj/item/dice/d20/e20/proc/boom(mob/user, result)
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index f4e54954290..abe5ddfc472 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -40,7 +40,7 @@
nadeassembly = A
A.master = src
assemblyattacher = user.ckey
- to_chat(user, "You add [A] to [src].")
+ to_chat(user, SPAN_NOTICE("You add [A] to [src]."))
playsound(src, 'sound/weapons/tap.ogg', 20, 1)
update_icon(UPDATE_ICON_STATE)
return
@@ -85,14 +85,14 @@
if(!flag)
return
if(ismob(AM) && AM.stat == CONSCIOUS)
- to_chat(user, "You can't get the [src] to stick to [AM]! Perhaps if [AM] was asleep or dead you could attach it?")
+ to_chat(user, SPAN_WARNING("You can't get the [src] to stick to [AM]! Perhaps if [AM] was asleep or dead you could attach it?"))
return
if(isstorage(AM) || ismodcontrol(AM))
return ..() //Let us not have people c4 themselfs. Especially with a now 1.5 second do_after
if(isobserver(AM))
- to_chat(user, "Your hand just phases through [AM]!")
+ to_chat(user, SPAN_WARNING("Your hand just phases through [AM]!"))
return
- to_chat(user, "You start planting [src].[isnull(nadeassembly) ? " The timer is set to [det_time]..." : ""]")
+ to_chat(user, SPAN_NOTICE("You start planting [src].[isnull(nadeassembly) ? " The timer is set to [det_time]..." : ""]"))
if(do_after(user, 1.5 SECONDS * toolspeed, target = AM))
if(!user.unequip(src))
@@ -126,13 +126,13 @@
plastic_overlay_target.add_overlay(plastic_overlay)
if(!nadeassembly)
- to_chat(user, "You plant the bomb. Timer counting down from [det_time].")
+ to_chat(user, SPAN_NOTICE("You plant the bomb. Timer counting down from [det_time]."))
addtimer(CALLBACK(src, PROC_REF(prime)), det_time SECONDS)
/obj/item/grenade/plastic/suicide_act(mob/user)
message_admins("[key_name_admin(user)]([ADMIN_QUE(user,"?")]) ([ADMIN_FLW(user,"FLW")]) suicided with [src.name] at ([user.x],[user.y],[user.z] - JMP)",0,1)
log_game("[key_name(user)] suicided with [name] at ([user.x],[user.y],[user.z])")
- user.visible_message("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!")
+ user.visible_message(SPAN_SUICIDE("[user] activates [src] and holds it above [user.p_their()] head! It looks like [user.p_theyre()] going out with a bang!"))
var/message_say = "FOR NO RAISIN!"
if(user.mind)
if(user.mind.special_role)
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index 82cc1449524..459f7c8f389 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -73,7 +73,7 @@
/obj/item/extinguisher/examine(mob/user)
. = ..()
if(has_safety)
- . += "The safety is [safety_active ? "on" : "off"]."
+ . += SPAN_NOTICE("The safety is [safety_active ? "on" : "off"].")
/obj/item/extinguisher/Initialize(mapload)
. = ..()
@@ -95,7 +95,7 @@
safety_active = !safety_active
icon_state = "[base_icon_state][!safety_active]"
- to_chat(user, "You [safety_active ? "enable" : "disable"] [src]'s safety.")
+ to_chat(user, SPAN_NOTICE("You [safety_active ? "enable" : "disable"] [src]'s safety."))
return ITEM_INTERACT_COMPLETE
/obj/item/extinguisher/interact_with_atom(atom/target, mob/living/user, list/modifiers)
@@ -118,16 +118,16 @@
return FALSE
if(reagents.total_volume == reagents.maximum_volume)
- to_chat(user, "[src] is already full.")
+ to_chat(user, SPAN_NOTICE("[src] is already full."))
return TRUE
var/obj/structure/reagent_dispensers/watertank/W = target
var/transferred = W.reagents.trans_to(src, reagent_capacity)
if(!transferred)
- to_chat(user, "\The [W] is empty!")
+ to_chat(user, SPAN_NOTICE("\The [W] is empty!"))
return TRUE
- to_chat(user, "[src] has been refilled with [transferred] units.")
+ to_chat(user, SPAN_NOTICE("[src] has been refilled with [transferred] units."))
playsound(loc, 'sound/effects/refill.ogg', 50, TRUE, -6)
return TRUE
@@ -142,7 +142,7 @@
return
if(reagents.total_volume < 1)
- to_chat(user, "[src] is empty.")
+ to_chat(user, SPAN_DANGER("[src] is empty."))
return
if(A.loc == user)
diff --git a/code/game/objects/items/weapons/flamethrower.dm b/code/game/objects/items/weapons/flamethrower.dm
index da68ea7167e..d93ac8cde77 100644
--- a/code/game/objects/items/weapons/flamethrower.dm
+++ b/code/game/objects/items/weapons/flamethrower.dm
@@ -62,7 +62,7 @@
/obj/item/flamethrower/can_enter_storage(obj/item/storage/S, mob/user)
if(lit)
- to_chat(user, "[S] can't hold [src] while it's lit!")
+ to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's lit!"))
return FALSE
else
return TRUE
@@ -77,37 +77,37 @@
return !isnull(cig)
if(!lit)
- to_chat(user, "You need to ignite [src] before you can use it as a lighter!")
+ to_chat(user, SPAN_WARNING("You need to ignite [src] before you can use it as a lighter!"))
return TRUE
// Pulling this off 'safely' requires years of experience, a true badass, or blind luck!
if(HAS_TRAIT(user, TRAIT_BADASS) || (user.mind.assigned_role in list("Station Engineer", "Chief Engineer", "Life Support Specialist")) || prob(50))
if(user == target)
user.visible_message(
- "[user] confidently lifts up [src] and releases a big puff of flame at [user.p_their()] [cig] to light it, like some kind of psychopath!",
- "You lift up [src] and lightly pull the trigger, lighting [cig].",
- "You hear a brief burst of flame!"
+ SPAN_WARNING("[user] confidently lifts up [src] and releases a big puff of flame at [user.p_their()] [cig] to light it, like some kind of psychopath!"),
+ SPAN_NOTICE("You lift up [src] and lightly pull the trigger, lighting [cig]."),
+ SPAN_WARNING("You hear a brief burst of flame!")
)
else
user.visible_message(
- "[user] confidently lifts up [src] and releases a big puff of flame at [target], lighting [target.p_their()] [cig.name], like some kind of psychopath!",
- "You lift up [src] and point it at [target], lightly pullling the trigger to light [target.p_their()] [cig.name] with a big puff of flame.",
- "You hear a brief burst of flame!"
+ SPAN_WARNING("[user] confidently lifts up [src] and releases a big puff of flame at [target], lighting [target.p_their()] [cig.name], like some kind of psychopath!"),
+ SPAN_NOTICE("You lift up [src] and point it at [target], lightly pullling the trigger to light [target.p_their()] [cig.name] with a big puff of flame."),
+ SPAN_WARNING("You hear a brief burst of flame!")
)
else
// You set them on fire, but at least the cigarette got lit...
if(target == user)
user.visible_message(
- "[user] carelessly lifts up [src] and releases a large burst of flame at [user.p_their()] [cig] to light it, accidentally setting [user.p_themselves()] ablaze in the process!",
- "You lift up [src] and squeeze the trigger to light [cig]. Unfortunately, you squeeze a little too hard and release a large burst of flame that sets you ablaze!",
- "You hear a plume of fire and something igniting!"
+ SPAN_DANGER("[user] carelessly lifts up [src] and releases a large burst of flame at [user.p_their()] [cig] to light it, accidentally setting [user.p_themselves()] ablaze in the process!"),
+ SPAN_USERDANGER("You lift up [src] and squeeze the trigger to light [cig]. Unfortunately, you squeeze a little too hard and release a large burst of flame that sets you ablaze!"),
+ SPAN_DANGER("You hear a plume of fire and something igniting!")
)
else
user.visible_message(
- "[user] carelessly lifts up [src] and releases a large burst of flame at [target] to light [target.p_their()] [cig.name], accidentally setting [target.p_them()] ablaze!",
+ SPAN_DANGER("[user] carelessly lifts up [src] and releases a large burst of flame at [target] to light [target.p_their()] [cig.name], accidentally setting [target.p_them()] ablaze!"),
"You lift up [src] up and point it at [target], squeezing the trigger to light [target.p_their()] [cig.name]. \
Unfortunately, your squeeze a little too hard and release large burst of flame that sets [target.p_them()] ablaze!",
- "You hear a plume of fire and something igniting!"
+ SPAN_DANGER("You hear a plume of fire and something igniting!")
)
target.adjust_fire_stacks(2)
target.IgniteMob()
@@ -121,10 +121,10 @@
if(!user)
return
if(user.mind?.martial_art?.no_guns)
- to_chat(user, "[user.mind.martial_art.no_guns_message]")
+ to_chat(user, SPAN_WARNING("[user.mind.martial_art.no_guns_message]"))
return
if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS))
- to_chat(user, "Your meaty finger is far too large for the trigger guard!")
+ to_chat(user, SPAN_WARNING("Your meaty finger is far too large for the trigger guard!"))
return
if(user.get_active_hand() == src) // Make sure our user is still holding us
var/turf/target_turf = get_turf(target)
@@ -153,7 +153,7 @@
I.forceMove(src)
ptank.forceMove(get_turf(src))
ptank = I
- to_chat(user, "You swap the plasma tank in [src]!")
+ to_chat(user, SPAN_NOTICE("You swap the plasma tank in [src]!"))
return
if(!user.drop_item())
return
@@ -191,7 +191,7 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
status = !status
- to_chat(user, "[igniter] is now [status ? "secured" : "unsecured"]!")
+ to_chat(user, SPAN_NOTICE("[igniter] is now [status ? "secured" : "unsecured"]!"))
update_icon()
/obj/item/flamethrower/return_analyzable_air()
@@ -206,22 +206,22 @@
if(ptank && isliving(user) && user.Adjacent(src))
user.put_in_hands(ptank)
ptank = null
- to_chat(user, "You remove the plasma tank from [src]!")
+ to_chat(user, SPAN_NOTICE("You remove the plasma tank from [src]!"))
update_icon()
/obj/item/flamethrower/examine(mob/user)
. = ..()
if(ptank)
- . += "[src] has \a [ptank] attached. Alt-click to remove it."
+ . += SPAN_NOTICE("[src] has \a [ptank] attached. Alt-click to remove it.")
/obj/item/flamethrower/proc/toggle_igniter(mob/user)
if(!ptank)
- to_chat(user, "Attach a plasma tank first!")
+ to_chat(user, SPAN_NOTICE("Attach a plasma tank first!"))
return
if(!status)
- to_chat(user, "Secure the igniter first!")
+ to_chat(user, SPAN_NOTICE("Secure the igniter first!"))
return
- to_chat(user, "You [lit ? "extinguish" : "ignite"] [src]!")
+ to_chat(user, SPAN_NOTICE("You [lit ? "extinguish" : "ignite"] [src]!"))
lit = !lit
if(lit)
damtype = BURN
@@ -294,7 +294,7 @@
/obj/item/flamethrower/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
var/obj/projectile/P = hitby
if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15))
- owner.visible_message("[attack_text] hits the fueltank on [owner]'s [src], rupturing it! What a shot!")
+ owner.visible_message(SPAN_DANGER("[attack_text] hits the fueltank on [owner]'s [src], rupturing it! What a shot!"))
var/turf/target_turf = get_turf(owner)
log_game("A projectile ([hitby]) detonated a flamethrower tank held by [key_name(owner)] at [COORD(target_turf)]")
igniter.ignite_turf(src,target_turf, release_amount = 100)
diff --git a/code/game/objects/items/weapons/garrote.dm b/code/game/objects/items/weapons/garrote.dm
index a36a2be9779..b2a79d56000 100644
--- a/code/game/objects/items/weapons/garrote.dm
+++ b/code/game/objects/items/weapons/garrote.dm
@@ -44,8 +44,8 @@
/obj/item/garrote/proc/wield(obj/item/source, mob/living/carbon/user)
if(!strangling)
return
- user.visible_message("[user] removes [src] from [strangling]'s neck.",
- "You remove [src] from [strangling]'s neck.")
+ user.visible_message(SPAN_NOTICE("[user] removes [src] from [strangling]'s neck."),
+ SPAN_WARNING("You remove [src] from [strangling]'s neck."))
strangling = null
update_icon(UPDATE_ICON_STATE)
@@ -74,7 +74,7 @@
return
if(M.dir != U.dir && !M.incapacitated())
- to_chat(user, "You cannot use [src] on [M] from that angle!")
+ to_chat(user, SPAN_WARNING("You cannot use [src] on [M] from that angle!"))
return
if(improvised && ((M.head && (M.head.flags_cover & HEADCOVERSMOUTH)) || (M.wear_mask && (M.wear_mask.flags_cover & MASKCOVERSMOUTH)))) // Improvised garrotes are blocked by mouth-covering items.
@@ -107,8 +107,8 @@
playsound(loc, 'sound/weapons/cablecuff.ogg', 15, TRUE, -10, ignore_walls = FALSE)
- M.visible_message("[U] comes from behind and begins garroting [M] with [src]!", \
- "[U] begins garroting you with [src]![improvised ? "" : " You are unable to speak!"]", \
+ M.visible_message(SPAN_DANGER("[U] comes from behind and begins garroting [M] with [src]!"), \
+ SPAN_USERDANGER("[U] begins garroting you with [src]![improvised ? "" : " You are unable to speak!"]"), \
"You hear struggling and wire strain against flesh!")
return
@@ -137,8 +137,8 @@
G = user.r_hand
else
- user.visible_message("[user] loses [user.p_their()] grip on [strangling]'s neck.", \
- "You lose your grip on [strangling]'s neck.")
+ user.visible_message(SPAN_WARNING("[user] loses [user.p_their()] grip on [strangling]'s neck."), \
+ SPAN_WARNING("You lose your grip on [strangling]'s neck."))
strangling = null
update_icon(UPDATE_ICON_STATE)
@@ -147,8 +147,8 @@
return
if(!G.affecting)
- user.visible_message("[user] loses [user.p_their()] grip on [strangling]'s neck.", \
- "You lose your grip on [strangling]'s neck.")
+ user.visible_message(SPAN_WARNING("[user] loses [user.p_their()] grip on [strangling]'s neck."), \
+ SPAN_WARNING("You lose your grip on [strangling]'s neck."))
strangling = null
update_icon(UPDATE_ICON_STATE)
@@ -173,6 +173,6 @@
/obj/item/garrote/suicide_act(mob/user)
- user.visible_message("[user] is wrapping [src] around [user.p_their()] neck and pulling the handles! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is wrapping [src] around [user.p_their()] neck and pulling the handles! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/weapons/cablecuff.ogg', 15, TRUE, -10, ignore_walls = FALSE)
return OXYLOSS
diff --git a/code/game/objects/items/weapons/gift_wrappaper.dm b/code/game/objects/items/weapons/gift_wrappaper.dm
index 5eb7875fe1d..46749524d56 100644
--- a/code/game/objects/items/weapons/gift_wrappaper.dm
+++ b/code/game/objects/items/weapons/gift_wrappaper.dm
@@ -30,20 +30,20 @@
user.put_in_active_hand(gift)
src.gift.add_fingerprint(user)
else
- to_chat(user, "The gift was empty!")
+ to_chat(user, SPAN_NOTICE("The gift was empty!"))
qdel(src)
/obj/effect/spresent/relaymove(mob/user as mob)
if(user.stat)
return
- to_chat(user, "You can't move.")
+ to_chat(user, SPAN_NOTICE("You can't move."))
/obj/effect/spresent/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(!istype(used, /obj/item/wirecutters))
- to_chat(user, "I need wirecutters for that.")
+ to_chat(user, SPAN_NOTICE("I need wirecutters for that."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You cut open the present.")
+ to_chat(user, SPAN_NOTICE("You cut open the present."))
for(var/mob/M in src) //Should only be one but whatever.
M.forceMove(loc)
qdel(src)
@@ -136,4 +136,4 @@
resistance_flags = FLAMMABLE
/obj/item/stack/wrapping_paper/attack_self__legacy__attackchain(mob/user)
- to_chat(user, "You need to use it on a package that has already been wrapped!")
+ to_chat(user, SPAN_NOTICE("You need to use it on a package that has already been wrapped!"))
diff --git a/code/game/objects/items/weapons/grenades/bananade.dm b/code/game/objects/items/weapons/grenades/bananade.dm
index d38dca7d3ff..a6311031519 100644
--- a/code/game/objects/items/weapons/grenades/bananade.dm
+++ b/code/game/objects/items/weapons/grenades/bananade.dm
@@ -47,20 +47,20 @@
deliveryamt += 1
qdel(I)
else
- to_chat(user, "The bananade is full, screwdriver it shut to ready it.")
+ to_chat(user, SPAN_NOTICE("The bananade is full, screwdriver it shut to ready it."))
return
return ..()
/obj/item/grenade/bananade/casing/screwdriver_act(mob/living/user, obj/item/I)
if(!deliveryamt)
- to_chat(user, "You need to add banana peels before you can ready the grenade!")
+ to_chat(user, SPAN_NOTICE("You need to add banana peels before you can ready the grenade!"))
return TRUE
var/obj/item/grenade/bananade/G = new /obj/item/grenade/bananade
user.drop_item_to_ground(src)
user.put_in_hands(G)
G.deliveryamt = deliveryamt
- to_chat(user, "You lock the assembly shut, readying it for HONK.")
+ to_chat(user, SPAN_NOTICE("You lock the assembly shut, readying it for HONK."))
qdel(src)
return TRUE
diff --git a/code/game/objects/items/weapons/grenades/chem_grenade.dm b/code/game/objects/items/weapons/grenades/chem_grenade.dm
index a9fe2c2a708..2ac2b408f1f 100644
--- a/code/game/objects/items/weapons/grenades/chem_grenade.dm
+++ b/code/game/objects/items/weapons/grenades/chem_grenade.dm
@@ -104,7 +104,7 @@
log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z]) [contained].")
investigate_log("[key_name(usr)] has primed a [name] for detonation at [A.name] ([bombturf.x],[bombturf.y],[bombturf.z])[contained].", INVESTIGATE_BOMB)
add_attack_logs(user, src, "has primed (contained [contained])", ATKLOG_FEW)
- to_chat(user, "You prime [src]! [det_time / 10] second\s!")
+ to_chat(user, SPAN_WARNING("You prime [src]! [det_time / 10] second\s!"))
playsound(user.loc, 'sound/weapons/armbomb.ogg', 60, 1)
active = TRUE
update_icon()
@@ -117,7 +117,7 @@
/obj/item/grenade/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
var/obj/projectile/P = hitby
if(damage && attack_type == PROJECTILE_ATTACK && P.damage_type != STAMINA && prob(15))
- owner.visible_message("[hitby] hits [owner]'s [name], setting it off! What a shot!")
+ owner.visible_message(SPAN_USERDANGER("[hitby] hits [owner]'s [name], setting it off! What a shot!"))
var/turf/T = get_turf(src)
log_game("A projectile ([hitby]) detonated a grenade held by [key_name(owner)] at [COORD(T)]")
add_attack_logs(P.firer, owner, "A projectile ([hitby]) detonated a grenade held", ATKLOG_FEW)
@@ -144,11 +144,11 @@
if(length(beakers) == 0)
container_type = TRANSPARENT // Allows to see reagents in player's made bombs
if(length(beakers) == 2)
- to_chat(user, "[src] can not hold more containers.")
+ to_chat(user, SPAN_NOTICE("[src] can not hold more containers."))
return
else
if(I.reagents.total_volume)
- to_chat(user, "You add [I] to the assembly.")
+ to_chat(user, SPAN_NOTICE("You add [I] to the assembly."))
user.drop_item()
I.forceMove(src)
beakers += I
@@ -156,7 +156,7 @@
reagents.reagent_list.Add(I.reagents.reagent_list)
reagents.update_total()
else
- to_chat(user, "[I] is empty.")
+ to_chat(user, SPAN_NOTICE("[I] is empty."))
else if(stage == EMPTY && istype(I, /obj/item/assembly_holder))
var/obj/item/assembly_holder/A = I
@@ -171,7 +171,7 @@
A.forceMove(src)
assemblyattacher = user.ckey
stage = WIRED
- to_chat(user, "You add [A] to [src]!")
+ to_chat(user, SPAN_NOTICE("You add [A] to [src]!"))
update_icon(UPDATE_ICON_STATE)
else if(stage == EMPTY && istype(I, /obj/item/stack/cable_coil))
@@ -179,16 +179,16 @@
C.use(1)
stage = WIRED
- to_chat(user, "You rig [src].")
+ to_chat(user, SPAN_NOTICE("You rig [src]."))
update_icon(UPDATE_ICON_STATE)
else if(stage == READY && istype(I, /obj/item/wirecutters))
- to_chat(user, "You unlock the assembly.")
+ to_chat(user, SPAN_NOTICE("You unlock the assembly."))
stage = WIRED
update_icon(UPDATE_ICON_STATE)
else if(stage == WIRED && iswrench(I))
- to_chat(user, "You open the grenade and remove the contents.")
+ to_chat(user, SPAN_NOTICE("You open the grenade and remove the contents."))
stage = EMPTY
payload_name = null
label = null
@@ -205,10 +205,10 @@
/obj/item/grenade/chem_grenade/screwdriver_act(mob/living/user, obj/item/I)
if(stage == WIRED)
if(!length(beakers))
- to_chat(user, "You need to add at least one beaker before locking the assembly.")
+ to_chat(user, SPAN_NOTICE("You need to add at least one beaker before locking the assembly."))
return TRUE
- to_chat(user, "You lock the assembly.")
+ to_chat(user, SPAN_NOTICE("You lock the assembly."))
playsound(loc, prime_sound, 25, -3)
stage = READY
update_icon(UPDATE_ICON_STATE)
@@ -234,11 +234,11 @@
else if(stage == READY && !nadeassembly)
det_time = det_time == 5 SECONDS ? 3 SECONDS : 5 SECONDS // Toggle between 3 and 5 seconds.
- to_chat(user, "You modify the time delay. It's set for [det_time / 10] second\s.")
+ to_chat(user, SPAN_NOTICE("You modify the time delay. It's set for [det_time / 10] second\s."))
return TRUE
else if(stage == EMPTY)
- to_chat(user, "You need to add an activation mechanism.")
+ to_chat(user, SPAN_NOTICE("You need to add an activation mechanism."))
return TRUE
/obj/item/grenade/chem_grenade/HasProximity(atom/movable/AM)
@@ -371,7 +371,7 @@
//make a special case you might as well do it explicitly. -Sayu
/obj/item/grenade/chem_grenade/large/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/slime_extract) && stage == WIRED)
- to_chat(user, "You add [I] to the assembly.")
+ to_chat(user, SPAN_NOTICE("You add [I] to the assembly."))
user.drop_item()
I.loc = src
beakers += I
@@ -413,7 +413,7 @@
unit_spread += 25
else
unit_spread = 5
- to_chat(user, "You set the time release to [unit_spread] units per detonation.")
+ to_chat(user, SPAN_NOTICE("You set the time release to [unit_spread] units per detonation."))
/obj/item/grenade/chem_grenade/adv_release/prime()
if(stage != READY)
diff --git a/code/game/objects/items/weapons/grenades/clowngrenade.dm b/code/game/objects/items/weapons/grenades/clowngrenade.dm
index 41270a01b00..4e5c6e196c3 100644
--- a/code/game/objects/items/weapons/grenades/clowngrenade.dm
+++ b/code/game/objects/items/weapons/grenades/clowngrenade.dm
@@ -32,7 +32,7 @@
AddComponent(/datum/component/slippery, src, 14 SECONDS, 100, 4, FALSE)
/obj/item/grown/bananapeel/traitorpeel/after_slip(mob/living/carbon/human/H)
- to_chat(H, "Your feet feel like they're on fire!")
+ to_chat(H, SPAN_WARNING("Your feet feel like they're on fire!"))
H.take_overall_damage(0, rand(2,8))
H.take_organ_damage(2)
return ..()
diff --git a/code/game/objects/items/weapons/grenades/clusterbuster.dm b/code/game/objects/items/weapons/grenades/clusterbuster.dm
index 875ea7cf794..7ac5b4d2708 100644
--- a/code/game/objects/items/weapons/grenades/clusterbuster.dm
+++ b/code/game/objects/items/weapons/grenades/clusterbuster.dm
@@ -11,7 +11,7 @@
/obj/item/grenade/clusterbuster/examine(mob/user)
. = ..()
- . += "Upon detonating, this grenade will explode into a shower of bomblets that will all explode individually. Be ready to run away very fast."
+ . += SPAN_NOTICE("Upon detonating, this grenade will explode into a shower of bomblets that will all explode individually. Be ready to run away very fast.")
/obj/item/grenade/clusterbuster/prime()
update_mob()
diff --git a/code/game/objects/items/weapons/grenades/firecracker.dm b/code/game/objects/items/weapons/grenades/firecracker.dm
index accbf90bbc2..6a69886c92c 100644
--- a/code/game/objects/items/weapons/grenades/firecracker.dm
+++ b/code/game/objects/items/weapons/grenades/firecracker.dm
@@ -56,9 +56,9 @@
. = ..()
if(!user.Adjacent(src))
return
- . += "[src] will sound like \a [selected_sound]."
- . += "Alt-Click to change the imitated sound."
- . += "Alt-Shift-Click to change the frequency of the sound."
+ . += "[src] will sound like \a [SPAN_WARNING("[selected_sound]")]."
+ . += "[SPAN_NOTICE("Alt-Click")] to change the imitated sound."
+ . += "[SPAN_NOTICE("Alt-Shift-Click")] to change the frequency of the sound."
/obj/item/grenade/firecracker/decoy/AltClick(mob/user)
. = ..()
@@ -66,12 +66,12 @@
return
var/selected = tgui_input_list(user, "Choose the decoy sound.", items = possible_sounds)
if(!user.Adjacent(src))
- to_chat(user, "You're too far from [src] to set the sound now!")
+ to_chat(user, SPAN_WARNING("You're too far from [src] to set the sound now!"))
return
if(selected)
selected_sound = selected
sound_effect = possible_sounds[selected]
- to_chat(user, "[src] will now sound like \a [selected].")
+ to_chat(user, SPAN_NOTICE("[src] will now sound like \a [selected]."))
/obj/item/grenade/firecracker/decoy/AltShiftClick(mob/user)
. = ..()
@@ -79,12 +79,12 @@
return
var/min_between_pops_input = tgui_input_number(user, "Select the minimum time between pops (in 1/10s of a second).", "Minimum time", min_time_between_pops, 50, 2)
if(!user.Adjacent(src))
- to_chat(user, "You need to be closer to [src] to set this!")
+ to_chat(user, SPAN_NOTICE("You need to be closer to [src] to set this!"))
return
min_time_between_pops = min_between_pops_input
var/max_between_pops_input = tgui_input_number(user, "Select the maximum time between pops (in 1/10s of a second).", "Maximum time", max_time_between_pops, 50, 2)
if(!user.Adjacent(src))
- to_chat(user, "You need to be closer to [src] to set this!")
+ to_chat(user, SPAN_NOTICE("You need to be closer to [src] to set this!"))
return
max_time_between_pops = max_between_pops_input
diff --git a/code/game/objects/items/weapons/grenades/flashbang.dm b/code/game/objects/items/weapons/grenades/flashbang.dm
index 47fc06064a5..4e2f92a0070 100644
--- a/code/game/objects/items/weapons/grenades/flashbang.dm
+++ b/code/game/objects/items/weapons/grenades/flashbang.dm
@@ -34,13 +34,13 @@
switch(det_time)
if(0.1 SECONDS)
det_time = 3 SECONDS
- to_chat(user, "You set [src] for 3 second detonation time.")
+ to_chat(user, SPAN_NOTICE("You set [src] for 3 second detonation time."))
if(3 SECONDS)
det_time = 5 SECONDS
- to_chat(user, "You set [src] for 5 second detonation time.")
+ to_chat(user, SPAN_NOTICE("You set [src] for 5 second detonation time."))
if(5 SECONDS)
det_time = 0.1 SECONDS
- to_chat(user, "You set [src] for instant detonation.")
+ to_chat(user, SPAN_NOTICE("You set [src] for instant detonation."))
add_fingerprint(user)
return TRUE
@@ -61,7 +61,7 @@
for(var/mob/living/M in hearers(range, T))
if(M.stat == DEAD)
continue
- M.show_message("BANG", 2)
+ M.show_message(SPAN_WARNING("BANG"), 2)
var/mobturf = get_turf(M)
var/distance = max(1, get_dist(source_turf, mobturf))
@@ -105,8 +105,8 @@
if(istype(ears))
ears.receive_damage(5 * pressure_factor)
if(ears.damage >= 15)
- to_chat(M, "Your ears start to ring badly!")
+ to_chat(M, SPAN_WARNING("Your ears start to ring badly!"))
if(prob(ears.damage - 5))
- to_chat(M, "You can't hear anything!")
+ to_chat(M, SPAN_WARNING("You can't hear anything!"))
else if(ears.damage >= 5)
- to_chat(M, "Your ears start to ring!")
+ to_chat(M, SPAN_WARNING("Your ears start to ring!"))
diff --git a/code/game/objects/items/weapons/grenades/frag.dm b/code/game/objects/items/weapons/grenades/frag.dm
index 62c41fe1ba2..05995e61e73 100644
--- a/code/game/objects/items/weapons/grenades/frag.dm
+++ b/code/game/objects/items/weapons/grenades/frag.dm
@@ -52,7 +52,7 @@
var/mob/living/carbon/human/human = target
if(!prob(embed_prob - ARMOUR_VALUE_TO_PERCENTAGE(human.getarmor(armor_type = BOMB))))
- to_chat(human, "Shrapnel bounces off your armor!")
+ to_chat(human, SPAN_WARNING("Shrapnel bounces off your armor!"))
return
human.try_embed_object(new_possible_embed)
diff --git a/code/game/objects/items/weapons/grenades/ghettobomb.dm b/code/game/objects/items/weapons/grenades/ghettobomb.dm
index 275992e1211..4ed86dcd04d 100644
--- a/code/game/objects/items/weapons/grenades/ghettobomb.dm
+++ b/code/game/objects/items/weapons/grenades/ghettobomb.dm
@@ -11,7 +11,7 @@
/obj/item/grenade/iedcasing/examine(mob/user)
. = ..()
- . += "You have no idea how long the fuze will last for until it explodes!"
+ . += SPAN_WARNING("You have no idea how long the fuze will last for until it explodes!")
/obj/item/grenade/iedcasing/Initialize(mapload)
. = ..()
@@ -37,7 +37,7 @@
/obj/item/grenade/iedcasing/attack_self__legacy__attackchain(mob/user) //
if(!active)
if(clown_check(user))
- to_chat(user, "You light [src]!")
+ to_chat(user, SPAN_WARNING("You light [src]!"))
active = TRUE
overlays -= "improvised_grenade_filled"
icon_state = initial(icon_state) + "_active"
diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm
index 084183c9170..4c1e309b733 100644
--- a/code/game/objects/items/weapons/grenades/grenade.dm
+++ b/code/game/objects/items/weapons/grenades/grenade.dm
@@ -28,14 +28,14 @@
return
if(det_time > 1)
- . += "The fuze is set to [det_time / 10] second\s."
+ . += SPAN_NOTICE("The fuze is set to [det_time / 10] second\s.")
else
- . += "[src] is set for instant detonation."
+ . += SPAN_WARNING("[src] is set for instant detonation.")
if(modifiable_timer)
- . += "Use a screwdriver to modify the time on the fuze."
+ . += SPAN_NOTICE("Use a screwdriver to modify the time on the fuze.")
else
- . += "The fuze's time cannot be modified."
+ . += SPAN_NOTICE("The fuze's time cannot be modified.")
/obj/item/grenade/deconstruct(disassembled = TRUE)
if(!disassembled)
@@ -45,7 +45,7 @@
/obj/item/grenade/proc/clown_check(mob/living/user)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- to_chat(user, "Huh? How does this thing work?")
+ to_chat(user, SPAN_WARNING("Huh? How does this thing work?"))
active = TRUE
icon_state = initial(icon_state) + "_active"
playsound(loc, 'sound/weapons/armbomb.ogg', 75, TRUE, -3)
@@ -62,7 +62,7 @@
if(!clown_check(user))
return
- to_chat(user, "You prime [src]! [det_time / 10] seconds!")
+ to_chat(user, SPAN_DANGER("You prime [src]! [det_time / 10] seconds!"))
active = TRUE
icon_state = initial(icon_state) + "_active"
add_fingerprint(user)
@@ -93,16 +93,16 @@
switch(det_time)
if(1 DECISECONDS)
det_time = 1 SECONDS
- to_chat(user, "You set [src] for 1 second detonation time.")
+ to_chat(user, SPAN_NOTICE("You set [src] for 1 second detonation time."))
if(1 SECONDS)
det_time = 3 SECONDS
- to_chat(user, "You set [src] for 3 second detonation time.")
+ to_chat(user, SPAN_NOTICE("You set [src] for 3 second detonation time."))
if(3 SECONDS)
det_time = 5 SECONDS
- to_chat(user, "You set [src] for 5 second detonation time.")
+ to_chat(user, SPAN_NOTICE("You set [src] for 5 second detonation time."))
if(5 SECONDS)
det_time = 1 DECISECONDS
- to_chat(user, "You set [src] for instant detonation.")
+ to_chat(user, SPAN_WARNING("You set [src] for instant detonation."))
add_fingerprint(user)
return TRUE
@@ -119,7 +119,7 @@
if(HAS_TRAIT(src, TRAIT_CMAGGED))
return FALSE
ADD_TRAIT(src, TRAIT_CMAGGED, "cmagged grenade")
- to_chat(user, "You drip some yellow ooze into [src]. [src] suddenly doesn't want to leave you...")
+ to_chat(user, SPAN_WARNING("You drip some yellow ooze into [src]. [src] suddenly doesn't want to leave you..."))
AddComponent(/datum/component/boomerang, throw_range, TRUE)
return TRUE
diff --git a/code/game/objects/items/weapons/grenades/syndieminibomb.dm b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
index 13c3111fac5..03b0dcf6342 100644
--- a/code/game/objects/items/weapons/grenades/syndieminibomb.dm
+++ b/code/game/objects/items/weapons/grenades/syndieminibomb.dm
@@ -17,13 +17,13 @@
/obj/item/grenade/syndieminibomb/fake/examine(mob/user)
. = ..()
if(HAS_TRAIT(user, TRAIT_CLUMSY))
- . += "There are small glue ejectors all over the bomb."
+ . += SPAN_SANS("There are small glue ejectors all over the bomb.")
/obj/item/grenade/syndieminibomb/fake/attack_self__legacy__attackchain(mob/user)
if(!active)
set_nodrop(TRUE, user)
- to_chat(user, "As you activate the bomb, it emits a substance that sticks to your hand! It won't come off!")
- to_chat(user, "Uh oh.")
+ to_chat(user, SPAN_USERDANGER("As you activate the bomb, it emits a substance that sticks to your hand! It won't come off!"))
+ to_chat(user, SPAN_SANS("Uh oh."))
. = ..()
/obj/item/grenade/syndieminibomb/pen
@@ -37,5 +37,5 @@
/obj/item/grenade/syndieminibomb/pen/attack_self__legacy__attackchain(mob/user)
if(!active)
- visible_message("[user] fumbles with [src]!")
+ visible_message(SPAN_NOTICE("[user] fumbles with [src]!"))
. = ..()
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 70f87d862ec..3b5163c8746 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -9,12 +9,12 @@
/obj/item/restraints/proc/attempt_resist_restraints(mob/living/carbon/user, break_cuffs, effective_breakout_time, silent)
if(effective_breakout_time)
if(!silent)
- user.visible_message("[user] attempts to [break_cuffs ? "break" : "remove"] [src]!", "You attempt to [break_cuffs ? "break" : "remove"] [src]...")
- to_chat(user, "(This will take around [DisplayTimeText(effective_breakout_time)] and you need to stand still.)")
+ user.visible_message(SPAN_WARNING("[user] attempts to [break_cuffs ? "break" : "remove"] [src]!"), SPAN_NOTICE("You attempt to [break_cuffs ? "break" : "remove"] [src]..."))
+ to_chat(user, SPAN_NOTICE("(This will take around [DisplayTimeText(effective_breakout_time)] and you need to stand still.)"))
if(!do_after(user, effective_breakout_time, FALSE, user, hidden = TRUE))
user.remove_status_effect(STATUS_EFFECT_REMOVE_CUFFS)
- to_chat(user, "You fail to [break_cuffs ? "break" : "remove"] [src]!")
+ to_chat(user, SPAN_WARNING("You fail to [break_cuffs ? "break" : "remove"] [src]!"))
return
user.remove_status_effect(STATUS_EFFECT_REMOVE_CUFFS)
@@ -25,7 +25,7 @@
/obj/item/restraints/proc/finish_resist_restraints(mob/living/carbon/user, break_cuffs, silent)
if(!silent)
- user.visible_message("[user] manages to [break_cuffs ? "break" : "remove"] [src]!", "You successfully [break_cuffs ? "break" : "remove"] [src].")
+ user.visible_message(SPAN_DANGER("[user] manages to [break_cuffs ? "break" : "remove"] [src]!"), SPAN_NOTICE("You successfully [break_cuffs ? "break" : "remove"] [src]."))
user.unequip(src)
if(break_cuffs)
@@ -61,18 +61,18 @@
/obj/item/restraints/handcuffs/attack__legacy__attackchain(mob/living/carbon/C, mob/user)
if(!user.IsAdvancedToolUser())
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_WARNING("You don't have the dexterity to do this!"))
return
if(!istype(C))
return
if(flags & NODROP)
- to_chat(user, "[src] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[src] is stuck to your hand!"))
return
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50) && (!ignoresClumsy))
- to_chat(user, "Uh... how do those things work?!")
+ to_chat(user, SPAN_WARNING("Uh... how do those things work?!"))
apply_cuffs(user, user)
return
@@ -85,24 +85,24 @@
if(ishuman(C))
var/mob/living/carbon/human/H = C
if(!(H.has_left_hand() || H.has_right_hand()))
- to_chat(user, "How do you suggest handcuffing someone with no hands?")
+ to_chat(user, SPAN_WARNING("How do you suggest handcuffing someone with no hands?"))
return FALSE
if(!C.handcuffed)
- C.visible_message("[user] is trying to put [src.name] on [C]!", \
- "[user] is trying to put [src.name] on [C]!")
+ C.visible_message(SPAN_DANGER("[user] is trying to put [src.name] on [C]!"), \
+ SPAN_USERDANGER("[user] is trying to put [src.name] on [C]!"))
playsound(loc, cuffsound, 15, TRUE, -10)
if(do_mob(user, C, 30))
apply_cuffs(C, user, remove_src)
- to_chat(user, "You handcuff [C].")
+ to_chat(user, SPAN_NOTICE("You handcuff [C]."))
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
if(breakouttime != 0)
add_attack_logs(user, C, "Handcuffed ([src])")
else
add_attack_logs(user, C, "Handcuffed (Fake/Breakable!) ([src])")
else
- to_chat(user, "You fail to handcuff [C].")
+ to_chat(user, SPAN_WARNING("You fail to handcuff [C]."))
return FALSE
/obj/item/restraints/handcuffs/proc/apply_cuffs(mob/living/carbon/target, mob/user, remove_src = TRUE)
@@ -247,7 +247,7 @@
break_cuffs = TRUE
return ..()
- visible_message("[user] manages to eat through [src]!", "You successfully eat through [src].")
+ visible_message(SPAN_DANGER("[user] manages to eat through [src]!"), SPAN_NOTICE("You successfully eat through [src]."))
playsound(loc, 'sound/items/eatfood.ogg', 50, FALSE)
if(reagents && length(reagents.reagent_list))
@@ -268,29 +268,29 @@
if(istype(I, /obj/item/stack/rods))
var/obj/item/stack/rods/R = I
if(!R.use(1))
- to_chat(user, "[R.amount > 1 ? "These rods" : "This rod"] somehow can't be used for crafting!")
+ to_chat(user, SPAN_WARNING("[R.amount > 1 ? "These rods" : "This rod"] somehow can't be used for crafting!"))
return
if(!user.unequip(src))
return
var/obj/item/wirerod/W = new /obj/item/wirerod(get_turf(src))
if(!remove_item_from_storage(user))
user.put_in_hands(W)
- to_chat(user, "You wrap the cable restraint around the top of the rod.")
+ to_chat(user, SPAN_NOTICE("You wrap the cable restraint around the top of the rod."))
qdel(src)
return
if(istype(I, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = I
if(M.amount < 6)
- to_chat(user, "You need at least six metal sheets to make good enough weights!")
+ to_chat(user, SPAN_WARNING("You need at least six metal sheets to make good enough weights!"))
return
- to_chat(user, "You begin to apply [I] to [src]...")
+ to_chat(user, SPAN_NOTICE("You begin to apply [I] to [src]..."))
if(do_after(user, 3.5 SECONDS * M.toolspeed, target = src))
if(!M.use(6) || !user.unequip(src))
return
var/obj/item/restraints/legcuffs/bola/S = new /obj/item/restraints/legcuffs/bola(get_turf(src))
- to_chat(user, "You make some weights out of [I] and tie them to [src].")
+ to_chat(user, SPAN_NOTICE("You make some weights out of [I] and tie them to [src]."))
if(!remove_item_from_storage(user))
user.put_in_hands(S)
qdel(src)
diff --git a/code/game/objects/items/weapons/highlander_swords.dm b/code/game/objects/items/weapons/highlander_swords.dm
index b9dcdfabbc6..b63bae21904 100644
--- a/code/game/objects/items/weapons/highlander_swords.dm
+++ b/code/game/objects/items/weapons/highlander_swords.dm
@@ -31,7 +31,7 @@
if(slot & ITEM_SLOT_BOTH_HANDS)
if(H.mind.martial_art != style)
style.teach(H, TRUE)
- to_chat(H, "THERE CAN ONLY BE ONE!")
+ to_chat(H, SPAN_NOTICE("THERE CAN ONLY BE ONE!"))
else if(H.mind.martial_art && H.mind.martial_art == style)
style.remove(H)
var/obj/item/claymore/highlander/sword = H.is_in_hands(/obj/item/claymore/highlander)
diff --git a/code/game/objects/items/weapons/holosign_projector.dm b/code/game/objects/items/weapons/holosign_projector.dm
index b82a233ce49..2a6f7683776 100644
--- a/code/game/objects/items/weapons/holosign_projector.dm
+++ b/code/game/objects/items/weapons/holosign_projector.dm
@@ -22,12 +22,12 @@
var/turf/T = get_turf(target)
var/obj/structure/holosign/H = locate(holosign_type) in T
if(H)
- to_chat(user, "You use [src] to deactivate [H].")
+ to_chat(user, SPAN_NOTICE("You use [src] to deactivate [H]."))
qdel(H)
else
if(!T.is_blocked_turf(exclude_mobs = TRUE)) //can't put holograms on a tile that has dense stuff
if(holocreator_busy)
- to_chat(user, "[src] is busy creating a hologram.")
+ to_chat(user, SPAN_NOTICE("[src] is busy creating a hologram."))
return
if(length(signs) < max_signs)
playsound(src.loc, 'sound/machines/click.ogg', 20, 1)
@@ -42,10 +42,10 @@
if(T.is_blocked_turf(exclude_mobs = TRUE)) //don't try to sneak dense stuff on our tile during the wait.
return
H = new holosign_type(get_turf(target), src)
- to_chat(user, "You create [H] with [src].")
+ to_chat(user, SPAN_NOTICE("You create [H] with [src]."))
return H
else
- to_chat(user, "[src] is projecting at max capacity!")
+ to_chat(user, SPAN_NOTICE("[src] is projecting at max capacity!"))
/obj/item/holosign_creator/attack__legacy__attackchain(mob/living/carbon/human/M, mob/user)
return
@@ -54,7 +54,7 @@
if(length(signs))
for(var/H in signs)
qdel(H)
- to_chat(user, "You clear all active holograms.")
+ to_chat(user, SPAN_NOTICE("You clear all active holograms."))
/obj/item/holosign_creator/janitor
name = "janitorial holosign projector"
@@ -67,14 +67,14 @@
wet_enabled = !wet_enabled
playsound(loc, 'sound/weapons/empty.ogg', 20)
if(wet_enabled)
- to_chat(user, "You enable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will clear after the likely time it takes for a mopped tile to dry.")
+ to_chat(user, SPAN_NOTICE("You enable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will clear after the likely time it takes for a mopped tile to dry."))
else
- to_chat(user, "You disable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will now stay indefinitely.")
+ to_chat(user, SPAN_NOTICE("You disable the W.E.T. (wet evaporation timer)\nAny newly placed holographic signs will now stay indefinitely."))
/obj/item/holosign_creator/janitor/examine(mob/user)
. = ..()
if(ishuman(user))
- . += "Alt Click to [wet_enabled ? "deactivate" : "activate"] its built-in wet evaporation timer."
+ . += SPAN_NOTICE("Alt Click to [wet_enabled ? "deactivate" : "activate"] its built-in wet evaporation timer.")
/obj/item/holosign_creator/janitor/afterattack__legacy__attackchain(atom/target, mob/user, flag)
@@ -128,7 +128,7 @@
var/mob/living/silicon/robot/R = user
if(shock)
- to_chat(user, "You clear all active holograms, and reset your projector to normal.")
+ to_chat(user, SPAN_NOTICE("You clear all active holograms, and reset your projector to normal."))
holosign_type = /obj/structure/holosign/barrier/cyborg
creation_time = 5
if(length(signs))
@@ -137,7 +137,7 @@
shock = 0
return
else if(R.emagged && !shock)
- to_chat(user, "You clear all active holograms, and overload your energy projector!")
+ to_chat(user, SPAN_WARNING("You clear all active holograms, and overload your energy projector!"))
holosign_type = /obj/structure/holosign/barrier/cyborg/hacked
creation_time = 30
if(length(signs))
@@ -149,8 +149,8 @@
if(length(signs))
for(var/H in signs)
qdel(H)
- to_chat(user, "You clear all active holograms.")
+ to_chat(user, SPAN_NOTICE("You clear all active holograms."))
if(length(signs))
for(var/H in signs)
qdel(H)
- to_chat(user, "You clear all active holograms.")
+ to_chat(user, SPAN_NOTICE("You clear all active holograms."))
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index 750302a7b1b..08b1dddb692 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -38,7 +38,7 @@
variant_icons += list(initial(rod.name) = image(icon = initial(rod.icon), icon_state = initial(rod.icon_state)))
/obj/item/nullrod/suicide_act(mob/user)
- user.visible_message("[user] is killing [user.p_themselves()] with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!")
+ user.visible_message(SPAN_SUICIDE("[user] is killing [user.p_themselves()] with \the [src.name]! It looks like [user.p_theyre()] trying to get closer to god!"))
return BRUTELOSS|FIRELOSS
/obj/item/nullrod/attack__legacy__attackchain(mob/M, mob/living/carbon/user)
@@ -57,8 +57,8 @@
user.adjustFireLoss(sanctify_force)
user.Weaken(10 SECONDS)
user.drop_item_to_ground(src, force = TRUE)
- user.visible_message("[src] slips out of the grip of [user] as they try to pick it up, bouncing upwards and smacking [user.p_them()] in the face!", \
- "[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!")
+ user.visible_message(SPAN_WARNING("[src] slips out of the grip of [user] as they try to pick it up, bouncing upwards and smacking [user.p_them()] in the face!"), \
+ SPAN_WARNING("[src] slips out of your grip as you pick it up, bouncing upwards and smacking you in the face!"))
playsound(get_turf(user), 'sound/effects/hit_punch.ogg', 50, TRUE, -1)
throw_at(get_edge_target_turf(user, pick(GLOB.alldirs)), rand(1, 3), 5)
@@ -70,7 +70,7 @@
/obj/item/nullrod/examine(mob/living/user)
. = ..()
if(sanctify_force)
- . += "It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'"
+ . += SPAN_NOTICE("It bears the inscription: 'Sanctified weapon of the inquisitors. Only the worthy may wield. Nobody shall expect us.'")
/obj/item/nullrod/proc/reskin_holy_weapon(mob/user)
if(!ishuman(user))
@@ -126,7 +126,7 @@
attack_verb = list("punched", "cross countered", "pummeled")
/obj/item/nullrod/godhand/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in holy fire."
+ return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left hand" : "right hand"] is burning in holy fire.")
/obj/item/nullrod/staff
name = "red holy staff"
@@ -313,9 +313,9 @@
if(!istype(I, /obj/item/soulstone) || !possessed)
return ..()
if(obj_integrity >= max_integrity)
- to_chat(user, "You have no reason to replace a perfectly good soulstone with a new one.")
+ to_chat(user, SPAN_NOTICE("You have no reason to replace a perfectly good soulstone with a new one."))
return
- to_chat(user, "You load a new soulstone into the possessed blade.")
+ to_chat(user, SPAN_NOTICE("You load a new soulstone into the possessed blade."))
playsound(user, 'sound/weapons/gun_interactions/shotgunpump.ogg', 60, TRUE)
obj_integrity = max_integrity
for(var/mob/living/simple_animal/shade/sword/sword_shade in contents)
@@ -430,7 +430,7 @@
sharp = TRUE
/obj/item/nullrod/armblade/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque meat-blade."
+ return SPAN_WARNING("[owner.p_their(TRUE)] [owner.l_hand == src ? "left arm" : "right arm"] has been turned into a grotesque meat-blade.")
/obj/item/nullrod/armblade/mining
flags = NODROP
@@ -531,15 +531,15 @@
return ..()
if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY))
- to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].")
+ to_chat(user, SPAN_NOTICE("You are not close enough with [SSticker.Bible_deity_name] to use [src]."))
return
if(praying)
- to_chat(user, "You are already using [src].")
+ to_chat(user, SPAN_NOTICE("You are already using [src]."))
return
- user.visible_message("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [SSticker.Bible_deity_name].",
- "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [SSticker.Bible_deity_name].")
+ user.visible_message(SPAN_NOTICE("[user] kneels[M == user ? null : " next to [M]"] and begins to utter a prayer to [SSticker.Bible_deity_name]."),
+ SPAN_NOTICE("You kneel[M == user ? null : " next to [M]"] and begin a prayer to [SSticker.Bible_deity_name]."))
praying = TRUE
if(do_after(user, 15 SECONDS, target = M))
@@ -556,12 +556,12 @@
var/datum/antagonist/vampire/V = M.mind?.has_antag_datum(/datum/antagonist/vampire)
if(V?.get_ability(/datum/vampire_passive/full)) // Getting a full prayer off on a vampire will interrupt their powers for a large duration.
V.adjust_nullification(120, 50)
- to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!")
+ to_chat(target, SPAN_USERDANGER("[user]'s prayer to [SSticker.Bible_deity_name] has interfered with your power!"))
praying = FALSE
return
if(prob(25))
- to_chat(target, "[user]'s prayer to [SSticker.Bible_deity_name] has eased your pain!")
+ to_chat(target, SPAN_NOTICE("[user]'s prayer to [SSticker.Bible_deity_name] has eased your pain!"))
target.adjustToxLoss(-5)
target.adjustOxyLoss(-5)
target.adjustBruteLoss(-5)
@@ -570,7 +570,7 @@
praying = FALSE
else
- to_chat(user, "Your prayer to [SSticker.Bible_deity_name] was interrupted.")
+ to_chat(user, SPAN_NOTICE("Your prayer to [SSticker.Bible_deity_name] was interrupted."))
praying = FALSE
/obj/item/nullrod/nazar
@@ -597,16 +597,16 @@
/obj/item/nullrod/salt/attack_self__legacy__attackchain(mob/user)
if(!user.mind || !HAS_MIND_TRAIT(user, TRAIT_HOLY))
- to_chat(user, "You are not close enough with [SSticker.Bible_deity_name] to use [src].")
+ to_chat(user, SPAN_NOTICE("You are not close enough with [SSticker.Bible_deity_name] to use [src]."))
return
if(!(ghostcall_CD > world.time))
ghostcall_CD = world.time + 5 MINUTES
- user.visible_message("[user] kneels and begins to utter a prayer to [SSticker.Bible_deity_name] while drawing a circle with salt!",
- "You kneel and begin a prayer to [SSticker.Bible_deity_name] while drawing a circle!")
+ user.visible_message(SPAN_NOTICE("[user] kneels and begins to utter a prayer to [SSticker.Bible_deity_name] while drawing a circle with salt!"),
+ SPAN_NOTICE("You kneel and begin a prayer to [SSticker.Bible_deity_name] while drawing a circle!"))
notify_ghosts("The Chaplain is calling ghosts to [get_area(src)] with [name]!", source = src)
else
- to_chat(user, "You need to wait before using [src] again.")
+ to_chat(user, SPAN_NOTICE("You need to wait before using [src] again."))
/obj/item/nullrod/rosary/bread
name = "prayer bread"
@@ -648,7 +648,7 @@
addtimer(CALLBACK(src, PROC_REF(unsmite_clown), H), 20 SECONDS)
if(prob(10))
- to_chat(H, "Being in the presence of [holder]'s [src] is interfering with your honk!")
+ to_chat(H, SPAN_USERDANGER("Being in the presence of [holder]'s [src] is interfering with your honk!"))
/obj/item/nullrod/rosary/bread/proc/unsmite_clown(mob/living/carbon/human/hell_spawn)
animate_fade_colored(hell_spawn, 2 SECONDS)
@@ -699,15 +699,15 @@
if(missionary.wear_suit && istype(missionary.wear_suit, /obj/item/clothing/suit/hooded/chaplain_cassock/missionary_robe))
var/obj/item/clothing/suit/hooded/chaplain_cassock/missionary_robe/robe_to_link = missionary.wear_suit
if(robe_to_link.linked_staff)
- to_chat(missionary, "These robes are already linked with a staff and cannot support another. Connection refused.")
+ to_chat(missionary, SPAN_WARNING("These robes are already linked with a staff and cannot support another. Connection refused."))
return FALSE
robes = robe_to_link
robes.linked_staff = src
- to_chat(missionary, "Link established. Faith generators initialized. Go spread the word.")
+ to_chat(missionary, SPAN_NOTICE("Link established. Faith generators initialized. Go spread the word."))
faith = 100 //full charge when a fresh link is made (can't be delinked without destroying the robes so this shouldn't be an exploitable thing)
return TRUE
else
- to_chat(missionary, "You must be wearing the missionary robes you wish to link with this staff.")
+ to_chat(missionary, SPAN_WARNING("You must be wearing the missionary robes you wish to link with this staff."))
return FALSE
/obj/item/nullrod/missionary_staff/afterattack__legacy__attackchain(mob/living/carbon/human/target, mob/living/carbon/human/missionary, flag, params)
@@ -716,29 +716,29 @@
if(target == missionary) //you can't convert yourself, that would raise too many questions about your own dedication to the cause
return
if(!robes) //staff must be linked to convert
- to_chat(missionary, "You must link your staff to a set of missionary robes before attempting conversions.")
+ to_chat(missionary, SPAN_WARNING("You must link your staff to a set of missionary robes before attempting conversions."))
return
if(!missionary.wear_suit || missionary.wear_suit != robes) //must be wearing the robes to convert
return
if(faith < 100)
- to_chat(missionary, "You don't have enough faith to attempt a conversion right now.")
+ to_chat(missionary, SPAN_WARNING("You don't have enough faith to attempt a conversion right now."))
return
- to_chat(missionary, "You concentrate on [target] and begin the conversion ritual...")
+ to_chat(missionary, SPAN_NOTICE("You concentrate on [target] and begin the conversion ritual..."))
if(!target.mind) //no mind means no conversion, but also means no faith lost.
- to_chat(missionary, "You halt the conversion as you realize [target] is mindless! Best to save your faith for someone more worthwhile.")
+ to_chat(missionary, SPAN_WARNING("You halt the conversion as you realize [target] is mindless! Best to save your faith for someone more worthwhile."))
return
- to_chat(target, "Your mind seems foggy. For a moment, all you can think about is serving the greater good... the greater good...")
+ to_chat(target, SPAN_USERDANGER("Your mind seems foggy. For a moment, all you can think about is serving the greater good... the greater good..."))
if(do_after(missionary, 80)) //8 seconds to temporarily convert, roughly 3 seconds slower than a vamp's enthrall, but its a ranged thing
if(faith < 100) //to stop people from trying to exploit the do_after system to multi-convert, we check again if you have enough faith when it completes
- to_chat(missionary, "You don't have enough faith to complete the conversion on [target]!")
+ to_chat(missionary, SPAN_WARNING("You don't have enough faith to complete the conversion on [target]!"))
return
if(missionary in viewers(target)) //missionary must maintain line of sight to target, but the target doesn't necessary need to be able to see the missionary
do_convert(target, missionary)
else
- to_chat(missionary, "You lost sight of the target before [target.p_they()] could be converted!")
+ to_chat(missionary, SPAN_WARNING("You lost sight of the target before [target.p_they()] could be converted!"))
faith -= 25 //they escaped, so you only lost a little faith (to prevent spamming)
else //the do_after failed, probably because you moved or dropped the staff
- to_chat(missionary, "Your concentration was broken!")
+ to_chat(missionary, SPAN_WARNING("Your concentration was broken!"))
/obj/item/nullrod/missionary_staff/proc/do_convert(mob/living/carbon/human/target, mob/living/carbon/human/missionary)
var/convert_duration = 10 MINUTES
@@ -746,30 +746,30 @@
if(!target || !ishuman(target) || !missionary || !ishuman(missionary))
return
if(IS_MINDSLAVE(target) || target.mind.zealot_master) //mindslaves and zealots override the staff because the staff is just a temporary mindslave
- to_chat(missionary, "Your faith is strong, but [target.p_their()] mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more...")
+ to_chat(missionary, SPAN_WARNING("Your faith is strong, but [target.p_their()] mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more..."))
faith -= 25 //same faith cost as losing sight of them mid-conversion, but did you just find someone who can lead you to a fellow traitor?
return
if(ismindshielded(target))
faith -= 75
- to_chat(missionary, "Your faith is strong, but [target.p_their()] mind remains closed to your ideals. Your resolve helps you retain a bit of faith though.")
+ to_chat(missionary, SPAN_WARNING("Your faith is strong, but [target.p_their()] mind remains closed to your ideals. Your resolve helps you retain a bit of faith though."))
return
else if(target.mind.assigned_role == "Psychiatrist" || target.mind.assigned_role == "Librarian") //fancy book lernin helps counter religion (day 0 job love, what madness!)
if(prob(35)) //35% chance to fail
- to_chat(missionary, "This one is well trained in matters of the mind... They will not be swayed as easily as you thought...")
+ to_chat(missionary, SPAN_WARNING("This one is well trained in matters of the mind... They will not be swayed as easily as you thought..."))
faith -=50 //lose half your faith to the book-readers
return
else
- to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith!")
+ to_chat(missionary, SPAN_NOTICE("You successfully convert [target] to your cause. The following grows because of your faith!"))
faith -= 100
else if(target.mind.assigned_role == "Assistant")
if(prob(55)) //55% chance to take LESS faith than normal, because assistants are stupid and easily manipulated
- to_chat(missionary, "Your message seems to resound well with [target]; converting [target.p_them()] was much easier than expected.")
+ to_chat(missionary, SPAN_NOTICE("Your message seems to resound well with [target]; converting [target.p_them()] was much easier than expected."))
faith -= 50
else //45% chance to take the normal 100 faith cost
- to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith!")
+ to_chat(missionary, SPAN_NOTICE("You successfully convert [target] to your cause. The following grows because of your faith!"))
faith -= 100
else //everyone else takes 100 faith cost because they are normal
- to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith!")
+ to_chat(missionary, SPAN_NOTICE("You successfully convert [target] to your cause. The following grows because of your faith!"))
faith -= 100
//if you made it this far: congratulations! you are now a religious zealot!
target.mind.make_zealot(missionary, convert_duration, team_color)
diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm
index 02ffcfc4b8a..559777412a8 100644
--- a/code/game/objects/items/weapons/kitchen.dm
+++ b/code/game/objects/items/weapons/kitchen.dm
@@ -126,9 +126,9 @@
RegisterSignal(src, COMSIG_CLICK_ALT, PROC_REF(remove_bit))
/obj/item/kitchen/knife/suicide_act(mob/user)
- user.visible_message(pick("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!", \
- "[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!", \
- "[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"))
+ user.visible_message(pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), \
+ SPAN_SUICIDE("[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"), \
+ SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!")))
return BRUTELOSS
/obj/item/kitchen/knife/plastic
diff --git a/code/game/objects/items/weapons/legcuffs.dm b/code/game/objects/items/weapons/legcuffs.dm
index 20aef7243f5..98c7a699b90 100644
--- a/code/game/objects/items/weapons/legcuffs.dm
+++ b/code/game/objects/items/weapons/legcuffs.dm
@@ -40,7 +40,7 @@
return ..()
/obj/item/restraints/legcuffs/beartrap/suicide_act(mob/user)
- user.visible_message("[user] is sticking [user.p_their()] head in [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is sticking [user.p_their()] head in [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/weapons/bladeslice.ogg', 50, TRUE, -1)
return BRUTELOSS
@@ -53,39 +53,39 @@
if(do_after(user, 2 SECONDS, target = user))
armed = !armed
update_icon(UPDATE_ICON_STATE)
- to_chat(user, "[src] is now [armed ? "armed" : "disarmed"]")
+ to_chat(user, SPAN_NOTICE("[src] is now [armed ? "armed" : "disarmed"]"))
/obj/item/restraints/legcuffs/beartrap/attackby__legacy__attackchain(obj/item/I, mob/user) //Let's get explosive.
if(istype(I, /obj/item/grenade/iedcasing))
if(IED)
- to_chat(user, "This beartrap already has an IED hooked up to it!")
+ to_chat(user, SPAN_WARNING("This beartrap already has an IED hooked up to it!"))
return
if(sig)
- to_chat(user, "This beartrap already has a signaler hooked up to it!")
+ to_chat(user, SPAN_WARNING("This beartrap already has a signaler hooked up to it!"))
return
user.drop_item()
I.forceMove(src)
IED = I
message_admins("[key_name_admin(user)] has rigged a beartrap with an IED.")
log_game("[key_name(user)] has rigged a beartrap with an IED.")
- to_chat(user, "You sneak [IED] underneath the pressure plate and connect the trigger wire.")
- desc = "A trap used to catch bears and other legged creatures. There is an IED hooked up to it."
+ to_chat(user, SPAN_NOTICE("You sneak [IED] underneath the pressure plate and connect the trigger wire."))
+ desc = "A trap used to catch bears and other legged creatures. [SPAN_WARNING("There is an IED hooked up to it.")]"
if(istype(I, /obj/item/assembly/signaler))
if(IED)
- to_chat(user, "This beartrap already has an IED hooked up to it!")
+ to_chat(user, SPAN_WARNING("This beartrap already has an IED hooked up to it!"))
return
if(sig)
- to_chat(user, "This beartrap already has a signaler hooked up to it!")
+ to_chat(user, SPAN_WARNING("This beartrap already has a signaler hooked up to it!"))
return
sig = I
if(sig.secured)
- to_chat(user, "The signaler is secured.")
+ to_chat(user, SPAN_WARNING("The signaler is secured."))
sig = null
return
user.drop_item()
I.forceMove(src)
- to_chat(user, "You sneak [sig] underneath the pressure plate and connect the trigger wire.")
- desc = "A trap used to catch bears and other legged creatures. There is a remote signaler hooked up to it."
+ to_chat(user, SPAN_NOTICE("You sneak [sig] underneath the pressure plate and connect the trigger wire."))
+ desc = "A trap used to catch bears and other legged creatures. [SPAN_WARNING("There is a remote signaler hooked up to it.")]"
..()
/obj/item/restraints/legcuffs/beartrap/screwdriver_act(mob/living/user, obj/item/I)
@@ -95,11 +95,11 @@
if(IED)
IED.forceMove(get_turf(src))
IED = null
- to_chat(user, "You remove the IED from [src].")
+ to_chat(user, SPAN_NOTICE("You remove the IED from [src]."))
if(sig)
sig.forceMove(get_turf(src))
sig = null
- to_chat(user, "You remove the signaler from [src].")
+ to_chat(user, SPAN_NOTICE("You remove the signaler from [src]."))
return TRUE
/obj/item/restraints/legcuffs/beartrap/proc/on_atom_entered(datum/source, mob/living/entered)
@@ -141,7 +141,7 @@
update_icon()
playsound(loc, 'sound/effects/snap.ogg', 50, TRUE)
if(!silent_arming)
- user.visible_message("[user] triggers [src].", "You trigger [src].")
+ user.visible_message(SPAN_DANGER("[user] triggers [src]."), SPAN_USERDANGER("You trigger [src]."))
if(sig)
sig.signal()
@@ -262,12 +262,12 @@
return//abort
var/mob/living/carbon/C = hit_atom
if(!C.legcuffed && C.get_num_legs() >= 2 && !IS_HORIZONTAL(C))
- visible_message("[src] ensnares [C]!")
+ visible_message(SPAN_DANGER("[src] ensnares [C]!"))
C.legcuffed = src
forceMove(C)
C.update_inv_legcuffed()
SSblackbox.record_feedback("tally", "handcuffs", 1, type)
- to_chat(C, "[src] ensnares you!")
+ to_chat(C, SPAN_USERDANGER("[src] ensnares you!"))
C.KnockDown(knockdown_duration)
playsound(loc, hitsound, 50, TRUE)
if(!reuseable)
diff --git a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm
index 5a9eabfe6a2..3eae0ee766c 100644
--- a/code/game/objects/items/weapons/melee/energy_melee_weapons.dm
+++ b/code/game/objects/items/weapons/melee/energy_melee_weapons.dm
@@ -89,22 +89,22 @@
return !isnull(cig)
if(!HAS_TRAIT(src, TRAIT_ITEM_ACTIVE))
- to_chat(user, "You must activate [src] before you can light [cig] with it!")
+ to_chat(user, SPAN_WARNING("You must activate [src] before you can light [cig] with it!"))
return TRUE
if(target == user)
user.visible_message(
"[user] makes a violent slashing motion, barely missing [user.p_their()] nose as light flashes! \
[user.p_they(TRUE)] light[user.p_s()] [user.p_their()] [cig] with [src] in the process.",
- "You casually slash [src] at [cig], lighting it with the blade.",
- "You hear an energy blade slashing something!"
+ SPAN_NOTICE("You casually slash [src] at [cig], lighting it with the blade."),
+ SPAN_DANGER("You hear an energy blade slashing something!")
)
else
user.visible_message(
"[user] makes a violent slashing motion, barely missing the nose of [target] as light flashes! \
[user.p_they(TRUE)] light[user.p_s()] [cig] in the mouth of [target] with [src] in the process.",
- "You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade.",
- "You hear an energy blade slashing something!"
+ SPAN_NOTICE("You casually slash [src] at [cig] in the mouth of [target], lighting it with the blade."),
+ SPAN_DANGER("You hear an energy blade slashing something!")
)
user.do_attack_animation(target)
playsound(user.loc, hitsound, 50, TRUE)
@@ -112,13 +112,13 @@
return TRUE
/obj/item/melee/energy/suicide_act(mob/user)
- user.visible_message(pick("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!", \
- "[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ user.visible_message(pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"), \
+ SPAN_SUICIDE("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")))
return BRUTELOSS|FIRELOSS
/obj/item/melee/energy/attack_self__legacy__attackchain(mob/living/carbon/user)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- to_chat(user, "You accidentally cut yourself with [src], like a doofus!")
+ to_chat(user, SPAN_WARNING("You accidentally cut yourself with [src], like a doofus!"))
user.take_organ_damage(5,5)
if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE))
REMOVE_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC)
@@ -132,7 +132,7 @@
w_class = initial(w_class)
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
set_light(0)
- to_chat(user, "[src] can now be concealed.")
+ to_chat(user, SPAN_NOTICE("[src] can now be concealed."))
else
ADD_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC)
force = force_on
@@ -149,7 +149,7 @@
set_light(brightness_on, l_color = colormap[blade_color])
w_class = w_class_on
playsound(user, 'sound/weapons/saberon.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
- to_chat(user, "[src] is now active.")
+ to_chat(user, SPAN_NOTICE("[src] is now active."))
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -198,7 +198,7 @@
light_color = LIGHT_COLOR_WHITE
/obj/item/melee/energy/axe/suicide_act(mob/user)
- user.visible_message("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] swings [src] towards [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS|FIRELOSS
//////////////////////////////
@@ -230,7 +230,7 @@
/obj/item/melee/energy/sword/examine(mob/user)
. = ..()
- . += "Can parry melee attacks and sometimes blocks ranged energy attacks. Use in hand to turn off and on."
+ . += SPAN_NOTICE("Can parry melee attacks and sometimes blocks ranged energy attacks. Use in hand to turn off and on.")
/obj/item/melee/energy/sword/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE))
@@ -246,7 +246,7 @@
var/obj/item/stock_parts/cell/C = R.cell
if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) && !(C.use(hitcost)))
attack_self__legacy__attackchain(R)
- to_chat(R, "It's out of charge!")
+ to_chat(R, SPAN_NOTICE("It's out of charge!"))
return
..()
return
@@ -273,11 +273,11 @@
..()
if(istype(W, /obj/item/melee/energy/sword/saber))
if(W == src)
- to_chat(user, "You try to attach the end of the energy sword to... itself. You're not very smart, are you?")
+ to_chat(user, SPAN_NOTICE("You try to attach the end of the energy sword to... itself. You're not very smart, are you?"))
if(ishuman(user))
user.adjustBrainLoss(10)
else
- to_chat(user, "You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool.")
+ to_chat(user, SPAN_NOTICE("You attach the ends of the two energy swords, making a single double-bladed weapon! You're cool."))
var/obj/item/dualsaber/newSaber = new /obj/item/dualsaber(user.loc)
if(src.hacked) // That's right, we'll only check the "original" esword.
newSaber.hacked = TRUE
@@ -289,7 +289,7 @@
if(!hacked)
hacked = TRUE
blade_color = "rainbow"
- to_chat(user, "RNBW_ENGAGE")
+ to_chat(user, SPAN_WARNING("RNBW_ENGAGE"))
if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE))
icon_state = "swordrainbow"
@@ -301,7 +301,7 @@
user.update_inv_l_hand()
else
- to_chat(user, "It's already fabulous!")
+ to_chat(user, SPAN_WARNING("It's already fabulous!"))
/obj/item/melee/energy/sword/saber/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
@@ -313,10 +313,10 @@
if(isprojectile(hitby))
var/obj/projectile/P = hitby
if(P.reflectability == REFLECTABILITY_ENERGY)
- owner.visible_message("[owner] parries [attack_text] with [src]!")
+ owner.visible_message(SPAN_DANGER("[owner] parries [attack_text] with [src]!"))
add_attack_logs(P.firer, src, "hit by [P.type] but got parried by [src]")
return -1
- owner.visible_message("[owner] blocks [attack_text] with [src]!")
+ owner.visible_message(SPAN_DANGER("[owner] blocks [attack_text] with [src]!"))
playsound(src, 'sound/weapons/effects/ric3.ogg', 100, TRUE)
return TRUE
@@ -438,7 +438,7 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(HAS_TRAIT(H, TRAIT_CLUMSY) && prob(50))
- to_chat(H, "You accidentally cut yourself with [src], like a doofus!")
+ to_chat(H, SPAN_WARNING("You accidentally cut yourself with [src], like a doofus!"))
H.take_organ_damage(10,10)
if(HAS_TRAIT(src, TRAIT_ITEM_ACTIVE))
REMOVE_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC)
@@ -452,7 +452,7 @@
w_class = initial(w_class)
playsound(user, 'sound/magic/fellowship_armory.ogg', 35, 1) //changed it from 50% volume to 35% because deafness
set_light(0)
- to_chat(user, "You close [src]. It will now attack rapidly and cause fauna to bleed.")
+ to_chat(user, SPAN_NOTICE("You close [src]. It will now attack rapidly and cause fauna to bleed."))
else
ADD_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC)
force = force_on
@@ -469,7 +469,7 @@
set_light(brightness_on, l_color = colormap[blade_color])
w_class = w_class_on
playsound(user, 'sound/magic/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) * 30000))
- to_chat(user, "You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna.")
+ to_chat(user, SPAN_NOTICE("You open [src]. It will now cleave enemies in a wide arc and deal additional damage to fauna."))
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -485,7 +485,7 @@
Transforming it immediately after an attack causes the next attack to come out faster."
/obj/item/melee/energy/cleaving_saw/suicide_act(mob/user)
- user.visible_message("[user] is [HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is [HAS_TRAIT(src, TRAIT_ITEM_ACTIVE) ? "closing [src] on [user.p_their()] neck" : "opening [src] into [user.p_their()] chest"]! It looks like [user.p_theyre()] trying to commit suicide!"))
transform_cooldown = 0
transform_weapon(user, TRUE)
return BRUTELOSS
diff --git a/code/game/objects/items/weapons/melee/melee.dm b/code/game/objects/items/weapons/melee/melee.dm
index 9d2267f8ec1..c38602c1ca0 100644
--- a/code/game/objects/items/weapons/melee/melee.dm
+++ b/code/game/objects/items/weapons/melee/melee.dm
@@ -26,7 +26,7 @@
/obj/item/melee/saber/examine(mob/user)
. = ..()
- . += "The blade looks very well-suited for piercing armour."
+ . += SPAN_NOTICE("The blade looks very well-suited for piercing armour.")
/obj/item/melee/saber/examine_more(mob/user)
. = ..()
@@ -49,12 +49,12 @@
return
var/mob/living/carbon/human/H = target
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- user.visible_message("[user] accidentally slaps [user.p_themselves()] with [src]!", \
- "You accidentally slap yourself with [src]!")
+ user.visible_message(SPAN_DANGER("[user] accidentally slaps [user.p_themselves()] with [src]!"), \
+ SPAN_USERDANGER("You accidentally slap yourself with [src]!"))
slap(user, user)
else
- user.visible_message("[user] slaps [H] with the flat of the blade!", \
- "You slap [H] with the flat of the blade!")
+ user.visible_message(SPAN_DANGER("[user] slaps [H] with the flat of the blade!"), \
+ SPAN_USERDANGER("You slap [H] with the flat of the blade!"))
slap(target, user)
/obj/item/melee/saber/proc/slap(mob/living/carbon/human/target, mob/living/user)
@@ -66,8 +66,8 @@
COOLDOWN_START(src, slap_cooldown, 4 SECONDS)
/obj/item/melee/saber/suicide_act(mob/user)
- user.visible_message(pick("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!", \
- "[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ user.visible_message(pick(SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"), \
+ SPAN_SUICIDE("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")))
return BRUTELOSS
@@ -137,11 +137,11 @@
/obj/item/melee/secsword/examine(mob/user)
. = ..()
if(!cell)
- . += "The powercell has been removed!"
+ . += SPAN_NOTICE("The powercell has been removed!")
return
- . += "It is [round(cell.percent())]% charged."
+ . += SPAN_NOTICE("It is [round(cell.percent())]% charged.")
if(round(cell.percent() < 100))
- . += "Can be recharged with a recharger."
+ . += SPAN_NOTICE("Can be recharged with a recharger.")
/obj/item/melee/secsword/examine_more(mob/user)
. = ..()
@@ -182,28 +182,28 @@
return ITEM_INTERACT_COMPLETE
var/obj/item/stock_parts/cell/C = used
if(cell)
- to_chat(user, "[src] already has a cell!")
+ to_chat(user, SPAN_WARNING("[src] already has a cell!"))
return ITEM_INTERACT_COMPLETE
if(C.maxcharge < stam_hitcost)
- to_chat(user, "[src] requires a higher capacity cell!")
+ to_chat(user, SPAN_WARNING("[src] requires a higher capacity cell!"))
return ITEM_INTERACT_COMPLETE
if(!user.unequip(used))
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
cell = used
- to_chat(user, "You install [used] into [src].")
+ to_chat(user, SPAN_NOTICE("You install [used] into [src]."))
update_icon()
return ITEM_INTERACT_COMPLETE
/obj/item/melee/secsword/screwdriver_act(mob/living/user, obj/item/I)
if(!cell)
- to_chat(user, "There's no cell installed!")
+ to_chat(user, SPAN_WARNING("There's no cell installed!"))
return
if(!I.use_tool(src, user, volume = I.tool_volume))
return
user.put_in_hands(cell)
- to_chat(user, "You remove [cell] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [cell] from [src]."))
cell.update_icon()
clear_cell()
@@ -211,28 +211,28 @@
if(..())
return FINISH_ATTACK
if(!cell)
- to_chat(user, "[src] does not have a power source!")
+ to_chat(user, SPAN_WARNING("[src] does not have a power source!"))
return FINISH_ATTACK
add_fingerprint(user)
if(cell.charge < stam_hitcost || (SECSWORD_STUN && cell.charge < burn_hitcost))
state = SECSWORD_OFF
armor_penetration_percentage = 0
- to_chat(user, "[src] does not have enough charge!")
+ to_chat(user, SPAN_NOTICE("[src] does not have enough charge!"))
return FINISH_ATTACK
switch(state)
if(SECSWORD_OFF)
state = SECSWORD_STUN
armor_penetration_percentage = 30
- to_chat(user, "[src]'s edge is now set to stun.")
+ to_chat(user, SPAN_WARNING("[src]'s edge is now set to stun."))
if(SECSWORD_STUN)
state = SECSWORD_BURN
armor_penetration_percentage = 60
- to_chat(user, "[src]'s edge is now set to burn.")
+ to_chat(user, SPAN_WARNING("[src]'s edge is now set to burn."))
if(SECSWORD_BURN)
state = SECSWORD_OFF
armor_penetration_percentage = 0
- to_chat(user, "[src]'s edge is now turned off.")
+ to_chat(user, SPAN_NOTICE("[src]'s edge is now turned off."))
update_icon()
playsound(src, "sparks", 60, TRUE, -1)
return FINISH_ATTACK
@@ -240,11 +240,11 @@
/obj/item/melee/secsword/attack(mob/living/M, mob/living/user, params)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
if(state == SECSWORD_STUN && sword_stun(user, user, skip_cooldown = TRUE))
- user.visible_message("[user] accidentally hits [user.p_themselves()] with [src]!",
- "You accidentally hit yourself with [src]!")
+ user.visible_message(SPAN_DANGER("[user] accidentally hits [user.p_themselves()] with [src]!"),
+ SPAN_USERDANGER("You accidentally hit yourself with [src]!"))
return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK
if(user.mind?.martial_art?.no_baton && user.mind?.martial_art?.can_use(user)) // Just like the baton, no sword + judo.
- to_chat(user, "The sword feels off-balance in your hand due to your specific martial training!")
+ to_chat(user, SPAN_WARNING("The sword feels off-balance in your hand due to your specific martial training!"))
return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK
// Off
@@ -255,8 +255,8 @@
if(issilicon(M)) // Can't slap borgs and AIs
user.do_attack_animation(M)
M.visible_message(
- "[user] has slapped [M] harmlessly with [src].",
- "[user] has slapped you harmlessly with [src]."
+ SPAN_WARNING("[user] has slapped [M] harmlessly with [src]."),
+ SPAN_DANGER("[user] has slapped you harmlessly with [src].")
)
return
slap(M, user) // Just a little slap. No harm
@@ -270,8 +270,8 @@
else if(issilicon(M))
user.do_attack_animation(M)
M.visible_message(
- "[user] has slapped [M] harmlessly with [src].",
- "[user] has slapped you harmlessly with [src]."
+ SPAN_WARNING("[user] has slapped [M] harmlessly with [src]."),
+ SPAN_DANGER("[user] has slapped you harmlessly with [src].")
)
return
if(sword_stun(M, user))
@@ -424,7 +424,7 @@
icon_state = "[base_icon_state]0"
/obj/item/melee/breach_cleaver/proc/wield(obj/item/source, mob/living/carbon/human/user)
- to_chat(user, "You heave [src] up in both hands.")
+ to_chat(user, SPAN_NOTICE("You heave [src] up in both hands."))
user.apply_status_effect(STATUS_EFFECT_BREACH_AND_CLEAVE)
update_icon(UPDATE_ICON_STATE)
@@ -444,7 +444,7 @@
var/mob/living/carbon/human/H = user
H.changeNext_move(CLICK_CD_MELEE)
H.do_attack_animation(O)
- H.visible_message("[H] has hit [O] with [src]!", "You hit [O] with [src]!")
+ H.visible_message(SPAN_DANGER("[H] has hit [O] with [src]!"), SPAN_DANGER("You hit [O] with [src]!"))
var/damage = force_wield
damage += H.physiology.melee_bonus
O.take_damage(damage * 3, BRUTE, MELEE, TRUE, get_dir(src, H), 30) // Multiplied to do big damage to doors, closets, windows, and machines, but normal damage to mobs.
@@ -458,9 +458,9 @@
switch(user.a_intent)
if(INTENT_HELP) // Stamina damage
- H.visible_message("[user] slams [H] with the flat of the blade!", \
- "[user] slams you with the flat of the blade!", \
- "You hear a thud.")
+ H.visible_message(SPAN_DANGER("[user] slams [H] with the flat of the blade!"), \
+ SPAN_USERDANGER("[user] slams you with the flat of the blade!"), \
+ SPAN_ITALICS("You hear a thud."))
user.do_attack_animation(H, ATTACK_EFFECT_DISARM)
playsound(loc, 'sound/weapons/swordhit.ogg', 50, TRUE, -1)
H.AdjustConfused(4 SECONDS, 0, 4 SECONDS)
@@ -471,9 +471,9 @@
if(H.stat != CONSCIOUS || IS_HORIZONTAL(H))
return ..()
- H.visible_message("[user] smashes [H] with the blade's tip!", \
- "[user] smashes you with the blade's tip!", \
- "You hear crushing.")
+ H.visible_message(SPAN_DANGER("[user] smashes [H] with the blade's tip!"), \
+ SPAN_USERDANGER("[user] smashes you with the blade's tip!"), \
+ SPAN_ITALICS("You hear crushing."))
user.do_attack_animation(H, ATTACK_EFFECT_KICK)
playsound(get_turf(user), 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE, -1)
@@ -483,9 +483,9 @@
add_attack_logs(user, H, "Smashed away by a breach cleaver. (Disarm intent, Knockback)", ATKLOG_ALL)
if(INTENT_GRAB) // Knocks down
- H.visible_message("[user] cleaves [H] with an overhead strike!", \
- "[user] cleaves you with an overhead strike!", \
- "You hear a chopping noise.")
+ H.visible_message(SPAN_DANGER("[user] cleaves [H] with an overhead strike!"), \
+ SPAN_USERDANGER("[user] cleaves you with an overhead strike!"), \
+ SPAN_ITALICS("You hear a chopping noise."))
user.do_attack_animation(H, ATTACK_EFFECT_DISARM)
playsound(get_turf(user), 'sound/weapons/armblade.ogg', 50, TRUE, -1)
@@ -583,13 +583,13 @@
// MARK: SLAYER CHAINSAW
/obj/item/chainsaw/doomslayer
name = "OOOH BABY"
- desc = "VRRRRRRR!!!"
+ desc = SPAN_WARNING("VRRRRRRR!!!")
armor_penetration_percentage = 100
force_on = 30
/obj/item/chainsaw/doomslayer/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(attack_type == PROJECTILE_ATTACK)
- owner.visible_message("Ranged attacks just make [owner] angrier!")
+ owner.visible_message(SPAN_DANGER("Ranged attacks just make [owner] angrier!"))
playsound(src, pick('sound/weapons/bulletflyby.ogg','sound/weapons/bulletflyby2.ogg','sound/weapons/bulletflyby3.ogg'), 75, 1)
return TRUE
return FALSE
diff --git a/code/game/objects/items/weapons/melee/melee_misc.dm b/code/game/objects/items/weapons/melee/melee_misc.dm
index cdc5d3b4614..e0f4a1701f7 100644
--- a/code/game/objects/items/weapons/melee/melee_misc.dm
+++ b/code/game/objects/items/weapons/melee/melee_misc.dm
@@ -12,7 +12,7 @@
hitsound = 'sound/weapons/slash.ogg' //pls replace
/obj/item/melee/chainofcommand/suicide_act(mob/user)
- to_chat(viewers(user), "[user] is strangling [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ to_chat(viewers(user), SPAN_SUICIDE("[user] is strangling [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return OXYLOSS
// MARK: ICE PICK
@@ -60,9 +60,9 @@
. = ..()
if(is_type_in_typecache(M, strong_against))
new /obj/effect/decal/cleanable/insectguts(M.drop_location())
- user.visible_message("[user] splats [M] with [src].",
- "You splat [M] with [src].",
- "You hear a splat.")
+ user.visible_message(SPAN_WARNING("[user] splats [M] with [src]."),
+ SPAN_WARNING("You splat [M] with [src]."),
+ SPAN_WARNING("You hear a splat."))
if(isliving(M))
var/mob/living/bug = M
bug.death(TRUE)
diff --git a/code/game/objects/items/weapons/misc_items.dm b/code/game/objects/items/weapons/misc_items.dm
index 57802f04de3..62eed0a3672 100644
--- a/code/game/objects/items/weapons/misc_items.dm
+++ b/code/game/objects/items/weapons/misc_items.dm
@@ -60,20 +60,20 @@
if(user.a_intent == INTENT_HELP)
user.do_attack_animation(target)
user.visible_message(
- "[user] has prodded [target] with [src].",
- "You prod [target] with [src]."
+ SPAN_NOTICE("[user] has prodded [target] with [src]."),
+ SPAN_NOTICE("You prod [target] with [src].")
)
if(HAS_TRAIT(user, TRAIT_BLIND))
- to_chat(user, "You feel [target] with [src].")
+ to_chat(user, SPAN_NOTICE("You feel [target] with [src]."))
playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
else if(user.a_intent == INTENT_DISARM && ismob(target)) //Harmless smack
user.visible_message(
- "[user] harmlessly slaps [target] with the end of the white cane.",
- "You harmlessly slap [target] with the end of the white cane."
+ SPAN_NOTICE("[user] harmlessly slaps [target] with the end of the white cane."),
+ SPAN_NOTICE("You harmlessly slap [target] with the end of the white cane.")
)
if(HAS_TRAIT(user, TRAIT_BLIND))
- to_chat(user, "You harmlessly slap [target] with the end of the white cane.")
+ to_chat(user, SPAN_NOTICE("You harmlessly slap [target] with the end of the white cane."))
user.do_attack_animation(target, ATTACK_EFFECT_DISARM)
playsound(loc, 'sound/effects/woodhit.ogg', 50, TRUE, -1)
@@ -121,23 +121,23 @@
return
if(!hidden && I.tool_behaviour != TOOL_SCREWDRIVER && I.w_class == WEIGHT_CLASS_TINY)
if(istype(I, /obj/item/disk/nuclear))
- to_chat(user, "You think you're gonna need more than crutches if your employers find out what you just tried to do...")
+ to_chat(user, SPAN_WARNING("You think you're gonna need more than crutches if your employers find out what you just tried to do..."))
return
if(I.flags & ABSTRACT)
return
if(!user.unequip(I))
- to_chat(user, "[I] doesn't seem to want to go into [src]!")
+ to_chat(user, SPAN_NOTICE("[I] doesn't seem to want to go into [src]!"))
return
I.forceMove(src)
hidden = I
- to_chat(user, "You hide [I] inside the crutch tip.")
+ to_chat(user, SPAN_NOTICE("You hide [I] inside the crutch tip."))
/obj/item/crutches/attack_hand(mob/user, pickupfireoverride)
if(!is_open)
return ..()
if(hidden)
user.put_in_hands(hidden)
- to_chat(user, "You remove [hidden] from the crutch tip!")
+ to_chat(user, SPAN_NOTICE("You remove [hidden] from the crutch tip!"))
hidden = null
add_fingerprint(user)
@@ -145,7 +145,7 @@
/obj/item/crutches/screwdriver_act(mob/living/user, obj/item/I)
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- to_chat(user, "You screw the crutch tip [is_open ? "closed" : "open"].")
+ to_chat(user, SPAN_NOTICE("You screw the crutch tip [is_open ? "closed" : "open"]."))
is_open = !is_open
/obj/item/crutches/get_crutch_efficiency()
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index bb42718266b..b2d10c4ac05 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -29,7 +29,7 @@
/obj/item/mop/proc/wet_mop(obj/O, mob/user, robot_mop)
if(O.reagents.total_volume < 1)
- to_chat(user, "[O] is empty!")
+ to_chat(user, SPAN_WARNING("[O] is empty!"))
if(robot_mop)
return
@@ -48,7 +48,7 @@
return
O.reagents.trans_to(src, 6)
- to_chat(user, "You wet [src] in [O].")
+ to_chat(user, SPAN_NOTICE("You wet [src] in [O]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE)
/obj/item/mop/interact_with_atom(atom/target, mob/living/user, list/modifiers)
@@ -63,7 +63,7 @@
return ITEM_INTERACT_COMPLETE
if(reagents.total_volume < 1)
- to_chat(user, "Your mop is dry!")
+ to_chat(user, SPAN_WARNING("Your mop is dry!"))
return ITEM_INTERACT_COMPLETE
if(world.time > mop_sound_cooldown)
@@ -88,7 +88,7 @@
/obj/item/mop/wash(mob/user, atom/source)
reagents.add_reagent("water", 5)
- to_chat(user, "You wet [src] in [source].")
+ to_chat(user, SPAN_NOTICE("You wet [src] in [source]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, 1)
return TRUE
@@ -122,7 +122,7 @@
START_PROCESSING(SSobj, src)
else
STOP_PROCESSING(SSobj, src)
- to_chat(user, "You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position.")
+ to_chat(user, SPAN_NOTICE("You set the condenser switch to the '[refill_enabled ? "ON" : "OFF"]' position."))
playsound(user, 'sound/machines/click.ogg', 30, 1)
/obj/item/mop/advanced/process()
@@ -132,7 +132,7 @@
/obj/item/mop/advanced/examine(mob/user)
. = ..()
- . += "The condenser switch is set to [refill_enabled ? "ON" : "OFF"]."
+ . += SPAN_NOTICE("The condenser switch is set to [refill_enabled ? "ON" : "OFF"].")
/obj/item/mop/advanced/Destroy()
if(refill_enabled)
diff --git a/code/game/objects/items/weapons/pneumaticCannon.dm b/code/game/objects/items/weapons/pneumaticCannon.dm
index a0be0113dcb..cb30680b720 100644
--- a/code/game/objects/items/weapons/pneumaticCannon.dm
+++ b/code/game/objects/items/weapons/pneumaticCannon.dm
@@ -36,12 +36,12 @@
/obj/item/pneumatic_cannon/examine(mob/user)
. = ..()
if(!in_range(user, src))
- . += "You'll need to get closer to see any more."
+ . += SPAN_NOTICE("You'll need to get closer to see any more.")
else
if(tank)
- . += "[bicon(tank)] It has [tank] mounted onto it."
+ . += SPAN_NOTICE("[bicon(tank)] It has [tank] mounted onto it.")
for(var/obj/item/I in loaded_items)
- . += "[bicon(I)] It has [I] loaded."
+ . += SPAN_NOTICE("[bicon(I)] It has [I] loaded.")
/**
* Arguments:
@@ -52,13 +52,13 @@
*/
/obj/item/pneumatic_cannon/proc/load_item(obj/item/I, mob/user)
if((loaded_weight_class + I.w_class) > max_weight_class)
- to_chat(user, "[I] won't fit into [src]!")
+ to_chat(user, SPAN_WARNING("[I] won't fit into [src]!"))
return FALSE
if(I.w_class > w_class)
- to_chat(user, "[I] is too large to fit into [src]!")
+ to_chat(user, SPAN_WARNING("[I] is too large to fit into [src]!"))
return FALSE
if(!user.unequip(I) || I.flags & (ABSTRACT | NODROP | DROPDEL))
- to_chat(user, "You can't put [I] into [src]!")
+ to_chat(user, SPAN_WARNING("You can't put [I] into [src]!"))
return FALSE
loaded_items.Add(I)
loaded_weight_class += I.w_class
@@ -74,17 +74,17 @@
pressure_setting = 1
else
pressure_setting++
- to_chat(user, "You tweak [src]'s pressure output to [pressure_setting].")
+ to_chat(user, SPAN_NOTICE("You tweak [src]'s pressure output to [pressure_setting]."))
/obj/item/pneumatic_cannon/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/tank/internals) && !tank)
if(istype(used, /obj/item/tank/internals/emergency_oxygen))
- to_chat(user, "[used] is too small for [src].")
+ to_chat(user, SPAN_WARNING("[used] is too small for [src]."))
return ITEM_INTERACT_COMPLETE
add_tank(used, user)
return ITEM_INTERACT_COMPLETE
if(used.type == type)
- to_chat(user, "You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption.")
+ to_chat(user, SPAN_WARNING("You're fairly certain that putting a pneumatic cannon inside another pneumatic cannon would cause a spacetime disruption."))
return ITEM_INTERACT_COMPLETE
load_item(used, user)
return ..()
@@ -110,17 +110,17 @@
return
var/has_discharged = FALSE
if(!loaded_items || !loaded_weight_class)
- to_chat(user, "[src] has nothing loaded.")
+ to_chat(user, SPAN_WARNING("[src] has nothing loaded."))
return
if(requires_tank)
if(!tank)
- to_chat(user, "[src] can't fire without a source of gas.")
+ to_chat(user, SPAN_WARNING("[src] can't fire without a source of gas."))
return
if(!tank.air_contents.boolean_remove(gas_per_throw * pressure_setting))
- to_chat(user, "[src] lets out a weak hiss and doesn't react!")
+ to_chat(user, SPAN_WARNING("[src] lets out a weak hiss and doesn't react!"))
return
if(user && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(75))
- user.visible_message("[user] loses [user.p_their()] grip on [src], causing it to go off!", "[src] slips out of your hands and goes off!")
+ user.visible_message(SPAN_WARNING("[user] loses [user.p_their()] grip on [src], causing it to go off!"), SPAN_USERDANGER("[src] slips out of your hands and goes off!"))
user.drop_item()
has_discharged = TRUE
if(prob(10))
@@ -129,8 +129,8 @@
var/list/possible_targets = range(3,src)
target = pick(possible_targets)
if(!has_discharged)
- user.visible_message("[user] fires [src]!", \
- "You fire [src]!")
+ user.visible_message(SPAN_DANGER("[user] fires [src]!"), \
+ SPAN_DANGER("You fire [src]!"))
add_attack_logs(user, target, "Fired [src]")
playsound(loc, 'sound/weapons/sonic_jackhammer.ogg', 50, TRUE)
for(var/obj/item/loaded_item in loaded_items)
@@ -140,16 +140,16 @@
loaded_item.forceMove(get_turf(src))
loaded_item.throw_at(target, pressure_setting * 5, pressure_setting * 2, user)
if(pressure_setting >= 3 && user)
- user.visible_message("[user] is thrown down by the force of the cannon!", "[src] slams into your shoulder, knocking you down!")
+ user.visible_message(SPAN_WARNING("[user] is thrown down by the force of the cannon!"), "[src] slams into your shoulder, knocking you down!")
user.KnockDown(3 SECONDS)
/obj/item/pneumatic_cannon/proc/add_tank(obj/item/tank/new_tank, mob/living/carbon/human/user)
if(tank)
- to_chat(user, "[src] already has a tank.")
+ to_chat(user, SPAN_WARNING("[src] already has a tank."))
return
if(!user.unequip(new_tank))
return
- to_chat(user, "You hook [new_tank] up to [src].")
+ to_chat(user, SPAN_NOTICE("You hook [new_tank] up to [src]."))
new_tank.forceMove(src)
tank = new_tank
update_icons()
@@ -157,7 +157,7 @@
/obj/item/pneumatic_cannon/proc/remove_tank(mob/living/carbon/human/user)
if(!tank)
return FALSE
- to_chat(user, "You detach [tank] from [src].")
+ to_chat(user, SPAN_NOTICE("You detach [tank] from [src]."))
user.put_in_hands(tank)
tank = null
update_icons()
diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm
index 0c30c93f707..363a1fde685 100644
--- a/code/game/objects/items/weapons/powerfist.dm
+++ b/code/game/objects/items/weapons/powerfist.dm
@@ -22,19 +22,19 @@
/obj/item/melee/powerfist/examine(mob/user)
. = ..()
if(!in_range(user, src))
- . += "You'll need to get closer to see any more."
+ . += SPAN_NOTICE("You'll need to get closer to see any more.")
else if(tank)
- . += "[bicon(tank)] It has [tank] mounted onto it."
+ . += SPAN_NOTICE("[bicon(tank)] It has [tank] mounted onto it.")
/obj/item/melee/powerfist/attackby__legacy__attackchain(obj/item/W, mob/user, params)
if(istype(W, /obj/item/tank/internals))
if(!user.is_holding(src))
- to_chat(user, "You have to hold [src] in your hand!")
+ to_chat(user, SPAN_WARNING("You have to hold [src] in your hand!"))
return
if(!tank)
var/obj/item/tank/internals/IT = W
if(IT.volume <= 3)
- to_chat(user, "[IT] is too small for [src].")
+ to_chat(user, SPAN_WARNING("[IT] is too small for [src]."))
return
updateTank(W, 0, user)
return
@@ -51,7 +51,7 @@
fisto_setting = 3
if(3)
fisto_setting = 1
- to_chat(user, "You tweak [src]'s piston valve to [fisto_setting].")
+ to_chat(user, SPAN_NOTICE("You tweak [src]'s piston valve to [fisto_setting]."))
/obj/item/melee/powerfist/screwdriver_act(mob/user, obj/item/I)
if(!tank)
@@ -64,33 +64,33 @@
/obj/item/melee/powerfist/proc/updateTank(obj/item/tank/thetank, removing = 0, mob/living/carbon/human/user)
if(removing)
if(!tank)
- to_chat(user, "[src] currently has no tank attached to it.")
+ to_chat(user, SPAN_NOTICE("[src] currently has no tank attached to it."))
return
- to_chat(user, "As you detach [thetank] from [src], the fist unlocks.")
+ to_chat(user, SPAN_NOTICE("As you detach [thetank] from [src], the fist unlocks."))
set_nodrop(FALSE, user)
tank.forceMove(get_turf(user))
user.put_in_hands(tank)
tank = null
if(!removing)
if(tank)
- to_chat(user, "[src] already has a tank.")
+ to_chat(user, SPAN_WARNING("[src] already has a tank."))
return
if(!user.unequip(thetank))
return
- to_chat(user, "As you hook [thetank] up to [src], the fist locks into place around your arm.")
+ to_chat(user, SPAN_NOTICE("As you hook [thetank] up to [src], the fist locks into place around your arm."))
tank = thetank
thetank.forceMove(src)
set_nodrop(TRUE, user)
/obj/item/melee/powerfist/attack__legacy__attackchain(mob/living/target, mob/living/user)
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to harm other living beings!")
+ to_chat(user, SPAN_WARNING("You don't want to harm other living beings!"))
return
if(!tank)
- to_chat(user, "[src] can't operate without a source of gas!")
+ to_chat(user, SPAN_WARNING("[src] can't operate without a source of gas!"))
return
if(!use_air())
- to_chat(user, "[src]'s piston-ram lets out a weak hiss, it needs more gas!")
+ to_chat(user, SPAN_WARNING("[src]'s piston-ram lets out a weak hiss, it needs more gas!"))
playsound(loc, 'sound/effects/refill.ogg', 50, 1)
return
@@ -103,8 +103,8 @@
var/armor_block = target.run_armor_check(affecting, MELEE)
target.apply_damage(force * fisto_setting, BRUTE, affecting, armor_block)
- target.visible_message("[user]'s powerfist lets out a loud hiss as [user.p_they()] punch[user.p_es()] [target.name]!", \
- "You cry out in pain as [user]'s punch flings you backwards!")
+ target.visible_message(SPAN_DANGER("[user]'s powerfist lets out a loud hiss as [user.p_they()] punch[user.p_es()] [target.name]!"), \
+ SPAN_USERDANGER("You cry out in pain as [user]'s punch flings you backwards!"))
new /obj/effect/temp_visual/kinetic_blast(target.loc)
playsound(loc, 'sound/weapons/resonator_blast.ogg', 50, 1)
playsound(loc, 'sound/weapons/genhit2.ogg', 50, 1)
diff --git a/code/game/objects/items/weapons/scissors.dm b/code/game/objects/items/weapons/scissors.dm
index dc4217225fc..0eceac4c6e3 100644
--- a/code/game/objects/items/weapons/scissors.dm
+++ b/code/game/objects/items/weapons/scissors.dm
@@ -27,17 +27,17 @@
var/mob/living/carbon/human/H = M
var/obj/item/organ/external/head/C = H.get_organ("head")
if(!C)
- to_chat(user, "[M] doesn't have a head!")
+ to_chat(user, SPAN_WARNING("[M] doesn't have a head!"))
return
//facial hair
var/f_new_style = tgui_input_list(user, "Select a facial hair style", "Grooming", H.generate_valid_facial_hairstyles())
//handle normal hair
var/h_new_style = tgui_input_list(user, "Select a hair style", "Grooming", H.generate_valid_hairstyles())
- user.visible_message("[user] starts cutting [M]'s hair!", "You start cutting [M]'s hair!") //arguments for this are: 1. what others see 2. what the user sees. --Fixed grammar, (TGameCo)
+ user.visible_message(SPAN_NOTICE("[user] starts cutting [M]'s hair!"), SPAN_NOTICE("You start cutting [M]'s hair!")) //arguments for this are: 1. what others see 2. what the user sees. --Fixed grammar, (TGameCo)
playsound(loc, 'sound/goonstation/misc/scissor.ogg', 100, 1)
if(do_after(user, 50 * toolspeed, target = H)) //this is the part that adds a delay. delay is in deciseconds. --Made it 5 seconds, because hair isn't cut in one second in real life, and I want at least a little bit longer time, (TGameCo)
if(!(M in view(1))) //Adjacency test
- user.visible_message("[user] stops cutting [M]'s hair.", "You stop cutting [M]'s hair.")
+ user.visible_message(SPAN_NOTICE("[user] stops cutting [M]'s hair."), SPAN_NOTICE("You stop cutting [M]'s hair."))
return
if(f_new_style)
C.f_style = f_new_style
@@ -46,4 +46,4 @@
H.update_hair()
H.update_fhair()
- user.visible_message("[user] finishes cutting [M]'s hair!")
+ user.visible_message(SPAN_NOTICE("[user] finishes cutting [M]'s hair!"))
diff --git a/code/game/objects/items/weapons/shards.dm b/code/game/objects/items/weapons/shards.dm
index 82bfc83a486..d8239b0f146 100644
--- a/code/game/objects/items/weapons/shards.dm
+++ b/code/game/objects/items/weapons/shards.dm
@@ -21,8 +21,8 @@
var/obj/item/stack/sheet/welded_type = /obj/item/stack/sheet/glass
/obj/item/shard/suicide_act(mob/user)
- to_chat(viewers(user), pick("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!",
- "[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
+ to_chat(viewers(user), pick(SPAN_DANGER("[user] is slitting [user.p_their()] wrists with [src]! It looks like [user.p_theyre()] trying to commit suicide!"),
+ SPAN_DANGER("[user] is slitting [user.p_their()] throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!")))
return BRUTELOSS
/obj/item/shard/proc/set_initial_icon_state()
@@ -62,7 +62,7 @@
var/obj/item/organ/external/affecting = H.get_organ("[user.hand ? "l" : "r" ]_hand")
if(affecting.is_robotic())
return
- to_chat(H, "[src] cuts into your hand!")
+ to_chat(H, SPAN_WARNING("[src] cuts into your hand!"))
if(affecting.receive_damage(force * 0.5))
H.UpdateDamageIcon()
@@ -71,7 +71,7 @@
if(!I.use_tool(src, user, volume = I.tool_volume))
return
new welded_type(user.loc)
- to_chat(user, "You add the newly-formed glass to the stack.")
+ to_chat(user, SPAN_NOTICE("You add the newly-formed glass to the stack."))
qdel(src)
/obj/item/shard/proc/on_atom_entered(datum/source, atom/movable/entered)
diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm
index f4cd0aab451..a60855b026b 100644
--- a/code/game/objects/items/weapons/shields.dm
+++ b/code/game/objects/items/weapons/shields.dm
@@ -35,7 +35,7 @@
/obj/item/shield/riot/attackby__legacy__attackchain(obj/item/W, mob/user, params)
if(is_type_in_list(W, allowed_bashers))
if(cooldown < world.time - 2.5 SECONDS)
- user.visible_message("[user] bashes [src] with [W]!")
+ user.visible_message(SPAN_WARNING("[user] bashes [src] with [W]!"))
playsound(user.loc, 'sound/effects/shieldbash.ogg', 50, 1)
cooldown = world.time
else
@@ -97,7 +97,7 @@
var/obj/projectile/P = hitby
if(P.shield_buster && active)
toggle(owner, TRUE)
- to_chat(owner, "[hitby] overloaded your [src]!")
+ to_chat(owner, SPAN_WARNING("[hitby] overloaded your [src]!"))
return 0
/obj/item/shield/energy/IsReflect()
@@ -108,7 +108,7 @@
/obj/item/shield/energy/proc/toggle(mob/living/carbon/human/user, forced)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50) && !forced)
- to_chat(user, "You beat yourself in the head with [src].")
+ to_chat(user, SPAN_WARNING("You beat yourself in the head with [src]."))
user.take_organ_damage(5)
active = !active
icon_state = "eshield[active]"
@@ -119,14 +119,14 @@
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
- to_chat(user, "[src] is now active.")
+ to_chat(user, SPAN_NOTICE("[src] is now active."))
else
force = 3
throwforce = 3
throw_speed = 3
w_class = WEIGHT_CLASS_TINY
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
- to_chat(user, "[src] can now be concealed.")
+ to_chat(user, SPAN_NOTICE("[src] can now be concealed."))
if(ishuman(user))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
@@ -164,7 +164,7 @@
throw_speed = 3
w_class = WEIGHT_CLASS_NORMAL
slot_flags = null
- to_chat(user, "[src] can now be concealed.")
+ to_chat(user, SPAN_NOTICE("[src] can now be concealed."))
else
ADD_TRAIT(src, TRAIT_ITEM_ACTIVE, TRAIT_GENERIC)
force = 8
@@ -172,7 +172,7 @@
throw_speed = 2
w_class = WEIGHT_CLASS_BULKY
slot_flags = ITEM_SLOT_BACK
- to_chat(user, "You extend \the [src].")
+ to_chat(user, SPAN_NOTICE("You extend \the [src]."))
icon_state = "teleriot[HAS_TRAIT(src, TRAIT_ITEM_ACTIVE)]"
playsound(loc, 'sound/weapons/batonextend.ogg', 50, TRUE)
if(ishuman(user))
diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm
index bca4bfd57f5..033a982054d 100644
--- a/code/game/objects/items/weapons/storage/backpack.dm
+++ b/code/game/objects/items/weapons/storage/backpack.dm
@@ -32,15 +32,15 @@
for(var/obj/item/I in contents)
space_used += I.w_class
if(!space_used)
- . += "[src] is empty."
+ . += SPAN_NOTICE("[src] is empty.")
else if(space_used <= max_combined_w_class * 0.6)
- . += "[src] still has plenty of remaining space."
+ . += SPAN_NOTICE("[src] still has plenty of remaining space.")
else if(space_used <= max_combined_w_class * 0.8)
- . += "[src] is beginning to run out of space."
+ . += SPAN_NOTICE("[src] is beginning to run out of space.")
else if(space_used < max_combined_w_class)
- . += "[src] doesn't have much space left."
+ . += SPAN_NOTICE("[src] doesn't have much space left.")
else
- . += "[src] is full."
+ . += SPAN_NOTICE("[src] is full.")
/*
* Backpack Types
@@ -64,17 +64,17 @@
if(istype(W, /obj/item/storage/backpack/holding))
var/response = tgui_alert(user, "This creates a singularity, destroying you and much of the station. Are you SURE?", "IMMINENT DEATH!", list("No", "Yes"))
if(response == "Yes")
- user.visible_message("[user] grins as [user.p_they()] begin[user.p_s()] to put a Bag of Holding into a Bag of Holding!", "You begin to put the Bag of Holding into the Bag of Holding!")
+ user.visible_message(SPAN_WARNING("[user] grins as [user.p_they()] begin[user.p_s()] to put a Bag of Holding into a Bag of Holding!"), SPAN_WARNING("You begin to put the Bag of Holding into the Bag of Holding!"))
if(do_after(user, 30, target=src))
if(GLOB.disable_explosions)
if(istype(user))
- to_chat(user, "You seem to stuff yourself into the quantum hellscape between the two bags. That wasn't wise.")
+ to_chat(user, SPAN_USERDANGER("You seem to stuff yourself into the quantum hellscape between the two bags. That wasn't wise."))
user.gib()
return
investigate_log("has become a singularity. Caused by [user.key]",INVESTIGATE_SINGULO)
- user.visible_message("[user] erupts in evil laughter as [user.p_they()] put[user.p_s()] the Bag of Holding into another Bag of Holding!", "You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you."," You hear the sound of scientific evil brewing!")
+ user.visible_message(SPAN_WARNING("[user] erupts in evil laughter as [user.p_they()] put[user.p_s()] the Bag of Holding into another Bag of Holding!"), SPAN_WARNING("You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you."),SPAN_DANGER(" You hear the sound of scientific evil brewing!"))
qdel(W)
var/obj/singularity/singulo = new /obj/singularity(get_turf(user))
singulo.energy = 300 //To give it a small boost
@@ -219,7 +219,7 @@
/obj/item/storage/backpack/satchel/examine(mob/user)
. = ..()
- . += "You can Alt-Shift-Click [src] to flip its strap side."
+ . += SPAN_NOTICE("You can Alt-Shift-Click [src] to flip its strap side.")
/obj/item/storage/backpack/satchel/AltShiftClick(mob/user)
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
@@ -371,7 +371,7 @@
/obj/item/storage/backpack/duffel/examine(mob/user)
. = ..()
- . += "It is currently [zipped ? "zipped" : "unzipped"]. Alt+Shift+Click to [zipped ? "un-" : ""]zip it!"
+ . += SPAN_NOTICE("It is currently [zipped ? "zipped" : "unzipped"]. Alt+Shift+Click to [zipped ? "un-" : ""]zip it!")
/obj/item/storage/backpack/duffel/AltShiftClick(mob/user)
. = ..()
@@ -419,21 +419,21 @@
return ..()
if(zipped)
- to_chat(usr, "[src] is zipped shut!")
+ to_chat(usr, SPAN_NOTICE("[src] is zipped shut!"))
return FALSE
return ..()
/obj/item/storage/backpack/duffel/removal_allowed_check(mob/user)
if(zipped)
- to_chat(user, "[src] is zipped shut!")
+ to_chat(user, SPAN_NOTICE("[src] is zipped shut!"))
return FALSE
return TRUE
/obj/item/storage/backpack/duffel/drop_inventory(user)
if(zipped)
- to_chat(usr, "[src] is zipped shut!")
+ to_chat(usr, SPAN_NOTICE("[src] is zipped shut!"))
return FALSE
return ..()
@@ -443,7 +443,7 @@
return ..()
if(zipped)
- to_chat(usr, "[src] is zipped shut!")
+ to_chat(usr, SPAN_NOTICE("[src] is zipped shut!"))
return FALSE
return ..()
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index a9ac3aeafda..7f8e3f0cd73 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -56,12 +56,12 @@
/obj/item/storage/bag/trash/can_be_inserted(obj/item/I, stop_messages = FALSE)
if(isstorage(loc) && !istype(loc, /obj/item/storage/backpack/holding))
- to_chat(usr, "You can't seem to fit [I] into [src].")
+ to_chat(usr, SPAN_WARNING("You can't seem to fit [I] into [src]."))
return FALSE
if(ishuman(loc)) // If the trashbag is on a humanoid, they can't store things in it while it's in their pockets
var/mob/living/carbon/human/H = loc
if(H.l_store == src || H.r_store == src)
- to_chat(usr, "You can't seem to fit [I] into [src].")
+ to_chat(usr, SPAN_WARNING("You can't seem to fit [I] into [src]."))
return FALSE
. = ..()
@@ -74,7 +74,7 @@
update_weight()
/obj/item/storage/bag/trash/suicide_act(mob/user)
- user.visible_message("[user] puts [src] over [user.p_their()] head and starts chomping at the insides! Disgusting!")
+ user.visible_message(SPAN_SUICIDE("[user] puts [src] over [user.p_their()] head and starts chomping at the insides! Disgusting!"))
playsound(loc, 'sound/items/eatfood.ogg', 50, TRUE, -1)
return TOXLOSS
@@ -123,7 +123,7 @@
/obj/item/storage/bag/plasticbag/mob_can_equip(mob/M, slot, disable_warning = FALSE)
if(slot == ITEM_SLOT_HEAD && length(contents))
- to_chat(M, "You need to empty the bag first!")
+ to_chat(M, SPAN_WARNING("You need to empty the bag first!"))
return FALSE
return ..()
@@ -273,11 +273,11 @@
/obj/item/storage/bag/plants/portaseeder/examine(mob/user)
. = ..()
if(Adjacent(user))
- . += "You can Ctrl-Shift-Click to convert the plants inside to seeds."
+ . += SPAN_NOTICE("You can Ctrl-Shift-Click to convert the plants inside to seeds.")
/obj/item/storage/bag/plants/portaseeder/proc/process_plants(mob/user)
if(!length(contents))
- to_chat(user, "[src] has no seeds inside!")
+ to_chat(user, SPAN_WARNING("[src] has no seeds inside!"))
return
var/had_anything = FALSE
var/seed_amount = 1
@@ -290,9 +290,9 @@
had_anything |= seedify(O, seed_amount)
hide_from_all()
if(had_anything)
- to_chat(user, "[src] whirrs a bit as it converts the plants inside to seeds.")
+ to_chat(user, SPAN_NOTICE("[src] whirrs a bit as it converts the plants inside to seeds."))
else
- to_chat(user, "[src] whirrs a bit but stops. Doesn't seem like it could convert anything inside.")
+ to_chat(user, SPAN_WARNING("[src] whirrs a bit but stops. Doesn't seem like it could convert anything inside."))
playsound(user, "sound/machines/ding.ogg", 25)
/obj/item/storage/bag/plants/portaseeder/CtrlShiftClick(mob/user)
@@ -318,7 +318,7 @@
/obj/item/storage/bag/plants/seed_sorting_tray/examine(mob/user)
. = ..()
if(Adjacent(user))
- . += "You can Ctrl-Shift-Click to sort seeds inside."
+ . += SPAN_NOTICE("You can Ctrl-Shift-Click to sort seeds inside.")
////////////////////////////////////////
// MARK: Cash bag
@@ -455,9 +455,9 @@
INVOKE_ASYNC(src, PROC_REF(do_scatter), I)
if(found_table)
- user.visible_message("[user] unloads [user.p_their()] serving tray.")
+ user.visible_message(SPAN_NOTICE("[user] unloads [user.p_their()] serving tray."))
else
- user.visible_message("[user] upends [user.p_their()] serving tray, sending everything on it crashing down to the floor!")
+ user.visible_message(SPAN_WARNING("[user] upends [user.p_their()] serving tray, sending everything on it crashing down to the floor!"))
update_icon(UPDATE_OVERLAYS)
return ..()
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index 3f42e9b4174..0c28ecdbcf0 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -35,7 +35,7 @@
/obj/item/storage/belt/can_be_inserted(obj/item/I, stop_messages = FALSE)
if(isstorage(loc) && !istype(loc, /obj/item/storage/backpack/holding) && !istype(loc, /obj/item/storage/hidden_implant) && !storable)
- to_chat(usr, "You can't seem to fit [I] into [src].")
+ to_chat(usr, SPAN_WARNING("You can't seem to fit [I] into [src]."))
return FALSE
. = ..()
@@ -506,7 +506,7 @@
/obj/item/storage/belt/military/assault/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(I.w_class > WEIGHT_CLASS_NORMAL)
- to_chat(user, "[I] is too big for [src].")
+ to_chat(user, SPAN_WARNING("[I] is too big for [src]."))
return
return ..()
@@ -775,11 +775,11 @@
if(length(contents))
var/obj/item/I = contents[1]
- H.visible_message("[H] takes [I] out of [src].", "You take [I] out of [src].")
+ H.visible_message(SPAN_NOTICE("[H] takes [I] out of [src]."), SPAN_NOTICE("You take [I] out of [src]."))
H.put_in_hands(I)
update_icon()
else
- to_chat(user, "[src] is empty!")
+ to_chat(user, SPAN_WARNING("[src] is empty!"))
/obj/item/storage/belt/sheath/handle_item_insertion(obj/item/W, mob/user, prevent_warning)
if(!..())
diff --git a/code/game/objects/items/weapons/storage/boxes.dm b/code/game/objects/items/weapons/storage/boxes.dm
index cd8b5b0d1fc..6f1de657a2b 100644
--- a/code/game/objects/items/weapons/storage/boxes.dm
+++ b/code/game/objects/items/weapons/storage/boxes.dm
@@ -262,11 +262,11 @@
// some inventories might be of different sizes or accept different items,
// for consistency, we dissalow painting with items inside
if(length(contents))
- to_chat(usr, "\The [src] is too unstable to be painted, empty it first.")
+ to_chat(usr, SPAN_WARNING("\The [src] is too unstable to be painted, empty it first."))
return
if(crayon.crayon_color == COLOR_WHITE) //if the box can be recolored, also allow clearing of color
- to_chat(usr, "You clear [src] of its color.")
+ to_chat(usr, SPAN_NOTICE("You clear [src] of its color."))
new_box = make_new_box(/obj/item/storage/box)
else
var/selected_icon = show_radial_menu(user, user, color_list)
@@ -345,7 +345,7 @@
/obj/item/storage/box/examine(mob/user)
. = ..()
if(color_state != null || icon_state == "box")
- . += "Alt-Click [src] with an appropriate crayon in hand to color it."
+ . += SPAN_NOTICE("Alt-Click [src] with an appropriate crayon in hand to color it.")
/// helper function to add to the colors a box can turn into
/// * name - the name of the new box in the radial menu
@@ -1224,7 +1224,7 @@
. = list()
if(!length(contents))
. += "There are no shells in the box."
- . += "Ctrl-click to open or close the box!"
+ . += SPAN_NOTICE("Ctrl-click to open or close the box!")
return
var/list/shell_list = list() // Associated list of all shells in the box
@@ -1236,7 +1236,7 @@
. += "There is one [thing] in the box."
else
. += "There are [shell_list[thing]] [thing]s in the box."
- . += "Ctrl-click to open or close the box!"
+ . += SPAN_NOTICE("Ctrl-click to open or close the box!")
/obj/item/storage/fancy/shell/attackby__legacy__attackchain(obj/item/W, mob/user, params)
if(!is_pen(W))
@@ -1246,12 +1246,12 @@
if(!switchDesign)
return
if(we_are_open)
- to_chat(user, "Close the box first!")
+ to_chat(user, SPAN_WARNING("Close the box first!"))
return
if(get_dist(user, src) > 1 && !user.incapacitated())
- to_chat(user, "You have moved too far away!")
+ to_chat(user, SPAN_WARNING("You have moved too far away!"))
return
- to_chat(user, "You make some modifications to [src] using your pen.")
+ to_chat(user, SPAN_NOTICE("You make some modifications to [src] using your pen."))
switch(switchDesign)
if(TRANQ)
icon_state = "tranqbox"
@@ -1683,30 +1683,30 @@
if(is_pen(W))
//if a pen is used on the sack, dialogue to change its design appears
if(length(contents))
- to_chat(user, "You can't modify [src] with items still inside!")
+ to_chat(user, SPAN_WARNING("You can't modify [src] with items still inside!"))
return
var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILE)
var/switchDesign = tgui_input_list(user, "Select a Design", "Paper Sack Design", designs)
if(!switchDesign)
return
if(get_dist(usr, src) > 1 && !usr.incapacitated())
- to_chat(usr, "You have moved too far away!")
+ to_chat(usr, SPAN_WARNING("You have moved too far away!"))
return
if(design == switchDesign)
return
- to_chat(usr, "You make some modifications to [src] using your pen.")
+ to_chat(usr, SPAN_NOTICE("You make some modifications to [src] using your pen."))
design = switchDesign
update_appearance(UPDATE_DESC|UPDATE_ICON_STATE)
return
else if(W.sharp)
if(!length(contents))
if(icon_state == "paperbag_None")
- to_chat(user, "You cut eyeholes into [src].")
+ to_chat(user, SPAN_NOTICE("You cut eyeholes into [src]."))
new /obj/item/clothing/head/papersack(user.loc)
qdel(src)
return
else if(icon_state == "paperbag_SmileyFace")
- to_chat(user, "You cut eyeholes into [src] and modify the design.")
+ to_chat(user, SPAN_NOTICE("You cut eyeholes into [src] and modify the design."))
new /obj/item/clothing/head/papersack/smiley(user.loc)
qdel(src)
return
@@ -1877,14 +1877,14 @@
foldable = null
/obj/item/storage/box/hug/suicide_act(mob/user)
- user.visible_message("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all..")
+ user.visible_message(SPAN_SUICIDE("[user] clamps the box of hugs on [user.p_their()] jugular! Guess it wasn't such a hugbox after all.."))
return (BRUTELOSS)
/obj/item/storage/box/hug/attack_self__legacy__attackchain(mob/user)
..()
user.changeNext_move(CLICK_CD_MELEE)
playsound(loc, "rustle", 50, TRUE, -5)
- user.visible_message("[user] hugs \the [src].","You hug \the [src].")
+ user.visible_message(SPAN_NOTICE("[user] hugs \the [src]."),SPAN_NOTICE("You hug \the [src]."))
/obj/item/storage/box/hug/empty/populate_contents()
return
diff --git a/code/game/objects/items/weapons/storage/briefcase.dm b/code/game/objects/items/weapons/storage/briefcase.dm
index d1ed97e4a46..c7a820a786e 100644
--- a/code/game/objects/items/weapons/storage/briefcase.dm
+++ b/code/game/objects/items/weapons/storage/briefcase.dm
@@ -48,19 +48,19 @@
/obj/item/storage/briefcase/false_bottomed/attackby__legacy__attackchain(obj/item/I, mob/user)
if(bottom_open)
if(stored_item)
- to_chat(user, "There's already something in the false bottom!")
+ to_chat(user, SPAN_WARNING("There's already something in the false bottom!"))
return
if(I.w_class > WEIGHT_CLASS_NORMAL)
- to_chat(user, "[I] is too big to fit in the false bottom!")
+ to_chat(user, SPAN_WARNING("[I] is too big to fit in the false bottom!"))
return
if(!user.drop_item(I))
- to_chat(user, "[I] is stuck to your hands!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hands!"))
return
stored_item = I
max_w_class = WEIGHT_CLASS_NORMAL - stored_item.w_class
I.moveToNullspace() // to stop it showing up in the briefcase
- to_chat(user, "You place [I] into the false bottom of the briefcase.")
+ to_chat(user, SPAN_NOTICE("You place [I] into the false bottom of the briefcase."))
else
return ..()
@@ -71,7 +71,7 @@
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
if(!bottom_open)
- to_chat(user, "You begin to hunt around the rim of [src]...")
+ to_chat(user, SPAN_NOTICE("You begin to hunt around the rim of [src]..."))
busy_hunting = TRUE
if(do_after(user, 20, target = src))
if(user)
@@ -79,13 +79,13 @@
bottom_open = TRUE
busy_hunting = FALSE
else
- to_chat(user, "You push the false bottom down and close it with a click[stored_item ? ", with [stored_item] snugly inside." : "."]")
+ to_chat(user, SPAN_NOTICE("You push the false bottom down and close it with a click[stored_item ? ", with [stored_item] snugly inside." : "."]"))
bottom_open = FALSE
/obj/item/storage/briefcase/false_bottomed/attack_hand(mob/user)
if(bottom_open && stored_item)
user.put_in_hands(stored_item)
- to_chat(user, "You pull out [stored_item] from [src]'s false bottom.")
+ to_chat(user, SPAN_NOTICE("You pull out [stored_item] from [src]'s false bottom."))
stored_item = null
max_w_class = initial(max_w_class)
else
diff --git a/code/game/objects/items/weapons/storage/lockbox.dm b/code/game/objects/items/weapons/storage/lockbox.dm
index 3b101ab6dce..2d0a564e8ec 100644
--- a/code/game/objects/items/weapons/storage/lockbox.dm
+++ b/code/game/objects/items/weapons/storage/lockbox.dm
@@ -16,21 +16,21 @@
/obj/item/storage/lockbox/attackby__legacy__attackchain(obj/item/W as obj, mob/user as mob, params)
if(istype(W, /obj/item/card/id) || istype(W, /obj/item/pda))
if(broken)
- to_chat(user, "It appears to be broken.")
+ to_chat(user, SPAN_WARNING("It appears to be broken."))
return
if(check_access(W))
locked = !locked
if(locked)
- to_chat(user, "You lock \the [src]!")
+ to_chat(user, SPAN_WARNING("You lock \the [src]!"))
if(user.s_active)
user.s_active.close(user)
else
- to_chat(user, "You unlock \the [src]!")
+ to_chat(user, SPAN_WARNING("You unlock \the [src]!"))
origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D.
update_icon()
return
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return
else if((istype(W, /obj/item/card/emag) || (istype(W, /obj/item/melee/energy/blade)) && !broken))
emag_act(user)
@@ -38,25 +38,25 @@
if(!locked)
..()
else
- to_chat(user, "It's locked!")
+ to_chat(user, SPAN_WARNING("It's locked!"))
return
/obj/item/storage/lockbox/AltClick(mob/user)
if(!Adjacent(user))
return
if(broken)
- to_chat(user, "It appears to be broken.")
+ to_chat(user, SPAN_WARNING("It appears to be broken."))
return
if(!locked && user.s_active != src)
return ..()
if(allowed(user))
locked = !locked
- to_chat(user, "You [locked ? "lock" : "unlock"] [src].")
+ to_chat(user, SPAN_NOTICE("You [locked ? "lock" : "unlock"] [src]."))
update_icon()
if(user.s_active == src)
close(user)
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
/obj/item/storage/lockbox/update_icon_state()
if(broken)
@@ -68,7 +68,7 @@
/obj/item/storage/lockbox/show_to(mob/user as mob)
if(locked)
- to_chat(user, "It's locked!")
+ to_chat(user, SPAN_WARNING("It's locked!"))
else
..()
return
@@ -77,7 +77,7 @@
if(!locked)
return ..()
if(!stop_messages)
- to_chat(usr, "[src] is locked!")
+ to_chat(usr, SPAN_NOTICE("[src] is locked!"))
return 0
/obj/item/storage/lockbox/emag_act(user as mob)
@@ -85,7 +85,7 @@
broken = TRUE
locked = FALSE
desc = "It appears to be broken."
- to_chat(user, "You unlock \the [src].")
+ to_chat(user, SPAN_NOTICE("You unlock \the [src]."))
origin_tech = null //wipe out any origin tech if it's unlocked in any way so you can't double-dip tech levels at R&D.
update_icon()
return
@@ -175,12 +175,12 @@
if(istype(W, /obj/item/disk/fauna_research))
var/obj/item/disk/fauna_research/disky = W
var/obj/item/pride = new disky.output(get_turf(src))
- to_chat(user, "[src] accepts [disky], and prints out [pride]!")
+ to_chat(user, SPAN_NOTICE("[src] accepts [disky], and prints out [pride]!"))
qdel(disky)
if(!is_type_in_list(pride, completed_fauna))
completed_fauna += pride.type
if(length(completed_fauna) == number_of_megafauna)
- to_chat(user, "[src] prints out a very fancy medal!")
+ to_chat(user, SPAN_NOTICE("[src] prints out a very fancy medal!"))
var/obj/item/accomplishment = new /obj/item/clothing/accessory/medal/gold/heroism/hardmode_full(get_turf(src))
user.put_in_hands(accomplishment)
user.put_in_hands(pride)
diff --git a/code/game/objects/items/weapons/storage/secure.dm b/code/game/objects/items/weapons/storage/secure.dm
index fff28d5e001..7ef44bec61b 100644
--- a/code/game/objects/items/weapons/storage/secure.dm
+++ b/code/game/objects/items/weapons/storage/secure.dm
@@ -50,7 +50,7 @@
/obj/item/storage/secure/screwdriver_act(mob/living/user, obj/item/I)
if(I.use_tool(src, user, 2 SECONDS * I.toolspeed, volume = 10))
panel_open = !panel_open
- user.visible_message("[user] [panel_open ? "opens" : "closes"] the service panel on [src].", "You [panel_open ? "open" : "close"] the service panel.")
+ user.visible_message(SPAN_NOTICE("[user] [panel_open ? "opens" : "closes"] the service panel on [src]."), SPAN_NOTICE("You [panel_open ? "open" : "close"] the service panel."))
return TRUE
/obj/item/storage/secure/multitool_act(mob/living/user, obj/item/I)
@@ -59,13 +59,13 @@
if(!I.use_tool(src, user, 0, volume = 0))
return
. = TRUE
- to_chat(user, "You start fiddling with the internal memory mechanisms.")
+ to_chat(user, SPAN_NOTICE("You start fiddling with the internal memory mechanisms."))
if(do_after_once(user, 10 SECONDS * I.toolspeed, target = src))
if(prob(40))
- to_chat(user, "The screen dims, the internal memory seems to be reset.")
+ to_chat(user, SPAN_NOTICE("The screen dims, the internal memory seems to be reset."))
code = null
else
- to_chat(user, "The screen flashes, and then goes back to normal.")
+ to_chat(user, SPAN_NOTICE("The screen flashes, and then goes back to normal."))
/obj/item/storage/secure/emag_act(user, weapon)
@@ -96,7 +96,7 @@
/obj/item/storage/secure/proc/try_to_open()
if(locked)
add_fingerprint(usr)
- to_chat(usr, "It's locked!")
+ to_chat(usr, SPAN_WARNING("It's locked!"))
return FALSE
return TRUE
@@ -105,7 +105,7 @@
if(!locked)
return ..()
if(!stop_messages)
- to_chat(usr, "[src] is locked!")
+ to_chat(usr, SPAN_NOTICE("[src] is locked!"))
return FALSE
/obj/item/storage/secure/update_overlays()
@@ -166,14 +166,14 @@
if(length(user_entered_code) != 5)
return FALSE
code = user_entered_code
- to_chat(ui.user, "You set the code to [code].")
+ to_chat(ui.user, SPAN_NOTICE("You set the code to [code]."))
locked = FALSE
else if(!locked)
locked = TRUE
- to_chat(ui.user, "You lock [src].")
+ to_chat(ui.user, SPAN_NOTICE("You lock [src]."))
else if(user_entered_code == code) // correct code!
locked = FALSE
- to_chat(ui.user, "You unlock [src].")
+ to_chat(ui.user, SPAN_NOTICE("You unlock [src]."))
update_icon(UPDATE_OVERLAYS)
COOLDOWN_START(src, enter_spam, 0.1 SECONDS)
if("C")
@@ -214,7 +214,7 @@
/obj/item/storage/secure/briefcase/attack_hand(mob/user as mob)
if(loc == user && locked)
- to_chat(usr, "[src] is locked and cannot be opened!")
+ to_chat(usr, SPAN_WARNING("[src] is locked and cannot be opened!"))
else if((loc == user) && !locked)
playsound(loc, 'sound/effects/briefcase.ogg', 50, TRUE, -5)
if(user.s_active)
diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm
index 761b84cd2e7..f04e383a798 100644
--- a/code/game/objects/items/weapons/stunbaton.dm
+++ b/code/game/objects/items/weapons/stunbaton.dm
@@ -65,7 +65,7 @@
cell = new cell(src)
/obj/item/melee/baton/suicide_act(mob/user)
- user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!"))
return FIRELOSS
/obj/item/melee/baton/update_icon_state()
@@ -79,13 +79,13 @@
/obj/item/melee/baton/examine(mob/user)
. = ..()
if(isrobot(user))
- . += "This baton is drawing power directly from your own internal charge."
+ . += SPAN_NOTICE("This baton is drawing power directly from your own internal charge.")
if(cell)
- . += "The baton is [round(cell.percent())]% charged."
+ . += SPAN_NOTICE("The baton is [round(cell.percent())]% charged.")
else
- . += "The baton does not have a power source installed."
- . += "When turned on this item will knockdown anyone it hits after a short delay. While on harm intent, this item will also do some brute damage, even if turned on."
- . += "This item can be recharged in a recharger. Using a screwdriver on this item will allow you to access its power cell, which can be replaced."
+ . += SPAN_WARNING("The baton does not have a power source installed.")
+ . += SPAN_NOTICE("When turned on this item will knockdown anyone it hits after a short delay. While on harm intent, this item will also do some brute damage, even if turned on.")
+ . += SPAN_NOTICE("This item can be recharged in a recharger. Using a screwdriver on this item will allow you to access its power cell, which can be replaced.")
/obj/item/melee/baton/get_cell()
@@ -93,13 +93,13 @@
/obj/item/melee/baton/mob_can_equip(mob/user, slot, disable_warning = TRUE) // disable the warning
if(turned_on && (slot == ITEM_SLOT_BELT || slot == ITEM_SLOT_SUIT_STORE))
- to_chat(user, "You can't equip [src] while it's active!")
+ to_chat(user, SPAN_WARNING("You can't equip [src] while it's active!"))
return FALSE
return ..()
/obj/item/melee/baton/can_enter_storage(obj/item/storage/S, mob/user)
if(turned_on)
- to_chat(user, "[S] can't hold [src] while it's active!")
+ to_chat(user, SPAN_WARNING("[S] can't hold [src] while it's active!"))
return FALSE
return TRUE
@@ -131,33 +131,33 @@
if(istype(used, /obj/item/stock_parts/cell))
var/obj/item/stock_parts/cell/C = used
if(cell)
- to_chat(user, "[src] already has a cell!")
+ to_chat(user, SPAN_WARNING("[src] already has a cell!"))
return ITEM_INTERACT_COMPLETE
if(C.maxcharge < hitcost)
- to_chat(user, "[src] requires a higher capacity cell!")
+ to_chat(user, SPAN_WARNING("[src] requires a higher capacity cell!"))
return ITEM_INTERACT_COMPLETE
if(!user.unequip(used))
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
cell = used
- to_chat(user, "You install [used] into [src].")
+ to_chat(user, SPAN_NOTICE("You install [used] into [src]."))
update_icon(UPDATE_ICON_STATE)
return ITEM_INTERACT_COMPLETE
/obj/item/melee/baton/screwdriver_act(mob/living/user, obj/item/I)
if(!cell)
- to_chat(user, "There's no cell installed!")
+ to_chat(user, SPAN_WARNING("There's no cell installed!"))
return
if(!I.use_tool(src, user, volume = I.tool_volume))
return
user.put_in_hands(cell)
- to_chat(user, "You remove [cell] from [src].")
+ to_chat(user, SPAN_NOTICE("You remove [cell] from [src]."))
cell.update_icon()
cell = null
turned_on = FALSE
@@ -174,15 +174,15 @@
if(cell?.charge >= hitcost)
turned_on = !turned_on
- to_chat(user, "[src] is now [turned_on ? "on" : "off"].")
+ to_chat(user, SPAN_NOTICE("[src] is now [turned_on ? "on" : "off"]."))
playsound(src, "sparks", 75, TRUE, -1)
else
if(isrobot(loc))
- to_chat(user, "You do not have enough reserve power to charge [src]!")
+ to_chat(user, SPAN_WARNING("You do not have enough reserve power to charge [src]!"))
else if(!cell)
- to_chat(user, "[src] does not have a power source!")
+ to_chat(user, SPAN_WARNING("[src] does not have a power source!"))
else
- to_chat(user, "[src] is out of charge.")
+ to_chat(user, SPAN_WARNING("[src] is out of charge."))
update_icon()
add_fingerprint(user)
@@ -199,8 +199,8 @@
// For those super edge cases where you clumsy baton yourself in quick succession.
if(baton_stun(user, user, skip_cooldown = TRUE))
user.visible_message(
- "[user] accidentally hits [user.p_themselves()] with [src]!",
- "You accidentally hit yourself with [src]!"
+ SPAN_DANGER("[user] accidentally hits [user.p_themselves()] with [src]!"),
+ SPAN_USERDANGER("You accidentally hit yourself with [src]!")
)
return FINISH_ATTACK
@@ -219,8 +219,8 @@
if(!turned_on)
user.do_attack_animation(target)
target.visible_message(
- "[user] has prodded [target] with [src]. Luckily it was off.",
- "[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. Luckily it was off."
+ SPAN_WARNING("[user] has prodded [target] with [src]. Luckily it was off."),
+ SPAN_DANGER("[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. Luckily it was off.")
)
playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK
@@ -229,8 +229,8 @@
if(!ishuman(target))
user.do_attack_animation(target)
target.visible_message(
- "[user] has prodded [target] with [src]. It doesn't seem to have an effect.",
- "[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. It doesn't seem to have an effect."
+ SPAN_WARNING("[user] has prodded [target] with [src]. It doesn't seem to have an effect."),
+ SPAN_DANGER("[target == user ? "You prod yourself" : "[user] has prodded you"] with [src]. It doesn't seem to have an effect.")
)
playsound(loc, 'sound/weapons/tap.ogg', 50, TRUE, -1)
return FINISH_ATTACK | MELEE_COOLDOWN_PREATTACK
@@ -255,7 +255,7 @@
return FALSE
if(hitcost > 0 && cell?.charge < hitcost)
- to_chat(user, "[src] fizzles weakly as it makes contact. It needs more power!")
+ to_chat(user, SPAN_WARNING("[src] fizzles weakly as it makes contact. It needs more power!"))
return FALSE
if(ishuman(L))
@@ -279,8 +279,8 @@
if(user)
L.store_last_attacker(user)
L.visible_message(
- "[user] has stunned [L] with [src]!",
- "[L == user ? "You stun yourself" : "[user] has stunned you"] with [src]!"
+ SPAN_DANGER("[user] has stunned [L] with [src]!"),
+ SPAN_USERDANGER("[L == user ? "You stun yourself" : "[user] has stunned you"] with [src]!")
)
add_attack_logs(user, L, "stunned")
play_hit_sound()
@@ -314,7 +314,7 @@
SEND_SIGNAL(L, COMSIG_LIVING_MINOR_SHOCK, 33)
L.store_last_attacker(user)
- L.visible_message("[src] stuns [L]!")
+ L.visible_message(SPAN_DANGER("[src] stuns [L]!"))
add_attack_logs(user, L, "stunned")
playsound(src, 'sound/weapons/egloves.ogg', 50, TRUE, -1)
deductcharge(hitcost)
@@ -333,8 +333,8 @@
flick("baton_active", source)
baton_stun(user, user, skip_cooldown = TRUE)
user.visible_message(
- "[user] shocks [user.p_themselves()] while attempting to wash the active [src]!",
- "You unwisely attempt to wash [src] while it's still on."
+ SPAN_WARNING("[user] shocks [user.p_themselves()] while attempting to wash the active [src]!"),
+ SPAN_USERDANGER("You unwisely attempt to wash [src] while it's still on.")
)
return TRUE
..()
@@ -425,7 +425,7 @@
R.on = FALSE
R.listening = FALSE
R.broadcasting = FALSE
- L.visible_message("[R] buzzes loudly as it short circuits!", blind_message = "You hear a loud, electronic buzzing.")
+ L.visible_message(SPAN_WARNING("[R] buzzes loudly as it short circuits!"), blind_message = SPAN_NOTICE("You hear a loud, electronic buzzing."))
/obj/item/melee/baton/flayerprod/proc/enable_radio(obj/item/radio/R)
if(QDELETED(R))
@@ -440,4 +440,4 @@
/obj/item/melee/baton/flayerprod/examine(mob/user)
. = ..()
- . += "This one seems to be able to interfere with radio headsets."
+ . += SPAN_NOTICE("This one seems to be able to interfere with radio headsets.")
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index e3cdcda6e12..0ed92e8bd85 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -47,7 +47,7 @@
return FALSE
if(C.internal == src)
- to_chat(C, "You close \the [src] valve.")
+ to_chat(C, SPAN_NOTICE("You close \the [src] valve."))
C.internal = null
else
if(!C.get_organ_slot("breathing_tube")) // Breathing tubes can always use internals, if they have one, skip ahead and turn internals on/off
@@ -58,16 +58,16 @@
// If the "mask" isn't actually a mask OR That mask isn't internals compatible AND Their headgear isn't internals compatible
if(!istype(M) || (!(initial(M.flags) & AIRTIGHT) && !(C.head && C.head.flags & AIRTIGHT)))
if(!silent)
- to_chat(C, "You are not wearing a suitable mask or helmet.")
+ to_chat(C, SPAN_WARNING("You are not wearing a suitable mask or helmet."))
return FALSE
if(M.up) // If the mask is equipped but pushed away
M.adjustmask(C) // Adjust it back
if(!silent)
if(C.internal)
- to_chat(C, "You switch your internals to [src].")
+ to_chat(C, SPAN_NOTICE("You switch your internals to [src]."))
else
- to_chat(C, "You open \the [src] valve.")
+ to_chat(C, SPAN_NOTICE("You open \the [src] valve."))
C.internal = src
C.update_action_buttons_icon()
@@ -81,7 +81,7 @@
if(!in_range(src, user))
if(icon == src)
- . += "It's [p_a()] [bicon(icon)] [name]! If you want any more information you'll need to get closer."
+ . += SPAN_NOTICE("It's [p_a()] [bicon(icon)] [name]! If you want any more information you'll need to get closer.")
return
var/celsius_temperature = air_contents.temperature() - T0C
@@ -100,8 +100,8 @@
else
descriptive = "furiously hot"
- . += "\The [bicon(icon)][src] feels [descriptive]"
- . += "The pressure gauge displays [round(air_contents.return_pressure())] kPa"
+ . += SPAN_NOTICE("\The [bicon(icon)][src] feels [descriptive]")
+ . += SPAN_NOTICE("The pressure gauge displays [round(air_contents.return_pressure())] kPa")
/obj/item/tank/blob_act(obj/structure/blob/B)
if(B && B.loc == loc)
@@ -116,7 +116,7 @@
/obj/item/tank/suicide_act(mob/user)
var/mob/living/carbon/human/H = user
- user.visible_message("[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is putting [src]'s valve to [user.p_their()] lips! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/effects/spray.ogg', 10, TRUE, -3)
if(!QDELETED(H) && air_contents && air_contents.return_pressure() >= 1000)
@@ -125,7 +125,7 @@
H.inflate_gib()
return OBLITERATION
- to_chat(user, "There isn't enough pressure in [src] to commit suicide with...")
+ to_chat(user, SPAN_WARNING("There isn't enough pressure in [src] to commit suicide with..."))
return SHAME
/obj/item/tank/deconstruct(disassembled = TRUE)
@@ -238,7 +238,7 @@
if(!istype(loc,/obj/item/transfer_valve))
message_admins("Explosive tank rupture! last key to touch the tank was [fingerprintslast] (JMP)")
log_game("Explosive tank rupture! last key to touch the tank was [fingerprintslast] at [x], [y], [z]")
-// to_chat(world, "[x],[y] tank is exploding: [pressure] kPa")
+// to_chat(world, SPAN_NOTICE("[x],[y] tank is exploding: [pressure] kPa"))
//Give the gas a chance to build up more pressure through reacting
air_contents.react()
air_contents.react()
@@ -247,7 +247,7 @@
var/range = (pressure-TANK_FRAGMENT_PRESSURE)/TANK_FRAGMENT_SCALE
var/turf/epicenter = get_turf(loc)
-// to_chat(world, "Exploding Pressure: [pressure] kPa, intensity: [range]")
+// to_chat(world, SPAN_NOTICE("Exploding Pressure: [pressure] kPa, intensity: [range]"))
explosion(epicenter, round(range*0.25), round(range*0.5), round(range), round(range*1.5), cause = "Exploding tank rupture")
if(istype(loc,/obj/item/transfer_valve))
@@ -256,7 +256,7 @@
qdel(src)
else if(pressure > TANK_RUPTURE_PRESSURE)
-// to_chat(world, "[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]")
+// to_chat(world, SPAN_NOTICE("[x],[y] tank is rupturing: [pressure] kPa, integrity [integrity]"))
if(integrity <= 0)
var/turf/simulated/T = get_turf(src)
if(!T)
@@ -268,7 +268,7 @@
integrity--
else if(pressure > TANK_LEAK_PRESSURE)
-// to_chat(world, "[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]")
+// to_chat(world, SPAN_NOTICE("[x],[y] tank is leaking: [pressure] kPa, integrity [integrity]"))
if(integrity <= 0)
var/turf/simulated/T = get_turf(src)
if(!T)
diff --git a/code/game/objects/items/weapons/teleprod.dm b/code/game/objects/items/weapons/teleprod.dm
index d0f5e255e42..84b1ca03ecd 100644
--- a/code/game/objects/items/weapons/teleprod.dm
+++ b/code/game/objects/items/weapons/teleprod.dm
@@ -19,8 +19,8 @@
var/mob/living/carbon/M = target
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
user.visible_message(
- "[user] accidentally hits [user.p_themselves()] with [src]!",
- "You accidentally hit yourself with [src]!"
+ SPAN_DANGER("[user] accidentally hits [user.p_themselves()] with [src]!"),
+ SPAN_USERDANGER("You accidentally hit yourself with [src]!")
)
deductcharge(hitcost)
do_teleport(user, get_turf(user), 50)//honk honk
diff --git a/code/game/objects/items/weapons/thurible.dm b/code/game/objects/items/weapons/thurible.dm
index dd62e04b1ab..fce597c103a 100644
--- a/code/game/objects/items/weapons/thurible.dm
+++ b/code/game/objects/items/weapons/thurible.dm
@@ -35,8 +35,8 @@
/obj/item/thurible/examine(mob/user)
. = ..()
- . += "[src] can hold up to [reagents.maximum_volume] units."
- . += "Contains [reagents.total_volume] units of various reagents."
+ . += SPAN_NOTICE("[src] can hold up to [reagents.maximum_volume] units.")
+ . += SPAN_NOTICE("Contains [reagents.total_volume] units of various reagents.")
/obj/item/thurible/process()
swing()
@@ -57,21 +57,21 @@
. = ..()
if(fire_source.get_heat())
user.visible_message(
- "[user] lights [src] with [fire_source].",
- "You light [src] with [fire_source].",
- "You hear a low whoosh."
+ SPAN_NOTICE("[user] lights [src] with [fire_source]."),
+ SPAN_NOTICE("You light [src] with [fire_source]."),
+ SPAN_WARNING("You hear a low whoosh.")
)
light(user)
/obj/item/thurible/attack_self__legacy__attackchain(mob/user)
if(lit)
- to_chat(user, "You extinguish [src].")
+ to_chat(user, SPAN_WARNING("You extinguish [src]."))
put_out(user)
return ..()
/obj/item/thurible/can_enter_storage(obj/item/storage/S, mob/user)
if(lit)
- to_chat(user, "[S] can't hold \the [initial(name)] while it's lit!") // initial(name) so it doesn't say "lit" twice in a row
+ to_chat(user, SPAN_WARNING("[S] can't hold \the [initial(name)] while it's lit!")) // initial(name) so it doesn't say "lit" twice in a row
return FALSE
return TRUE
@@ -88,8 +88,8 @@
if(R.id == "unholywater")
corrupted = TRUE
visible_message(
- "You corrupt [src] with unholy water!",
- "You hear a strange gurgling."
+ SPAN_NOTICE("You corrupt [src] with unholy water!"),
+ SPAN_WARNING("You hear a strange gurgling.")
)
return
if(!safe_chem_list.Find(R.id))
@@ -97,18 +97,18 @@
found_forbidden_reagent = TRUE
if(found_forbidden_reagent)
visible_message(
- "[src] banishes an unholy substance!",
- "You hear a strange fizzing."
+ SPAN_NOTICE("[src] banishes an unholy substance!"),
+ SPAN_WARNING("You hear a strange fizzing.")
)
/// Lights the thurible and starts processing reagents
/obj/item/thurible/proc/light(mob/user)
if(lit)
- to_chat(user, "[src] is already lit!")
+ to_chat(user, SPAN_WARNING("[src] is already lit!"))
return
if(!reagents.total_volume)
- to_chat(user, "[src] is out of fuel!")
+ to_chat(user, SPAN_WARNING("[src] is out of fuel!"))
return
// Plasma explodes when exposed to fire.
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index 62717fe25ea..eb3eefa8072 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -83,7 +83,7 @@
var/mob/living/target = M
charge = 0
playsound(loc, 'sound/magic/lightningbolt.ogg', 5, 1)
- user.visible_message("[user] slams the charged axe into [M.name] with all [user.p_their()] might!")
+ user.visible_message(SPAN_DANGER("[user] slams the charged axe into [M.name] with all [user.p_their()] might!"))
do_sparks(1, 1, src)
target.KnockDown(8 SECONDS)
var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src)))
@@ -156,13 +156,13 @@
return
if(HAS_TRAIT(user, TRAIT_HULK))
- to_chat(user, "You grip the blade too hard and accidentally drop it!")
+ to_chat(user, SPAN_WARNING("You grip the blade too hard and accidentally drop it!"))
if(HAS_TRAIT(src, TRAIT_WIELDED))
user.drop_item_to_ground(src)
return
..()
if(HAS_TRAIT(user, TRAIT_CLUMSY) && HAS_TRAIT(src, TRAIT_WIELDED) && prob(40) && force)
- to_chat(user, "You twirl around a bit before losing your balance and impaling yourself on [src].")
+ to_chat(user, SPAN_WARNING("You twirl around a bit before losing your balance and impaling yourself on [src]."))
user.take_organ_damage(20, 25)
return
if((HAS_TRAIT(src, TRAIT_WIELDED)) && prob(50))
@@ -174,20 +174,20 @@
return !isnull(cig)
if(!HAS_TRAIT(src, TRAIT_WIELDED))
- to_chat(user, "You need to activate [src] before you can light anything with it!")
+ to_chat(user, SPAN_WARNING("You need to activate [src] before you can light anything with it!"))
return TRUE
if(target == user)
user.visible_message(
- "[user] flips through the air and spins [src] wildly! It brushes against [user.p_their()] [cig] and sets it alight!",
- "You flip through the air and twist [src] so it brushes against [cig], lighting it with the blade.",
- "You hear an energy blade slashing something!"
+ SPAN_DANGER("[user] flips through the air and spins [src] wildly! It brushes against [user.p_their()] [cig] and sets it alight!"),
+ SPAN_NOTICE("You flip through the air and twist [src] so it brushes against [cig], lighting it with the blade."),
+ SPAN_DANGER("You hear an energy blade slashing something!")
)
else
user.visible_message(
- "[user] flips through the air and slashes at [user] with [src]! The blade barely misses, brushing against [user.p_their()] [cig] and setting it alight!",
- "You flip through the air and slash [src] at [cig], lighting it for [target].",
- "You hear an energy blade slashing something!"
+ SPAN_DANGER("[user] flips through the air and slashes at [user] with [src]! The blade barely misses, brushing against [user.p_their()] [cig] and setting it alight!"),
+ SPAN_NOTICE("You flip through the air and slash [src] at [cig], lighting it for [target]."),
+ SPAN_DANGER("You hear an energy blade slashing something!")
)
user.do_attack_animation(target)
playsound(user.loc, hitsound, 50, TRUE)
@@ -223,7 +223,7 @@
/obj/item/dualsaber/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE) //In case thats just so happens that it is still activated on the groud, prevents hulk from picking it up
if(HAS_TRAIT(src, TRAIT_WIELDED))
- to_chat(user, "You can't pick up such a dangerous item with your meaty hands without losing fingers, better not to!")
+ to_chat(user, SPAN_WARNING("You can't pick up such a dangerous item with your meaty hands without losing fingers, better not to!"))
return TRUE
/obj/item/dualsaber/green
@@ -240,7 +240,7 @@
/obj/item/dualsaber/proc/on_wield(obj/item/source, mob/living/carbon/user)
if(user && HAS_TRAIT(user, TRAIT_HULK))
- to_chat(user, "You lack the grace to wield this!")
+ to_chat(user, SPAN_WARNING("You lack the grace to wield this!"))
return COMPONENT_TWOHANDED_BLOCK_WIELD
w_class = w_class_on
@@ -257,11 +257,11 @@
return
if(!hacked)
hacked = TRUE
- to_chat(user, "2XRNBW_ENGAGE")
+ to_chat(user, SPAN_WARNING("2XRNBW_ENGAGE"))
blade_color = "rainbow"
update_icon()
else
- to_chat(user, "It's starting to look like a triple rainbow - no, nevermind.")
+ to_chat(user, SPAN_WARNING("It's starting to look like a triple rainbow - no, nevermind."))
//spears
/obj/item/spear
@@ -388,7 +388,7 @@
/obj/item/spear/attackby__legacy__attackchain(obj/item/I, mob/living/user)
if(istype(I, /obj/item/organ/external/head))
if(user.unequip(src) && user.drop_item())
- to_chat(user, "You stick [I] onto the spear and stand it upright on the ground.")
+ to_chat(user, SPAN_NOTICE("You stick [I] onto the spear and stand it upright on the ground."))
var/obj/structure/headspear/HS = new /obj/structure/headspear(get_turf(src))
var/matrix/M = matrix()
I.transform = M
@@ -416,7 +416,7 @@
return ..()
/obj/structure/headspear/attack_hand(mob/living/user)
- user.visible_message("[user] kicks over [src]!", "You kick down [src]!")
+ user.visible_message(SPAN_WARNING("[user] kicks over [src]!"), SPAN_DANGER("You kick down [src]!"))
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
var/turf/T = get_turf(src)
if(contained_spear)
@@ -524,9 +524,9 @@
/obj/item/mjollnir/proc/shock(mob/living/target)
do_sparks(5, 1, target.loc)
- target.visible_message("[target] was shocked by [src]!",
- "You feel a powerful shock course through your body sending you flying!",
- "You hear a heavy electrical crack!")
+ target.visible_message(SPAN_DANGER("[target] was shocked by [src]!"),
+ SPAN_USERDANGER("You feel a powerful shock course through your body sending you flying!"),
+ SPAN_DANGER("You hear a heavy electrical crack!"))
var/atom/throw_target = get_edge_target_turf(target, get_dir(src, get_step_away(target, src)))
target.throw_at(throw_target, 200, 4)
@@ -592,16 +592,16 @@
if(isliving(A))
var/mob/living/Z = A
if(Z.health >= 1)
- Z.visible_message("[Z.name] was sent flying by a blow from [src]!",
- "You feel a powerful blow connect with your body and send you flying!",
- "You hear something heavy impact flesh!.")
+ Z.visible_message(SPAN_DANGER("[Z.name] was sent flying by a blow from [src]!"),
+ SPAN_USERDANGER("You feel a powerful blow connect with your body and send you flying!"),
+ SPAN_DANGER("You hear something heavy impact flesh!."))
var/atom/throw_target = get_edge_target_turf(Z, get_dir(src, get_step_away(Z, src)))
Z.throw_at(throw_target, 200, 4)
playsound(user, 'sound/weapons/marauder.ogg', 50, 1)
else if(HAS_TRAIT(src, TRAIT_WIELDED) && Z.health < 1)
- Z.visible_message("[Z.name] was blown to pieces by the power of [src]!",
- "You feel a powerful blow rip you apart!",
- "You hear a heavy impact and the sound of ripping flesh!.")
+ Z.visible_message(SPAN_DANGER("[Z.name] was blown to pieces by the power of [src]!"),
+ SPAN_USERDANGER("You feel a powerful blow rip you apart!"),
+ SPAN_DANGER("You hear a heavy impact and the sound of ripping flesh!."))
Z.gib()
playsound(user, 'sound/weapons/marauder.ogg', 50, 1)
if(HAS_TRAIT(src, TRAIT_WIELDED))
@@ -648,12 +648,12 @@
return ..()
/obj/item/pyro_claws/customised_abstract_text(mob/living/carbon/owner)
- return "[owner.p_they(TRUE)] [owner.p_have(FALSE)] energy claws extending [owner.p_their(FALSE)] wrists."
+ return SPAN_WARNING("[owner.p_they(TRUE)] [owner.p_have(FALSE)] energy claws extending [owner.p_their(FALSE)] wrists.")
/obj/item/pyro_claws/process()
lifetime -= 2 SECONDS
if(lifetime <= 0)
- visible_message("[src] slides back into the depths of [loc]'s wrists.")
+ visible_message(SPAN_WARNING("[src] slides back into the depths of [loc]'s wrists."))
do_sparks(rand(1,6), 1, loc)
qdel(src)
return
@@ -673,16 +673,16 @@
return
if(A.locked)
- to_chat(user, "The airlock's bolts prevent it from being forced.")
+ to_chat(user, SPAN_NOTICE("The airlock's bolts prevent it from being forced."))
return
if(A.arePowerSystemsOn())
- user.visible_message("[user] jams [user.p_their()] [name] into the airlock and starts prying it open!", "You start forcing the airlock open.", "You hear a metal screeching sound.")
+ user.visible_message(SPAN_WARNING("[user] jams [user.p_their()] [name] into the airlock and starts prying it open!"), SPAN_WARNING("You start forcing the airlock open."), SPAN_WARNING("You hear a metal screeching sound."))
playsound(A, 'sound/machines/airlock_alien_prying.ogg', 150, 1)
if(!do_after(user, 25, target = A))
return
- user.visible_message("[user] forces the airlock open with [user.p_their()] [name]!", "You force open the airlock.", "You hear a metal screeching sound.")
+ user.visible_message(SPAN_WARNING("[user] forces the airlock open with [user.p_their()] [name]!"), SPAN_WARNING("You force open the airlock."), SPAN_WARNING("You hear a metal screeching sound."))
A.open(2)
/obj/item/clothing/gloves/color/black/pyro_claws
@@ -705,9 +705,9 @@
/obj/item/clothing/gloves/color/black/pyro_claws/examine(mob/user)
. = ..()
if(core)
- . += "[src] are fully operational!"
+ . += SPAN_NOTICE("[src] are fully operational!")
else
- . += "It is missing a pyroclastic anomaly core."
+ . += SPAN_WARNING("It is missing a pyroclastic anomaly core.")
/obj/item/clothing/gloves/color/black/pyro_claws/item_action_slot_check(slot)
if(slot == ITEM_SLOT_GLOVES)
@@ -715,16 +715,16 @@
/obj/item/clothing/gloves/color/black/pyro_claws/ui_action_click(mob/user)
if(!core)
- to_chat(user, "[src] has no core to power it!")
+ to_chat(user, SPAN_NOTICE("[src] has no core to power it!"))
return
if(on_cooldown)
- to_chat(user, "[src] is on cooldown!")
+ to_chat(user, SPAN_NOTICE("[src] is on cooldown!"))
return
if((user.l_hand && !user.drop_l_hand()) || (user.r_hand && !user.drop_r_hand()))
- to_chat(user, "[src] are unable to deploy the blades with the items in your hands!")
+ to_chat(user, SPAN_NOTICE("[src] are unable to deploy the blades with the items in your hands!"))
return
var/obj/item/W = new /obj/item/pyro_claws
- user.visible_message("[user] deploys [W] from [user.p_their()] wrists in a shower of sparks!", "You deploy [W] from your wrists!", "You hear the shower of sparks!")
+ user.visible_message(SPAN_WARNING("[user] deploys [W] from [user.p_their()] wrists in a shower of sparks!"), SPAN_NOTICE("You deploy [W] from your wrists!"), SPAN_WARNING("You hear the shower of sparks!"))
user.put_in_hands(W)
on_cooldown = TRUE
set_nodrop(TRUE, user)
@@ -736,12 +736,12 @@
/obj/item/clothing/gloves/color/black/pyro_claws/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(istype(I, /obj/item/assembly/signaler/anomaly/pyro))
if(core)
- to_chat(user, "[src] already has a [I]!")
+ to_chat(user, SPAN_NOTICE("[src] already has a [I]!"))
return
if(!user.drop_item())
- to_chat(user, "[I] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hand!"))
return
- to_chat(user, "You insert [I] into [src], and [src] starts to warm up.")
+ to_chat(user, SPAN_NOTICE("You insert [I] into [src], and [src] starts to warm up."))
I.forceMove(src)
core = I
else
@@ -783,7 +783,7 @@
icon_state = "broom0"
/obj/item/push_broom/proc/wield(obj/item/source, mob/user)
- to_chat(user, "You brace [src] against the ground in a firm sweeping stance.")
+ to_chat(user, SPAN_NOTICE("You brace [src] against the ground in a firm sweeping stance."))
RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(sweep))
/obj/item/push_broom/proc/unwield(obj/item/source, mob/user)
@@ -819,7 +819,7 @@
else
garbage.Move(new_item_loc, user.dir)
if(trashed_into)
- to_chat(user, "You sweep the pile of garbage into [trashed_into].")
+ to_chat(user, SPAN_NOTICE("You sweep the pile of garbage into [trashed_into]."))
trash_amount++
if(trash_amount > BROOM_PUSH_LIMIT)
break
@@ -857,9 +857,9 @@
switch(user.a_intent)
if(INTENT_HELP)
- H.visible_message("[user] sweeps [H] away!", \
- "[user] sweeps you away!", \
- "You hear sweeping.")
+ H.visible_message(SPAN_DANGER("[user] sweeps [H] away!"), \
+ SPAN_USERDANGER("[user] sweeps you away!"), \
+ SPAN_ITALICS("You hear sweeping."))
playsound(loc, 'sound/weapons/sweeping.ogg', 70, TRUE, -1)
var/atom/throw_target = get_edge_target_turf(H, get_dir(src, get_step_away(H, src)))
@@ -871,9 +871,9 @@
if(H.stat || IS_HORIZONTAL(H))
return ..()
- H.visible_message("[user] sweeps [H]'s legs out from under [H.p_them()]!", \
- "[user] sweeps your legs out from under you!", \
- "You hear sweeping.")
+ H.visible_message(SPAN_DANGER("[user] sweeps [H]'s legs out from under [H.p_them()]!"), \
+ SPAN_USERDANGER("[user] sweeps your legs out from under you!"), \
+ SPAN_ITALICS("You hear sweeping."))
user.do_attack_animation(H, ATTACK_EFFECT_KICK)
playsound(get_turf(user), 'sound/effects/hit_kick.ogg', 50, TRUE, -1)
@@ -883,9 +883,9 @@
add_attack_logs(user, H, "Leg swept with titanium push broom", ATKLOG_ALL)
if(INTENT_GRAB)
- H.visible_message("[user] smacks [H] with the brush of [user.p_their()] broom!", \
- "[user] smacks you with the brush of [user.p_their()] broom!", \
- "You hear a smacking noise.")
+ H.visible_message(SPAN_DANGER("[user] smacks [H] with the brush of [user.p_their()] broom!"), \
+ SPAN_USERDANGER("[user] smacks you with the brush of [user.p_their()] broom!"), \
+ SPAN_ITALICS("You hear a smacking noise."))
user.do_attack_animation(H, ATTACK_EFFECT_DISARM)
playsound(get_turf(user), 'sound/effects/woodhit.ogg', 50, TRUE, -1)
@@ -948,20 +948,20 @@
if(isliving(A))
var/mob/living/target = A
if(target.stat == DEAD)
- visible_message("[user] raises [src] high, ready to bring it down on [target]!")
+ visible_message(SPAN_DANGER("[user] raises [src] high, ready to bring it down on [target]!"))
if(do_after(user, 1 SECONDS, TRUE, target))
- visible_message("[user] brings down [src], obliterating [target] with a heavy blow!")
+ visible_message(SPAN_DANGER("[user] brings down [src], obliterating [target] with a heavy blow!"))
playsound(loc, 'sound/effects/supermatter.ogg', 50, TRUE)
target.dust()
return
- to_chat(user, "You lower [src]. There'll be time to obliterate them later...")
+ to_chat(user, SPAN_NOTICE("You lower [src]. There'll be time to obliterate them later..."))
return
if(charged)
playsound(loc, 'sound/magic/lightningbolt.ogg', 5, TRUE)
- target.visible_message("[src] flares with energy and shocks [target]!", \
- "You're shocked by [src]!", \
- "You hear shocking.")
+ target.visible_message(SPAN_DANGER("[src] flares with energy and shocks [target]!"), \
+ SPAN_USERDANGER("You're shocked by [src]!"), \
+ SPAN_WARNING("You hear shocking."))
target.KnockDown(4 SECONDS)
do_sparks(3, FALSE, src)
charged = FALSE
@@ -974,7 +974,7 @@
if(istype(A, /turf/simulated/wall/indestructible))
return
- to_chat(user, "You start to obliterate [A].")
+ to_chat(user, SPAN_NOTICE("You start to obliterate [A]."))
playsound(loc, hitsound, 50, TRUE)
var/obj/effect/temp_visual/obliteration_rays/rays = new(get_turf(A))
diff --git a/code/game/objects/items/weapons/weaponry.dm b/code/game/objects/items/weapons/weaponry.dm
index 60838177011..04f5349675d 100644
--- a/code/game/objects/items/weapons/weaponry.dm
+++ b/code/game/objects/items/weapons/weaponry.dm
@@ -16,7 +16,7 @@
new_attack_chain = TRUE
/obj/item/banhammer/suicide_act(mob/user)
- visible_message("[user] is hitting [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to ban [user.p_themselves()] from life.")
+ visible_message(SPAN_SUICIDE("[user] is hitting [user.p_themselves()] with [src]! It looks like [user.p_theyre()] trying to ban [user.p_themselves()] from life."))
return BRUTELOSS|FIRELOSS|TOXLOSS|OXYLOSS
/obj/item/banhammer/pre_attack(atom/target, mob/living/user, params)
@@ -44,8 +44,8 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/sord/suicide_act(mob/user)
- user.visible_message("[user] is trying to impale [user.p_themselves()] with [src]! It might be a suicide attempt if it weren't so shitty.", \
- "You try to impale yourself with [src], but it's USELESS...")
+ user.visible_message(SPAN_SUICIDE("[user] is trying to impale [user.p_themselves()] with [src]! It might be a suicide attempt if it weren't so shitty."), \
+ SPAN_SUICIDE("You try to impale yourself with [src], but it's USELESS..."))
return SHAME
/obj/item/claymore
@@ -70,7 +70,7 @@
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES)
/obj/item/claymore/suicide_act(mob/user)
- user.visible_message("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is falling on [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
/obj/item/claymore/ceremonial
@@ -103,7 +103,7 @@
AddComponent(/datum/component/parry, _stamina_constant = 2, _stamina_coefficient = 0.5, _parryable_attack_types = ALL_ATTACK_TYPES)
/obj/item/katana/suicide_act(mob/user)
- user.visible_message("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!")
+ user.visible_message(SPAN_SUICIDE("[user] is slitting [user.p_their()] stomach open with [src]! It looks like [user.p_theyre()] trying to commit seppuku!"))
return BRUTELOSS
/obj/item/harpoon
@@ -141,7 +141,7 @@
user.unequip(I)
user.put_in_hands(S)
- to_chat(user, "You fasten the glass shard to the top of the rod with the cable.")
+ to_chat(user, SPAN_NOTICE("You fasten the glass shard to the top of the rod with the cable."))
qdel(I)
qdel(src)
@@ -153,7 +153,7 @@
user.unequip(I)
user.put_in_hands(P)
- to_chat(user, "You fasten [I] to the top of the rod with the cable.")
+ to_chat(user, SPAN_NOTICE("You fasten [I] to the top of the rod with the cable."))
qdel(I)
qdel(src)
@@ -215,7 +215,7 @@
if(!deflectmode)
return
if(prob(10))
- visible_message("[owner] Deflects [I] directly back at the thrower! It's a home run!", "You deflect [I] directly back at the thrower! It's a home run!")
+ visible_message(SPAN_BOLDWARNING("[owner] Deflects [I] directly back at the thrower! It's a home run!"), SPAN_BOLDWARNING("You deflect [I] directly back at the thrower! It's a home run!"))
playsound(get_turf(owner), 'sound/weapons/homerun.ogg', 100, TRUE)
do_attack_animation(I, ATTACK_EFFECT_DISARM)
I.throw_at(locateUID(I.thrownby), 20, 20, owner)
@@ -224,7 +224,7 @@
COOLDOWN_START(src, last_deflect, deflect_cooldown)
return TRUE
else if(prob(30))
- visible_message("[owner] swings! And [p_they()] miss[p_es()]! How embarassing.", "You swing! You miss! Oh no!")
+ visible_message(SPAN_WARNING("[owner] swings! And [p_they()] miss[p_es()]! How embarassing."), SPAN_WARNING("You swing! You miss! Oh no!"))
playsound(get_turf(owner), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
do_attack_animation(get_step(owner, pick(GLOB.alldirs)), ATTACK_EFFECT_DISARM)
deflectmode = FALSE
@@ -232,7 +232,7 @@
COOLDOWN_START(src, last_deflect, deflect_cooldown)
return FALSE
else
- visible_message("[owner] swings and deflects [I]!", "You swing and deflect [I]!")
+ visible_message(SPAN_WARNING("[owner] swings and deflects [I]!"), SPAN_WARNING("You swing and deflect [I]!"))
playsound(get_turf(owner), 'sound/weapons/baseball_hit.ogg', 50, TRUE, -1)
do_attack_animation(src, ATTACK_EFFECT_DISARM)
I.throw_at(get_edge_target_turf(owner, pick(GLOB.cardinal)), rand(8,10), 14, owner)
@@ -246,21 +246,21 @@
return
if(!homerun_able)
if(!deflectmode && COOLDOWN_FINISHED(src, last_deflect))
- to_chat(user, "You prepare to deflect objects thrown at you. You cannot attack during this time.")
+ to_chat(user, SPAN_NOTICE("You prepare to deflect objects thrown at you. You cannot attack during this time."))
deflectmode = TRUE
else if(deflectmode && COOLDOWN_FINISHED(src, last_deflect))
- to_chat(user, "You no longer deflect objects thrown at you. You can attack during this time")
+ to_chat(user, SPAN_NOTICE("You no longer deflect objects thrown at you. You can attack during this time"))
deflectmode = FALSE
else
- to_chat(user, "You need to wait until you can deflect again. The ability will be ready in [round(COOLDOWN_TIMELEFT(src, last_deflect) / 600)] minute\s.")
+ to_chat(user, SPAN_WARNING("You need to wait until you can deflect again. The ability will be ready in [round(COOLDOWN_TIMELEFT(src, last_deflect) / 600)] minute\s."))
return ..()
if(homerun_ready)
- to_chat(user, "You're already ready to do a home run!")
+ to_chat(user, SPAN_NOTICE("You're already ready to do a home run!"))
return ..()
- to_chat(user, "You begin gathering strength...")
+ to_chat(user, SPAN_WARNING("You begin gathering strength..."))
playsound(get_turf(src), 'sound/magic/lightning_chargeup.ogg', 65, TRUE)
if(do_after(user, 9 SECONDS, target = user, hidden = TRUE))
- to_chat(user, "You gather power! Time for a home run!")
+ to_chat(user, SPAN_USERDANGER("You gather power! Time for a home run!"))
homerun_ready = TRUE
/obj/item/melee/baseball_bat/pre_attack(mob/living/target, mob/living/user, params)
@@ -268,7 +268,7 @@
return FINISH_ATTACK
if(deflectmode)
- to_chat(user, "You cannot attack in deflect mode!")
+ to_chat(user, SPAN_USERDANGER("You cannot attack in deflect mode!"))
return FINISH_ATTACK
if(!COOLDOWN_FINISHED(src, next_throw_time)) // Limit the rate of throwing, so you can't spam it.
@@ -288,7 +288,7 @@
return FINISH_ATTACK
if(homerun_ready)
var/atom/throw_target = get_edge_target_turf(target, user.dir)
- user.visible_message("It's a home run!")
+ user.visible_message(SPAN_USERDANGER("It's a home run!"))
target.throw_at(throw_target, rand(8,10), 14, user)
target.ex_act(EXPLODE_HEAVY)
playsound(get_turf(src), 'sound/weapons/homerun.ogg', 100, TRUE)
diff --git a/code/game/objects/items/weapons/whetstone.dm b/code/game/objects/items/weapons/whetstone.dm
index 8c908965e13..d7cdf67cbb5 100644
--- a/code/game/objects/items/weapons/whetstone.dm
+++ b/code/game/objects/items/weapons/whetstone.dm
@@ -15,27 +15,27 @@
/obj/item/whetstone/attackby__legacy__attackchain(obj/item/I, mob/user, params)
if(used)
- to_chat(user, "The whetstone is too worn to use again!")
+ to_chat(user, SPAN_WARNING("The whetstone is too worn to use again!"))
return
if(requires_sharpness && !I.sharp)
- to_chat(user, "You can only sharpen items that are already sharp, such as knives!")
+ to_chat(user, SPAN_WARNING("You can only sharpen items that are already sharp, such as knives!"))
return
var/signal_out = SEND_SIGNAL(I, COMSIG_ITEM_SHARPEN_ACT, increment, max)
if((signal_out & COMPONENT_BLOCK_SHARPEN_MAXED) || I.force >= max || I.throwforce >= max) //If the item's components enforce more limits on maximum power from sharpening, we fail
- to_chat(user, "[I] is much too powerful to sharpen further!")
+ to_chat(user, SPAN_WARNING("[I] is much too powerful to sharpen further!"))
return
if(signal_out & COMPONENT_BLOCK_SHARPEN_BLOCKED)
- to_chat(user, "[I] is not able to be sharpened right now!")
+ to_chat(user, SPAN_WARNING("[I] is not able to be sharpened right now!"))
return
if((signal_out & COMPONENT_BLOCK_SHARPEN_ALREADY) || (I.force > initial(I.force) && !(signal_out & COMPONENT_SHARPEN_APPLIED))) //No sharpening stuff twice
- to_chat(user, "[I] has already been refined before. It cannot be sharpened further!")
+ to_chat(user, SPAN_WARNING("[I] has already been refined before. It cannot be sharpened further!"))
return
if(!(signal_out & COMPONENT_SHARPEN_APPLIED)) //If the item has a relevant component and COMPONENT_BLOCK_SHARPEN_APPLIED is returned, the item only gets the throw force increase
I.force = clamp(I.force + increment, 0, max)
- user.visible_message("[user] sharpens [I] with [src]!", "You sharpen [I], making it much more deadly than before.")
+ user.visible_message(SPAN_NOTICE("[user] sharpens [I] with [src]!"), SPAN_NOTICE("You sharpen [I], making it much more deadly than before."))
if(!requires_sharpness)
set_sharpness(TRUE)
I.throwforce = clamp(I.throwforce + increment, 0, max)
@@ -48,7 +48,7 @@
/obj/item/whetstone/attack_self__legacy__attackchain(mob/user)
if(used)
- to_chat(user, "The whetstone is too worn to use again!")
+ to_chat(user, SPAN_WARNING("The whetstone is too worn to use again!"))
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -58,14 +58,14 @@
if(!C.has_been_sharpened)
C.has_been_sharpened = TRUE
attack.damage += claw_damage_increase
- H.visible_message("[H] sharpens [H.p_their()] claws on [src]!", "You sharpen your claws on [src].")
+ H.visible_message(SPAN_NOTICE("[H] sharpens [H.p_their()] claws on [src]!"), SPAN_NOTICE("You sharpen your claws on [src]."))
playsound(get_turf(H), usesound, 50, 1)
name = "worn out [name]"
desc = "[desc] At least, it used to."
used = TRUE
update_icon()
else
- to_chat(user, "You can not sharpen your claws any further!")
+ to_chat(user, SPAN_WARNING("You can not sharpen your claws any further!"))
/obj/item/whetstone/super
name = "super whetstone block"
diff --git a/code/game/objects/mail.dm b/code/game/objects/mail.dm
index 46625acee8d..580ed364de9 100644
--- a/code/game/objects/mail.dm
+++ b/code/game/objects/mail.dm
@@ -18,7 +18,7 @@
var/has_been_scanned = FALSE
/obj/item/envelope/suicide_act(mob/user)
- user.visible_message("[user] is licking a sharp corner of the envelope. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(SPAN_SUICIDE("[user] is licking a sharp corner of the envelope. It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/effects/-adminhelp.ogg', 50, TRUE, -1)
return BRUTELOSS
@@ -26,10 +26,10 @@
if(!user?.mind)
return
if(user.real_name != recipient)
- to_chat(user, "You don't want to open up another person's mail, that's an invasion of their privacy!")
+ to_chat(user, SPAN_WARNING("You don't want to open up another person's mail, that's an invasion of their privacy!"))
return
if(do_after(user, 1 SECONDS, target = user) && !QDELETED(src))
- to_chat(user, "You begin to open the envelope.")
+ to_chat(user, SPAN_NOTICE("You begin to open the envelope."))
playsound(loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
user.unequip(src)
for(var/obj/item/I in contents)
@@ -244,22 +244,22 @@
/obj/item/mail_scanner/examine(mob/user)
. = ..()
- . += "Scan a letter to log it into the active database, then scan the person you wish to hand the letter to. Correctly scanning the recipient of the letter logged into the active database will add credits to the Supply budget."
+ . += SPAN_NOTICE("Scan a letter to log it into the active database, then scan the person you wish to hand the letter to. Correctly scanning the recipient of the letter logged into the active database will add credits to the Supply budget.")
/obj/item/mail_scanner/attack__legacy__attackchain()
return
/obj/item/mail_scanner/afterattack__legacy__attackchain(atom/A, mob/user)
if(get_dist(A, user) > scanner_range)
- to_chat(user, "The scanner doesn't reach that far!")
+ to_chat(user, SPAN_WARNING("The scanner doesn't reach that far!"))
return
if(istype(A, /obj/item/envelope))
var/obj/item/envelope/envelope = A
if(envelope.has_been_scanned)
- to_chat(user, "This letter has already been logged to the active database!")
+ to_chat(user, SPAN_WARNING("This letter has already been logged to the active database!"))
playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE)
return
- to_chat(user, "You add [envelope] to the active database.")
+ to_chat(user, SPAN_NOTICE("You add [envelope] to the active database."))
playsound(loc, 'sound/mail/mailscanned.ogg', 50, TRUE)
saved = A
SSblackbox.record_feedback("amount", "successful_mail_scan", 1)
@@ -267,28 +267,28 @@
if(isliving(A))
var/mob/living/M = A
if(!saved)
- to_chat(user, "Error: You have not logged mail to the mail scanner!")
+ to_chat(user, SPAN_WARNING("Error: You have not logged mail to the mail scanner!"))
playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE)
return
if(M.stat == DEAD)
- to_chat(user, "Consent Verification failed: You can't deliver mail to a corpse!")
+ to_chat(user, SPAN_WARNING("Consent Verification failed: You can't deliver mail to a corpse!"))
playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE)
return
if(M.real_name != saved.recipient)
- to_chat(user, "'Identity Verification failed: Target is not an authorized recipient of this package!")
+ to_chat(user, SPAN_WARNING("'Identity Verification failed: Target is not an authorized recipient of this package!"))
playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE)
return
if(!M.client)
- to_chat(user, "Consent Verification failed: The scanner will not accept confirmation of orders from SSD people!")
+ to_chat(user, SPAN_WARNING("Consent Verification failed: The scanner will not accept confirmation of orders from SSD people!"))
playsound(loc, 'sound/mail/maildenied.ogg', 50, TRUE)
return
saved.has_been_scanned = TRUE
saved = null
- to_chat(user, "Successful delivery acknowledged! [MAIL_DELIVERY_BONUS] credits added to Supply account!")
+ to_chat(user, SPAN_NOTICE("Successful delivery acknowledged! [MAIL_DELIVERY_BONUS] credits added to Supply account!"))
playsound(loc, 'sound/mail/mailapproved.ogg', 50, TRUE)
GLOB.station_money_database.credit_account(SSeconomy.cargo_account, MAIL_DELIVERY_BONUS, "Mail Delivery Compensation", "Nanotrasen Mail and Interstellar Logistics", supress_log = FALSE)
SSblackbox.record_feedback("amount", "successful_mail_delivery", 1)
diff --git a/code/game/objects/obj_defense.dm b/code/game/objects/obj_defense.dm
index d63596800e0..56f75059e65 100644
--- a/code/game/objects/obj_defense.dm
+++ b/code/game/objects/obj_defense.dm
@@ -88,7 +88,7 @@
/obj/bullet_act(obj/projectile/P)
. = ..()
playsound(src, P.hitsound, 50, TRUE)
- visible_message("[src] is hit by \a [P]!")
+ visible_message(SPAN_DANGER("[src] is hit by \a [P]!"))
if(!QDELETED(src)) //Bullet on_hit effect might have already destroyed this object
take_damage(P.damage, P.damage_type, P.flag, 0, turn(P.dir, 180), P.armor_penetration_flat, P.armor_penetration_percentage)
@@ -99,7 +99,7 @@
/obj/attack_hulk(mob/living/carbon/human/user, does_attack_animation = FALSE)
if(user.a_intent == INTENT_HARM)
..(user, TRUE)
- visible_message("[user] smashes [src]!")
+ visible_message(SPAN_DANGER("[user] smashes [src]!"))
if(density)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
user.say(pick(";RAAAAAAAARGH!", ";HNNNNNNNNNGGGGGGH!", ";GWAAAAAAAARRRHHH!", "NNNNNNNNGGGGGGGGHH!", ";AAAAAAARRRGH!" ))
@@ -192,7 +192,7 @@
return 0
else
return 0
- M.visible_message("[M.name] hits [src]!", "You hit [src]!")
+ M.visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_DANGER("You hit [src]!"))
return take_damage(M.force*3, mech_damtype, MELEE, play_soundeffect, get_dir(src, M)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs.
/obj/singularity_act()
diff --git a/code/game/objects/obj_vv.dm b/code/game/objects/obj_vv.dm
index 9268c4486ca..bdb85ae180d 100644
--- a/code/game/objects/obj_vv.dm
+++ b/code/game/objects/obj_vv.dm
@@ -38,7 +38,7 @@
i++
qdel(Obj)
if(!i)
- to_chat(usr, "No objects of this type exist.")
+ to_chat(usr, SPAN_NOTICE("No objects of this type exist."))
return
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
message_admins("[key_name_admin(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
@@ -49,7 +49,7 @@
i++
qdel(Obj)
if(!i)
- to_chat(usr, "No objects of this type exist.")
+ to_chat(usr, SPAN_NOTICE("No objects of this type exist."))
return
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
message_admins("[key_name_admin(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
@@ -61,7 +61,7 @@
var_edited = TRUE
makeSpeedProcess()
log_admin("[key_name(usr)] has made [src] speed process")
- message_admins("[key_name(usr)] has made [src] speed process")
+ message_admins(SPAN_NOTICE("[key_name(usr)] has made [src] speed process"))
if(href_list[VV_HK_MAKENORMALSPEED])
if(!check_rights(R_DEBUG|R_ADMIN))
return
@@ -69,7 +69,7 @@
var_edited = TRUE
makeNormalProcess()
log_admin("[key_name(usr)] has made [src] process normally")
- message_admins("[key_name(usr)] has made [src] process normally")
+ message_admins(SPAN_NOTICE("[key_name(usr)] has made [src] process normally"))
if(href_list[VV_HK_MODIFYARMOR])
if(!check_rights(R_DEBUG|R_ADMIN))
return
@@ -118,7 +118,7 @@
armor = armor.setRating(armorlist[MELEE], armorlist[BULLET], armorlist[LASER], armorlist[ENERGY], armorlist[BOMB], armorlist[RAD], armorlist[FIRE], armorlist[ACID], armorlist[MAGIC])
log_admin("[key_name(usr)] modified the armor on [src] to: melee = [armorlist[MELEE]], bullet = [armorlist[BULLET]], laser = [armorlist[LASER]], energy = [armorlist[ENERGY]], bomb = [armorlist[BOMB]], rad = [armorlist[RAD]], fire = [armorlist[FIRE]], acid = [armorlist[ACID]], magic = [armorlist[MAGIC]]")
- message_admins("[key_name(usr)] modified the armor on [src] to: melee = [armorlist[MELEE]], bullet = [armorlist[BULLET]], laser = [armorlist[LASER]], energy = [armorlist[ENERGY]], bomb = [armorlist[BOMB]], rad = [armorlist[RAD]], fire = [armorlist[FIRE]], acid = [armorlist[ACID]], magic = [armorlist[MAGIC]]")
+ message_admins(SPAN_NOTICE("[key_name(usr)] modified the armor on [src] to: melee = [armorlist[MELEE]], bullet = [armorlist[BULLET]], laser = [armorlist[LASER]], energy = [armorlist[ENERGY]], bomb = [armorlist[BOMB]], rad = [armorlist[RAD]], fire = [armorlist[FIRE]], acid = [armorlist[ACID]], magic = [armorlist[MAGIC]]"))
if(href_list[VV_HK_MODIFY_ACCESS])
if(!check_rights(R_ADMIN))
return
diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm
index 7e387ff58a5..99b0cc5630a 100644
--- a/code/game/objects/objs.dm
+++ b/code/game/objects/objs.dm
@@ -187,7 +187,7 @@
/// Returns `TRUE` if the object was successfully repaired. Fully repairs an object (setting `BROKEN` to `FALSE`), default repair time = 40.
/obj/proc/default_welder_repair(mob/user, obj/item/I)
if(obj_integrity >= max_integrity)
- to_chat(user, "[src] does not need repairs.")
+ to_chat(user, SPAN_NOTICE("[src] does not need repairs."))
return
if(I.tool_behaviour != TOOL_WELDER)
return
@@ -204,16 +204,16 @@
/// Handles (un)anchoring. Returns `TRUE` if successful, otherwise returns `FALSE`.
/obj/proc/default_unfasten_wrench(mob/user, obj/item/I, time = 20)
if(!anchored && !isfloorturf(loc))
- user.visible_message("A floor must be present to secure [src]!")
+ user.visible_message(SPAN_WARNING("A floor must be present to secure [src]!"))
return FALSE
if(I.tool_behaviour != TOOL_WRENCH)
return FALSE
if(!I.tool_use_check(user, 0))
return FALSE
if(!(flags & NODECONSTRUCT))
- to_chat(user, "Now [anchored ? "un" : ""]securing [name].")
+ to_chat(user, SPAN_NOTICE("Now [anchored ? "un" : ""]securing [name]."))
if(I.use_tool(src, user, time, volume = I.tool_volume))
- to_chat(user, "You've [anchored ? "un" : ""]secured [name].")
+ to_chat(user, SPAN_NOTICE("You've [anchored ? "un" : ""]secured [name]."))
anchored = !anchored
return TRUE
return FALSE
@@ -278,7 +278,7 @@
playsound(src, 'sound/weapons/punch1.ogg', 35, 1)
if(mob_hurt) //Density check probably not needed, one should only bump into something if it is dense, and blob tiles are not dense, because of course they are not.
return
- C.visible_message("[C] slams into [src]!", "You slam into [src]!")
+ C.visible_message(SPAN_DANGER("[C] slams into [src]!"), SPAN_USERDANGER("You slam into [src]!"))
if(!self_hurt)
take_damage(damage, BRUTE)
diff --git a/code/game/objects/starline_phone.dm b/code/game/objects/starline_phone.dm
index 44ae70badd0..2a0f76f751b 100644
--- a/code/game/objects/starline_phone.dm
+++ b/code/game/objects/starline_phone.dm
@@ -32,7 +32,7 @@
else
return // no stinky mobs/xenos allowed
if(phone_state != NO_CALLS)
- to_chat(user, "There is already an ongoing call!")
+ to_chat(user, SPAN_WARNING("There is already an ongoing call!"))
return
var/list/available_phones = list()
@@ -43,7 +43,7 @@
return
var/obj/machinery/phone/target_phone = available_phones[phone_choice]
if(target_phone.phone_state != NO_CALLS)
- to_chat(user, "Call attemp failed: Line busy.")
+ to_chat(user, SPAN_WARNING("Call attemp failed: Line busy."))
return
handheld = new
handheld.parent_phone = src
@@ -70,7 +70,7 @@
switch(phone_state)
if(NO_CALLS)
- to_chat(user, "There are no calls at the moment to pick up.")
+ to_chat(user, SPAN_WARNING("There are no calls at the moment to pick up."))
return
if(RINGING)
handheld = new
@@ -80,13 +80,13 @@
icon_state = "answered"
start_call()
else
- to_chat(user, "The receiver is already off the dock!")
+ to_chat(user, SPAN_WARNING("The receiver is already off the dock!"))
return
/obj/machinery/phone/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/radio/phone_receiver))
if(phone_state == ACTIVE_CALL)
- to_chat(user, "You hang up the call.")
+ to_chat(user, SPAN_INFORMATION("You hang up the call."))
end_call()
playsound(src, 'sound/machines/starline_hangup.ogg', 50, 0)
handheld.dropped()
@@ -121,13 +121,13 @@
phone_state = ACTIVE_CALL
handheld.listening = TRUE
connected_line.handheld.listening = TRUE
- connected_line.audible_message("The receiver clicks as the other line picks up.", hearing_distance = 3)
+ connected_line.audible_message(SPAN_INFORMATION("The receiver clicks as the other line picks up."), hearing_distance = 3)
/obj/machinery/phone/proc/end_call()
handheld.listening = FALSE
phone_state = NO_CALLS
if(connected_line)
- connected_line.audible_message("The receiver clicks as the other line hangs up", hearing_distance = 3)
+ connected_line.audible_message(SPAN_INFORMATION("The receiver clicks as the other line hangs up"), hearing_distance = 3)
connected_line.connected_line = null
if(connected_line.phone_state == RINGING)
connected_line.phone_state = NO_CALLS
@@ -160,7 +160,7 @@
freqlock = TRUE
/obj/item/radio/phone_receiver/dropped(mob/user, silent)
- visible_message("The receiver snaps back into its dock.")
+ visible_message(SPAN_INFORMATION("The receiver snaps back into its dock."))
parent_phone.icon_state = "base"
if(parent_phone.phone_state == ACTIVE_CALL)
parent_phone.end_call()
diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm
index 4ec63703ab3..a1d25eda5ce 100644
--- a/code/game/objects/structures.dm
+++ b/code/game/objects/structures.dm
@@ -78,18 +78,18 @@
return FALSE
var/blocking_object = density_check()
if(blocking_object)
- to_chat(user, "You cannot climb onto [src], as it is blocked by \a [blocking_object]!")
+ to_chat(user, SPAN_WARNING("You cannot climb onto [src], as it is blocked by \a [blocking_object]!"))
return FALSE
if(!isturf(loc))
return FALSE
var/freerunner_multiplier = HAS_TRAIT(user, TRAIT_FREERUNNER) ? 0.8 : 1
if(HAS_MIND_TRAIT(user, TRAIT_TABLE_LEAP))
- user.visible_message("[user] gets ready to vault up onto [src]!")
+ user.visible_message(SPAN_WARNING("[user] gets ready to vault up onto [src]!"))
if(!do_after(user, 0.5 SECONDS * freerunner_multiplier, target = src))
return FALSE
else
- user.visible_message("[user] starts climbing onto [src]!")
+ user.visible_message(SPAN_WARNING("[user] starts climbing onto [src]!"))
if(!do_after(user, 5 SECONDS * freerunner_multiplier, target = src))
return FALSE
@@ -104,9 +104,9 @@
if(do_climb(user))
user.forceMove(get_turf(src))
if(HAS_MIND_TRAIT(user, TRAIT_TABLE_LEAP))
- user.visible_message("[user] leaps up onto [src]!")
+ user.visible_message(SPAN_WARNING("[user] leaps up onto [src]!"))
else
- user.visible_message("[user] climbs onto [src]!")
+ user.visible_message(SPAN_WARNING("[user] climbs onto [src]!"))
if(QDELETED(src)) // Table was destroyed while we were climbing it
return
climbers -= user
@@ -126,14 +126,14 @@
return //No spamming this on people.
M.Weaken(10 SECONDS)
- to_chat(M, "You topple as \the [src] moves under you!")
+ to_chat(M, SPAN_WARNING("You topple as \the [src] moves under you!"))
if(prob(25))
var/damage = rand(15,30)
var/mob/living/carbon/human/H = M
if(!istype(H))
- to_chat(H, "You land heavily!")
+ to_chat(H, SPAN_WARNING("You land heavily!"))
M.adjustBruteLoss(damage)
return
@@ -152,12 +152,12 @@
affecting = H.get_organ("head")
if(affecting)
- to_chat(M, "You land heavily on your [affecting.name]!")
+ to_chat(M, SPAN_WARNING("You land heavily on your [affecting.name]!"))
affecting.receive_damage(damage, 0)
if(affecting.parent)
affecting.parent.add_autopsy_data("Misadventure", damage)
else
- to_chat(H, "You land heavily!")
+ to_chat(H, SPAN_WARNING("You land heavily!"))
H.adjustBruteLoss(damage)
H.UpdateDamageIcon()
@@ -168,25 +168,25 @@
if(!Adjacent(user))
return FALSE
if(user.restrained() || user.buckled)
- to_chat(user, "You need your hands and legs free for this.")
+ to_chat(user, SPAN_NOTICE("You need your hands and legs free for this."))
return FALSE
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return FALSE
if(issilicon(user))
- to_chat(user, "You need hands for this.")
+ to_chat(user, SPAN_NOTICE("You need hands for this."))
return FALSE
return TRUE
/obj/structure/proc/get_climb_text()
- return "You can Click-Drag yourself to [src] to climb on top of it after a short delay."
+ return SPAN_NOTICE("You can Click-Drag yourself to [src] to climb on top of it after a short delay.")
/obj/structure/examine(mob/user)
. = ..()
if(!(resistance_flags & INDESTRUCTIBLE))
if(resistance_flags & ON_FIRE)
- . += "It's on fire!"
+ . += SPAN_WARNING("It's on fire!")
if(broken)
- . += "It appears to be broken."
+ . += SPAN_NOTICE("It appears to be broken.")
var/examine_status = examine_status(user)
if(examine_status)
. += examine_status
@@ -202,7 +202,7 @@
return "It appears heavily damaged."
if(0 to 25)
if(!broken)
- return "It's falling apart!"
+ return SPAN_WARNING("It's falling apart!")
/obj/structure/proc/prevents_buckled_mobs_attacking()
return FALSE
diff --git a/code/game/objects/structures/aliens.dm b/code/game/objects/structures/aliens.dm
index ddb88523019..3890570184b 100644
--- a/code/game/objects/structures/aliens.dm
+++ b/code/game/objects/structures/aliens.dm
@@ -83,7 +83,7 @@
/obj/structure/alien/resin/attack_alien(mob/living/carbon/alien/humanoid/user)
if(user.a_intent != INTENT_HARM)
return
- to_chat(user, "We begin tearing down this resin structure.")
+ to_chat(user, SPAN_NOTICEALIEN("We begin tearing down this resin structure."))
if(!do_after(user, 40, target = src) || QDELETED(src))
return
qdel(src)
@@ -160,7 +160,7 @@
if(!C.handcuffed)
operate(bumped_open)
return
- to_chat(user, "Your lack of connection to the hive prevents the resin door from opening")
+ to_chat(user, SPAN_NOTICEALIEN("Your lack of connection to the hive prevents the resin door from opening"))
/*
* This 2nd try_to_operate() is needed so that CALLBACK can close the door without having to either call operate() and get bugged when clicked much or
* call try_to_operate(atom/user) and not be able to use it due to not having a mob using it
@@ -205,7 +205,7 @@
if(user.a_intent != INTENT_HARM)
try_to_operate(user)
return
- to_chat(user, "We begin tearing down this resin structure.")
+ to_chat(user, SPAN_NOTICEALIEN("We begin tearing down this resin structure."))
if(!do_after(user, 40, target = src) || QDELETED(src))
return
qdel(src)
@@ -483,19 +483,19 @@
if(user.get_int_organ(/obj/item/organ/internal/alien/plasmavessel))
switch(status)
if(BURST)
- to_chat(user, "You clear the hatched egg.")
+ to_chat(user, SPAN_NOTICE("You clear the hatched egg."))
playsound(loc, 'sound/effects/attackblob.ogg', 100, 1)
qdel(src)
return
if(GROWING)
- to_chat(user, "The child is not developed yet.")
+ to_chat(user, SPAN_NOTICE("The child is not developed yet."))
return
if(GROWN)
- to_chat(user, "You retrieve the child.")
+ to_chat(user, SPAN_NOTICE("You retrieve the child."))
burst(FALSE)
return
else
- to_chat(user, "It feels slimy.")
+ to_chat(user, SPAN_NOTICE("It feels slimy."))
user.changeNext_move(CLICK_CD_MELEE)
diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm
index f3127df147d..132eaf23076 100644
--- a/code/game/objects/structures/barsign.dm
+++ b/code/game/objects/structures/barsign.dm
@@ -109,15 +109,15 @@
. = ..()
switch(build_stage)
if(BARSIGN_FRAME)
- . += "It's missing a circuit board and the bolts are exposed."
+ . += SPAN_NOTICE("It's missing a circuit board and the bolts are exposed.")
if(BARSIGN_CIRCUIT)
- . += "The frame needs wiring and the circuit board could be pried out."
+ . += SPAN_NOTICE("The frame needs wiring and the circuit board could be pried out.")
if(BARSIGN_WIRED)
- . += "The frame lacks a glass screen and is filled with wires that could be cut."
+ . += SPAN_NOTICE("The frame lacks a glass screen and is filled with wires that could be cut.")
if(BARSIGN_COMPLETE)
- . += "Alt-Click to toggle its power."
+ . += SPAN_NOTICE("Alt-Click to toggle its power.")
if(panel_open)
- . += "It is disabled by its unscrewed maintenance panel that exposes an area from which the screen could be pried out."
+ . += SPAN_NOTICE("It is disabled by its unscrewed maintenance panel that exposes an area from which the screen could be pried out.")
/obj/machinery/barsign/proc/is_on()
if(power_state == ACTIVE_POWER_USE)
@@ -158,16 +158,16 @@
if(..())
return
if(stat & MAINT)
- to_chat(user, "Wait until the repairs are complete!")
+ to_chat(user, SPAN_WARNING("Wait until the repairs are complete!"))
return
if((stat & (BROKEN|NOPOWER|EMPED)) || build_stage < BARSIGN_COMPLETE)
- to_chat(user, "The controls seem unresponsive.")
+ to_chat(user, SPAN_WARNING("The controls seem unresponsive."))
return
if(panel_open)
- to_chat(user, "Close the maintenance panel first!")
+ to_chat(user, SPAN_WARNING("Close the maintenance panel first!"))
return
if(!allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return
pick_sign(user)
@@ -191,7 +191,7 @@
req_access = list(ACCESS_BAR)
else
req_access = list()
- to_chat(user, "You insert the circuit!")
+ to_chat(user, SPAN_NOTICE("You insert the circuit!"))
qdel(electronic)
build_stage = BARSIGN_CIRCUIT
update_icon()
@@ -202,13 +202,13 @@
if(BARSIGN_CIRCUIT)
if(istype(used, /obj/item/stack/cable_coil))
if(!used.use(5))
- to_chat(user, "You need a total of five cables to wire [src]!")
+ to_chat(user, SPAN_WARNING("You need a total of five cables to wire [src]!"))
return ITEM_INTERACT_COMPLETE
stat &= ~EMPED
build_stage = BARSIGN_WIRED
update_icon()
playsound(get_turf(src), used.usesound, 50, TRUE)
- to_chat(user, "You wire [src]!")
+ to_chat(user, SPAN_NOTICE("You wire [src]!"))
power_state = IDLE_POWER_USE
add_fingerprint(user)
return ITEM_INTERACT_COMPLETE
@@ -216,7 +216,7 @@
if(BARSIGN_WIRED)
if(istype(used, /obj/item/stack/sheet/glass))
if(!used.use(2))
- to_chat(user, "You need at least 2 sheets of glass for this!")
+ to_chat(user, SPAN_WARNING("You need at least 2 sheets of glass for this!"))
return ITEM_INTERACT_COMPLETE
build_stage = BARSIGN_COMPLETE
playsound(get_turf(src), used.usesound, 50, TRUE)
@@ -253,7 +253,7 @@
return
. = TRUE
if(obj_integrity >= max_integrity)
- to_chat(user, "[src] does not need repairs.")
+ to_chat(user, SPAN_NOTICE("[src] does not need repairs."))
return
if(I.tool_behaviour != TOOL_WELDER)
return
@@ -283,10 +283,10 @@
if(!panel_open)
panel_open = TRUE
turn_off()
- to_chat(user, "You open the maintenance panel of [src].")
+ to_chat(user, SPAN_NOTICE("You open the maintenance panel of [src]."))
else
panel_open = FALSE
- to_chat(user, "You close the maintenance panel of [src].")
+ to_chat(user, SPAN_NOTICE("You close the maintenance panel of [src]."))
I.play_tool_sound(user, I.tool_volume)
add_fingerprint(user)
@@ -322,10 +322,10 @@
var/obj/item/barsign_electronics/electronic
electronic = new /obj/item/barsign_electronics
if(!emagged)
- to_chat(user, "You pull the electronics out from [src].")
+ to_chat(user, SPAN_NOTICE("You pull the electronics out from [src]."))
else
// Give fried electronics if the sign is emagged
- to_chat(user, "You pull the fried electronics out from [src].")
+ to_chat(user, SPAN_NOTICE("You pull the fried electronics out from [src]."))
electronic.destroyed = TRUE
electronic.icon_state = "door_electronics_smoked"
if(!length(req_access))
@@ -337,14 +337,14 @@
// Removing the glass screen
else if(build_stage == BARSIGN_COMPLETE)
if(!panel_open)
- to_chat(user, "Open the maintenance panel first!")
+ to_chat(user, SPAN_WARNING("Open the maintenance panel first!"))
return
// Drop a shard if the glass is broken
if(stat & BROKEN)
- to_chat(user, "You remove the broken screen from [src].")
+ to_chat(user, SPAN_NOTICE("You remove the broken screen from [src]."))
new /obj/item/shard(get_turf(user))
else
- to_chat(user, "You pull the glass screen out from [src].")
+ to_chat(user, SPAN_NOTICE("You pull the glass screen out from [src]."))
new /obj/item/stack/sheet/glass(get_turf(user), 2)
build_stage = BARSIGN_WIRED
update_icon()
@@ -363,9 +363,9 @@
return
if(!(flags & NODECONSTRUCT))
if(stat & EMPED)
- to_chat(user, "You remove the burnt wires out from [src].")
+ to_chat(user, SPAN_NOTICE("You remove the burnt wires out from [src]."))
else
- to_chat(user, "You cut the wires out from [src].")
+ to_chat(user, SPAN_NOTICE("You cut the wires out from [src]."))
new /obj/item/stack/cable_coil(get_turf(user), 5)
build_stage = BARSIGN_CIRCUIT
update_icon()
@@ -375,12 +375,12 @@
/obj/machinery/barsign/emag_act(mob/user)
if(stat & (BROKEN|NOPOWER|EMPED))
- to_chat(user, "[src] cannot be taken over right now!")
+ to_chat(user, SPAN_WARNING("[src] cannot be taken over right now!"))
return
if(emagged)
- to_chat(user, "[src] is already taken over!")
+ to_chat(user, SPAN_WARNING("[src] is already taken over!"))
return
- to_chat(user, "You emag the barsign. Takeover in progress...")
+ to_chat(user, SPAN_NOTICE("You emag the barsign. Takeover in progress..."))
add_fingerprint(user)
addtimer(CALLBACK(src, PROC_REF(post_emag)), 10 SECONDS)
return TRUE
@@ -427,19 +427,19 @@
var/placing_on = get_step(user_turf, user.dir)
// Return FALSE if the user isn't facing a wall/window.
if(!is_valid_turf(placing_on))
- to_chat(user, "You need to be facing a wall or window to place the [title].")
+ to_chat(user, SPAN_WARNING("You need to be facing a wall or window to place the [title]."))
return FALSE
// Return FALSE if there isn't space for the entire sign.
if((user.dir != NORTH && user.dir != SOUTH) || !is_valid_turf(get_step(placing_on, EAST)))
- to_chat(user, "There is not enough space to place the [title].")
+ to_chat(user, SPAN_WARNING("There is not enough space to place the [title]."))
return FALSE
// Return FALSE if there's already stuff on the wall.
if(gotwallitem(user_turf, FLIP_DIR_VERTICALLY(user.dir)) || gotwallitem(get_step(user_turf, EAST), FLIP_DIR_VERTICALLY(user.dir)))
- to_chat(user, "There's already an item on the wall!")
+ to_chat(user, SPAN_WARNING("There's already an item on the wall!"))
return FALSE
// Return FALSE if it would cause two bar signs to overlap.
if((locate(/obj/machinery/barsign) in get_step(user_turf, WEST)))
- to_chat(user, "There's already a bar sign here!")
+ to_chat(user, SPAN_WARNING("There's already a bar sign here!"))
return FALSE
return TRUE
@@ -480,14 +480,14 @@
/obj/item/barsign_electronics/examine(mob/user)
. = ..()
- . += "Use it while in your active hand to toggle the access restrictions."
+ . += SPAN_NOTICE("Use it while in your active hand to toggle the access restrictions.")
/obj/item/barsign_electronics/attack_self__legacy__attackchain(mob/user)
. = ..()
if(destroyed)
return
restricts_access = !restricts_access
- to_chat(user, "You [restricts_access ? "enable" : "disable"] the access restrictions of [src].")
+ to_chat(user, SPAN_NOTICE("You [restricts_access ? "enable" : "disable"] the access restrictions of [src]."))
// For the ghost bar since occupants don't have bar access.
/obj/machinery/barsign/ghost_bar
diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm
index 888c4812e0e..e57ca69313f 100644
--- a/code/game/objects/structures/bedsheet_bin.dm
+++ b/code/game/objects/structures/bedsheet_bin.dm
@@ -54,7 +54,7 @@ LINEN BINS
var/obj/item/stack/sheet/cloth/C = new (get_turf(src), 3)
transfer_fingerprints_to(C)
C.add_fingerprint(user)
- to_chat(user, "You tear [src] up.")
+ to_chat(user, SPAN_NOTICE("You tear [src] up."))
qdel(src)
/obj/item/bedsheet/blue
@@ -280,23 +280,23 @@ LINEN BINS
/obj/structure/bedsheetbin/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/bedsheet))
if(!user.drop_item())
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
sheets.Add(used)
amount++
update_icon(UPDATE_ICON_STATE)
- to_chat(user, "You put [used] in [src].")
+ to_chat(user, SPAN_NOTICE("You put [used] in [src]."))
return ITEM_INTERACT_COMPLETE
else if(amount && !hidden && used.w_class < WEIGHT_CLASS_BULKY) //make sure there's sheets to hide it among, make sure nothing else is hidden in there.
if(used.flags & ABSTRACT)
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_NOTICE("[used] is stuck to your hand!"))
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
hidden = used
- to_chat(user, "You hide [used] among the sheets.")
+ to_chat(user, SPAN_NOTICE("You hide [used] among the sheets."))
return ITEM_INTERACT_COMPLETE
@@ -314,11 +314,11 @@ LINEN BINS
B.loc = user.loc
user.put_in_hands(B)
- to_chat(user, "You take [B] out of [src].")
+ to_chat(user, SPAN_NOTICE("You take [B] out of [src]."))
if(hidden)
hidden.loc = user.loc
- to_chat(user, "[hidden] falls out of [B]!")
+ to_chat(user, SPAN_NOTICE("[hidden] falls out of [B]!"))
hidden = null
update_icon(UPDATE_ICON_STATE)
@@ -338,7 +338,7 @@ LINEN BINS
B = new /obj/item/bedsheet(loc)
B.loc = loc
- to_chat(user, "You telekinetically remove [B] from [src].")
+ to_chat(user, SPAN_NOTICE("You telekinetically remove [B] from [src]."))
update_icon(UPDATE_ICON_STATE)
if(hidden)
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index d0cc5a94a6d..9243880886b 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -188,7 +188,7 @@
if(user.m_intent != MOVE_INTENT_RUN)
return
if(!COOLDOWN_FINISHED(user, skittish_cooldown))
- to_chat(user, "Wait a few seconds to do that again.")
+ to_chat(user, SPAN_NOTICE("Wait a few seconds to do that again."))
return
if(locked && !allowed(user))
return
@@ -293,7 +293,7 @@
/obj/structure/closet/proc/toggle(mob/user)
if(!(opened ? close(user) : open()))
- to_chat(user, "It won't budge!")
+ to_chat(user, SPAN_NOTICE("It won't budge!"))
/obj/structure/closet/proc/bust_open()
welded = FALSE //applies to all lockers
@@ -322,7 +322,7 @@
if(large)
MouseDrop_T(G.affecting, user) //act like they were dragged onto the closet
else
- to_chat(user, "[src] is too small to stuff [G.affecting] into!")
+ to_chat(user, SPAN_NOTICE("[src] is too small to stuff [G.affecting] into!"))
if(istype(W, /obj/item/tk_grab))
return // passthrough
if(user.a_intent != INTENT_HELP) // Stops you from putting your baton in the closet on accident
@@ -330,7 +330,7 @@
if(isrobot(user) && !istype(W.loc, /obj/item/gripper))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item()) //couldn't drop the item
- to_chat(user, "\The [W] is stuck to your hand, you cannot put it in \the [src]!")
+ to_chat(user, SPAN_NOTICE("\The [W] is stuck to your hand, you cannot put it in \the [src]!"))
return ITEM_INTERACT_COMPLETE
if(W.loc != user.loc)
// It went somewhere else, don't teleport it back.
@@ -356,7 +356,7 @@
/obj/structure/closet/welder_act(mob/user, obj/item/I)
. = TRUE
if(!opened && user.loc == src)
- to_chat(user, "You can't weld [src] from inside!")
+ to_chat(user, SPAN_WARNING("You can't weld [src] from inside!"))
return
if(!I.tool_use_check(user, 0))
return
@@ -368,12 +368,12 @@
return
else
var/adjective = welded ? "open" : "shut"
- user.visible_message("[user] begins welding [src] [adjective]...", "You begin welding [src] [adjective]...", "You hear welding.")
+ user.visible_message(SPAN_NOTICE("[user] begins welding [src] [adjective]..."), SPAN_NOTICE("You begin welding [src] [adjective]..."), SPAN_WARNING("You hear welding."))
if(I.use_tool(src, user, 15, volume = I.tool_volume))
if(opened)
- to_chat(user, "Keep [src] shut while doing that!")
+ to_chat(user, SPAN_NOTICE("Keep [src] shut while doing that!"))
return
- user.visible_message("[user] welds [src] [adjective]!", "You weld [src] [adjective]!")
+ user.visible_message(SPAN_NOTICE("[user] welds [src] [adjective]!"), SPAN_NOTICE("You weld [src] [adjective]!"))
welded = !welded
update_icon()
return
@@ -400,7 +400,7 @@
return
step_towards(O, loc)
if(user != O)
- user.visible_message("[user] stuffs [O] into [src]!", "You stuff [O] into [src]!")
+ user.visible_message(SPAN_DANGER("[user] stuffs [O] into [src]!"), SPAN_DANGER("You stuff [O] into [src]!"))
add_fingerprint(user)
return TRUE
@@ -413,7 +413,7 @@
return
if(!open())
- to_chat(user, "It won't budge!")
+ to_chat(user, SPAN_NOTICE("It won't budge!"))
if(!lastbang)
lastbang = 1
for(var/mob/M in hearers(src, null))
@@ -478,9 +478,9 @@
// breakout_time++ //Harder to get out of welded lockers than locked lockers
//okay, so the closet is either welded or locked... resist!!!
- to_chat(L, "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)")
+ to_chat(L, SPAN_WARNING("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)"))
for(var/mob/O in viewers(usr.loc))
- O.show_message("[src] begins to shake violently!", 1)
+ O.show_message(SPAN_DANGER("[src] begins to shake violently!"), 1)
spawn(0)
@@ -495,9 +495,9 @@
//Well then break it!
welded = FALSE
update_icon()
- to_chat(usr, "You successfully break out!")
+ to_chat(usr, SPAN_WARNING("You successfully break out!"))
for(var/mob/O in viewers(L.loc))
- O.show_message("\the [usr] successfully broke out of \the [src]!", 1)
+ O.show_message(SPAN_DANGER("\the [usr] successfully broke out of \the [src]!"), 1)
if(istype(loc, /obj/structure/big_delivery)) //nullspace ect.. read the comment above
var/obj/structure/big_delivery/BD = loc
BD.attack_hand(usr)
@@ -527,14 +527,14 @@
/obj/structure/closet/shove_impact(mob/living/target, mob/living/attacker)
if(opened && can_close())
target.forceMove(src)
- visible_message("[attacker] shoves [target] inside [src]!", "You hear a thud, and something clangs shut.")
+ visible_message(SPAN_DANGER("[attacker] shoves [target] inside [src]!"), SPAN_WARNING("You hear a thud, and something clangs shut."))
close(attacker)
add_attack_logs(attacker, target, "shoved into [src]")
return TRUE
if(!opened && can_open())
open()
- visible_message("[attacker] shoves [target] against [src], knocking it open!")
+ visible_message(SPAN_DANGER("[attacker] shoves [target] against [src], knocking it open!"))
target.KnockDown(3 SECONDS)
return TRUE
diff --git a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
index 1e692232876..160531df02b 100644
--- a/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
+++ b/code/game/objects/structures/crates_lockers/closets/cardboardbox.dm
@@ -74,7 +74,7 @@
var/obj/item/wirecutters/WC = W
new /obj/item/stack/sheet/cardboard(src.loc, amt)
for(var/mob/M in viewers(src))
- M.show_message("\The [src] has been cut apart by [user] with \the [WC].", 3, "You hear cutting.", 2)
+ M.show_message(SPAN_NOTICE("\The [src] has been cut apart by [user] with \the [WC]."), 3, "You hear cutting.", 2)
qdel(src)
return ITEM_INTERACT_COMPLETE
if(is_pen(W))
diff --git a/code/game/objects/structures/crates_lockers/closets/coffin.dm b/code/game/objects/structures/crates_lockers/closets/coffin.dm
index 53ee749d84c..05d07d41b1d 100644
--- a/code/game/objects/structures/crates_lockers/closets/coffin.dm
+++ b/code/game/objects/structures/crates_lockers/closets/coffin.dm
@@ -34,7 +34,7 @@
. = ..()
name = "\proper the coffin of [user.mind.name]"
desc += "
This coffin's owner may not actually have been dear to anyone, or even departed quite yet.
\
- It appears impervious to everything but lasers and fire! Especially fire!"
+ [SPAN_WARNING("It appears impervious to everything but lasers and fire! Especially fire!")]"
vampire = user
/obj/structure/closet/coffin/vampire/welder_act(mob/user, obj/item/I)
@@ -43,8 +43,8 @@
if(!I.tool_use_check(user, 30)) // it's a cursed coffin, you will need something better than a maintenance welder to ignite it
return ITEM_INTERACT_COMPLETE
igniting = TRUE
- to_chat(user, "You attempt to set [src] on fire with [I].")
- to_chat(vampire, "Your lair is being attacked!")
+ to_chat(user, SPAN_NOTICE("You attempt to set [src] on fire with [I]."))
+ to_chat(vampire, SPAN_WARNING("Your lair is being attacked!"))
if(do_after(user, 15 SECONDS, target = src))
fire_act()
igniting = FALSE
@@ -60,19 +60,19 @@
. = ..()
if(!COOLDOWN_FINISHED(src, fire_act_cooldown))
return
- to_chat(vampire, "Your lair is being attacked!")
+ to_chat(vampire, SPAN_WARNING("Your lair is being attacked!"))
switch(rand(1, 4))
if(1)
- visible_message("The wood howls as fire bursts out from seemingly nowhere!")
+ visible_message(SPAN_DANGER("The wood howls as fire bursts out from seemingly nowhere!"))
playsound(src, "sound/goonstation/voice/howl.ogg", 30)
if(2 to 3)
- visible_message("The wood hisses as fire bursts out from seemingly nowhere!")
+ visible_message(SPAN_DANGER("The wood hisses as fire bursts out from seemingly nowhere!"))
if(prob(50))
playsound(src, "sound/effects/unathihiss.ogg", 30)
else
playsound(src, "sound/effects/tajaranhiss.ogg", 30)
if(4)
- visible_message("The wood growls as fire bursts out from seemingly nowhere!")
+ visible_message(SPAN_DANGER("The wood growls as fire bursts out from seemingly nowhere!"))
playsound(src, 'sound/goonstation/voice/growl3.ogg', 30)
var/turf/new_fire = pick(oview(2, src))
new /obj/effect/fire(get_turf(new_fire), T20C, 30 SECONDS, 1)
@@ -81,7 +81,7 @@
/obj/structure/closet/coffin/vampire/burn()
playsound(src, 'sound/hallucinations/wail.ogg', 20, extrarange = SOUND_RANGE_SET(5))
- visible_message("Fire bursts out from [name] as it falls apart!")
+ visible_message(SPAN_DANGER("Fire bursts out from [name] as it falls apart!"))
for(var/turf/T in range(1, src))
new /obj/effect/fire(T, T20C, 30 SECONDS, 1)
..()
diff --git a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
index e52e7730991..e19ecceb917 100644
--- a/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
+++ b/code/game/objects/structures/crates_lockers/closets/fireaxe.dm
@@ -25,14 +25,14 @@
/obj/structure/closet/fireaxecabinet/examine(mob/user)
. = ..()
if(!smashed)
- . += "Use a multitool to lock/unlock it."
+ . += SPAN_NOTICE("Use a multitool to lock/unlock it.")
else
- . += "It is damaged beyond repair."
+ . += SPAN_NOTICE("It is damaged beyond repair.")
/obj/structure/closet/fireaxecabinet/item_interaction(mob/living/user, obj/item/O, list/modifiers)
if(isrobot(user) || locked)
if(istype(O, /obj/item/multitool))
- to_chat(user, "Resetting circuitry...")
+ to_chat(user, SPAN_WARNING("Resetting circuitry..."))
playsound(user, 'sound/machines/lockreset.ogg', 50, 1)
if(do_after(user, 20 * O.toolspeed, target = src))
locked = FALSE
@@ -50,7 +50,7 @@
user.do_attack_animation(src)
playsound(user, 'sound/effects/Glasshit.ogg', 100, 1) //We don't want this playing every time
if(W.force < 15)
- to_chat(user, "The cabinet's protective glass glances off the hit.")
+ to_chat(user, SPAN_NOTICE("The cabinet's protective glass glances off the hit."))
else
hitstaken++
if(hitstaken == 4)
@@ -64,15 +64,15 @@
if(!fireaxe)
var/obj/item/fireaxe/F = O
if(HAS_TRAIT(F, TRAIT_WIELDED))
- to_chat(user, "Unwield \the [F] first.")
+ to_chat(user, SPAN_WARNING("Unwield \the [F] first."))
return ITEM_INTERACT_COMPLETE
if(!user.unequip(F, FALSE))
- to_chat(user, "\The [F] stays stuck to your hands!")
+ to_chat(user, SPAN_WARNING("\The [F] stays stuck to your hands!"))
return ITEM_INTERACT_COMPLETE
fireaxe = F
has_axe = "full"
contents += F
- to_chat(user, "You place \the [F] back in the [name].")
+ to_chat(user, SPAN_NOTICE("You place \the [F] back in the [name]."))
update_icon(UPDATE_ICON_STATE)
else
if(smashed)
@@ -88,7 +88,7 @@
operate_panel()
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "Resetting circuitry...")
+ to_chat(user, SPAN_WARNING("Resetting circuitry..."))
playsound(user, 'sound/machines/lockenable.ogg', 50, 1)
if(do_after(user, 20 * O.toolspeed, target = src))
locked = TRUE
@@ -100,11 +100,11 @@
/obj/structure/closet/fireaxecabinet/attack_hand(mob/user as mob)
if(locked)
- to_chat(user, "The cabinet won't budge!")
+ to_chat(user, SPAN_WARNING("The cabinet won't budge!"))
return
if(localopened && fireaxe)
user.put_in_hands(fireaxe)
- to_chat(user, "You take \the [fireaxe] from [src].")
+ to_chat(user, SPAN_NOTICE("You take \the [fireaxe] from [src]."))
has_axe = "empty"
fireaxe = null
@@ -118,7 +118,7 @@
/obj/structure/closet/fireaxecabinet/attack_tk(mob/user as mob)
if(localopened && fireaxe)
fireaxe.forceMove(loc)
- to_chat(user, "You telekinetically remove \the [fireaxe].")
+ to_chat(user, SPAN_NOTICE("You telekinetically remove \the [fireaxe]."))
has_axe = "empty"
fireaxe = null
update_icon(UPDATE_ICON_STATE)
@@ -131,14 +131,14 @@
/obj/structure/closet/fireaxecabinet/attack_ai(mob/user as mob)
if(smashed)
- to_chat(user, "The security of the cabinet is compromised.")
+ to_chat(user, SPAN_WARNING("The security of the cabinet is compromised."))
return
else
locked = !locked
if(locked)
- to_chat(user, "Cabinet locked.")
+ to_chat(user, SPAN_WARNING("Cabinet locked."))
else
- to_chat(user, "Cabinet unlocked.")
+ to_chat(user, SPAN_NOTICE("Cabinet unlocked."))
/obj/structure/closet/fireaxecabinet/proc/operate_panel()
if(operating)
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm
index e19cc0773c7..95f10a0eb86 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/depot_closets.dm
@@ -32,13 +32,13 @@
/obj/structure/closet/secure_closet/depot/attack_animal(mob/M)
if(isanimal_or_basicmob(M) && ("syndicate" in M.faction))
- to_chat(M, "[src] resists your attack!")
+ to_chat(M, SPAN_WARNING("[src] resists your attack!"))
return
return ..()
/obj/structure/closet/secure_closet/depot/item_interaction(mob/living/user, obj/item/W, list/modifiers)
if(istype(W, /obj/item/rcs))
- to_chat(user, "Bluespace interference prevents [W] from locking onto [src]!")
+ to_chat(user, SPAN_WARNING("Bluespace interference prevents [W] from locking onto [src]!"))
return ITEM_INTERACT_COMPLETE
return ..()
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
index 6d959437069..6c029b446e6 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm
@@ -18,7 +18,7 @@
if(!broken)
broken = TRUE
locked = FALSE
- to_chat(user, "You break the lock on [src].")
+ to_chat(user, SPAN_NOTICE("You break the lock on [src]."))
update_icon()
return TRUE
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
index 5c31946fd21..0eb6637a6ae 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/personal.dm
@@ -39,15 +39,15 @@
return ..()
if(broken)
- to_chat(user, "The locker appears to be broken.")
+ to_chat(user, SPAN_WARNING("The locker appears to be broken."))
return ITEM_INTERACT_COMPLETE
if(user.loc == src)
- to_chat(user, "You can't reach the lock from inside.")
+ to_chat(user, SPAN_NOTICE("You can't reach the lock from inside."))
return ITEM_INTERACT_COMPLETE
if(istype(W, /obj/item/card/id/guest))
- to_chat(user, "Invalid identification card.")
+ to_chat(user, SPAN_WARNING("Invalid identification card."))
return ITEM_INTERACT_COMPLETE
var/obj/item/card/id/I = W
@@ -67,6 +67,6 @@
desc = "Owned by [I.registered_name]."
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
index df6eb1cb989..b463ad12229 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/secure_closets.dm
@@ -33,20 +33,20 @@
/obj/structure/closet/secure_closet/proc/togglelock(mob/user)
if(opened)
- to_chat(user, "Close the locker first.")
+ to_chat(user, SPAN_NOTICE("Close the locker first."))
return
if(broken)
- to_chat(user, "The locker appears to be broken.")
+ to_chat(user, SPAN_WARNING("The locker appears to be broken."))
return
if(user.loc == src)
- to_chat(user, "You can't reach the lock from inside.")
+ to_chat(user, SPAN_NOTICE("You can't reach the lock from inside."))
return
if(allowed(user))
locked = !locked
- visible_message("The locker has been [locked ? null : "un"]locked by [user].")
+ visible_message(SPAN_NOTICE("The locker has been [locked ? null : "un"]locked by [user]."))
update_icon()
else
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_NOTICE("Access Denied."))
/obj/structure/closet/secure_closet/closed_item_click(mob/user)
togglelock(user)
@@ -62,7 +62,7 @@
broken = TRUE
locked = FALSE
flick_overlay_view(image(icon, src, "sparking"), src, 1 SECONDS)
- to_chat(user, "You break the lock on [src].")
+ to_chat(user, SPAN_NOTICE("You break the lock on [src]."))
addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, update_icon)), 1 SECONDS) // Update the icon so the lock actually appears broken
return TRUE
@@ -83,9 +83,9 @@
return //It's a secure closet, but isn't locked. Easily escapable from, no need to 'resist'
//okay, so the closet is either welded or locked... resist!!!
- to_chat(L, "You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)")
+ to_chat(L, SPAN_WARNING("You lean on the back of \the [src] and start pushing the door open. (this will take about [breakout_time / 600] minutes)"))
for(var/mob/O in viewers(src))
- O.show_message("[src] begins to shake violently!", 1)
+ O.show_message(SPAN_DANGER("[src] begins to shake violently!"), 1)
spawn(0)
@@ -103,9 +103,9 @@
locked = FALSE
welded = FALSE
update_icon()
- to_chat(usr, "You successfully break out!")
+ to_chat(usr, SPAN_WARNING("You successfully break out!"))
for(var/mob/O in viewers(L.loc))
- O.show_message("\the [usr] successfully broke out of \the [src]!", 1)
+ O.show_message(SPAN_DANGER("\the [usr] successfully broke out of \the [src]!"), 1)
if(istype(loc, /obj/structure/big_delivery)) //Do this to prevent contents from being opened into nullspace (read: bluespace)
var/obj/structure/big_delivery/BD = loc
BD.attack_hand(usr)
diff --git a/code/game/objects/structures/crates_lockers/closets/statue.dm b/code/game/objects/structures/crates_lockers/closets/statue.dm
index 88a815a8d19..6a28e772554 100644
--- a/code/game/objects/structures/crates_lockers/closets/statue.dm
+++ b/code/game/objects/structures/crates_lockers/closets/statue.dm
@@ -114,7 +114,7 @@
if(user)
user.dust()
dump_contents()
- visible_message("[src] shatters!")
+ visible_message(SPAN_WARNING("[src] shatters!"))
/obj/structure/closet/statue/indestructible
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm
index 8af09563ec9..b14178b56d3 100644
--- a/code/game/objects/structures/crates_lockers/crates.dm
+++ b/code/game/objects/structures/crates_lockers/crates.dm
@@ -90,26 +90,26 @@
/obj/structure/closet/crate/toggle(mob/user, by_hand = FALSE)
if(!(opened ? close() : open(by_hand)))
- to_chat(user, "It won't budge!")
+ to_chat(user, SPAN_NOTICE("It won't budge!"))
/obj/structure/closet/crate/proc/try_rig(obj/item/W, mob/user)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/C = W
if(rigged)
- to_chat(user, "[src] is already rigged!")
+ to_chat(user, SPAN_NOTICE("[src] is already rigged!"))
return TRUE
if(C.use(15))
- to_chat(user, "You rig [src].")
+ to_chat(user, SPAN_NOTICE("You rig [src]."))
rigged = TRUE
else
- to_chat(user, "You need at least 15 wires to rig [src]!")
+ to_chat(user, SPAN_WARNING("You need at least 15 wires to rig [src]!"))
return TRUE
if(istype(W, /obj/item/electropack))
if(rigged)
if(!user.drop_item())
- to_chat(user, "[W] seems to be stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[W] seems to be stuck to your hand!"))
return TRUE
- to_chat(user, "You attach [W] to [src].")
+ to_chat(user, SPAN_NOTICE("You attach [W] to [src]."))
W.forceMove(src)
return TRUE
@@ -120,7 +120,7 @@
return
if(I.use_tool(src, user))
- to_chat(user, "You cut away the wiring.")
+ to_chat(user, SPAN_NOTICE("You cut away the wiring."))
playsound(loc, I.usesound, 100, 1)
rigged = FALSE
return TRUE
@@ -130,7 +130,7 @@
/obj/structure/closet/crate/attack_hand(mob/user)
if(manifest)
- to_chat(user, "You tear the manifest off of the crate.")
+ to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate."))
playsound(loc, 'sound/items/poster_ripped.ogg', 75, TRUE)
manifest.forceMove(loc)
if(ishuman(user))
@@ -196,7 +196,7 @@
/obj/structure/closet/crate/secure/proc/boom(mob/user)
if(user)
- to_chat(user, "The crate's anti-tamper system activates!")
+ to_chat(user, SPAN_DANGER("The crate's anti-tamper system activates!"))
investigate_log("[key_name(user)] has detonated a [src]", INVESTIGATE_BOMB)
add_attack_logs(user, src, "has detonated", ATKLOG_MOST)
for(var/atom/movable/AM in src)
@@ -209,21 +209,21 @@
/obj/structure/closet/crate/secure/proc/togglelock(mob/user)
if(opened)
- to_chat(user, "Close the crate first.")
+ to_chat(user, SPAN_NOTICE("Close the crate first."))
return FALSE
if(broken)
- to_chat(user, "The crate appears to be broken.")
+ to_chat(user, SPAN_WARNING("The crate appears to be broken."))
return FALSE
if(user.loc == src)
- to_chat(user, "You can't reach the lock from inside.")
+ to_chat(user, SPAN_NOTICE("You can't reach the lock from inside."))
return FALSE
if(allowed(user))
locked = !locked
- visible_message("The crate has been [locked ? null : "un"]locked by [user].")
+ visible_message(SPAN_NOTICE("The crate has been [locked ? null : "un"]locked by [user]."))
update_icon()
return TRUE
else
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_NOTICE("Access Denied."))
return FALSE
/obj/structure/closet/crate/secure/AltClick(mob/user)
@@ -237,7 +237,7 @@
/obj/structure/closet/crate/secure/attack_hand(mob/user)
if(manifest)
- to_chat(user, "You tear the manifest off of the crate.")
+ to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate."))
playsound(loc, 'sound/items/poster_ripped.ogg', 75, 1)
manifest.forceMove(loc)
if(ishuman(user))
@@ -259,7 +259,7 @@
broken = TRUE
update_icon()
do_sparks(2, TRUE, src)
- to_chat(user, "You unlock \the [src].")
+ to_chat(user, SPAN_NOTICE("You unlock \the [src]."))
return TRUE
/obj/structure/closet/crate/secure/emp_act(severity)
@@ -317,12 +317,12 @@
return ..()
if(broken)
- to_chat(user, "It appears to be broken.")
+ to_chat(user, SPAN_WARNING("It appears to be broken."))
return ITEM_INTERACT_COMPLETE
var/obj/item/card/id/id = I
if(!is_usable_id(id))
- to_chat(user, "Invalid identification card.")
+ to_chat(user, SPAN_WARNING("Invalid identification card."))
return ITEM_INTERACT_COMPLETE
if(registered_name && allowed(user))
@@ -330,7 +330,7 @@
if(!registered_name)
registered_name = id.registered_name
- to_chat(user, "Crate reserved")
+ to_chat(user, SPAN_NOTICE("Crate reserved"))
return ITEM_INTERACT_COMPLETE
if(registered_name == id.registered_name)
@@ -750,7 +750,7 @@
if(!istype(keycard))
return
- to_chat(user, "You swipe [keycard] in [src]'s keycard slot.")
+ to_chat(user, SPAN_NOTICE("You swipe [keycard] in [src]'s keycard slot."))
return TRUE
/obj/item/card/sec_shuttle_ruin
diff --git a/code/game/objects/structures/crates_lockers/largecrate.dm b/code/game/objects/structures/crates_lockers/largecrate.dm
index e0189655921..1250a73bcc4 100644
--- a/code/game/objects/structures/crates_lockers/largecrate.dm
+++ b/code/game/objects/structures/crates_lockers/largecrate.dm
@@ -17,7 +17,7 @@
/obj/structure/largecrate/attack_hand(mob/user as mob)
if(manifest)
- to_chat(user, "You tear the manifest off of the crate.")
+ to_chat(user, SPAN_NOTICE("You tear the manifest off of the crate."))
playsound(src.loc, 'sound/items/poster_ripped.ogg', 75, 1)
manifest.forceMove(loc)
if(ishuman(user))
@@ -26,7 +26,7 @@
update_icon()
return
else
- to_chat(user, "You need a crowbar to pry this open!")
+ to_chat(user, SPAN_NOTICE("You need a crowbar to pry this open!"))
return
/obj/structure/largecrate/item_interaction(mob/living/user, obj/item/used, list/modifiers)
@@ -39,9 +39,9 @@
if(!I.use_tool(src, user, 20, volume = I.tool_volume))
return TRUE
break_open()
- user.visible_message("[user] pries [src] open.", \
- "You pry open [src].", \
- "You hear splitting wood.")
+ user.visible_message(SPAN_NOTICE("[user] pries [src] open."), \
+ SPAN_NOTICE("You pry open [src]."), \
+ SPAN_NOTICE("You hear splitting wood."))
if(manifest)
manifest.forceMove(loc)
manifest = null
diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm
index 33b654ac3b3..faa33cb3057 100644
--- a/code/game/objects/structures/curtains.dm
+++ b/code/game/objects/structures/curtains.dm
@@ -30,7 +30,7 @@
if(!istype(target, /obj/structure/window) && !istype(target, /turf/simulated/wall))
return
var/on_wall = get_turf(target)
- to_chat(user, "You begin attaching [src] to [on_wall].")
+ to_chat(user, SPAN_NOTICE("You begin attaching [src] to [on_wall]."))
playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE)
if(!do_after(user, 3 SECONDS, target = on_wall))
return
@@ -39,13 +39,13 @@
curtain.fingerprintshidden = src.fingerprintshidden
curtain.fingerprintslast = src.fingerprintslast
- user.visible_message("[user] attaches the [src] to [on_wall].", \
- "You attach the [src] to [on_wall].")
+ user.visible_message(SPAN_NOTICE("[user] attaches the [src] to [on_wall]."), \
+ SPAN_NOTICE("You attach the [src] to [on_wall]."))
qdel(src)
/obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user)
. = ..()
- to_chat(user, "You begin attaching [src] to the ceiling.")
+ to_chat(user, SPAN_NOTICE("You begin attaching [src] to the ceiling."))
playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE)
if(!do_after(user, 3 SECONDS, target = get_turf(user)))
return
@@ -54,22 +54,22 @@
curtain.fingerprintshidden = src.fingerprintshidden
curtain.fingerprintslast = src.fingerprintslast
- user.visible_message("[user] attaches the [src] to the ceiling.", \
- "You attach the [src] to the ceiling.")
+ user.visible_message(SPAN_NOTICE("[user] attaches the [src] to the ceiling."), \
+ SPAN_NOTICE("You attach the [src] to the ceiling."))
qdel(src)
/obj/structure/curtain/examine(mob/user)
. = ..()
if(!assembled)
- . += "Alt-Click to take it down."
+ . += SPAN_NOTICE("Alt-Click to take it down.")
/obj/structure/curtain/AltClick(mob/user)
if(assembled)
return
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return
if(!Adjacent(user))
return
@@ -86,7 +86,7 @@
if(!assembled && istype(used, /obj/item/stack/sheet/cloth)) // Are we putting the cloth onto the assembly on the wall?
var/obj/item/stack/sheet/cloth/cloth_used = used
if(!cloth_used.use(2))
- to_chat(user, " You need two sheets of cloth to hang the curtains.")
+ to_chat(user, SPAN_WARNING(" You need two sheets of cloth to hang the curtains."))
return ITEM_INTERACT_COMPLETE
assembled = TRUE
@@ -153,24 +153,24 @@
/obj/structure/curtain/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(!assembled)
- to_chat(user, "You should probably add some drapes to [src] before anchoring it in place...")
+ to_chat(user, SPAN_NOTICE("You should probably add some drapes to [src] before anchoring it in place..."))
return
if(!I.tool_start_check(src, user, 0))
return
if(anchored)
- user.visible_message("[user] unscrews [src] from the floor.", "You start to unscrew [src] from the floor...", "You hear rustling noises.")
+ user.visible_message(SPAN_NOTICE("[user] unscrews [src] from the floor."), SPAN_NOTICE("You start to unscrew [src] from the floor..."), "You hear rustling noises.")
if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume) && anchored)
anchored = FALSE
- to_chat(user, "You unscrew [src] from the floor.")
+ to_chat(user, SPAN_NOTICE("You unscrew [src] from the floor."))
else
- user.visible_message("[user] screws [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.")
+ user.visible_message(SPAN_NOTICE("[user] screws [src] to the floor."), SPAN_NOTICE("You start to screw [src] to the floor..."), "You hear rustling noises.")
if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume) && !anchored)
anchored = TRUE
- to_chat(user, "You screw [src] to the floor.")
+ to_chat(user, SPAN_NOTICE("You screw [src] to the floor."))
/obj/structure/curtain/wirecutter_act(mob/user, obj/item/I)
if(anchored)
- to_chat(user, "You will need to undo the screws anchoring [src] before removing the drapes.")
+ to_chat(user, SPAN_WARNING("You will need to undo the screws anchoring [src] before removing the drapes."))
return TRUE
. = TRUE
if(!I.tool_start_check(src, user, 0))
diff --git a/code/game/objects/structures/depot_structures.dm b/code/game/objects/structures/depot_structures.dm
index 1668c331d58..223e9ee6cca 100644
--- a/code/game/objects/structures/depot_structures.dm
+++ b/code/game/objects/structures/depot_structures.dm
@@ -40,7 +40,7 @@
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- to_chat(user, "You try to screwdriver open [src], but accidentally release some radiation!")
+ to_chat(user, SPAN_DANGER("You try to screwdriver open [src], but accidentally release some radiation!"))
if(prob(50))
empulse(src, 4, 10)
else
@@ -50,7 +50,7 @@
. = TRUE
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
- to_chat(user, "[src] is too well secured to the floor.")
+ to_chat(user, SPAN_NOTICE("[src] is too well secured to the floor."))
/obj/structure/fusionreactor/proc/overload(containment_failure = FALSE, skip_qdel = FALSE)
if(has_overloaded)
diff --git a/code/game/objects/structures/displaycase.dm b/code/game/objects/structures/displaycase.dm
index f8f1978e9e4..366e9dfffcc 100644
--- a/code/game/objects/structures/displaycase.dm
+++ b/code/game/objects/structures/displaycase.dm
@@ -48,7 +48,7 @@
/obj/structure/displaycase/emag_act(mob/user)
if(!emagged)
- to_chat(user, "You override the ID lock on [src].")
+ to_chat(user, SPAN_WARNING("You override the ID lock on [src]."))
trigger_alarm()
emagged = TRUE
@@ -58,23 +58,23 @@
/obj/structure/displaycase/examine(mob/user)
. = ..()
if(showpiece)
- . += "There's \a [showpiece] displayed inside."
+ . += SPAN_NOTICE("There's \a [showpiece] displayed inside.")
else
- . += "It's empty."
+ . += SPAN_NOTICE("It's empty.")
if(trophy_message)
. += "The plaque reads:\n [trophy_message]"
if(!openable)
- . += "It seems to be sealed shut, there's no way you're getting that open."
+ . += SPAN_NOTICE("It seems to be sealed shut, there's no way you're getting that open.")
else
if(!open)
- . += "The ID lock is active, you need to swipe an ID to open it."
+ . += SPAN_NOTICE("The ID lock is active, you need to swipe an ID to open it.")
else if((broken || open) && showpiece)
- . += "[showpiece] is held in a loose low gravity suspension field. You can take [showpiece] out[broken ? "." : ", or lock [src] with an ID"]."
+ . += SPAN_NOTICE("[showpiece] is held in a loose low gravity suspension field. You can take [showpiece] out[broken ? "." : ", or lock [src] with an ID"].")
if(alert)
- . += "It is hooked up with an anti-theft system."
+ . += SPAN_NOTICE("It is hooked up with an anti-theft system.")
if(emagged)
- . += "The ID lock has been shorted out."
+ . += SPAN_WARNING("The ID lock has been shorted out.")
/obj/structure/displaycase/proc/dump(mob/user)
if(showpiece)
@@ -112,7 +112,7 @@
if(alert && (is_station_contact(z) || force_alarm))
var/area/alarmed = get_area(src)
alarmed.burglaralert(src)
- visible_message("The burglar alarm goes off!")
+ visible_message(SPAN_DANGER("The burglar alarm goes off!"))
// Play the burglar alarm three times
for(var/i = 0, i < 4, i++)
playsound(src, 'sound/machines/burglar_alarm.ogg', 50, 0)
@@ -133,30 +133,30 @@
/obj/structure/displaycase/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(I.GetID())
if(!openable)
- to_chat(user, "There is no ID scanner, looks like this one is sealed shut.")
+ to_chat(user, SPAN_WARNING("There is no ID scanner, looks like this one is sealed shut."))
return ITEM_INTERACT_COMPLETE
if(broken)
- to_chat(user, "[src] is broken, the ID lock won't do anything.")
+ to_chat(user, SPAN_WARNING("[src] is broken, the ID lock won't do anything."))
return ITEM_INTERACT_COMPLETE
if(allowed(user) || emagged)
- to_chat(user, "You use [I] to [open ? "close" : "open"] [src].")
+ to_chat(user, SPAN_NOTICE("You use [I] to [open ? "close" : "open"] [src]."))
toggle_lock()
else
- to_chat(user, "Access denied.")
+ to_chat(user, SPAN_WARNING("Access denied."))
return ITEM_INTERACT_COMPLETE
else if(open && !showpiece)
if(!(I.flags & (ABSTRACT | DROPDEL)) && user.drop_item())
I.forceMove(src)
showpiece = I
- to_chat(user, "You put [I] on display")
+ to_chat(user, SPAN_NOTICE("You put [I] on display"))
update_icon()
return ITEM_INTERACT_COMPLETE
else if(istype(I, /obj/item/stack/sheet/glass) && broken)
var/obj/item/stack/sheet/glass/G = I
if(G.get_amount() < 2)
- to_chat(user, "You need two glass sheets to fix the case!")
+ to_chat(user, SPAN_WARNING("You need two glass sheets to fix the case!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start fixing [src]...")
+ to_chat(user, SPAN_NOTICE("You start fixing [src]..."))
if(do_after(user, 20, target = src))
G.use(2)
broken = FALSE
@@ -177,7 +177,7 @@
return
if((open || broken) && user.a_intent == INTENT_HARM)
if(showpiece)
- to_chat(user, "Remove the displayed object first.")
+ to_chat(user, SPAN_NOTICE("Remove the displayed object first."))
return
if(!I.use_tool(src, user, 15, volume = I.tool_volume))
return
@@ -185,7 +185,7 @@
new /obj/item/stack/sheet/glass(drop_location(), 10)
else
new /obj/item/shard(drop_location())
- to_chat(user, "You start dismantling the case.")
+ to_chat(user, SPAN_NOTICE("You start dismantling the case."))
var/obj/structure/displaycase_chassis/display = new(loc)
if(electronics)
electronics.forceMove(display)
@@ -193,10 +193,10 @@
qdel(src)
return
if(!alert)
- to_chat(user, "You start to [open ? "close":"open"] [src].")
+ to_chat(user, SPAN_NOTICE("You start to [open ? "close":"open"] [src]."))
if(!I.use_tool(src, user, 20, volume = I.tool_volume))
return
- to_chat(user, "You [open ? "close":"open"] [src].")
+ to_chat(user, SPAN_NOTICE("You [open ? "close":"open"] [src]."))
toggle_lock()
/obj/structure/displaycase/welder_act(mob/user, obj/item/I)
@@ -211,18 +211,18 @@
/obj/structure/displaycase/attack_hand(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
if(showpiece && (broken || open))
- to_chat(user, "You deactivate the hover field built into the case.")
+ to_chat(user, SPAN_NOTICE("You deactivate the hover field built into the case."))
dump(user)
add_fingerprint(user)
update_icon(UPDATE_OVERLAYS)
return
if(!open && openable)
- to_chat(user, "The ID lock is active, you'll need to unlock it first.")
+ to_chat(user, SPAN_NOTICE("The ID lock is active, you'll need to unlock it first."))
return
//prevents remote "kicks" with TK
if(!Adjacent(user))
return
- user.visible_message("[user] kicks the display case.")
+ user.visible_message(SPAN_DANGER("[user] kicks the display case."))
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
take_damage(2)
@@ -236,22 +236,22 @@
/obj/structure/displaycase_chassis/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(istype(I, /obj/item/airlock_electronics))
- to_chat(user, "You start installing the electronics into [src]...")
+ to_chat(user, SPAN_NOTICE("You start installing the electronics into [src]..."))
playsound(loc, I.usesound, 50, TRUE)
if(do_after(user, 30, target = src))
var/obj/item/airlock_electronics/new_electronics = I
if(user.drop_item() && !new_electronics.is_installed)
new_electronics.forceMove(src)
electronics = new_electronics
- to_chat(user, "You install the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You install the airlock electronics."))
electronics.is_installed = TRUE
return ITEM_INTERACT_COMPLETE
else if(istype(I, /obj/item/stack/sheet/glass))
var/obj/item/stack/sheet/glass/G = I
if(G.get_amount() < 10)
- to_chat(user, "You need ten glass sheets to do this!")
+ to_chat(user, SPAN_WARNING("You need ten glass sheets to do this!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start adding [G] to [src]...")
+ to_chat(user, SPAN_NOTICE("You start adding [G] to [src]..."))
if(do_after(user, 20, target = src))
G.use(10)
var/obj/structure/displaycase/display = new(loc)
@@ -274,7 +274,7 @@
return
if(electronics)
if(I.use_tool(src, user, 0, volume = I.tool_volume))
- to_chat(user, "You remove the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
new /obj/item/airlock_electronics(drop_location(), 1)
electronics.is_installed = FALSE
electronics = null
@@ -284,7 +284,7 @@
if(!I.tool_use_check(user, 0))
return
if(electronics)
- to_chat(user, "Remove the airlock electronics first.")
+ to_chat(user, SPAN_NOTICE("Remove the airlock electronics first."))
return
TOOL_ATTEMPT_DISMANTLE_MESSAGE
if(!I.use_tool(src, user, 30, volume = I.tool_volume))
diff --git a/code/game/objects/structures/door_assembly.dm b/code/game/objects/structures/door_assembly.dm
index e7c50db3dc2..a82d58f298d 100644
--- a/code/game/objects/structures/door_assembly.dm
+++ b/code/game/objects/structures/door_assembly.dm
@@ -41,19 +41,19 @@
switch(state)
if(AIRLOCK_ASSEMBLY_NEEDS_WIRES)
if(anchored)
- . += "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring."
+ . += SPAN_NOTICE("The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.")
else
- . += "The assembly is welded together, but the anchoring bolts are unwrenched."
+ . += SPAN_NOTICE("The assembly is welded together, but the anchoring bolts are unwrenched.")
if(AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS)
- . += "The maintenance panel is wired, but the circuit slot is empty."
+ . += SPAN_NOTICE("The maintenance panel is wired, but the circuit slot is empty.")
if(AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
- . += "The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open."
+ . += SPAN_NOTICE("The circuit is connected loosely to its slot, but the maintenance panel is unscrewed and open.")
if(glass)
- . += "The assembly has its electrochromic windows [polarized_glass ? "enabled" : "disabled"] and can be configured."
+ . += SPAN_NOTICE("The assembly has its electrochromic windows [polarized_glass ? "enabled" : "disabled"] and can be configured.")
if(!glass && !noglass)
- . += "There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows."
+ . += SPAN_NOTICE("There is a small paper placard on the assembly[doorname]. There are empty slots for glass windows.")
else
- . += "There is a small paper placard on the assembly[doorname]."
+ . += SPAN_NOTICE("There is a small paper placard on the assembly[doorname].")
/obj/structure/door_assembly/item_interaction(mob/living/user, obj/item/W, list/modifiers)
. = ITEM_INTERACT_COMPLETE
@@ -68,7 +68,7 @@
else if(iscoil(W) && state == AIRLOCK_ASSEMBLY_NEEDS_WIRES && anchored)
var/obj/item/stack/cable_coil/coil = W
if(coil.get_amount() < 1)
- to_chat(user, "You need one length of cable to wire the airlock assembly!")
+ to_chat(user, SPAN_WARNING("You need one length of cable to wire the airlock assembly!"))
return
user.visible_message("[user] wires the airlock assembly.", "You start to wire the airlock assembly...")
if(do_after(user, 40 * coil.toolspeed, target = src))
@@ -76,7 +76,7 @@
return
coil.use(1)
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
- to_chat(user, "You wire the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You wire the airlock assembly."))
else if(istype(W, /obj/item/airlock_electronics) && state == AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS && !istype(W, /obj/item/airlock_electronics/destroyed))
playsound(loc, W.usesound, 100, 1)
@@ -88,7 +88,7 @@
return
user.drop_item()
new_electronics.forceMove(src)
- to_chat(user, "You install the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You install the airlock electronics."))
state = AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER
name = "near finished airlock assembly"
electronics = new_electronics
@@ -107,16 +107,16 @@
if(S.get_amount() < 1 || glass)
return
if(S.type == /obj/item/stack/sheet/rglass)
- to_chat(user, "You install reinforced glass windows into the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You install reinforced glass windows into the airlock assembly."))
reinforced_glass = TRUE
else
- to_chat(user, "You install regular glass windows into the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You install regular glass windows into the airlock assembly."))
S.use(1)
glass = TRUE
else
- to_chat(user, "You cannot add [S] to [src]!")
+ to_chat(user, SPAN_WARNING("You cannot add [S] to [src]!"))
else
- to_chat(user, "You cannot add [S] to [src]!")
+ to_chat(user, SPAN_WARNING("You cannot add [S] to [src]!"))
else
return ..()
update_appearance(UPDATE_NAME | UPDATE_OVERLAYS)
@@ -130,7 +130,7 @@
user.visible_message("[user] is removing the electronics from the airlock assembly...", "You start to remove electronics from the airlock assembly...")
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
return
- to_chat(user, "You remove the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
state = AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS
name = "wired airlock assembly"
var/obj/item/airlock_electronics/ae
@@ -150,11 +150,11 @@
if(!I.tool_use_check(user, 0))
return
user.visible_message("[user] is finishing the airlock...", \
- "You start finishing the airlock...")
+ SPAN_NOTICE("You start finishing the airlock..."))
. = TRUE
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
return
- to_chat(user, "You finish the airlock.")
+ to_chat(user, SPAN_NOTICE("You finish the airlock."))
var/obj/machinery/door/airlock/door
if(glass || reinforced_glass)
door = new glass_type(loc)
@@ -187,7 +187,7 @@
user.visible_message("[user] is cutting the wires from the airlock assembly...", "You start to cut the wires from airlock assembly...")
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_ELECTRONICS)
return
- to_chat(user, "You cut the wires from the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You cut the wires from the airlock assembly."))
new/obj/item/stack/cable_coil(get_turf(user), 1)
state = AIRLOCK_ASSEMBLY_NEEDS_WIRES
update_icon(UPDATE_OVERLAYS)
@@ -204,7 +204,7 @@
user.visible_message("[user] is securing the airlock assembly to the floor...", "You start to secure the airlock assembly to the floor...")
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != AIRLOCK_ASSEMBLY_NEEDS_WIRES)
return
- to_chat(user, "You [anchored ? "un" : ""]secure the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure the airlock assembly."))
anchored = !anchored
/obj/structure/door_assembly/welder_act(mob/user, obj/item/I)
@@ -212,12 +212,12 @@
if(!I.tool_use_check(user, 0))
return
if(glass)
- user.visible_message("[user] welds the glass panel out of [src].",\
- "You start to weld the glass panel out of the [src]...",\
- "You hear welding.")
+ user.visible_message(SPAN_NOTICE("[user] welds the glass panel out of [src]."),\
+ SPAN_NOTICE("You start to weld the glass panel out of the [src]..."),\
+ SPAN_WARNING("You hear welding."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- to_chat(user, "You weld the glass panel out.")
+ to_chat(user, SPAN_NOTICE("You weld the glass panel out."))
if(reinforced_glass)
new /obj/item/stack/sheet/rglass(get_turf(src))
reinforced_glass = FALSE
@@ -226,12 +226,12 @@
glass = FALSE
polarized_glass = FALSE
else if(!anchored)
- visible_message("[user] disassembles [src].", \
- "You start to disassemble [src]...",\
- "You hear welding.")
+ visible_message(SPAN_WARNING("[user] disassembles [src]."), \
+ SPAN_NOTICE("You start to disassemble [src]..."),\
+ SPAN_WARNING("You hear welding."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- to_chat(user, "You disassemble the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You disassemble the airlock assembly."))
deconstruct(TRUE)
update_icon(UPDATE_OVERLAYS)
@@ -240,10 +240,10 @@
return
. = TRUE
if(state != AIRLOCK_ASSEMBLY_NEEDS_SCREWDRIVER)
- to_chat(user, "The airlock assembly needs its electronics before you can configure the electrochromic windows.")
+ to_chat(user, SPAN_NOTICE("The airlock assembly needs its electronics before you can configure the electrochromic windows."))
return
if(!glass && !noglass)
- to_chat(user, "The airlock assembly needs glass before you can configure the electrochromic windows.")
+ to_chat(user, SPAN_NOTICE("The airlock assembly needs glass before you can configure the electrochromic windows."))
return
if(!I.tool_use_check(user, 0))
@@ -254,7 +254,7 @@
polarized_glass = !polarized_glass
- to_chat(user, "You [polarized_glass ? "enable" : "disable"] the electrochromic windows in the airlock assembly.")
+ to_chat(user, SPAN_NOTICE("You [polarized_glass ? "enable" : "disable"] the electrochromic windows in the airlock assembly."))
/obj/structure/door_assembly/update_overlays()
. = ..()
diff --git a/code/game/objects/structures/dresser.dm b/code/game/objects/structures/dresser.dm
index ae27d9cf907..12e227828d9 100644
--- a/code/game/objects/structures/dresser.dm
+++ b/code/game/objects/structures/dresser.dm
@@ -113,7 +113,7 @@
/obj/structure/dresser/wardrobe/examine(mob/user)
. = ..()
- . += "It's currently [locked ? null : "un"]locked."
+ . += SPAN_NOTICE("It's currently [locked ? null : "un"]locked.")
/obj/structure/dresser/wardrobe/AltShiftClick(mob/user)
change_undergarments(user)
@@ -137,7 +137,7 @@
if(!Adjacent(user))
return
item_to_retrieve.forceMove(loc)
- to_chat(user, "You take [item_to_retrieve] out of [src].")
+ to_chat(user, SPAN_NOTICE("You take [item_to_retrieve] out of [src]."))
if(issilicon(user))
return
user.put_in_hands(item_to_retrieve)
@@ -151,23 +151,23 @@
if(!Adjacent(user))
return ITEM_INTERACT_COMPLETE
if(!is_type_in_list(used, can_hold) || is_type_in_list(used, cant_hold))
- to_chat(user, "You can't put [used] in [src]. It doesn't fit.")
+ to_chat(user, SPAN_NOTICE("You can't put [used] in [src]. It doesn't fit."))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
- to_chat(user, "[used] is stuck to you!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to you!"))
return ITEM_INTERACT_COMPLETE
used.forceMove(src)
var/mob/living/carbon/human/H = user
add_fingerprint(H)
- to_chat(user, "You put [used] in [src].")
+ to_chat(user, SPAN_NOTICE("You put [used] in [src]."))
return ITEM_INTERACT_COMPLETE
/obj/structure/dresser/wardrobe/proc/toggle_lock(mob/user)
if(!allowed(user))
- to_chat(user, "Access Denied.")
+ to_chat(user, SPAN_NOTICE("Access Denied."))
return
locked = !locked
- visible_message("[user] [locked ? null : "un"]lock[user.p_s()] [src].")
+ visible_message(SPAN_NOTICE("[user] [locked ? null : "un"]lock[user.p_s()] [src]."))
var/mob/living/carbon/human/H = user
add_fingerprint(H)
update_appearance(UPDATE_OVERLAYS)
diff --git a/code/game/objects/structures/electricchair.dm b/code/game/objects/structures/electricchair.dm
index 3753873db31..3bc1b0e73cc 100644
--- a/code/game/objects/structures/electricchair.dm
+++ b/code/game/objects/structures/electricchair.dm
@@ -27,7 +27,7 @@
/obj/structure/chair/e_chair/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to activate it."
+ . += SPAN_WARNING("You can Alt-Click [src] to activate it.")
/obj/structure/chair/e_chair/wrench_act(mob/user, obj/item/I)
. = TRUE
@@ -37,16 +37,16 @@
part.loc = loc
part.master = null
part = null
- visible_message("[user] deconstructs [src].")
+ visible_message(SPAN_WARNING("[user] deconstructs [src]."))
qdel(src)
/obj/structure/chair/e_chair/AltClick(mob/user)
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
return
if(last_time + delay_time > world.time)
- to_chat(user, "[src] is not ready yet!")
+ to_chat(user, SPAN_WARNING("[src] is not ready yet!"))
return
- to_chat(user, "You activate [src].")
+ to_chat(user, SPAN_NOTICE("You activate [src]."))
shock()
/obj/structure/chair/e_chair/rotate()
@@ -82,11 +82,11 @@
flick("echair_shock", src)
do_sparks(12, 1, src)
- visible_message("The electric chair went off!", "You hear a deep sharp shock!")
+ visible_message(SPAN_DANGER("The electric chair went off!"), SPAN_DANGER("You hear a deep sharp shock!"))
if(has_buckled_mobs())
for(var/m in buckled_mobs)
var/mob/living/buckled_mob = m
buckled_mob.electrocute_act(110, src, 1)
- to_chat(buckled_mob, "You feel a deep shock course through your body!")
+ to_chat(buckled_mob, SPAN_DANGER("You feel a deep shock course through your body!"))
spawn(1)
buckled_mob.electrocute_act(110, src, 1)
diff --git a/code/game/objects/structures/engicart.dm b/code/game/objects/structures/engicart.dm
index a476cc034a9..612557323c2 100644
--- a/code/game/objects/structures/engicart.dm
+++ b/code/game/objects/structures/engicart.dm
@@ -38,18 +38,18 @@
/obj/structure/engineeringcart/proc/put_in_cart(obj/item/used, mob/user)
if(!user.drop_item())
- to_chat(user, "[used] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[used] is stuck to your hand!"))
return FALSE
used.loc = src
- to_chat(user, "You put [used] into [src].")
+ to_chat(user, SPAN_NOTICE("You put [used] into [src]."))
return TRUE
/obj/structure/engineeringcart/item_interaction(mob/living/user, obj/item/used, list/modifiers)
. = ITEM_INTERACT_COMPLETE
- var/fail_msg = "There is already one of those in [src]!"
+ var/fail_msg = SPAN_WARNING("There is already one of those in [src]!")
if(used.is_robot_module())
- to_chat(user, "You cannot interface your modules with [src]!")
+ to_chat(user, SPAN_WARNING("You cannot interface your modules with [src]!"))
return
if(istype(used, /obj/item/stack/sheet/glass))
@@ -144,9 +144,9 @@
tool.play_tool_sound(src, tool.tool_volume)
anchored = FALSE
user.visible_message(
- "[user] loosens [src]'s casters.",
- "You have loosened [src]'s casters.",
- "You hear ratcheting."
+ SPAN_NOTICE("[user] loosens [src]'s casters."),
+ SPAN_NOTICE("You have loosened [src]'s casters."),
+ SPAN_NOTICE("You hear ratcheting.")
)
return
@@ -154,9 +154,9 @@
tool.play_tool_sound(src, tool.tool_volume)
anchored = TRUE
user.visible_message(
- "[user] tightens [src]'s casters.",
- "You have tightened [src]'s casters.",
- "You hear ratcheting."
+ SPAN_NOTICE("[user] tightens [src]'s casters."),
+ SPAN_NOTICE("You have tightened [src]'s casters."),
+ SPAN_NOTICE("You hear ratcheting.")
)
/obj/structure/engineeringcart/attack_hand(mob/user)
@@ -190,7 +190,7 @@
return
user.put_in_hands(my_glass)
- to_chat(user, "You take [my_glass] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_glass] from [src]."))
my_glass = null
if("Metal")
@@ -198,7 +198,7 @@
return
user.put_in_hands(my_metal)
- to_chat(user, "You take [my_metal] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_metal] from [src]."))
my_metal = null
if("Plasteel")
@@ -206,7 +206,7 @@
return
user.put_in_hands(my_plasteel)
- to_chat(user, "You take [my_plasteel] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_plasteel] from [src]."))
my_plasteel = null
if("Flashlight")
@@ -214,7 +214,7 @@
return
user.put_in_hands(my_flashlight)
- to_chat(user, "You take [my_flashlight] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_flashlight] from [src]."))
my_flashlight = null
if("Mechanical Toolbox")
@@ -222,7 +222,7 @@
return
user.put_in_hands(my_blue_toolbox)
- to_chat(user, "You take [my_blue_toolbox] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_blue_toolbox] from [src]."))
my_blue_toolbox = null
if("Emergency Toolbox")
@@ -230,7 +230,7 @@
return
user.put_in_hands(my_red_toolbox)
- to_chat(user, "You take [my_red_toolbox] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_red_toolbox] from [src]."))
my_red_toolbox = null
if("Electrical Toolbox")
@@ -238,7 +238,7 @@
return
user.put_in_hands(my_yellow_toolbox)
- to_chat(user, "You take [my_yellow_toolbox] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_yellow_toolbox] from [src]."))
my_yellow_toolbox = null
update_icon(UPDATE_OVERLAYS)
diff --git a/code/game/objects/structures/extinguisher_cabinet.dm b/code/game/objects/structures/extinguisher_cabinet.dm
index 5c22c40fa9f..c8f8dc82055 100644
--- a/code/game/objects/structures/extinguisher_cabinet.dm
+++ b/code/game/objects/structures/extinguisher_cabinet.dm
@@ -33,11 +33,11 @@
/obj/structure/extinguisher_cabinet/examine(mob/user)
. = ..()
- . += "Alt-click to [opened ? "close":"open"] it."
+ . += SPAN_NOTICE("Alt-click to [opened ? "close":"open"] it.")
/obj/structure/extinguisher_cabinet/AltClick(mob/living/user)
if(!istype(user) || user.incapacitated())
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return
if(!in_range(src, user))
return
@@ -72,7 +72,7 @@
contents += O
has_extinguisher = O
update_icon(UPDATE_ICON_STATE)
- to_chat(user, "You place [O] in [src].")
+ to_chat(user, SPAN_NOTICE("You place [O] in [src]."))
return TRUE
else
playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3)
@@ -87,10 +87,10 @@
/obj/structure/extinguisher_cabinet/welder_act(mob/user, obj/item/I)
if(has_extinguisher)
- to_chat(user, "You need to remove the extinguisher before deconstructing [src]!")
+ to_chat(user, SPAN_WARNING("You need to remove the extinguisher before deconstructing [src]!"))
return
if(!opened)
- to_chat(user, "Open the cabinet before cutting it apart!")
+ to_chat(user, SPAN_WARNING("Open the cabinet before cutting it apart!"))
return
. = TRUE
if(!I.tool_use_check(user, 0))
@@ -102,7 +102,7 @@
/obj/structure/extinguisher_cabinet/attack_hand(mob/user)
if(isrobot(user) || isalien(user))
- to_chat(user, "You don't have the dexterity to do this!")
+ to_chat(user, SPAN_NOTICE("You don't have the dexterity to do this!"))
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
@@ -116,7 +116,7 @@
if(icon_state == "extinguisher_closed")
playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3)
user.put_in_hands(has_extinguisher)
- to_chat(user, "You take [has_extinguisher] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [has_extinguisher] from [src]."))
has_extinguisher = null
opened = TRUE
else
@@ -129,7 +129,7 @@
if(icon_state == "extinguisher_closed")
playsound(loc, 'sound/machines/click.ogg', 15, TRUE, -3)
has_extinguisher.loc = loc
- to_chat(user, "You telekinetically remove [has_extinguisher] from [src].")
+ to_chat(user, SPAN_NOTICE("You telekinetically remove [has_extinguisher] from [src]."))
has_extinguisher = null
opened = TRUE
else
diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm
index 4e511d2da7b..fc5a3473567 100644
--- a/code/game/objects/structures/false_walls.dm
+++ b/code/game/objects/structures/false_walls.dm
@@ -42,14 +42,14 @@
var/healthpercent = (obj_integrity/max_integrity) * 100
switch(healthpercent)
if(100)
- . += "It looks fully intact."
+ . += SPAN_NOTICE("It looks fully intact.")
if(70 to 99)
- . += "It looks slightly damaged."
+ . += SPAN_WARNING("It looks slightly damaged.")
if(40 to 70)
- . += "It looks moderately damaged."
+ . += SPAN_WARNING("It looks moderately damaged.")
if(0 to 40)
- . += "It looks heavily damaged."
- . += "
Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer."
+ . += SPAN_DANGER("It looks heavily damaged.")
+ . += "
[SPAN_NOTICE("Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer.")]"
/obj/structure/falsewall/Destroy()
density = FALSE
@@ -116,7 +116,7 @@
/obj/structure/falsewall/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(opening)
- to_chat(user, "You must wait until the door has stopped moving.")
+ to_chat(user, SPAN_WARNING("You must wait until the door has stopped moving."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/gun/energy/plasmacutter) || istype(used, /obj/item/pickaxe/drill/diamonddrill) || istype(used, /obj/item/pickaxe/drill/jackhammer) || istype(used, /obj/item/melee/energy/blade) || istype(used, /obj/item/pyro_claws))
@@ -127,24 +127,24 @@
. = ..()
if(. && M.environment_smash >= env_smash_level)
deconstruct(FALSE)
- to_chat(M, "You smash through the wall.")
+ to_chat(M, SPAN_NOTICE("You smash through the wall."))
/obj/structure/falsewall/screwdriver_act(mob/living/user, obj/item/I)
if(opening)
- to_chat(user, "You must wait until the door has stopped moving.")
+ to_chat(user, SPAN_WARNING("You must wait until the door has stopped moving."))
return TRUE
if(!density)
- to_chat(user, "You can't reach, close it first!")
+ to_chat(user, SPAN_WARNING("You can't reach, close it first!"))
return TRUE
var/turf/T = get_turf(src)
if(T.density)
- to_chat(user, "[src] is blocked!")
+ to_chat(user, SPAN_WARNING("[src] is blocked!"))
return TRUE
if(!isfloorturf(T))
- to_chat(user, "[src] bolts must be tightened on the floor!")
+ to_chat(user, SPAN_WARNING("[src] bolts must be tightened on the floor!"))
return TRUE
- user.visible_message("[user] tightens some bolts on the wall.", "You tighten the bolts on the wall.")
+ user.visible_message(SPAN_NOTICE("[user] tightens some bolts on the wall."), SPAN_WARNING("You tighten the bolts on the wall."))
ChangeToWall()
return TRUE
@@ -157,7 +157,7 @@
dismantle(user, TRUE)
/obj/structure/falsewall/proc/dismantle(mob/user, disassembled = TRUE)
- user.visible_message("[user] dismantles the false wall.", "You dismantle the false wall.")
+ user.visible_message(SPAN_NOTICE("[user] dismantles the false wall."), SPAN_WARNING("You dismantle the false wall."))
playsound(src, 'sound/items/welder.ogg', 100, TRUE)
deconstruct(disassembled)
@@ -192,7 +192,7 @@
/obj/structure/falsewall/reinforced/examine_status(mob/user)
. = ..()
- . += "
The outer grille is fully intact." //not going to fake other states of disassembly
+ . += "
[SPAN_NOTICE("The outer grille is fully intact.")]" //not going to fake other states of disassembly
/obj/structure/falsewall/reinforced/ChangeToWall(delete = 1)
var/turf/T = get_turf(src)
diff --git a/code/game/objects/structures/fence.dm b/code/game/objects/structures/fence.dm
index b3babf75ef3..1995c457b81 100644
--- a/code/game/objects/structures/fence.dm
+++ b/code/game/objects/structures/fence.dm
@@ -66,15 +66,15 @@
var/obj/item/stack/rods/R = used
if(R.get_amount() < HOLE_REPAIR)
- to_chat(user, "You need [HOLE_REPAIR] rods to fix this fence!")
+ to_chat(user, SPAN_WARNING("You need [HOLE_REPAIR] rods to fix this fence!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You begin repairing the fence...")
+ to_chat(user, SPAN_NOTICE("You begin repairing the fence..."))
if(do_after_once(user, 3 SECONDS * used.toolspeed, target = src) && hole_size != NO_HOLE && R.use(HOLE_REPAIR))
playsound(src, used.usesound, 80, 1)
hole_size = NO_HOLE
obj_integrity = max_integrity
- to_chat(user, "You repair the fence.")
+ to_chat(user, SPAN_NOTICE("You repair the fence."))
update_cut_status()
return ITEM_INTERACT_COMPLETE
@@ -84,18 +84,18 @@
return
if(flags & NODECONSTRUCT)
- to_chat(user, "This fence is too strong to cut through!")
+ to_chat(user, SPAN_WARNING("This fence is too strong to cut through!"))
return
user.visible_message(
- "[user] starts cutting through [src] with [I].",
- "You start cutting through [src] with [I]."
+ SPAN_WARNING("[user] starts cutting through [src] with [I]."),
+ SPAN_NOTICE("You start cutting through [src] with [I].")
)
if(!can_have_holes)
if(I.use_tool(src, user, FULL_CUT_TIME, volume = I.tool_volume, do_after_once = TRUE))
user.visible_message(
- "[user] completely dismantles [src].",
- "You completely dismantle [src]."
+ SPAN_WARNING("[user] completely dismantles [src]."),
+ SPAN_NOTICE("You completely dismantle [src].")
)
deconstruct()
return
@@ -103,22 +103,22 @@
// Required to avoid tool spam from stacking and instantly cutting multiple stages at once.
if(!I.use_tool(src, user, CUT_TIME * I.toolspeed, volume = I.tool_volume, do_after_once = TRUE))
return
-
+
switch(hole_size)
if(NO_HOLE)
user.visible_message(
- "[user] cuts a hole into [src].",
- "You could probably fit yourself through that hole. Although climbing through would be much faster if you made it even bigger..."
+ SPAN_WARNING("[user] cuts a hole into [src]."),
+ SPAN_NOTICE("You could probably fit yourself through that hole. Although climbing through would be much faster if you made it even bigger...")
)
if(SMALL_HOLE)
user.visible_message(
- "[user] completely cuts through [src].",
- "The hole in [src] is now big enough to walk through."
+ SPAN_WARNING("[user] completely cuts through [src]."),
+ SPAN_NOTICE("The hole in [src] is now big enough to walk through.")
)
if(LARGE_HOLE)
user.visible_message(
- "[user] completely dismantles [src].",
- "You completely dismantle [src]."
+ SPAN_WARNING("[user] completely dismantles [src]."),
+ SPAN_NOTICE("You completely dismantle [src].")
)
deconstruct()
return
@@ -222,7 +222,7 @@
/obj/structure/fence/door/proc/toggle(mob/user)
open = !open
- visible_message("[user] [open ? "opens" : "closes"] [src].")
+ visible_message(SPAN_NOTICE("[user] [open ? "opens" : "closes"] [src]."))
update_door_status()
playsound(src, 'sound/machines/door_open.ogg', 20, TRUE)
diff --git a/code/game/objects/structures/flora.dm b/code/game/objects/structures/flora.dm
index 5cc1f08153e..0d51d107694 100644
--- a/code/game/objects/structures/flora.dm
+++ b/code/game/objects/structures/flora.dm
@@ -272,9 +272,9 @@
/obj/item/kirbyplants/examine(mob/user)
. = ..()
if(hideable)
- . += "You can hide behind [src] by picking it up with both hands free."
+ . += SPAN_NOTICE("You can hide behind [src] by picking it up with both hands free.")
else
- . += "It's too small to hide behind."
+ . += SPAN_NOTICE("It's too small to hide behind.")
/obj/item/kirbyplants/equipped(mob/living/carbon/user)
. = ..()
@@ -536,12 +536,12 @@
if(istype(I, /obj/item/hatchet) && !stump)
if(indestructable)
//this bush marks the edge of the map, you can't destroy it
- to_chat(user, "You flail away at the undergrowth, but it's too thick here.")
+ to_chat(user, SPAN_WARNING("You flail away at the undergrowth, but it's too thick here."))
else
- user.visible_message("[user] begins clearing away [src].","You begin clearing away [src].")
+ user.visible_message(SPAN_DANGER("[user] begins clearing away [src]."), SPAN_WARNING("You begin clearing away [src]."))
spawn(rand(15,30))
if(get_dist(user,src) < 2)
- to_chat(user, "You clear away [src].")
+ to_chat(user, SPAN_NOTICE("You clear away [src]."))
var/obj/item/stack/sheet/wood/W = new(src.loc)
W.amount = rand(3,15)
if(prob(50))
diff --git a/code/game/objects/structures/fluff.dm b/code/game/objects/structures/fluff.dm
index a703b4c4663..5df774b4a18 100644
--- a/code/game/objects/structures/fluff.dm
+++ b/code/game/objects/structures/fluff.dm
@@ -12,10 +12,10 @@
if(!deconstructible)
return FALSE
- user.visible_message("[user] starts disassembling [src]...", "You start disassembling [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts disassembling [src]..."), SPAN_NOTICE("You start disassembling [src]..."))
playsound(loc, I.usesound, 50, TRUE)
if(I.use_tool(src, user, 5 SECONDS, 0, 50))
- user.visible_message("[user] disassembles [src]!", "You break down [src] into scrap metal.")
+ user.visible_message(SPAN_NOTICE("[user] disassembles [src]!"), SPAN_NOTICE("You break down [src] into scrap metal."))
playsound(user, 'sound/items/deconstruct.ogg', 50, TRUE)
new /obj/item/stack/sheet/metal(drop_location())
qdel(src)
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index 9174589af9d..b132aa55179 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -23,18 +23,18 @@
. = ..()
switch(state)
if(GIRDER_REINF)
- . += "The support struts are screwed in place."
+ . += SPAN_NOTICE("The support struts are screwed in place.")
if(GIRDER_REINF_STRUTS)
- . += "The support struts are unscrewed and the inner grille is intact."
+ . += SPAN_NOTICE("The support struts are unscrewed and the inner grille is intact.")
if(GIRDER_NORMAL)
- . += "The bolts are lodged in place."
+ . += SPAN_NOTICE("The bolts are lodged in place.")
if(GIRDER_DISPLACED)
- . += "The bolts are loosened, but the screws are holding [src] together."
+ . += SPAN_NOTICE("The bolts are loosened, but the screws are holding [src] together.")
if(GIRDER_DISASSEMBLED)
- . += "[src] is disassembled! You probably shouldn't be able to see this examine message."
- . += "Various types of metal sheets can be used on this to create different kinds of walls."
+ . += SPAN_NOTICE("[src] is disassembled! You probably shouldn't be able to see this examine message.")
+ . += SPAN_NOTICE("Various types of metal sheets can be used on this to create different kinds of walls.")
if(can_displace)
- . += "Apply a crowbar to this item to cause any walls to be made to be false walls. Use a wrench on this item to deconstruct it."
+ . += SPAN_NOTICE("Apply a crowbar to this item to cause any walls to be made to be false walls. Use a wrench on this item to deconstruct it.")
/obj/structure/girder/proc/refundMetal(metalAmount) //refunds metal used in construction when deconstructed
@@ -50,82 +50,82 @@
/obj/structure/girder/item_interaction(mob/living/user, obj/item/W, list/modifiers)
add_fingerprint(user)
if(istype(W, /obj/item/gun/energy/plasmacutter))
- to_chat(user, "You start slicing apart the girder...")
+ to_chat(user, SPAN_NOTICE("You start slicing apart the girder..."))
if(do_after(user, 40 * W.toolspeed, target = src))
if(!src)
return ITEM_INTERACT_COMPLETE
playsound(loc, W.usesound, 100, 1)
- to_chat(user, "You slice apart the girder.")
+ to_chat(user, SPAN_NOTICE("You slice apart the girder."))
refundMetal(metalUsed)
qdel(src)
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/pickaxe/drill/diamonddrill))
- to_chat(user, "You drill through the girder!")
+ to_chat(user, SPAN_NOTICE("You drill through the girder!"))
refundMetal(metalUsed)
qdel(src)
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
playsound(loc, W.usesound, 100, 1)
- to_chat(user, "You disintegrate the girder!")
+ to_chat(user, SPAN_NOTICE("You disintegrate the girder!"))
refundMetal(metalUsed)
qdel(src)
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/pyro_claws))
playsound(loc, W.usesound, 100, 1)
- to_chat(user, "You melt the girder!")
+ to_chat(user, SPAN_NOTICE("You melt the girder!"))
refundMetal(metalUsed)
qdel(src)
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/stack))
if(iswallturf(loc))
- to_chat(user, "There is already a wall present!")
+ to_chat(user, SPAN_WARNING("There is already a wall present!"))
return ITEM_INTERACT_COMPLETE
if(!isfloorturf(loc))
- to_chat(user, "A floor must be present to build a false wall!")
+ to_chat(user, SPAN_WARNING("A floor must be present to build a false wall!"))
return ITEM_INTERACT_COMPLETE
if(locate(/obj/structure/falsewall) in loc.contents)
- to_chat(user, "There is already a false wall present!")
+ to_chat(user, SPAN_WARNING("There is already a false wall present!"))
return ITEM_INTERACT_COMPLETE
if(islava(loc))
- to_chat(user, "You can't do that while [src] is in lava!")
+ to_chat(user, SPAN_WARNING("You can't do that while [src] is in lava!"))
return ITEM_INTERACT_COMPLETE
if(istype(W, /obj/item/stack/sheet/runed_metal))
- to_chat(user, "You can't seem to make the metal bend.")
+ to_chat(user, SPAN_WARNING("You can't seem to make the metal bend."))
return ITEM_INTERACT_COMPLETE
if(istype(W, /obj/item/stack/sheet/bamboo)) // pending wall resprite(tm)
- to_chat(user, "The bamboo doesn't seem to fit around the girder.")
+ to_chat(user, SPAN_WARNING("The bamboo doesn't seem to fit around the girder."))
return ITEM_INTERACT_COMPLETE
if(istype(W,/obj/item/stack/rods))
var/obj/item/stack/rods/S = W
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 5)
- to_chat(user, "You need at least five rods to create a false wall!")
+ to_chat(user, SPAN_WARNING("You need at least five rods to create a false wall!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start building a reinforced false wall...")
+ to_chat(user, SPAN_NOTICE("You start building a reinforced false wall..."))
if(do_after(user, 20, target = src))
if(!loc || !S || S.get_amount() < 5)
return ITEM_INTERACT_COMPLETE
S.use(5)
- to_chat(user, "You create a false wall. Push on it to open or close the passage.")
+ to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage."))
var/obj/structure/falsewall/iron/FW = new (loc)
transfer_fingerprints_to(FW)
qdel(src)
return ITEM_INTERACT_COMPLETE
else
if(S.get_amount() < 5)
- to_chat(user, "You need at least five rods to add plating!")
+ to_chat(user, SPAN_WARNING("You need at least five rods to add plating!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start adding plating...")
+ to_chat(user, SPAN_NOTICE("You start adding plating..."))
if(do_after(user, 40, target = src))
if(!loc || !S || S.get_amount() < 5)
return ITEM_INTERACT_COMPLETE
S.use(5)
- to_chat(user, "You add the plating.")
+ to_chat(user, SPAN_NOTICE("You add the plating."))
var/turf/T = get_turf(src)
T.ChangeTurf(/turf/simulated/wall/mineral/iron)
transfer_fingerprints_to(T)
@@ -136,27 +136,27 @@
var/obj/item/stack/ore/glass/basalt/A = W
if(state == GIRDER_DISPLACED)
if(A.get_amount() < 2)
- to_chat(user, "You need at least two [A] to create a false wall!")
+ to_chat(user, SPAN_WARNING("You need at least two [A] to create a false wall!"))
return ITEM_INTERACT_COMPLETE
if(do_after(user, 2 SECONDS, target = src))
if(!loc || !A || A.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
A.use(2)
- to_chat(user, "You create a false wall. Push on it to open or close the passage.")
+ to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage."))
var/obj/structure/falsewall/rock_ancient/FW = new (loc)
transfer_fingerprints_to(FW)
qdel(src)
return ITEM_INTERACT_COMPLETE
else
if(A.get_amount() < 2)
- to_chat(user, "You need at least two [A] to add plating!")
+ to_chat(user, SPAN_WARNING("You need at least two [A] to add plating!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start adding [A]...")
+ to_chat(user, SPAN_NOTICE("You start adding [A]..."))
if(do_after(user, 4 SECONDS, target = src))
if(!src || !A || A.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
A.use(2)
- to_chat(user, "You add [A].")
+ to_chat(user, SPAN_NOTICE("You add [A]."))
var/turf/parent_turf = get_turf(src)
parent_turf.ChangeTurf(/turf/simulated/mineral/ancient)
for(var/turf/simulated/mineral/X in parent_turf.loc)
@@ -169,34 +169,34 @@
var/obj/item/stack/sheet/S = W
if(!S.wall_allowed)
- to_chat(user, "You don't think that is good material for a wall!")
+ to_chat(user, SPAN_WARNING("You don't think that is good material for a wall!"))
return ITEM_INTERACT_COMPLETE
if(istype(S, /obj/item/stack/sheet/wood))
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- to_chat(user, "You need two planks of wood to create a false wall!")
+ to_chat(user, SPAN_WARNING("You need two planks of wood to create a false wall!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start building a false wall...")
+ to_chat(user, SPAN_NOTICE("You start building a false wall..."))
if(do_after(user, 20, target = src))
if(!loc || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You create a false wall. Push on it to open or close the passage.")
+ to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage."))
var/obj/structure/falsewall/wood/falsewood = new(loc)
transfer_fingerprints_to(falsewood)
qdel(src)
return ITEM_INTERACT_COMPLETE
else
if(S.get_amount() < 2)
- to_chat(user, "You need two planks of wood to finish a wall!")
+ to_chat(user, SPAN_WARNING("You need two planks of wood to finish a wall!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start adding plating...")
+ to_chat(user, SPAN_NOTICE("You start adding plating..."))
if(do_after(user, 40 * W.toolspeed, target = src))
if(!src || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You add the plating.")
+ to_chat(user, SPAN_NOTICE("You add the plating."))
var/turf/Tsrc = get_turf(src)
Tsrc.ChangeTurf(/turf/simulated/wall/mineral/wood)
for(var/turf/simulated/wall/mineral/wood/X in Tsrc.loc)
@@ -207,28 +207,28 @@
else if(istype(S, /obj/item/stack/sheet/metal))
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- to_chat(user, "You need two sheets of metal to create a false wall!")
+ to_chat(user, SPAN_WARNING("You need two sheets of metal to create a false wall!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start building a false wall...")
+ to_chat(user, SPAN_NOTICE("You start building a false wall..."))
if(do_after(user, 20, target = src))
if(!loc || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You create a false wall. Push on it to open or close the passage.")
+ to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage."))
var/obj/structure/falsewall/F = new(loc)
transfer_fingerprints_to(F)
qdel(src)
return ITEM_INTERACT_COMPLETE
else
if(S.get_amount() < 2)
- to_chat(user, "You need two sheets of metal to finish a wall!")
+ to_chat(user, SPAN_WARNING("You need two sheets of metal to finish a wall!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start adding plating...")
+ to_chat(user, SPAN_NOTICE("You start adding plating..."))
if(do_after(user, 40 * W.toolspeed, target = src))
if(!src || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You add the plating.")
+ to_chat(user, SPAN_NOTICE("You add the plating."))
var/turf/Tsrc = get_turf(src)
Tsrc.ChangeTurf(/turf/simulated/wall)
for(var/turf/simulated/wall/X in Tsrc.loc)
@@ -240,14 +240,14 @@
if(istype(S, /obj/item/stack/sheet/plasteel))
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- to_chat(user, "You need at least two sheets to create a false wall!")
+ to_chat(user, SPAN_WARNING("You need at least two sheets to create a false wall!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start building a reinforced false wall...")
+ to_chat(user, SPAN_NOTICE("You start building a reinforced false wall..."))
if(do_after(user, 20, target = src))
if(!loc || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You create a reinforced false wall. Push on it to open or close the passage.")
+ to_chat(user, SPAN_NOTICE("You create a reinforced false wall. Push on it to open or close the passage."))
var/obj/structure/falsewall/reinforced/FW = new (loc)
transfer_fingerprints_to(FW)
qdel(src)
@@ -256,12 +256,12 @@
if(state == GIRDER_REINF)
if(S.get_amount() < 1)
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start finalizing the reinforced wall...")
+ to_chat(user, SPAN_NOTICE("You start finalizing the reinforced wall..."))
if(do_after(user, 50, target = src))
if(!src || !S || S.get_amount() < 1)
return ITEM_INTERACT_COMPLETE
S.use(1)
- to_chat(user, "You fully reinforce the wall.")
+ to_chat(user, SPAN_NOTICE("You fully reinforce the wall."))
var/turf/Tsrc = get_turf(src)
Tsrc.ChangeTurf(/turf/simulated/wall/r_wall)
for(var/turf/simulated/wall/r_wall/X in Tsrc.loc)
@@ -272,12 +272,12 @@
else
if(S.get_amount() < 1)
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start reinforcing the girder...")
+ to_chat(user, SPAN_NOTICE("You start reinforcing the girder..."))
if(do_after(user,60, target = src))
if(!src || !S || S.get_amount() < 1)
return ITEM_INTERACT_COMPLETE
S.use(1)
- to_chat(user, "You reinforce the girder.")
+ to_chat(user, SPAN_NOTICE("You reinforce the girder."))
var/obj/structure/girder/reinforced/R = new (loc)
transfer_fingerprints_to(R)
qdel(src)
@@ -287,13 +287,13 @@
var/M = S.sheettype
if(state == GIRDER_DISPLACED)
if(S.get_amount() < 2)
- to_chat(user, "You need at least two sheets to create a false wall!")
+ to_chat(user, SPAN_WARNING("You need at least two sheets to create a false wall!"))
return ITEM_INTERACT_COMPLETE
if(do_after(user, 20, target = src))
if(!loc || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You create a false wall. Push on it to open or close the passage.")
+ to_chat(user, SPAN_NOTICE("You create a false wall. Push on it to open or close the passage."))
var/F = text2path("/obj/structure/falsewall/[M]")
var/obj/structure/FW = new F (loc)
transfer_fingerprints_to(FW)
@@ -301,14 +301,14 @@
return ITEM_INTERACT_COMPLETE
else
if(S.get_amount() < 2)
- to_chat(user, "You need at least two sheets to add plating!")
+ to_chat(user, SPAN_WARNING("You need at least two sheets to add plating!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You start adding plating...")
+ to_chat(user, SPAN_NOTICE("You start adding plating..."))
if(do_after(user,40, target = src))
if(!src || !S || S.get_amount() < 2)
return ITEM_INTERACT_COMPLETE
S.use(2)
- to_chat(user, "You add the plating.")
+ to_chat(user, SPAN_NOTICE("You add the plating."))
var/turf/Tsrc = get_turf(src)
Tsrc.ChangeTurf(text2path("/turf/simulated/wall/mineral/[M]"))
for(var/turf/simulated/wall/mineral/X in Tsrc.loc)
@@ -325,10 +325,10 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- to_chat(user, "You start dislodging the girder...")
+ to_chat(user, SPAN_NOTICE("You start dislodging the girder..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_NORMAL)
return
- to_chat(user, "You dislodge the girder.")
+ to_chat(user, SPAN_NOTICE("You dislodge the girder."))
var/obj/structure/girder/displaced/D = new (loc)
transfer_fingerprints_to(D)
qdel(src)
@@ -350,16 +350,16 @@
M.add_fingerprint(user)
qdel(src)
if(GIRDER_REINF)
- to_chat(user, "You start unsecuring support struts...")
+ to_chat(user, SPAN_NOTICE("You start unsecuring support struts..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF)
return
- to_chat(user, "You unsecure the support struts.")
+ to_chat(user, SPAN_NOTICE("You unsecure the support struts."))
state = GIRDER_REINF_STRUTS
if(GIRDER_REINF_STRUTS)
- to_chat(user, "You start securing support struts...")
+ to_chat(user, SPAN_NOTICE("You start securing support struts..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF_STRUTS)
return
- to_chat(user, "You secure the support struts.")
+ to_chat(user, SPAN_NOTICE("You secure the support struts."))
state = GIRDER_REINF
/obj/structure/girder/wirecutter_act(mob/user, obj/item/I)
@@ -368,10 +368,10 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- to_chat(user, "You start removing the inner grille...")
+ to_chat(user, SPAN_NOTICE("You start removing the inner grille..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_REINF_STRUTS)
return
- to_chat(user, "You remove the inner grille.")
+ to_chat(user, SPAN_NOTICE("You remove the inner grille."))
new /obj/item/stack/sheet/plasteel(get_turf(src))
var/obj/structure/girder/G = new (loc)
transfer_fingerprints_to(G)
@@ -393,12 +393,12 @@
qdel(src)
else
if(!isfloorturf(loc))
- to_chat(user, "A floor must be present to secure the girder!")
+ to_chat(user, SPAN_WARNING("A floor must be present to secure the girder!"))
return
- to_chat(user, "You start securing the girder...")
+ to_chat(user, SPAN_NOTICE("You start securing the girder..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != GIRDER_DISPLACED)
return
- to_chat(user, "You secure the girder.")
+ to_chat(user, SPAN_NOTICE("You secure the girder."))
var/obj/structure/girder/G = new(loc)
transfer_fingerprints_to(G)
qdel(src)
@@ -473,15 +473,15 @@
/obj/structure/girder/cult/item_interaction(mob/living/user, obj/item/W, list/modifiers)
add_fingerprint(user)
if(istype(W, /obj/item/melee/cultblade/dagger) && IS_CULTIST(user)) //Cultists can demolish cult girders instantly with their dagger
- user.visible_message("[user] strikes [src] with [W]!", "You demolish [src].")
+ user.visible_message(SPAN_WARNING("[user] strikes [src] with [W]!"), SPAN_NOTICE("You demolish [src]."))
refundMetal(metalUsed)
qdel(src)
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/gun/energy/plasmacutter))
- to_chat(user, "You start slicing apart the girder...")
+ to_chat(user, SPAN_NOTICE("You start slicing apart the girder..."))
if(do_after(user, 40* W.toolspeed, target = src))
playsound(loc, W.usesound, 100, 1)
- to_chat(user, "You slice apart the girder.")
+ to_chat(user, SPAN_NOTICE("You slice apart the girder."))
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
R.amount = 1
transfer_fingerprints_to(R)
@@ -489,7 +489,7 @@
return ITEM_INTERACT_COMPLETE
else if(istype(W, /obj/item/pickaxe/drill/jackhammer))
var/obj/item/pickaxe/drill/jackhammer/D = W
- to_chat(user, "Your jackhammer smashes through the girder!")
+ to_chat(user, SPAN_NOTICE("Your jackhammer smashes through the girder!"))
var/obj/item/stack/sheet/runed_metal/R = new(get_turf(src))
R.amount = 1
transfer_fingerprints_to(R)
@@ -499,13 +499,13 @@
else if(istype(W, /obj/item/stack/sheet/runed_metal))
var/obj/item/stack/sheet/runed_metal/R = W
if(R.get_amount() < 1)
- to_chat(user, "You need at least one sheet of runed metal to construct a runed wall!")
+ to_chat(user, SPAN_WARNING("You need at least one sheet of runed metal to construct a runed wall!"))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] begins laying runed metal on [src]...", "You begin constructing a runed wall...")
+ user.visible_message(SPAN_NOTICE("[user] begins laying runed metal on [src]..."), SPAN_NOTICE("You begin constructing a runed wall..."))
if(do_after(user, 10, target = src))
if(R.get_amount() < 1 || !R)
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] plates [src] with runed metal.", "You construct a runed wall.")
+ user.visible_message(SPAN_NOTICE("[user] plates [src] with runed metal."), SPAN_NOTICE("You construct a runed wall."))
R.use(1)
var/turf/T = get_turf(src)
T.ChangeTurf(/turf/simulated/wall/cult)
diff --git a/code/game/objects/structures/grey_autocloner.dm b/code/game/objects/structures/grey_autocloner.dm
index a45fd1d8a7d..dc865a1268b 100644
--- a/code/game/objects/structures/grey_autocloner.dm
+++ b/code/game/objects/structures/grey_autocloner.dm
@@ -84,7 +84,7 @@
clonemind.transfer_to(H) //INSTANTLY INTO THE CLONE
H.ckey = R.ckey
- to_chat(H, "Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?")
+ to_chat(H, SPAN_NOTICE("Consciousness slowly creeps over you as your body regenerates.
So this is what cloning feels like?"))
update_icon()
diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm
index aeb75e705cd..d4a7ac8f2a8 100644
--- a/code/game/objects/structures/grille.dm
+++ b/code/game/objects/structures/grille.dm
@@ -24,12 +24,12 @@
/obj/structure/grille/examine(mob/user)
. = ..()
- . += "A powered wire underneath this will cause the grille to shock anyone who touches the grill. An electric shock may leap forth if the grill is damaged."
- . += "Use wirecutters to deconstruct this item."
+ . += SPAN_NOTICE("A powered wire underneath this will cause the grille to shock anyone who touches the grill. An electric shock may leap forth if the grill is damaged.")
+ . += SPAN_NOTICE("Use wirecutters to deconstruct this item.")
if(anchored)
- . += "It's secured in place with screws. The rods look like they could be cut through."
+ . += SPAN_NOTICE("It's secured in place with screws. The rods look like they could be cut through.")
else
- . += "The anchoring screws are unscrewed. The rods look like they could be cut through."
+ . += SPAN_NOTICE("The anchoring screws are unscrewed. The rods look like they could be cut through.")
/obj/structure/grille/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
. = ..()
@@ -60,7 +60,7 @@
if(user.environment_smash >= ENVIRONMENT_SMASH_STRUCTURES)
playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE)
obj_break()
- user.visible_message("[user] smashes through [src]!", "You smash through [src].")
+ user.visible_message(SPAN_DANGER("[user] smashes through [src]!"), SPAN_NOTICE("You smash through [src]."))
return
take_damage(rand(5,10), BRUTE, MELEE, 1)
@@ -73,7 +73,7 @@
if(attacker.environment_smash >= ENVIRONMENT_SMASH_STRUCTURES)
playsound(src, 'sound/effects/grillehit.ogg', 80, TRUE)
obj_break()
- attacker.visible_message("[attacker] smashes through [src]!", "You smash through [src].")
+ attacker.visible_message(SPAN_DANGER("[attacker] smashes through [src]!"), SPAN_NOTICE("You smash through [src]."))
return
take_damage(rand(5, 10), BRUTE, MELEE, 1)
@@ -93,14 +93,14 @@
return
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
- user.visible_message("[user] hits [src].")
+ user.visible_message(SPAN_WARNING("[user] hits [src]."))
if(!shock(user, 70))
take_damage(rand(5,10), BRUTE, MELEE, 1)
/obj/structure/grille/attack_alien(mob/living/user)
user.do_attack_animation(src)
user.changeNext_move(CLICK_CD_MELEE)
- user.visible_message("[user] mangles [src].")
+ user.visible_message(SPAN_WARNING("[user] mangles [src]."))
if(!shock(user, 70))
take_damage(20, BRUTE, MELEE, 1)
@@ -134,8 +134,8 @@
/obj/structure/grille/proc/repair(mob/user, obj/item/stack/rods/R)
if(R.get_amount() >= 1)
- user.visible_message("[user] rebuilds the broken grille.",
- "You rebuild the broken grille.")
+ user.visible_message(SPAN_NOTICE("[user] rebuilds the broken grille."),
+ SPAN_NOTICE("You rebuild the broken grille."))
new grille_type(loc)
R.use(1)
qdel(src)
@@ -160,31 +160,31 @@
var/support = locate(/obj/structure/lattice) in get_turf(src)
if(!support)
support = get_turf(src)
- user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \
- "You [anchored ? "fasten [src] to" : "unfasten [src] from"] \the [support].")
+ user.visible_message(SPAN_NOTICE("[user] [anchored ? "fastens" : "unfastens"] [src]."), \
+ SPAN_NOTICE("You [anchored ? "fasten [src] to" : "unfasten [src] from"] \the [support]."))
/obj/structure/grille/proc/build_window(obj/item/stack/sheet/S, mob/user)
var/dir_to_set = SOUTHWEST
if(!istype(S) || !user)
return
if(broken)
- to_chat(user, "You must repair or replace [src] first!")
+ to_chat(user, SPAN_WARNING("You must repair or replace [src] first!"))
return
if(S.get_amount() < 2)
- to_chat(user, "You need at least two sheets of glass for that!")
+ to_chat(user, SPAN_WARNING("You need at least two sheets of glass for that!"))
return
if(!anchored)
- to_chat(user, "[src] needs to be fastened to the floor first!")
+ to_chat(user, SPAN_WARNING("[src] needs to be fastened to the floor first!"))
return
for(var/obj/structure/window/WINDOW in loc)
- to_chat(user, "There is already a window there!")
+ to_chat(user, SPAN_WARNING("There is already a window there!"))
return
- to_chat(user, "You start placing the window...")
+ to_chat(user, SPAN_NOTICE("You start placing the window..."))
if(do_after(user, 20, target = src))
if(!loc || !anchored) //Grille destroyed or unanchored while waiting
return
for(var/obj/structure/window/WINDOW in loc) //checking this for a 2nd time to check if a window was made while we were waiting.
- to_chat(user, "There is already a window there!")
+ to_chat(user, SPAN_WARNING("There is already a window there!"))
return
var/obj/structure/window/W = new S.full_window(drop_location())
W.setDir(dir_to_set)
@@ -194,7 +194,7 @@
W.update_nearby_icons()
W.state = WINDOW_OUT_OF_FRAME
S.use(2)
- to_chat(user, "You place [W] on [src].")
+ to_chat(user, SPAN_NOTICE("You place [W] on [src]."))
/obj/structure/grille/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
diff --git a/code/game/objects/structures/guillotine.dm b/code/game/objects/structures/guillotine.dm
index e8e2fea71ba..a917068a899 100644
--- a/code/game/objects/structures/guillotine.dm
+++ b/code/game/objects/structures/guillotine.dm
@@ -77,8 +77,8 @@
if(GUILLOTINE_BLADE_RAISED)
if(has_buckled_mobs())
if(user.a_intent == INTENT_HARM)
- user.visible_message("[user] begins to pull the lever!",
- "You begin to the pull the lever.")
+ user.visible_message(SPAN_WARNING("[user] begins to pull the lever!"),
+ SPAN_WARNING("You begin to the pull the lever."))
current_action = GUILLOTINE_ACTION_INUSE
if(do_after(user, GUILLOTINE_ACTIVATE_DELAY, target = src) && blade_status == GUILLOTINE_BLADE_RAISED)
@@ -165,16 +165,16 @@
blade_status = GUILLOTINE_BLADE_SHARPENING
if(do_after(user, W.toolspeed, target = src))
blade_status = GUILLOTINE_BLADE_RAISED
- user.visible_message("[user] sharpens the large blade of the guillotine.",
- "You sharpen the large blade of the guillotine.")
+ user.visible_message(SPAN_NOTICE("[user] sharpens the large blade of the guillotine."),
+ SPAN_NOTICE("You sharpen the large blade of the guillotine."))
blade_sharpness += 1
playsound(src, 'sound/items/screwdriver.ogg', 100, 1)
else
blade_status = GUILLOTINE_BLADE_RAISED
else
- to_chat(user, "The blade is sharp enough!")
+ to_chat(user, SPAN_WARNING("The blade is sharp enough!"))
else
- to_chat(user, "You need to raise the blade in order to sharpen it!")
+ to_chat(user, SPAN_WARNING("You need to raise the blade in order to sharpen it!"))
return ITEM_INTERACT_COMPLETE
@@ -189,11 +189,11 @@
current_action = 0
return
if(has_buckled_mobs())
- to_chat(user, "Can't unfasten, someone's strapped in!")
+ to_chat(user, SPAN_WARNING("Can't unfasten, someone's strapped in!"))
return
current_action = 0
- to_chat(user, "You [anchored ? "un" : ""]secure [src].")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "un" : ""]secure [src]."))
anchored = !anchored
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
dir = SOUTH
@@ -216,15 +216,15 @@
/obj/structure/guillotine/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE)
if(!anchored)
- to_chat(usr, "[src] needs to be wrenched to the floor!")
+ to_chat(usr, SPAN_WARNING("[src] needs to be wrenched to the floor!"))
return FALSE
if(!ishuman(M))
- to_chat(usr, "It doesn't look like [M.p_they()] can fit into this properly!")
+ to_chat(usr, SPAN_WARNING("It doesn't look like [M.p_they()] can fit into this properly!"))
return FALSE // Can't decapitate non-humans
if(blade_status != GUILLOTINE_BLADE_RAISED)
- to_chat(usr, "You need to raise the blade before buckling someone in!")
+ to_chat(usr, SPAN_WARNING("You need to raise the blade before buckling someone in!"))
return FALSE
return ..(M, force, FALSE)
diff --git a/code/game/objects/structures/inflatable.dm b/code/game/objects/structures/inflatable.dm
index 10d9a702950..d1cf749bc57 100644
--- a/code/game/objects/structures/inflatable.dm
+++ b/code/game/objects/structures/inflatable.dm
@@ -11,9 +11,9 @@
/obj/item/inflatable/examine(mob/user)
. = ..()
if(!torn)
- . += "Use this item in hand to create an inflatable wall."
+ . += SPAN_NOTICE("Use this item in hand to create an inflatable wall.")
else
- . += "[src] is torn and cannot hold air anymore. It's completely useless now."
+ . += SPAN_WARNING("[src] is torn and cannot hold air anymore. It's completely useless now.")
/obj/item/inflatable/activate_self(mob/user)
@@ -26,11 +26,11 @@
/obj/item/inflatable/interact_with_atom(atom/target, mob/living/user, list/modifiers)
inflate(user, target)
return ITEM_INTERACT_COMPLETE
-
+
/obj/item/inflatable/proc/inflate(mob/user, atom/target)
if(torn)
add_fingerprint(user)
- to_chat(user, "[src] is torn and cannot be inflated anymore!")
+ to_chat(user, SPAN_WARNING("[src] is torn and cannot be inflated anymore!"))
return
var/turf/T = get_turf(target)
@@ -38,21 +38,21 @@
return
if((locate(/obj/structure/inflatable) in T) || (locate(/obj/structure/window/full) in T))
- to_chat(user, "There's no room to deploy [src] here!")
+ to_chat(user, SPAN_WARNING("There's no room to deploy [src] here!"))
return
var/obj/machinery/door/airlock = locate(/obj/machinery/door) in T
var/obj/structure/mineral_door/mineral_door = locate(/obj/structure/mineral_door) in T
if(mineral_door && mineral_door.density)
- to_chat(user, "You need to open [mineral_door] before you can deploy [src] there!")
+ to_chat(user, SPAN_WARNING("You need to open [mineral_door] before you can deploy [src] there!"))
return
if(airlock && airlock.density && !istype(airlock, /obj/machinery/door/window))
- to_chat(user, "You need to open [airlock] before you can deploy [src] there!")
+ to_chat(user, SPAN_WARNING("You need to open [airlock] before you can deploy [src] there!"))
return
playsound(loc, 'sound/items/zip.ogg', 75, 1)
- to_chat(user, "You inflate [src].")
+ to_chat(user, SPAN_NOTICE("You inflate [src]."))
var/obj/structure/inflatable/R = new structure_type(T)
src.transfer_fingerprints_to(R)
R.add_fingerprint(user)
@@ -77,7 +77,7 @@
/obj/structure/inflatable/examine(mob/user)
. = ..()
- . += "Alt-Click to deflate [src]."
+ . += SPAN_NOTICE("Alt-Click to deflate [src].")
/obj/structure/inflatable/Initialize(mapload, location)
. = ..()
@@ -231,7 +231,7 @@
/obj/item/inflatable/cyborg/examine(mob/user)
. = ..()
- . += "As a synthetic, you will synthesise these directly from your cell's energy reserves."
+ . += SPAN_NOTICE("As a synthetic, you will synthesise these directly from your cell's energy reserves.")
/obj/item/inflatable/cyborg/activate_self(mob/user)
if(!do_after(user, delay, FALSE, user))
@@ -247,7 +247,7 @@
return ITEM_INTERACT_COMPLETE
if(!useResource(user))
- return ITEM_INTERACT_COMPLETE
+ return ITEM_INTERACT_COMPLETE
return ..()
@@ -257,7 +257,7 @@
var/mob/living/silicon/robot/R = user
if(R.cell.charge < power_cost)
- to_chat(user, "Not enough power!")
+ to_chat(user, SPAN_WARNING("Not enough power!"))
return FALSE
return R.cell.use(power_cost)
diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm
index cb30fbc53a0..cfe7721c8ef 100644
--- a/code/game/objects/structures/janicart.dm
+++ b/code/game/objects/structures/janicart.dm
@@ -51,11 +51,11 @@
/obj/structure/janitorialcart/proc/put_in_cart(mob/user, obj/item/I)
if(!user.unequip(I)) // We can do this here because everything below wants to
- to_chat(user, "[I] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hand!"))
return
I.forceMove(src)
- to_chat(user, "You put [I] into [src].")
+ to_chat(user, SPAN_NOTICE("You put [I] into [src]."))
update_icon(UPDATE_OVERLAYS)
return
@@ -87,18 +87,18 @@
return
if(robot_module)
- to_chat(user, "You cannot store [used] in [src]!")
+ to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!"))
return
if(!my_mop)
my_mop = attacking_mop
put_in_cart(user, attacking_mop)
else
- to_chat(user, "There is already one of those in [src].")
+ to_chat(user, SPAN_NOTICE("There is already one of those in [src]."))
return
if(robot_module)
- to_chat(user, "You cannot store [used] in [src]!")
+ to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!"))
return
if(istype(used, /obj/item/caution))
@@ -106,7 +106,7 @@
signs++
put_in_cart(user, used)
else
- to_chat(user, "[src] can't hold any more signs.")
+ to_chat(user, SPAN_NOTICE("[src] can't hold any more signs."))
return
if(istype(used, /obj/item/push_broom))
@@ -138,7 +138,7 @@
item_present = TRUE
if(item_present)
- to_chat(user, "There is already one of those in [src].")
+ to_chat(user, SPAN_NOTICE("There is already one of those in [src]."))
return
return FALSE
@@ -146,17 +146,17 @@
/obj/structure/janitorialcart/crowbar_act(mob/living/user, obj/item/I)
. = TRUE
user.visible_message(
- "[user] begins to empty the contents of [src].",
- "You begin to empty the contents of [src].",
- "You hear a prying sound."
+ SPAN_WARNING("[user] begins to empty the contents of [src]."),
+ SPAN_NOTICE("You begin to empty the contents of [src]."),
+ SPAN_WARNING("You hear a prying sound.")
)
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume))
return
user.visible_message(
- "[user] empties the contents of [src]'s bucket onto the floor!",
- "You empty the contents of [src]'s bucket onto the floor.",
- "You hear liquid spilling onto the floor."
+ SPAN_WARNING("[user] empties the contents of [src]'s bucket onto the floor!"),
+ SPAN_NOTICE("You empty the contents of [src]'s bucket onto the floor."),
+ SPAN_WARNING("You hear liquid spilling onto the floor.")
)
reagents.reaction(loc)
reagents.clear_reagents()
@@ -168,9 +168,9 @@
return
user.visible_message( \
- "[user] tightens [src]'s casters.",
- "You have tightened [src]'s casters.",
- "You hear ratcheting."
+ SPAN_NOTICE("[user] tightens [src]'s casters."),
+ SPAN_NOTICE("You have tightened [src]'s casters."),
+ SPAN_NOTICE("You hear ratcheting.")
)
anchored = TRUE
return
@@ -180,9 +180,9 @@
return
user.visible_message( \
- "[user] loosens [src]'s casters.",
- "You have loosened [src]'s casters.",
- "You hear ratcheting."
+ SPAN_NOTICE("[user] loosens [src]'s casters."),
+ SPAN_NOTICE("You have loosened [src]'s casters."),
+ SPAN_NOTICE("You hear ratcheting.")
)
anchored = FALSE
@@ -216,38 +216,38 @@
if(!my_bag)
return
user.put_in_hands(my_bag)
- to_chat(user, "You take [my_bag] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_bag] from [src]."))
my_bag = null
if("Mop")
if(!my_mop)
return
user.put_in_hands(my_mop)
- to_chat(user, "You take [my_mop] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_mop] from [src]."))
my_mop = null
if("Broom")
if(!my_broom)
return
user.put_in_hands(my_broom)
- to_chat(user, "You take [my_broom] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_broom] from [src]."))
my_broom = null
if("Spray Bottle")
if(!my_spray)
return
user.put_in_hands(my_spray)
- to_chat(user, "You take [my_spray] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_spray] from [src]."))
my_spray = null
if("Light Replacer")
if(!my_replacer)
return
user.put_in_hands(my_replacer)
- to_chat(user, "You take [my_replacer] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [my_replacer] from [src]."))
my_replacer = null
if("Sign")
if(!signs)
return
if(sign)
user.put_in_hands(sign)
- to_chat(user, "You take \a [sign] from [src].")
+ to_chat(user, SPAN_NOTICE("You take \a [sign] from [src]."))
signs--
else
WARNING("Signs ([signs]) didn't match contents")
diff --git a/code/game/objects/structures/kitchen_spike.dm b/code/game/objects/structures/kitchen_spike.dm
index 1fa497e829b..b8bee52e005 100644
--- a/code/game/objects/structures/kitchen_spike.dm
+++ b/code/game/objects/structures/kitchen_spike.dm
@@ -26,7 +26,7 @@
var/obj/item/stack/rods/R = I
if(R.get_amount() >= 4)
R.use(4)
- to_chat(user, "You add spikes to the frame.")
+ to_chat(user, SPAN_NOTICE("You add spikes to the frame."))
new /obj/structure/kitchenspike(loc)
add_fingerprint(user)
qdel(src)
@@ -36,7 +36,7 @@
/obj/structure/kitchenspike_frame/examine(mob/user)
. = ..()
- . += "Add metal rods to complete construction, or use a wrench to deconstruct it."
+ . += SPAN_NOTICE("Add metal rods to complete construction, or use a wrench to deconstruct it.")
/obj/structure/kitchenspike_frame/deconstruct(disassembled = TRUE)
if(disassembled)
@@ -60,7 +60,7 @@
/obj/structure/kitchenspike/examine(mob/user)
. = ..()
- . += "To deconstruct, pry out the spikes with a crowbar, then deconstruct the frame with a wrench."
+ . += SPAN_NOTICE("To deconstruct, pry out the spikes with a crowbar, then deconstruct the frame with a wrench.")
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/structure/kitchenspike/attack_hand(mob/user)
@@ -82,11 +82,11 @@
/obj/structure/kitchenspike/crowbar_act(mob/living/user, obj/item/I)
. = TRUE
if(has_buckled_mobs())
- to_chat(user, "You can't do that while something's on the spike!")
+ to_chat(user, SPAN_NOTICE("You can't do that while something's on the spike!"))
return
if(!I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
return
- to_chat(user, "You pry the spikes out of the frame.")
+ to_chat(user, SPAN_NOTICE("You pry the spikes out of the frame."))
deconstruct(TRUE)
/obj/structure/kitchenspike/MouseDrop_T(mob/living/victim, mob/living/user)
@@ -100,11 +100,11 @@
/obj/structure/kitchenspike/proc/start_spike(mob/living/victim, mob/user)
if(has_buckled_mobs())
- to_chat(user, "The spike already has something on it, finish collecting its meat first!")
+ to_chat(user, SPAN_DANGER("The spike already has something on it, finish collecting its meat first!"))
return
victim.visible_message(
- "[user] tries to slam [victim] onto the meat spike!",
- "[user] tries to slam you onto the meat spike!"
+ SPAN_DANGER("[user] tries to slam [victim] onto the meat spike!"),
+ SPAN_USERDANGER("[user] tries to slam you onto the meat spike!")
)
if(do_mob(user, victim, impale_time))
end_spike(victim, user)
@@ -122,9 +122,9 @@
victim.forceMove(drop_location())
victim.emote("scream")
victim.visible_message(
- "[user] slams [victim] onto the meat spike!",
- "[user] slams you onto the meat spike!",
- "You hear a squishy wet noise."
+ SPAN_DANGER("[user] slams [victim] onto the meat spike!"),
+ SPAN_USERDANGER("[user] slams you onto the meat spike!"),
+ SPAN_ITALICS("You hear a squishy wet noise.")
)
if(ishuman(victim))
var/mob/living/carbon/human/H = victim
@@ -143,23 +143,23 @@
if(buckled_mob)
var/mob/living/M = buckled_mob
if(M != user)
- M.visible_message("[user] tries to pull [M] free of [src]!",\
- "[user] is trying to pull you off [src], opening up fresh wounds!",\
- "You hear a squishy wet noise.")
+ M.visible_message(SPAN_NOTICE("[user] tries to pull [M] free of [src]!"),\
+ SPAN_NOTICE("[user] is trying to pull you off [src], opening up fresh wounds!"),\
+ SPAN_ITALICS("You hear a squishy wet noise."))
if(!do_after(user, 15 SECONDS, target = src))
if(M && M.buckled)
- M.visible_message("[user] fails to free [M]!",\
- "[user] fails to pull you off of [src].")
+ M.visible_message(SPAN_NOTICE("[user] fails to free [M]!"),\
+ SPAN_NOTICE("[user] fails to pull you off of [src]."))
return
else
- M.visible_message("[M] struggles to break free from [src]!",\
- "You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)",\
- "You hear a wet squishing noise..")
+ M.visible_message(SPAN_WARNING("[M] struggles to break free from [src]!"),\
+ SPAN_NOTICE("You struggle to break free from [src], exacerbating your wounds! (Stay still for two minutes.)"),\
+ SPAN_ITALICS("You hear a wet squishing noise.."))
M.adjustBruteLoss(30)
if(!do_after(M, 2 MINUTES, target = src, hidden = TRUE))
if(M && M.buckled)
- to_chat(M, "You fail to free yourself!")
+ to_chat(M, SPAN_WARNING("You fail to free yourself!"))
return
if(!M.buckled)
return
@@ -167,7 +167,7 @@
/obj/structure/kitchenspike/proc/release_mob(mob/living/M)
M.adjustBruteLoss(30)
- visible_message(text("[M] falls free of [src]!"))
+ visible_message(SPAN_DANGER("[M] falls free of [src]!"))
unbuckle_mob(M, force = TRUE)
M.emote("scream")
M.AdjustWeakened(20 SECONDS)
diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm
index 7ec90313aee..f6e67cf47e0 100644
--- a/code/game/objects/structures/lattice.dm
+++ b/code/game/objects/structures/lattice.dm
@@ -23,10 +23,10 @@
/obj/structure/lattice/examine(mob/user)
. = ..()
. += deconstruction_hints(user)
- . += "Add a floor tile to build a floor on top of the lattice."
+ . += SPAN_NOTICE("Add a floor tile to build a floor on top of the lattice.")
/obj/structure/lattice/proc/deconstruction_hints(mob/user)
- return "The rods look like they could be cut. There's space for more rods or a tile."
+ return SPAN_NOTICE("The rods look like they could be cut. There's space for more rods or a tile.")
/obj/structure/lattice/wirecutter_act(mob/living/user, obj/item/wirecutters/wirecutters)
if(resistance_flags & INDESTRUCTIBLE)
@@ -35,7 +35,7 @@
return
playsound(loc, wirecutters.usesound, 50, 1)
- to_chat(user, "Slicing [name] joints...")
+ to_chat(user, SPAN_NOTICE("Slicing [name] joints..."))
deconstruct()
return ITEM_INTERACT_COMPLETE
@@ -75,7 +75,7 @@
canSmoothWith = list(SMOOTH_GROUP_WALLS, SMOOTH_GROUP_CATWALK)
/obj/structure/lattice/catwalk/deconstruction_hints(mob/user)
- to_chat(user, "The supporting rods look like they could be cut.")
+ to_chat(user, SPAN_NOTICE("The supporting rods look like they could be cut."))
/obj/structure/lattice/catwalk/Move()
var/turf/T = loc
@@ -103,5 +103,5 @@
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF
/obj/structure/lattice/lava/deconstruction_hints(mob/user)
- to_chat(user, "The supporting rods look like they could be cut., but the heat treatment will shatter off.")
+ to_chat(user, "[SPAN_NOTICE("The supporting rods look like they could be cut.")], but the heat treatment will shatter off.")
diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm
index 2891e79533c..db2131eb29a 100644
--- a/code/game/objects/structures/lavaland/necropolis_tendril.dm
+++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm
@@ -74,8 +74,8 @@ GLOBAL_LIST_EMPTY(tendrils)
/obj/effect/collapse/Initialize(mapload)
. = ..()
emitted_light = new(loc)
- visible_message("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!")
- visible_message("Something falls free of the tendril!")
+ visible_message(SPAN_BOLDANNOUNCEIC("The tendril writhes in fury as the earth around it begins to crack and break apart! Get back!"))
+ visible_message(SPAN_WARNING("Something falls free of the tendril!"))
playsound(loc, 'sound/effects/tendril_destroyed.ogg', 200, FALSE, 50, TRUE, TRUE)
addtimer(CALLBACK(src, PROC_REF(collapse)), 50)
@@ -87,7 +87,7 @@ GLOBAL_LIST_EMPTY(tendrils)
for(var/mob/M in range(7, src))
shake_camera(M, 15, 1)
playsound(get_turf(src),'sound/effects/explosionfar.ogg', 200, TRUE)
- visible_message("The tendril falls inward, the ground around it widening into a yawning chasm!")
+ visible_message(SPAN_BOLDANNOUNCEIC("The tendril falls inward, the ground around it widening into a yawning chasm!"))
for(var/turf/T in range(LAVALAND_TENDRIL_COLLAPSE_RANGE, src))
if(!T.density)
T.TerraformTurf(/turf/simulated/floor/chasm/straight_down/lava_land_surface)
diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm
index 9105d5a5db4..d0a9a1f074a 100644
--- a/code/game/objects/structures/loom.dm
+++ b/code/game/objects/structures/loom.dm
@@ -44,17 +44,17 @@
if(!istype(W))
return FALSE
if(!anchored)
- user.show_message("The loom needs to be wrenched down.", 1)
+ user.show_message(SPAN_NOTICE("The loom needs to be wrenched down."), 1)
return FALSE
if(W.amount < FABRIC_PER_SHEET)
- user.show_message("You need at least [FABRIC_PER_SHEET] units of fabric before using this.", 1)
+ user.show_message(SPAN_NOTICE("You need at least [FABRIC_PER_SHEET] units of fabric before using this."), 1)
return FALSE
- user.show_message("You start weaving [W] through the loom...", 1)
+ user.show_message(SPAN_NOTICE("You start weaving [W] through the loom..."), 1)
if(do_after(user, W.pull_effort, target = src))
if(W.amount >= FABRIC_PER_SHEET)
new W.loom_result(drop_location())
W.use(FABRIC_PER_SHEET)
- user.show_message("You weave [W] into a workable fabric.", 1)
+ user.show_message(SPAN_NOTICE("You weave [W] into a workable fabric."), 1)
return TRUE
#undef FABRIC_PER_SHEET
diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm
index 63b4db7a3b8..74406c94b80 100644
--- a/code/game/objects/structures/mineral_doors.dm
+++ b/code/game/objects/structures/mineral_doors.dm
@@ -28,8 +28,8 @@
/obj/structure/mineral_door/examine(mob/user)
. = ..()
- . += "It is held inside its frame by screws."
- . += "It could be smashed or drilled with a digging tool."
+ . += SPAN_NOTICE("It is held inside its frame by screws.")
+ . += SPAN_NOTICE("It could be smashed or drilled with a digging tool.")
/obj/structure/mineral_door/Initialize(mapload)
. = ..()
@@ -123,7 +123,7 @@
/obj/structure/mineral_door/screwdriver_act(mob/living/user, obj/item/I)
if(flags & NODECONSTRUCT)
- to_chat(user, "You can't figure out how to deconstruct [src]!")
+ to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!"))
return TRUE
if(!I.use_tool(src, user, 4 SECONDS * I.toolspeed * hardness, volume = I.tool_volume))
@@ -135,12 +135,12 @@
/obj/structure/mineral_door/item_interaction(mob/living/user, obj/item/W, list/modifiers)
if(istype(W, /obj/item/pickaxe))
if(flags & NODECONSTRUCT)
- to_chat(user, "You can't figure out how to deconstruct [src]!")
+ to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!"))
return
var/obj/item/pickaxe/digTool = W
- to_chat(user, "You start digging \the [src].")
+ to_chat(user, SPAN_NOTICE("You start digging \the [src]."))
if(do_after(user, 4 SECONDS * digTool.toolspeed * hardness, target = src) && src)
- to_chat(user, "You finished digging.")
+ to_chat(user, SPAN_NOTICE("You finished digging."))
deconstruct(TRUE)
return ITEM_INTERACT_COMPLETE
else if(user.a_intent != INTENT_HARM)
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 49ec8cd590f..bedf401f8c6 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -69,14 +69,14 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] begins to unfasten [src].", "You begin to unfasten [src].")
+ user.visible_message(SPAN_NOTICE("[user] begins to unfasten [src]."), SPAN_NOTICE("You begin to unfasten [src]."))
if(!I.use_tool(src, user, 30, volume = I.tool_volume))
return
if(broken)
- user.visible_message("[user] drops the broken shards to the floor.", "You drop the broken shards on the floor.")
+ user.visible_message(SPAN_NOTICE("[user] drops the broken shards to the floor."), SPAN_NOTICE("You drop the broken shards on the floor."))
new /obj/item/shard(get_turf(user))
else
- user.visible_message("[user] carefully places [src] on the floor.", "You carefully place [src] on the floor.")
+ user.visible_message(SPAN_NOTICE("[user] carefully places [src] on the floor."), SPAN_NOTICE("You carefully place [src] on the floor."))
new /obj/item/mounted/mirror(get_turf(user))
qdel(src)
@@ -169,7 +169,7 @@
if("Body")
if(organ_warn)
- to_chat(user, "Using the mirror will destroy any non biochip implants in you!")
+ to_chat(user, SPAN_BOLDWARNING("Using the mirror will destroy any non biochip implants in you!"))
var/list/race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask")
if(actually_magical)
race_list = list("Human", "Tajaran", "Skrell", "Unathi", "Diona", "Vulpkanin", "Nian", "Grey", "Drask", "Vox", "Plasmaman", "Kidan", "Slime People")
diff --git a/code/game/objects/structures/misc_structures.dm b/code/game/objects/structures/misc_structures.dm
index 50b6fbe3ded..dfa0b0b50d4 100644
--- a/code/game/objects/structures/misc_structures.dm
+++ b/code/game/objects/structures/misc_structures.dm
@@ -63,10 +63,10 @@
/obj/structure/signpost/wood/AltClick(mob/living/user)
if(!scarf)
scarf = TRUE
- to_chat(user, "You tie a memorial wreath around the sign.")
+ to_chat(user, SPAN_NOTICE("You tie a memorial wreath around the sign."))
else
scarf = FALSE
- to_chat(user, "You untie the memorial wreath from the sign.")
+ to_chat(user, SPAN_NOTICE("You untie the memorial wreath from the sign."))
update()
/obj/structure/signpost/wood/update()
@@ -96,14 +96,14 @@
playsound(user.loc, 'sound/effects/phasein.ogg', 25, 1)
playsound(user.loc, 'sound/effects/sparks2.ogg', 50, 1)
new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(user), user.dir)
- to_chat(user, "VOID-Shift translocation successful")
+ to_chat(user, "[SPAN_BOLDNOTICE("VOID-Shift")] translocation successful")
if("No")
- to_chat(user, "Process aborted!")
+ to_chat(user, SPAN_DANGER("Process aborted!"))
return
else
- to_chat(user, "FĆAL �Rr�R: ŧer nt recgnized, c-cntr-r䣧-ç äcked.")
+ to_chat(user, "[SPAN_DANGER("FĆAL �Rr�R")]: ŧer nt recgnized, c-cntr-r䣧-ç äcked.")
/obj/structure/respawner
name = "\improper Long-Distance Cloning Machine"
@@ -184,7 +184,7 @@
/obj/structure/ghost_beacon/attack_hand(mob/user)
if(!is_admin(user))
return
- to_chat(user, "You [active ? "disable" : "enable"] \the [src].")
+ to_chat(user, SPAN_NOTICE("You [active ? "disable" : "enable"] \the [src]."))
if(active)
STOP_PROCESSING(SSobj, src)
else
diff --git a/code/game/objects/structures/monster_spawner.dm b/code/game/objects/structures/monster_spawner.dm
index 7ed71b15440..2c9f63c787d 100644
--- a/code/game/objects/structures/monster_spawner.dm
+++ b/code/game/objects/structures/monster_spawner.dm
@@ -141,7 +141,7 @@
/obj/structure/spawner/sentient/proteon_spawner/examine_status(mob/user)
if(IS_CULTIST(user) || !isliving(user))
- return "It's at [round(obj_integrity * 100 / max_integrity)]% stability."
+ return SPAN_CULT("It's at [round(obj_integrity * 100 / max_integrity)]% stability.")
return ..()
/obj/structure/spawner/sentient/proteon_spawner/examine(mob/user)
@@ -149,14 +149,14 @@
if(!IS_CULTIST(user) && isliving(user))
var/mob/living/living_user = user
living_user.adjustBrainLoss(5)
- . += "The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away..."
+ . += SPAN_USERDANGER("The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away...")
else
- . += "The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead."
+ . += SPAN_CULT("The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead.")
/obj/structure/spawner/sentient/proteon_spawner/became_player_controlled(mob/living/simple_animal/hostile/construct/proteon/hostile/proteon)
proteon.mind.add_antag_datum(/datum/antagonist/cultist)
proteon.add_filter("awoken_proteon", 3, list("type" = "outline", "color" = LIGHT_COLOR_RED, "size" = 2))
- visible_message("[proteon] awakens, glowing an eerie red as it stirs from its stupor!")
+ visible_message(SPAN_CULT("[proteon] awakens, glowing an eerie red as it stirs from its stupor!"))
addtimer(CALLBACK(src, PROC_REF(remove_wake_outline), proteon), 8 SECONDS)
/obj/structure/spawner/sentient/proteon_spawner/proc/remove_wake_outline(mob/proteon)
@@ -165,7 +165,7 @@
/obj/structure/spawner/sentient/proteon_spawner/obj_destruction(damage_flag)
playsound(src, 'sound/hallucinations/veryfar_noise.ogg', 75)
- visible_message("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.")
+ visible_message(SPAN_CULT("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing."))
return ..()
/obj/item/gps/internal/proteon
diff --git a/code/game/objects/structures/mop_bucket.dm b/code/game/objects/structures/mop_bucket.dm
index 6b80c702a99..0c2c419a072 100644
--- a/code/game/objects/structures/mop_bucket.dm
+++ b/code/game/objects/structures/mop_bucket.dm
@@ -49,15 +49,15 @@
return
if(robot_mop)
- to_chat(user, "You cannot store [used] in [src]!")
+ to_chat(user, SPAN_WARNING("You cannot store [used] in [src]!"))
return
if(stored_mop)
- to_chat(user, "There is already a mop in [src].")
+ to_chat(user, SPAN_NOTICE("There is already a mop in [src]."))
return
if(!put_in_cart(user, attacking_mop))
- to_chat(user, "[attacking_mop] is stuck to your hand!")
+ to_chat(user, SPAN_NOTICE("[attacking_mop] is stuck to your hand!"))
/obj/structure/mopbucket/proc/put_in_cart(mob/user, obj/item/mop/I)
if(!user.unequip(I))
@@ -65,7 +65,7 @@
stored_mop = I
I.forceMove(src)
- to_chat(user, "You put [I] into [src].")
+ to_chat(user, SPAN_NOTICE("You put [I] into [src]."))
update_icon(UPDATE_OVERLAYS)
return TRUE
@@ -95,7 +95,7 @@
. = ..()
if(stored_mop)
user.put_in_hands(stored_mop)
- to_chat(user, "You take [stored_mop] from [src].")
+ to_chat(user, SPAN_NOTICE("You take [stored_mop] from [src]."))
stored_mop = null
update_icon(UPDATE_OVERLAYS)
return
diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm
index 85de7d134d4..dffcef3a137 100644
--- a/code/game/objects/structures/morgue.dm
+++ b/code/game/objects/structures/morgue.dm
@@ -184,7 +184,7 @@
/obj/structure/morgue/wirecutter_act(mob/user)
if(name != initial(name))
- to_chat(user, "You cut the tag off the morgue.")
+ to_chat(user, SPAN_NOTICE("You cut the tag off the morgue."))
name = initial(name)
update_icon(UPDATE_OVERLAYS)
return TRUE
@@ -232,7 +232,7 @@
if(CM.stat || CM.restrained())
return
- to_chat(CM, "You attempt to slide yourself out of \the [src]...")
+ to_chat(CM, SPAN_ALERT("You attempt to slide yourself out of \the [src]..."))
src.attack_hand(CM)
@@ -280,7 +280,7 @@
O.forceMove(loc)
if(user != O)
- user.visible_message("[user] stuffs [O] into [src]!")
+ user.visible_message(SPAN_WARNING("[user] stuffs [O] into [src]!"))
return TRUE
@@ -359,7 +359,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
/obj/structure/crematorium/attack_hand(mob/user as mob)
if(cremating)
- to_chat(usr, "It's locked.")
+ to_chat(usr, SPAN_WARNING("It's locked."))
return
if(connected && !locked)
@@ -380,7 +380,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
/obj/structure/crematorium/obj_break(damage_flag)
if(broken)
return
- visible_message("[src] dims as its paneling collapses and it becomes non-functional.")
+ visible_message(SPAN_WARNING("[src] dims as its paneling collapses and it becomes non-functional."))
icon_state = "crema_broke" // this will need a proper sprite when possible, as it's just a shitty codersprite
resistance_flags = INDESTRUCTIBLE // prevents it from being destroyed instead of just broken
name = "broken crematorium"
@@ -395,12 +395,12 @@ GLOBAL_LIST_EMPTY(crematoriums)
if(user.a_intent == INTENT_HARM) // if you want to damage it with a welder you should be able to
return
if(!broken)
- to_chat(user, "The crematorium does not seem to need fixing.")
+ to_chat(user, SPAN_NOTICE("The crematorium does not seem to need fixing."))
return TRUE
if(!I.tool_use_check(user, 0))
return TRUE
if(repairstate != CREMATOR_IN_REPAIR)
- to_chat(user, "[src] needs a new igniter before you weld the paneling closed.")
+ to_chat(user, SPAN_NOTICE("[src] needs a new igniter before you weld the paneling closed."))
return TRUE
WELDER_ATTEMPT_REPAIR_MESSAGE
if(!I.use_tool(src, user, 3 SECONDS, volume = I.tool_volume))
@@ -423,12 +423,12 @@ GLOBAL_LIST_EMPTY(crematoriums)
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/assembly/igniter))
if(repairstate == CREMATOR_DESTROYED)
- user.visible_message("[user] replaces [src]'s igniter.", "You replace [src]'s damaged igniter. Now it just needs its paneling welded.")
+ user.visible_message(SPAN_NOTICE("[user] replaces [src]'s igniter."), SPAN_NOTICE("You replace [src]'s damaged igniter. Now it just needs its paneling welded."))
repairstate = CREMATOR_IN_REPAIR
desc = "A broken human incinerator. No longer works well on barbeque nights. It requires its paneling to be welded to function."
qdel(used)
else
- to_chat(user, "[src] does not need its igniter replaced.")
+ to_chat(user, SPAN_NOTICE("[src] does not need its igniter replaced."))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -464,16 +464,16 @@ GLOBAL_LIST_EMPTY(crematoriums)
if(!length(contents))
for(var/mob/M in viewers(src))
- M.show_message("You hear a hollow crackle.", EMOTE_VISIBLE)
+ M.show_message(SPAN_WARNING("You hear a hollow crackle."), EMOTE_VISIBLE)
return
for(var/mob/living/M in search_contents_for(/mob/living)) //search for this for funny cling shenaigins first.
if(HAS_TRAIT(M, TRAIT_CLING_BURSTING))
- visible_message("The crematorium fails to start, something big is blocking the pipes!")
+ visible_message(SPAN_WARNING("The crematorium fails to start, something big is blocking the pipes!"))
return
for(var/mob/M in viewers(src))
- M.show_message("You hear a roar as the crematorium activates.", EMOTE_VISIBLE)
+ M.show_message(SPAN_WARNING("You hear a roar as the crematorium activates."), EMOTE_VISIBLE)
cremating = TRUE
locked = TRUE
@@ -527,7 +527,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
if(CM.stat || CM.restrained())
return
- to_chat(CM, "You attempt to slide yourself out of \the [src]...")
+ to_chat(CM, SPAN_ALERT("You attempt to slide yourself out of \the [src]..."))
attack_hand(CM)
/obj/structure/crematorium/get_remote_view_fullscreens(mob/user)
@@ -570,7 +570,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
return
O.forceMove(loc)
if(user != O)
- user.visible_message("[user] stuffs [O] into [src]!")
+ user.visible_message(SPAN_WARNING("[user] stuffs [O] into [src]!"))
//Foreach goto(99)
return TRUE
@@ -606,7 +606,7 @@ GLOBAL_LIST_EMPTY(crematoriums)
return
if(!(allowed(usr) || user.can_advanced_admin_interact()))
- to_chat(usr, "Access denied.")
+ to_chat(usr, SPAN_WARNING("Access denied."))
return
use_power(400000)
diff --git a/code/game/objects/structures/nest.dm b/code/game/objects/structures/nest.dm
index b86a0f6a252..2baba3c8fd6 100644
--- a/code/game/objects/structures/nest.dm
+++ b/code/game/objects/structures/nest.dm
@@ -34,7 +34,7 @@
/obj/structure/nest/examine(mob/user)
. = ..()
if(!spawn_is_triggered)
- . += "You can hear a cacophony of growling snores from within."
+ . += SPAN_WARNING("You can hear a cacophony of growling snores from within.")
/obj/structure/nest/attack_animal(mob/living/simple_animal/M)
if(faction_check(faction, M.faction, FALSE) && !M.client)
@@ -56,7 +56,7 @@
/obj/structure/nest/proc/try_spawn(mob/living/L)
var/chosen_mob = pick(spawn_mob_options)
- to_chat(L, "As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!")
+ to_chat(L, SPAN_DANGER("As you stumble across \the [name], you can hear ominous rumbling from beneath your feet!"))
playsound(src, 'sound/effects/break_stone.ogg', 50, 1)
for(var/obj/structure/nest/N in range(spawn_trigger_distance, src))
N.spawn_is_triggered = TRUE
@@ -68,7 +68,7 @@
for(var/i in 1 to spawn_max)
var/mob/spawned_mob = new M(get_turf(src))
- visible_message("\A [spawned_mob.name] crawls out of \the [name]!")
+ visible_message(SPAN_DANGER("\A [spawned_mob.name] crawls out of \the [name]!"))
/obj/structure/nest/lavaland
spawn_mob_options = list(
diff --git a/code/game/objects/structures/noticeboard.dm b/code/game/objects/structures/noticeboard.dm
index 67d21107983..917e3bee7f4 100644
--- a/code/game/objects/structures/noticeboard.dm
+++ b/code/game/objects/structures/noticeboard.dm
@@ -94,7 +94,7 @@
usr.put_in_hands(paper)
paper.add_fingerprint(usr)
notices--
- to_chat(usr, "You take a [paper.name] out of [src].")
+ to_chat(usr, SPAN_NOTICE("You take a [paper.name] out of [src]."))
update_icon(UPDATE_ICON_STATE)
if("showFull")
var/obj/item/paper/paper = locate(params["paper"])
@@ -106,13 +106,13 @@
/obj/structure/noticeboard/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(istype(I, /obj/item/paper))
if(notices >= MAX_NOTICES)
- to_chat(user, "You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached.")
+ to_chat(user, SPAN_NOTICE("You reach to pin your paper to the board but hesitate. You are certain your paper will not be seen among the many others already attached."))
return ITEM_INTERACT_COMPLETE
if(!user.drop_item())
return ITEM_INTERACT_COMPLETE
I.forceMove(src)
notices++
- to_chat(user, "You pin the paper to the noticeboard.")
+ to_chat(user, SPAN_NOTICE("You pin the paper to the noticeboard."))
update_icon(UPDATE_ICON_STATE)
add_fingerprint(user)
SStgui.update_uis(src)
diff --git a/code/game/objects/structures/plasticflaps.dm b/code/game/objects/structures/plasticflaps.dm
index cf6f9b19454..f169603a70f 100644
--- a/code/game/objects/structures/plasticflaps.dm
+++ b/code/game/objects/structures/plasticflaps.dm
@@ -12,28 +12,28 @@
. = ..()
switch(state)
if(PLASTIC_FLAPS_NORMAL)
- . += "[src] are screwed to the floor."
+ . += SPAN_NOTICE("[src] are screwed to the floor.")
if(PLASTIC_FLAPS_DETACHED)
- . += "[src] are no longer screwed to the floor, and the flaps can be sliced apart."
+ . += SPAN_NOTICE("[src] are no longer screwed to the floor, and the flaps can be sliced apart.")
/obj/structure/plasticflaps/screwdriver_act(mob/user, obj/item/I)
. = TRUE
if(!I.tool_use_check(user, 0))
return
if(state == PLASTIC_FLAPS_NORMAL)
- user.visible_message("[user] starts unscrewing [src] from the floor...", "You start to unscrew [src] from the floor...", "You hear rustling noises.")
+ user.visible_message(SPAN_WARNING("[user] starts unscrewing [src] from the floor..."), SPAN_NOTICE("You start to unscrew [src] from the floor..."), "You hear rustling noises.")
if(!I.use_tool(src, user, 180, volume = I.tool_volume) || state != PLASTIC_FLAPS_NORMAL)
return
state = PLASTIC_FLAPS_DETACHED
anchored = FALSE
- to_chat(user, "You unscrew [src] from the floor.")
+ to_chat(user, SPAN_NOTICE("You unscrew [src] from the floor."))
else if(state == PLASTIC_FLAPS_DETACHED)
- user.visible_message("[user] starts screwing [src] to the floor.", "You start to screw [src] to the floor...", "You hear rustling noises.")
+ user.visible_message(SPAN_WARNING("[user] starts screwing [src] to the floor."), SPAN_NOTICE("You start to screw [src] to the floor..."), "You hear rustling noises.")
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != PLASTIC_FLAPS_DETACHED)
return
state = PLASTIC_FLAPS_NORMAL
anchored = TRUE
- to_chat(user, "You screw [src] to the floor.")
+ to_chat(user, SPAN_NOTICE("You screw [src] to the floor."))
/obj/structure/plasticflaps/welder_act(mob/user, obj/item/I)
if(state != PLASTIC_FLAPS_DETACHED)
diff --git a/code/game/objects/structures/pondering_orb.dm b/code/game/objects/structures/pondering_orb.dm
index b709183132d..7e8792a8fe1 100644
--- a/code/game/objects/structures/pondering_orb.dm
+++ b/code/game/objects/structures/pondering_orb.dm
@@ -9,18 +9,18 @@
/obj/structure/pondering_orb/attack_hand(mob/user)
ADD_TRAIT(user, SCRYING, SCRYING_ORB)
- user.visible_message("[user] stares into [src], [user.p_their()] eyes glazing over.",
- "You stare into [src], you can see the entire universe!")
+ user.visible_message(SPAN_NOTICE("[user] stares into [src], [user.p_their()] eyes glazing over."),
+ SPAN_DANGER("You stare into [src], you can see the entire universe!"))
ghost = user.ghostize(ghost_name = "Magic Spirit of [user.name]", ghost_color = COLOR_BLUE)
while(!QDELETED(user))
if(user.key || QDELETED(src))
- user.visible_message("[user] blinks, returning to the world around [user.p_them()].",
- "You look away from [src].")
+ user.visible_message(SPAN_NOTICE("[user] blinks, returning to the world around [user.p_them()]."),
+ SPAN_DANGER("You look away from [src]."))
break
if(!Adjacent(user))
user.grab_ghost()
- user.visible_message("[user]'s focus is forced away from [src].",
- "Your vision is ripped away from [src].")
+ user.visible_message(SPAN_NOTICE("[user]'s focus is forced away from [src]."),
+ SPAN_USERDANGER("Your vision is ripped away from [src]."))
break
sleep(5)
if(QDELETED(user))
diff --git a/code/game/objects/structures/railings.dm b/code/game/objects/structures/railings.dm
index 27e8ff37ca1..6896acb84b0 100644
--- a/code/game/objects/structures/railings.dm
+++ b/code/game/objects/structures/railings.dm
@@ -23,7 +23,7 @@
AddElement(/datum/element/connect_loc, loc_connections)
/obj/structure/railing/get_climb_text()
- return "You can Click-Drag yourself to [src] to climb over it after a short delay."
+ return SPAN_NOTICE("You can Click-Drag yourself to [src] to climb over it after a short delay.")
/// aesthetic corner sharp edges hurt oof ouch
/obj/structure/railing/corner
@@ -51,26 +51,26 @@
. = ..()
if(. && M.environment_smash >= ENVIRONMENT_SMASH_WALLS)
deconstruct(FALSE)
- M.visible_message("[M] tears apart [src]!", "You tear apart [src]!")
+ M.visible_message(SPAN_DANGER("[M] tears apart [src]!"), SPAN_NOTICE("You tear apart [src]!"))
/obj/structure/railing/welder_act(mob/living/user, obj/item/I)
if(user.intent != INTENT_HELP)
return
if(obj_integrity >= max_integrity)
- to_chat(user, "[src] is already in good condition!")
+ to_chat(user, SPAN_WARNING("[src] is already in good condition!"))
return
if(!I.tool_start_check(user, amount = 0))
return
- to_chat(user, "You begin repairing [src]...")
+ to_chat(user, SPAN_NOTICE("You begin repairing [src]..."))
if(I.use_tool(src, user, 4 SECONDS, I.tool_volume))
obj_integrity = max_integrity
- to_chat(user, "You repair [src].")
+ to_chat(user, SPAN_NOTICE("You repair [src]."))
/obj/structure/railing/wirecutter_act(mob/living/user, obj/item/I)
if(anchored)
return
- to_chat(user, "You cut apart the railing.")
+ to_chat(user, SPAN_WARNING("You cut apart the railing."))
I.play_tool_sound(src, 100)
deconstruct()
return TRUE
@@ -85,10 +85,10 @@
/obj/structure/railing/wrench_act(mob/living/user, obj/item/I)
if(flags & NODECONSTRUCT)
return
- to_chat(user, "You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor...")
+ to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unfasten the railing from":"fasten the railing to"] the floor..."))
if(I.use_tool(src, user, volume = 75, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
anchored = !anchored
- to_chat(user, "You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor.")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the railing to":"unfasten the railing from"] the floor."))
return TRUE
/obj/structure/railing/corner/CanPass()
@@ -187,13 +187,13 @@
/obj/structure/railing/proc/can_be_rotated(mob/user)
if(anchored)
- to_chat(user, "[src] cannot be rotated while it is fastened to the floor!")
+ to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!"))
return FALSE
var/target_dir = turn(dir, -45)
if(!valid_window_location(loc, target_dir)) //Expanded to include rails, as well!
- to_chat(user, "[src] cannot be rotated in that direction!")
+ to_chat(user, SPAN_WARNING("[src] cannot be rotated in that direction!"))
return FALSE
return TRUE
@@ -206,7 +206,7 @@
/obj/structure/railing/AltClick(mob/user)
if(user.incapacitated())
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return
if(!Adjacent(user))
return
diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm
index abac74a4b70..f7f86d6abab 100644
--- a/code/game/objects/structures/reflector.dm
+++ b/code/game/objects/structures/reflector.dm
@@ -23,7 +23,7 @@
if(new_dir && anchored)
reflect_turf = get_step(reflect_turf, new_dir)
else
- visible_message("[src] is hit by [P]!")
+ visible_message(SPAN_NOTICE("[src] is hit by [P]!"))
new_dir = 0
return ..() //Hits as normal, explodes or emps or whatever
@@ -48,7 +48,7 @@
var/obj/item/stack/sheet/S = W
if(istype(W, /obj/item/stack/sheet/glass))
if(S.get_amount() < 5)
- to_chat(user, "You need five sheets of glass to create a reflector!")
+ to_chat(user, SPAN_WARNING("You need five sheets of glass to create a reflector!"))
return
else
S.use(5)
@@ -56,7 +56,7 @@
qdel(src)
if(istype(W,/obj/item/stack/sheet/rglass))
if(S.get_amount() < 10)
- to_chat(user, "You need ten sheets of reinforced glass to create a double reflector!")
+ to_chat(user, SPAN_WARNING("You need ten sheets of reinforced glass to create a double reflector!"))
return
else
S.use(10)
@@ -112,7 +112,7 @@
return
if(anchored)
- to_chat(user, "You cannot rotate [src] right now. It is fastened to the floor!")
+ to_chat(user, SPAN_WARNING("You cannot rotate [src] right now. It is fastened to the floor!"))
return
dir = turn(dir, 90)
diff --git a/code/game/objects/structures/safe.dm b/code/game/objects/structures/safe.dm
index da5949c0a85..6804d6cb38b 100644
--- a/code/game/objects/structures/safe.dm
+++ b/code/game/objects/structures/safe.dm
@@ -173,7 +173,7 @@ GLOBAL_LIST_EMPTY(safes)
STOP_PROCESSING(SSobj, src)
if("Remove Drill")
if(drill_timer)
- to_chat(user, "You cannot remove the drill while it's running!")
+ to_chat(user, SPAN_WARNING("You cannot remove the drill while it's running!"))
else if(do_after(user, 2 SECONDS, target = src))
user.put_in_hands(drill)
drill = null
@@ -192,7 +192,7 @@ GLOBAL_LIST_EMPTY(safes)
if(I.flags && ABSTRACT)
return ITEM_INTERACT_COMPLETE
if(broken && istype(I, /obj/item/safe_internals) && do_after(user, 2 SECONDS, target = src))
- to_chat(user, "You replace the broken mechanism.")
+ to_chat(user, SPAN_NOTICE("You replace the broken mechanism."))
qdel(I)
broken = FALSE
locked = FALSE
@@ -200,15 +200,15 @@ GLOBAL_LIST_EMPTY(safes)
return ITEM_INTERACT_COMPLETE
else if(I.w_class + space <= maxspace)
if(!user.drop_item())
- to_chat(user, "\The [I] is stuck to your hand, you cannot put it in the safe!")
+ to_chat(user, SPAN_WARNING("\The [I] is stuck to your hand, you cannot put it in the safe!"))
return ITEM_INTERACT_COMPLETE
space += I.w_class
I.forceMove(src)
- to_chat(user, "You put [I] in [src].")
+ to_chat(user, SPAN_NOTICE("You put [I] in [src]."))
SStgui.update_uis(src)
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "[I] won't fit in [src].")
+ to_chat(user, SPAN_WARNING("[I] won't fit in [src]."))
return ITEM_INTERACT_COMPLETE
else
if(istype(I, /obj/item/clothing/neck/stethoscope))
@@ -216,10 +216,10 @@ GLOBAL_LIST_EMPTY(safes)
return ITEM_INTERACT_COMPLETE
else if(istype(I, /obj/item/thermal_drill))
if(drill)
- to_chat(user, "There is already a drill attached!")
+ to_chat(user, SPAN_WARNING("There is already a drill attached!"))
else if(do_after(user, 2 SECONDS, target = src))
if(!user.drop_item())
- to_chat(user, "[I] is stuck to your hand, you cannot put it in the safe!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you cannot put it in the safe!"))
return
I.forceMove(src)
drill = I
@@ -227,7 +227,7 @@ GLOBAL_LIST_EMPTY(safes)
update_icon()
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You can't put [I] into the safe while it is closed!")
+ to_chat(user, SPAN_WARNING("You can't put [I] into the safe while it is closed!"))
return ITEM_INTERACT_COMPLETE
/obj/structure/safe/ui_state(mob/user)
@@ -265,7 +265,7 @@ GLOBAL_LIST_EMPTY(safes)
return
if(!usr.IsAdvancedToolUser() && !isobserver(usr))
- to_chat(usr, "You are not able to operate the safe.")
+ to_chat(usr, SPAN_WARNING("You are not able to operate the safe."))
return
var/canhear = FALSE
@@ -281,16 +281,16 @@ GLOBAL_LIST_EMPTY(safes)
switch(action)
if("open")
if(check_unlocked() || open || broken)
- to_chat(usr, "You [open ? "close" : "open"] [src].")
+ to_chat(usr, SPAN_NOTICE("You [open ? "close" : "open"] [src]."))
open = !open
update_icon()
else
- to_chat(usr, "You cannot open [src], as its lock is engaged!")
+ to_chat(usr, SPAN_WARNING("You cannot open [src], as its lock is engaged!"))
if("turnright")
if(open)
return
if(broken)
- to_chat(usr, "The dial will not turn, as the mechanism is destroyed!")
+ to_chat(usr, SPAN_WARNING("The dial will not turn, as the mechanism is destroyed!"))
return
var/ticks = text2num(params["num"])
for(var/i = 1 to ticks)
@@ -310,7 +310,7 @@ GLOBAL_LIST_EMPTY(safes)
if(open)
return
if(broken)
- to_chat(usr, "The dial will not turn, as the mechanism is destroyed!")
+ to_chat(usr, SPAN_WARNING("The dial will not turn, as the mechanism is destroyed!"))
return
var/ticks = text2num(params["num"])
for(var/i = 1 to ticks)
@@ -384,7 +384,7 @@ GLOBAL_LIST_EMPTY(safes)
/obj/structure/safe/proc/check_unlocked()
if(current_tumbler_index > number_of_tumblers)
locked = FALSE
- visible_message("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!")
+ visible_message(SPAN_BOLDNOTICE("[pick("Spring", "Sprang", "Sproing", "Clunk", "Krunk")]!"))
return TRUE
locked = TRUE
return FALSE
@@ -397,7 +397,7 @@ GLOBAL_LIST_EMPTY(safes)
return
if(current_tick == 2)
- to_chat(user, "The sounds from [src] are too fast and blend together.")
+ to_chat(user, SPAN_ITALICS("The sounds from [src] are too fast and blend together."))
if(total_ticks == 1 || prob(SOUND_CHANCE))
to_chat(user, "You hear a [pick(sounds)] from [src].")
diff --git a/code/game/objects/structures/shelves.dm b/code/game/objects/structures/shelves.dm
index c90eacdf015..730f0928af7 100644
--- a/code/game/objects/structures/shelves.dm
+++ b/code/game/objects/structures/shelves.dm
@@ -40,7 +40,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
return ..()
if(!COOLDOWN_FINISHED(src, spraypaint_cd))
- to_chat(user, "The paint on [src] is still drying!")
+ to_chat(user, SPAN_WARNING("The paint on [src] is still drying!"))
return ITEM_INTERACT_COMPLETE
var/cur_idx = GLOB.shelf_colors.Find(shelf_style)
@@ -77,7 +77,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
if(!I.use_tool(src, user, (2.5 SECONDS) * I.toolspeed, volume = I.tool_volume))
return
- to_chat(user, "You disassemble [src].")
+ to_chat(user, SPAN_NOTICE("You disassemble [src]."))
deconstruct()
/obj/structure/shelf/deconstruct(disassembled)
@@ -150,7 +150,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
if(!I.use_tool(src, user, 2.5 SECONDS, volume = I.tool_volume))
return
- to_chat(user, "You disassemble [src].")
+ to_chat(user, SPAN_NOTICE("You disassemble [src]."))
deconstruct()
/obj/structure/gunrack/deconstruct(disassembled)
@@ -196,7 +196,7 @@ GLOBAL_LIST_INIT(shelf_colors, list("basic", "sci", "sup", "serv", "med", "sec",
if(!I.use_tool(src, user, 2.5 SECONDS, volume = I.tool_volume))
return
- to_chat(user, "You disassemble [src].")
+ to_chat(user, SPAN_NOTICE("You disassemble [src]."))
deconstruct()
/obj/structure/spear_rack/deconstruct(disassembled)
diff --git a/code/game/objects/structures/signs.dm b/code/game/objects/structures/signs.dm
index 2fe3bf74e08..1ab96ed47db 100644
--- a/code/game/objects/structures/signs.dm
+++ b/code/game/objects/structures/signs.dm
@@ -80,7 +80,7 @@
S.name = name
S.desc = desc
S.icon_state = sign_state
- to_chat(user, "You fasten [S] with your [I].")
+ to_chat(user, SPAN_NOTICE("You fasten [S] with your [I]."))
qdel(src)
/obj/structure/sign/double
diff --git a/code/game/objects/structures/spirit_board.dm b/code/game/objects/structures/spirit_board.dm
index dc5a16a6d70..e978ef72205 100644
--- a/code/game/objects/structures/spirit_board.dm
+++ b/code/game/objects/structures/spirit_board.dm
@@ -39,7 +39,7 @@
var/turf/T = loc
sleep(rand(20,30))
if(T == loc)
- visible_message("The planchette slowly moves... and stops at the letter \"[planchette]\".")
+ visible_message(SPAN_NOTICE("The planchette slowly moves... and stops at the letter \"[planchette]\"."))
/obj/structure/spirit_board/proc/spirit_board_checks(mob/M)
@@ -60,7 +60,7 @@
light_amount = 10
if(light_amount > 2)
- to_chat(M, "It's too bright here to use [src.name]!")
+ to_chat(M, SPAN_WARNING("It's too bright here to use [src.name]!"))
return 0
//mobs in range check
@@ -68,12 +68,12 @@
for(var/mob/living/L in orange(1,src))
if(L.ckey && L.client)
if((world.time - L.client.inactivity) < (world.time - 300) || L.stat != CONSCIOUS || L.restrained())//no playing with braindeads or corpses or handcuffed dudes.
- to_chat(M, "[L] doesn't seem to be paying attention...")
+ to_chat(M, SPAN_WARNING("[L] doesn't seem to be paying attention..."))
else
users_in_range++
if(users_in_range < 2)
- to_chat(M, "There aren't enough people to use [src]!")
+ to_chat(M, SPAN_WARNING("There aren't enough people to use [src]!"))
return 0
return 1
diff --git a/code/game/objects/structures/statues.dm b/code/game/objects/structures/statues.dm
index cb77dcf8f86..e1d0da04a3d 100644
--- a/code/game/objects/structures/statues.dm
+++ b/code/game/objects/structures/statues.dm
@@ -16,12 +16,12 @@
if(istype(W, /obj/item/gun/energy/plasmacutter))
playsound(src, W.usesound, 100, 1)
user.visible_message("[user] is slicing apart the [name]...", \
- "You are slicing apart the [name]...")
+ SPAN_NOTICE("You are slicing apart the [name]..."))
if(do_after(user, 40 * W.toolspeed, target = src))
if(!loc)
return
user.visible_message("[user] slices apart the [name].", \
- "You slice apart the [name].")
+ SPAN_NOTICE("You slice apart the [name]."))
deconstruct(TRUE)
return ITEM_INTERACT_COMPLETE
return ..()
@@ -41,7 +41,7 @@
user.changeNext_move(CLICK_CD_MELEE)
add_fingerprint(user)
user.visible_message("[user] rubs some dust off from the [name]'s surface.", \
- "You rub some dust off from the [name]'s surface.")
+ SPAN_NOTICE("You rub some dust off from the [name]'s surface."))
/obj/structure/statue/deconstruct(disassembled = TRUE)
if(!(flags & NODECONSTRUCT))
@@ -120,9 +120,9 @@
. = TRUE
if(!I.use_tool(src, user, volume = I.tool_volume))
return
- user.visible_message("[user] sets [src] on fire!",\
- "[src] disintegrates into a cloud of plasma!",\
- "You hear a 'whoompf' and a roar.")
+ user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\
+ SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\
+ SPAN_WARNING("You hear a 'whoompf' and a roar."))
message_admins("[key_name_admin(user)] ignited a plasma statue at [COORD(loc)]")
log_game("[key_name(user)] ignited plasma a statue at [COORD(loc)]")
investigate_log("[key_name(user)] ignited a plasma statue at [COORD(loc)]", INVESTIGATE_ATMOS)
@@ -268,7 +268,7 @@
/obj/structure/statue/tranquillite/mime/AltClick(mob/user)//has 4 dirs
if(user.incapacitated())
- to_chat(user, "You can't do that right now!")
+ to_chat(user, SPAN_WARNING("You can't do that right now!"))
return
if(!Adjacent(user))
return
@@ -323,7 +323,7 @@
/obj/structure/snowman/built/item_interaction(mob/living/user, obj/item/I, list/modifiers)
if(istype(I, /obj/item/snowball) && obj_integrity < max_integrity)
- to_chat(user, "You patch some of the damage on [src] with [I].")
+ to_chat(user, SPAN_NOTICE("You patch some of the damage on [src] with [I]."))
obj_integrity = max_integrity
qdel(I)
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm
index 61d636dc8c2..17a747d4aab 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm
@@ -26,22 +26,22 @@
return
if(M != user)
- M.visible_message("[user.name] pulls [M.name] free from the sticky nest!",\
- "[user.name] pulls you free from the gelatinous resin.",\
- "You hear squelching...")
+ M.visible_message(SPAN_NOTICE("[user.name] pulls [M.name] free from the sticky nest!"),\
+ SPAN_NOTICE("[user.name] pulls you free from the gelatinous resin."),\
+ SPAN_ITALICS("You hear squelching..."))
else
- M.visible_message("[M.name] struggles to break free from the gelatinous resin!",\
- "You struggle to break free from the gelatinous resin... (Stay still for two minutes.)",\
- "You hear squelching...")
+ M.visible_message(SPAN_WARNING("[M.name] struggles to break free from the gelatinous resin!"),\
+ SPAN_NOTICE("You struggle to break free from the gelatinous resin... (Stay still for two minutes.)"),\
+ SPAN_ITALICS("You hear squelching..."))
if(!do_after(M, 120 SECONDS, target = src, hidden = TRUE))
if(M && M.buckled)
- to_chat(M, "You fail to escape \the [src]!")
+ to_chat(M, SPAN_WARNING("You fail to escape \the [src]!"))
return
if(!M.buckled)
return
- M.visible_message("[M.name] breaks free from the gelatinous resin!",\
- "You break free from the gelatinous resin!",\
- "You hear squelching...")
+ M.visible_message(SPAN_WARNING("[M.name] breaks free from the gelatinous resin!"),\
+ SPAN_NOTICE("You break free from the gelatinous resin!"),\
+ SPAN_ITALICS("You hear squelching..."))
unbuckle_mob(M)
add_fingerprint(user)
@@ -54,20 +54,20 @@
return FALSE
if(M.get_int_organ(/obj/item/organ/internal/alien/hivenode))
- to_chat(user, "[M]'s linkage with the hive prevents you from securing them into [src]")
+ to_chat(user, SPAN_NOTICEALIEN("[M]'s linkage with the hive prevents you from securing them into [src]"))
return
if(!user.get_int_organ(/obj/item/organ/internal/alien/hivenode))
- to_chat(user, "Your lack of linkage to the hive prevents you from buckling [M] into [src]")
+ to_chat(user, SPAN_NOTICEALIEN("Your lack of linkage to the hive prevents you from buckling [M] into [src]"))
return
if(has_buckled_mobs())
unbuckle_all_mobs()
if(buckle_mob(M))
- M.visible_message("[user.name] secretes a thick vile goo, securing [M.name] into [src]!",\
- "[user.name] drenches you in a foul-smelling resin, trapping you in [src]!",\
- "You hear squelching...")
+ M.visible_message(SPAN_NOTICE("[user.name] secretes a thick vile goo, securing [M.name] into [src]!"),\
+ SPAN_DANGER("[user.name] drenches you in a foul-smelling resin, trapping you in [src]!"),\
+ SPAN_ITALICS("You hear squelching..."))
ghost_timer = addtimer(CALLBACK(src, PROC_REF(ghost_check), user), 15 SECONDS, TIMER_UNIQUE|TIMER_STOPPABLE)
/obj/structure/bed/nest/proc/ghost_check(mob/user)
@@ -79,7 +79,7 @@
if(user && !isalien(user))
return
buckled_mob.throw_alert("ghost_nest", /atom/movable/screen/alert/ghost/xeno)
- to_chat(buckled_mob, "You may now click on the ghost prompt on your screen to leave your body. You will be alerted when you're removed from the nest.")
+ to_chat(buckled_mob, SPAN_GHOSTALERT("You may now click on the ghost prompt on your screen to leave your body. You will be alerted when you're removed from the nest."))
if(tgui_alert(buckled_mob, "You may now ghost and keep respawnability, you will be notified if you leave the nest, would you like to do so?", "Ghosting", list("Yes", "No")) != "Yes")
return
buckled_mob.ghostize()
diff --git a/code/game/objects/structures/stool_bed_chair_nest/bed.dm b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
index 3bee7bd0167..4f8dc06c91a 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/bed.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/bed.dm
@@ -27,7 +27,7 @@
/obj/structure/bed/examine(mob/user)
. = ..()
- . += "Click dragging someone to a bed will buckle them in. Functions just like a chair except you can walk over them."
+ . += SPAN_NOTICE("Click dragging someone to a bed will buckle them in. Functions just like a chair except you can walk over them.")
/obj/structure/bed/attack_hand(mob/user)
if(user.Move_Pulled(src))
@@ -52,7 +52,7 @@
/obj/structure/bed/wrench_act(mob/user, obj/item/I)
. = TRUE
if(flags & NODECONSTRUCT)
- to_chat(user, "You can't figure out how to deconstruct [src]!")
+ to_chat(user, SPAN_WARNING("You can't figure out how to deconstruct [src]!"))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -103,15 +103,15 @@
// nighty night
target.visible_message(
- "[attacker] puts [target] to bed!",
- "[attacker] shoves you under the covers, and you're out like a light!",
- "You hear someone getting into bed."
+ SPAN_DANGER("[attacker] puts [target] to bed!"),
+ SPAN_USERDANGER("[attacker] shoves you under the covers, and you're out like a light!"),
+ SPAN_NOTICE("You hear someone getting into bed.")
)
if(sleep_ratio > 1)
target.visible_message(
- "[target] seems especially cozy...[target.p_they()] probably won't be up for a while.",
- "You feel so cozy, you could probably stay here for a while..."
+ SPAN_NOTICE("[target] seems especially cozy...[target.p_they()] probably won't be up for a while."),
+ SPAN_NOTICE("You feel so cozy, you could probably stay here for a while...")
)
target.forceMove(loc)
@@ -169,11 +169,11 @@
if(has_buckled_mobs())
if(length(buckled_mobs) > 1)
unbuckle_all_mobs()
- user.visible_message("[user] unbuckles all creatures from [src].")
+ user.visible_message(SPAN_NOTICE("[user] unbuckles all creatures from [src]."))
else
user_unbuckle_mob(buckled_mobs[1], user)
else
- user.visible_message("[user] collapses \the [name].", "You collapse \the [name].")
+ user.visible_message(SPAN_NOTICE("[user] collapses \the [name]."), SPAN_NOTICE("You collapse \the [name]."))
new folded(get_turf(src))
qdel(src)
@@ -248,7 +248,7 @@
return
if(has_buckled_mobs())
return 0
- usr.visible_message("[usr] collapses \the [name].", "You collapse \the [name].")
+ usr.visible_message(SPAN_NOTICE("[usr] collapses \the [name]."), SPAN_NOTICE("You collapse \the [name]."))
new folded(get_turf(src))
qdel(src)
return
@@ -275,13 +275,13 @@
return ITEM_INTERACT_COMPLETE
if(held)
- to_chat(user, "[src] is already full!")
+ to_chat(user, SPAN_WARNING("[src] is already full!"))
return ITEM_INTERACT_COMPLETE
var/obj/item/roller/bed = target
user.visible_message(
- "[user] collects [target].",
- "You collect [target]."
+ SPAN_NOTICE("[user] collects [target]."),
+ SPAN_NOTICE("You collect [target].")
)
bed.forceMove(src)
held = target
@@ -292,10 +292,10 @@
return
if(!held)
- to_chat(user, "[src] is empty!")
+ to_chat(user, SPAN_WARNING("[src] is empty!"))
return
- to_chat(user, "You deploy [held].")
+ to_chat(user, SPAN_NOTICE("You deploy [held]."))
var/obj/structure/bed/roller/R = new held.extended(user.loc)
R.add_fingerprint(user)
QDEL_NULL(held)
diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
index 429ab14f3f2..cfc02b98bd1 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm
@@ -27,7 +27,7 @@
/obj/structure/chair/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to rotate it."
+ . += SPAN_NOTICE("You can Alt-Click [src] to rotate it.")
/obj/structure/chair/narsie_act()
if(prob(20))
@@ -39,7 +39,7 @@
if(istype(W, /obj/item/assembly/shock_kit))
var/obj/item/assembly/shock_kit/SK = W
if(!SK.status)
- to_chat(user, "[SK] is not ready to be attached!")
+ to_chat(user, SPAN_NOTICE("[SK] is not ready to be attached!"))
return ITEM_INTERACT_COMPLETE
user.drop_item()
var/obj/structure/chair/e_chair/E = new /obj/structure/chair/e_chair(get_turf(src), SK)
@@ -53,7 +53,7 @@
/obj/structure/chair/wrench_act(mob/user, obj/item/I)
. = TRUE
if(flags & NODECONSTRUCT)
- to_chat(user, "Try as you might, you can't figure out how to deconstruct [src].")
+ to_chat(user, SPAN_WARNING("Try as you might, you can't figure out how to deconstruct [src]."))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -70,17 +70,17 @@
if(!item_chair || has_buckled_mobs())
return
if(usr.incapacitated())
- to_chat(usr, "You can't do that right now!")
+ to_chat(usr, SPAN_WARNING("You can't do that right now!"))
return
if(!usr.has_right_hand() && !usr.has_left_hand())
- to_chat(usr, "You try to grab the chair, but you are missing both of your hands!")
+ to_chat(usr, SPAN_WARNING("You try to grab the chair, but you are missing both of your hands!"))
return
if(usr.get_active_hand() && usr.get_inactive_hand())
- to_chat(usr, "You try to grab the chair, but your hands are already full!")
+ to_chat(usr, SPAN_WARNING("You try to grab the chair, but your hands are already full!"))
return
if(!ishuman(usr))
return
- usr.visible_message("[usr] grabs \the [src.name].", "You grab \the [src.name].")
+ usr.visible_message(SPAN_NOTICE("[usr] grabs \the [src.name]."), SPAN_NOTICE("You grab \the [src.name]."))
var/C = new item_chair(loc)
usr.put_in_hands(C)
qdel(src)
@@ -271,7 +271,7 @@
buckled_mob.Stuttering(12 SECONDS)
buckled_mob.take_organ_damage(10)
playsound(loc, 'sound/weapons/punch1.ogg', 50, TRUE, -1)
- buckled_mob.visible_message("[buckled_mob] crashed into [A]!")
+ buckled_mob.visible_message(SPAN_DANGER("[buckled_mob] crashed into [A]!"))
/obj/structure/chair/office/post_buckle_mob(mob/living/M)
. = ..()
@@ -591,10 +591,10 @@
return
for(var/obj/A in get_turf(loc))
if(istype(A, /obj/structure/chair))
- to_chat(user, "There is already \a [A] here.")
+ to_chat(user, SPAN_WARNING("There is already \a [A] here."))
return
- user.visible_message("[user] rights [src].", "You right [src].")
+ user.visible_message(SPAN_NOTICE("[user] rights [src]."), SPAN_NOTICE("You right [src]."))
var/obj/structure/chair/C = new origin_type(get_turf(loc))
C.setDir(user.dir)
qdel(src)
@@ -612,7 +612,7 @@
/obj/item/chair/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(attack_type == UNARMED_ATTACK && prob(hit_reaction_chance))
- owner.visible_message("[owner] fends off [attack_text] with [src]!")
+ owner.visible_message(SPAN_DANGER("[owner] fends off [attack_text] with [src]!"))
return 1
return 0
@@ -621,7 +621,7 @@
. = ..()
if(!proximity_flag || !prob(break_chance))
return
- user.visible_message("[user] smashes \the [src] to pieces against \the [target]")
+ user.visible_message(SPAN_DANGER("[user] smashes \the [src] to pieces against \the [target]"))
if(iscarbon(target))
var/mob/living/carbon/C = target
if(C.health < C.maxHealth*0.5)
@@ -635,7 +635,7 @@
return FINISH_ATTACK
if(prob(5) && isliving(target))
- user.visible_message("[user] breaks [src] over [target]'s back!.")
+ user.visible_message(SPAN_DANGER("[user] breaks [src] over [target]'s back!."))
user.unequip(src)
var/obj/item/stack/sheet/metal/m = new/obj/item/stack/sheet/metal
m.loc = get_turf(src)
@@ -646,7 +646,7 @@
/obj/item/chair/examine(mob/user)
. = ..()
- . += "You can Alt-Click [src] to place it down."
+ . += SPAN_NOTICE("You can Alt-Click [src] to place it down.")
/obj/item/chair/wood
name = "wooden chair"
@@ -695,12 +695,12 @@
if(!istype(user) || user.incapacitated() || !in_range(src, user))
return
if(!isprocessing)
- user.visible_message("[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER.", \
- "Automated spinny chairs. The pinnacle of Ratvarian technology.")
+ user.visible_message(SPAN_NOTICE("[user] spins [src] around, and Ratvarian technology keeps it spinning FOREVER."), \
+ SPAN_NOTICE("Automated spinny chairs. The pinnacle of Ratvarian technology."))
START_PROCESSING(SSfastprocess, src)
else
- user.visible_message("[user] stops [src]'s uncontrollable spinning.", \
- "You grab [src] and stop its wild spinning.")
+ user.visible_message(SPAN_NOTICE("[user] stops [src]'s uncontrollable spinning."), \
+ SPAN_NOTICE("You grab [src] and stop its wild spinning."))
STOP_PROCESSING(SSfastprocess, src)
/obj/structure/chair/comfy/cult
diff --git a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm
index eeb1744f7bb..dd4c1c4f16f 100644
--- a/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm
+++ b/code/game/objects/structures/stool_bed_chair_nest/wheelchair.dm
@@ -107,7 +107,7 @@
victim.Stuttering(12 SECONDS)
victim.take_organ_damage(10)
- occupant.visible_message("[occupant] crashed into \the [A]!")
+ occupant.visible_message(SPAN_DANGER("[occupant] crashed into \the [A]!"))
/obj/structure/chair/wheelchair/plasteel
name = "hardened wheelchair"
diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm
index 013444b743d..45f05f078b7 100644
--- a/code/game/objects/structures/table_frames.dm
+++ b/code/game/objects/structures/table_frames.dm
@@ -50,20 +50,20 @@
return FALSE
if(stack.get_amount() < 1)
- to_chat(user, "You need at least one sheet of [stack] to do this!")
+ to_chat(user, SPAN_WARNING("You need at least one sheet of [stack] to do this!"))
return TRUE
- to_chat(user, "You start adding [stack] to [src]...")
+ to_chat(user, SPAN_NOTICE("You start adding [stack] to [src]..."))
if(!do_after(user, construction_time, target = src))
return TRUE
if(!stack.use(1))
- to_chat(user, "You need at least one sheet of [stack] to do this!")
+ to_chat(user, SPAN_WARNING("You need at least one sheet of [stack] to do this!"))
return TRUE
var/obj/structure/table/table_already_there = locate(/obj/structure/table) in get_turf(src)
if(table_already_there) //check again after to make sure one wasnt added since
- to_chat(user, "There is already [table_already_there] here.")
+ to_chat(user, SPAN_WARNING("There is already [table_already_there] here."))
return TRUE
if(!istype(new_table_type, /obj/structure/table)) //if its something unique, skip the table parts
diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm
index 9283fb880cb..df9941fd0aa 100644
--- a/code/game/objects/structures/tables_racks.dm
+++ b/code/game/objects/structures/tables_racks.dm
@@ -57,12 +57,12 @@
. += deconstruction_hints(user)
if(can_be_flipped)
if(flipped)
- . += "Alt-Shift-Click to right the table again."
+ . += SPAN_NOTICE("Alt-Shift-Click to right the table again.")
else
- . += "Alt-Shift-Click to flip over the table."
+ . += SPAN_NOTICE("Alt-Shift-Click to flip over the table.")
/obj/structure/table/proc/deconstruction_hints(mob/user)
- return "The top is screwed on, but the main bolts are also visible."
+ return SPAN_NOTICE("The top is screwed on, but the main bolts are also visible.")
/obj/structure/table/update_icon(updates=ALL)
. = ..()
@@ -114,12 +114,16 @@
if(length(climbers))
for(var/mob/living/climber as anything in climbers)
climber.Weaken(4 SECONDS)
- climber.visible_message("[climber.name] has been knocked off the table", "You've been knocked off the table", "You hear [climber.name] get knocked off the table")
+ climber.visible_message(
+ SPAN_WARNING("[climber.name] has been knocked off the table"),
+ SPAN_WARNING("You've been knocked off the table"),
+ SPAN_WARNING("You hear [climber.name] get knocked off the table"),
+ )
else if(Adjacent(user) && user.pulling && user.pulling.pass_flags & PASSTABLE)
user.Move_Pulled(src)
if(user.pulling.loc == loc)
- user.visible_message("[user] places [user.pulling] onto [src].",
- "You place [user.pulling] onto [src].")
+ user.visible_message(SPAN_NOTICE("[user] places [user.pulling] onto [src]."),
+ SPAN_NOTICE("You place [user.pulling] onto [src]."))
user.stop_pulling()
/obj/structure/table/attack_tk() // no telehulk sorry
@@ -199,26 +203,26 @@
/obj/structure/table/proc/tablepush(obj/item/grab/G, mob/user)
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "Throwing [G.affecting] onto the table might hurt them!")
+ to_chat(user, SPAN_DANGER("Throwing [G.affecting] onto the table might hurt them!"))
return
if(get_dist(src, user) < 2)
if(G.affecting.buckled)
- to_chat(user, "[G.affecting] is buckled to [G.affecting.buckled]!")
+ to_chat(user, SPAN_WARNING("[G.affecting] is buckled to [G.affecting.buckled]!"))
return FALSE
if(G.state < GRAB_AGGRESSIVE)
- to_chat(user, "You need a better grip to do that!")
+ to_chat(user, SPAN_WARNING("You need a better grip to do that!"))
return FALSE
if(!G.confirm())
return FALSE
var/blocking_object = density_check()
if(blocking_object)
- to_chat(user, "You cannot do this there is \a [blocking_object] in the way!")
+ to_chat(user, SPAN_WARNING("You cannot do this there is \a [blocking_object] in the way!"))
return FALSE
G.affecting.forceMove(get_turf(src))
G.affecting.Weaken(4 SECONDS)
item_placed(G.affecting)
- G.affecting.visible_message("[G.assailant] pushes [G.affecting] onto [src].", \
- "[G.assailant] pushes [G.affecting] onto [src].")
+ G.affecting.visible_message(SPAN_DANGER("[G.assailant] pushes [G.affecting] onto [src]."), \
+ SPAN_USERDANGER("[G.assailant] pushes [G.affecting] onto [src]."))
add_attack_logs(G.assailant, G.affecting, "Pushed onto a table")
qdel(G)
return TRUE
@@ -243,7 +247,7 @@
I.pixel_y = clamp(text2num(modifiers["icon-y"]) - 16, -(world.icon_size/2), world.icon_size/2)
if(slippery)
step_away(I, user)
- visible_message("[I] slips right off [src]!")
+ visible_message(SPAN_WARNING("[I] slips right off [src]!"))
playsound(loc, 'sound/misc/slip.ogg', 50, TRUE, -1)
else //Don't want slippery moving tables to have the item attached to them if it slides off.
item_placed(I)
@@ -255,7 +259,7 @@
. = ..()
if(. && M.environment_smash >= minimum_env_smash)
deconstruct(FALSE)
- M.visible_message("[M] smashes [src]!", "You smash [src].")
+ M.visible_message(SPAN_DANGER("[M] smashes [src]!"), SPAN_NOTICE("You smash [src]."))
/obj/structure/table/shove_impact(mob/living/target, mob/living/attacker)
if(locate(/obj/structure/table) in get_turf(target))
@@ -331,28 +335,28 @@
if(!flipped)
if(flip_speed > 0)
- user.visible_message("[user] starts trying to flip [src]!", "You start trying to flip [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""].")
+ user.visible_message(SPAN_WARNING("[user] starts trying to flip [src]!"), SPAN_WARNING("You start trying to flip [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]."))
if(!do_after(user, flip_speed, TRUE, src))
- user.visible_message("[user] gives up on trying to flip [src].")
+ user.visible_message(SPAN_NOTICE("[user] gives up on trying to flip [src]."))
return
if(!flip(get_cardinal_dir(user, src)))
- to_chat(user, "It won't budge.")
+ to_chat(user, SPAN_NOTICE("It won't budge."))
return
- user.visible_message("[user] flips [src]!")
+ user.visible_message(SPAN_WARNING("[user] flips [src]!"))
if(climbable)
structure_shaken()
else
if(flip_speed > 0)
- user.visible_message("[user] starts trying to right [src]!", "You start trying to right [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]")
+ user.visible_message(SPAN_WARNING("[user] starts trying to right [src]!"), SPAN_WARNING("You start trying to right [src][flip_speed >= 5 SECONDS ? " (it'll take about [flip_speed / 10] seconds)." : ""]"))
if(!do_after(user, flip_speed, TRUE, src))
- user.visible_message("[user] gives up on trying to right [src].")
+ user.visible_message(SPAN_NOTICE("[user] gives up on trying to right [src]."))
return
if(!unflip())
- to_chat(user, "It won't budge.")
- user.visible_message("[user] rights [src]!")
+ to_chat(user, SPAN_NOTICE("It won't budge."))
+ user.visible_message(SPAN_WARNING("[user] rights [src]!"))
/obj/structure/table/proc/get_flip_speed(mob/living/flipper)
if(!istype(flipper))
@@ -500,8 +504,8 @@
deconstruct(FALSE)
/obj/structure/table/glass/proc/table_shatter(mob/living/L)
- visible_message("[src] breaks!",
- "You hear breaking glass.")
+ visible_message(SPAN_WARNING("[src] breaks!"),
+ SPAN_DANGER("You hear breaking glass."))
var/turf/T = get_turf(src)
playsound(T, "shatter", 50, 1)
for(var/I in debris)
@@ -565,9 +569,9 @@
/obj/structure/table/glass/reinforced/deconstruction_hints(mob/user) //look, it was either copy paste these 4 procs, or copy paste all of the glass stuff
if(deconstruction_ready)
- to_chat(user, "The top cover has been welded loose and the main frame's bolts are exposed.")
+ to_chat(user, SPAN_NOTICE("The top cover has been welded loose and the main frame's bolts are exposed."))
else
- to_chat(user, "The top cover is firmly welded on.")
+ to_chat(user, SPAN_NOTICE("The top cover is firmly welded on."))
/obj/structure/table/glass/reinforced/flip(direction)
if(!deconstruction_ready)
@@ -579,9 +583,9 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- to_chat(user, "You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...")
+ to_chat(user, SPAN_NOTICE("You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table..."))
if(I.use_tool(src, user, 50, volume = I.tool_volume))
- to_chat(user, "You [deconstruction_ready ? "strengthen" : "weaken"] the table.")
+ to_chat(user, SPAN_NOTICE("You [deconstruction_ready ? "strengthen" : "weaken"] the table."))
deconstruction_ready = !deconstruction_ready
/obj/structure/table/glass/reinforced/shove_impact(mob/living/target, mob/living/attacker)
@@ -751,9 +755,9 @@
/obj/structure/table/reinforced/deconstruction_hints(mob/user)
if(deconstruction_ready)
- to_chat(user, "The top cover has been welded loose and the main frame's bolts are exposed.")
+ to_chat(user, SPAN_NOTICE("The top cover has been welded loose and the main frame's bolts are exposed."))
else
- to_chat(user, "The top cover is firmly welded on.")
+ to_chat(user, SPAN_NOTICE("The top cover is firmly welded on."))
/obj/structure/table/reinforced/flip(direction)
if(!deconstruction_ready)
@@ -765,9 +769,9 @@
if(!I.tool_use_check(user, 0))
return
. = TRUE
- to_chat(user, "You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table...")
+ to_chat(user, SPAN_NOTICE("You start [deconstruction_ready ? "strengthening" : "weakening"] the reinforced table..."))
if(I.use_tool(src, user, 50, volume = I.tool_volume))
- to_chat(user, "You [deconstruction_ready ? "strengthen" : "weaken"] the table.")
+ to_chat(user, SPAN_NOTICE("You [deconstruction_ready ? "strengthen" : "weaken"] the table."))
deconstruction_ready = !deconstruction_ready
/obj/structure/table/reinforced/brass
@@ -881,7 +885,7 @@
qdel(src)
/obj/structure/table/tray/deconstruction_hints(mob/user)
- to_chat(user, "It is held together by some screws and bolts.")
+ to_chat(user, SPAN_NOTICE("It is held together by some screws and bolts."))
/obj/structure/table/tray/flip()
return FALSE
@@ -905,7 +909,7 @@
/obj/structure/rack/examine(mob/user)
. = ..()
- . += "It's held together by a couple of bolts."
+ . += SPAN_NOTICE("It's held together by a couple of bolts.")
/obj/structure/rack/CanPass(atom/movable/mover, border_dir)
if(!density) //Because broken racks -Agouri |TODO: SPRITE!|
@@ -950,7 +954,7 @@
/obj/structure/rack/wrench_act(mob/user, obj/item/I)
. = TRUE
if(flags & NODECONSTRUCT)
- to_chat(user, "Try as you might, you can't figure out how to deconstruct this.")
+ to_chat(user, SPAN_WARNING("Try as you might, you can't figure out how to deconstruct this."))
return
if(!I.use_tool(src, user, 0, volume = I.tool_volume))
return
@@ -961,8 +965,8 @@
return
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src, ATTACK_EFFECT_KICK)
- user.visible_message("[user] kicks [src].", \
- "You kick [src].")
+ user.visible_message(SPAN_WARNING("[user] kicks [src]."), \
+ SPAN_DANGER("You kick [src]."))
take_damage(rand(4,8), BRUTE, MELEE, 1)
/obj/structure/rack/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
@@ -1024,13 +1028,13 @@
if(building)
return
building = TRUE
- to_chat(user, "You start constructing a rack...")
+ to_chat(user, SPAN_NOTICE("You start constructing a rack..."))
if(do_after(user, 50, target = user, progress=TRUE))
if(!user.drop_item(src))
return
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)
user.visible_message("[user] assembles \a [R].\
- ", "You assemble \a [R].")
+ ", SPAN_NOTICE("You assemble \a [R]."))
R.add_fingerprint(user)
qdel(src)
building = FALSE
diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm
index a5958cc4bfe..7ac4ca33acd 100644
--- a/code/game/objects/structures/tank_dispenser.dm
+++ b/code/game/objects/structures/tank_dispenser.dm
@@ -108,10 +108,10 @@
/obj/structure/dispenser/wrench_act(mob/living/user, obj/item/I)
I.play_tool_sound(src, 50)
if(anchored)
- to_chat(user, "You lean down and unwrench [src].")
+ to_chat(user, SPAN_NOTICE("You lean down and unwrench [src]."))
anchored = FALSE
else
- to_chat(user, "You wrench [src] into place.")
+ to_chat(user, SPAN_NOTICE("You wrench [src] into place."))
anchored = TRUE
return TRUE
@@ -127,23 +127,23 @@
if(!user.put_in_hands(T))
T.forceMove(loc) // If the user's hands are full, place it on the tile of the dispenser.
- to_chat(user, "You take [T] out of [src].")
+ to_chat(user, SPAN_NOTICE("You take [T] out of [src]."))
update_icon(UPDATE_OVERLAYS)
/// Called when the user clicks on the dispenser with a tank. Tries to insert the tank into the dispenser, and updates the UI if successful.
/obj/structure/dispenser/proc/try_insert_tank(mob/living/user, list/tank_list, obj/item/tank/T)
if(LAZYLEN(tank_list) >= MAX_TANK_STORAGE)
- to_chat(user, "[src] is full.")
+ to_chat(user, SPAN_WARNING("[src] is full."))
return
if(!user.drop_item()) // Antidrop check
- to_chat(user, "[T] is stuck to your hand!")
+ to_chat(user, SPAN_WARNING("[T] is stuck to your hand!"))
return
T.forceMove(src)
tank_list.Add(T)
update_icon(UPDATE_OVERLAYS)
- to_chat(user, "You put [T] in [src].")
+ to_chat(user, SPAN_NOTICE("You put [T] in [src]."))
SStgui.update_uis(src)
/obj/structure/dispenser/deconstruct(disassembled = TRUE)
diff --git a/code/game/objects/structures/transit_tubes/station.dm b/code/game/objects/structures/transit_tubes/station.dm
index ae290e549d2..13a34cd9236 100644
--- a/code/game/objects/structures/transit_tubes/station.dm
+++ b/code/game/objects/structures/transit_tubes/station.dm
@@ -34,8 +34,8 @@
/obj/structure/transit_tube/station/examine(mob/user)
. = ..()
- . += "While in transit, hold the directional key matching the pod's direction to skip a station."
- . += "While at a station, press a directional key to quickly leave the station in that direction."
+ . += SPAN_NOTICE("While in transit, hold the directional key matching the pod's direction to skip a station.")
+ . += SPAN_NOTICE("While at a station, press a directional key to quickly leave the station in that direction.")
/obj/structure/transit_tube/station/init_tube_dirs()
// Tube station directions are simply 90 to either side of
@@ -70,7 +70,7 @@
if(!pod_moving && L.dir == boarding_dir && hatch_state == TRANSIT_TUBE_OPEN && isliving(L) && !is_type_in_list(L, disallowed_mobs))
for(var/obj/structure/transit_tube_pod/pod in loc)
if(length(pod.contents))
- to_chat(L, "The pod is already occupied.")
+ to_chat(L, SPAN_WARNING("The pod is already occupied."))
return
if(!pod.moving && ((pod.dir in directions()) || (reverse_launch && (turn(pod.dir, 180) in directions()))))
pod.move_into(L)
@@ -92,8 +92,8 @@
// Can't empty it when inside or when there is nothing inside
if(!length(pod.contents) || user.loc == pod)
return
- user.visible_message("[user] starts emptying [pod]'s contents onto the floor!", \
- "You start emptying [pod]'s contents onto the floor.", "You hear a loud noise! As if somebody is throwing stuff on the floor!")
+ user.visible_message(SPAN_WARNING("[user] starts emptying [pod]'s contents onto the floor!"), \
+ SPAN_NOTICE("You start emptying [pod]'s contents onto the floor."), SPAN_WARNING("You hear a loud noise! As if somebody is throwing stuff on the floor!"))
if(!do_after(user, 20, target = pod))
return
for(var/atom/movable/AM in pod)
@@ -109,7 +109,7 @@
if(ismob(G.affecting) && G.state >= GRAB_AGGRESSIVE)
var/mob/living/GM = G.affecting
for(var/obj/structure/transit_tube_pod/pod in loc)
- pod.visible_message("[user] starts putting [GM] into [pod]!")
+ pod.visible_message(SPAN_WARNING("[user] starts putting [GM] into [pod]!"))
if(do_after(user, 30, target = GM) && GM && G && G.affecting == GM)
GM.Weaken(10 SECONDS)
Bumped(GM)
@@ -232,8 +232,8 @@
/obj/structure/transit_tube/station/dispenser/examine(mob/user)
. = ..()
- . += "This station will create a pod for you to ride, no need to wait for one."
- . += "Any pods arriving at this station will be reclaimed."
+ . += SPAN_NOTICE("This station will create a pod for you to ride, no need to wait for one.")
+ . += SPAN_NOTICE("Any pods arriving at this station will be reclaimed.")
/obj/structure/transit_tube/station/dispenser/close_hatch()
. = ..()
@@ -254,7 +254,7 @@
if(isliving(L) && !is_type_in_list(L, disallowed_mobs))
var/obj/structure/transit_tube_pod/dispensed/pod = new(loc)
- L.visible_message("[pod] forms around [L].", "[pod] materializes around you.")
+ L.visible_message(SPAN_NOTICE("[pod] forms around [L]."), SPAN_NOTICE("[pod] materializes around you."))
playsound(src, 'sound/weapons/emitter2.ogg', 50, TRUE)
pod.dir = turn(dir, -90)
pod.move_into(L)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm
index 772c295f2ed..9d2e135f4bb 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube.dm
@@ -150,7 +150,7 @@
/obj/structure/transit_tube/wrench_act(mob/living/user, obj/item/I)
. = TRUE
- to_chat(user, "You must uninstall [src] before disassembling it!")
+ to_chat(user, SPAN_NOTICE("You must uninstall [src] before disassembling it!"))
/obj/structure/transit_tube/screwdriver_act(mob/living/user, obj/item/I)
var/obj/structure/transit_tube_construction/construction = new uninstalled_type(get_turf(src))
@@ -163,7 +163,7 @@
if(leaf == "flipped")
construction.flip()
- user.visible_message("[user] uninstalls [src].")
+ user.visible_message(SPAN_NOTICE("[user] uninstalls [src]."))
qdel(src)
/obj/structure/transit_tube/deconstruct(disassembled = TRUE)
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
index 3f2aadae9f5..08f1712de14 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_construction.dm
@@ -14,7 +14,7 @@
/obj/structure/transit_tube_construction/examine(mob/user)
. = ..()
- . += "Alt-Click to rotate it, Alt-Shift-Click to flip it."
+ . += SPAN_NOTICE("Alt-Click to rotate it, Alt-Shift-Click to flip it.")
/obj/structure/transit_tube_construction/AltClick(mob/user)
if(user.stat || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED) || !Adjacent(user))
@@ -42,21 +42,21 @@
. = TRUE
var/turf/T = get_turf(src)
if(!isfloorturf(T) && !isspaceturf(T))
- to_chat(user, "You cannot install [src] here.")
+ to_chat(user, SPAN_WARNING("You cannot install [src] here."))
return
for(var/obj/turf_contents in T)
// It's okay for tube parts to be installed over existing pods.
if(!istype(turf_contents, /obj/structure/transit_tube_pod) && turf_contents.density)
- to_chat(user, "There is not enough space to install [src] here.")
+ to_chat(user, SPAN_WARNING("There is not enough space to install [src] here."))
return
if(is_station && !user.can_reach(src))
- to_chat(user, "[src] must be installed manually.")
+ to_chat(user, SPAN_WARNING("[src] must be installed manually."))
return
var/install_type = flipped ? installed_type_flipped : installed_type
var/atom/installed = new install_type(T)
installed.dir = dir
- user.visible_message("[user] installs [src].")
+ user.visible_message(SPAN_NOTICE("[user] installs [src]."))
I.play_tool_sound(src, I.tool_volume)
qdel(src)
@@ -65,7 +65,7 @@
/obj/structure/transit_tube_construction/wrench_act(mob/living/user, obj/item/I)
. = TRUE
if(I.use_tool(src, user, 2 SECONDS, volume = I.tool_volume))
- user.visible_message("[user] disassembles [src].")
+ user.visible_message(SPAN_NOTICE("[user] disassembles [src]."))
qdel(src)
/obj/structure/transit_tube_construction/rpd_act(mob/user, obj/item/rpd/our_rpd)
@@ -93,11 +93,11 @@
if(istype(turf_contents, /obj/structure/transit_tube))
var/atom/installed = new installed_type(T)
installed.dir = dir
- user.visible_message("[user] installs [src].")
+ user.visible_message(SPAN_NOTICE("[user] installs [src]."))
qdel(src)
- to_chat(user, "[src] can only be installed in a transit tube!")
+ to_chat(user, SPAN_WARNING("[src] can only be installed in a transit tube!"))
/obj/structure/transit_tube_construction/straight
installed_type = /obj/structure/transit_tube
diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
index 29a9b47f636..79b46a1c6e3 100644
--- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
+++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm
@@ -69,19 +69,19 @@
if(length(contents))
I.play_tool_sound(src)
- user.visible_message("[user] pries [src] open.")
+ user.visible_message(SPAN_NOTICE("[user] pries [src] open."))
empty_pod()
/obj/structure/transit_tube_pod/screwdriver_act(mob/living/user, obj/item/I)
. = TRUE
var/obj/structure/transit_tube_construction/pod/P = new(get_turf(src))
P.dir = dir
- to_chat(user, "You uninstall [src].")
+ to_chat(user, SPAN_NOTICE("You uninstall [src]."))
qdel(src)
/obj/structure/transit_tube_pod/wrench_act(mob/living/user, obj/item/I)
. = TRUE
- to_chat(user, "You must uninstall [src] before disassembling it!")
+ to_chat(user, SPAN_NOTICE("You must uninstall [src] before disassembling it!"))
/obj/structure/transit_tube_pod/process()
..()
@@ -101,7 +101,7 @@
var/list/savedcontents = contents.Copy()
var/saveddir = dir
var/turf/destination = get_edge_target_turf(src, saveddir)
- visible_message("[src] ejects its insides out!")
+ visible_message(SPAN_WARNING("[src] ejects its insides out!"))
for(var/i in savedcontents)
var/atom/movable/AM = i
AM.throw_at(destination, rand(1, 3), 5)
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 3ea788a5ce7..26f25a6de7b 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -30,15 +30,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
if(swirlie)
user.changeNext_move(CLICK_CD_MELEE)
playsound(src.loc, "swing_hit", 25, TRUE)
- user.visible_message("[user] slams the toilet seat onto [swirlie]'s head!",
- "You slam the toilet seat onto [swirlie]'s head!",
- "You hear reverberating porcelain.")
+ user.visible_message(SPAN_DANGER("[user] slams the toilet seat onto [swirlie]'s head!"),
+ SPAN_USERDANGER("You slam the toilet seat onto [swirlie]'s head!"),
+ SPAN_ITALICS("You hear reverberating porcelain."))
swirlie.apply_damage(5, BRUTE, BODY_ZONE_HEAD, swirlie.run_armor_check(BODY_ZONE_HEAD, MELEE))
return
if(cistern && !open)
if(!length(contents))
- to_chat(user, "The cistern is empty.")
+ to_chat(user, SPAN_NOTICE("The cistern is empty."))
return
else
var/obj/item/I = pick(contents)
@@ -46,7 +46,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
user.put_in_hands(I)
else
I.loc = get_turf(src)
- to_chat(user, "You find [I] in the cistern.")
+ to_chat(user, SPAN_NOTICE("You find [I] in the cistern."))
w_items -= I.w_class
return
@@ -75,17 +75,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
var/obj/item/reagent_containers/container = used
if(container.is_refillable())
if(container.reagents.holder_full())
- to_chat(user, "[container] is full.")
+ to_chat(user, SPAN_WARNING("[container] is full."))
else
container.reagents.add_reagent("toiletwater", min(container.volume - container.reagents.total_volume, container.amount_per_transfer_from_this))
- to_chat(user, "You fill [container] from [src]. Gross.")
+ to_chat(user, SPAN_NOTICE("You fill [container] from [src]. Gross."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/grab))
user.changeNext_move(CLICK_CD_MELEE)
var/obj/item/grab/G = used
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "Swirling [G.affecting] might hurt them!")
+ to_chat(user, SPAN_DANGER("Swirling [G.affecting] might hurt them!"))
return ITEM_INTERACT_COMPLETE
if(!G.confirm())
return ITEM_INTERACT_COMPLETE
@@ -93,17 +93,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
var/mob/living/target = G.affecting
if(G.state >= GRAB_AGGRESSIVE)
if(target.loc != get_turf(src))
- to_chat(user, "[target] needs to be on [src]!")
+ to_chat(user, SPAN_WARNING("[target] needs to be on [src]!"))
return ITEM_INTERACT_COMPLETE
if(!swirlie)
if(open)
- user.visible_message("[user] starts to give [target] a swirlie!",
- "You start to give [target] a swirlie...")
+ user.visible_message(SPAN_DANGER("[user] starts to give [target] a swirlie!"),
+ SPAN_USERDANGER("You start to give [target] a swirlie..."))
swirlie = target
if(do_after(user, 3 SECONDS, FALSE, target = src))
- user.visible_message("[user] gives [target] a swirlie!",
- "You give [target] a swirlie!",
- "You hear a toilet flushing.")
+ user.visible_message(SPAN_DANGER("[user] gives [target] a swirlie!"),
+ SPAN_USERDANGER("You give [target] a swirlie!"),
+ SPAN_ITALICS("You hear a toilet flushing."))
if(iscarbon(target))
var/mob/living/carbon/C = target
if(!C.internal)
@@ -113,26 +113,26 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
swirlie = null
else
playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE)
- user.visible_message("[user] slams [target]'s head into [src]!",
- "You slam [target]'s head into [src]!")
+ user.visible_message(SPAN_DANGER("[user] slams [target]'s head into [src]!"),
+ SPAN_USERDANGER("You slam [target]'s head into [src]!"))
target.apply_damage(5, BRUTE, BODY_ZONE_HEAD, target.run_armor_check(BODY_ZONE_HEAD, MELEE))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need a tighter grip!")
+ to_chat(user, SPAN_WARNING("You need a tighter grip!"))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/flamethrower))
var/obj/item/flamethrower/big_lighter = used
if(!big_lighter.lit)
- to_chat(user, "[big_lighter] isn't lit!")
+ to_chat(user, SPAN_WARNING("[big_lighter] isn't lit!"))
return ITEM_INTERACT_COMPLETE
big_lighter.default_ignite(loc, 0.01)
if(!cistern) //Just changes what message you get, since fire_act handles the open cistern too.
- user.visible_message("[user] torches the contents of the top of the toilet with [big_lighter]!",
- "You torch the top of the toilet with [big_lighter]! Whoops.")
+ user.visible_message(SPAN_WARNING("[user] torches the contents of the top of the toilet with [big_lighter]!"),
+ SPAN_WARNING("You torch the top of the toilet with [big_lighter]! Whoops."))
return ITEM_INTERACT_COMPLETE
- user.visible_message("[user] torches the contents of the cistern with [big_lighter]!",
- "You torch the contents of the cistern with [big_lighter]!")
+ user.visible_message(SPAN_NOTICE("[user] torches the contents of the cistern with [big_lighter]!"),
+ SPAN_NOTICE("You torch the contents of the cistern with [big_lighter]!"))
return ITEM_INTERACT_COMPLETE
if(cistern)
@@ -160,12 +160,12 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
. = TRUE
if(!I.tool_use_check(user, 0))
return
- to_chat(user, "You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]...")
+ to_chat(user, SPAN_NOTICE("You start to [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]..."))
playsound(loc, 'sound/effects/stonedoor_openclose.ogg', 50, TRUE)
if(I.use_tool(src, user, 30, volume = I.tool_volume))
user.visible_message("[user] [cistern ? "replaces the lid on the cistern" : "lifts the lid off the cistern"]!",
- "You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!",
- "You hear grinding porcelain.")
+ SPAN_NOTICE("You [cistern ? "replace the lid on the cistern" : "lift the lid off the cistern"]!"),
+ SPAN_ITALICS("You hear grinding porcelain."))
cistern = !cistern
update_icon()
return
@@ -189,22 +189,22 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
if("Stash")
stash_goods(I, user)
if("Disconnect")
- user.visible_message("[user] starts disconnecting [src].",
- "You begin disconnecting [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts disconnecting [src]."),
+ SPAN_NOTICE("You begin disconnecting [src]..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!loc || !anchored)
return
- user.visible_message("[user] disconnects [src]!",
- "You disconnect [src]!")
+ user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"),
+ SPAN_NOTICE("You disconnect [src]!"))
anchored = FALSE
if("Connect")
- user.visible_message("[user] starts connecting [src].",
- "You begin connecting [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts connecting [src]."),
+ SPAN_NOTICE("You begin connecting [src]..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!loc || anchored)
return
- user.visible_message("[user] connects [src]!",
- "You connect [src]!")
+ user.visible_message(SPAN_NOTICE("[user] connects [src]!"),
+ SPAN_NOTICE("You connect [src]!"))
anchored = TRUE
if("Rotate")
var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST)
@@ -218,17 +218,17 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
if(!I)
return
if(I.w_class > WEIGHT_CLASS_NORMAL)
- to_chat(user, "[I] does not fit!")
+ to_chat(user, SPAN_WARNING("[I] does not fit!"))
return
if(w_items + I.w_class > WEIGHT_CLASS_HUGE)
- to_chat(user, "The cistern is full!")
+ to_chat(user, SPAN_WARNING("The cistern is full!"))
return
if(!user.drop_item())
- to_chat(user, "[I] is stuck to your hand, you cannot put it in the cistern!")
+ to_chat(user, SPAN_WARNING("[I] is stuck to your hand, you cannot put it in the cistern!"))
return
I.loc = src
update_contents_weight_class()
- to_chat(user, "You carefully place [I] into the cistern.")
+ to_chat(user, SPAN_NOTICE("You carefully place [I] into the cistern."))
/obj/structure/urinal
name = "urinal"
@@ -243,21 +243,21 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
if(!G.confirm())
return ITEM_INTERACT_COMPLETE
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "Slamming [G.affecting] into [src] might hurt them!")
+ to_chat(user, SPAN_DANGER("Slamming [G.affecting] into [src] might hurt them!"))
return ITEM_INTERACT_COMPLETE
if(isliving(G.affecting))
var/mob/living/target = G.affecting
if(G.state >= GRAB_AGGRESSIVE)
if(target.loc != get_turf(src))
- to_chat(user, "[target] needs to be on [src].")
+ to_chat(user, SPAN_NOTICE("[target] needs to be on [src]."))
return ITEM_INTERACT_COMPLETE
user.changeNext_move(CLICK_CD_MELEE)
playsound(src.loc, 'sound/effects/bang.ogg', 25, TRUE)
- user.visible_message("[user] slams [target]'s head into [src]!",
- "You slam [target]'s head into [src]!")
+ user.visible_message(SPAN_DANGER("[user] slams [target]'s head into [src]!"),
+ SPAN_DANGER("You slam [target]'s head into [src]!"))
target.apply_damage(8, BRUTE, BODY_ZONE_HEAD, target.run_armor_check(BODY_ZONE_HEAD, MELEE))
else
- to_chat(user, "You need a tighter grip!")
+ to_chat(user, SPAN_WARNING("You need a tighter grip!"))
return ITEM_INTERACT_COMPLETE
return ..()
@@ -266,24 +266,24 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/toilet, 8, -8, 0, 0)
if(!I.tool_use_check(user, 0))
return
if(anchored)
- user.visible_message("[user] begins disconnecting [src]...",
- "You begin to disconnect [src]...")
+ user.visible_message(SPAN_NOTICE("[user] begins disconnecting [src]..."),
+ SPAN_NOTICE("You begin to disconnect [src]..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!loc || !anchored)
return
- user.visible_message("[user] disconnects [src]!",
- "You disconnect [src]!")
+ user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"),
+ SPAN_NOTICE("You disconnect [src]!"))
anchored = FALSE
pixel_x = 0
pixel_y = 0
else
- user.visible_message("[user] begins connecting [src]...",
- "You begin to connect [src]...")
+ user.visible_message(SPAN_NOTICE("[user] begins connecting [src]..."),
+ SPAN_NOTICE("You begin to connect [src]..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!loc || anchored)
return
- user.visible_message("[user] connects [src]!",
- "You connect [src]!")
+ user.visible_message(SPAN_NOTICE("[user] connects [src]!"),
+ SPAN_NOTICE("You connect [src]!"))
anchored = TRUE
pixel_x = 0
pixel_y = 32
@@ -367,14 +367,14 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
/obj/machinery/shower/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/analyzer))
- to_chat(user, "The water temperature seems to be [current_temperature].")
+ to_chat(user, SPAN_NOTICE("The water temperature seems to be [current_temperature]."))
return ITEM_INTERACT_COMPLETE
return ..()
/obj/machinery/shower/wrench_act(mob/living/user, obj/item/I)
..()
- to_chat(user, "You begin to adjust the temperature valve with [I].")
+ to_chat(user, SPAN_NOTICE("You begin to adjust the temperature valve with [I]."))
if(I.use_tool(src, user, 50))
switch(current_temperature)
if(SHOWER_NORMAL)
@@ -383,8 +383,8 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
current_temperature = SHOWER_BOILING
if(SHOWER_BOILING)
current_temperature = SHOWER_NORMAL
- user.visible_message("[user] adjusts the shower with \the [I].",
- "You adjust the shower with \the [I] to [current_temperature] temperature.")
+ user.visible_message(SPAN_NOTICE("[user] adjusts the shower with \the [I]."),
+ SPAN_NOTICE("You adjust the shower with \the [I] to [current_temperature] temperature."))
add_hiddenprint(user)
handle_mist()
return TRUE
@@ -392,15 +392,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
/obj/machinery/shower/welder_act(mob/living/user, obj/item/I)
. = TRUE
if(on)
- to_chat(user, "Turn [src] off before you attempt to cut it loose.")
+ to_chat(user, SPAN_WARNING("Turn [src] off before you attempt to cut it loose."))
return
if(!I.tool_use_check(user, 0))
return
- visible_message("[user] begins slicing [src] free...",
- "You begin slicing [src] free...",
- "You hear welding.")
+ visible_message(SPAN_NOTICE("[user] begins slicing [src] free..."),
+ SPAN_NOTICE("You begin slicing [src] free..."),
+ SPAN_WARNING("You hear welding."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
- user.visible_message("[user] cuts [src] loose!", "You cut [src] loose!")
+ user.visible_message(SPAN_NOTICE("[user] cuts [src] loose!"), SPAN_NOTICE("You cut [src] loose!"))
var/obj/item/mounted/shower/S = new /obj/item/mounted/shower(get_turf(user))
transfer_prints_to(S, TRUE)
qdel(src)
@@ -486,10 +486,10 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/machinery/shower, 16, -5, 0, 0)
var/mob/living/carbon/C = M
if(current_temperature == SHOWER_FREEZING)
- to_chat(C, "The water is freezing!")
+ to_chat(C, SPAN_WARNING("The water is freezing!"))
else if(current_temperature == SHOWER_BOILING)
- to_chat(C, "The water is searing!")
+ to_chat(C, SPAN_WARNING("The water is searing!"))
#undef SHOWER_FREEZING
#undef SHOWER_NORMAL
@@ -531,7 +531,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
if(..())
return
if(!anchored)
- to_chat(user, "[src] isn't connected, wrench it into position first!")
+ to_chat(user, SPAN_WARNING("[src] isn't connected, wrench it into position first!"))
return
var/obj/item/organ/external/temp = user.bodyparts_by_name["r_hand"]
@@ -541,7 +541,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
to_chat(user, "You try to move your [temp], but cannot!")
return
if(sink_flags & SINK_BUSY)
- to_chat(user, "Someone's already washing here.")
+ to_chat(user, SPAN_NOTICE("Someone's already washing here."))
return
var/selected_area = parse_zone(user.zone_selected)
@@ -549,8 +549,8 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
if(selected_area in list("head", "mouth", "eyes"))
washing_face = TRUE
sink_flags |= SINK_BUSY
- user.visible_message("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]...", \
- "You start washing your [washing_face ? "face" : "hands"]...")
+ user.visible_message(SPAN_NOTICE("[user] starts washing [user.p_their()] [washing_face ? "face" : "hands"]..."), \
+ SPAN_NOTICE("You start washing your [washing_face ? "face" : "hands"]..."))
if(!do_after(user, 4 SECONDS, target = src))
sink_flags &= ~SINK_BUSY
return
@@ -563,15 +563,15 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
else
user.clean_blood()
sink_flags &= ~SINK_BUSY
- user.visible_message("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src].", \
- "You wash your [washing_face ? "face" : "hands"] using [src].")
+ user.visible_message(SPAN_NOTICE("[user] washes [user.p_their()] [washing_face ? "face" : "hands"] using [src]."), \
+ SPAN_NOTICE("You wash your [washing_face ? "face" : "hands"] using [src]."))
/obj/structure/sink/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(sink_flags & SINK_BUSY)
- to_chat(user, "Someone's already washing here!")
+ to_chat(user, SPAN_WARNING("Someone's already washing here!"))
return ITEM_INTERACT_COMPLETE
if(!anchored)
- to_chat(user, "[src] isn't connected, wrench it into position first!")
+ to_chat(user, SPAN_WARNING("[src] isn't connected, wrench it into position first!"))
return ITEM_INTERACT_COMPLETE
sink_flags |= SINK_BUSY
if(used.wash(user, src))
@@ -600,22 +600,22 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink, 18, -4, 0, 0)
I.water_act(20, COLD_WATER_TEMPERATURE, src)
sink_flags &= ~SINK_BUSY
if("Disconnect")
- user.visible_message("[user] starts disconnecting [src].",
- "You begin disconnecting [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts disconnecting [src]."),
+ SPAN_NOTICE("You begin disconnecting [src]..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!loc || !anchored)
return
- user.visible_message("[user] disconnects [src]!",
- "You disconnect [src]!")
+ user.visible_message(SPAN_NOTICE("[user] disconnects [src]!"),
+ SPAN_NOTICE("You disconnect [src]!"))
anchored = FALSE
if("Connect")
- user.visible_message("[user] starts connecting [src].",
- "You begin connecting [src]...")
+ user.visible_message(SPAN_NOTICE("[user] starts connecting [src]."),
+ SPAN_NOTICE("You begin connecting [src]..."))
if(I.use_tool(src, user, 40, volume = I.tool_volume))
if(!loc || anchored)
return
- user.visible_message("[user] connects [src]!",
- "You connect [src]!")
+ user.visible_message(SPAN_NOTICE("[user] connects [src]!"),
+ SPAN_NOTICE("You connect [src]!"))
anchored = TRUE
if("Rotate")
var/list/dir_choices = list("North" = NORTH, "East" = EAST, "South" = SOUTH, "West" = WEST)
@@ -691,7 +691,7 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0
if(!on_wall || !user)
return
if(!(get_dir(user, on_wall) in GLOB.cardinal))
- to_chat(user, "You need to be standing next to a wall to place \the [src].")
+ to_chat(user, SPAN_WARNING("You need to be standing next to a wall to place \the [src]."))
return
return TRUE
@@ -729,13 +729,13 @@ MAPPING_DIRECTIONAL_HELPERS_CUSTOM(/obj/structure/sink/kitchen/old, 18, -4, 0, 0
return
var/turf/T = get_turf(user)
if(!T)
- to_chat(user, "You can't build that here!")
+ to_chat(user, SPAN_WARNING("You can't build that here!"))
return
- user.visible_message("[user] begins assembling a new [result_name].",
- "You begin assembling a new [result_name].")
+ user.visible_message(SPAN_NOTICE("[user] begins assembling a new [result_name]."),
+ SPAN_NOTICE("You begin assembling a new [result_name]."))
if(do_after(user, 3 SECONDS, target = user))
- user.visible_message("[user] finishes building a new [result_name]!",
- "You finish building a new [result_name]!")
+ user.visible_message(SPAN_NOTICE("[user] finishes building a new [result_name]!"),
+ SPAN_NOTICE("You finish building a new [result_name]!"))
var/obj/structure/S = new result(T)
S.anchored = FALSE
S.dir = user.dir
diff --git a/code/game/objects/structures/windoor_assembly.dm b/code/game/objects/structures/windoor_assembly.dm
index 5a3c261d1a1..a4a51b333b1 100644
--- a/code/game/objects/structures/windoor_assembly.dm
+++ b/code/game/objects/structures/windoor_assembly.dm
@@ -32,20 +32,20 @@
switch(state)
if(EMPTY_ASSEMBLY)
if(anchored)
- . += "The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring."
+ . += SPAN_NOTICE("The anchoring bolts are wrenched in place, but the maintenance panel lacks wiring.")
else
- . += "The assembly is welded together, but the anchoring bolts are unwrenched."
+ . += SPAN_NOTICE("The assembly is welded together, but the anchoring bolts are unwrenched.")
if(!secure)
- . += "The frame has empty slots for plasteel reinforcements."
+ . += SPAN_NOTICE("The frame has empty slots for plasteel reinforcements.")
if(WIRED_ASSEMBLY)
if(electronics)
- . += "The circuit is connected to its slot, but the windoor is not lifted into the frame."
- . += "The assembly has its electrochromic panel [polarized_glass ? "enabled" : "disabled"] and can be configured."
+ . += SPAN_NOTICE("The circuit is connected to its slot, but the windoor is not lifted into the frame.")
+ . += SPAN_NOTICE("The assembly has its electrochromic panel [polarized_glass ? "enabled" : "disabled"] and can be configured.")
else
- . += "The maintenance panel is wired, but the circuit slot is empty."
+ . += SPAN_NOTICE("The maintenance panel is wired, but the circuit slot is empty.")
- . += "Alt-Click to rotate it."
- . += "Alt-Shift-Click to flip it."
+ . += SPAN_NOTICE("Alt-Click to rotate it.")
+ . += SPAN_NOTICE("Alt-Shift-Click to flip it.")
/obj/structure/windoor_assembly/Initialize(mapload, set_dir)
. = ..()
@@ -116,9 +116,9 @@
if(istype(W, /obj/item/stack/sheet/plasteel) && !secure)
var/obj/item/stack/sheet/plasteel/P = W
if(P.get_amount() < 2)
- to_chat(user, "You need more plasteel to do this!")
+ to_chat(user, SPAN_WARNING("You need more plasteel to do this!"))
return
- to_chat(user, "You start to reinforce the windoor with plasteel...")
+ to_chat(user, SPAN_NOTICE("You start to reinforce the windoor with plasteel..."))
if(do_after(user, 40 * P.toolspeed, target = src))
if(!src || secure || P.get_amount() < 2)
@@ -126,7 +126,7 @@
playsound(loc, P.usesound, 100, 1)
P.use(2)
- to_chat(user, "You reinforce the windoor.")
+ to_chat(user, SPAN_NOTICE("You reinforce the windoor."))
secure = TRUE
if(anchored)
name = "secure anchored windoor assembly"
@@ -142,7 +142,7 @@
return
var/obj/item/stack/cable_coil/CC = W
CC.use(1)
- to_chat(user, "You wire the windoor.")
+ to_chat(user, SPAN_NOTICE("You wire the windoor."))
playsound(loc, CC.usesound, 100, 1)
state = WIRED_ASSEMBLY
if(secure)
@@ -165,7 +165,7 @@
if(!src || electronics)
new_electronics.forceMove(loc)
return
- to_chat(user, "You install the windoor electronics.")
+ to_chat(user, SPAN_NOTICE("You install the windoor electronics."))
name = "near finished windoor assembly"
electronics = new_electronics
electronics.is_installed = TRUE
@@ -188,7 +188,7 @@
return
. = TRUE
if(!electronics)
- to_chat(user, "[src] is missing electronics!")
+ to_chat(user, SPAN_WARNING("[src] is missing electronics!"))
return
if(!I.tool_use_check(user, 0))
return
@@ -203,7 +203,7 @@
return
density = TRUE //Shouldn't matter but just incase
- to_chat(user, "You finish the windoor.")
+ to_chat(user, SPAN_NOTICE("You finish the windoor."))
var/obj/machinery/door/window/windoor
if(secure)
windoor = new /obj/machinery/door/window/brigdoor(src.loc)
@@ -247,7 +247,7 @@
user.visible_message("[user] removes the electronics from the windoor assembly.", "You start to uninstall the electronics from the windoor assembly...")
if(!I.use_tool(src, user, 40, volume = I.tool_volume))
return
- to_chat(user, "You remove the airlock electronics.")
+ to_chat(user, SPAN_NOTICE("You remove the airlock electronics."))
name = "wired windoor assembly"
var/obj/item/airlock_electronics/ae
ae = electronics
@@ -264,7 +264,7 @@
user.visible_message("[user] cuts the wires from the windoor assembly.", "You start to cut the wires from windoor assembly...")
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state != WIRED_ASSEMBLY)
return
- to_chat(user, "You cut the windoor wires.")
+ to_chat(user, SPAN_NOTICE("You cut the windoor wires."))
new/obj/item/stack/cable_coil(get_turf(user), 1)
state = EMPTY_ASSEMBLY
if(secure)
@@ -282,7 +282,7 @@
if(!anchored) //Wrenching an unsecure assembly anchors it in place. Step 4 complete
for(var/obj/machinery/door/window/WD in loc)
if(WD.dir == dir)
- to_chat(user, "There is already a windoor in that location!")
+ to_chat(user, SPAN_WARNING("There is already a windoor in that location!"))
return
user.visible_message("[user] secures the windoor assembly to the floor.", "You start to secure the windoor assembly to the floor...")
@@ -290,9 +290,9 @@
return
for(var/obj/machinery/door/window/WD in loc)
if(WD.dir == dir)
- to_chat(user, "There is already a windoor in that location!")
+ to_chat(user, SPAN_WARNING("There is already a windoor in that location!"))
return
- to_chat(user, "You secure the windoor assembly.")
+ to_chat(user, SPAN_NOTICE("You secure the windoor assembly."))
anchored = TRUE
if(secure)
name = "secure anchored windoor assembly"
@@ -303,7 +303,7 @@
user.visible_message("[user] unsecures the windoor assembly from the floor.", "You start to unsecure the windoor assembly from the floor...")
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || !anchored || state != EMPTY_ASSEMBLY)
return
- to_chat(user, "You unsecure the windoor assembly.")
+ to_chat(user, SPAN_NOTICE("You unsecure the windoor assembly."))
anchored = FALSE
if(secure)
name = "secure windoor assembly"
@@ -333,7 +333,7 @@
return
. = TRUE
if(!electronics)
- to_chat(user, "[src] is missing electronics!")
+ to_chat(user, SPAN_WARNING("[src] is missing electronics!"))
return
if(!I.tool_use_check(user, 0))
return
@@ -343,7 +343,7 @@
polarized_glass = !polarized_glass
- to_chat(user, "You [polarized_glass ? "enable" : "disable"] the electrochromic panel in the windoor assembly.")
+ to_chat(user, SPAN_NOTICE("You [polarized_glass ? "enable" : "disable"] the electrochromic panel in the windoor assembly."))
/obj/structure/windoor_assembly/AltClick(mob/user)
@@ -351,12 +351,12 @@
return
if(anchored)
- to_chat(user, "[src] cannot be rotated while it is fastened to the floor!")
+ to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!"))
return
var/target_dir = turn(dir, 90)
if(!valid_window_location(loc, target_dir))
- to_chat(user, "[src] cannot be rotated in that direction!")
+ to_chat(user, SPAN_WARNING("[src] cannot be rotated in that direction!"))
return
setDir(target_dir)
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index eec2cc0c76f..ce0907355e7 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -51,20 +51,20 @@
. = ..()
if(reinf)
if(anchored && state == WINDOW_SCREWED_TO_FRAME)
- . += "The window is screwed to the frame."
+ . += SPAN_NOTICE("The window is screwed to the frame.")
else if(anchored && state == WINDOW_IN_FRAME)
- . += "The window is unscrewed but pried into the frame."
+ . += SPAN_NOTICE("The window is unscrewed but pried into the frame.")
else if(anchored && state == WINDOW_OUT_OF_FRAME)
- . += "The window is out of the frame, but could be pried in. It is screwed to the floor."
+ . += SPAN_NOTICE("The window is out of the frame, but could be pried in. It is screwed to the floor.")
else if(!anchored)
- . += "The window is unscrewed from the floor, and could be deconstructed by wrenching."
+ . += SPAN_NOTICE("The window is unscrewed from the floor, and could be deconstructed by wrenching.")
else
if(anchored)
- . += "The window is screwed to the floor."
+ . += SPAN_NOTICE("The window is screwed to the floor.")
else
- . += "The window is unscrewed from the floor, and could be deconstructed by wrenching."
+ . += SPAN_NOTICE("The window is unscrewed from the floor, and could be deconstructed by wrenching.")
if(!anchored && !fulltile)
- . += "Alt-Click to rotate it."
+ . += SPAN_NOTICE("Alt-Click to rotate it.")
/obj/structure/window/Initialize(mapload, direct)
. = ..()
@@ -166,7 +166,7 @@
/obj/structure/window/attack_tk(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
- user.visible_message("Something knocks on [src].")
+ user.visible_message(SPAN_NOTICE("Something knocks on [src]."))
add_fingerprint(user)
playsound(src, 'sound/effects/glassknock.ogg', 50, 1)
@@ -181,8 +181,8 @@
if(user.a_intent == INTENT_HARM)
user.changeNext_move(CLICK_CD_MELEE)
playsound(src, 'sound/effects/glassbang.ogg', 100, 1)
- user.visible_message("[user] bangs against [src]!", \
- "You bang against [src]!", \
+ user.visible_message(SPAN_WARNING("[user] bangs against [src]!"), \
+ SPAN_WARNING("You bang against [src]!"), \
"You hear a banging sound.")
add_fingerprint(user)
else
@@ -203,7 +203,7 @@
. = ..()
if(. && M.environment_smash >= env_smash_level)
deconstruct(FALSE)
- M.visible_message("[M] smashes through [src]!", "You smash through [src].", "You hear glass breaking.")
+ M.visible_message(SPAN_DANGER("[M] smashes through [src]!"), SPAN_WARNING("You smash through [src]."), SPAN_WARNING("You hear glass breaking."))
/obj/structure/window/handle_basic_attack(mob/living/basic/attacker, modifiers)
if(!can_be_reached(attacker))
@@ -211,7 +211,7 @@
. = ..()
if(. && attacker.environment_smash >= env_smash_level)
deconstruct(FALSE)
- attacker.visible_message("[attacker] smashes through [src]!", "You smash through [src].", "You hear glass breaking.")
+ attacker.visible_message(SPAN_DANGER("[attacker] smashes through [src]!"), SPAN_WARNING("You smash through [src]."), SPAN_WARNING("You hear glass breaking."))
/obj/structure/window/item_interaction(mob/living/user, obj/item/I, list/modifiers)
. = ITEM_INTERACT_COMPLETE
@@ -223,7 +223,7 @@
for(var/obj/structure/grille/G in get_turf(src))
if(!G.broken)
continue
- to_chat(user, "You start rebuilding the broken grille.")
+ to_chat(user, SPAN_NOTICE("You start rebuilding the broken grille."))
if(do_after(user, 4 SECONDS, FALSE, G))
G.repair(user, I)
@@ -235,22 +235,22 @@
qdel(I) //gotta delete it here because if window breaks, it won't get deleted
switch(state)
if(1)
- M.visible_message("[user] slams [M] against \the [src]!")
+ M.visible_message(SPAN_WARNING("[user] slams [M] against \the [src]!"))
M.apply_damage(7)
take_damage(10)
if(2)
- M.visible_message("[user] bashes [M] against \the [src]!")
+ M.visible_message(SPAN_DANGER("[user] bashes [M] against \the [src]!"))
if(prob(50))
M.Weaken(2 SECONDS)
M.apply_damage(10)
take_damage(25)
if(3)
- M.visible_message("[user] crushes [M] against \the [src]!")
+ M.visible_message(SPAN_DANGER("[user] crushes [M] against \the [src]!"))
M.Weaken(10 SECONDS)
M.apply_damage(20)
take_damage(50)
if(4)
- visible_message("[user] smashes [M] against \the [src]!")
+ visible_message(SPAN_DANGER("[user] smashes [M] against \the [src]!"))
M.Weaken(10 SECONDS)
M.apply_damage(30)
take_damage(75)
@@ -271,11 +271,11 @@
if(!can_be_reached(user))
return
if(decon_speed) // Only show this if it actually takes time
- to_chat(user, "You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame...")
+ to_chat(user, SPAN_NOTICE("You begin to lever the window [state == WINDOW_OUT_OF_FRAME ? "into":"out of"] the frame..."))
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
state = (state == WINDOW_OUT_OF_FRAME ? WINDOW_IN_FRAME : WINDOW_OUT_OF_FRAME)
- to_chat(user, "You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame.")
+ to_chat(user, SPAN_NOTICE("You pry the window [state == WINDOW_IN_FRAME ? "into":"out of"] the frame."))
/obj/structure/window/screwdriver_act(mob/user, obj/item/I)
if(flags & NODECONSTRUCT)
@@ -286,31 +286,31 @@
if(reinf)
if(state == WINDOW_SCREWED_TO_FRAME || state == WINDOW_IN_FRAME)
if(decon_speed)
- to_chat(user, "You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame...")
+ to_chat(user, SPAN_NOTICE("You begin to [state == WINDOW_SCREWED_TO_FRAME ? "unscrew the window from":"screw the window to"] the frame..."))
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
state = (state == WINDOW_IN_FRAME ? WINDOW_SCREWED_TO_FRAME : WINDOW_IN_FRAME)
- to_chat(user, "You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame.")
+ to_chat(user, SPAN_NOTICE("You [state == WINDOW_IN_FRAME ? "unfasten the window from":"fasten the window to"] the frame."))
else if(state == WINDOW_OUT_OF_FRAME)
if(decon_speed)
- to_chat(user, "You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor...")
+ to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unscrew the frame from":"screw the frame to"] the floor..."))
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_state_and_anchored), state, anchored)))
return
anchored = !anchored
recalculate_atmos_connectivity()
update_nearby_icons()
- to_chat(user, "You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor.")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the frame to":"unfasten the frame from"] the floor."))
else //if we're not reinforced, we don't need to check or update state
if(decon_speed)
- to_chat(user, "You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor...")
+ to_chat(user, SPAN_NOTICE("You begin to [anchored ? "unscrew the window from":"screw the window to"] the floor..."))
if(!I.use_tool(src, user, decon_speed, volume = I.tool_volume, extra_checks = CALLBACK(src, PROC_REF(check_anchored), anchored)))
return
anchored = !anchored
recalculate_atmos_connectivity()
update_nearby_icons()
- to_chat(user, "You [anchored ? "fasten the window to":"unfasten the window from"] the floor.")
+ to_chat(user, SPAN_NOTICE("You [anchored ? "fasten the window to":"unfasten the window from"] the floor."))
/obj/structure/window/wrench_act(mob/user, obj/item/I)
if(flags & NODECONSTRUCT)
@@ -327,7 +327,7 @@
var/obj/item/stack/sheet/G = new glass_type(user.loc, glass_amount)
G.add_fingerprint(user)
playsound(src, 'sound/items/deconstruct.ogg', 50, 1)
- to_chat(user, "You successfully disassemble [src].")
+ to_chat(user, SPAN_NOTICE("You successfully disassemble [src]."))
qdel(src)
/obj/structure/window/welder_act(mob/user, obj/item/I)
@@ -337,7 +337,7 @@
if(!can_be_reached(user))
return
if(obj_integrity >= max_integrity)
- to_chat(user, "[src] is already in good condition!")
+ to_chat(user, SPAN_WARNING("[src] is already in good condition!"))
return
if(!I.tool_use_check(user, 0))
return
@@ -413,7 +413,7 @@
return
if(anchored)
- to_chat(user, "[src] cannot be rotated while it is fastened to the floor!")
+ to_chat(user, SPAN_WARNING("[src] cannot be rotated while it is fastened to the floor!"))
return FALSE
var/target_dir = turn(dir, 270)
@@ -421,7 +421,7 @@
if(!valid_window_location(loc, target_dir))
target_dir = turn(dir, 90)
if(!valid_window_location(loc, target_dir))
- to_chat(user, "There is no room to rotate [src].")
+ to_chat(user, SPAN_WARNING("There is no room to rotate [src]."))
return FALSE
setDir(target_dir)
@@ -599,7 +599,7 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] starts unwrenching [src] from the wall...", "You are unwrenching [src] from the wall...", "You hear ratcheting.")
+ user.visible_message(SPAN_NOTICE("[user] starts unwrenching [src] from the wall..."), SPAN_NOTICE("You are unwrenching [src] from the wall..."), SPAN_WARNING("You hear ratcheting."))
if(!I.use_tool(src, user, 50, volume = I.tool_volume))
return
WRENCH_UNANCHOR_WALL_MESSAGE
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index 300d259b064..3796749ce6a 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -151,7 +151,7 @@
var/obj/item/organ/external/affected = M.get_organ("head")
if(affected)
M.apply_damage(5, BRUTE, "head")
- M.visible_message("[M] hits their head on the ice!")
+ M.visible_message(SPAN_WARNING("[M] hits their head on the ice!"))
playsound(src, 'sound/weapons/genhit1.ogg', 50, 1)
if(TURF_WET_PERMAFROST) // Permafrost
diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm
index 90a333a5229..fd6c6c0dcc1 100644
--- a/code/game/turfs/simulated/floor.dm
+++ b/code/game/turfs/simulated/floor.dm
@@ -167,7 +167,7 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama
if(P.pipe_type != -1) // ANY PIPE
user.visible_message( \
"[user] starts sliding [P] along \the [src].", \
- "You slide [P] along \the [src].", \
+ SPAN_NOTICE("You slide [P] along \the [src]."), \
"You hear the scrape of metal against something.")
user.drop_item()
@@ -218,10 +218,10 @@ GLOBAL_LIST_INIT(icons_to_ignore_at_floor_init, list("damaged1","damaged2","dama
burnt = FALSE
current_overlay = null
if(user && !silent)
- to_chat(user, "You remove the broken plating.")
+ to_chat(user, SPAN_DANGER("You remove the broken plating."))
else
if(user && !silent)
- to_chat(user, "You remove the floor tile.")
+ to_chat(user, SPAN_DANGER("You remove the floor tile."))
if(floor_tile && make_tile)
new floor_tile(src)
return make_plating()
diff --git a/code/game/turfs/simulated/floor/asteroid_floors.dm b/code/game/turfs/simulated/floor/asteroid_floors.dm
index e4619fdfcea..ee7f6b4da01 100644
--- a/code/game/turfs/simulated/floor/asteroid_floors.dm
+++ b/code/game/turfs/simulated/floor/asteroid_floors.dm
@@ -34,7 +34,7 @@
if(!dug)
return TRUE
if(user)
- to_chat(user, "Looks like someone has dug here already.")
+ to_chat(user, SPAN_NOTICE("Looks like someone has dug here already."))
/turf/simulated/floor/plating/asteroid/try_replace_tile(obj/item/stack/tile/T, mob/user, params)
return
@@ -78,13 +78,13 @@
if(!istype(T))
return
- to_chat(user, "You start digging...")
+ to_chat(user, SPAN_NOTICE("You start digging..."))
playsound(src, used.usesound, 50, TRUE)
if(do_after(user, 40 * used.toolspeed, target = src))
if(!can_dig(user))
return TRUE
- to_chat(user, "You dig a hole.")
+ to_chat(user, SPAN_NOTICE("You dig a hole."))
getDug(used.bit_productivity_mod)
return TRUE
@@ -229,7 +229,7 @@
/turf/simulated/floor/plating/asteroid/snow/burn_tile()
if(!burnt)
- visible_message("[src] melts away!.")
+ visible_message(SPAN_DANGER("[src] melts away!."))
slowdown = 0
burnt = TRUE
icon_state = "snow_dug"
diff --git a/code/game/turfs/simulated/floor/chasm.dm b/code/game/turfs/simulated/floor/chasm.dm
index 06a58abac66..dd3d1e3605a 100644
--- a/code/game/turfs/simulated/floor/chasm.dm
+++ b/code/game/turfs/simulated/floor/chasm.dm
@@ -90,15 +90,15 @@
break
if(!inactive || inactive.tool_behaviour != TOOL_SCREWDRIVER)
- to_chat(user, "You need to hold a screwdriver in your other hand to secure this lattice.")
+ to_chat(user, SPAN_WARNING("You need to hold a screwdriver in your other hand to secure this lattice."))
return ITEM_INTERACT_COMPLETE
var/obj/item/stack/rods/R = used
if(R.use(1))
- to_chat(user, "You construct a lattice.")
+ to_chat(user, SPAN_NOTICE("You construct a lattice."))
playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE)
ReplaceWithLattice()
else
- to_chat(user, "You need one rod to build a lattice.")
+ to_chat(user, SPAN_WARNING("You need one rod to build a lattice."))
return ITEM_INTERACT_COMPLETE
@@ -109,12 +109,12 @@
if(S.use(1))
qdel(L)
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
- to_chat(user, "You build a floor.")
+ to_chat(user, SPAN_NOTICE("You build a floor."))
ChangeTurf(/turf/simulated/floor/plating, keep_icon = FALSE)
else
- to_chat(user, "You need one floor tile to build a floor!")
+ to_chat(user, SPAN_WARNING("You need one floor tile to build a floor!"))
else
- to_chat(user, "The plating is going to need some support! Place metal rods first.")
+ to_chat(user, SPAN_WARNING("The plating is going to need some support! Place metal rods first."))
return ITEM_INTERACT_COMPLETE
@@ -159,7 +159,7 @@
if(istype(H.belt, /obj/item/wormhole_jaunter))
var/obj/item/wormhole_jaunter/J = H.belt
//To freak out any bystanders
- visible_message("[H] falls into [src]!")
+ visible_message(SPAN_BOLDWARNING("[H] falls into [src]!"))
J.chasm_react(H)
return FALSE
return TRUE
@@ -171,8 +171,8 @@
falling_atoms[AM] = TRUE
var/turf/T = locate(drop_x, drop_y, drop_z)
if(T)
- AM.visible_message("[AM] falls into [src]!", "GAH! Ah... where are you?")
- T.visible_message("[AM] falls from above!")
+ AM.visible_message(SPAN_BOLDWARNING("[AM] falls into [src]!"), SPAN_USERDANGER("GAH! Ah... where are you?"))
+ T.visible_message(SPAN_BOLDWARNING("[AM] falls from above!"))
AM.forceMove(T)
if(isliving(AM))
var/mob/living/L = AM
@@ -219,7 +219,7 @@
if(!AM || QDELETED(AM))
return
falling_atoms[AM] = TRUE
- AM.visible_message("[AM] falls into [src]!", "You stumble and stare into an abyss before you. It stares back, and you fall \
+ AM.visible_message(SPAN_BOLDWARNING("[AM] falls into [src]!"), "You stumble and stare into an abyss before you. It stares back, and you fall \
into the enveloping dark.")
if(isliving(AM))
var/mob/living/L = AM
@@ -264,7 +264,7 @@
qdel(AM)
if(!QDELETED(AM)) //It's indestructible, mobs have already returned above!
- visible_message("[src] spits out [AM]!")
+ visible_message(SPAN_BOLDWARNING("[src] spits out [AM]!"))
AM.alpha = oldalpha
AM.color = oldcolor
AM.transform = oldtransform
@@ -300,10 +300,10 @@
SIGNAL_HANDLER
var/turf/ourturf = get_turf(src)
if(istype(ourturf, /turf/simulated/floor/chasm/straight_down/lava_land_surface))
- ourturf.visible_message("After a long climb, [escapee] leaps out of [ourturf]!")
+ ourturf.visible_message(SPAN_BOLDWARNING("After a long climb, [escapee] leaps out of [ourturf]!"))
else
playsound(ourturf, 'sound/effects/bang.ogg', 50, TRUE)
- ourturf.visible_message("[escapee] busts through [ourturf], leaping out of the chasm below!")
+ ourturf.visible_message(SPAN_BOLDWARNING("[escapee] busts through [ourturf], leaping out of the chasm below!"))
ourturf.ChangeTurf(ourturf.baseturf)
ADD_TRAIT(escapee, TRAIT_FLYING, "chasm_escape")
escapee.forceMove(ourturf)
@@ -354,8 +354,8 @@
falling_atoms[AM] = TRUE
pick_a_turf(AM)
if(T)
- AM.visible_message("[AM] falls into [src]!", "GAH! Ah... where are you?")
- T.visible_message("[AM] falls from above!")
+ AM.visible_message(SPAN_BOLDWARNING("[AM] falls into [src]!"), SPAN_USERDANGER("GAH! Ah... where are you?"))
+ T.visible_message(SPAN_BOLDWARNING("[AM] falls from above!"))
AM.forceMove(T)
if(isliving(AM))
var/mob/living/L = AM
diff --git a/code/game/turfs/simulated/floor/fancy_floor.dm b/code/game/turfs/simulated/floor/fancy_floor.dm
index 21e3ad6acae..01abef7f4be 100644
--- a/code/game/turfs/simulated/floor/fancy_floor.dm
+++ b/code/game/turfs/simulated/floor/fancy_floor.dm
@@ -28,16 +28,16 @@
broken = FALSE
burnt = FALSE
if(user && !silent)
- to_chat(user, "You remove the broken planks.")
+ to_chat(user, SPAN_NOTICE("You remove the broken planks."))
else
if(make_tile)
if(user && !silent)
- to_chat(user, "You unscrew the planks.")
+ to_chat(user, SPAN_NOTICE("You unscrew the planks."))
if(floor_tile)
new floor_tile(src)
else
if(user && !silent)
- to_chat(user, "You forcefully pry off the planks, destroying them in the process.")
+ to_chat(user, SPAN_WARNING("You forcefully pry off the planks, destroying them in the process."))
return make_plating()
/turf/simulated/floor/wood/airless
@@ -83,7 +83,7 @@
/turf/simulated/floor/grass/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/shovel))
- to_chat(user, "You shovel the grass.")
+ to_chat(user, SPAN_NOTICE("You shovel the grass."))
playsound(src, 'sound/effects/shovel_dig.ogg', 50, 1)
remove_tile()
return ITEM_INTERACT_COMPLETE
diff --git a/code/game/turfs/simulated/floor/lava.dm b/code/game/turfs/simulated/floor/lava.dm
index 1bb428f7f37..25f71102cdf 100644
--- a/code/game/turfs/simulated/floor/lava.dm
+++ b/code/game/turfs/simulated/floor/lava.dm
@@ -132,31 +132,31 @@
var/obj/item/stack/rods/lava/R = used
var/obj/structure/lattice/lava/H = locate(/obj/structure/lattice/lava, src)
if(H)
- to_chat(user, "There is already a lattice here!")
+ to_chat(user, SPAN_WARNING("There is already a lattice here!"))
return ITEM_INTERACT_COMPLETE
if(R.use(1))
- to_chat(user, "You construct a lattice.")
+ to_chat(user, SPAN_WARNING("You construct a lattice."))
playsound(src, 'sound/weapons/genhit.ogg', 50, TRUE)
new /obj/structure/lattice/lava(locate(x, y, z))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need one rod to build a heatproof lattice.")
+ to_chat(user, SPAN_WARNING("You need one rod to build a heatproof lattice."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/stack/tile/plasteel))
var/obj/structure/lattice/L = locate(/obj/structure/lattice/lava, src)
if(!L)
- to_chat(user, "The plating is going to need some support! Place metal rods first.")
+ to_chat(user, SPAN_WARNING("The plating is going to need some support! Place metal rods first."))
return ITEM_INTERACT_COMPLETE
var/obj/item/stack/tile/plasteel/S = used
if(S.use(1))
qdel(L)
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
- to_chat(user, "You build a floor.")
+ to_chat(user, SPAN_NOTICE("You build a floor."))
ChangeTurf(/turf/simulated/floor/plating, keep_icon = FALSE)
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need one floor tile to build a floor!")
+ to_chat(user, SPAN_WARNING("You need one floor tile to build a floor!"))
return ITEM_INTERACT_COMPLETE
/turf/simulated/floor/lava/screwdriver_act()
@@ -198,16 +198,16 @@
/turf/simulated/floor/lava/lava_land_surface/plasma/examine(mob/user)
. = ..()
- . += "Some liquid plasma could probably be scooped up with a container."
+ . += SPAN_NOTICE("Some liquid plasma could probably be scooped up with a container.")
/turf/simulated/floor/lava/lava_land_surface/plasma/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(!used.is_open_container())
return ..()
if(!used.reagents.add_reagent("plasma", 10))
- to_chat(user, "[used] is full.")
+ to_chat(user, SPAN_WARNING("[used] is full."))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You scoop out some plasma from the [src] using [used].")
+ to_chat(user, SPAN_NOTICE("You scoop out some plasma from the [src] using [used]."))
return ITEM_INTERACT_COMPLETE
/turf/simulated/floor/lava/lava_land_surface/plasma/burn_stuff(AM)
diff --git a/code/game/turfs/simulated/floor/light_floor.dm b/code/game/turfs/simulated/floor/light_floor.dm
index 61c5982b4ba..4c270088541 100644
--- a/code/game/turfs/simulated/floor/light_floor.dm
+++ b/code/game/turfs/simulated/floor/light_floor.dm
@@ -74,12 +74,12 @@
var/list/rgb = hsl2rgb(arglist(hsl))
color = "#[num2hex(rgb[1], 2)][num2hex(rgb[2], 2)][num2hex(rgb[3], 2)]"
- to_chat(user, "You change [src]'s light bulb color.")
+ to_chat(user, SPAN_NOTICE("You change [src]'s light bulb color."))
update_icon()
/turf/simulated/floor/light/proc/toggle_light(light)
if(!on && !power_check())
- visible_message("[src] doesn't react, it seems to be out of power.")
+ visible_message(SPAN_DANGER("[src] doesn't react, it seems to be out of power."))
return
var/area/A = get_area(src)
// 0 = OFF
@@ -95,7 +95,7 @@
/turf/simulated/floor/light/extinguish_light(force = FALSE)
toggle_light(FALSE)
- visible_message("[src] flickers and falls dark.")
+ visible_message(SPAN_DANGER("[src] flickers and falls dark."))
/turf/simulated/floor/light/clean(floor_only)
var/color_save = color
diff --git a/code/game/turfs/simulated/floor/mineral_floors.dm b/code/game/turfs/simulated/floor/mineral_floors.dm
index 138e8f272e1..87e6de97bdb 100644
--- a/code/game/turfs/simulated/floor/mineral_floors.dm
+++ b/code/game/turfs/simulated/floor/mineral_floors.dm
@@ -47,9 +47,9 @@
/turf/simulated/floor/mineral/plasma/welder_act(mob/user, obj/item/I)
if(I.use_tool(src, user, volume = I.tool_volume))
- user.visible_message("[user] sets [src] on fire!",\
- "[src] disintegrates into a cloud of plasma!",\
- "You hear a 'whoompf' and a roar.")
+ user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\
+ SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\
+ SPAN_WARNING("You hear a 'whoompf' and a roar."))
ignite(2500) //Big enough to ignite
message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1)
log_game("Plasma wall ignited by [key_name(user)] in ([x], [y], [z])")
@@ -210,7 +210,7 @@
/turf/simulated/floor/mineral/bananium/lubed/pry_tile(obj/item/C, mob/user, silent = FALSE) //I want to get off Mr Honk's Wild Ride
if(ishuman(user))
var/mob/living/carbon/human/H = user
- to_chat(H, "You lose your footing trying to pry off the tile!")
+ to_chat(H, SPAN_WARNING("You lose your footing trying to pry off the tile!"))
H.slip("the floor", 10 SECONDS, tilesSlipped = 4, walkSafely = 0, slipAny = 1)
return
diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm
index 85d2327278b..bc90dd1eced 100644
--- a/code/game/turfs/simulated/floor/misc_floor.dm
+++ b/code/game/turfs/simulated/floor/misc_floor.dm
@@ -165,7 +165,7 @@
/turf/simulated/floor/lubed/pry_tile(obj/item/C, mob/user, silent = FALSE) //I want to get off Mr Honk's Wild Ride
if(ishuman(user))
var/mob/living/carbon/human/H = user
- to_chat(H, "You lose your footing trying to pry off the tile!")
+ to_chat(H, SPAN_WARNING("You lose your footing trying to pry off the tile!"))
H.slip("the floor", 10 SECONDS, tilesSlipped = 4, walkSafely = 0, slipAny = 1)
return
@@ -216,10 +216,10 @@
. = TRUE
if(!I.tool_use_check(user, 0))
return
- user.visible_message("[user] begins slowly prying up [src]...", "You begin painstakingly prying up [src]...")
+ user.visible_message(SPAN_NOTICE("[user] begins slowly prying up [src]..."), SPAN_NOTICE("You begin painstakingly prying up [src]..."))
if(!I.use_tool(src, user, 70, volume = I.tool_volume))
return
- user.visible_message("[user] pries up [src]!", "You pry up [src]!")
+ user.visible_message(SPAN_NOTICE("[user] pries up [src]!"), SPAN_NOTICE("You pry up [src]!"))
make_plating()
/turf/simulated/floor/clockwork/make_plating()
diff --git a/code/game/turfs/simulated/floor/plating.dm b/code/game/turfs/simulated/floor/plating.dm
index 195d50a4e2b..be3182b7cb1 100644
--- a/code/game/turfs/simulated/floor/plating.dm
+++ b/code/game/turfs/simulated/floor/plating.dm
@@ -43,25 +43,25 @@
. = ..()
if(unfastened)
- . += "It has been unfastened."
+ . += SPAN_WARNING("It has been unfastened.")
/turf/simulated/floor/plating/item_interaction(mob/living/user, obj/item/used, list/modifiers)
if(istype(used, /obj/item/stack/rods))
if(broken || burnt)
- to_chat(user, "Repair the plating first!")
+ to_chat(user, SPAN_WARNING("Repair the plating first!"))
return ITEM_INTERACT_COMPLETE
var/obj/item/stack/rods/R = used
if(R.get_amount() < 2)
- to_chat(user, "You need two rods to make a reinforced floor!")
+ to_chat(user, SPAN_WARNING("You need two rods to make a reinforced floor!"))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You begin reinforcing the floor...")
+ to_chat(user, SPAN_NOTICE("You begin reinforcing the floor..."))
if(do_after(user, 30 * used.toolspeed, target = src))
if(R.get_amount() >= 2 && !istype(src, /turf/simulated/floor/engine))
ChangeTurf(/turf/simulated/floor/engine)
playsound(src, used.usesound, 80, 1)
R.use(2)
- to_chat(user, "You reinforce the floor.")
+ to_chat(user, SPAN_NOTICE("You reinforce the floor."))
return ITEM_INTERACT_COMPLETE
else if(istype(used, /obj/item/stack/tile))
@@ -73,17 +73,17 @@
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "This section is too damaged to support a tile! Use a welder to fix the damage.")
+ to_chat(user, SPAN_WARNING("This section is too damaged to support a tile! Use a welder to fix the damage."))
return ITEM_INTERACT_COMPLETE
else if(is_glass_sheet(used))
if(broken || burnt)
- to_chat(user, "Repair the plating first!")
+ to_chat(user, SPAN_WARNING("Repair the plating first!"))
return ITEM_INTERACT_COMPLETE
var/obj/item/stack/sheet/R = used
if(R.get_amount() < 2)
- to_chat(user, "You need two sheets to build a [used.name] floor!")
+ to_chat(user, SPAN_WARNING("You need two sheets to build a [used.name] floor!"))
return ITEM_INTERACT_COMPLETE
- to_chat(user, "You begin swapping the plating for [used]...")
+ to_chat(user, SPAN_NOTICE("You begin swapping the plating for [used]..."))
if(do_after(user, 3 SECONDS * used.toolspeed, target = src))
if(R.get_amount() >= 2 && !transparent_floor)
if(istype(used, /obj/item/stack/sheet/plasmaglass)) //So, what type of glass floor do we want today?
@@ -100,7 +100,7 @@
ChangeTurf(/turf/simulated/floor/transparent/glass/titanium/plasma)
playsound(src, used.usesound, 80, TRUE)
R.use(2)
- to_chat(user, "You swap the plating for [used].")
+ to_chat(user, SPAN_NOTICE("You swap the plating for [used]."))
new /obj/item/stack/sheet/metal(src, 2)
return ITEM_INTERACT_COMPLETE
@@ -117,12 +117,12 @@
return
. = TRUE
if(locate(/obj/structure/cable) in src)
- to_chat(user, "There is a cable still attached to [src]. Remove it first!")
+ to_chat(user, SPAN_NOTICE("There is a cable still attached to [src]. Remove it first!"))
return
- to_chat(user, "You start [unfastened ? "fastening" : "unfastening"] [src].")
+ to_chat(user, SPAN_NOTICE("You start [unfastened ? "fastening" : "unfastening"] [src]."))
if(!I.use_tool(src, user, 20, volume = I.tool_volume))
return
- to_chat(user, "You [unfastened ? "fasten" : "unfasten"] [src].")
+ to_chat(user, SPAN_NOTICE("You [unfastened ? "fasten" : "unfasten"] [src]."))
unfastened = !unfastened
/turf/simulated/floor/plating/welder_act(mob/user, obj/item/I)
@@ -134,14 +134,14 @@
if(user.a_intent == INTENT_HARM) // no repairing on harm intent, so you can use the welder in a fight near damaged paneling without welding your eyes out
return
if(unfastened)
- to_chat(user, "You start removing [src], exposing space after you're done!")
+ to_chat(user, SPAN_WARNING("You start removing [src], exposing space after you're done!"))
if(!I.use_tool(src, user, 50, volume = I.tool_volume * 2)) //extra loud to let people know something's going down
return
new /obj/item/stack/tile/plasteel(get_turf(src))
remove_plating(user)
return
if(I.use_tool(src, user, volume = I.tool_volume)) //If we got this far, something needs fixing
- to_chat(user, "You fix some dents on the broken plating.")
+ to_chat(user, SPAN_NOTICE("You fix some dents on the broken plating."))
overlays -= current_overlay
current_overlay = null
burnt = FALSE
@@ -211,7 +211,7 @@
if(!user)
return
. = TRUE
- to_chat(user, "You begin removing rods...")
+ to_chat(user, SPAN_NOTICE("You begin removing rods..."))
if(W.use_tool(src, user, 3 SECONDS, 0, 50))
if(!istype(src, /turf/simulated/floor/engine))
return
@@ -432,25 +432,25 @@
var/smash_prob = max(0, attacking.force * 17 - metal_kind * 25) // A crowbar will have a 60% chance of a breakthrough on alum, 35% on iron
if(prob(smash_prob))
// YAR BE CAUSIN A HULL BREACH
- visible_message("[user] smashes through \the [src] with \the [attacking]!")
+ visible_message(SPAN_DANGER("[user] smashes through \the [src] with \the [attacking]!"))
smash()
return FINISH_ATTACK
else
- visible_message("[user]'s [attacking.name] bounces against \the [src]!")
+ visible_message(SPAN_WARNING("[user]'s [attacking.name] bounces against \the [src]!"))
return FINISH_ATTACK
/turf/simulated/floor/plating/metalfoam/attack_animal(mob/living/simple_animal/M)
M.do_attack_animation(src)
if(M.melee_damage_upper == 0)
- M.visible_message("[M] nudges \the [src].")
+ M.visible_message(SPAN_NOTICE("[M] nudges \the [src]."))
else
if(M.attack_sound)
playsound(loc, M.attack_sound, 50, TRUE, 1)
- M.visible_message("\The [M] [M.attacktext] [src]!")
+ M.visible_message(SPAN_DANGER("\The [M] [M.attacktext] [src]!"))
smash(src)
/turf/simulated/floor/plating/metalfoam/attack_alien(mob/living/carbon/alien/humanoid/M)
- M.visible_message("[M] tears apart \the [src]!")
+ M.visible_message(SPAN_DANGER("[M] tears apart \the [src]!"))
smash(src)
/turf/simulated/floor/plating/metalfoam/burn_tile()
diff --git a/code/game/turfs/simulated/floor/transparent.dm b/code/game/turfs/simulated/floor/transparent.dm
index 8307228b5c7..e7a1794ae72 100644
--- a/code/game/turfs/simulated/floor/transparent.dm
+++ b/code/game/turfs/simulated/floor/transparent.dm
@@ -50,7 +50,7 @@
if(!I.tool_use_check(user, 0))
return
if(I.use_tool(src, user, volume = I.tool_volume))
- to_chat(user, "You fix some cracks in the glass.")
+ to_chat(user, SPAN_NOTICE("You fix some cracks in the glass."))
overlays -= current_overlay
current_overlay = null
burnt = FALSE
@@ -70,10 +70,10 @@
R = robouser.all_active_items[metal_slot]
if(!istype(R, /obj/item/stack/sheet/metal) || R.get_amount() < 2)
- to_chat(user, "You also need to hold two sheets of metal to dismantle \the [src]!")
+ to_chat(user, SPAN_DANGER("You also need to hold two sheets of metal to dismantle \the [src]!"))
return
- to_chat(user, "You begin replacing [src]...")
+ to_chat(user, SPAN_NOTICE("You begin replacing [src]..."))
playsound(src, I.usesound, 80, TRUE)
if(do_after(user, 3 SECONDS * I.toolspeed, target = src))
@@ -137,7 +137,7 @@
var/obj/item/thing = user.get_inactive_hand()
if(!thing || !(thing.tool_behaviour in get_prying_tools()))
return
- to_chat(user, "You need to hold two sheets of metal to dismantle \the [src]!")
+ to_chat(user, SPAN_DANGER("You need to hold two sheets of metal to dismantle \the [src]!"))
/turf/simulated/floor/transparent/glass/reinforced
name = "reinforced glass floor"
diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm
index 1128b229074..6d45d4cc727 100644
--- a/code/game/turfs/simulated/minerals.dm
+++ b/code/game/turfs/simulated/minerals.dm
@@ -73,7 +73,7 @@
return FINISH_ATTACK
if(!user.IsAdvancedToolUser())
- to_chat(usr, "You don't have the dexterity to do this!")
+ to_chat(usr, SPAN_WARNING("You don't have the dexterity to do this!"))
return FINISH_ATTACK
if(istype(attacking, /obj/item/pickaxe))
@@ -89,12 +89,12 @@
return FINISH_ATTACK
last_act = world.time
- to_chat(user, "You start picking...")
+ to_chat(user, SPAN_NOTICE("You start picking..."))
P.playDigSound()
if(do_after(user, mine_time * P.toolspeed, target = src))
if(ismineralturf(src)) //sanity check against turf being deleted during digspeed delay
- to_chat(user, "You finish cutting into the rock.")
+ to_chat(user, SPAN_NOTICE("You finish cutting into the rock."))
gets_drilled(user, productivity_mod = P.bit_productivity_mod)
SSblackbox.record_feedback("tally", "pick_used_mining", 1, P.name)
@@ -125,10 +125,10 @@
..()
/turf/simulated/mineral/attack_alien(mob/living/carbon/alien/M)
- to_chat(M, "You start digging into the rock...")
+ to_chat(M, SPAN_NOTICE("You start digging into the rock..."))
playsound(src, 'sound/effects/break_stone.ogg', 50, TRUE)
if(do_after(M, 40, target = src))
- to_chat(M, "You tunnel into the rock.")
+ to_chat(M, SPAN_NOTICE("You tunnel into the rock."))
gets_drilled(M)
/turf/simulated/mineral/Bumped(atom/movable/AM)
@@ -255,7 +255,7 @@
return TRUE
if(!(is_type_in_typecache(axe, allowed_picks_typecache)))
- to_chat(user, "Only diamond tools or a sonic jackhammer can break this rock.")
+ to_chat(user, SPAN_NOTICE("Only diamond tools or a sonic jackhammer can break this rock."))
return TRUE
/turf/simulated/mineral/ancient/lava_land_surface_hard
@@ -285,7 +285,7 @@
return TRUE
if(!(is_type_in_typecache(axe, allowed_picks_typecache)))
- to_chat(user, "Only diamond tools or a sonic jackhammer can break this rock.")
+ to_chat(user, SPAN_NOTICE("Only diamond tools or a sonic jackhammer can break this rock."))
return TRUE
/turf/simulated/mineral/random/high_chance
diff --git a/code/game/turfs/simulated/walls.dm b/code/game/turfs/simulated/walls.dm
index bd290989d0a..522c9811d57 100644
--- a/code/game/turfs/simulated/walls.dm
+++ b/code/game/turfs/simulated/walls.dm
@@ -71,20 +71,20 @@
. = ..()
if(!damage)
- . += "It looks fully intact."
+ . += SPAN_NOTICE("It looks fully intact.")
else
var/dam = damage / damage_cap
if(dam <= 0.3)
- . += "It looks slightly damaged."
+ . += SPAN_WARNING("It looks slightly damaged.")
else if(dam <= 0.6)
- . += "It looks moderately damaged."
+ . += SPAN_WARNING("It looks moderately damaged.")
else
- . += "It looks heavily damaged."
+ . += SPAN_DANGER("It looks heavily damaged.")
if(rotting)
- . += "There is fungus growing on [src]."
+ . += SPAN_WARNING("There is fungus growing on [src].")
if(can_dismantle_with_welder)
- . += "Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer."
+ . += SPAN_NOTICE("Using a lit welding tool on this item will allow you to slice through it, eventually removing the outer layer.")
/turf/simulated/wall/update_overlays()
. = ..()
@@ -188,7 +188,7 @@
if(our_rpd.mode == RPD_ATMOS_MODE)
if(!our_rpd.ranged)
playsound(src, "sound/weapons/circsawhit.ogg", 50, 1)
- user.visible_message("[user] starts drilling a hole in [src]...", "You start drilling a hole in [src]...", "You hear drilling.")
+ user.visible_message(SPAN_NOTICE("[user] starts drilling a hole in [src]..."), SPAN_NOTICE("You start drilling a hole in [src]..."), SPAN_WARNING("You hear drilling."))
if(!do_after(user, our_rpd.walldelay, target = src)) //Drilling into walls takes time
return
our_rpd.create_atmos_pipe(user, src)
@@ -202,7 +202,7 @@
switch(M.damtype)
if(BRUTE)
playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE)
- M.visible_message("[M.name] hits [src]!", "You hit [src]!")
+ M.visible_message(SPAN_DANGER("[M.name] hits [src]!"), SPAN_DANGER("You hit [src]!"))
if(prob(hardness + M.force) && M.force > 20)
dismantle_wall(1)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
@@ -244,7 +244,7 @@
O.layer = 5
if(user)
- to_chat(user, "The thermite starts melting through the wall.")
+ to_chat(user, SPAN_WARNING("The thermite starts melting through the wall."))
if(speed)
melting = TRUE
@@ -285,13 +285,13 @@
if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, 1)
dismantle_wall(1)
- to_chat(M, "You smash through the wall.")
+ to_chat(M, SPAN_NOTICE("You smash through the wall."))
else
- to_chat(M, "You smash against the wall.")
+ to_chat(M, SPAN_NOTICE("You smash against the wall."))
take_damage(rand(25, 75))
return
- to_chat(M, "You push the wall but nothing happens!")
+ to_chat(M, SPAN_NOTICE("You push the wall but nothing happens!"))
return
/turf/simulated/wall/attack_hulk(mob/user, does_attack_animation = FALSE)
@@ -304,21 +304,21 @@
else
playsound(src, 'sound/effects/bang.ogg', 50, 1)
add_dent(PROJECTILE_IMPACT_WALL_DENT_HIT)
- to_chat(user, "You punch the wall.")
+ to_chat(user, SPAN_NOTICE("You punch the wall."))
return TRUE
/turf/simulated/wall/attack_hand(mob/user)
user.changeNext_move(CLICK_CD_MELEE)
if(rotting)
if(hardness <= 10)
- to_chat(user, "This wall feels rather unstable.")
+ to_chat(user, SPAN_NOTICE("This wall feels rather unstable."))
return
else
- to_chat(user, "The wall crumbles under your touch.")
+ to_chat(user, SPAN_NOTICE("The wall crumbles under your touch."))
dismantle_wall()
return
- to_chat(user, "You push the wall but nothing happens!")
+ to_chat(user, SPAN_NOTICE("You push the wall but nothing happens!"))
playsound(src, 'sound/weapons/genhit.ogg', 25, 1)
add_fingerprint(user)
return ..()
@@ -358,7 +358,7 @@
for(var/obj/effect/overlay/wall_rot/WR in src)
qdel(WR)
rotting = FALSE
- to_chat(user, "You burn off the fungi with [I].")
+ to_chat(user, SPAN_NOTICE("You burn off the fungi with [I]."))
return
// Wall repair stuff
@@ -381,7 +381,7 @@
time = max(5, damage / 5)
WELDER_ATTEMPT_REPAIR_MESSAGE
else
- to_chat(user, "[src] doesn't need repairing.")
+ to_chat(user, SPAN_WARNING("[src] doesn't need repairing."))
return
if(I.use_tool(src, user, time, volume = I.tool_volume))
@@ -396,20 +396,20 @@
/turf/simulated/wall/proc/try_rot(obj/item/I, mob/user, params)
if((!I.sharp && I.force >= 10) || I.force >= 20)
- to_chat(user, "[src] crumbles away under the force of your [I.name].")
+ to_chat(user, SPAN_NOTICE("[src] crumbles away under the force of your [I.name]."))
dismantle_wall(1)
return TRUE
return FALSE
/turf/simulated/wall/proc/try_decon(obj/item/I, mob/user, params)
if(istype(I, /obj/item/gun/energy/plasmacutter))
- to_chat(user, "You begin slicing through the outer plating.")
+ to_chat(user, SPAN_NOTICE("You begin slicing through the outer plating."))
playsound(src, I.usesound, 100, 1)
if(do_after(user, istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) ? 120 * I.toolspeed : 60 * I.toolspeed, target = src))
- to_chat(user, "You remove the outer plating.")
+ to_chat(user, SPAN_NOTICE("You remove the outer plating."))
dismantle_wall()
- visible_message("[user] slices apart [src]!", "You hear metal being sliced apart.")
+ visible_message(SPAN_WARNING("[user] slices apart [src]!"), SPAN_WARNING("You hear metal being sliced apart."))
return TRUE
return FALSE
@@ -418,38 +418,38 @@
var/isdiamond = istype(sheet_type, /obj/item/stack/sheet/mineral/diamond) // snowflake bullshit
if(istype(I, /obj/item/pickaxe/drill/diamonddrill))
- to_chat(user, "You begin to drill though the wall.")
+ to_chat(user, SPAN_NOTICE("You begin to drill though the wall."))
if(do_after(user, isdiamond ? 480 * I.toolspeed : 240 * I.toolspeed, target = src)) // Diamond pickaxe has 0.25 toolspeed, so 120/60
- to_chat(user, "Your [I.name] tears though the last of the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your [I.name] tears though the last of the reinforced plating."))
dismantle_wall()
- visible_message("[user] drills through [src]!", "You hear the grinding of metal.")
+ visible_message(SPAN_WARNING("[user] drills through [src]!"), SPAN_WARNING("You hear the grinding of metal."))
return TRUE
else if(istype(I, /obj/item/pickaxe/drill/jackhammer))
- to_chat(user, "You begin to disintegrates the wall.")
+ to_chat(user, SPAN_NOTICE("You begin to disintegrates the wall."))
if(do_after(user, isdiamond ? 600 * I.toolspeed : 300 * I.toolspeed, target = src)) // Jackhammer has 0.1 toolspeed, so 60/30
- to_chat(user, "Your [I.name] disintegrates the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your [I.name] disintegrates the reinforced plating."))
dismantle_wall()
- visible_message("[user] disintegrates [src]!","You hear the grinding of metal.")
+ visible_message(SPAN_WARNING("[user] disintegrates [src]!"),SPAN_WARNING("You hear the grinding of metal."))
return TRUE
else if(istype(I, /obj/item/pyro_claws))
- to_chat(user, "You begin to melt the wall.")
+ to_chat(user, SPAN_NOTICE("You begin to melt the wall."))
if(do_after(user, isdiamond ? 60 * I.toolspeed : 30 * I.toolspeed, target = src)) // claws has 0.5 toolspeed, so 3/1.5 seconds
- to_chat(user, "Your [I.name] melts the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your [I.name] melts the reinforced plating."))
dismantle_wall()
- visible_message("[user] melts [src]!","You hear the hissing of steam.")
+ visible_message(SPAN_WARNING("[user] melts [src]!"),SPAN_WARNING("You hear the hissing of steam."))
return TRUE
else if(istype(I, /obj/item/zombie_claw))
- to_chat(user, "You begin to claw apart the wall.")
+ to_chat(user, SPAN_NOTICE("You begin to claw apart the wall."))
if(do_after(user, isdiamond ? 2 MINUTES * I.toolspeed : 1 MINUTES * I.toolspeed, target = src)) // 120/60 seconds by default
- to_chat(user, "Your [I.name] rip apart the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your [I.name] rip apart the reinforced plating."))
dismantle_wall()
- visible_message("[user] claws through [src]!","You hear the grinding of metal and bone.")
+ visible_message(SPAN_WARNING("[user] claws through [src]!"),SPAN_WARNING("You hear the grinding of metal and bone."))
return TRUE
return FALSE
@@ -467,15 +467,15 @@
if(P.pipe_type != -1) // ANY PIPE
playsound(get_turf(src), 'sound/weapons/circsawhit.ogg', 50, 1)
user.visible_message(
- "[user] starts drilling a hole in [src].",
- "You start drilling a hole in [src].",
- "You hear a drill.")
+ SPAN_NOTICE("[user] starts drilling a hole in [src]."),
+ SPAN_NOTICE("You start drilling a hole in [src]."),
+ SPAN_NOTICE("You hear a drill."))
if(do_after(user, 80 * P.toolspeed, target = src))
user.visible_message(
- "[user] drills a hole in [src] and pushes [P] into the void.",
- "You finish drilling [src] and push [P] into the void.",
- "You hear a ratchet.")
+ SPAN_NOTICE("[user] drills a hole in [src] and pushes [P] into the void."),
+ SPAN_NOTICE("You finish drilling [src] and push [P] into the void."),
+ SPAN_NOTICE("You hear a ratchet."))
user.drop_item()
if(P.is_bent_pipe()) // bent pipe rotation fix see construction.dm
diff --git a/code/game/turfs/simulated/walls_indestructible.dm b/code/game/turfs/simulated/walls_indestructible.dm
index 69e18edfc51..4a85c07a832 100644
--- a/code/game/turfs/simulated/walls_indestructible.dm
+++ b/code/game/turfs/simulated/walls_indestructible.dm
@@ -91,8 +91,8 @@
/turf/simulated/wall/indestructible/hierophant/proc/collapse()
if(prob(15))
- visible_message("[src] starts to rumble and groan as the lights fade on it, and it begins to collapse to rubble!",\
- "You hear metal groaning and tearing!")
+ visible_message(SPAN_WARNING("[src] starts to rumble and groan as the lights fade on it, and it begins to collapse to rubble!"),\
+ SPAN_WARNING("You hear metal groaning and tearing!"))
ChangeTurf(/turf/simulated/floor/indestructible/hierophant/two)
return
addtimer(CALLBACK(src, PROC_REF(collapse)), 10 SECONDS)
diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm
index 75aee1efa64..918ee89f41b 100644
--- a/code/game/turfs/simulated/walls_mineral.dm
+++ b/code/game/turfs/simulated/walls_mineral.dm
@@ -103,9 +103,9 @@
/turf/simulated/wall/mineral/plasma/welder_act(mob/user, obj/item/I)
if(I.tool_enabled)
ignite(2500) //The number's big enough
- user.visible_message("[user] sets [src] on fire!",\
- "[src] disintegrates into a cloud of plasma!",\
- "You hear a 'whoompf' and a roar.")
+ user.visible_message(SPAN_DANGER("[user] sets [src] on fire!"),\
+ SPAN_DANGER("[src] disintegrates into a cloud of plasma!"),\
+ SPAN_WARNING("You hear a 'whoompf' and a roar."))
message_admins("Plasma wall ignited by [key_name_admin(user)] in ([x], [y], [z] - JMP)",0,1)
log_game("Plasma wall ignited by [key_name(user)] in ([x], [y], [z])")
investigate_log("was ignited by [key_name(user)]",INVESTIGATE_ATMOS)
diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm
index d73b19feddb..ec9a61a994f 100644
--- a/code/game/turfs/simulated/walls_misc.dm
+++ b/code/game/turfs/simulated/walls_misc.dm
@@ -82,14 +82,14 @@
/turf/simulated/wall/clockwork/attack_hulk(mob/living/user, does_attack_animation = 0)
..()
if(heated)
- to_chat(user, "The wall is searing hot to the touch!")
+ to_chat(user, SPAN_USERDANGER("The wall is searing hot to the touch!"))
user.adjustFireLoss(5)
playsound(src, 'sound/machines/fryer/deep_fryer_emerge.ogg', 50, TRUE)
/turf/simulated/wall/clockwork/mech_melee_attack(obj/mecha/M)
..()
if(heated)
- to_chat(M.occupant, "The wall's intense heat completely reflects your [M.name]'s attack!")
+ to_chat(M.occupant, SPAN_USERDANGER("The wall's intense heat completely reflects your [M.name]'s attack!"))
M.take_damage(20, BURN)
/turf/simulated/wall/boss
diff --git a/code/game/turfs/simulated/walls_reinforced.dm b/code/game/turfs/simulated/walls_reinforced.dm
index 59a8dee1fac..6ba883bdf64 100644
--- a/code/game/turfs/simulated/walls_reinforced.dm
+++ b/code/game/turfs/simulated/walls_reinforced.dm
@@ -23,33 +23,33 @@
. = ..()
switch(d_state)
if(RWALL_INTACT)
- . += "The outer grille is fully intact."
+ . += SPAN_NOTICE("The outer grille is fully intact.")
if(RWALL_SUPPORT_LINES)
- . += "The outer grille has been cut, and the support lines are screwed securely to the outer cover."
+ . += SPAN_NOTICE("The outer grille has been cut, and the support lines are screwed securely to the outer cover.")
if(RWALL_COVER)
- . += "The support lines have been unscrewed, and the metal cover is welded firmly in place."
+ . += SPAN_NOTICE("The support lines have been unscrewed, and the metal cover is welded firmly in place.")
if(RWALL_CUT_COVER)
- . += "The metal cover has been sliced through, and is connected loosely to the girder."
+ . += SPAN_NOTICE("The metal cover has been sliced through, and is connected loosely to the girder.")
if(RWALL_BOLTS)
- . += "The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place."
+ . += SPAN_NOTICE("The outer cover has been pried away, and the bolts anchoring the support rods are wrenched in place.")
if(RWALL_SUPPORT_RODS)
- . += "The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder."
+ . += SPAN_NOTICE("The bolts anchoring the support rods have been loosened, but are still welded firmly to the girder.")
if(RWALL_SHEATH)
- . += "The support rods have been sliced through, and the outer sheath is connected loosely to the girder."
+ . += SPAN_NOTICE("The support rods have been sliced through, and the outer sheath is connected loosely to the girder.")
/turf/simulated/wall/r_wall/attack_by(obj/item/attacking, mob/user, params)
if(..())
return FINISH_ATTACK
if(d_state == RWALL_COVER && istype(attacking, /obj/item/gun/energy/plasmacutter))
- to_chat(user, "You begin slicing through the metal cover...")
+ to_chat(user, SPAN_NOTICE("You begin slicing through the metal cover..."))
if(attacking.use_tool(src, user, 40, volume = attacking.tool_volume) && d_state == RWALL_COVER)
d_state = RWALL_CUT_COVER
update_icon()
- to_chat(user, "You press firmly on the cover, dislodging it.")
+ to_chat(user, SPAN_NOTICE("You press firmly on the cover, dislodging it."))
return FINISH_ATTACK
else if(d_state == RWALL_SUPPORT_RODS && istype(attacking, /obj/item/gun/energy/plasmacutter))
- to_chat(user, "You begin slicing through the support rods...")
+ to_chat(user, SPAN_NOTICE("You begin slicing through the support rods..."))
if(attacking.use_tool(src, user, 70, volume = attacking.tool_volume) && d_state == RWALL_SUPPORT_RODS)
d_state = RWALL_SHEATH
update_icon()
@@ -59,15 +59,15 @@
// Repairing
if(istype(attacking, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/MS = attacking
- to_chat(user, "You begin patching-up the wall with [MS]...")
+ to_chat(user, SPAN_NOTICE("You begin patching-up the wall with [MS]..."))
if(do_after(user, max(20 * d_state, 100) * MS.toolspeed, target = src) && d_state)
if(!MS.use(1))
- to_chat(user, "You don't have enough [MS.name] for that!")
+ to_chat(user, SPAN_WARNING("You don't have enough [MS.name] for that!"))
return FINISH_ATTACK
d_state = RWALL_INTACT
update_icon()
QUEUE_SMOOTH_NEIGHBORS(src)
- to_chat(user, "You repair the last of the damage.")
+ to_chat(user, SPAN_NOTICE("You repair the last of the damage."))
return FINISH_ATTACK
/turf/simulated/wall/r_wall/welder_act(mob/user, obj/item/I)
@@ -80,18 +80,18 @@
if(!I.tool_use_check(user, 0))
return
if(d_state == RWALL_COVER)
- to_chat(user, "You begin slicing through the metal cover...")
+ to_chat(user, SPAN_NOTICE("You begin slicing through the metal cover..."))
if(I.use_tool(src, user, 60, volume = I.tool_volume) && d_state == RWALL_COVER)
d_state = RWALL_CUT_COVER
- to_chat(user, "You press firmly on the cover, dislodging it.")
+ to_chat(user, SPAN_NOTICE("You press firmly on the cover, dislodging it."))
else if(d_state == RWALL_SUPPORT_RODS)
- to_chat(user, "You begin slicing through the support rods...")
+ to_chat(user, SPAN_NOTICE("You begin slicing through the support rods..."))
if(I.use_tool(src, user, 100, volume = I.tool_volume) && d_state == RWALL_SUPPORT_RODS)
d_state = RWALL_SHEATH
else if(d_state == RWALL_CUT_COVER)
- to_chat(user, "You begin welding the metal cover back to the frame...")
+ to_chat(user, SPAN_NOTICE("You begin welding the metal cover back to the frame..."))
if(I.use_tool(src, user, 60, volume = I.tool_volume) && d_state == RWALL_CUT_COVER)
- to_chat(user, "The metal cover has been welded securely to the frame.")
+ to_chat(user, SPAN_NOTICE("The metal cover has been welded securely to the frame."))
d_state = RWALL_COVER
update_icon()
@@ -103,25 +103,25 @@
return
switch(d_state)
if(RWALL_CUT_COVER)
- to_chat(user, "You struggle to pry off the cover...")
+ to_chat(user, SPAN_NOTICE("You struggle to pry off the cover..."))
if(!I.use_tool(src, user, 100, volume = I.tool_volume) || d_state != RWALL_CUT_COVER)
return
d_state = RWALL_BOLTS
- to_chat(user, "You pry off the cover.")
+ to_chat(user, SPAN_NOTICE("You pry off the cover."))
if(RWALL_SHEATH)
- to_chat(user, "You struggle to pry off the outer sheath...")
+ to_chat(user, SPAN_NOTICE("You struggle to pry off the outer sheath..."))
if(!I.use_tool(src, user, 100, volume = I.tool_volume))
return
if(dismantle_wall())
- to_chat(user, "You pry off the outer sheath.")
+ to_chat(user, SPAN_NOTICE("You pry off the outer sheath."))
if(RWALL_BOLTS)
- to_chat(user, "You start to pry the cover back into place...")
+ to_chat(user, SPAN_NOTICE("You start to pry the cover back into place..."))
playsound(src, I.usesound, 100, 1)
if(!I.use_tool(src, user, 20, volume = I.tool_volume) || d_state != RWALL_BOLTS)
return
d_state = RWALL_CUT_COVER
- to_chat(user, "The metal cover has been pried back into place.")
+ to_chat(user, SPAN_NOTICE("The metal cover has been pried back into place."))
update_icon()
/turf/simulated/wall/r_wall/screwdriver_act(mob/user, obj/item/I)
@@ -132,17 +132,17 @@
return
var/state_check = d_state
if(d_state == RWALL_SUPPORT_LINES)
- to_chat(user, "You begin unsecuring the support lines...")
+ to_chat(user, SPAN_NOTICE("You begin unsecuring the support lines..."))
else
- to_chat(user, "You begin securing the support lines...")
+ to_chat(user, SPAN_NOTICE("You begin securing the support lines..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state_check != d_state)
return
if(d_state == RWALL_SUPPORT_LINES)
d_state = RWALL_COVER
- to_chat(user, "You unsecure the support lines.")
+ to_chat(user, SPAN_NOTICE("You unsecure the support lines."))
else
d_state = RWALL_SUPPORT_LINES
- to_chat(user, "The support lines have been secured.")
+ to_chat(user, SPAN_NOTICE("The support lines have been secured."))
update_icon()
/turf/simulated/wall/r_wall/wirecutter_act(mob/user, obj/item/I)
@@ -153,10 +153,10 @@
return
if(d_state == RWALL_INTACT)
d_state = RWALL_SUPPORT_LINES
- to_chat(user, "You cut the outer grille.")
+ to_chat(user, SPAN_NOTICE("You cut the outer grille."))
else
d_state = RWALL_INTACT
- to_chat(user, "You mend the outer grille.")
+ to_chat(user, SPAN_NOTICE("You mend the outer grille."))
update_icon()
/turf/simulated/wall/r_wall/wrench_act(mob/user, obj/item/I)
@@ -167,17 +167,17 @@
return
var/state_check = d_state
if(d_state == RWALL_BOLTS)
- to_chat(user, "You start loosening the anchoring bolts which secure the support rods to their frame...")
+ to_chat(user, SPAN_NOTICE("You start loosening the anchoring bolts which secure the support rods to their frame..."))
else
- to_chat(user, "You start tightening the bolts which secure the support rods to their frame...")
+ to_chat(user, SPAN_NOTICE("You start tightening the bolts which secure the support rods to their frame..."))
if(!I.use_tool(src, user, 40, volume = I.tool_volume) || state_check != d_state)
return
if(d_state == RWALL_BOLTS)
d_state = RWALL_SUPPORT_RODS
- to_chat(user, "You remove the bolts anchoring the support rods.")
+ to_chat(user, SPAN_NOTICE("You remove the bolts anchoring the support rods."))
else
d_state = RWALL_BOLTS
- to_chat(user, "You tighten the bolts anchoring the support rods.")
+ to_chat(user, SPAN_NOTICE("You tighten the bolts anchoring the support rods."))
update_icon()
/turf/simulated/wall/r_wall/try_decon(obj/item/I, mob/user, params) //Plasma cutter only works in the deconstruction steps!
@@ -185,32 +185,32 @@
/turf/simulated/wall/r_wall/try_destroy(obj/item/I, mob/user, params)
if(istype(I, /obj/item/pickaxe/drill/diamonddrill))
- to_chat(user, "You begin to drill though the wall...")
+ to_chat(user, SPAN_NOTICE("You begin to drill though the wall..."))
if(do_after(user, 800 * I.toolspeed, target = src)) // Diamond drill has 0.25 toolspeed, so 200
- to_chat(user, "Your drill tears through the last of the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your drill tears through the last of the reinforced plating."))
dismantle_wall()
return TRUE
if(istype(I, /obj/item/pickaxe/drill/jackhammer))
- to_chat(user, "You begin to disintegrate the wall...")
+ to_chat(user, SPAN_NOTICE("You begin to disintegrate the wall..."))
if(do_after(user, 1000 * I.toolspeed, target = src)) // Jackhammer has 0.1 toolspeed, so 100
- to_chat(user, "Your sonic jackhammer disintegrates the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your sonic jackhammer disintegrates the reinforced plating."))
dismantle_wall()
return TRUE
if(istype(I, /obj/item/pyro_claws))
- to_chat(user, "You begin to melt the wall...")
+ to_chat(user, SPAN_NOTICE("You begin to melt the wall..."))
if(do_after(user, 50 * I.toolspeed, target = src)) // claws has 0.5 toolspeed, so 2.5 seconds
- to_chat(user, "Your [I] melt the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your [I] melt the reinforced plating."))
dismantle_wall()
return TRUE
if(istype(I, /obj/item/zombie_claw))
- to_chat(user, "You begin to claw apart the wall.")
+ to_chat(user, SPAN_NOTICE("You begin to claw apart the wall."))
if(do_after(user, 2 MINUTES * I.toolspeed, target = src))
- to_chat(user, "Your [I.name] rip apart the reinforced plating.")
+ to_chat(user, SPAN_NOTICE("Your [I.name] rip apart the reinforced plating."))
dismantle_wall()
return TRUE
diff --git a/code/game/turfs/space/space_turf.dm b/code/game/turfs/space/space_turf.dm
index 647bbbd6d58..de52bdf38d5 100644
--- a/code/game/turfs/space/space_turf.dm
+++ b/code/game/turfs/space/space_turf.dm
@@ -71,24 +71,24 @@
var/obj/structure/lattice/L = locate(/obj/structure/lattice, src)
var/obj/structure/lattice/catwalk/W = locate(/obj/structure/lattice/catwalk, src)
if(W)
- to_chat(user, "There is already a catwalk here!")
+ to_chat(user, SPAN_WARNING("There is already a catwalk here!"))
return ITEM_INTERACT_COMPLETE
if(L)
if(R.use(1))
- to_chat(user, "You construct a catwalk.")
+ to_chat(user, SPAN_NOTICE("You construct a catwalk."))
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
new/obj/structure/lattice/catwalk(src)
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need two rods to build a catwalk!")
+ to_chat(user, SPAN_WARNING("You need two rods to build a catwalk!"))
return ITEM_INTERACT_COMPLETE
if(R.use(1))
- to_chat(user, "Constructing support lattice...")
+ to_chat(user, SPAN_NOTICE("Constructing support lattice..."))
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
ReplaceWithLattice()
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need one rod to build a lattice.")
+ to_chat(user, SPAN_WARNING("You need one rod to build a lattice."))
return ITEM_INTERACT_COMPLETE
if(istype(used, /obj/item/stack/tile/plasteel))
@@ -98,14 +98,14 @@
if(S.use(1))
qdel(L)
playsound(src, 'sound/weapons/genhit.ogg', 50, 1)
- to_chat(user, "You build a floor.")
+ to_chat(user, SPAN_NOTICE("You build a floor."))
ChangeTurf(/turf/simulated/floor/plating)
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "You need one floor tile to build a floor!")
+ to_chat(user, SPAN_WARNING("You need one floor tile to build a floor!"))
return ITEM_INTERACT_COMPLETE
else
- to_chat(user, "The plating is going to need some support! Place metal rods first.")
+ to_chat(user, SPAN_WARNING("The plating is going to need some support! Place metal rods first."))
return ITEM_INTERACT_COMPLETE
return ..()
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 790858016ab..84983f2a0ec 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -195,7 +195,7 @@
else if(our_rpd.mode == RPD_DISPOSALS_MODE)
for(var/obj/machinery/door/airlock/A in src)
if(A.density)
- to_chat(user, "That type of pipe won't fit under [A]!")
+ to_chat(user, SPAN_WARNING("That type of pipe won't fit under [A]!"))
return
our_rpd.create_disposals_pipe(user, src)
else if(our_rpd.mode == RPD_TRANSIT_MODE)
@@ -668,7 +668,7 @@
if(mob_hurt || !density)
return
playsound(src, 'sound/weapons/punch1.ogg', 35, 1)
- C.visible_message("[C] slams into [src]!", "You slam into [src]!")
+ C.visible_message(SPAN_DANGER("[C] slams into [src]!"), SPAN_USERDANGER("You slam into [src]!"))
if(issilicon(C))
C.adjustBruteLoss(damage)
C.Weaken(3 SECONDS)
diff --git a/code/game/verbs/ooc.dm b/code/game/verbs/ooc.dm
index 9947b3d0976..80d30fb9f13 100644
--- a/code/game/verbs/ooc.dm
+++ b/code/game/verbs/ooc.dm
@@ -14,18 +14,18 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
if(!mob)
return
if(IsGuestKey(key))
- to_chat(src, "Guests may not use OOC.", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(src, SPAN_DANGER("Guests may not use OOC.") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(!check_rights(R_ADMIN|R_MOD, 0))
if(!GLOB.ooc_enabled)
- to_chat(src, "OOC is globally muted.", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(src, SPAN_DANGER("OOC is globally muted.") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(!GLOB.dooc_enabled && (mob.stat == DEAD))
- to_chat(usr, "OOC for dead mobs has been turned off.", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(usr, SPAN_DANGER("OOC for dead mobs has been turned off.") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(check_mute(ckey, MUTE_OOC))
- to_chat(src, "You cannot use OOC (muted).", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(src, SPAN_DANGER("You cannot use OOC (muted).") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(!msg)
@@ -36,12 +36,12 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
return
if(!(prefs.toggles & PREFTOGGLE_CHAT_OOC))
- to_chat(src, "You have OOC muted.")
+ to_chat(src, SPAN_DANGER("You have OOC muted.") )
return
if(!check_rights(R_ADMIN|R_MOD,0))
if(!GLOB.ooc_enabled)
- to_chat(src, "OOC is globally muted.")
+ to_chat(src, SPAN_DANGER("OOC is globally muted.") )
return
if(handle_spam_prevention(msg, MUTE_OOC, OOC_COOLDOWN))
return
@@ -80,7 +80,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
if(GLOB.configuration.general.enable_ooc_emoji)
msg = emoji_parse(msg)
- to_chat(C, "OOC: [display_name]: [msg]")
+ to_chat(C, "[SPAN_OOC("[SPAN_PREFIX("OOC:")] [display_name]: [SPAN_MESSAGE("[msg]")]")]")
/client/proc/get_ooc_color()
if(!holder || holder.fakekey)
@@ -114,18 +114,18 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
if(!mob)
return
if(IsGuestKey(key))
- to_chat(src, "Guests may not use LOOC.", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(src, SPAN_DANGER("Guests may not use LOOC.") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(!check_rights(R_ADMIN|R_MOD,0))
if(!GLOB.looc_enabled)
- to_chat(src, "LOOC is globally muted.", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(src, SPAN_DANGER("LOOC is globally muted.") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(!GLOB.dooc_enabled && (mob.stat == DEAD))
- to_chat(usr, "LOOC for dead mobs has been turned off.", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(usr, SPAN_DANGER("LOOC for dead mobs has been turned off.") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(check_mute(ckey, MUTE_OOC))
- to_chat(src, "You cannot use LOOC (muted).", MESSAGE_TYPE_WARNING, confidential = TRUE)
+ to_chat(src, SPAN_DANGER("You cannot use LOOC (muted).") , MESSAGE_TYPE_WARNING, confidential = TRUE)
return
if(!msg)
@@ -136,7 +136,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
return
if(!(prefs.toggles & PREFTOGGLE_CHAT_LOOC))
- to_chat(src, "You have LOOC muted.")
+ to_chat(src, SPAN_DANGER("You have LOOC muted.") )
return
if(!check_rights(R_ADMIN|R_MOD,0))
@@ -192,7 +192,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
prefix = "(R)"
if(send)
- to_chat(target, "LOOC[prefix]: [display_name][admin_stuff]: [msg]", MESSAGE_TYPE_OOC)
+ to_chat(target, SPAN_OOC("[SPAN_LOOC("LOOC[SPAN_PREFIX("[prefix]: ")][display_name][admin_stuff]: [SPAN_MESSAGE("[msg]")]")]"), MESSAGE_TYPE_OOC)
// Ported from /tg/, full credit to SpaceManiac and Timberpoes.
@@ -291,7 +291,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
if(!key)
return
if(!SSdbcore.IsConnected())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, SPAN_DANGER("Failed to establish database connection.") )
return
var/list/output = list("")
var/datum/db_query/query_get_notes = SSdbcore.NewQuery({"
@@ -300,7 +300,7 @@ GLOBAL_VAR_INIT(admin_ooc_colour, "#b82e00")
"targetkey" = ckey
))
if(!query_get_notes.warn_execute())
- to_chat(src, "Unfortunately, we were not able to retrieve your notes.")
+ to_chat(src, SPAN_DANGER("Unfortunately, we were not able to retrieve your notes.") )
qdel(query_get_notes)
return
output += "Notes of [ckey]
Don't discuss warnings or other punishments from the admins in Paradise Discord."
diff --git a/code/game/verbs/randomtip.dm b/code/game/verbs/randomtip.dm
index 00df350e9a0..d49046e5608 100644
--- a/code/game/verbs/randomtip.dm
+++ b/code/game/verbs/randomtip.dm
@@ -13,4 +13,4 @@
m = pick(memetips)
if(m)
- to_chat(src, "Tip: [html_encode(m)]")
+ to_chat(src, SPAN_PURPLE("Tip: [html_encode(m)]"))
diff --git a/code/game/verbs/suicide.dm b/code/game/verbs/suicide.dm
index 51919c640a5..5e79e8bf676 100644
--- a/code/game/verbs/suicide.dm
+++ b/code/game/verbs/suicide.dm
@@ -22,7 +22,7 @@
if(IS_CHANGELING(src))
// the alternative is to allow clings to commit suicide, but then you'd probably have them
// killing themselves as soon as they're in cuffs
- to_chat(src, "We refuse to take the coward's way out.")
+ to_chat(src, SPAN_WARNING("We refuse to take the coward's way out."))
return
confirm = tgui_alert(src, "Are you sure you want to commit suicide?", "Confirm Suicide", list("Yes", "No"))
@@ -53,11 +53,11 @@
setOxyLoss((health * 1.5), TRUE)
/mob/living/basic/mouse/do_suicide()
- visible_message("[src] is playing dead permanently! It looks like [p_theyre()] trying to commit suicide!")
+ visible_message(SPAN_DANGER("[src] is playing dead permanently! It looks like [p_theyre()] trying to commit suicide!"))
adjustOxyLoss(max(100 - getBruteLoss(100), 0))
/mob/living/silicon/do_suicide()
- to_chat(viewers(src), "[src] is powering down. It looks like [p_theyre()] trying to commit suicide!")
+ to_chat(viewers(src), SPAN_DANGER("[src] is powering down. It looks like [p_theyre()] trying to commit suicide!"))
//put em at -175
adjustOxyLoss(max(maxHealth * 2 - getToxLoss() - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
@@ -67,7 +67,7 @@
card.removePersonality()
var/turf/T = get_turf(card.loc)
for(var/mob/M in viewers(T))
- M.show_message("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\"", 3, "[src] bleeps electronically.", 2)
+ M.show_message(SPAN_NOTICE("[src] flashes a message across its screen, \"Wiping core files. Please acquire a new personality to continue using pAI device functions.\""), 3, SPAN_NOTICE("[src] bleeps electronically."), 2)
death(gibbed = FALSE, cleanWipe = TRUE)
/mob/living/carbon/do_suicide()
@@ -75,7 +75,7 @@
suiciding = FALSE
/mob/living/carbon/alien/humanoid/do_suicide()
- to_chat(viewers(src), "[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide!")
+ to_chat(viewers(src), SPAN_DANGER("[src] is thrashing wildly! It looks like [p_theyre()] trying to commit suicide!"))
//put em at -175
adjustOxyLoss(max(175 - getFireLoss() - getBruteLoss() - getOxyLoss(), 0))
@@ -107,7 +107,7 @@
human_suicide(damagetype, O)
return
- to_chat(viewers(src), "[src] [replacetext(pick(dna.species.suicide_messages), "their", p_their())] It looks like [p_theyre()] trying to commit suicide!")
+ to_chat(viewers(src), SPAN_DANGER("[src] [replacetext(pick(dna.species.suicide_messages), "their", p_their())] It looks like [p_theyre()] trying to commit suicide!"))
human_suicide(0)
/mob/living/carbon/human/proc/human_suicide(damagetype, byitem)
@@ -160,5 +160,5 @@
updatehealth()
/mob/living/brain/do_suicide()
- visible_message("[src] is thinking about thinking about thinking about thinking about.... It looks like [p_theyre()] trying to commit suicide!")
+ visible_message(SPAN_DANGER("[src] is thinking about thinking about thinking about thinking about.... It looks like [p_theyre()] trying to commit suicide!"))
death()
diff --git a/code/game/verbs/switch_server.dm b/code/game/verbs/switch_server.dm
index ae8b7fc96ad..78f7a99724a 100644
--- a/code/game/verbs/switch_server.dm
+++ b/code/game/verbs/switch_server.dm
@@ -29,7 +29,7 @@
formatted_servers["[server_data["server_name"]] - ([server_data["playercount"]] playing)"] = text2num(server_data["server_port"])
if(length(formatted_servers) == 1)
- to_chat(usr, "You are already connected to the one online instance!")
+ to_chat(usr, SPAN_WARNING("You are already connected to the one online instance!"))
return
var/selected_server = input(usr, "Select a server", "Server hop") as anything in formatted_servers
@@ -37,11 +37,11 @@
return // Should never happen
if(formatted_servers[selected_server] == world.port)
- to_chat(usr, "You are already connected to this instance!")
+ to_chat(usr, SPAN_WARNING("You are already connected to this instance!"))
return
// Now we reconnect them
- to_chat(usr, "Now connecting you to: [selected_server]")
+ to_chat(usr, SPAN_NOTICE("Now connecting you to: [selected_server]"))
if(watchlisted) // I mean why not
message_admins("[key_name_admin(usr)] is on the watchlist and just jumped to [selected_server]")
diff --git a/code/game/verbs/webmap.dm b/code/game/verbs/webmap.dm
index e4b536e230e..cbaf152233f 100644
--- a/code/game/verbs/webmap.dm
+++ b/code/game/verbs/webmap.dm
@@ -3,7 +3,7 @@
set hidden = TRUE
if(!SSmapping.map_datum.webmap_url)
- to_chat(usr, "The current map has no defined webmap. Please file an issue report.")
+ to_chat(usr, SPAN_WARNING("The current map has no defined webmap. Please file an issue report."))
return
if(tgui_alert(usr, "Do you want to open this map's Webmap in your browser?", "Webmap", list("Yes", "No")) != "Yes")
diff --git a/code/game/verbs/who.dm b/code/game/verbs/who.dm
index 5bcf4e43ea4..fec6e4ef37e 100644
--- a/code/game/verbs/who.dm
+++ b/code/game/verbs/who.dm
@@ -165,5 +165,5 @@
final_message += mentormsg
final_message += "
"
if(!num_admins_online || !num_mentors_online)
- final_message += "Even with no [!num_admins_online ? "admins" : ""][!num_admins_online && !num_mentors_online ? " or " : ""][!num_mentors_online ? "mentors" : ""] are online, make a ticket anyways. [!num_admins_online ? "Adminhelps" : ""][!num_admins_online && !num_mentors_online ? " and " : ""][!num_mentors_online ? "Mentorhelps" : ""] will be relayed to discord, and staff will still be informed."
+ final_message += SPAN_NOTICE("Even with no [!num_admins_online ? "admins" : ""][!num_admins_online && !num_mentors_online ? " or " : ""][!num_mentors_online ? "mentors" : ""] are online, make a ticket anyways. [!num_admins_online ? "Adminhelps" : ""][!num_admins_online && !num_mentors_online ? " and " : ""][!num_mentors_online ? "Mentorhelps" : ""] will be relayed to discord, and staff will still be informed.")
to_chat(src, final_message.Join(""))
diff --git a/code/game/world.dm b/code/game/world.dm
index b46d6b08234..fa227c70cf5 100644
--- a/code/game/world.dm
+++ b/code/game/world.dm
@@ -121,7 +121,7 @@ GLOBAL_LIST_EMPTY(world_topic_handlers)
return
message_admins("[key_name_admin(usr)] has requested an immediate world restart via client side debugging tools")
log_admin("[key_name(usr)] has requested an immediate world restart via client side debugging tools")
- to_chat(world, "Rebooting world immediately due to host request")
+ to_chat(world, SPAN_BOLDANNOUNCEOOC("Rebooting world immediately due to host request"))
rustlibs_log_close_all() // Past this point, no logging procs can be used, at risk of data loss.
// Now handle a reboot
if(GLOB.configuration.system.shutdown_on_reboot)
@@ -147,7 +147,7 @@ GLOBAL_LIST_EMPTY(world_topic_handlers)
// Send the stats URL if applicable
if(GLOB.configuration.url.round_stats_url && GLOB.round_id)
var/stats_link = "[GLOB.configuration.url.round_stats_url][GLOB.round_id]"
- to_chat(world, "Stats for this round can be viewed at [stats_link]")
+ to_chat(world, SPAN_NOTICE("Stats for this round can be viewed at [stats_link]"))
// If the server has been gracefully shutdown in TGS, have a 60 seconds grace period for SQL updates and stuff
if(GLOB.slower_restart)
diff --git a/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm b/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm
index ec2eeda3ab3..6d5155554b7 100644
--- a/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm
+++ b/code/goonstation/modules/power/power_transmission_laser/transmission_laser.dm
@@ -116,7 +116,7 @@
/obj/machinery/power/transmission_laser/screwdriver_act(mob/living/user, obj/item/I)
if(firing)
- to_chat(user,"Turn the laser off first.")
+ to_chat(user,SPAN_INFO("Turn the laser off first."))
return
if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I))
return TRUE
@@ -132,7 +132,7 @@
return
if(rotate())
return TRUE
- to_chat(user, "Target area blocked, please clear all objects and personnel.")
+ to_chat(user, SPAN_INFO("Target area blocked, please clear all objects and personnel."))
return TRUE
/// Rotates the laser if we have the space to do so.
@@ -210,9 +210,9 @@
/obj/machinery/power/transmission_laser/examine(mob/user)
. = ..()
- . += "Laser currently has [unsent_earnings] unsent credits."
- . += "Laser has generated [total_earnings] credits."
- . += "Laser has sold [total_energy] Joules."
+ . += SPAN_NOTICE("Laser currently has [unsent_earnings] unsent credits.")
+ . += SPAN_NOTICE("Laser has generated [total_earnings] credits.")
+ . += SPAN_NOTICE("Laser has sold [total_energy] Joules.")
/// Appearance changes are here
/obj/machinery/power/transmission_laser/update_overlays()
diff --git a/code/modules/admin/IsBanned.dm b/code/modules/admin/IsBanned.dm
index 06adebfaa0e..61fd2674915 100644
--- a/code/modules/admin/IsBanned.dm
+++ b/code/modules/admin/IsBanned.dm
@@ -40,7 +40,7 @@
//Guest Checking
if(GLOB.configuration.general.guest_ban && check_guest && IsGuestKey(key))
log_adminwarn("Failed Login: [key] [computer_id] [address] - Guests not allowed")
- // message_admins("Failed Login: [key] - Guests not allowed")
+ // message_admins(SPAN_NOTICE("Failed Login: [key] - Guests not allowed"))
if(log_info)
INVOKE_ASYNC(GLOBAL_PROC, GLOBAL_PROC_REF(log_connection), ckey(key), address, computer_id, CONNECTION_TYPE_DROPPED_BANNED)
return list("reason"="guest", "desc"="\nReason: Guests not allowed. Please sign in with a BYOND account.")
@@ -184,11 +184,11 @@
if(admin)
if(bantype == "ADMIN_PERMABAN" || bantype == "ADMIN_TEMPBAN")
log_admin("The admin [key] is admin banned, and has been disallowed access")
- message_admins("The admin [key] is admin banned, and has been disallowed access")
+ message_admins(SPAN_ADMINNOTICE("The admin [key] is admin banned, and has been disallowed access"))
else
log_admin("The admin [key] has been allowed to bypass a matching ban on [pckey]")
- message_admins("The admin [key] has been allowed to bypass a matching ban on [pckey]")
- addclientmessage(ckey,"You have been allowed to bypass a matching ban on [pckey].")
+ message_admins(SPAN_ADMINNOTICE("The admin [key] has been allowed to bypass a matching ban on [pckey]"))
+ addclientmessage(ckey,SPAN_ADMINNOTICE("You have been allowed to bypass a matching ban on [pckey]."))
continue
var/expires = ""
if(text2num(duration) > 0)
@@ -217,8 +217,8 @@
//So it's safe to let admins walk thru bans here
if(admin)
log_admin("The admin [key] has been allowed to bypass a matching ban")
- message_admins("The admin [key] has been allowed to bypass a matching ban")
- addclientmessage(ckey,"You have been allowed to bypass a matching ban.")
+ message_admins(SPAN_ADMINNOTICE("The admin [key] has been allowed to bypass a matching ban"))
+ addclientmessage(ckey,SPAN_ADMINNOTICE("You have been allowed to bypass a matching ban."))
return null
else
log_adminwarn("Failed Login: [key] [computer_id] [address] - Banned [.["message"]]")
diff --git a/code/modules/admin/admin_memo.dm b/code/modules/admin/admin_memo.dm
index a6fac4b394f..314d9f7fe1b 100644
--- a/code/modules/admin/admin_memo.dm
+++ b/code/modules/admin/admin_memo.dm
@@ -1,6 +1,6 @@
USER_VERB(server_memo, R_SERVER, "Memo", "View and modify server memos.", VERB_CATEGORY_SERVER)
if(!SSdbcore.IsConnected())
- to_chat(client, "Failed to establish database connection.")
+ to_chat(client, SPAN_DANGER("Failed to establish database connection."))
return
var/memotask = input(client, "Choose task.", "Memo") in list("Show", "Write", "Edit", "Remove")
if(!memotask)
@@ -13,7 +13,7 @@ USER_VERB(server_memo, R_SERVER, "Memo", "View and modify server memos.", VERB_C
if(!task)
return
if(!SSdbcore.IsConnected())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, SPAN_DANGER("Failed to establish database connection."))
return
switch(task)
if("Write")
@@ -126,9 +126,9 @@ USER_VERB(server_memo, R_SERVER, "Memo", "View and modify server memos.", VERB_C
var/memotext = query_memoshow.item[2]
var/timestamp = query_memoshow.item[3]
var/last_editor = query_memoshow.item[4]
- output += "Memo by [ckey] on [timestamp]"
+ output += "[SPAN_MEMO("Memo by [ckey]")] on [timestamp]"
if(last_editor)
- output += "
Last edit by [last_editor] (Click here to see edit log)"
+ output += "
[SPAN_MEMOEDIT("Last edit by [last_editor] (Click here to see edit log)")]"
output += "
[memotext]
"
if(output)
to_chat(src, output)
diff --git a/code/modules/admin/admin_ranks.dm b/code/modules/admin/admin_ranks.dm
index 919f4bc6868..d57e7912862 100644
--- a/code/modules/admin/admin_ranks.dm
+++ b/code/modules/admin/admin_ranks.dm
@@ -50,7 +50,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
/proc/reload_one_admin(admin_ckey, silent = FALSE)
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Admin reload blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCE("Admin reload blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to reload an admin via advanced proc-call")
log_admin("[key_name(usr)] attempted to reload an admin via advanced proc-call")
return
@@ -65,7 +65,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
if(admin_ckey in (GLOB.de_admins + GLOB.de_mentors))
if(!silent)
- message_admins("Admin permissions for [admin_ckey] will reload when they re-admin.")
+ message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] will reload when they re-admin."))
return
if(admin_ckey in GLOB.directory)
@@ -73,7 +73,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
var/localhosted = admin.try_localhost_autoadmin()
if(localhosted)
if(!silent)
- message_admins("Admin permissions for [admin_ckey] reloaded. Full permissions granted as they are currently connected from localhost.")
+ message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] reloaded. Full permissions granted as they are currently connected from localhost."))
return
if(GLOB.configuration.admin.use_database_admins)
@@ -105,7 +105,7 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
// If you have no rights, you don't get an admin datum.
qdel(get_admin)
if(!silent)
- message_admins("Admin permissions for [admin_ckey] have been reloaded.")
+ message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] have been reloaded."))
return
admin_datum = new(rank, rights, admin_ckey)
qdel(get_admin)
@@ -123,11 +123,11 @@ GLOBAL_PROTECT(admin_ranks) // this shit is being protected for obvious reasons
admin_datum.associate(GLOB.directory[admin_ckey])
if(!silent)
- message_admins("Admin permissions for [admin_ckey] have been reloaded.")
+ message_admins(SPAN_NOTICE("Admin permissions for [admin_ckey] have been reloaded."))
/proc/load_admins(run_async = FALSE)
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Admin reload blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCE("Admin reload blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to reload admins via advanced proc-call")
log_admin("[key_name(usr)] attempted to reload admins via advanced proc-call")
return
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 8b9d45ccc79..10c8567e6c0 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -8,7 +8,7 @@ USER_VERB(hide_verbs, R_NONE, "Adminverbs - Hide All", "Hide most of your admin
client.remove_user_verbs()
add_verb(client, /client/proc/show_verbs)
- to_chat(client, "Almost all of your adminverbs have been hidden.")
+ to_chat(client, SPAN_INTERFACE("Almost all of your adminverbs have been hidden."))
SSblackbox.record_feedback("tally", "admin_verb", 1, "Hide Admin Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/show_verbs()
@@ -18,7 +18,7 @@ USER_VERB(hide_verbs, R_NONE, "Adminverbs - Hide All", "Hide most of your admin
remove_verb(src, /client/proc/show_verbs)
add_user_verbs()
- to_chat(src, "All of your adminverbs are now visible.")
+ to_chat(src, SPAN_INTERFACE("All of your adminverbs are now visible."))
SSblackbox.record_feedback("tally", "admin_verb", 1, "Show Admin Verbs") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/client/proc/mentor_ghost()
@@ -26,7 +26,7 @@ USER_VERB(hide_verbs, R_NONE, "Adminverbs - Hide All", "Hide most of your admin
var/is_full_admin = check_rights(R_ADMIN|R_MOD, FALSE)
if(!is_mentor && !is_full_admin)
- to_chat(src, "You aren't allowed to use this!")
+ to_chat(src, SPAN_WARNING("You aren't allowed to use this!"))
return
// mentors are allowed only if they have the observe trait, which is given on observe.
@@ -71,7 +71,7 @@ USER_VERB(admin_ghost, R_ADMIN|R_MOD, "Aghost", "Aghost self.", VERB_CATEGORY_AD
/// if they attempt to do anything that would stop their orbit, they will immediately be returned to their body.
USER_VERB(admin_observe, R_ADMIN|R_MOD|R_MENTOR, "Aobserve", "Admin-observe a player mob.", VERB_CATEGORY_ADMIN)
if(isnewplayer(client.mob))
- to_chat(client, "You cannot aobserve while in the lobby. Please join or observe first.")
+ to_chat(client, SPAN_WARNING("You cannot aobserve while in the lobby. Please join or observe first."))
return
var/mob/target
@@ -80,15 +80,15 @@ USER_VERB(admin_observe, R_ADMIN|R_MOD|R_MENTOR, "Aobserve", "Admin-observe a pl
if(isnull(target))
return
if(target == client)
- to_chat(client, "You can't observe yourself!")
+ to_chat(client, SPAN_WARNING("You can't observe yourself!"))
return
if(isobserver(target))
- to_chat(client, "[target] is a ghost, and cannot be observed.")
+ to_chat(client, SPAN_WARNING("[target] is a ghost, and cannot be observed."))
return
if(isnewplayer(target))
- to_chat(client, "[target] is in the lobby, and cannot be observed.")
+ to_chat(client, SPAN_WARNING("[target] is in the lobby, and cannot be observed."))
return
SSuser_verbs.invoke_verb(client, /datum/user_verb/admin_observe_target, target)
@@ -109,15 +109,15 @@ USER_VERB(admin_observe, R_ADMIN|R_MOD|R_MENTOR, "Aobserve", "Admin-observe a pl
USER_CONTEXT_MENU(admin_observe_target, R_ADMIN|R_MOD|R_MENTOR, "\[Admin\] Aobserve", mob/target as mob)
if(isnewplayer(client.mob))
- to_chat(client, "You cannot aobserve while in the lobby. Please join or observe first.")
+ to_chat(client, SPAN_WARNING("You cannot aobserve while in the lobby. Please join or observe first."))
return
if(isnewplayer(target))
- to_chat(client, "[target] is currently in the lobby.")
+ to_chat(client, SPAN_WARNING("[target] is currently in the lobby."))
return
if(isobserver(target))
- to_chat(client, "You can't observe a ghost.")
+ to_chat(client, SPAN_WARNING("You can't observe a ghost."))
return
var/mob/dead/observer/observer = client.mob
@@ -148,7 +148,7 @@ USER_CONTEXT_MENU(admin_observe_target, R_ADMIN|R_MOD|R_MENTOR, "\[Admin\] Aobse
// we need to handle this here because when you aghost, your mob gets set to the ghost. Oops!
ADD_TRAIT(client.mob.mind, TRAIT_MENTOR_OBSERVING, MENTOR_OBSERVING)
RegisterSignal(ghost, COMSIG_ATOM_ORBITER_STOP, TYPE_PROC_REF(/client, on_mentor_observe_end), override = TRUE)
- to_chat(client, "You have temporarily observed [target], either move or observe again to un-observe.")
+ to_chat(client, SPAN_NOTICE("You have temporarily observed [target], either move or observe again to un-observe."))
log_admin("[key_name(client)] has mobserved out of their body to follow [target].")
else
log_admin("[key_name(client)] is aobserving [target].")
@@ -172,7 +172,7 @@ USER_CONTEXT_MENU(admin_observe_target, R_ADMIN|R_MOD|R_MENTOR, "\[Admin\] Aobse
// tell everyone since this is kinda nasty.
log_debug("Mentor [key_name_mentor(src)] was unable to re-enter their body after mentor observing.")
log_and_message_admins("[key_name_mentor(src)] was unable to re-enter their body after mentor observing.")
- to_chat(src, "Unable to return you to your body after mentor ghosting. If your body still exists, please contact a coder, and you should probably ahelp.")
+ to_chat(src, SPAN_USERDANGER("Unable to return you to your body after mentor ghosting. If your body still exists, please contact a coder, and you should probably ahelp."))
USER_VERB(invisimin, R_ADMIN, "Invisimin", "Toggles ghost-like invisibility (Don't abuse this)", VERB_CATEGORY_ADMIN)
if(!isliving(client.mob))
@@ -182,12 +182,12 @@ USER_VERB(invisimin, R_ADMIN, "Invisimin", "Toggles ghost-like invisibility (Don
if(client_mob.invisibility == INVISIBILITY_OBSERVER)
client_mob.invisibility = initial(client_mob.invisibility)
client_mob.add_to_all_human_data_huds()
- to_chat(client, "Invisimin off. Invisibility reset.")
+ to_chat(client, SPAN_DANGER("Invisimin off. Invisibility reset."))
log_admin("[key_name(client)] has turned Invisimin OFF")
else
client_mob.invisibility = INVISIBILITY_OBSERVER
client_mob.remove_from_all_data_huds()
- to_chat(client, "Invisimin on. You are now as invisible as a ghost.")
+ to_chat(client, SPAN_NOTICE("Invisimin on. You are now as invisible as a ghost."))
log_admin("[key_name(client)] has turned Invisimin ON")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Invisimin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
@@ -299,7 +299,7 @@ USER_VERB(drop_bomb, R_EVENT, "Drop Bomb", "Cause an explosion of varying streng
return
explosion(epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, 1, 1, cause = "[client.ckey]: Drop Bomb command")
log_admin("[key_name(client)] created an admin explosion at [epicenter.loc]")
- message_admins("[key_name_admin(client)] created an admin explosion at [epicenter.loc]")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] created an admin explosion at [epicenter.loc]"))
SSblackbox.record_feedback("tally", "admin_verb", 1, "Drop Bomb") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
USER_VERB(give_spell, R_EVENT, "Give Spell", VERB_NO_DESCRIPTION, VERB_CATEGORY_HIDDEN, mob/T)
@@ -336,7 +336,7 @@ USER_VERB(give_disease, R_EVENT, "Give Disease", VERB_NO_DESCRIPTION, VERB_CATEG
T.ForceContractDisease(given_disease)
SSblackbox.record_feedback("tally", "admin_verb", 1, "Give Disease") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
log_admin("[key_name(client)] gave [key_name(T)] the disease [given_disease].")
- message_admins("[key_name_admin(client)] gave [key_name(T)] the disease [given_disease].")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(client)] gave [key_name(T)] the disease [given_disease]."))
USER_VERB(disease_outbreak, R_EVENT, "Disease Outbreak", "Creates a disease and infects a random player with it.", VERB_CATEGORY_EVENT)
var/datum/disease/given_disease = null
@@ -374,7 +374,7 @@ USER_CONTEXT_MENU(make_sound, R_EVENT, "\[Admin\] Make Sound", obj/O in view())
for(var/mob/V in hearers(O))
V.show_message(admin_pencode_to_html(message), 2)
log_admin("[key_name(client)] made [O] at [O.x], [O.y], [O.z] make a sound")
- message_admins("[key_name_admin(client)] made [O] at [O.x], [O.y], [O.z] make a sound")
+ message_admins(SPAN_NOTICE("[key_name_admin(client)] made [O] at [O.x], [O.y], [O.z] make a sound"))
SSblackbox.record_feedback("tally", "admin_verb", 1, "Make Sound") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
USER_VERB(toggle_build_mode_self, R_EVENT, "Toggle Build Mode Self", "Toggle Build Mode on yourself.", VERB_CATEGORY_EVENT)
@@ -398,7 +398,7 @@ USER_VERB(deadmin_self, R_ADMIN|R_MENTOR, "De-admin self", "De-admin yourself.",
log_admin("[key_name(client)] deadmined themself.")
message_admins("[key_name_admin(client)] deadmined themself.")
client.deadmin()
- to_chat(client, "You are now a normal player.")
+ to_chat(client, SPAN_INTERFACE("You are now a normal player."))
SSblackbox.record_feedback("tally", "admin_verb", 1, "De-admin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
USER_VERB(toggle_log_hrefs, R_SERVER, "Toggle href logging", "Toggle href logging", VERB_CATEGORY_SERVER)
@@ -488,7 +488,7 @@ USER_VERB(free_job_slot, R_ADMIN, "Free Job Slot", "Frees a station job role.",
SSblackbox.record_feedback("tally", "admin_verb", 1, "Free Job Slot") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
USER_CONTEXT_MENU(man_up, R_ADMIN, "\[Admin\] Man Up", mob/T as mob in GLOB.player_list)
- to_chat(T, chat_box_notice_thick("Man up.
Deal with it.
Move on."))
+ to_chat(T, chat_box_notice_thick(SPAN_NOTICE("Man up.
Deal with it.
Move on.")))
SEND_SOUND(T, sound('sound/voice/manup1.ogg'))
log_admin("[key_name(client)] told [key_name(T)] to man up and deal with it.")
@@ -498,7 +498,7 @@ USER_VERB(global_man_up, R_ADMIN, "Man Up Global", "Tells everyone to man up and
if(tgui_alert(client, "Are you sure you want to send the global message?", "Confirm Man Up Global", list("Yes", "No")) == "Yes")
var/manned_up_sound = sound('sound/voice/manup1.ogg')
for(var/sissy in GLOB.player_list)
- to_chat(sissy, chat_box_notice_thick("Man up.
Deal with it.
Move on."))
+ to_chat(sissy, chat_box_notice_thick(SPAN_NOTICE("Man up.
Deal with it.
Move on.")))
SEND_SOUND(sissy, manned_up_sound)
log_admin("[key_name(client)] told everyone to man up and deal with it.")
@@ -558,12 +558,12 @@ USER_VERB(raw_gas_scan, R_DEBUG|R_VIEWRUNTIMES, "Raw Gas Scan", "Scans your curr
USER_VERB(find_interesting_turf, R_DEBUG|R_VIEWRUNTIMES, "Interesting Turf", \
"Teleports you to a random Interesting Turf from MILLA", VERB_CATEGORY_DEBUG)
if(!isobserver(client.mob))
- to_chat(client.mob, "You must be an observer to do this!")
+ to_chat(client.mob, SPAN_WARNING("You must be an observer to do this!"))
return
var/list/interesting_tile = get_random_interesting_tile()
if(!length(interesting_tile))
- to_chat(client, "There are no interesting turfs. How interesting!")
+ to_chat(client, SPAN_NOTICE("There are no interesting turfs. How interesting!"))
return
var/turf/T = interesting_tile[MILLA_INDEX_TURF]
@@ -591,7 +591,7 @@ USER_VERB(visualize_interesting_turfs, R_DEBUG|R_VIEWRUNTIMES, "Visualize Intere
var/list/coords = get_interesting_atmos_tiles()
if(!length(coords))
- to_chat(client, "There are no interesting turfs. How interesting!")
+ to_chat(client, SPAN_NOTICE("There are no interesting turfs. How interesting!"))
return
while(length(coords))
@@ -612,7 +612,7 @@ USER_VERB(visualize_interesting_turfs, R_DEBUG|R_VIEWRUNTIMES, "Visualize Intere
zlevel_turf_indexes = sortAssoc(zlevel_turf_indexes)
for(var/key in zlevel_turf_indexes)
- to_chat(client, "Z[key]: [length(zlevel_turf_indexes["[key]"])] Interesting Turfs")
+ to_chat(client, SPAN_NOTICE("Z[key]: [length(zlevel_turf_indexes["[key]"])] Interesting Turfs"))
var/z_to_view = tgui_input_number(client, "A list of z-levels their ITs has appeared in chat. Please enter a Z to visualize. Enter 0 or close the window to cancel", "Selection", 0)
@@ -665,13 +665,13 @@ USER_VERB(create_rnd_restore_disk, R_ADMIN, "Create RnD Backup Restore Disk", "C
SSuser_verbs.invoke_verb(user, /datum/user_verb/admin_ghost)
var/datum/target = locateUID(uid)
if(QDELETED(target))
- to_chat(user, "This datum has been deleted!")
+ to_chat(user, SPAN_WARNING("This datum has been deleted!"))
return
if(istype(target, /datum/mind))
var/datum/mind/mind = target
if(!ismob(mind.current))
- to_chat(user, "This can only be used on instances of type /mob")
+ to_chat(user, SPAN_WARNING("This can only be used on instances of type /mob"))
return
target = mind.current
diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm
index 86718b4b673..4b14ab72e4d 100644
--- a/code/modules/admin/banjob.dm
+++ b/code/modules/admin/banjob.dm
@@ -43,7 +43,7 @@
if(!length(jbh.job_bans))
if(!from_client_connection)
- to_chat(src, chat_box_red("You have no active jobbans!"))
+ to_chat(src, chat_box_red(SPAN_WARNING("You have no active jobbans!")))
return
var/list/messages = list()
@@ -52,12 +52,12 @@
var/datum/job_ban/JB = jbh.job_bans[ban] // Remember. Its assoc.
switch(JB.bantype)
if("JOB_PERMABAN")
- messages.Add("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]")
+ messages.Add(SPAN_WARNING("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]"))
if("JOB_TEMPBAN")
- messages.Add("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]; [JB.duration]; expires [JB.expiration_time]")
+ messages.Add(SPAN_WARNING("[JB.bantype]: [JB.job] - REASON: [JB.reason], by [JB.a_ckey]; [JB.bantime]; [JB.duration]; expires [JB.expiration_time]"))
if(GLOB.configuration.url.banappeals_url)
- messages.Add("You can appeal the bans at: [GLOB.configuration.url.banappeals_url]")
+ messages.Add(SPAN_WARNING("You can appeal the bans at: [GLOB.configuration.url.banappeals_url]"))
to_chat(src, chat_box_red(messages.Join("
")))
diff --git a/code/modules/admin/centcom_ban_db.dm b/code/modules/admin/centcom_ban_db.dm
index 79ad8254b34..6eee5558916 100644
--- a/code/modules/admin/centcom_ban_db.dm
+++ b/code/modules/admin/centcom_ban_db.dm
@@ -15,7 +15,7 @@
/datum/admins/proc/create_ccbdb_lookup(ckey)
// Bail if disabled
if(!GLOB.configuration.url.centcom_ban_db_url)
- to_chat(usr, "The CentCom Ban DB lookup is disabled. Please inform a maintainer or server host.")
+ to_chat(usr, SPAN_WARNING("The CentCom Ban DB lookup is disabled. Please inform a maintainer or server host."))
return
// Bail if no ckey is supplied
if(!ckey)
@@ -41,12 +41,12 @@
// Bail if it errored
if(response.errored)
- to_chat(user, "Error connecting to CentCom Ban DB. Please inform a maintainer or server host.")
+ to_chat(user, SPAN_WARNING("Error connecting to CentCom Ban DB. Please inform a maintainer or server host."))
return
// Bail if the code isnt 200
if(response.status_code != 200)
- to_chat(user, "Error performing CentCom Ban DB lookup (Code: [response.status_code])")
+ to_chat(user, SPAN_WARNING("Error performing CentCom Ban DB lookup (Code: [response.status_code])"))
return
var/list/popup_data = list()
@@ -98,7 +98,7 @@
popup_data += "
"
catch
- to_chat(user, "Error parsing JSON data from CentCom Ban DB lookup. Please inform a maintainer.")
+ to_chat(user, SPAN_WARNING("Error parsing JSON data from CentCom Ban DB lookup. Please inform a maintainer."))
return
var/datum/browser/popup = new(user, "ccbdblookup-[ckey]", "CC Ban DB Lookup - [ckey]
", 700, 600)
diff --git a/code/modules/admin/db_ban/functions.dm b/code/modules/admin/db_ban/functions.dm
index 029b80de4d2..3337acbaf4b 100644
--- a/code/modules/admin/db_ban/functions.dm
+++ b/code/modules/admin/db_ban/functions.dm
@@ -5,7 +5,7 @@
if(!check_rights(R_BAN)) return
if(!SSdbcore.IsConnected())
- to_chat(usr, "Database connection failure when attempting to make DB ban. Please freeze them and write their ckey in notepad, so they can be banned when the DB returns.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Database connection failure when attempting to make DB ban. Please freeze them and write their ckey in notepad, so they can be banned when the DB returns."))
return
var/serverip = "[world.internet_address]:[world.port]"
@@ -109,12 +109,12 @@
if(blockselfban)
if(a_ckey == ckey)
- to_chat(usr, "You cannot apply this ban type on yourself.")
+ to_chat(usr, SPAN_DANGER("You cannot apply this ban type on yourself."))
return
// Check validity of the CID. Some have a lot of collisions due to bad industry practices (thanks walmart)
if(computerid && (computerid in GLOB.configuration.admin.common_cid_map))
- to_chat(usr, "You attempted to apply a ban that includes the CID [computerid]. This CID has been ignored for the following reason: [GLOB.configuration.admin.common_cid_map[computerid]]")
+ to_chat(usr, SPAN_NOTICE("You attempted to apply a ban that includes the CID [computerid]. This CID has been ignored for the following reason: [GLOB.configuration.admin.common_cid_map[computerid]]"))
// Cancel it out. DO NOT USE NULL HERE. IT MAKES THE DB CRY. USE AN EMPTY STRING.
computerid = ""
@@ -142,7 +142,7 @@
if(adm_query.NextRow())
var/adm_bans = text2num(adm_query.item[1])
if(adm_bans >= MAX_ADMIN_BANS_PER_ADMIN)
- to_chat(usr, "You already logged [MAX_ADMIN_BANS_PER_ADMIN] admin ban(s) or more. Do not abuse this function!")
+ to_chat(usr, SPAN_DANGER("You already logged [MAX_ADMIN_BANS_PER_ADMIN] admin ban(s) or more. Do not abuse this function!"))
qdel(adm_query)
return
qdel(adm_query)
@@ -174,7 +174,7 @@
return
qdel(query_insert)
- to_chat(usr, "Ban saved to database.")
+ to_chat(usr, SPAN_NOTICE("Ban saved to database."))
message_admins("[key_name_admin(usr)] has added a [bantype_str] for [ckey] [(job)?"([job])":""] [(duration > 0)?"([duration] minutes)":""] with the reason: \"[reason]\" to the ban database.",1)
if(announce_in_discord)
@@ -198,7 +198,7 @@
if(!check_rights(R_BAN)) return
if(!SSdbcore.IsConnected())
- to_chat(usr, "Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!."))
return
var/bantype_str
@@ -260,17 +260,17 @@
qdel(query)
if(ban_number == 0)
- to_chat(usr, "Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin.")
+ to_chat(usr, SPAN_WARNING("Database update failed due to no bans fitting the search criteria. If this is not a legacy ban you should contact the database admin."))
return
if(ban_number > 1)
- to_chat(usr, "Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin.")
+ to_chat(usr, SPAN_WARNING("Database update failed due to multiple bans fitting the search criteria. Note down the ckey, job and current time and contact the database admin."))
return
if(istext(ban_id))
ban_id = text2num(ban_id)
if(!isnum(ban_id))
- to_chat(usr, "Database update failed due to a ban ID mismatch. Contact the database admin.")
+ to_chat(usr, SPAN_WARNING("Database update failed due to a ban ID mismatch. Contact the database admin."))
return
DB_ban_unban_by_id(ban_id)
@@ -394,7 +394,7 @@
return
if(!SSdbcore.IsConnected())
- to_chat(usr, "Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Database connection failure when attempting to remove DB ban. Please remember to unban them at a later date!."))
return
var/ban_number = 0 //failsafe
@@ -413,11 +413,11 @@
qdel(query)
if(ban_number == 0)
- to_chat(usr, "Database update failed due to a ban id not being present in the database.")
+ to_chat(usr, SPAN_WARNING("Database update failed due to a ban id not being present in the database."))
return
if(ban_number > 1)
- to_chat(usr, "Database update failed due to multiple bans having the same ID. Contact the database admin.")
+ to_chat(usr, SPAN_WARNING("Database update failed due to multiple bans having the same ID. Contact the database admin."))
return
if(!src.owner || !isclient(src.owner))
@@ -459,7 +459,7 @@
return
if(!SSdbcore.IsConnected())
- to_chat(usr, "Failed to establish database connection")
+ to_chat(usr, SPAN_WARNING("Failed to establish database connection"))
return
var/cached_UID = UID()
var/list/output = list()
diff --git a/code/modules/admin/holder2.dm b/code/modules/admin/holder2.dm
index c9a7987f24f..bfa4d484636 100644
--- a/code/modules/admin/holder2.dm
+++ b/code/modules/admin/holder2.dm
@@ -34,7 +34,7 @@ GLOBAL_PROTECT(href_token)
/datum/admins/New(initial_rank, initial_rights, ckey)
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Admin rank creation blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Admin rank creation blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to create a new admin rank via advanced proc-call")
log_admin("[key_name(usr)] attempted to edit feedback a new admin rank via advanced proc-call")
return
@@ -52,7 +52,7 @@ GLOBAL_PROTECT(href_token)
/datum/admins/Destroy()
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Admin rank deletion blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Admin rank deletion blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to delete an admin rank via advanced proc-call")
log_admin("[key_name(usr)] attempted to delete an admin rank via advanced proc-call")
return
@@ -62,7 +62,7 @@ GLOBAL_PROTECT(href_token)
/datum/admins/proc/associate(client/C, delay_2fa_complaint = FALSE)
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Rank association blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Rank association blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to associate an admin rank to a new client via advanced proc-call")
log_admin("[key_name(usr)] attempted to associate an admin rank to a new client via advanced proc-call")
return
@@ -79,7 +79,7 @@ GLOBAL_PROTECT(href_token)
restricted_by_2fa = TRUE
if(!delay_2fa_complaint)
// And tell them about it.
- to_chat(owner,"You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.\nTo setup 2FA, head to the following menu: Game Preferences") // Very fucking obvious
+ to_chat(owner,SPAN_BOLDANNOUNCEOOC("You do not have 2FA enabled. Admin verbs will be unavailable until you have enabled 2FA.\nTo setup 2FA, head to the following menu: Game Preferences")) // Very fucking obvious
// Regardless of client, tell BYOND if they should have profiler access.
if(rights & (R_DEBUG | R_VIEWRUNTIMES))
@@ -121,7 +121,7 @@ GLOBAL_PROTECT(href_token)
/datum/admins/proc/disassociate()
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Rank disassociation blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Rank disassociation blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to disassociate an admin rank from a client via advanced proc-call")
log_admin("[key_name(usr)] attempted to disassociate an admin rank from a client via advanced proc-call")
return
@@ -196,7 +196,7 @@ NOTE: checks usr by default, not src
/client/proc/deadmin()
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Deadmin blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Deadmin blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to de-admin a client via advanced proc-call")
log_admin("[key_name(usr)] attempted to de-admin a client via advanced proc-call")
return
@@ -216,12 +216,12 @@ NOTE: checks usr by default, not src
set desc = "Regain your admin powers."
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Readmin blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Readmin blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to re-admin a client via advanced proc-call")
log_admin("[key_name(usr)] attempted to re-admin a client via advanced proc-call")
if(holder)
- to_chat(usr, "You are already an admin.")
+ to_chat(usr, SPAN_NOTICE("You are already an admin."))
else if(ckey in (GLOB.de_admins + GLOB.de_mentors))
GLOB.de_admins -= ckey
GLOB.de_mentors -= ckey
@@ -230,7 +230,7 @@ NOTE: checks usr by default, not src
message_admins("[key_name_admin(usr)] re-adminned themselves.")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Re-admin") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
else
- to_chat(usr, "Readmin blocked: You were not an admin or mentor.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Readmin blocked: You were not an admin or mentor."))
message_admins("[key_name(usr)] attempted to re-admin without being an admin or mentor")
log_admin("[key_name(usr)] attempted to re-admin without being an admin or mentor")
diff --git a/code/modules/admin/machine_upgrade.dm b/code/modules/admin/machine_upgrade.dm
index 586ba9e2c94..0e5ffa5c092 100644
--- a/code/modules/admin/machine_upgrade.dm
+++ b/code/modules/admin/machine_upgrade.dm
@@ -1,6 +1,6 @@
USER_CONTEXT_MENU(machine_upgrade, R_DEBUG, "\[Admin\] Tweak Component Ratings", obj/machinery/M as obj in world)
if(!istype(M))
- to_chat(client, "This can only be used on subtypes of /obj/machinery.")
+ to_chat(client, SPAN_DANGER("This can only be used on subtypes of /obj/machinery."))
return
var/new_rating = input(client, "Enter new rating:","Num") as num
diff --git a/code/modules/admin/menus/antagonist_menu.dm b/code/modules/admin/menus/antagonist_menu.dm
index c19950458ad..9104e0f208b 100644
--- a/code/modules/admin/menus/antagonist_menu.dm
+++ b/code/modules/admin/menus/antagonist_menu.dm
@@ -165,7 +165,7 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu)
if("show_player_panel")
var/datum/mind/mind = locateUID(params["mind_uid"])
if(QDELETED(mind.current))
- to_chat(ui.user, "Mind doesn't have a corresponding mob.")
+ to_chat(ui.user, SPAN_WARNING("Mind doesn't have a corresponding mob."))
return
SSuser_verbs.invoke_verb(ui.user, /datum/user_verb/show_player_panel, mind.current)
if("pm")
@@ -177,13 +177,13 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu)
var/datum/mind/mind = locateUID(params["mind_uid"])
if(!ismob(mind.current))
- to_chat(ui.user, "This can only be used on instances of type /mob")
+ to_chat(ui.user, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(C, /datum/user_verb/admin_observe_target, mind.current)
if("tp")
var/datum/mind/mind = locateUID(params["mind_uid"])
if(QDELETED(mind))
- to_chat(ui.user, "No mind!")
+ to_chat(ui.user, SPAN_WARNING("No mind!"))
return
mind.edit_memory()
if("vv")
@@ -192,7 +192,7 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu)
var/client/C = ui.user.client
var/datum/target = locateUID(params["owner_uid"])
if(QDELETED(target))
- to_chat(ui.user, "It seems the target you are looking for is null or deleted.")
+ to_chat(ui.user, SPAN_WARNING("It seems the target you are looking for is null or deleted."))
return
if(istype(target, /datum/antagonist))
var/datum/antagonist/antag = target
@@ -200,7 +200,7 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu)
if(istype(target, /datum/mind))
var/datum/mind/mind = target
if(!ismob(mind.current))
- to_chat(ui.user, "This can only be used on instances of type /mob")
+ to_chat(ui.user, SPAN_WARNING("This can only be used on instances of type /mob"))
return
target = mind.current
var/mob/dead/observer/A = C.mob
@@ -210,4 +210,4 @@ RESTRICT_TYPE(/datum/ui_module/admin/antagonist_menu)
ui.user.client.holder.team_switch_tab_index = clamp(GLOB.antagonist_teams.Find(target), 1, length(GLOB.antagonist_teams))
ui.user.client.holder.check_teams()
return
- to_chat(ui.user, "Type [target.type] isn't supported for finding the owner of an objective.")
+ to_chat(ui.user, SPAN_WARNING("Type [target.type] isn't supported for finding the owner of an objective."))
diff --git a/code/modules/admin/misc_admin_procs.dm b/code/modules/admin/misc_admin_procs.dm
index f3d674bef20..781fd47ea2b 100644
--- a/code/modules/admin/misc_admin_procs.dm
+++ b/code/modules/admin/misc_admin_procs.dm
@@ -7,7 +7,7 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
////////////////////////////////
/proc/message_admins(msg)
- msg = "ADMIN LOG: [msg]"
+ msg = SPAN_ADMIN(SPAN_PREFIX("ADMIN LOG: [msg]") )
for(var/client/C in GLOB.admins)
if(R_ADMIN & C.holder.rights)
if(C.prefs && !(C.prefs.toggles & PREFTOGGLE_CHAT_NO_ADMINLOGS))
@@ -15,7 +15,7 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
/proc/msg_admin_attack(text, loglevel)
if(!GLOB.nologevent)
- var/rendered = "ATTACK: [text]"
+ var/rendered = SPAN_ADMIN(SPAN_PREFIX("ATTACK: [text]") )
for(var/client/C in GLOB.admins)
if((C.holder.rights & R_ADMIN) && (C.prefs?.atklog <= loglevel))
to_chat(C, rendered, MESSAGE_TYPE_ATTACKLOG, confidential = TRUE)
@@ -60,12 +60,12 @@ GLOBAL_VAR_INIT(disable_explosions, FALSE)
for(var/mob/O in GLOB.mob_list)
if(O.ckey && O.ckey == ckey_to_find)
if(admin_to_notify)
- to_chat(admin_to_notify, "admin_ban_mobsearch: Player [ckey_to_find] is now in mob [O]. Pulling data from new mob.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE)
+ to_chat(admin_to_notify, SPAN_WARNING("admin_ban_mobsearch: Player [ckey_to_find] is now in mob [O]. Pulling data from new mob."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE)
return O
if(admin_to_notify)
- to_chat(admin_to_notify, "admin_ban_mobsearch: Player [ckey_to_find] does not seem to have any mob, anywhere. This is probably an error.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE)
+ to_chat(admin_to_notify, SPAN_WARNING("admin_ban_mobsearch: Player [ckey_to_find] does not seem to have any mob, anywhere. This is probably an error."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE)
else if(admin_to_notify)
- to_chat(admin_to_notify, "admin_ban_mobsearch: No mob or ckey detected.", MESSAGE_TYPE_ADMINLOG, confidential = TRUE)
+ to_chat(admin_to_notify, SPAN_WARNING("admin_ban_mobsearch: No mob or ckey detected."), MESSAGE_TYPE_ADMINLOG, confidential = TRUE)
return M
///////////////////////////////////////////////////////////////////////////////////////////////Panels
@@ -384,7 +384,7 @@ USER_VERB(end_round, R_SERVER, "End Round", \
log_admin("[key_name(client)] has admin ended the round with message: '[input]'")
SSticker.force_ending = TRUE
SSticker.record_biohazard_results()
- to_chat(world, "[input]")
+ to_chat(world, SPAN_WARNING("[input]"))
SSblackbox.record_feedback("tally", "admin_verb", 1, "End Round") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
SSticker.mode_result = "admin ended"
@@ -394,7 +394,7 @@ USER_VERB(announce, R_ADMIN, "Announce", "Announce your desires to the world", V
if(!check_rights_client(R_SERVER, 0, client))
message = adminscrub(message,500)
message = replacetext(message, "\n", "
") // required since we're putting it in a tag
- to_chat(world, chat_box_notice("[client.holder.fakekey ? "Administrator" : client.key] Announces:
[message]
"))
+ to_chat(world, chat_box_notice(SPAN_NOTICE("[client.holder.fakekey ? "Administrator" : client.key] Announces:
[message]
")))
log_admin("Announce: [key_name(client)] : [message]")
for(var/client/clients_to_alert in GLOB.clients)
window_flash(clients_to_alert)
@@ -458,7 +458,7 @@ USER_VERB(start_server_now, R_SERVER, "Start Now", "Start the round RIGHT NOW",
var/msg = ""
if(SSticker.current_state == GAME_STATE_STARTUP)
msg = " (The server is still setting up, but the round will be started as soon as possible.)"
- message_admins("[client.key] has started the game.[msg]")
+ message_admins(SPAN_DARKMBLUE("[client.key] has started the game.[msg]"))
SSblackbox.record_feedback("tally", "admin_verb", 1, "Start Game") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
return 1
else
@@ -685,7 +685,7 @@ USER_VERB(toggle_guests, R_SERVER, "Toggle Guests", "Guests can't enter", VERB_C
else
to_chat(world, "Guests may now enter the game.")
log_admin("[key_name(client)] toggled guests game entering [GLOB.configuration?.general.guest_ban ? "dis" : ""]allowed.")
- message_admins("[key_name_admin(client)] toggled guests game entering [GLOB.configuration?.general.guest_ban ? "dis" : ""]allowed.", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(client)] toggled guests game entering [GLOB.configuration?.general.guest_ban ? "dis" : ""]allowed."), 1)
SSblackbox.record_feedback("tally", "admin_verb", 1, "Toggle Guests") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
/datum/admins/proc/output_ai_laws()
@@ -814,7 +814,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob
var/mob/living/basic/possessed_object/tomob = new(toitem)
- message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name]."))
log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag")
@@ -840,7 +840,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob
if(tomob.client) //no need to ghostize if there is no client
tomob.ghostize(GHOST_FLAGS_OBSERVE_ONLY)
- message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name].")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] has put [frommob.ckey] in control of [tomob.name]."))
log_admin("[key_name(usr)] stuffed [frommob.ckey] into [tomob.name].")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag")
@@ -860,7 +860,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob
if(QDELETED(frommob) || QDELETED(tothing)) //make sure the mobs don't go away while we waited for a response
return TRUE
- message_admins("[key_name_admin(usr)] has put [frommob.ckey] in control of an empty AI core.")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] has put [frommob.ckey] in control of an empty AI core."))
log_admin("[key_name(usr)] stuffed [frommob.ckey] into an empty AI core.")
SSblackbox.record_feedback("tally", "admin_verb", 1, "Ghost Drag")
@@ -911,7 +911,7 @@ USER_CONTEXT_MENU(update_mob_sprite, R_ADMIN, "\[Admin\] Update Mob Sprite", mob
possible_targets += possible_target.current // Allows for admins to pick off station roles
if(!length(possible_targets))
- to_chat(caller_mob, "No possible target found.")
+ to_chat(caller_mob, SPAN_WARNING("No possible target found."))
return
possible_targets = sortAtom(possible_targets)
diff --git a/code/modules/admin/outfits.dm b/code/modules/admin/outfits.dm
index d3a6be2a630..bdb0a12ee17 100644
--- a/code/modules/admin/outfits.dm
+++ b/code/modules/admin/outfits.dm
@@ -23,7 +23,7 @@ USER_VERB(outfit_manager, R_EVENT, "Outfit Manager", "Opens the outfit manager."
/datum/admins/proc/delete_outfit(mob/admin,datum/outfit/O)
GLOB.custom_outfits -= O
qdel(O)
- to_chat(admin,"Outfit deleted.")
+ to_chat(admin,SPAN_NOTICE("Outfit deleted."))
outfit_manager(admin)
/datum/admins/proc/load_outfit(mob/admin)
@@ -33,15 +33,15 @@ USER_VERB(outfit_manager, R_EVENT, "Outfit Manager", "Opens the outfit manager."
var/filedata = wrap_file2text(outfit_file)
var/json = json_decode(filedata)
if(!json)
- to_chat(admin,"JSON decode error.")
+ to_chat(admin,SPAN_WARNING("JSON decode error."))
return
var/otype = text2path(json["outfit_type"])
if(!ispath(otype,/datum/outfit))
- to_chat(admin,"Malformed/Outdated file.")
+ to_chat(admin,SPAN_WARNING("Malformed/Outdated file."))
return
var/datum/outfit/O = new otype
if(!O.load_from(json))
- to_chat(admin,"Malformed/Outdated file.")
+ to_chat(admin,SPAN_WARNING("Malformed/Outdated file."))
return
GLOB.custom_outfits += O
outfit_manager(admin)
diff --git a/code/modules/admin/permissionverbs/permissionedit.dm b/code/modules/admin/permissionverbs/permissionedit.dm
index e81dcff58ac..ec6d95f41de 100644
--- a/code/modules/admin/permissionverbs/permissionedit.dm
+++ b/code/modules/admin/permissionverbs/permissionedit.dm
@@ -121,14 +121,14 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
if(!check_rights(R_PERMISSIONS))
return FALSE
if(IsAdminAdvancedProcCall())
- to_chat(usr, "Admin edit blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Admin edit blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to edit admin DB via advanced proc-call")
log_admin("[key_name(usr)] attempted to edit admin DB via advanced proc-call")
return FALSE
if(!usr.client)
return FALSE
if(!db_available())
- to_chat(usr, "Admin database unavailable")
+ to_chat(usr, SPAN_WARNING("Admin database unavailable"))
return FALSE
return TRUE
@@ -137,16 +137,16 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
return
if(!istext(target_key))
- to_chat(usr, "Provided key '[target_key]' is not text!")
+ to_chat(usr, SPAN_WARNING("Provided key '[target_key]' is not text!"))
return
target_key = ckey(target_key)
if(target_key == "")
- to_chat(usr, "Provided key was blank after converting to ckey!")
+ to_chat(usr, SPAN_WARNING("Provided key was blank after converting to ckey!"))
return
if(!isnum(new_rank))
- to_chat(usr, "Provided rank ID '[new_rank]' is not a number!")
+ to_chat(usr, SPAN_WARNING("Provided rank ID '[new_rank]' is not a number!"))
return
var/datum/db_query/get_rank_name = SSdbcore.NewQuery("SELECT name FROM admin_ranks WHERE id = :new_rank", list(
@@ -160,7 +160,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
rank_name = get_rank_name.item[1]
qdel(get_rank_name)
if(!rank_name)
- to_chat(usr, "Rank with ID [new_rank] not found in database!")
+ to_chat(usr, SPAN_WARNING("Rank with ID [new_rank] not found in database!"))
return
var/datum/db_query/get_admin_id = SSdbcore.NewQuery("SELECT id FROM admin WHERE ckey = :target_key", list(
@@ -190,7 +190,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(insert_new_admin)
return
qdel(insert_new_admin)
- message_admins("Admin ranks updated by [usr.ckey]: [target_key] (NEW ADMIN) is now a [rank_name][display_note].")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [target_key] (NEW ADMIN) is now a [rank_name][display_note]."))
var/logtxt = "Added new admin [target_key] to rank [rank_name][display_note]"
var/datum/db_query/add_log = SSdbcore.NewQuery("INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (Now() , :uckey, :uip, :logtxt)", list(
@@ -213,7 +213,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(update_admin_rank)
return
qdel(update_admin_rank)
- message_admins("Admin ranks updated by [usr.ckey]: [target_key] is now a [rank_name][display_note].")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [target_key] is now a [rank_name][display_note]."))
var/logtxt = "Edited the rank of [target_key] to [rank_name][display_note]"
if(clear_custom_permissions)
@@ -225,7 +225,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
return
qdel(clear_permissions)
logtxt += " and cleared their custom permissions"
- message_admins("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions.")
+ message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions."))
var/datum/db_query/add_log = SSdbcore.NewQuery("INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log` ) VALUES (Now() , :uckey, :uip, :logtxt)", list(
"uckey" = usr.ckey,
@@ -242,21 +242,21 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
return
if(!istext(target_key))
- to_chat(usr, "Provided key '[target_key]' is not text!")
+ to_chat(usr, SPAN_WARNING("Provided key '[target_key]' is not text!"))
return
target_key = ckey(target_key)
if(target_key == "")
- to_chat(usr, "Provided key was blank after converting to ckey!")
+ to_chat(usr, SPAN_WARNING("Provided key was blank after converting to ckey!"))
return
if(!isnum(permission_bit) || permission_bit < 1 || floor(permission_bit) != permission_bit)
- to_chat(usr, "Provided permission '[permission_bit]' is not positive whole number!")
+ to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not positive whole number!"))
return
var/pow2 = round(log(2, permission_bit), 1)
if((2 ** pow2) != permission_bit)
- to_chat(usr, "Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!")
+ to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!"))
return
var/datum/db_query/get_admin_permissions = SSdbcore.NewQuery("SELECT admin.id, admin_ranks.default_permissions, admin.extra_permissions, admin.removed_permissions FROM admin LEFT OUTER JOIN admin_ranks ON admin.permissions_rank = admin_ranks.id WHERE ckey = :target_key", list(
@@ -279,7 +279,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(get_admin_permissions)
if(!admin_id)
- to_chat(usr, "No admin found with ckey [target_key]!")
+ to_chat(usr, SPAN_WARNING("No admin found with ckey [target_key]!"))
return
flag_account_for_forum_sync(target_key)
@@ -294,7 +294,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(remove_removal)
return
qdel(remove_removal)
- message_admins("Admin permissions updated by [usr.ckey]: [target_key] is no longer excluded from having [rights2text(permission_bit)].")
+ message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] is no longer excluded from having [rights2text(permission_bit)]."))
var/logtxt = "Un-excluded permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin [target_key]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
@@ -318,7 +318,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(remove_extra)
return
qdel(remove_extra)
- message_admins("Admin permissions updated by [usr.ckey]: [target_key] no longer has the extra permission [rights2text(permission_bit)].")
+ message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] no longer has the extra permission [rights2text(permission_bit)]."))
var/logtxt = "Removed extra permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin [target_key]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
@@ -342,7 +342,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(create_removal)
return
qdel(create_removal)
- message_admins("Admin permissions updated by [usr.ckey]: [target_key] is now excluded from having [rights2text(permission_bit)].")
+ message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] is now excluded from having [rights2text(permission_bit)]."))
var/logtxt = "Excluded permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin [target_key]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
@@ -365,7 +365,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(add_extra)
return
qdel(add_extra)
- message_admins("Admin permissions updated by [usr.ckey]: [target_key] has been granted the extra permission [rights2text(permission_bit)].")
+ message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] has been granted the extra permission [rights2text(permission_bit)]."))
var/logtxt = "Added extra permission [rights2text(permission_bit)] (flag = [permission_bit]) to admin [target_key]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
@@ -383,12 +383,12 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
return
if(!istext(target_key))
- to_chat(usr, "Provided key '[target_key]' is not text!")
+ to_chat(usr, SPAN_WARNING("Provided key '[target_key]' is not text!"))
return
target_key = ckey(target_key)
if(target_key == "")
- to_chat(usr, "Provided key was blank after converting to ckey!")
+ to_chat(usr, SPAN_WARNING("Provided key was blank after converting to ckey!"))
return
var/datum/db_query/get_admin_id = SSdbcore.NewQuery("SELECT admin.id FROM admin WHERE ckey = :target_key", list(
@@ -404,7 +404,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(get_admin_id)
if(!admin_id)
- to_chat(usr, "No admin found with ckey [target_key]!")
+ to_chat(usr, SPAN_WARNING("No admin found with ckey [target_key]!"))
return
flag_account_for_forum_sync(target_key)
@@ -416,7 +416,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(remove_admin)
return
qdel(remove_admin)
- message_admins("Admin ranks updated by [usr.ckey]: [target_key] no longer has any admin rank.")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [target_key] no longer has any admin rank."))
var/logtxt = "Removed the admin rank of [target_key]"
if(clear_custom_permissions)
@@ -427,7 +427,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(clear_permissions)
return
qdel(clear_permissions)
- message_admins("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions.")
+ message_admins(SPAN_NOTICE("Admin permissions updated by [usr.ckey]: [target_key] no longer has any custom permissions."))
logtxt += " and cleared their custom permissions"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
@@ -454,7 +454,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
add_rank.warn_execute()
qdel(add_rank)
- message_admins("Admin ranks updated by [usr.ckey]: new rank [rank_name] created.")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: new rank [rank_name] created."))
var/logtxt = "Created the admin rank [rank_name]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log`)
@@ -473,7 +473,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
var/rank_id = get_db_rank_id(rank_name)
if(!rank_id)
- to_chat(usr, "No rank named [rank_name] found!")
+ to_chat(usr, SPAN_WARNING("No rank named [rank_name] found!"))
return
var/datum/db_query/get_admins_with_rank = SSdbcore.NewQuery("SELECT ckey FROM admin WHERE permissions_rank = :rank_id", list(
@@ -487,7 +487,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
admins += get_admins_with_rank.item[1]
qdel(get_admins_with_rank)
if(length(admins) > 0)
- to_chat(usr, "[rank_name] is still in use, reassign the following admins first: [admins.Join(", ")]")
+ to_chat(usr, SPAN_WARNING("[rank_name] is still in use, reassign the following admins first: [admins.Join(", ")]"))
return
var/datum/db_query/delete_rank = SSdbcore.NewQuery("DELETE FROM admin_ranks WHERE id = :rank_id", list(
@@ -498,7 +498,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
return
qdel(delete_rank)
- message_admins("Admin ranks updated by [usr.ckey]: unused rank [rank_name] deleted.")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: unused rank [rank_name] deleted."))
var/logtxt = "Deleted the unused admin rank [rank_name]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
INSERT INTO admin_log (`datetime` ,`adminckey` ,`adminip` ,`log`)
@@ -528,16 +528,16 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
rank_permissions = get_rank_details.item[2]
qdel(get_rank_details)
if(!rank_id)
- to_chat(usr, "No rank named [rank_name] found!")
+ to_chat(usr, SPAN_WARNING("No rank named [rank_name] found!"))
return
if(!isnum(permission_bit) || permission_bit < 1 || floor(permission_bit) != permission_bit)
- to_chat(usr, "Provided permission '[permission_bit]' is not positive whole number!")
+ to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not positive whole number!"))
return
var/pow2 = round(log(2, permission_bit), 1)
if((2 ** pow2) != permission_bit)
- to_chat(usr, "Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!")
+ to_chat(usr, SPAN_WARNING("Provided permission '[permission_bit]' is not a power of two, and would affect multiple permission bits!"))
return
if(rank_permissions & permission_bit)
@@ -550,7 +550,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(create_removal)
return
qdel(create_removal)
- message_admins("Admin ranks updated by [usr.ckey]: [rank_name] no longer has [rights2text(permission_bit)]. An admin reload is required to apply this change.")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [rank_name] no longer has [rights2text(permission_bit)]. An admin reload is required to apply this change."))
var/logtxt = "Removed permission [rights2text(permission_bit)] (flag = [permission_bit]) from admin rank [rank_name]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
@@ -573,7 +573,7 @@ USER_VERB(edit_admin_permissions, R_PERMISSIONS, "Permissions Panel", "Edit admi
qdel(grant_permission)
return
qdel(grant_permission)
- message_admins("Admin ranks updated by [usr.ckey]: [rank_name] has been given [rights2text(permission_bit)]. An admin reload is required to apply this change.")
+ message_admins(SPAN_NOTICE("Admin ranks updated by [usr.ckey]: [rank_name] has been given [rights2text(permission_bit)]. An admin reload is required to apply this change."))
var/logtxt = "Added permission [rights2text(permission_bit)] (flag = [permission_bit]) to admin rank [rank_name]"
var/datum/db_query/create_log = SSdbcore.NewQuery({"
diff --git a/code/modules/admin/sql_notes.dm b/code/modules/admin/sql_notes.dm
index bcc40040043..77286c0a93c 100644
--- a/code/modules/admin/sql_notes.dm
+++ b/code/modules/admin/sql_notes.dm
@@ -3,14 +3,14 @@
return
if(IsAdminAdvancedProcCall() && !sanitise_html)
// *sigh*
- to_chat(usr, "Unsanitized note add blocked: Advanced ProcCall detected.")
+ to_chat(usr, SPAN_BOLDANNOUNCEOOC("Unsanitized note add blocked: Advanced ProcCall detected."))
message_admins("[key_name(usr)] attempted to possibly inject HTML into notes via advanced proc-call")
log_admin("[key_name(usr)] attempted to possibly inject HTML into notes via advanced proc-call")
return
if(!SSdbcore.IsConnected())
if(usr)
- to_chat(usr, "Failed to establish database connection.")
+ to_chat(usr, SPAN_DANGER("Failed to establish database connection."))
return
if(!target_ckey)
@@ -39,7 +39,7 @@
if(!ckey_found)
if(usr)
- to_chat(usr, "[target_ckey] has not been seen before, you can only add notes to known players.")
+ to_chat(usr, SPAN_REDTEXT("[target_ckey] has not been seen before, you can only add notes to known players."))
return
var/crew_number = 0
@@ -97,7 +97,7 @@
var/adminckey
if(!SSdbcore.IsConnected())
if(usr)
- to_chat(usr, "Failed to establish database connection.")
+ to_chat(usr, SPAN_DANGER("Failed to establish database connection."))
return
if(!note_id)
return
@@ -134,7 +134,7 @@
return
if(!SSdbcore.IsConnected())
if(usr)
- to_chat(usr, "Failed to establish database connection.")
+ to_chat(usr, SPAN_DANGER("Failed to establish database connection."))
return
if(!note_id)
return
@@ -152,7 +152,7 @@
var/adminckey = query_find_note_edit.item[3]
var/automated = query_find_note_edit.item[4]
if(automated)
- to_chat(usr, "That note is generated automatically. You can't edit it.")
+ to_chat(usr, SPAN_NOTICE("That note is generated automatically. You can't edit it."))
return
var/new_note = input("Input new note", "New Note", "[old_note]") as message|null
if(!new_note)
@@ -254,7 +254,7 @@
if(!query_list_notes.warn_execute())
qdel(query_list_notes)
return
- to_chat(usr, "Started regex note search for [search]. Please wait for results...")
+ to_chat(usr, SPAN_NOTICE("Started regex note search for [search]. Please wait for results..."))
message_admins("[usr.ckey] has started a note search with the following regex: [search] | CPU usage may be higher.")
while(query_list_notes.NextRow())
index_ckey = query_list_notes.item[1]
@@ -274,7 +274,7 @@
return
if(!SSdbcore.IsConnected())
if(usr)
- to_chat(usr, "Failed to establish database connection.")
+ to_chat(usr, SPAN_DANGER("Failed to establish database connection."))
return
if(!note_id)
return
@@ -292,10 +292,10 @@
var/automated = query_find_note_edit.item[4]
var/public = query_find_note_edit.item[5]
if((!adminckey || adminckey != usr.ckey) && !check_rights(R_PERMISSIONS))
- to_chat(usr, "You cannot toggle the publicity of notes created by other users.")
+ to_chat(usr, SPAN_NOTICE("You cannot toggle the publicity of notes created by other users."))
return
if(automated)
- to_chat(usr, "That note is generated automatically. You can't edit it.")
+ to_chat(usr, SPAN_NOTICE("That note is generated automatically. You can't edit it."))
return
if(public)
diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm
index 34d71a60ab9..3f89118f387 100644
--- a/code/modules/admin/topic.dm
+++ b/code/modules/admin/topic.dm
@@ -42,39 +42,39 @@
if("1")
log_admin("[key_name(usr)] has spawned traitors.")
if(!makeTraitors())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("2")
log_admin("[key_name(usr)] has spawned a changeling.")
if(!makeChangelings())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("3")
log_admin("[key_name(usr)] has spawned revolutionaries.")
if(!makeRevs())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("4")
log_admin("[key_name(usr)] has spawned a cultists.")
if(!makeCult())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("5")
log_admin("[key_name(usr)] has spawned a wizard.")
if(!makeWizard())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("6")
log_admin("[key_name(usr)] has spawned vampires.")
if(!makeVampires())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("7")
log_admin("[key_name(usr)] has spawned an abductor team.")
if(!makeAbductorTeam())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("8")
log_admin("[key_name(usr)] has spawned mindflayers.")
if(!makeMindflayers())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
if("9")
log_admin("[key_name(usr)] has spawned event characters.")
if(!makeEventCharacters())
- to_chat(usr, "Unfortunately there weren't enough candidates available.")
+ to_chat(usr, SPAN_WARNING("Unfortunately there weren't enough candidates available."))
else if(href_list["dbsearchckey"] || href_list["dbsearchadmin"] || href_list["dbsearchip"] || href_list["dbsearchcid"] || href_list["dbsearchbantype"])
var/adminckey = href_list["dbsearchadmin"]
@@ -118,35 +118,35 @@
switch(bantype)
if(BANTYPE_PERMA)
if(!banckey || !banreason)
- to_chat(usr, "Not enough parameters (Requires ckey and reason)")
+ to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey and reason)"))
return
banduration = null
banjob = null
if(BANTYPE_TEMP)
if(!banckey || !banreason || !banduration)
- to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)")
+ to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and duration)"))
return
banjob = null
if(BANTYPE_JOB_PERMA)
if(!banckey || !banreason || !banjob)
- to_chat(usr, "Not enough parameters (Requires ckey, reason and job)")
+ to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and job)"))
return
banduration = null
job_ban = TRUE
if(BANTYPE_JOB_TEMP)
if(!banckey || !banreason || !banjob || !banduration)
- to_chat(usr, "Not enough parameters (Requires ckey, reason and job)")
+ to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and job)"))
return
job_ban = TRUE
if(BANTYPE_ADMIN_PERMA)
if(!banckey || !banreason)
- to_chat(usr, "Not enough parameters (Requires ckey and reason)")
+ to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey and reason)"))
return
banduration = null
banjob = null
if(BANTYPE_ADMIN_TEMP)
if(!banckey || !banreason || !banduration)
- to_chat(usr, "Not enough parameters (Requires ckey, reason and duration)")
+ to_chat(usr, SPAN_WARNING("Not enough parameters (Requires ckey, reason and duration)"))
return
banjob = null
@@ -257,7 +257,7 @@
return
var/rank_id = create_db_rank(rank)
if(!rank_id)
- to_chat(usr, "A rank named [rank] already esists.")
+ to_chat(usr, SPAN_WARNING("A rank named [rank] already esists."))
return
while(TRUE)
@@ -265,7 +265,7 @@
if(!action)
return
if(action == "List Permissions")
- to_chat(usr, "Rank [rank] has the permissions: [rights2text(get_db_rank_permissions(rank), " ")]")
+ to_chat(usr, SPAN_NOTICE("Rank [rank] has the permissions: [rights2text(get_db_rank_permissions(rank), " ")]"))
continue
if(action == "Toggle Permission")
var/list/permissionlist = list()
@@ -350,7 +350,7 @@
if(GLOB.configuration.admin.use_database_admins)
rank_id = create_db_rank(new_rank)
if(!rank_id)
- to_chat(usr, "A rank named [new_rank] already esists.")
+ to_chat(usr, SPAN_WARNING("A rank named [new_rank] already esists."))
return
display_rank = input("Give them a custom title?", "Admin rank for [adm_ckey]", null, null) as null|text
else
@@ -363,7 +363,7 @@
if(GLOB.configuration.admin.use_database_admins)
rank_id = get_db_rank_id(new_rank)
if(!rank_id)
- to_chat(usr, "Rank '[new_rank] not found.")
+ to_chat(usr, SPAN_WARNING("Rank '[new_rank] not found."))
return
display_rank = input("Give them a custom title?", "Admin rank for [adm_ckey]", null, null) as null|text
else
@@ -426,7 +426,7 @@
return
SSshuttle.emergency.request()
log_admin("[key_name(usr)] called the Emergency Shuttle")
- message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] called the Emergency Shuttle to the station"))
if("2")
if(SSshuttle.emergency.mode >= SHUTTLE_DOCKED)
@@ -435,10 +435,10 @@
switch(SSshuttle.emergency.mode)
if(SHUTTLE_CALL)
log_admin("[key_name(usr)] sent the Emergency Shuttle back")
- message_admins("[key_name_admin(usr)] sent the Emergency Shuttle back")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] sent the Emergency Shuttle back"))
else
log_admin("[key_name(usr)] called the Emergency Shuttle")
- message_admins("[key_name_admin(usr)] called the Emergency Shuttle to the station")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] called the Emergency Shuttle to the station"))
href_list["secrets"] = "check_antagonist"
@@ -450,7 +450,7 @@
SSshuttle.emergency.setTimer(timer MINUTES)
log_admin("[key_name(usr)] edited the Emergency Shuttle's timeleft to [timer] minutes")
GLOB.minor_announcement.Announce("The emergency shuttle will reach its destination in [round(SSshuttle.emergency.timeLeft(600))] minutes.")
- message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] minutes")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] minutes"))
href_list["secrets"] = "check_antagonist"
else if(href_list["delay_round_end"])
@@ -458,7 +458,7 @@
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("[key_name_admin(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"].", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] [SSticker.delay_end ? "delayed the round end" : "has made the round end normally"]."), 1)
if(SSticker.delay_end)
SSticker.real_reboot_time = 0 // If they set this at round end, show the "Reboot was cancelled by an admin" message instantly
href_list["secretsadmin"] = "check_antagonist"
@@ -468,7 +468,7 @@
var/mob/M = locateUID(href_list["mob"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
var/delmob = 0
@@ -504,7 +504,7 @@
if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob, 1)
log_admin("[key_name(usr)] has used rudimentary transformation on [key_name(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]")
- message_admins("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]"), 1)
else if(href_list["jobban2"])
// if(!check_rights(R_BAN)) return
@@ -515,14 +515,14 @@
var/mob/M = locateUID(href_list["jobban2"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(!M.last_known_ckey) //sanity
- to_chat(usr, "This mob has no ckey")
+ to_chat(usr, SPAN_WARNING("This mob has no ckey"))
return
if(!SSjobs)
- to_chat(usr, "SSjobs has not been setup!")
+ to_chat(usr, SPAN_WARNING("SSjobs has not been setup!"))
return
var/dat = ""
@@ -763,7 +763,7 @@
var/mob/M = locateUID(href_list["jobban4"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(M != usr) //we can jobban ourselves
@@ -774,7 +774,7 @@
var/ban_ckey_param = href_list["dbbanaddckey"]
if(!SSjobs)
- to_chat(usr, "SSjobs has not been setup!")
+ to_chat(usr, SPAN_WARNING("SSjobs has not been setup!"))
return
//get jobs for department if specified, otherwise just return the one job in a list.
@@ -859,14 +859,14 @@
else
msg += ", [job]"
add_note(M.last_known_ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0, public = TRUE)
- message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg] for [mins] minutes"), 1)
// Reload their job ban holder (refresh this round)
if(M.client)
M.client.jbh.reload_jobbans(M.client)
- to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].")
- to_chat(M, "The reason is: [reason]")
- to_chat(M, "This jobban will be lifted in [mins] minutes.")
+ to_chat(M, SPAN_WARNING("You have been jobbanned by [usr.client.ckey] from: [msg]."))
+ to_chat(M, SPAN_DANGER("The reason is: [reason]"))
+ to_chat(M, SPAN_WARNING("This jobban will be lifted in [mins] minutes."))
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("No")
@@ -882,14 +882,14 @@
else
msg += ", [job]"
add_note(M.last_known_ckey, "Banned from [msg] - [reason]", null, usr.ckey, 0, public = TRUE)
- message_admins("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] banned [key_name_admin(M)] from [msg]"), 1)
// Reload their job ban holder (refresh this round)
if(M.client)
M.client.jbh.reload_jobbans(M.client)
- to_chat(M, "You have been jobbanned by [usr.client.ckey] from: [msg].")
- to_chat(M, "The reason is: [reason]")
- to_chat(M, "Jobban can be lifted only upon request.")
+ to_chat(M, SPAN_WARNING("You have been jobbanned by [usr.client.ckey] from: [msg]."))
+ to_chat(M, SPAN_DANGER("The reason is: [reason]"))
+ to_chat(M, SPAN_WARNING("Jobban can be lifted only upon request."))
href_list["jobban2"] = 1 // lets it fall through and refresh
return 1
if("Cancel")
@@ -903,15 +903,15 @@
return
var/client/C = M.client
if(C == null)
- to_chat(usr, "Mob has no client to kick.")
+ to_chat(usr, SPAN_WARNING("Mob has no client to kick."))
return
if(alert("Kick [C.ckey]?", null,"Yes","No") == "Yes")
if(C && C.holder && (C.holder.rights & R_BAN))
- to_chat(usr, "[key_name_admin(C)] cannot be kicked from the server.")
+ to_chat(usr, SPAN_WARNING("[key_name_admin(C)] cannot be kicked from the server."))
return
- to_chat(C, "You have been kicked from the server")
+ to_chat(C, SPAN_WARNING("You have been kicked from the server"))
log_admin("[key_name(usr)] booted [key_name(C)].")
- message_admins("[key_name_admin(usr)] booted [key_name_admin(C)].", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] booted [key_name_admin(C)]."), 1)
//C = null
qdel(C)
@@ -1000,34 +1000,34 @@
if(!reason)
return
M = admin_ban_mobsearch(M, ban_ckey_param, usr)
- to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].")
- to_chat(M, "This is a temporary ban, it will be removed in [mins] minutes.")
+ to_chat(M, SPAN_WARNING("You have been banned by [usr.client.ckey].\nReason: [reason]."))
+ to_chat(M, SPAN_WARNING("This is a temporary ban, it will be removed in [mins] minutes."))
DB_ban_record(BANTYPE_TEMP, M, mins, reason)
add_note(M.last_known_ckey, "Banned for [mins] minutes - [reason]", null, usr.ckey, FALSE)
if(M.client)
M.client.link_forum_account(TRUE)
if(GLOB.configuration.url.banappeals_url)
- to_chat(M, "To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]")
+ to_chat(M, SPAN_WARNING("To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]"))
else
- to_chat(M, "No ban appeals URL has been set.")
+ to_chat(M, SPAN_WARNING("No ban appeals URL has been set."))
log_admin("[key_name(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
- message_admins("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis will be removed in [mins] minutes.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis will be removed in [mins] minutes."))
qdel(M.client)
if("No")
var/reason = input(usr,"Please state the reason","Reason") as message|null
if(!reason)
return
- to_chat(M, "You have been banned by [usr.client.ckey].\nReason: [reason].")
- to_chat(M, "This ban does not expire automatically and must be appealed.")
+ to_chat(M, SPAN_WARNING("You have been banned by [usr.client.ckey].\nReason: [reason]."))
+ to_chat(M, SPAN_WARNING("This ban does not expire automatically and must be appealed."))
if(M.client)
M.client.link_forum_account(TRUE)
if(GLOB.configuration.url.banappeals_url)
- to_chat(M, "To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]")
+ to_chat(M, SPAN_WARNING("To try to resolve this matter head to [GLOB.configuration.url.banappeals_url]"))
else
- to_chat(M, "No ban appeals URL has been set.")
+ to_chat(M, SPAN_WARNING("No ban appeals URL has been set."))
log_admin("[key_name(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.")
- message_admins("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] has banned [M.last_known_ckey].\nReason: [reason]\nThis ban does not expire automatically and must be appealed."))
DB_ban_record(BANTYPE_PERMA, M, -1, reason)
add_note(M.last_known_ckey, "Permanently banned - [reason]", null, usr.ckey, FALSE)
@@ -1144,8 +1144,8 @@
return alert(usr, "The game has already started.", null, null, null, null)
GLOB.master_mode = href_list["c_mode2"]
log_admin("[key_name(usr)] set the mode as [GLOB.master_mode].")
- message_admins("[key_name_admin(usr)] set the mode as [GLOB.master_mode].", 1)
- to_chat(world, "The mode is now: [GLOB.master_mode]")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the mode as [GLOB.master_mode]."), 1)
+ to_chat(world, SPAN_BOLDNOTICE("The mode is now: [GLOB.master_mode]"))
Game() // updates the main game menu
world.save_mode(GLOB.master_mode)
.(href, list("c_mode"=1))
@@ -1159,7 +1159,7 @@
return alert(usr, "The game mode has to be secret!", null, null, null, null)
GLOB.secret_force_mode = href_list["f_secret2"]
log_admin("[key_name(usr)] set the forced secret mode as [GLOB.secret_force_mode].")
- message_admins("[key_name_admin(usr)] set the forced secret mode as [GLOB.secret_force_mode].", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the forced secret mode as [GLOB.secret_force_mode]."), 1)
Game() // updates the main game menu
.(href, list("f_secret"=1))
@@ -1177,11 +1177,11 @@
if(budget < 0)
GLOB.dynamic_forced_rulesets -= "budget"
log_admin("[key_name(usr)] set the ruleset budget to random.")
- message_admins("[key_name_admin(usr)] set the ruleset budget to random.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the ruleset budget to random."))
else
GLOB.dynamic_forced_rulesets["budget"] = budget
log_admin("[key_name(usr)] set the ruleset budget to [budget]")
- message_admins("[key_name_admin(usr)] set the ruleset budget to [budget].")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the ruleset budget to [budget]."))
.(href, list("f_dynamic"=1))
return
@@ -1189,15 +1189,15 @@
switch(GLOB.dynamic_forced_rulesets[ruleset])
if(DYNAMIC_RULESET_FORCED)
log_admin("[key_name(usr)] banned the [ruleset] ruleset.")
- message_admins("[key_name_admin(usr)] banned the [ruleset.name] ([ruleset.type]) ruleset.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] banned the [ruleset.name] ([ruleset.type]) ruleset."))
GLOB.dynamic_forced_rulesets[ruleset] = DYNAMIC_RULESET_BANNED
if(DYNAMIC_RULESET_BANNED)
log_admin("[key_name(usr)] set the [ruleset] ruleset to normal.")
- message_admins("[key_name_admin(usr)] set the [ruleset.name] ([ruleset.type]) ruleset to normal.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] set the [ruleset.name] ([ruleset.type]) ruleset to normal."))
GLOB.dynamic_forced_rulesets[ruleset] = DYNAMIC_RULESET_NORMAL
else // not set, and already at normal
log_admin("[key_name(usr)] forced the [ruleset] ruleset.")
- message_admins("[key_name_admin(usr)] forced the [ruleset.name] ([ruleset.type]) ruleset.")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] forced the [ruleset.name] ([ruleset.type]) ruleset."))
GLOB.dynamic_forced_rulesets[ruleset] = DYNAMIC_RULESET_FORCED
.(href, list("f_dynamic"=1))
@@ -1206,13 +1206,13 @@
var/mob/living/carbon/human/H = locateUID(href_list["monkeyone"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make monkey?", null, "Yes", "No") != "Yes")
return
log_admin("[key_name(usr)] attempting to monkeyize [key_name(H)]")
- message_admins("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] attempting to monkeyize [key_name_admin(H)]"), 1)
H.monkeyize()
@@ -1221,14 +1221,14 @@
var/mob/living/carbon/human/H = locateUID(href_list["corgione"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make corgi?", null, "Yes", "No") != "Yes")
return
log_admin("[key_name(usr)] attempting to corgize [key_name(H)]")
- message_admins("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] attempting to corgize [key_name_admin(H)]"), 1)
H.corgize()
else if(href_list["makePAI"])
@@ -1236,7 +1236,7 @@
var/mob/living/carbon/human/H = locateUID(href_list["makePAI"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make pai?", null, "Yes", "No") != "Yes")
return
@@ -1252,7 +1252,7 @@
name = painame
log_admin("[key_name(usr)] attempting to pAIze [key_name(H)]")
- message_admins("[key_name_admin(usr)] attempting to pAIze [key_name_admin(H)]", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] attempting to pAIze [key_name_admin(H)]"), 1)
H.paize(name)
else if(href_list["forcespeech"])
@@ -1260,7 +1260,7 @@
var/mob/M = locateUID(href_list["forcespeech"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
var/speech = input("What will [key_name(M)] say?.", "Force speech", "")// Don't need to sanitize, since it does that in say(), we also trust our admins.
@@ -1268,7 +1268,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("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] forced [key_name_admin(M)] to say: [speech]"))
else if(href_list["sendtoprison"])
if(!check_rights(R_ADMIN)) return
@@ -1278,10 +1278,10 @@
var/mob/M = locateUID(href_list["sendtoprison"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(is_ai(M))
- to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai"))
return
var/turf/prison_cell = pick(GLOB.prisonwarp)
@@ -1315,9 +1315,9 @@
prisoner.equip_to_slot_or_del(new /obj/item/clothing/under/color/orange(prisoner), ITEM_SLOT_JUMPSUIT)
prisoner.equip_to_slot_or_del(new /obj/item/clothing/shoes/orange(prisoner), ITEM_SLOT_SHOES)
- to_chat(M, "You have been sent to the prison station!")
+ to_chat(M, SPAN_WARNING("You have been sent to the prison station!"))
log_admin("[key_name(usr)] sent [key_name(M)] to the prison station.")
- message_admins("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station.", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] sent [key_name_admin(M)] to the prison station."), 1)
else if(href_list["sendbacktolobby"])
if(!check_rights(R_ADMIN))
@@ -1326,11 +1326,11 @@
var/mob/M = locateUID(href_list["sendbacktolobby"])
if(!isobserver(M))
- to_chat(usr, "You can only send ghost players back to the Lobby.")
+ to_chat(usr, SPAN_NOTICE("You can only send ghost players back to the Lobby."))
return
if(!M.client)
- to_chat(usr, "[M] doesn't seem to have an active client.")
+ to_chat(usr, SPAN_WARNING("[M] doesn't seem to have an active client."))
return
if(alert(usr, "Send [key_name(M)] back to Lobby?", "Message", "Yes", "No") != "Yes")
@@ -1351,15 +1351,15 @@
var/mob/M = locateUID(href_list["eraseflavortext"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(!M.client)
- to_chat(usr, "[M] doesn't seem to have an active client.")
+ to_chat(usr, SPAN_WARNING("[M] doesn't seem to have an active client."))
return
if(M.flavor_text == "" && M.client.prefs.active_character.flavor_text == "")
- to_chat(usr, "[M] has no flavor text set.")
+ to_chat(usr, SPAN_WARNING("[M] has no flavor text set."))
return
if(alert(usr, "Erase [key_name(M)]'s flavor text?", "Message", "Yes", "No") != "Yes")
@@ -1382,11 +1382,11 @@
var/mob/M = locateUID(href_list["userandomname"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(!M.client)
- to_chat(usr, "[M] doesn't seem to have an active client.")
+ to_chat(usr, SPAN_WARNING("[M] doesn't seem to have an active client."))
return
if(alert(usr, "Force [key_name(M)] to use a random name?", "Message", "Yes", "No") != "Yes")
@@ -1419,10 +1419,10 @@
var/mob/M = locateUID(href_list["tdome1"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(is_ai(M))
- to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai"))
return
for(var/obj/item/I in M)
@@ -1439,7 +1439,7 @@
sleep(5)
M.loc = pick(GLOB.tdome1)
spawn(50)
- to_chat(M, "You have been sent to the Thunderdome.")
+ to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome."))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 1)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 1)", 1)
@@ -1451,10 +1451,10 @@
var/mob/M = locateUID(href_list["tdome2"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(is_ai(M))
- to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai"))
return
for(var/obj/item/I in M)
@@ -1471,7 +1471,7 @@
sleep(5)
M.loc = pick(GLOB.tdome2)
spawn(50)
- to_chat(M, "You have been sent to the Thunderdome.")
+ to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome."))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Team 2)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Team 2)", 1)
@@ -1483,10 +1483,10 @@
var/mob/M = locateUID(href_list["tdomeadmin"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(is_ai(M))
- to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai"))
return
if(isliving(M))
@@ -1495,7 +1495,7 @@
sleep(5)
M.loc = pick(GLOB.tdomeadmin)
spawn(50)
- to_chat(M, "You have been sent to the Thunderdome.")
+ to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome."))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Admin.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Admin.)", 1)
@@ -1507,10 +1507,10 @@
var/mob/M = locateUID(href_list["tdomeobserve"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(is_ai(M))
- to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai"))
return
for(var/obj/item/I in M)
@@ -1531,7 +1531,7 @@
sleep(5)
M.loc = pick(GLOB.tdomeobserve)
spawn(50)
- to_chat(M, "You have been sent to the Thunderdome.")
+ to_chat(M, SPAN_NOTICE("You have been sent to the Thunderdome."))
log_admin("[key_name(usr)] has sent [key_name(M)] to the thunderdome. (Observer.)")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the thunderdome. (Observer.)", 1)
@@ -1541,15 +1541,15 @@
var/mob/M = locateUID(href_list["contractor_stop"])
if(!istype(M))
- to_chat(usr, "This can only be used on instances of type /mob.")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob."))
return
var/datum/syndicate_contract/contract = LAZYACCESS(GLOB.prisoner_belongings.prisoners, M)
if(!contract)
- to_chat(usr, "[M] is currently not imprisoned by the Syndicate.")
+ to_chat(usr, SPAN_WARNING("[M] is currently not imprisoned by the Syndicate."))
return
if(!contract.prisoner_timer_handle)
- to_chat(usr, "[M] is already NOT scheduled to return from the Syndicate Jail.")
+ to_chat(usr, SPAN_WARNING("[M] is already NOT scheduled to return from the Syndicate Jail."))
return
deltimer(contract.prisoner_timer_handle)
@@ -1564,15 +1564,15 @@
var/mob/M = locateUID(href_list["contractor_start"])
if(!istype(M))
- to_chat(usr, "This can only be used on instances of type /mob.")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob."))
return
var/datum/syndicate_contract/contract = LAZYACCESS(GLOB.prisoner_belongings.prisoners, M)
if(!contract)
- to_chat(usr, "[M] is currently not imprisoned by the Syndicate.")
+ to_chat(usr, SPAN_WARNING("[M] is currently not imprisoned by the Syndicate."))
return
if(contract.prisoner_timer_handle)
- to_chat(usr, "[M] is already scheduled to return from the Syndicate Jail.")
+ to_chat(usr, SPAN_WARNING("[M] is already scheduled to return from the Syndicate Jail."))
return
var/time_seconds = input(usr, "Enter the jail time in seconds:", "Start Syndicate Jail Timer") as num|null
@@ -1591,12 +1591,12 @@
var/mob/M = locateUID(href_list["contractor_release"])
if(!istype(M))
- to_chat(usr, "This can only be used on instances of type /mob.")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob."))
return
var/datum/syndicate_contract/contract = LAZYACCESS(GLOB.prisoner_belongings.prisoners, M)
if(!contract)
- to_chat(usr, "[M] is currently not imprisoned by the Syndicate.")
+ to_chat(usr, SPAN_WARNING("[M] is currently not imprisoned by the Syndicate."))
return
deltimer(contract.prisoner_timer_handle)
@@ -1614,10 +1614,10 @@
var/mob/M = locateUID(href_list["aroomwarp"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
if(is_ai(M))
- to_chat(usr, "This cannot be used on instances of type /mob/living/silicon/ai")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/living/silicon/ai"))
return
if(isliving(M))
@@ -1626,7 +1626,7 @@
sleep(5)
M.loc = pick(GLOB.aroomwarp)
spawn(50)
- to_chat(M, "You have been sent to the Admin Room!.")
+ to_chat(M, SPAN_NOTICE("You have been sent to the Admin Room!."))
log_admin("[key_name(usr)] has sent [key_name(M)] to the Admin Room")
message_admins("[key_name_admin(usr)] has sent [key_name_admin(M)] to the Admin Room", 1)
@@ -1636,11 +1636,11 @@
var/mob/living/L = locateUID(href_list["revive"])
if(!istype(L))
- to_chat(usr, "This can only be used on instances of type /mob/living")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living"))
return
L.revive()
- message_admins("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!", 1)
+ message_admins(SPAN_WARNING("Admin [key_name_admin(usr)] healed / revived [key_name_admin(L)]!"), 1)
log_admin("[key_name(usr)] healed / revived [key_name(L)]")
else if(href_list["makeai"])
@@ -1648,13 +1648,13 @@
var/mob/living/carbon/human/H = locateUID(href_list["makeai"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make ai?", null, "Yes", "No") != "Yes")
return
- message_admins("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!", 1)
+ message_admins(SPAN_WARNING("Admin [key_name_admin(usr)] AIized [key_name_admin(H)]!"), 1)
log_admin("[key_name(usr)] AIized [key_name(H)]")
var/mob/living/silicon/ai/ai_character = H.AIize()
ai_character.moveToAILandmark()
@@ -1663,7 +1663,7 @@
// TODO: move these checks into the user verb proper probably
var/mob/living/carbon/human/H = locateUID(href_list["makealien"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make alien?", null, "Yes", "No") != "Yes")
return
@@ -1674,7 +1674,7 @@
// TODO: move these checks into the user verb proper probably
var/mob/living/carbon/human/H = locateUID(href_list["makeslime"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make slime?", null, "Yes", "No") != "Yes")
return
@@ -1685,7 +1685,7 @@
// TODO: move these checks into the user verb proper probably
var/mob/living/carbon/human/H = locateUID(href_list["makesuper"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make superhero?", null, "Yes", "No") != "Yes")
@@ -1697,7 +1697,7 @@
// TODO: move these checks into the user verb proper probably
var/mob/living/carbon/human/H = locateUID(href_list["makerobot"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
if(alert(usr, "Confirm make robot?", null, "Yes", "No") != "Yes")
return
@@ -1708,7 +1708,7 @@
// TODO: move these checks into the user verb proper probably
var/mob/M = locateUID(href_list["makeanimal"])
if(isnewplayer(M))
- to_chat(usr, "This cannot be used on instances of type /mob/new_player")
+ to_chat(usr, SPAN_WARNING("This cannot be used on instances of type /mob/new_player"))
return
if(tgui_alert(usr, "Confirm make animal?", "Confirm Choice", list("Yes", "No")) != "Yes")
return
@@ -1721,7 +1721,7 @@
var/mob/dead/observer/G = locateUID(href_list["incarn_ghost"])
if(!istype(G))
- to_chat(usr, "This will only work on /mob/dead/observer")
+ to_chat(usr, SPAN_WARNING("This will only work on /mob/dead/observer"))
return
var/list/potential_minds = list()
@@ -1753,7 +1753,7 @@
var/mob/living/carbon/human/H = locateUID(href_list["togmutate"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
var/block=text2num(href_list["block"])
//testing("togmutate([href_list["block"]] -> [block])")
@@ -1768,7 +1768,7 @@
var/mob/M = locateUID(href_list["adminobserve"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(C, /datum/user_verb/admin_observe_target, M)
@@ -1776,26 +1776,26 @@
var/mob/M = locateUID(href_list["adminplayeropts"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(usr, /datum/user_verb/show_player_panel, M)
else if(href_list["adminplayerobservefollow"])
if(isnewplayer(usr))
- to_chat(usr, "You cannot follow anyone from the lobby!")
+ to_chat(usr, SPAN_WARNING("You cannot follow anyone from the lobby!"))
return
var/client/C = usr.client
if(!isobserver(usr))
if(!check_rights(R_ADMIN|R_MOD, show_msg=FALSE)) // Need to be mod or admin to aghost
- to_chat(usr, "You must be an observer to follow someone!")
+ to_chat(usr, SPAN_WARNING("You must be an observer to follow someone!"))
return
SSuser_verbs.invoke_verb(C, /datum/user_verb/admin_ghost)
var/mob/target = locateUID(href_list["adminplayerobservefollow"])
if(!ismob(target))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
var/mob/dead/observer/ghost = C.mob
@@ -1843,12 +1843,12 @@
if(href_list["team"])
team = locateUID(href_list["team"])
if(QDELETED(team))
- to_chat(usr, "This team doesn't exist anymore!")
+ to_chat(usr, SPAN_WARNING("This team doesn't exist anymore!"))
return
if(href_list["member"])
member = locateUID(href_list["member"])
if(QDELETED(member))
- to_chat(usr, "This team member doesn't exist anymore!")
+ to_chat(usr, SPAN_WARNING("This team member doesn't exist anymore!"))
return
switch(href_list["team_command"])
if("communicate")
@@ -1932,7 +1932,7 @@
var/mob/M = locateUID(href_list["adminmoreinfo"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
admin_mob_info(M)
@@ -1942,7 +1942,7 @@
var/mob/living/carbon/human/H = locateUID(href_list["adminspawncookie"])
if(!ishuman(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
H.equip_to_slot_or_del( new /obj/item/food/cookie(H), ITEM_SLOT_LEFT_HAND )
@@ -1959,14 +1959,14 @@
log_admin("[key_name(H)] got their cookie, spawned by [key_name(src.owner)]")
message_admins("[key_name_admin(H)] got [H.p_their()] cookie, spawned by [key_name_admin(src.owner)]")
SSblackbox.record_feedback("amount", "admin_cookies_spawned", 1)
- to_chat(H, "Your prayers have been answered!! You received the best cookie!")
+ to_chat(H, SPAN_NOTICE("Your prayers have been answered!! You received the best cookie!"))
else if(href_list["BlueSpaceArtillery"])
if(!check_rights(R_ADMIN|R_EVENT)) return
var/mob/living/M = locateUID(href_list["BlueSpaceArtillery"])
if(!isliving(M))
- to_chat(usr, "This can only be used on instances of type /mob/living")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living"))
return
if(alert(owner, "Are you sure you wish to hit [key_name(M)] with Bluespace Artillery?", "Confirm Firing?" , "Yes" , "No") != "Yes")
@@ -2004,7 +2004,7 @@
var/mob/M = locateUID(href_list["CentcommReply"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
usr.client.admin_headset_message(M, "Centcomm")
@@ -2016,7 +2016,7 @@
var/mob/M = locateUID(href_list["SyndicateReply"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
usr.client.admin_headset_message(M, "Syndicate")
@@ -2028,7 +2028,7 @@
var/mob/M = locateUID(href_list["HeadsetMessage"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
usr.client.admin_headset_message(M)
@@ -2038,7 +2038,7 @@
return
var/mob/living/carbon/human/H = locateUID(href_list["EvilFax"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
var/etypes = list("Borgification", "Corgification", "Death By Fire", "Total Brain Death", "Honk Tumor", "Cluwne", "Demote", "Demote with Bot", "Revoke Fax Access", "Angry Fax Machine")
var/eviltype = input(src.owner, "Which type of evil fax do you wish to send [H]?","Its good to be baaaad...", "") as null|anything in etypes
@@ -2086,7 +2086,7 @@
return
var/mob/living/M = locateUID(href_list["Bless"])
if(!istype(M))
- to_chat(usr, "This can only be used on instances of type /mob/living")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living"))
return
var/btypes = list("To Arrivals", "Moderate Heal")
var/mob/living/carbon/human/H
@@ -2106,14 +2106,14 @@
switch(blessing)
if("To Arrivals")
M.forceMove(pick(GLOB.latejoin))
- to_chat(M, "You are abruptly pulled through space!")
+ to_chat(M, SPAN_USERDANGER("You are abruptly pulled through space!"))
logmsg = "a teleport to arrivals."
if("Moderate Heal")
M.adjustBruteLoss(-25)
M.adjustFireLoss(-25)
M.adjustToxLoss(-25)
M.adjustOxyLoss(-25)
- to_chat(M,"You feel invigorated!")
+ to_chat(M,SPAN_USERDANGER("You feel invigorated!"))
logmsg = "a moderate heal."
if("Heal Over Time")
H.reagents.add_reagent("salglu_solution", 30)
@@ -2181,7 +2181,7 @@
P.mind.name = newname
logmsg = "pet ([P])."
else
- to_chat(usr, "WARNING: Nobody volunteered to play the special event pet.")
+ to_chat(usr, SPAN_WARNING("WARNING: Nobody volunteered to play the special event pet."))
logmsg = "pet (no volunteers)."
if("Human Protector")
usr.client.create_eventmob_for(H, 0)
@@ -2195,7 +2195,7 @@
// don't have it - add it
I.access |= this_access
else
- to_chat(usr, "ERROR: [H] is not wearing an ID card.")
+ to_chat(usr, SPAN_WARNING("ERROR: [H] is not wearing an ID card."))
logmsg = "all access."
if(logmsg)
log_admin("[key_name(owner)] answered [key_name(M)]'s prayer with a blessing: [logmsg]")
@@ -2206,7 +2206,7 @@
var/mob/living/M = locateUID(href_list["Smite"])
var/mob/living/carbon/human/H
if(!istype(M))
- to_chat(usr, "This can only be used on instances of type /mob/living")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living"))
return
var/ptypes = list("Lightning bolt", "Fire Death", "Gib", "Dust", "Plushify")
if(ishuman(M))
@@ -2238,10 +2238,10 @@
var/turf/simulated/T = get_turf(M)
new /obj/effect/temp_visual/thunderbolt(T)
M.adjustFireLoss(30)
- to_chat(M, "The gods have punished you for your sins!")
+ to_chat(M, SPAN_USERDANGER("The gods have punished you for your sins!"))
logmsg = "a lightning bolt."
if("Fire Death")
- to_chat(M,"You feel hotter than usual. Maybe you should lowe-wait, is that your hand melting?")
+ to_chat(M,SPAN_USERDANGER("You feel hotter than usual. Maybe you should lowe-wait, is that your hand melting?"))
var/turf/simulated/T = get_turf(M)
var/obj/effect/hotspot/hotspot = new /obj/effect/hotspot/fake(T)
hotspot.temperature = 1000
@@ -2265,7 +2265,7 @@
if("Honk Tumor")
if(!H.get_int_organ(/obj/item/organ/internal/honktumor))
var/obj/item/organ/internal/organ = new /obj/item/organ/internal/honktumor
- to_chat(H, "Life seems funnier, somehow.")
+ to_chat(H, SPAN_USERDANGER("Life seems funnier, somehow."))
organ.insert(H)
logmsg = "a honk tumor."
if("Hallucinate")
@@ -2306,7 +2306,7 @@
logmsg = "hunter."
if("Crew Traitor")
if(!H.mind)
- to_chat(usr, "ERROR: This mob ([H]) has no mind!")
+ to_chat(usr, SPAN_WARNING("ERROR: This mob ([H]) has no mind!"))
return
var/list/possible_traitors = list()
for(var/mob/living/player in GLOB.alive_mob_list)
@@ -2328,13 +2328,13 @@
var/datum/antagonist/traitor/T = new()
T.give_objectives = FALSE
- to_chat(new_traitor_mind.current, "ATTENTION: It is time to pay your debt to the Syndicate...")
- to_chat(new_traitor_mind.current, "Goal: KILL [H.real_name], currently in [get_area(H.loc)]")
+ to_chat(new_traitor_mind.current, "[SPAN_DANGER("ATTENTION:")] It is time to pay your debt to the Syndicate...")
+ to_chat(new_traitor_mind.current, "Goal: [SPAN_DANGER("KILL [H.real_name]")], currently in [get_area(H.loc)]")
new_traitor_mind.add_antag_datum(T)
message_admins("[key_name_admin(new_traitor_mind)] was chosen to be the traitor for a smite!")
log_admin("[key_name(new_traitor_mind)] was made into a traitor to hunt [key_name(H)] for 'Crew Traitor' smite.")
else
- to_chat(usr, "ERROR: Unable to find any valid candidate to send after [H].")
+ to_chat(usr, SPAN_WARNING("ERROR: Unable to find any valid candidate to send after [H]."))
return
logmsg = "crew traitor."
if("Floor Cluwne")
@@ -2352,7 +2352,7 @@
if("Nugget")
H.Weaken(12 SECONDS, TRUE)
H.AdjustJitter(40 SECONDS)
- to_chat(H, "You feel as if your limbs are being ripped from your body!")
+ to_chat(H, SPAN_DANGER("You feel as if your limbs are being ripped from your body!"))
addtimer(CALLBACK(H, TYPE_PROC_REF(/mob/living/carbon/human, make_nugget)), 6 SECONDS)
logmsg = "nugget"
if("Bread")
@@ -2365,7 +2365,7 @@
breadshade.RegisterSignal(bread, COMSIG_PARENT_QDELETING, TYPE_PROC_REF(/mob/living/simple_animal/shade/sword/generic_item, handle_item_deletion))
qdel(H)
logmsg = "baked"
- to_chat(breadshade, "Get bready for combat, you've been baked into a piece of bread! Before you break down and rye thinking that your life is over, people are after you waiting for a snack! If you'd rather not be toast, lunge away from any hungry crew else you bite the crust. At the yeast you may survive a little longer...")
+ to_chat(breadshade, SPAN_WARNING("Get bready for combat, you've been baked into a piece of bread! Before you break down and rye thinking that your life is over, people are after you waiting for a snack! If you'd rather not be toast, lunge away from any hungry crew else you bite the crust. At the yeast you may survive a little longer..."))
if("Rod")
var/starting_turf_x = M.x + rand(10, 15) * pick(1, -1)
@@ -2383,10 +2383,10 @@
var/mob/living/M = locateUID(href_list["cryossd"])
var/human = ishuman(M)
if(!human && !issilicon(M))
- to_chat(usr, "This can only be used on humans and silicons.")
+ to_chat(usr, SPAN_WARNING("This can only be used on humans and silicons."))
return
if(!href_list["cryoafk"] && !isLivingSSD(M))
- to_chat(usr, "This can only be used on living, SSD players.")
+ to_chat(usr, SPAN_WARNING("This can only be used on living, SSD players."))
return
if(is_ai(M))
var/mob/living/silicon/ai/A = M
@@ -2427,7 +2427,7 @@
return
if(href_list["cryoafk"]) // Warn them if they are send to storage and are AFK
- to_chat(M, "The admins have moved you to cryo storage for being AFK. Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned.")
+ to_chat(M, SPAN_DANGER("The admins have moved you to cryo storage for being AFK. Please eject yourself (right click, eject) out of the cryostorage if you want to avoid being despawned."))
SEND_SOUND(M, sound('sound/effects/adminhelp.ogg'))
if(M.client)
window_flash(M.client)
@@ -2437,7 +2437,7 @@
return
var/mob/living/carbon/human/H = locateUID(href_list["FaxReplyTemplate"])
if(!istype(H))
- to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
var/obj/item/paper/P = new /obj/item/paper(null)
var/obj/machinery/photocopier/faxmachine/fax = locate(href_list["originfax"])
@@ -2504,7 +2504,7 @@
if(alert(owner, "Accept or Deny ERT request?", "CentComm Response", "Accept", "Deny") == "Deny")
var/mob/living/carbon/human/H = locateUID(href_list["ErtReply"])
if(!istype(H))
- to_chat(owner, "This can only be used on instances of type /mob/living/carbon/human")
+ to_chat(owner, SPAN_WARNING("This can only be used on instances of type /mob/living/carbon/human"))
return
var/reason = input(owner, "Please enter a reason for denying [key_name(H)]'s ERT request.", "Outgoing message from CentComm") as null|message
@@ -2519,13 +2519,13 @@
return
if(H.stat != CONSCIOUS)
- to_chat(owner, "The person you are trying to contact is not conscious. ERT denied but no message has been sent.")
+ to_chat(owner, SPAN_WARNING("The person you are trying to contact is not conscious. ERT denied but no message has been sent."))
return
if(!istype(H.l_ear, /obj/item/radio/headset) && !istype(H.r_ear, /obj/item/radio/headset))
- to_chat(owner, "The person you are trying to contact is not wearing a headset. ERT denied but no message has been sent.")
+ to_chat(owner, SPAN_WARNING("The person you are trying to contact is not wearing a headset. ERT denied but no message has been sent."))
return
- to_chat(owner, "You sent [reason] to [H] via a secure channel.")
- to_chat(H, "Incoming priority transmission from Central Command. Message as follows, Your ERT request has been denied for the following reasons: [reason].")
+ to_chat(owner, SPAN_NOTICE("You sent [reason] to [H] via a secure channel."))
+ to_chat(H, "Incoming priority transmission from Central Command. Message as follows,[SPAN_SPECIALNOTICE(" Your ERT request has been denied for the following reasons: [reason].")]")
else
SSuser_verbs.invoke_verb(owner, /datum/user_verb/dispatch_ert)
@@ -2553,7 +2553,7 @@
usr << browse(data, "window=PaperBundle[B.UID()]")
else
- to_chat(usr, "The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]")
+ to_chat(usr, SPAN_WARNING("The faxed item is not viewable. This is probably a bug, and should be reported on the tracker: [fax.type]"))
else if(href_list["AdminFaxViewPage"])
if(!check_rights(R_ADMIN))
@@ -2708,17 +2708,17 @@
if(destination != "All Departments")
if(!fax.receivefax(sending))
- to_chat(src.owner, "Message transmission failed.")
+ to_chat(src.owner, SPAN_WARNING("Message transmission failed."))
return
else
for(var/obj/machinery/photocopier/faxmachine/F in GLOB.allfaxes)
if(is_station_level(F.z))
spawn(0)
if(!F.receivefax(sending))
- to_chat(src.owner, "Message transmission to [F.department] failed.")
+ to_chat(src.owner, SPAN_WARNING("Message transmission to [F.department] failed."))
- to_chat(src.owner, "Message transmitted successfully.")
+ to_chat(src.owner, SPAN_NOTICE("Message transmitted successfully."))
if(notify == "Yes")
var/mob/living/carbon/human/H = sender
if(istype(H) && H.stat == CONSCIOUS && (istype(H.l_ear, /obj/item/radio/headset) || istype(H.r_ear, /obj/item/radio/headset)))
@@ -2742,7 +2742,7 @@
return
var/mob/M = locateUID(href_list["getplaytimewindow"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
cmd_mentor_show_exp_panel(M.client)
@@ -2751,7 +2751,7 @@
var/mob/M = locateUID(href_list["jumpto"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
usr.client.jumptomob(M)
@@ -2759,7 +2759,7 @@
if(alert(usr, "Confirm?", "Message", "Yes", "No") != "Yes") return
var/mob/M = locateUID(href_list["getmob"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(usr, /datum/user_verb/teleport_mob, M)
@@ -2768,21 +2768,21 @@
var/mob/M = locateUID(href_list["sendmob"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(usr, /datum/user_verb/send_mob, M)
else if(href_list["narrateto"])
var/mob/M = locateUID(href_list["narrateto"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(usr, /datum/user_verb/direct_narrate, M)
else if(href_list["subtlemessage"])
var/mob/M = locateUID(href_list["subtlemessage"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(usr, /datum/user_verb/subtle_message, M)
@@ -2793,7 +2793,7 @@
var/mob/M = locateUID(href_list["traitor"])
if(!ismob(M))
- to_chat(usr, "This can only be used on instances of type /mob")
+ to_chat(usr, SPAN_WARNING("This can only be used on instances of type /mob"))
return
SSuser_verbs.invoke_verb(usr, /datum/user_verb/show_traitor_panel, M)
@@ -2863,7 +2863,7 @@
switch(where)
if("inhand")
if(!iscarbon(usr) && !isrobot(usr))
- to_chat(usr, "Can only spawn in hand when you're a carbon mob or cyborg.")
+ to_chat(usr, SPAN_WARNING("Can only spawn in hand when you're a carbon mob or cyborg."))
where = "onfloor"
target = usr
@@ -2875,10 +2875,10 @@
target = locate(loc.x + X,loc.y + Y,loc.z + Z)
if("inmarked")
if(!marked_datum)
- to_chat(usr, "You don't have any object marked. Abandoning spawn.")
+ to_chat(usr, SPAN_WARNING("You don't have any object marked. Abandoning spawn."))
return
else if(!istype(marked_datum,/atom))
- to_chat(usr, "The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn.")
+ to_chat(usr, SPAN_WARNING("The object you have marked cannot be used as a target. Target must be of type /atom. Abandoning spawn."))
return
else
target = marked_datum
@@ -2935,7 +2935,7 @@
var/afkonly = text2num(href_list["afkonly"])
if(alert("Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby?","Confirmation","Yes","Cancel") != "Yes")
return
- var/list/listkicked = kick_clients_in_lobby("You were kicked from the lobby by an Administrator.", afkonly)
+ var/list/listkicked = kick_clients_in_lobby(SPAN_DANGER("You were kicked from the lobby by an Administrator."), afkonly)
var/strkicked = ""
for(var/name in listkicked)
@@ -2943,7 +2943,7 @@
message_admins("[key_name_admin(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]")
log_admin("[key_name(usr)] has kicked [afkonly ? "all AFK" : "all"] clients from the lobby. [length(listkicked)] clients kicked: [strkicked ? strkicked : "--"]")
else
- to_chat(usr, "You may only use this when the game is running.")
+ to_chat(usr, SPAN_WARNING("You may only use this when the game is running."))
else if(href_list["memoeditlist"])
if(!check_rights(R_SERVER)) return
@@ -3021,7 +3021,7 @@
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Triple AI")
if("gravity")
if(!(SSticker && SSticker.mode))
- to_chat(usr, "Please wait until the game starts! Not sure how it will work otherwise.")
+ to_chat(usr, SPAN_WARNING("Please wait until the game starts! Not sure how it will work otherwise."))
return
GLOB.gravity_is_on = !GLOB.gravity_is_on
for(var/area/A in world)
@@ -3029,11 +3029,11 @@
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Gravity")
if(GLOB.gravity_is_on)
log_admin("[key_name(usr)] toggled gravity on.", 1)
- message_admins("[key_name_admin(usr)] toggled gravity on.", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] toggled gravity on."), 1)
GLOB.minor_announcement.Announce("Gravity generators are again functioning within normal parameters. Sorry for any inconvenience.")
else
log_admin("[key_name(usr)] toggled gravity off.", 1)
- message_admins("[key_name_admin(usr)] toggled gravity off.", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] toggled gravity off."), 1)
GLOB.minor_announcement.Announce("Feedback surge detected in mass-distributions systems. Artificial gravity has been disabled whilst the system reinitializes. Further failures may result in a gravitational collapse and formation of blackholes. Have a nice day.")
if("power")
@@ -3041,28 +3041,28 @@
if("Power all APCs")
power_restore(TRUE, 0)
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power all APCs")
- log_and_message_admins("[key_name_admin(usr)] powered all APCs", 1)
+ log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] powered all APCs"), 1)
if("Repair all APCs")
power_restore(TRUE, 1)
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Repair all APCs")
- log_and_message_admins("[key_name_admin(usr)] repaired all APCs", 1)
+ log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] repaired all APCs"), 1)
if("Repair and Power APCs")
power_restore(TRUE, 2)
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Repair and Power all APCs")
- log_and_message_admins("[key_name_admin(usr)] repaired and powered all APCs", 1)
+ log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] repaired and powered all APCs"), 1)
if("unpower")
if(alert("What Would You Like to Do?", "Make All Areas Unpowered", "Depower all APCs", "Short out APCs") == "Depower all APCs")
depower_apcs()
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Depower all APCs")
- log_and_message_admins("[key_name_admin(usr)] made all areas unpowered", 1)
+ log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] made all areas unpowered"), 1)
else
power_failure(TRUE, 100)
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Short out APCs")
- log_and_message_admins("[key_name_admin(usr)] has shorted APCs", 1)
+ log_and_message_admins(SPAN_NOTICE("[key_name_admin(usr)] has shorted APCs"), 1)
if("quickpower")
power_restore_quick()
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Power All SMESs")
- log_and_message_admins("[key_name(usr)] made all SMESs powered", 1)
+ log_and_message_admins(SPAN_NOTICE("[key_name(usr)] made all SMESs powered"), 1)
if("prisonwarp")
if(SSticker.current_state < GAME_STATE_PLAYING)
alert("The game hasn't started yet!", null, null, null, null, null)
@@ -3070,7 +3070,7 @@
if(alert(usr, "Are you sure you want to do this?", "Confirmation", "Yes", "No") != "Yes")
return
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Prison Warp")
- message_admins("[key_name_admin(usr)] teleported all players to the prison station.", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] teleported all players to the prison station."), 1)
for(var/thing in GLOB.human_list)
var/mob/living/carbon/human/H = thing
var/turf/loc = find_loc(H)
@@ -3127,7 +3127,7 @@
for(var/mob/living/silicon/A in GLOB.player_list)
A.mind.add_antag_datum(/datum/antagonist/traitor)
- message_admins("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]", 1)
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] used everyone is a traitor secret. Objective is [objective]"), 1)
log_admin("[key_name(usr)] used everyone is a traitor secret. Objective is [objective]")
if("togglebombcap")
@@ -3141,7 +3141,7 @@
GLOB.configuration.general.bomb_cap = newBombCap
- message_admins("[key_name_admin(usr)] changed the bomb cap to [GLOB.configuration.general.bomb_cap / 4], [GLOB.configuration.general.bomb_cap / 2], [GLOB.configuration.general.bomb_cap]")
+ message_admins(SPAN_BOLDANNOUNCEOOC("[key_name_admin(usr)] changed the bomb cap to [GLOB.configuration.general.bomb_cap / 4], [GLOB.configuration.general.bomb_cap / 2], [GLOB.configuration.general.bomb_cap]"))
log_admin("[key_name(usr)] changed the bomb cap to [GLOB.configuration.general.bomb_cap / 4], [GLOB.configuration.general.bomb_cap / 2], [GLOB.configuration.general.bomb_cap]")
if("flicklights")
@@ -3158,20 +3158,20 @@
var/Message = rand(1,4)
switch(Message)
if(1)
- M.show_message(text("You shudder as if cold..."), 1)
+ M.show_message(SPAN_NOTICE("You shudder as if cold..."), 1)
if(2)
- M.show_message(text("You feel something gliding across your back..."), 1)
+ M.show_message(SPAN_NOTICE("You feel something gliding across your back..."), 1)
if(3)
- M.show_message(text("Your eyes twitch, you feel like something you can't see is here..."), 1)
+ M.show_message(SPAN_NOTICE("Your eyes twitch, you feel like something you can't see is here..."), 1)
if(4)
- M.show_message(text("You notice something moving out of the corner of your eye, but nothing is there..."), 1)
+ M.show_message(SPAN_NOTICE("You notice something moving out of the corner of your eye, but nothing is there..."), 1)
for(var/obj/W in orange(5,M))
if(prob(25) && !W.anchored)
step_rand(W)
sleep(rand(100,1000))
for(var/mob/M in GLOB.player_list)
if(M.stat != 2)
- M.show_message(text("The chilling wind suddenly stops..."), 1)
+ M.show_message(SPAN_NOTICE("The chilling wind suddenly stops..."), 1)
if("lightout")
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Lights Out")
message_admins("[key_name_admin(usr)] has broke a lot of lights", 1)
@@ -3211,7 +3211,7 @@
return
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Mass Braindamage")
for(var/mob/living/carbon/human/H in GLOB.player_list)
- to_chat(H, "You suddenly feel stupid.")
+ to_chat(H, SPAN_DANGER("You suddenly feel stupid."))
H.setBrainLoss(60)
message_admins("[key_name_admin(usr)] made everybody stupid")
if("fakeguns")
@@ -3306,7 +3306,7 @@
template.copy_contents_to(thunderdome)
log_admin("[key_name(usr)] reset the thunderdome to default with delete_mobs==[delete_mobs].", 1)
- message_admins("[key_name_admin(usr)] reset the thunderdome to default with delete_mobs==[delete_mobs].")
+ message_admins(SPAN_ADMINNOTICE("[key_name_admin(usr)] reset the thunderdome to default with delete_mobs==[delete_mobs]."))
if("tdomestart")
var/confirmation = alert("Start a Thunderdome match?","Confirm","Yes","No")
@@ -3316,7 +3316,7 @@
if("securitylevel")
var/level_number = text2num(href_list["number"])
SSsecurity_level.set_level(level_number)
- message_admins("[key_name_admin(usr)] change security level to [SSsecurity_level.number_level_to_text(level_number)].")
+ message_admins(SPAN_NOTICE("[key_name_admin(usr)] change security level to [SSsecurity_level.number_level_to_text(level_number)]."))
if("moveminingshuttle")
SSblackbox.record_feedback("tally", "admin_secrets_fun_used", 1, "Send Mining Shuttle")
if(!SSshuttle.toggleShuttle("mining","mining_home","mining_away"))
@@ -3381,8 +3381,8 @@
if("check_antagonist")
check_antagonists()
if("view_codewords")
- to_chat(usr, "Code Phrases: [GLOB.syndicate_code_phrase]")
- to_chat(usr, "Code Responses: [GLOB.syndicate_code_response]")
+ to_chat(usr, "Code Phrases: [SPAN_CODEPHRASES("[GLOB.syndicate_code_phrase]")]")
+ to_chat(usr, "Code Responses: [SPAN_CODERESPONSES("[GLOB.syndicate_code_response]")]")
if("DNA")
var/dat = "Showing DNA from blood.
"
dat += "| Name | DNA | Blood Type |
"
@@ -3415,15 +3415,15 @@
SSnightshift.fire()
else
SSnightshift.update_nightshift(FALSE, TRUE)
- to_chat(usr, "Night shift set to automatic.")
+ to_chat(usr, SPAN_NOTICE("Night shift set to automatic."))
if("On")
SSnightshift.can_fire = FALSE
SSnightshift.update_nightshift(TRUE, FALSE)
- to_chat(usr, "Night shift forced on.")
+ to_chat(usr, SPAN_NOTICE("Night shift forced on."))
if("Off")
SSnightshift.can_fire = FALSE
SSnightshift.update_nightshift(FALSE, FALSE)
- to_chat(usr, "Night shift forced off.")
+ to_chat(usr, SPAN_NOTICE("Night shift forced off."))
if(usr)
log_admin("[key_name(usr)] used secret [href_list["secretsadmin"]]")
if(ok)
@@ -3468,7 +3468,7 @@
else if(href_list["viewruntime"])
var/datum/error_viewer/error_viewer = locateUID(href_list["viewruntime"])
if(!istype(error_viewer))
- to_chat(usr, "That runtime viewer no longer exists.")
+ to_chat(usr, SPAN_WARNING("That runtime viewer no longer exists."))
return
if(href_list["viewruntime_backto"])
error_viewer.showTo(usr, locateUID(href_list["viewruntime_backto"]), href_list["viewruntime_linear"])
@@ -3714,12 +3714,12 @@
var/image/source = image('icons/obj/cardboard_cutout.dmi', "cutout_traitor")
var/list/candidates = SSghost_spawns.poll_candidates("Play as a [killthem ? "murderous" : "protective"] [dresscode]?", ROLE_TRAITOR, TRUE, source = source, role_cleanname = "[killthem ? "murderous" : "protective"] [dresscode]")
if(!length(candidates))
- to_chat(usr, "ERROR: Could not create eventmob. No valid candidates.")
+ to_chat(usr, SPAN_WARNING("ERROR: Could not create eventmob. No valid candidates."))
return
var/mob/C = pick(candidates)
var/key_of_hunter = C.key
if(!key_of_hunter)
- to_chat(usr, "ERROR: Could not create eventmob. Could not pick key.")
+ to_chat(usr, SPAN_WARNING("ERROR: Could not create eventmob. Could not pick key."))
return
var/datum/mind/hunter_mind = new /datum/mind(key_of_hunter)
hunter_mind.active = TRUE
@@ -3748,8 +3748,8 @@
protect_objective.explanation_text = "Protect [H.real_name], the [H.mind.assigned_role]."
hunter_mind.add_mind_objective(protect_objective)
SSticker.mode.traitors |= hunter_mob.mind
- to_chat(hunter_mob, "ATTENTION: You are now on a mission!")
- to_chat(hunter_mob, "Goal: [killthem ? "MURDER" : "PROTECT"] [H.real_name], currently in [get_area(H.loc)].");
+ to_chat(hunter_mob, "[SPAN_DANGER("ATTENTION:")] You are now on a mission!")
+ to_chat(hunter_mob, "Goal: [SPAN_DANGER("[killthem ? "MURDER" : "PROTECT"] [H.real_name]")], currently in [get_area(H.loc)].");
if(killthem)
to_chat(hunter_mob, "If you kill [H.p_them()], [H.p_they()] cannot be revived.");
hunter_mob.mind.special_role = SPECIAL_ROLE_TRAITOR
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2.dm b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
index dc6ec079f39..4447ba4cd2b 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2.dm
@@ -17,7 +17,7 @@
USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", VERB_CATEGORY_DEBUG)
if(!check_rights_client(R_PROCCALL, FALSE, client)) //Shouldn't happen... but just to be safe.
- message_admins("ERROR: Non-admin [key_name_admin(client)] attempted to execute a SDQL query!")
+ message_admins(SPAN_DANGER("ERROR: Non-admin [key_name_admin(client)] attempted to execute a SDQL query!"))
log_admin("Non-admin [key_name(client)] attempted to execute a SDQL query!")
return
@@ -30,7 +30,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
/client/proc/run_sdql2_query(query_text)
if(!check_rights(R_PROCCALL)) //Shouldn't happen... but just to be safe.
- message_admins("ERROR: Non-admin [key_name_admin(usr)] attempted to execute an SDQL query!")
+ message_admins(SPAN_DANGER("ERROR: Non-admin [key_name_admin(usr)] attempted to execute an SDQL query!"))
log_admin("Non-admin [key_name(usr)] attempted to execute an SDQL query: [query_text]")
return
@@ -147,7 +147,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
break
catch(var/exception/e)
- to_chat(usr, "An exception has occurred during the execution of your query and your query has been aborted.")
+ to_chat(usr, SPAN_DANGER("An exception has occurred during the execution of your query and your query has been aborted."))
to_chat(usr, " [e.name]")
to_chat(usr, " at: [e.file]:[e.line]")
@@ -175,7 +175,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
querys[querys_pos] = parsed_tree
querys_pos++
else //There was an error so don't run anything, and tell the user which query has errored.
- to_chat(usr, "Parsing error on [querys_pos]\th query. Nothing was executed.")
+ to_chat(usr, SPAN_DANGER("Parsing error on [querys_pos]\th query. Nothing was executed."))
return list()
query_tree = list()
do_parse = 0
@@ -332,7 +332,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
if("or", "||")
result = (result || val)
else
- to_chat(usr, "SDQL2: Unknown op [op]")
+ to_chat(usr, SPAN_DANGER("SDQL2: Unknown op [op]"))
result = null
else
result = val
@@ -396,11 +396,11 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
if(expression[start] == "\[" && long)
if(lowertext(copytext(expression[start + 1], 1, 3)) != "0x")
- to_chat(usr, "Invalid ref syntax: [expression[start + 1]]")
+ to_chat(usr, SPAN_DANGER("Invalid ref syntax: [expression[start + 1]]"))
return null
v = locate("\[[expression[start + 1]]\]")
if(!v)
- to_chat(usr, "Invalid ref: [expression[start + 1]]")
+ to_chat(usr, SPAN_DANGER("Invalid ref: [expression[start + 1]]"))
return null
start++
@@ -438,7 +438,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
var/list/L = v
var/index = SDQL_expression(source, expression[start + 2])
if(isnum(index) && (!ISINTEGER(index) || length(L) < index))
- to_chat(world, "Invalid list index: [index]")
+ to_chat(world, SPAN_DANGER("Invalid list index: [index]"))
return null
return L[index]
@@ -499,7 +499,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
else if(char == "'")
if(word != "")
- to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.")
+ to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unexpected ' in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again."))
return null
word = "'"
@@ -519,7 +519,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
word += char
if(i > len)
- to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again.")
+ to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unmatched ' in query: \"[query_text]\". Please check your syntax, and try again."))
return null
query_list += "[word]'"
@@ -527,7 +527,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
else if(char == "\"")
if(word != "")
- to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again.")
+ to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unexpected \" in query: \"[query_text]\" following \"[word]\". Please check your syntax, and try again."))
return null
word = "\""
@@ -547,7 +547,7 @@ USER_VERB(execute_sdql2_query, R_PROCCALL, "SDQL2 Query", "Run an SDQL query", V
word += char
if(i > len)
- to_chat(usr, "SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again.")
+ to_chat(usr, SPAN_DANGER("SDQL2: You have an error in your SDQL syntax, unmatched \" in query: \"[query_text]\". Please check your syntax, and try again."))
return null
query_list += "[word]\""
diff --git a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm
index 6915e715ab7..dc83b808108 100644
--- a/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm
+++ b/code/modules/admin/verbs/SDQL2/SDQL_2_parser.dm
@@ -60,7 +60,7 @@
/datum/sdql_parser/proc/parse_error(error_message)
error = 1
- to_chat(usr, "SDQL2 Parsing Error: [error_message]")
+ to_chat(usr, SPAN_DANGER("SDQL2 Parsing Error: [error_message]"))
return length(query) + 1
/datum/sdql_parser/proc/parse()
diff --git a/code/modules/admin/verbs/admin_zlevel_manager_verb.dm b/code/modules/admin/verbs/admin_zlevel_manager_verb.dm
index 9395489b8a1..1b227f3fc5a 100644
--- a/code/modules/admin/verbs/admin_zlevel_manager_verb.dm
+++ b/code/modules/admin/verbs/admin_zlevel_manager_verb.dm
@@ -1,6 +1,6 @@
USER_VERB(open_zlevel_manager, R_ADMIN, "Z-Level Manager", "Opens the Z-Level Manager.", VERB_CATEGORY_ADMIN)
if(!SSmapping || !SSmapping.initialized)
- to_chat(client, "SSmapping has not initialized yet, Z-Level Manager is not available yet.")
+ to_chat(client, SPAN_NOTICE("SSmapping has not initialized yet, Z-Level Manager is not available yet."))
return
message_admins("[key_name_admin(client)] is using the Z-Level Manager")
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index cdf6018c2c7..08d29b5678a 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -52,7 +52,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
//Fetching a message if needed. src is the sender and C is the target client
/client/proc/cmd_admin_pm(whom, msg, type = "PM", ticket_id = -1)
if(check_mute(ckey, MUTE_ADMINHELP))
- to_chat(src, "Error: Private-Message: You are unable to use PM-s (muted).")
+ to_chat(src, SPAN_DANGER("Error: Private-Message: You are unable to use PM-s (muted)."))
return
var/client/C
@@ -63,7 +63,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
if(!C)
if(holder)
- to_chat(src, "Error: Private-Message: Client not found.")
+ to_chat(src, SPAN_DANGER("Error: Private-Message: Client not found."))
else
adminhelp(msg) //admin we are replying to left. adminhelp instead
return
@@ -71,7 +71,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
/*if(C && C.last_pm_received + config.simultaneous_pm_warning_timeout > world.time && holder)
//send a warning to admins, but have a delay popup for mods
if(holder.rights & R_ADMIN)
- to_chat(src, "Simultaneous PMs warning: that player has been PM'd in the last [config.simultaneous_pm_warning_timeout / 10] seconds by: [C.ckey_last_pm]")
+ to_chat(src, "[SPAN_DANGER("Simultaneous PMs warning:")] that player has been PM'd in the last [config.simultaneous_pm_warning_timeout / 10] seconds by: [C.ckey_last_pm]")
else
if(alert("That player has been PM'd in the last [config.simultaneous_pm_warning_timeout / 10] seconds by: [C.ckey_last_pm]","Simultaneous PMs warning","Continue","Cancel") == "Cancel")
return*/
@@ -119,7 +119,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
return
if(!C)
if(holder)
- to_chat(src, "Error: Admin-PM: Client not found.")
+ to_chat(src, SPAN_DANGER("Error: Admin-PM: Client not found."))
else
adminhelp(msg) //admin we are replying to has vanished, adminhelp instead
return
@@ -141,7 +141,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
receive_pm_type = holder.rank
else if(!C.holder)
- to_chat(src, "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden.")
+ to_chat(src, SPAN_DANGER("Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."))
return
var/receive_message = ""
@@ -179,7 +179,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
else
ticket_link = "(TICKET)"
- var/emoji_msg = "[msg]"
+ var/emoji_msg = SPAN_EMOJI_ENABLED("[msg]")
var/receive_window_link = "(WINDOW)"
if(message_type == MESSAGE_TYPE_MENTORPM && check_rights(R_ADMIN|R_MENTOR, 0, C.mob))
receive_window_link = ticket_link
@@ -206,9 +206,9 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
var/third_party_message
if(message_type == MESSAGE_TYPE_MENTORPM)
- third_party_message = chat_box_mhelp("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:
[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]")
+ third_party_message = chat_box_mhelp(SPAN_MENTORHELP("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:
[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]"))
else
- third_party_message = chat_box_ahelp("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:
[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]")
+ third_party_message = chat_box_ahelp(SPAN_ADMINHELP("[type]: [key_name(src, TRUE, type, ticket_id = ticket_id)]->[key_name(C, TRUE, type, ticket_id = ticket_id)]:
[emoji_msg]
[ping_link] [ticket_link] [alert_link] [observe_link]"))
//play the recieving admin the adminhelp sound (if they have them enabled)
//non-admins always hear the sound, as they cannot toggle it
@@ -237,11 +237,11 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
/client/proc/cmd_admin_discord_pm()
if(check_mute(ckey, MUTE_ADMINHELP))
- to_chat(src, "Error: Private-Message: You are unable to use PMs (muted).")
+ to_chat(src, SPAN_DANGER("Error: Private-Message: You are unable to use PMs (muted)."))
return
if(last_discord_pm_time > world.time)
- to_chat(usr, "Please wait [(last_discord_pm_time - world.time)/10] seconds, or for a reply, before sending another PM to Discord.")
+ to_chat(usr, SPAN_WARNING("Please wait [(last_discord_pm_time - world.time)/10] seconds, or for a reply, before sending another PM to Discord."))
return
// We only allow PMs once every 10 seconds, othewrise the channel can get spammed very quickly
@@ -255,20 +255,20 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
sanitize(msg)
if(length(msg) > 400) // Dont want them super spamming
- to_chat(src, "Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting")
- to_chat(src, "[msg]")
+ to_chat(src, SPAN_WARNING("Your message was not sent because it was more then 400 characters find your message below for ease of copy/pasting"))
+ to_chat(src, SPAN_NOTICE("[msg]"))
return
GLOB.discord_manager.send2discord_simple(DISCORD_WEBHOOK_ADMIN, "PM from [key_name(src)]: [html_decode(msg)]")
- to_chat(src, "PM to-Discord Admins: [msg]", MESSAGE_TYPE_ADMINPM, confidential = TRUE)
+ to_chat(src, SPAN_DISCORDPM("PM to-Discord Admins: [msg]"), MESSAGE_TYPE_ADMINPM, confidential = TRUE)
log_admin("PM: [key_name(src)]->Discord: [msg]")
for(var/client/X in GLOB.admins)
if(X == src)
continue
if(check_rights(R_ADMIN, 0, X.mob))
- to_chat(X, "PM: [key_name_admin(src)]->Discord Admins: [msg]")
+ to_chat(X, SPAN_DISCORDPM("PM: [key_name_admin(src)]->Discord Admins: [SPAN_NOTICE("[msg]")]"))
/client/verb/open_pms_ui()
set name = "My PMs"
@@ -380,7 +380,7 @@ USER_VERB(admin_pm_by_key_panel, R_ADMIN|R_MENTOR, "Admin PM Key", "Send a PM by
dat += "
"
dat += " "
if(convo.typing)
- dat += "