"
. += "
Current instrument: "
if(!using_instrument)
- . += "
No instrument loaded!"
+ . += "[span_danger("No instrument loaded!")]
"
else
. += "[using_instrument.name]
"
. += "Playback Settings:
"
@@ -38,14 +38,14 @@
if(lines.len > 0)
dat += "
Playback
"
if(!playing)
- dat += "
Play Stop"
+ dat += "
Play Stop"
dat += "Repeat Song: "
- dat += repeat > 0 ? "
--" : "
--"
+ dat += repeat > 0 ? "
--" : "
--"
dat += " [repeat] times "
- dat += repeat < max_repeats ? "
++" : "
++"
+ dat += repeat < max_repeats ? "
++" : "
++"
dat += "
"
else
- dat += "
Play Stop"
+ dat += "
Play Stop"
dat += "Repeats left:
[repeat]"
if(!editing)
dat += "
Show Editor"
diff --git a/code/modules/interview/interview.dm b/code/modules/interview/interview.dm
index 8790abb039d..5f318200589 100644
--- a/code/modules/interview/interview.dm
+++ b/code/modules/interview/interview.dm
@@ -60,11 +60,11 @@
GLOB.interviews.approved_ckeys |= owner_ckey
GLOB.interviews.close_interview(src)
log_admin_private("[key_name(approved_by)] has approved interview #[id] for [owner_ckey][!owner ? "(DC)": ""].")
- message_admins("
[key_name(approved_by)] has approved [link_self()] for [owner_ckey][!owner ? "(DC)": ""].")
+ message_admins(span_adminnotice("[key_name(approved_by)] has approved [link_self()] for [owner_ckey][!owner ? "(DC)": ""]."))
if (owner)
SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg'))
to_chat(owner, "
-- Interview Update --" \
- + "\n
Your interview was approved, you will now be reconnected in 5 seconds.", confidential = TRUE)
+ + "\n[span_adminsay("Your interview was approved, you will now be reconnected in 5 seconds.")]", confidential = TRUE)
addtimer(CALLBACK(src, .proc/reconnect_owner), 50)
/**
@@ -79,7 +79,7 @@
GLOB.interviews.close_interview(src)
GLOB.interviews.cooldown_ckeys |= owner_ckey
log_admin_private("[key_name(denied_by)] has denied interview #[id] for [owner_ckey][!owner ? "(DC)": ""].")
- message_admins("
[key_name(denied_by)] has denied [link_self()] for [owner_ckey][!owner ? "(DC)": ""].")
+ message_admins(span_adminnotice("[key_name(denied_by)] has denied [link_self()] for [owner_ckey][!owner ? "(DC)": ""]."))
addtimer(CALLBACK(GLOB.interviews, /datum/interview_manager.proc/release_from_cooldown, owner_ckey), 180)
if (owner)
SEND_SOUND(owner, sound('sound/effects/adminhelp.ogg'))
diff --git a/code/modules/interview/interview_manager.dm b/code/modules/interview/interview_manager.dm
index f5a557a854d..4832e51f341 100644
--- a/code/modules/interview/interview_manager.dm
+++ b/code/modules/interview/interview_manager.dm
@@ -104,12 +104,12 @@ GLOBAL_DATUM_INIT(interviews, /datum/interview_manager, new)
log_admin_private("Interview for [ckey] has been enqueued for review. Current position in queue: [to_queue.pos_in_queue]")
var/admins_present = send2tgs_adminless_only("panic-bunker-interview", "Interview for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]")
if (admins_present <= 0 && to_queue.owner)
- to_chat(to_queue.owner, "
No active admins are online, your interview's submission was sent through TGS to admins who are available. This may use IRC or Discord.")
+ to_chat(to_queue.owner, span_notice("No active admins are online, your interview's submission was sent through TGS to admins who are available. This may use IRC or Discord."))
for(var/client/X in GLOB.admins)
if(X.prefs.toggles & SOUND_ADMINHELP)
SEND_SOUND(X, sound('sound/effects/adminhelp.ogg'))
window_flash(X, ignorepref = TRUE)
- to_chat(X, "
[to_queue.link_self()] for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]", confidential = TRUE)
+ to_chat(X, span_adminhelp("[to_queue.link_self()] for [ckey] enqueued for review. Current position in queue: [to_queue.pos_in_queue]"), confidential = TRUE)
/**
* Removes a ckey from the cooldown list, used for enforcing cooldown after an interview is denied.
diff --git a/code/modules/jobs/job_report.dm b/code/modules/jobs/job_report.dm
index 22061f3154e..016e34f525a 100644
--- a/code/modules/jobs/job_report.dm
+++ b/code/modules/jobs/job_report.dm
@@ -65,7 +65,7 @@
if(!check_rights(R_ADMIN))
message_admins("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin rights.")
log_admin("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin rights.")
- to_chat(usr, "
ERROR: Insufficient admin rights.", confidential = TRUE)
+ to_chat(usr, span_danger("ERROR: Insufficient admin rights."), confidential = TRUE)
return TRUE
var/datum/admins/viewer_admin_datum = GLOB.admin_datums[usr.ckey]
@@ -73,11 +73,11 @@
if(!viewer_admin_datum)
message_admins("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin datum for their ckey.")
log_admin("[ADMIN_LOOKUPFLW(usr)] attempted to toggle job playtime exempt status without admin datum for their ckey.")
- to_chat(usr, "
ERROR: Insufficient admin rights.", confidential = TRUE)
+ to_chat(usr, span_danger("ERROR: Insufficient admin rights."), confidential = TRUE)
return TRUE
if(QDELETED(owner))
- to_chat(usr, "
ERROR: Client not found.", confidential = TRUE)
+ to_chat(usr, span_danger("ERROR: Client not found."), confidential = TRUE)
return TRUE
viewer_admin_datum.toggle_exempt_status(owner)
diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm
index 71786b203ab..8f82f57a338 100644
--- a/code/modules/jobs/job_types/bartender.dm
+++ b/code/modules/jobs/job_types/bartender.dm
@@ -44,4 +44,4 @@
var/obj/item/card/id/W = H.wear_id
if(H.age < AGE_MINOR)
W.registered_age = AGE_MINOR
- to_chat(H, "
You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!")
+ to_chat(H, span_notice("You're not technically old enough to access or serve alcohol, but your ID has been discreetly modified to display your age as [AGE_MINOR]. Try to keep that a secret!"))
diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm
index befef24b9c1..1fb33215bfc 100644
--- a/code/modules/jobs/job_types/chaplain.dm
+++ b/code/modules/jobs/job_types/chaplain.dm
@@ -41,7 +41,7 @@
B.icon_state = GLOB.bible_icon_state
if(GLOB.bible_inhand_icon_state)
B.inhand_icon_state = GLOB.bible_inhand_icon_state
- to_chat(H, "
There is already an established religion onboard the station. You are an acolyte of [GLOB.deity]. Defer to the Chaplain.")
+ to_chat(H, span_boldnotice("There is already an established religion onboard the station. You are an acolyte of [GLOB.deity]. Defer to the Chaplain."))
H.equip_to_slot_or_del(B, ITEM_SLOT_BACKPACK)
var/nrt = GLOB.holy_weapon_type || /obj/item/nullrod
var/obj/item/nullrod/N = new nrt(H)
diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm
index fa54570a473..f78712eee02 100644
--- a/code/modules/jobs/job_types/mime.dm
+++ b/code/modules/jobs/job_types/mime.dm
@@ -86,7 +86,7 @@
user.mind.AddSpell(new /obj/effect/proc_holder/spell/aoe_turf/conjure/mime_box(null))
else
return
- to_chat(user, "
The book disappears into thin air.")
+ to_chat(user, span_warning("The book disappears into thin air."))
qdel(src)
/**
diff --git a/code/modules/keybindings/bindings_client.dm b/code/modules/keybindings/bindings_client.dm
index 5b724f07902..38164487d49 100644
--- a/code/modules/keybindings/bindings_client.dm
+++ b/code/modules/keybindings/bindings_client.dm
@@ -30,7 +30,7 @@
///Check if the key is short enough to even be a real key
if(LAZYLEN(_key) > MAX_KEYPRESS_COMMANDLENGTH)
- to_chat(src, "
Invalid KeyDown detected! You have been disconnected from the server automatically.")
+ to_chat(src, span_userdanger("Invalid KeyDown detected! You have been disconnected from the server automatically."))
log_admin("Client [ckey] just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.")
message_admins("Client [ckey] just attempted to send an invalid keypress. Keymessage was over [MAX_KEYPRESS_COMMANDLENGTH] characters, autokicking due to likely abuse.")
qdel(src)
diff --git a/code/modules/language/language_manuals.dm b/code/modules/language/language_manuals.dm
index 070b382e7e5..43227c76cd8 100644
--- a/code/modules/language/language_manuals.dm
+++ b/code/modules/language/language_manuals.dm
@@ -13,10 +13,10 @@
return
if(user.has_language(language))
- to_chat(user, "
You start skimming through [src], but you already know [initial(language.name)].")
+ to_chat(user, span_boldwarning("You start skimming through [src], but you already know [initial(language.name)]."))
return
- to_chat(user, "
You start skimming through [src], and [flavour_text].")
+ to_chat(user, span_boldannounce("You start skimming through [src], and [flavour_text]."))
user.grant_language(language, TRUE, TRUE, LANGUAGE_MIND)
use_charge(user)
@@ -31,11 +31,11 @@
playsound(loc, "punch", 25, TRUE, -1)
if(M.stat == DEAD)
- M.visible_message("
[user] smacks [M]'s lifeless corpse with [src].", "
[user] smacks your lifeless corpse with [src].", "
You hear smacking.")
+ M.visible_message(span_danger("[user] smacks [M]'s lifeless corpse with [src]."), span_userdanger("[user] smacks your lifeless corpse with [src]."), span_hear("You hear smacking."))
else if(M.has_language(language))
- M.visible_message("
[user] beats [M] over the head with [src]!", "
[user] beats you over the head with [src]!", "
You hear smacking.")
+ M.visible_message(span_danger("[user] beats [M] over the head with [src]!"), span_userdanger("[user] beats you over the head with [src]!"), span_hear("You hear smacking."))
else
- M.visible_message("
[user] teaches [M] by beating [M.p_them()] over the head with [src]!", "
As [user] hits you with [src], [flavour_text].", "
You hear smacking.")
+ M.visible_message(span_notice("[user] teaches [M] by beating [M.p_them()] over the head with [src]!"), span_boldnotice("As [user] hits you with [src], [flavour_text]."), span_hear("You hear smacking."))
M.grant_language(language, TRUE, TRUE, LANGUAGE_MIND)
use_charge(user)
@@ -43,7 +43,7 @@
charges--
if(!charges)
var/turf/T = get_turf(src)
- T.visible_message("
The cover and contents of [src] start shifting and changing!")
+ T.visible_message(span_warning("The cover and contents of [src] start shifting and changing!"))
qdel(src)
var/obj/item/book/manual/random/book = new(T)
@@ -99,7 +99,7 @@
/obj/item/language_manual/dronespeak_manual/attack(mob/living/M, mob/living/user)
// If they are not drone or silicon, we don't want them to learn this language.
if(!(isdrone(M) || issilicon(M)))
- M.visible_message("
[user] beats [M] over the head with [src]!", "
[user] beats you over the head with [src]!", "
You hear smacking.")
+ M.visible_message(span_danger("[user] beats [M] over the head with [src]!"), span_userdanger("[user] beats you over the head with [src]!"), span_hear("You hear smacking."))
return
return ..()
diff --git a/code/modules/library/lib_items.dm b/code/modules/library/lib_items.dm
index 7229f78445c..0fd275a3f32 100644
--- a/code/modules/library/lib_items.dm
+++ b/code/modules/library/lib_items.dm
@@ -36,16 +36,16 @@
/obj/structure/bookcase/examine(mob/user)
. = ..()
if(!anchored)
- . += "
The bolts on the bottom are unsecured."
+ . += span_notice("The
bolts on the bottom are unsecured.")
else
- . += "
It's secured in place with bolts."
+ . += span_notice("It's secured in place with
bolts.")
switch(state)
if(BOOKCASE_UNANCHORED)
- . += "
There's a small crack visible on the back panel."
+ . += span_notice("There's a
small crack visible on the back panel.")
if(BOOKCASE_ANCHORED)
- . += "
There's space inside for a wooden shelf."
+ . += span_notice("There's space inside for a
wooden shelf.")
if(BOOKCASE_FINISHED)
- . += "
There's a small crack visible on the shelf."
+ . += span_notice("There's a
small crack visible on the shelf.")
/obj/structure/bookcase/Initialize(mapload)
. = ..()
@@ -77,11 +77,11 @@
if(BOOKCASE_UNANCHORED)
if(I.tool_behaviour == TOOL_WRENCH)
if(I.use_tool(src, user, 20, volume=50))
- to_chat(user, "
You wrench the frame into place.")
+ to_chat(user, span_notice("You wrench the frame into place."))
set_anchored(TRUE)
else if(I.tool_behaviour == TOOL_CROWBAR)
if(I.use_tool(src, user, 20, volume=50))
- to_chat(user, "
You pry the frame apart.")
+ to_chat(user, span_notice("You pry the frame apart."))
deconstruct(TRUE)
if(BOOKCASE_ANCHORED)
@@ -89,12 +89,12 @@
var/obj/item/stack/sheet/mineral/wood/W = I
if(W.get_amount() >= 2)
W.use(2)
- to_chat(user, "
You add a shelf.")
+ to_chat(user, span_notice("You add a shelf."))
state = BOOKCASE_FINISHED
update_appearance()
else if(I.tool_behaviour == TOOL_WRENCH)
I.play_tool_sound(src, 100)
- to_chat(user, "
You unwrench the frame.")
+ to_chat(user, span_notice("You unwrench the frame."))
set_anchored(FALSE)
if(BOOKCASE_FINISHED)
@@ -107,11 +107,11 @@
for(var/obj/item/T in I.contents)
if(istype(T, /obj/item/book) || istype(T, /obj/item/spellbook))
STR.remove_from_storage(T, src)
- to_chat(user, "
You empty \the [I] into \the [src].")
+ to_chat(user, span_notice("You empty \the [I] into \the [src]."))
update_appearance()
else if(istype(I, /obj/item/pen))
if(!user.is_literate())
- to_chat(user, "
You scribble illegibly on the side of [src]!")
+ to_chat(user, span_notice("You scribble illegibly on the side of [src]!"))
return
var/newname = stripped_input(user, "What would you like to title this bookshelf?")
if(!user.canUseTopic(src, BE_CLOSE))
@@ -122,10 +122,10 @@
name = "bookcase ([sanitize(newname)])"
else if(I.tool_behaviour == TOOL_CROWBAR)
if(contents.len)
- to_chat(user, "
You need to remove the books first!")
+ to_chat(user, span_warning("You need to remove the books first!"))
else
I.play_tool_sound(src, 100)
- to_chat(user, "
You pry the shelf out.")
+ to_chat(user, span_notice("You pry the shelf out."))
new /obj/item/stack/sheet/mineral/wood(drop_location(), 2)
state = BOOKCASE_ANCHORED
update_appearance()
@@ -226,7 +226,7 @@
/obj/item/book/attack_self(mob/user)
if(!user.can_read(src))
return
- user.visible_message("
[user] opens a book titled \"[title]\" and begins reading intently.")
+ user.visible_message(span_notice("[user] opens a book titled \"[title]\" and begins reading intently."))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "book_nerd", /datum/mood_event/book_nerd)
on_read(user)
@@ -235,20 +235,20 @@
user << browse("
Penned by [author]. " + "[dat]", "window=book[window_size != null ? ";size=[window_size]" : ""]")
onclose(user, "book")
else
- to_chat(user, "
This book is completely blank!")
+ to_chat(user, span_notice("This book is completely blank!"))
/obj/item/book/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/pen))
if(user.is_blind())
- to_chat(user, "
As you are trying to write on the book, you suddenly feel very stupid!")
+ to_chat(user, span_warning("As you are trying to write on the book, you suddenly feel very stupid!"))
return
if(unique)
- to_chat(user, "
These pages don't seem to take the ink well! Looks like you can't modify it.")
+ to_chat(user, span_warning("These pages don't seem to take the ink well! Looks like you can't modify it."))
return
var/literate = user.is_literate()
if(!literate)
- to_chat(user, "
You scribble illegibly on the cover of [src]!")
+ to_chat(user, span_notice("You scribble illegibly on the cover of [src]!"))
return
var/choice = tgui_input_list(usr, "What would you like to change?",,list("Title", "Contents", "Author", "Cancel"))
if(!user.canUseTopic(src, BE_CLOSE, literate))
@@ -259,10 +259,10 @@
if(!user.canUseTopic(src, BE_CLOSE, literate))
return
if (length_char(newtitle) > 30)
- to_chat(user, "
That title won't fit on the cover!")
+ to_chat(user, span_warning("That title won't fit on the cover!"))
return
if(!newtitle)
- to_chat(user, "
That title is invalid.")
+ to_chat(user, span_warning("That title is invalid."))
return
else
name = newtitle
@@ -272,7 +272,7 @@
if(!user.canUseTopic(src, BE_CLOSE, literate))
return
if(!content)
- to_chat(user, "
The content is invalid.")
+ to_chat(user, span_warning("The content is invalid."))
return
else
dat += content
@@ -281,7 +281,7 @@
if(!user.canUseTopic(src, BE_CLOSE, literate))
return
if(!newauthor)
- to_chat(user, "
The name is invalid.")
+ to_chat(user, span_warning("The name is invalid."))
return
else
author = newauthor
@@ -291,37 +291,37 @@
else if(istype(I, /obj/item/barcodescanner))
var/obj/item/barcodescanner/scanner = I
if(!scanner.computer)
- to_chat(user, "
[I]'s screen flashes: 'No associated computer found!'")
+ to_chat(user, span_alert("[I]'s screen flashes: 'No associated computer found!'"))
else
switch(scanner.mode)
if(0)
scanner.book = src
- to_chat(user, "
[I]'s screen flashes: 'Book stored in buffer.'")
+ to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer.'"))
if(1)
scanner.book = src
scanner.computer.buffer_book = name
- to_chat(user, "
[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'")
+ to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. Book title stored in associated computer buffer.'"))
if(2)
scanner.book = src
for(var/datum/borrowbook/b in scanner.computer.checkouts)
if(b.bookname == name)
scanner.computer.checkouts.Remove(b)
- to_chat(user, "
[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'")
+ to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. Book has been checked in.'"))
return
- to_chat(user, "
[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'")
+ to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. No active check-out record found for current title.'"))
if(3)
scanner.book = src
for(var/obj/item/book in scanner.computer.inventory)
if(book == src)
- to_chat(user, "
[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'")
+ to_chat(user, span_alert("[I]'s screen flashes: 'Book stored in buffer. Title already present in inventory, aborting to avoid duplicate entry.'"))
return
scanner.computer.inventory.Add(src)
- to_chat(user, "
[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'")
+ to_chat(user, span_notice("[I]'s screen flashes: 'Book stored in buffer. Title added to general inventory.'"))
else if((istype(I, /obj/item/kitchen/knife) || I.tool_behaviour == TOOL_WIRECUTTER) && !(flags_1 & HOLOGRAM_1))
- to_chat(user, "
You begin to carve out [title]...")
+ to_chat(user, span_notice("You begin to carve out [title]..."))
if(do_after(user, 30, target = src))
- to_chat(user, "
You carve out the pages from [title]! You didn't want to read it anyway.")
+ to_chat(user, span_notice("You carve out the pages from [title]! You didn't want to read it anyway."))
var/obj/item/storage/book/B = new
B.name = src.name
B.title = src.title
diff --git a/code/modules/library/lib_machines.dm b/code/modules/library/lib_machines.dm
index 5cc077e0247..29433505b06 100644
--- a/code/modules/library/lib_machines.dm
+++ b/code/modules/library/lib_machines.dm
@@ -333,15 +333,15 @@
/obj/machinery/computer/bookmanagement/proc/print_forbidden_lore(mob/user)
new /obj/item/melee/cultblade/dagger(get_turf(src))
- to_chat(user, "
Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a sinister dagger sitting on the desk. You don't even remember where it came from...")
- user.visible_message("
[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older.", 2)
+ to_chat(user, span_warning("Your sanity barely endures the seconds spent in the vault's browsing window. The only thing to remind you of this when you stop browsing is a sinister dagger sitting on the desk. You don't even remember where it came from..."))
+ user.visible_message(span_warning("[user] stares at the blank screen for a few moments, [user.p_their()] expression frozen in fear. When [user.p_they()] finally awaken[user.p_s()] from it, [user.p_they()] look[user.p_s()] a lot older."), 2)
/obj/machinery/computer/bookmanagement/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/barcodescanner))
var/obj/item/barcodescanner/scanner = W
scanner.computer = src
- to_chat(user, "
[scanner]'s associated machine has been set to [src].")
- audible_message("
[src] lets out a low, short blip.")
+ to_chat(user, span_notice("[scanner]'s associated machine has been set to [src]."))
+ audible_message(span_hear("[src] lets out a low, short blip."))
else
return ..()
@@ -485,7 +485,7 @@
B.author = author
B.dat = content
B.icon_state = "book[rand(1,8)]"
- visible_message("
[src]'s printer hums as it produces a completely bound book. How did it do that?")
+ visible_message(span_notice("[src]'s printer hums as it produces a completely bound book. How did it do that?"))
break
qdel(query_library_print)
if(href_list["printbible"])
@@ -588,18 +588,18 @@
if(machine_stat)
return
if(busy)
- to_chat(user, "
The book binder is busy. Please wait for completion of previous operation.")
+ to_chat(user, span_warning("The book binder is busy. Please wait for completion of previous operation."))
return
if(!user.transferItemToLoc(P, src))
return
- user.visible_message("
[user] loads some paper into [src].", "
You load some paper into [src].")
- audible_message("
[src] begins to hum as it warms up its printing drums.")
+ user.visible_message(span_notice("[user] loads some paper into [src]."), span_notice("You load some paper into [src]."))
+ audible_message(span_hear("[src] begins to hum as it warms up its printing drums."))
busy = TRUE
sleep(rand(200,400))
busy = FALSE
if(P)
if(!machine_stat)
- visible_message("
[src] whirs as it prints and binds a new book.")
+ visible_message(span_notice("[src] whirs as it prints and binds a new book."))
var/obj/item/book/B = new(src.loc)
B.dat = P.info
B.name = "Print Job #" + "[rand(100, 999)]"
diff --git a/code/modules/library/skill_learning/skill_station.dm b/code/modules/library/skill_learning/skill_station.dm
index eb2b646d587..e4f2cf7200a 100644
--- a/code/modules/library/skill_learning/skill_station.dm
+++ b/code/modules/library/skill_learning/skill_station.dm
@@ -85,7 +85,7 @@
/obj/machinery/skill_station/attackby(obj/item/I, mob/living/user, params)
if(istype(I,/obj/item/skillchip))
if(inserted_skillchip)
- to_chat(user,"
There's already a skillchip inside.")
+ to_chat(user,span_notice("There's already a skillchip inside."))
return
if(!user.transferItemToLoc(I, src))
return
@@ -125,9 +125,9 @@
var/mob/living/carbon/carbon_occupant = occupant
var/implant_msg = carbon_occupant.implant_skillchip(inserted_skillchip, FALSE)
if(implant_msg)
- to_chat(carbon_occupant,"
Operation failed! [implant_msg]")
+ to_chat(carbon_occupant,span_notice("Operation failed! [implant_msg]"))
else
- to_chat(carbon_occupant,"
Operation complete!")
+ to_chat(carbon_occupant,span_notice("Operation complete!"))
inserted_skillchip = null
update_appearance()
@@ -138,7 +138,7 @@
return
if(to_be_removed.is_on_cooldown())
- to_chat(occupant, "
DANGER! Operation cannot be completed, removal is unsafe.")
+ to_chat(occupant, span_notice("DANGER! Operation cannot be completed, removal is unsafe."))
CRASH("Unusual error - [usr] attempted to start removal of [to_be_removed] when the interface state should not have allowed it.")
working = TRUE
@@ -154,15 +154,15 @@
var/mob/living/carbon/carbon_occupant = occupant
if(to_be_removed.is_on_cooldown())
- to_chat(carbon_occupant,"
Safety mechanisms activated! Skillchip cannot be safely removed.")
+ to_chat(carbon_occupant,span_notice("Safety mechanisms activated! Skillchip cannot be safely removed."))
return
if(!istype(carbon_occupant))
- to_chat(carbon_occupant,"
Occupant does not appear to be a carbon-based lifeform!")
+ to_chat(carbon_occupant,span_notice("Occupant does not appear to be a carbon-based lifeform!"))
return
if(!carbon_occupant.remove_skillchip(to_be_removed))
- to_chat(carbon_occupant,"
Failed to remove skillchip!")
+ to_chat(carbon_occupant,span_notice("Failed to remove skillchip!"))
return
if(to_be_removed.removable)
@@ -170,29 +170,29 @@
else
qdel(to_be_removed)
- to_chat(carbon_occupant, "
Operation complete!")
+ to_chat(carbon_occupant, span_notice("Operation complete!"))
/obj/machinery/skill_station/proc/toggle_chip_active(obj/item/skillchip/to_be_toggled)
var/mob/living/carbon/carbon_occupant = occupant
if(to_be_toggled.is_on_cooldown())
- to_chat(carbon_occupant,"
Safety mechanisms activated! Skillchip cannot be safely modified.")
+ to_chat(carbon_occupant,span_notice("Safety mechanisms activated! Skillchip cannot be safely modified."))
return
if(!istype(carbon_occupant))
- to_chat(carbon_occupant,"
Occupant does not appear to be a carbon-based lifeform!")
+ to_chat(carbon_occupant,span_notice("Occupant does not appear to be a carbon-based lifeform!"))
return
if(to_be_toggled.is_active())
var/active_msg = to_be_toggled.try_deactivate_skillchip(FALSE, FALSE)
if(active_msg)
- to_chat(carbon_occupant,"
Failed to deactivate skillchip! [active_msg]")
+ to_chat(carbon_occupant,span_notice("Failed to deactivate skillchip! [active_msg]"))
return
// This code will fire when to_be_toggled.active is FALSE
var/active_msg = to_be_toggled.try_activate_skillchip(FALSE, FALSE)
if(active_msg)
- to_chat(carbon_occupant,"
Failed to activate skillchip! [active_msg]")
+ to_chat(carbon_occupant,span_notice("Failed to activate skillchip! [active_msg]"))
/obj/machinery/skill_station/ui_data(mob/user)
. = ..()
@@ -285,7 +285,7 @@
stack_trace("[usr] tried to toggle skillchip activation when [src] was in an invalid state.")
return TRUE
if(inserted_skillchip)
- to_chat(occupant,"
You eject the skillchip.")
+ to_chat(occupant,span_notice("You eject the skillchip."))
var/mob/living/carbon/human/H = occupant
H.put_in_hands(inserted_skillchip)
inserted_skillchip = null
diff --git a/code/modules/library/soapstone.dm b/code/modules/library/soapstone.dm
index b0803a16494..7eeef43fa5d 100644
--- a/code/modules/library/soapstone.dm
+++ b/code/modules/library/soapstone.dm
@@ -27,18 +27,18 @@
var/obj/structure/chisel_message/existing_message = locate() in T
if(!remaining_uses && !existing_message)
- to_chat(user, "
[src] is too worn out to use.")
+ to_chat(user, span_warning("[src] is too worn out to use."))
return
if(!good_chisel_message_location(T))
- to_chat(user, "
It's not appropriate to engrave on [T].")
+ to_chat(user, span_warning("It's not appropriate to engrave on [T]."))
return
if(existing_message)
- user.visible_message("
[user] starts erasing [existing_message].", "
You start erasing [existing_message].", "
You hear a chipping sound.")
+ user.visible_message(span_notice("[user] starts erasing [existing_message]."), span_notice("You start erasing [existing_message]."), span_hear("You hear a chipping sound."))
playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1)
if(do_after(user, tool_speed, target = existing_message))
- user.visible_message("
[user] erases [existing_message].", "
You erase [existing_message][existing_message.creator_key == user.ckey ? ", refunding a use" : ""].")
+ user.visible_message(span_notice("[user] erases [existing_message]."), span_notice("You erase [existing_message][existing_message.creator_key == user.ckey ? ", refunding a use" : ""]."))
existing_message.persists = FALSE
qdel(existing_message)
playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1)
@@ -48,17 +48,17 @@
var/message = stripped_input(user, "What would you like to engrave?", "Leave a message")
if(!message)
- to_chat(user, "
You decide not to engrave anything.")
+ to_chat(user, span_notice("You decide not to engrave anything."))
return
if(!target.Adjacent(user) && locate(/obj/structure/chisel_message) in T)
- to_chat(user, "
Someone wrote here before you chose! Find another spot.")
+ to_chat(user, span_warning("Someone wrote here before you chose! Find another spot."))
return
playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1)
- user.visible_message("
[user] starts engraving a message into [T]...", "
You start engraving a message into [T]...", "
You hear a chipping sound.")
+ user.visible_message(span_notice("[user] starts engraving a message into [T]..."), span_notice("You start engraving a message into [T]..."), span_hear("You hear a chipping sound."))
if(can_use() && do_after(user, tool_speed, target = T) && can_use()) //This looks messy but it's actually really clever!
if(!locate(/obj/structure/chisel_message) in T)
- user.visible_message("
[user] leaves a message for future spacemen!", "
You engrave a message into [T]!", "
You hear a chipping sound.")
+ user.visible_message(span_notice("[user] leaves a message for future spacemen!"), span_notice("You engrave a message into [T]!"), span_hear("You hear a chipping sound."))
playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1)
var/obj/structure/chisel_message/M = new(T)
M.register(user, message)
diff --git a/code/modules/mafia/controller.dm b/code/modules/mafia/controller.dm
index 5eca28ad66e..d21c8476812 100644
--- a/code/modules/mafia/controller.dm
+++ b/code/modules/mafia/controller.dm
@@ -175,7 +175,7 @@
judgement_lynch_period /= 2
night_phase_period /= 2
if(turn == 1)
- send_message("
The selected map is [current_map.name]![current_map.description]")
+ send_message(span_notice("
The selected map is [current_map.name]![current_map.description]"))
send_message("
Day [turn] started! There is no voting on the first day. Say hello to everybody!")
next_phase_timer = addtimer(CALLBACK(src,.proc/check_trial, FALSE),first_day_phase_period,TIMER_STOPPABLE) //no voting period = no votes = instant night
else
@@ -244,19 +244,19 @@
/datum/mafia_controller/proc/lynch()
for(var/i in judgement_innocent_votes)
var/datum/mafia_role/role = i
- send_message("
[role.body.real_name] voted innocent.")
+ send_message(span_green("[role.body.real_name] voted innocent."))
for(var/ii in judgement_abstain_votes)
var/datum/mafia_role/role = ii
- send_message("
[role.body.real_name] abstained.")
+ send_message(span_comradio("[role.body.real_name] abstained."))
for(var/iii in judgement_guilty_votes)
var/datum/mafia_role/role = iii
- send_message("
[role.body.real_name] voted guilty.")
+ send_message(span_red("[role.body.real_name] voted guilty."))
if(judgement_guilty_votes.len > judgement_innocent_votes.len) //strictly need majority guilty to lynch
- send_message("
Guilty wins majority, [on_trial.body.real_name] has been lynched.")
+ send_message(span_red("
Guilty wins majority, [on_trial.body.real_name] has been lynched."))
on_trial.kill(src,lynch = TRUE)
addtimer(CALLBACK(src, .proc/send_home, on_trial),judgement_lynch_period)
else
- send_message("
Innocent wins majority, [on_trial.body.real_name] has been spared.")
+ send_message(span_green("
Innocent wins majority, [on_trial.body.real_name] has been spared."))
on_trial.body.forceMove(get_turf(on_trial.assigned_landmark))
on_trial = null
//day votes are already cleared, so this will skip the trial and check victory/lockdown/whatever else
@@ -453,11 +453,11 @@
if(victim)
var/datum/mafia_role/killer = get_random_voter("Mafia")
if(!victim.can_action(src, killer, "changeling murder"))
- send_message("
[killer.body.real_name] was unable to attack [victim.body.real_name] tonight!",MAFIA_TEAM_MAFIA)
+ send_message(span_danger("[killer.body.real_name] was unable to attack [victim.body.real_name] tonight!"),MAFIA_TEAM_MAFIA)
else
- send_message("
[killer.body.real_name] has attacked [victim.body.real_name]!",MAFIA_TEAM_MAFIA)
+ send_message(span_danger("[killer.body.real_name] has attacked [victim.body.real_name]!"),MAFIA_TEAM_MAFIA)
if(victim.kill(src,killer,lynch=FALSE))
- to_chat(victim.body, "
You have been killed by a Changeling!")
+ to_chat(victim.body, span_userdanger("You have been killed by a Changeling!"))
reset_votes("Mafia")
SEND_SIGNAL(src,COMSIG_MAFIA_NIGHT_KILL_PHASE)
SEND_SIGNAL(src,COMSIG_MAFIA_NIGHT_END)
@@ -484,9 +484,9 @@
else
votes[vote_type][voter] = target
if(old_vote && old_vote == target)
- send_message("
[voter.body.real_name] retracts their vote for [target.body.real_name]!", team = teams)
+ send_message(span_notice("[voter.body.real_name] retracts their vote for [target.body.real_name]!"), team = teams)
else
- send_message("
[voter.body.real_name] voted for [target.body.real_name]!",team = teams)
+ send_message(span_notice("[voter.body.real_name] voted for [target.body.real_name]!"),team = teams)
if(!teams)
target.body.update_appearance() //Update the vote display if it's a public vote
var/datum/mafia_role/old = old_vote
@@ -723,25 +723,25 @@
switch(action)
if("mf_signup")
if(!SSticker.HasRoundStarted())
- to_chat(usr, "
Wait for the round to start.")
+ to_chat(usr, span_warning("Wait for the round to start."))
return
if(GLOB.mafia_signup[C.ckey])
GLOB.mafia_signup -= C.ckey
- to_chat(usr, "
You unregister from Mafia.")
+ to_chat(usr, span_notice("You unregister from Mafia."))
return TRUE
else
GLOB.mafia_signup[C.ckey] = C
- to_chat(usr, "
You sign up for Mafia.")
+ to_chat(usr, span_notice("You sign up for Mafia."))
if(phase == MAFIA_PHASE_SETUP)
check_signups()
try_autostart()
return TRUE
if("mf_spectate")
if(C.ckey in spectators)
- to_chat(usr, "
You will no longer get messages from the game.")
+ to_chat(usr, span_notice("You will no longer get messages from the game."))
spectators -= C.ckey
else
- to_chat(usr, "
You will now get messages from the game.")
+ to_chat(usr, span_notice("You will now get messages from the game."))
spectators += C.ckey
return TRUE
if(user_role && user_role.game_status == MAFIA_DEAD)
@@ -924,8 +924,8 @@
//small message about not getting into this game for clarity on why they didn't get in
for(var/unpicked in possible_keys)
var/client/unpicked_client = GLOB.directory[unpicked]
- to_chat(unpicked_client, "
Sorry, the starting mafia game has too many players and you were not picked.")
- to_chat(unpicked_client, "
You're still signed up, getting messages from the current round, and have another chance to join when the one starting now finishes.")
+ to_chat(unpicked_client, span_danger("Sorry, the starting mafia game has too many players and you were not picked."))
+ to_chat(unpicked_client, span_warning("You're still signed up, getting messages from the current round, and have another chance to join when the one starting now finishes."))
if(!setup.len) //don't actually have one yet, so generate a max player random setup. it's good to do this here instead of above so it doesn't generate one every time a game could possibly start.
setup = generate_random_setup()
diff --git a/code/modules/mafia/roles.dm b/code/modules/mafia/roles.dm
index 115d223ebc6..8ba1bc33ce3 100644
--- a/code/modules/mafia/roles.dm
+++ b/code/modules/mafia/roles.dm
@@ -47,13 +47,13 @@
*/
/datum/mafia_role/proc/can_action(datum/mafia_controller/game, datum/mafia_role/visitor, action)
if(role_flags & ROLE_ROLEBLOCKED)
- to_chat(visitor,"
Your [action] was blocked!")
+ to_chat(visitor,span_danger("Your [action] was blocked!"))
return FALSE
if(game_status != MAFIA_ALIVE) //They're already dead
- to_chat(visitor,"
[body.real_name] perished before you could visit!")
+ to_chat(visitor,span_danger("[body.real_name] perished before you could visit!"))
return FALSE
if(SEND_SIGNAL(src,COMSIG_MAFIA_ON_VISIT,game,visitor) & MAFIA_VISIT_INTERRUPTED) //visited a warden. something that prevents you by visiting that person
- to_chat(visitor,"
Your [action] was interrupted!")
+ to_chat(visitor,span_danger("Your [action] was interrupted!"))
return FALSE
return TRUE
@@ -79,15 +79,15 @@
/datum/mafia_role/proc/greet()
SEND_SOUND(body, 'sound/ambience/ambifailure.ogg')
- to_chat(body,"
You are the [name].")
- to_chat(body,"
[desc]")
+ to_chat(body,span_danger("You are the [name]."))
+ to_chat(body,span_danger("[desc]"))
switch(team)
if(MAFIA_TEAM_MAFIA)
- to_chat(body,"
You and your co-conspirators win if you outnumber crewmembers.")
+ to_chat(body,span_danger("You and your co-conspirators win if you outnumber crewmembers."))
if(MAFIA_TEAM_TOWN)
- to_chat(body,"
You are a crewmember. Find out and lynch the changelings!")
+ to_chat(body,span_danger("You are a crewmember. Find out and lynch the changelings!"))
if(MAFIA_TEAM_SOLO)
- to_chat(body,"
You are not aligned to town or mafia. Accomplish your own objectives!")
+ to_chat(body,span_danger("You are not aligned to town or mafia. Accomplish your own objectives!"))
to_chat(body, "
Be sure to read the wiki page to learn more, if you have no idea what's going on.")
/datum/mafia_role/proc/reveal_role(datum/mafia_controller/game, verbose = FALSE)
@@ -138,9 +138,9 @@
team_desc = "Nobody"
team_span = "comradio"
the = FALSE
- result += "
The [name] is aligned with [the ? "the " : ""][team_desc]"
+ result += span_notice("The [span_bold("[name]")] is aligned with [the ? "the " : ""]
[team_desc]")
result += "
\"[desc]\""
- result += "
[name] wins when they [win_condition]"
+ result += span_notice("[name] wins when they [win_condition]")
to_chat(clueless, result.Join(""))
/datum/mafia_role/detective
@@ -169,9 +169,9 @@
/datum/mafia_role/detective/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
if(!target || target.game_status != MAFIA_ALIVE)
- to_chat(body,"
You can only investigate alive people.")
+ to_chat(body,span_warning("You can only investigate alive people."))
return
- to_chat(body,"
You will investigate [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will investigate [target.body.real_name] tonight."))
current_investigation = target
/datum/mafia_role/detective/proc/investigate(datum/mafia_controller/game)
@@ -185,7 +185,7 @@
if(!target.can_action(game, src, "investigation"))
return
if((target.role_flags & ROLE_UNDETECTABLE))
- to_chat(body,"
Your investigations reveal that [target.body.real_name] is a true member of the station.")
+ to_chat(body,span_warning("Your investigations reveal that [target.body.real_name] is a true member of the station."))
add_note("N[game.turn] - [target.body.real_name] - Town")
else
var/team_text
@@ -200,7 +200,7 @@
if(MAFIA_TEAM_SOLO)
team_text = "Solo"
fluff = "a rogue, with their own objectives..."
- to_chat(body,"
Your investigations reveal that [target.body.real_name] is [fluff]")
+ to_chat(body,span_warning("Your investigations reveal that [target.body.real_name] is [fluff]"))
add_note("N[game.turn] - [target.body.real_name] - [team_text]")
/datum/mafia_role/psychologist
@@ -228,7 +228,7 @@
/datum/mafia_role/psychologist/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
- to_chat(body,"
You will reveal [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will reveal [target.body.real_name] tonight."))
current_target = target
/datum/mafia_role/psychologist/proc/therapy_reveal(datum/mafia_controller/game)
@@ -241,7 +241,7 @@
if(!target.can_action(game, src, "role reveal"))
return
add_note("N[game.turn] - [current_target.body.real_name] - Revealed true identity")
- to_chat(body,"
You have revealed the true nature of the [current_target]!")
+ to_chat(body,span_warning("You have revealed the true nature of the [current_target]!"))
target.reveal_role(game, verbose = TRUE)
can_use = FALSE
@@ -268,7 +268,7 @@
return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_DEAD && target != src && !(target.role_flags & ROLE_REVEALED)
/datum/mafia_role/chaplain/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
- to_chat(body,"
You will commune with the spirit of [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will commune with the spirit of [target.body.real_name] tonight."))
current_target = target
/datum/mafia_role/chaplain/proc/commune(datum/mafia_controller/game)
@@ -281,7 +281,7 @@
if(!target.can_action(game, src, "communion"))
return
if(target)
- to_chat(body,"
You invoke spirit of [target.body.real_name] and learn their role was [target.name].")
+ to_chat(body,span_warning("You invoke spirit of [target.body.real_name] and learn their role was
[target.name]."))
add_note("N[game.turn] - [target.body.real_name] - [target.name]")
/datum/mafia_role/md
@@ -311,9 +311,9 @@
/datum/mafia_role/md/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
if(!target || target.game_status != MAFIA_ALIVE)
- to_chat(body,"You can only protect alive people.")
+ to_chat(body,span_warning("You can only protect alive people."))
return
- to_chat(body,"You will protect [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will protect [target.body.real_name] tonight."))
current_protected = target
/datum/mafia_role/md/proc/protect(datum/mafia_controller/game)
@@ -333,10 +333,10 @@
SIGNAL_HANDLER
if((current_protected.role_flags & ROLE_VULNERABLE))
- to_chat(body,"The person you protected could not be saved.")
+ to_chat(body,span_warning("The person you protected could not be saved."))
return
- to_chat(body,"The person you protected tonight was attacked!")
- to_chat(current_protected.body,"You were attacked last night, but someone nursed you back to life!")
+ to_chat(body,span_warning("The person you protected tonight was attacked!"))
+ to_chat(current_protected.body,span_greentext("You were attacked last night, but someone nursed you back to life!"))
return MAFIA_PREVENT_KILL
/datum/mafia_role/md/proc/end_protection(datum/mafia_controller/game)
@@ -374,9 +374,9 @@
/datum/mafia_role/officer/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
if(!target || target.game_status != MAFIA_ALIVE)
- to_chat(body,"You can only defend alive people.")
+ to_chat(body,span_warning("You can only defend alive people."))
return
- to_chat(body,"You will defend [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will defend [target.body.real_name] tonight."))
current_defended = target
/datum/mafia_role/officer/proc/defend(datum/mafia_controller/game)
@@ -396,12 +396,12 @@
SIGNAL_HANDLER
if((current_defended.role_flags & ROLE_VULNERABLE))
- to_chat(body,"The person you defended could not be saved. You could not attack the killer.")
+ to_chat(body,span_warning("The person you defended could not be saved. You could not attack the killer."))
return
- to_chat(body,"The person you defended tonight was attacked!")
- to_chat(current_defended.body,"You were attacked last night, but security fought off the attacker!")
+ to_chat(body,span_userdanger("The person you defended tonight was attacked!"))
+ to_chat(current_defended.body,span_userdanger("You were attacked last night, but security fought off the attacker!"))
if(attacker.kill(game,src,FALSE)) //you attack the attacker
- to_chat(attacker.body, "You have been ambushed by Security!")
+ to_chat(attacker.body, span_userdanger("You have been ambushed by Security!"))
kill(game,attacker,FALSE) //the attacker attacks you, they were able to attack the target so they can attack you.
return MAFIA_PREVENT_KILL
@@ -459,10 +459,10 @@
. = ..()
if(target == current_target)
current_target = null
- to_chat(body,"You have decided against blocking anyone tonight.")
+ to_chat(body,span_warning("You have decided against blocking anyone tonight."))
else
current_target = target
- to_chat(body,"You will block [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will block [target.body.real_name] tonight."))
/datum/mafia_role/lawyer/proc/release(datum/mafia_controller/game)
SIGNAL_HANDLER
@@ -521,8 +521,8 @@
/datum/mafia_role/hos/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
if(execute_target == target)
- to_chat(body,"You have decided against executing tonight.")
- to_chat(body,"You have decided to execute [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You have decided against executing tonight."))
+ to_chat(body,span_warning("You have decided to execute [target.body.real_name] tonight."))
execute_target = target
/datum/mafia_role/hos/proc/execute(datum/mafia_controller/game)
@@ -535,17 +535,17 @@
if(!target.can_action(game, src, "execution")) //roleblocking a warden moment
return
if(!target.kill(game,src,FALSE))//protection
- to_chat(body,"Your attempt at executing [target.body.real_name] was prevented, or [target.body.real_name] is immune!")
+ to_chat(body,span_danger("Your attempt at executing [target.body.real_name] was prevented, or [target.body.real_name] is immune!"))
else
- to_chat(target.body, "You have been executed by the Head of Security!")
+ to_chat(target.body, span_userdanger("You have been executed by the Head of Security!"))
target.reveal_role(game, verbose = TRUE)
if(target.team == MAFIA_TEAM_TOWN)
- to_chat(body,"You have killed an innocent crewmember. You will die tomorrow night.")
+ to_chat(body,span_userdanger("You have killed an innocent crewmember. You will die tomorrow night."))
RegisterSignal(game,COMSIG_MAFIA_SUNDOWN,.proc/internal_affairs)
role_flags |= ROLE_VULNERABLE
/datum/mafia_role/hos/proc/internal_affairs(datum/mafia_controller/game)
- to_chat(body,"You have been killed by Nanotrasen Internal Affairs!")
+ to_chat(body,span_userdanger("You have been killed by Nanotrasen Internal Affairs!"))
reveal_role(game, verbose = TRUE)
kill(game,src,FALSE) //you technically kill yourself but that shouldn't matter
@@ -578,22 +578,22 @@
/datum/mafia_role/warden/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
if(!charges)
- to_chat(body,"You've already locked down this game!")
+ to_chat(body,span_danger("You've already locked down this game!"))
return
if(game.phase == MAFIA_PHASE_NIGHT)
- to_chat(body,"You don't have time to lockdown, night has already arrived.")
+ to_chat(body,span_danger("You don't have time to lockdown, night has already arrived."))
return
if(protection_status == WARDEN_WILL_LOCKDOWN)
- to_chat(body,"You decide to not lockdown tonight.")
+ to_chat(body,span_danger("You decide to not lockdown tonight."))
else
- to_chat(body,"You decide to lockdown, killing any visitors.")
+ to_chat(body,span_danger("You decide to lockdown, killing any visitors."))
protection_status = !protection_status
/datum/mafia_role/warden/proc/night_start(datum/mafia_controller/game)
SIGNAL_HANDLER
if(protection_status == WARDEN_WILL_LOCKDOWN)
- to_chat(body,"Any and all visitors are going to eat buckshot tonight.")
+ to_chat(body,span_danger("Any and all visitors are going to eat buckshot tonight."))
RegisterSignal(src,COMSIG_MAFIA_ON_VISIT,.proc/self_defense)
/datum/mafia_role/warden/proc/night_end(datum/mafia_controller/game)
@@ -602,14 +602,14 @@
if(protection_status == WARDEN_WILL_LOCKDOWN)
charges--
UnregisterSignal(src,COMSIG_MAFIA_ON_KILL)
- to_chat(body,"You are no longer protected. You have used up your power.")
+ to_chat(body,span_danger("You are no longer protected. You have used up your power."))
protection_status = WARDEN_NOT_LOCKDOWN
/datum/mafia_role/warden/proc/self_defense(datum/source,datum/mafia_controller/game,datum/mafia_role/attacker,lynch)
SIGNAL_HANDLER
- to_chat(body,"You have shot a visitor!")
- to_chat(attacker,"You have visited the warden!")
+ to_chat(body,span_userdanger("You have shot a visitor!"))
+ to_chat(attacker,span_userdanger("You have visited the warden!"))
attacker.kill(game, src, lynch = FALSE)
return MAFIA_VISIT_INTERRUPTED
@@ -663,7 +663,7 @@
return game.phase == MAFIA_PHASE_NIGHT && target.game_status == MAFIA_ALIVE && target != src
/datum/mafia_role/mafia/thoughtfeeder/handle_action(datum/mafia_controller/game,action,datum/mafia_role/target)
- to_chat(body,"You will feast on the memories of [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will feast on the memories of [target.body.real_name] tonight."))
current_investigation = target
/datum/mafia_role/mafia/thoughtfeeder/proc/investigate(datum/mafia_controller/game)
@@ -675,10 +675,10 @@
add_note("N[game.turn] - [target.body.real_name] - Unable to investigate")
return
if((target.role_flags & ROLE_UNDETECTABLE))
- to_chat(body,"[target.body.real_name]'s memories reveal that they are the Assistant.")
+ to_chat(body,span_warning("[target.body.real_name]'s memories reveal that they are the Assistant."))
add_note("N[game.turn] - [target.body.real_name] - Assistant")
else
- to_chat(body,"[target.body.real_name]'s memories reveal that they are the [target.name].")
+ to_chat(body,span_warning("[target.body.real_name]'s memories reveal that they are the [target.name]."))
add_note("N[game.turn] - [target.body.real_name] - [target.name]")
///SOLO ROLES/// they range from anomalous factors to deranged killers that try to win alone.
@@ -714,7 +714,7 @@
SIGNAL_HANDLER
if(game.phase == MAFIA_PHASE_NIGHT && !lynch)
- to_chat(body,"You were attacked, but they'll have to try harder than that to put you down.")
+ to_chat(body,span_userdanger("You were attacked, but they'll have to try harder than that to put you down."))
return MAFIA_PREVENT_KILL
/datum/mafia_role/traitor/validate_action_target(datum/mafia_controller/game, action, datum/mafia_role/target)
@@ -727,7 +727,7 @@
/datum/mafia_role/traitor/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
current_victim = target
- to_chat(body,"You will attempt to kill [target.body.real_name] tonight.")
+ to_chat(body,span_warning("You will attempt to kill [target.body.real_name] tonight."))
/datum/mafia_role/traitor/proc/try_to_kill(datum/mafia_controller/game)
SIGNAL_HANDLER
@@ -740,9 +740,9 @@
return
if(game_status == MAFIA_ALIVE)
if(!target.kill(game,src,FALSE))
- to_chat(body,"Your attempt at killing [target.body.real_name] was prevented!")
+ to_chat(body,span_danger("Your attempt at killing [target.body.real_name] was prevented!"))
else
- to_chat(target.body, "You have been killed by a Traitor!")
+ to_chat(target.body, span_userdanger("You have been killed by a Traitor!"))
/datum/mafia_role/nightmare
name = "Nightmare"
@@ -790,13 +790,13 @@
/datum/mafia_role/nightmare/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
if(target == flicker_target)
- to_chat(body,"You will do nothing tonight.")
+ to_chat(body,span_warning("You will do nothing tonight."))
flicker_target = null
flicker_target = target
if(action == "Flicker")
- to_chat(body,"You will attempt to flicker [target.body.real_name]'s room tonight.")
+ to_chat(body,span_warning("You will attempt to flicker [target.body.real_name]'s room tonight."))
else
- to_chat(body,"You will hunt everyone in a flickering room down tonight.")
+ to_chat(body,span_danger("You will hunt everyone in a flickering room down tonight."))
/datum/mafia_role/nightmare/proc/flickering_immunity(datum/source,datum/mafia_controller/game,datum/mafia_role/attacker,lynch)
SIGNAL_HANDLER
@@ -804,7 +804,7 @@
return //no chance man, that's a town lynch
if(attacker in flickering)
- to_chat(body,"You were attacked by someone in a flickering room. You have danced in the shadows, evading them.")
+ to_chat(body,span_userdanger("You were attacked by someone in a flickering room. You have danced in the shadows, evading them."))
return MAFIA_PREVENT_KILL
/datum/mafia_role/nightmare/proc/flicker_or_hunt(datum/mafia_controller/game)
@@ -818,13 +818,13 @@
return
if(target != src) //flicker instead of hunt
- to_chat(target.body, "The lights begin to flicker and dim. You're in danger.")
+ to_chat(target.body, span_userdanger("The lights begin to flicker and dim. You're in danger."))
flickering += target
return
for(var/r in flickering)
var/datum/mafia_role/role = r
if(role && role.game_status == MAFIA_ALIVE)
- to_chat(role.body, "A shadowy figure appears out of the darkness!")
+ to_chat(role.body, span_userdanger("A shadowy figure appears out of the darkness!"))
role.kill(game,src,FALSE)
flickering -= role
@@ -858,22 +858,22 @@
/datum/mafia_role/fugitive/handle_action(datum/mafia_controller/game, action, datum/mafia_role/target)
. = ..()
if(!charges)
- to_chat(body,"You're out of supplies and cannot protect yourself anymore.")
+ to_chat(body,span_danger("You're out of supplies and cannot protect yourself anymore."))
return
if(game.phase == MAFIA_PHASE_NIGHT)
- to_chat(body,"You don't have time to prepare, night has already arrived.")
+ to_chat(body,span_danger("You don't have time to prepare, night has already arrived."))
return
if(protection_status == FUGITIVE_WILL_PRESERVE)
- to_chat(body,"You decide to not prepare tonight.")
+ to_chat(body,span_danger("You decide to not prepare tonight."))
else
- to_chat(body,"You decide to prepare for a horrible night.")
+ to_chat(body,span_danger("You decide to prepare for a horrible night."))
protection_status = !protection_status
/datum/mafia_role/fugitive/proc/night_start(datum/mafia_controller/game)
SIGNAL_HANDLER
if(protection_status == FUGITIVE_WILL_PRESERVE)
- to_chat(body,"Your preparations are complete. Nothing could kill you tonight!")
+ to_chat(body,span_danger("Your preparations are complete. Nothing could kill you tonight!"))
RegisterSignal(src,COMSIG_MAFIA_ON_KILL,.proc/prevent_death)
/datum/mafia_role/fugitive/proc/night_end(datum/mafia_controller/game)
@@ -882,13 +882,13 @@
if(protection_status == FUGITIVE_WILL_PRESERVE)
charges--
UnregisterSignal(src,COMSIG_MAFIA_ON_KILL)
- to_chat(body,"You are no longer protected. You have [charges] use[charges == 1 ? "" : "s"] left of your power.")
+ to_chat(body,span_danger("You are no longer protected. You have [charges] use[charges == 1 ? "" : "s"] left of your power."))
protection_status = FUGITIVE_NOT_PRESERVING
/datum/mafia_role/fugitive/proc/prevent_death(datum/source,datum/mafia_controller/game,datum/mafia_role/attacker,lynch)
SIGNAL_HANDLER
- to_chat(body,"You were attacked! Luckily, you were ready for this!")
+ to_chat(body,span_userdanger("You were attacked! Luckily, you were ready for this!"))
return MAFIA_PREVENT_KILL
/datum/mafia_role/fugitive/proc/survived(datum/mafia_controller/game)
@@ -932,7 +932,7 @@
if(!obsession)
obsession = pick(all_roles_shuffle) //okay no town just pick anyone here
//if you still don't have an obsession you're playing a single player game like i can't help your dumb ass
- to_chat(body, "Your obsession is [obsession.body.real_name]! Get them lynched to win!")
+ to_chat(body, span_userdanger("Your obsession is [obsession.body.real_name]! Get them lynched to win!"))
add_note("N[game.turn] - I vowed to watch my obsession, [obsession.body.real_name], hang!") //it'll always be N1 but whatever
RegisterSignal(obsession,COMSIG_MAFIA_ON_KILL,.proc/check_victory)
UnregisterSignal(game,COMSIG_MAFIA_SUNDOWN)
@@ -948,7 +948,7 @@
game.award_role(winner_award, src)
reveal_role(game, FALSE)
else
- to_chat(body, "You have failed your objective to lynch [obsession.body.real_name]!")
+ to_chat(body, span_userdanger("You have failed your objective to lynch [obsession.body.real_name]!"))
/datum/mafia_role/clown
name = "Clown"
diff --git a/code/modules/meteors/meteors.dm b/code/modules/meteors/meteors.dm
index 8950d77b435..d9ecfbbe361 100644
--- a/code/modules/meteors/meteors.dm
+++ b/code/modules/meteors/meteors.dm
@@ -146,7 +146,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event
continue
if(isliving(thing))
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!."))
switch(hitpwr)
if(EXPLODE_DEVASTATE)
SSexplosions.high_mov_atom += thing
diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm
index 9a5d02e18fd..e558bf03f63 100644
--- a/code/modules/mining/abandoned_crates.dm
+++ b/code/modules/mining/abandoned_crates.dm
@@ -28,7 +28,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/structure/closet/crate/secure/loot/attack_hand(mob/user, list/modifiers)
if(locked)
- to_chat(user, "The crate is locked with a Deca-code lock.")
+ to_chat(user, span_notice("The crate is locked with a Deca-code lock."))
var/input = input(usr, "Enter [codelen] digits. All digits must be unique.", "Deca-Code Lock", "") as text|null
if(user.canUseTopic(src, BE_CLOSE))
var/list/sanitised = list()
@@ -43,7 +43,7 @@
if(sanitised[i] == sanitised[j])
sanitycheck = FALSE //if a digit is repeated, reject the input
if(input == code)
- to_chat(user, "The crate unlocks!")
+ to_chat(user, span_notice("The crate unlocks!"))
locked = FALSE
cut_overlays()
add_overlay("securecrateg")
@@ -51,9 +51,9 @@
if(!spawned_loot)
spawn_loot()
else if(!input || !sanitycheck || length(sanitised) != codelen)
- to_chat(user, "You leave the crate alone.")
+ to_chat(user, span_notice("You leave the crate alone."))
else
- to_chat(user, "A red light flashes.")
+ to_chat(user, span_warning("A red light flashes."))
lastattempt = input
attempts--
if(attempts == 0)
@@ -69,11 +69,11 @@
/obj/structure/closet/crate/secure/loot/attackby(obj/item/W, mob/user)
if(locked)
if(W.tool_behaviour == TOOL_MULTITOOL)
- to_chat(user, "DECA-CODE LOCK REPORT:")
+ to_chat(user, span_notice("DECA-CODE LOCK REPORT:"))
if(attempts == 1)
- to_chat(user, "* Anti-Tamper Bomb will activate on next failed access attempt.")
+ to_chat(user, span_warning("* Anti-Tamper Bomb will activate on next failed access attempt."))
else
- to_chat(user, "* Anti-Tamper Bomb will activate after [attempts] failed access attempts.")
+ to_chat(user, span_notice("* Anti-Tamper Bomb will activate after [attempts] failed access attempts."))
if(lastattempt != null)
var/bulls = 0 //right position, right number
var/cows = 0 //wrong position but in the puzzle
@@ -97,7 +97,7 @@
lastattempt_it += length(lastattempt_char)
code_it += length(code_char)
- to_chat(user, "Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions.")
+ to_chat(user, span_notice("Last code attempt, [lastattempt], had [bulls] correct digits at correct positions and [cows] correct digits at incorrect positions."))
return
return ..()
diff --git a/code/modules/mining/aux_base.dm b/code/modules/mining/aux_base.dm
index bb11e236253..c7adb9851e7 100644
--- a/code/modules/mining/aux_base.dm
+++ b/code/modules/mining/aux_base.dm
@@ -130,7 +130,7 @@
*/
/obj/machinery/computer/auxiliary_base/proc/launch_check(mob/user)
if(!is_station_level(z) && shuttleId == "colony_drop")
- to_chat(user, "You can't move the base again!")
+ to_chat(user, span_warning("You can't move the base again!"))
return FALSE
return TRUE
@@ -139,7 +139,7 @@
if(.)
return
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, span_danger("Access denied."))
return
switch(action)
@@ -148,7 +148,7 @@
return
var/shuttle_error = SSshuttle.moveShuttle(shuttleId, params["shuttle_id"], 1)
if(launch_warning)
- say("Launch sequence activated! Prepare for drop!!")
+ say(span_danger("Launch sequence activated! Prepare for drop!!"))
playsound(loc, 'sound/machines/warning-buzzer.ogg', 70, FALSE)
launch_warning = FALSE
blind_drop_ready = FALSE
@@ -168,10 +168,10 @@
var/turf/LZ = pick(all_mining_turfs) //Pick a random mining Z-level turf
if(!ismineralturf(LZ) && !istype(LZ, /turf/open/floor/plating/asteroid))
//Find a suitable mining turf. Reduces chance of landing in a bad area
- to_chat(usr, "Landing zone scan failed. Please try again.")
+ to_chat(usr, span_warning("Landing zone scan failed. Please try again."))
return
if(set_landing_zone(LZ, usr) != ZONE_SET)
- to_chat(usr, "Landing zone unsuitable. Please recalculate.")
+ to_chat(usr, span_warning("Landing zone unsuitable. Please recalculate."))
return
blind_drop_ready = FALSE
return TRUE
@@ -201,7 +201,7 @@
/obj/machinery/computer/auxiliary_base/proc/set_landing_zone(turf/T, mob/user, no_restrictions)
var/obj/docking_port/mobile/auxiliary_base/base_dock = locate(/obj/docking_port/mobile/auxiliary_base) in SSshuttle.mobile
if(!base_dock) //Not all maps have an Aux base. This object is useless in that case.
- to_chat(user, "This station is not equipped with an auxiliary base. Please contact your Nanotrasen contractor.")
+ to_chat(user, span_warning("This station is not equipped with an auxiliary base. Please contact your Nanotrasen contractor."))
return
if(!no_restrictions)
var/static/list/disallowed_turf_types = typecacheof(list(
@@ -245,7 +245,7 @@
//Serves as a nice mechanic to people get ready for the launch.
minor_announce("Auxiliary base landing zone coordinates locked in for [A]. Launch command now available!")
- to_chat(user, "Landing zone set.")
+ to_chat(user, span_notice("Landing zone set."))
return ZONE_SET
@@ -265,7 +265,7 @@
if(setting)
return
- to_chat(user, "You begin setting the landing zone parameters...")
+ to_chat(user, span_notice("You begin setting the landing zone parameters..."))
setting = TRUE
if(!do_after(user, 50, target = user)) //You get a few seconds to cancel if you do not want to drop there.
setting = FALSE
@@ -280,20 +280,20 @@
AB = A
break
if(!AB)
- to_chat(user, "No auxiliary base console detected.")
+ to_chat(user, span_warning("No auxiliary base console detected."))
return
switch(AB.set_landing_zone(T, user, no_restrictions))
if(ZONE_SET)
qdel(src)
if(BAD_ZLEVEL)
- to_chat(user, "This uplink can only be used in a designed mining zone.")
+ to_chat(user, span_warning("This uplink can only be used in a designed mining zone."))
if(BAD_AREA)
- to_chat(user, "Unable to acquire a targeting lock. Find an area clear of structures or entirely within one.")
+ to_chat(user, span_warning("Unable to acquire a targeting lock. Find an area clear of structures or entirely within one."))
if(BAD_COORDS)
- to_chat(user, "Location is too close to the edge of the station's scanning range. Move several paces away and try again.")
+ to_chat(user, span_warning("Location is too close to the edge of the station's scanning range. Move several paces away and try again."))
if(BAD_TURF)
- to_chat(user, "The landing zone contains turfs unsuitable for a base. Make sure you've removed all walls and dangerous terrain from the landing zone.")
+ to_chat(user, span_warning("The landing zone contains turfs unsuitable for a base. Make sure you've removed all walls and dangerous terrain from the landing zone."))
/obj/item/assault_pod/mining/unrestricted
name = "omni-locational landing field designator"
@@ -344,11 +344,11 @@
if(.)
return
if(anchored)
- to_chat(user, "Landing zone already set.")
+ to_chat(user, span_warning("Landing zone already set."))
return
if(anti_spam_cd)
- to_chat(user, "[src] is currently recalibrating. Please wait.")
+ to_chat(user, span_warning("[src] is currently recalibrating. Please wait."))
return
anti_spam_cd = 1
@@ -357,7 +357,7 @@
var/turf/landing_spot = get_turf(src)
if(!is_mining_level(landing_spot.z))
- to_chat(user, "This device is only to be used in a mining zone.")
+ to_chat(user, span_warning("This device is only to be used in a mining zone."))
return
var/obj/machinery/computer/auxiliary_base/aux_base_console
for(var/obj/machinery/computer/auxiliary_base/ABC in GLOB.machines)
@@ -365,7 +365,7 @@
aux_base_console = ABC
break
if(!aux_base_console) //Needs to be near the base to serve as its dock and configure it to control the mining shuttle.
- to_chat(user, "The auxiliary base's console must be within [console_range] meters in order to interface.")
+ to_chat(user, span_warning("The auxiliary base's console must be within [console_range] meters in order to interface."))
return
//Mining shuttles may not be created equal, so we find the map's shuttle dock and size accordingly.
@@ -388,7 +388,7 @@
break
if(!Mport)
- to_chat(user, "This station is not equipped with an appropriate mining shuttle. Please contact Nanotrasen Support.")
+ to_chat(user, span_warning("This station is not equipped with an appropriate mining shuttle. Please contact Nanotrasen Support."))
return
var/obj/docking_port/mobile/mining_shuttle
@@ -402,7 +402,7 @@
break
if(!mining_shuttle) //Not having a mining shuttle is a map issue
- to_chat(user, "No mining shuttle signal detected. Please contact Nanotrasen Support.")
+ to_chat(user, span_warning("No mining shuttle signal detected. Please contact Nanotrasen Support."))
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
@@ -410,24 +410,24 @@
for(var/i in 1 to landing_turfs.len) //You land NEAR the base, not IN it.
var/turf/L = landing_turfs[i]
if(!L) //This happens at map edges
- to_chat(user, "Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base.")
+ to_chat(user, span_warning("Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base."))
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
if(istype(get_area(L), /area/shuttle/auxiliary_base))
- to_chat(user, "The mining shuttle must not land within the mining base itself.")
+ to_chat(user, span_warning("The mining shuttle must not land within the mining base itself."))
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
if(mining_shuttle.canDock(Mport) != SHUTTLE_CAN_DOCK)
- to_chat(user, "Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base.")
+ to_chat(user, span_warning("Unable to secure a valid docking zone. Please try again in an open area near, but not within the auxiliary mining base."))
SSshuttle.stationary.Remove(Mport)
qdel(Mport)
return
aux_base_console.set_mining_mode() //Lets the colony park the shuttle there, now that it has a dock.
- to_chat(user, "Mining shuttle calibration successful! Shuttle interface available at base console.")
+ to_chat(user, span_notice("Mining shuttle calibration successful! Shuttle interface available at base console."))
set_anchored(TRUE) //Locks in place to mark the landing zone.
playsound(loc, 'sound/machines/ping.ogg', 50, FALSE)
log_shuttle("[key_name(usr)] has registered the mining shuttle beacon at [COORD(landing_spot)].")
diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm
index ebd390f91d4..0622dae4c18 100644
--- a/code/modules/mining/equipment/explorer_gear.dm
+++ b/code/modules/mining/equipment/explorer_gear.dm
@@ -75,9 +75,9 @@
if(istype(C) && DT_PROB(1, delta_time)) //cursed by bubblegum
if(DT_PROB(7.5, delta_time))
new /datum/hallucination/oh_yeah(C)
- to_chat(C, "[pick("I AM IMMORTAL.","I SHALL TAKE BACK WHAT'S MINE.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","DEATH CANNOT HOLD ME.")]")
+ to_chat(C, span_colossus("[pick("I AM IMMORTAL.","I SHALL TAKE BACK WHAT'S MINE.","I SEE YOU.","YOU CANNOT ESCAPE ME FOREVER.","DEATH CANNOT HOLD ME.")]"))
else
- to_chat(C, "[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]")
+ to_chat(C, span_warning("[pick("You hear faint whispers.","You smell ash.","You feel hot.","You hear a roar in the distance.")]"))
/obj/item/clothing/head/helmet/space/hostile_environment
name = "H.E.C.K. helmet"
diff --git a/code/modules/mining/equipment/kinetic_crusher.dm b/code/modules/mining/equipment/kinetic_crusher.dm
index fd324ea1d59..79bc371c550 100644
--- a/code/modules/mining/equipment/kinetic_crusher.dm
+++ b/code/modules/mining/equipment/kinetic_crusher.dm
@@ -57,22 +57,22 @@
/obj/item/kinetic_crusher/examine(mob/living/user)
. = ..()
- . += "Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage."
- . += "Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage]."
+ . += span_notice("Mark a large creature with the destabilizing force, then hit them in melee to do [force + detonation_damage] damage.")
+ . += span_notice("Does [force + detonation_damage + backstab_bonus] damage if the target is backstabbed, instead of [force + detonation_damage].")
for(var/t in trophies)
var/obj/item/crusher_trophy/T = t
- . += "It has \a [T] attached, which causes [T.effect_desc()]."
+ . += span_notice("It has \a [T] attached, which causes [T.effect_desc()].")
/obj/item/kinetic_crusher/attackby(obj/item/I, mob/living/user)
if(I.tool_behaviour == TOOL_CROWBAR)
if(LAZYLEN(trophies))
- to_chat(user, "You remove [src]'s trophies.")
+ to_chat(user, span_notice("You remove [src]'s trophies."))
I.play_tool_sound(src)
for(var/t in trophies)
var/obj/item/crusher_trophy/T = t
T.remove_from(src, user)
else
- to_chat(user, "There are no trophies on [src].")
+ to_chat(user, span_warning("There are no trophies on [src]."))
else if(istype(I, /obj/item/crusher_trophy))
var/obj/item/crusher_trophy/T = I
T.add_to(src, user)
@@ -81,7 +81,7 @@
/obj/item/kinetic_crusher/attack(mob/living/target, mob/living/carbon/user)
if(!wielded)
- to_chat(user, "[src] is too heavy to use with one hand! You fumble and drop everything.")
+ to_chat(user, span_warning("[src] is too heavy to use with one hand! You fumble and drop everything."))
user.drop_all_held_items()
return
var/datum/status_effect/crusher_damage/C = target.has_status_effect(STATUS_EFFECT_CRUSHERDAMAGETRACKING)
@@ -212,7 +212,7 @@
/obj/item/crusher_trophy/examine(mob/living/user)
. = ..()
- . += "Causes [effect_desc()] when attached to a kinetic crusher."
+ . += span_notice("Causes [effect_desc()] when attached to a kinetic crusher.")
/obj/item/crusher_trophy/proc/effect_desc()
return "errors"
@@ -227,12 +227,12 @@
for(var/t in H.trophies)
var/obj/item/crusher_trophy/T = t
if(istype(T, denied_type) || istype(src, T.denied_type))
- to_chat(user, "You can't seem to attach [src] to [H]. Maybe remove a few trophies?")
+ to_chat(user, span_warning("You can't seem to attach [src] to [H]. Maybe remove a few trophies?"))
return FALSE
if(!user.transferItemToLoc(src, H))
return
H.trophies += src
- to_chat(user, "You attach [src] to [H].")
+ to_chat(user, span_notice("You attach [src] to [H]."))
return TRUE
/obj/item/crusher_trophy/proc/remove_from(obj/item/kinetic_crusher/H, mob/living/user)
diff --git a/code/modules/mining/equipment/lazarus_injector.dm b/code/modules/mining/equipment/lazarus_injector.dm
index 7e02a012ac4..ba1991263fb 100644
--- a/code/modules/mining/equipment/lazarus_injector.dm
+++ b/code/modules/mining/equipment/lazarus_injector.dm
@@ -23,7 +23,7 @@
if(isanimal(target))
var/mob/living/simple_animal/M = target
if(M.sentience_type != revive_type)
- to_chat(user, "[src] does not work on this sort of creature.")
+ to_chat(user, span_info("[src] does not work on this sort of creature."))
return
if(M.stat == DEAD)
M.faction = list("neutral")
@@ -39,16 +39,16 @@
else
H.attack_same = 0
loaded = 0
- user.visible_message("[user] injects [M] with [src], reviving it.")
+ user.visible_message(span_notice("[user] injects [M] with [src], reviving it."))
SSblackbox.record_feedback("tally", "lazarus_injector", 1, M.type)
playsound(src,'sound/effects/refill.ogg',50,TRUE)
icon_state = "lazarus_empty"
return
else
- to_chat(user, "[src] is only effective on the dead.")
+ to_chat(user, span_info("[src] is only effective on the dead."))
return
else
- to_chat(user, "[src] is only effective on lesser beings.")
+ to_chat(user, span_info("[src] is only effective on lesser beings."))
return
/obj/item/lazarus_injector/emp_act()
@@ -61,6 +61,6 @@
/obj/item/lazarus_injector/examine(mob/user)
. = ..()
if(!loaded)
- . += "[src] is empty."
+ . += span_info("[src] is empty.")
if(malfunctioning)
- . += "The display on [src] seems to be flickering."
+ . += span_info("The display on [src] seems to be flickering.")
diff --git a/code/modules/mining/equipment/marker_beacons.dm b/code/modules/mining/equipment/marker_beacons.dm
index a9f3235c29c..d49744c438a 100644
--- a/code/modules/mining/equipment/marker_beacons.dm
+++ b/code/modules/mining/equipment/marker_beacons.dm
@@ -48,13 +48,13 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list(
/obj/item/stack/marker_beacon/attack_self(mob/user)
if(!isturf(user.loc))
- to_chat(user, "You need more space to place a [singular_name] here.")
+ to_chat(user, span_warning("You need more space to place a [singular_name] here."))
return
if(locate(/obj/structure/marker_beacon) in user.loc)
- to_chat(user, "There is already a [singular_name] here.")
+ to_chat(user, span_warning("There is already a [singular_name] here."))
return
if(use(1))
- to_chat(user, "You activate and anchor [amount ? "a":"the"] [singular_name] in place.")
+ to_chat(user, span_notice("You activate and anchor [amount ? "a":"the"] [singular_name] in place."))
playsound(user, 'sound/machines/click.ogg', 50, TRUE)
var/obj/structure/marker_beacon/M = new(user.loc, picked_color)
transfer_fingerprints_to(M)
@@ -99,7 +99,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list(
/obj/structure/marker_beacon/examine(mob/user)
. = ..()
- . += "Alt-click to select a color. Current color is [picked_color]."
+ . += span_notice("Alt-click to select a color. Current color is [picked_color].")
/obj/structure/marker_beacon/update_appearance(updates)
while(!picked_color || !GLOB.marker_beacon_colors[picked_color])
@@ -116,7 +116,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list(
. = ..()
if(.)
return
- to_chat(user, "You start picking [src] up...")
+ to_chat(user, span_notice("You start picking [src] up..."))
if(do_after(user, remove_speed, target = src))
var/obj/item/stack/marker_beacon/M = new(loc)
M.picked_color = picked_color
@@ -129,7 +129,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list(
/obj/structure/marker_beacon/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/stack/marker_beacon))
var/obj/item/stack/marker_beacon/M = I
- to_chat(user, "You start picking [src] up...")
+ to_chat(user, span_notice("You start picking [src] up..."))
if(do_after(user, remove_speed, target = src) && M.amount + 1 <= M.max_amount)
M.add(1)
playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)
@@ -138,7 +138,7 @@ GLOBAL_LIST_INIT(marker_beacon_colors, sortList(list(
if(istype(I, /obj/item/light_eater))
var/obj/effect/decal/cleanable/ash/A = new /obj/effect/decal/cleanable/ash(drop_location())
A.desc += "\nLooks like this used to be \a [src] some time ago."
- visible_message("[src] is disintegrated by [I]!")
+ visible_message(span_danger("[src] is disintegrated by [I]!"))
playsound(src, 'sound/items/welder.ogg', 50, TRUE)
qdel(src)
return
diff --git a/code/modules/mining/equipment/mining_tools.dm b/code/modules/mining/equipment/mining_tools.dm
index 7a74f3a3c54..c564b647cab 100644
--- a/code/modules/mining/equipment/mining_tools.dm
+++ b/code/modules/mining/equipment/mining_tools.dm
@@ -20,10 +20,10 @@
attack_verb_simple = list("hit", "pierce", "slice", "attack")
/obj/item/pickaxe/suicide_act(mob/living/user)
- user.visible_message("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins digging into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!"))
if(use_tool(user, user, 30, volume=50))
return BRUTELOSS
- user.visible_message("[user] couldn't do it!")
+ user.visible_message(span_suicide("[user] couldn't do it!"))
return SHAME
/obj/item/pickaxe/rusted
@@ -144,10 +144,10 @@
AddComponent(/datum/component/butchering, 150, 40) //it's sharp, so it works, but barely.
/obj/item/shovel/suicide_act(mob/living/user)
- user.visible_message("[user] begins digging their own grave! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins digging their own grave! It looks like [user.p_theyre()] trying to commit suicide!"))
if(use_tool(user, user, 30, volume=50))
return BRUTELOSS
- user.visible_message("[user] couldn't do it!")
+ user.visible_message(span_suicide("[user] couldn't do it!"))
return SHAME
/obj/item/shovel/spade
diff --git a/code/modules/mining/equipment/regenerative_core.dm b/code/modules/mining/equipment/regenerative_core.dm
index bb5eb745f61..70785e41c2c 100644
--- a/code/modules/mining/equipment/regenerative_core.dm
+++ b/code/modules/mining/equipment/regenerative_core.dm
@@ -12,11 +12,11 @@
return
var/obj/item/organ/regenerative_core/C = M
if(!istype(C, /obj/item/organ/regenerative_core))
- to_chat(user, "The stabilizer only works on certain types of monster organs, generally regenerative in nature.")
+ to_chat(user, span_warning("The stabilizer only works on certain types of monster organs, generally regenerative in nature."))
return
C.preserved()
- to_chat(user, "You inject the [M] with the stabilizer. It will no longer go inert.")
+ to_chat(user, span_notice("You inject the [M] with the stabilizer. It will no longer go inert."))
qdel(src)
/************************Hivelord core*******************/
@@ -59,7 +59,7 @@
/obj/item/organ/regenerative_core/ui_action_click()
if(inert)
- to_chat(owner, "[src] breaks down as it tries to activate.")
+ to_chat(owner, span_notice("[src] breaks down as it tries to activate."))
else
owner.revive(full_heal = TRUE, admin_revive = FALSE)
qdel(src)
@@ -74,17 +74,17 @@
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(inert)
- to_chat(user, "[src] has decayed and can no longer be used to heal.")
+ to_chat(user, span_notice("[src] has decayed and can no longer be used to heal."))
return
else
if(H.stat == DEAD)
- to_chat(user, "[src] is useless on the dead.")
+ to_chat(user, span_notice("[src] is useless on the dead."))
return
if(H != user)
- H.visible_message("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!")
+ H.visible_message(span_notice("[user] forces [H] to apply [src]... Black tendrils entangle and reinforce [H.p_them()]!"))
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "other"))
else
- to_chat(user, "You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?")
+ to_chat(user, span_notice("You start to smear [src] on yourself. Disgusting tendrils hold you together and allow you to keep moving, but for how long?"))
SSblackbox.record_feedback("nested tally", "hivelord_core", 1, list("[type]", "used", "self"))
H.apply_status_effect(STATUS_EFFECT_REGENERATIVE_CORE)
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "core", /datum/mood_event/healsbadman) //Now THIS is a miner buff (fixed - nerf)
@@ -103,11 +103,11 @@
. = ..()
if(!preserved && !inert)
preserved(TRUE)
- owner.visible_message("[src] stabilizes as it's inserted.")
+ owner.visible_message(span_notice("[src] stabilizes as it's inserted."))
/obj/item/organ/regenerative_core/Remove(mob/living/carbon/M, special = 0)
if(!inert && !special)
- owner.visible_message("[src] rapidly decays as it's removed.")
+ owner.visible_message(span_notice("[src] rapidly decays as it's removed."))
go_inert()
return ..()
diff --git a/code/modules/mining/equipment/resonator.dm b/code/modules/mining/equipment/resonator.dm
index ebfa199fc6a..bf97faf7d59 100644
--- a/code/modules/mining/equipment/resonator.dm
+++ b/code/modules/mining/equipment/resonator.dm
@@ -24,10 +24,10 @@
/obj/item/resonator/attack_self(mob/user)
if(mode == RESONATOR_MODE_AUTO)
- to_chat(user, "You set the resonator's fields to detonate only after you hit one with it.")
+ to_chat(user, span_info("You set the resonator's fields to detonate only after you hit one with it."))
mode = RESONATOR_MODE_MANUAL
else
- to_chat(user, "You set the resonator's fields to automatically detonate after 2 seconds.")
+ to_chat(user, span_info("You set the resonator's fields to automatically detonate after 2 seconds."))
mode = RESONATOR_MODE_AUTO
/obj/item/resonator/proc/CreateResonance(target, mob/user)
@@ -113,7 +113,7 @@
for(var/mob/living/L in T)
if(creator)
log_combat(creator, L, "used a resonator field on", "resonator")
- to_chat(L, "[src] ruptured with you in it!")
+ to_chat(L, span_userdanger("[src] ruptured with you in it!"))
L.apply_damage(resonance_damage, BRUTE)
L.add_movespeed_modifier(/datum/movespeed_modifier/resonance)
addtimer(CALLBACK(L, /mob/proc/remove_movespeed_modifier, /datum/movespeed_modifier/resonance), 10 SECONDS, TIMER_UNIQUE | TIMER_OVERRIDE)
@@ -142,13 +142,13 @@
/obj/item/resonator/upgraded/attack_self(mob/user)
if(mode == RESONATOR_MODE_AUTO)
- to_chat(user, "You set the resonator's fields to detonate only after you hit one with it.")
+ to_chat(user, span_info("You set the resonator's fields to detonate only after you hit one with it."))
mode = RESONATOR_MODE_MANUAL
else if(mode == RESONATOR_MODE_MANUAL)
- to_chat(user, "You set the resonator's fields to work as matrix traps.")
+ to_chat(user, span_info("You set the resonator's fields to work as matrix traps."))
mode = RESONATOR_MODE_MATRIX
else
- to_chat(user, "You set the resonator's fields to automatically detonate after 2 seconds.")
+ to_chat(user, span_info("You set the resonator's fields to automatically detonate after 2 seconds."))
mode = RESONATOR_MODE_AUTO
#undef RESONATOR_MODE_AUTO
diff --git a/code/modules/mining/equipment/survival_pod.dm b/code/modules/mining/equipment/survival_pod.dm
index b81a3477d58..93ad499d6c4 100644
--- a/code/modules/mining/equipment/survival_pod.dm
+++ b/code/modules/mining/equipment/survival_pod.dm
@@ -41,18 +41,18 @@
//Can't grab when capsule is New() because templates aren't loaded then
get_template()
if(!used)
- loc.visible_message("\The [src] begins to shake. Stand back!")
+ loc.visible_message(span_warning("\The [src] begins to shake. Stand back!"))
used = TRUE
sleep(50)
var/turf/deploy_location = get_turf(src)
var/status = template.check_deploy(deploy_location)
switch(status)
if(SHELTER_DEPLOY_BAD_AREA)
- src.loc.visible_message("\The [src] will not function in this area.")
+ src.loc.visible_message(span_warning("\The [src] will not function in this area."))
if(SHELTER_DEPLOY_BAD_TURFS, SHELTER_DEPLOY_ANCHORED_OBJECTS, SHELTER_DEPLOY_OUTSIDE_MAP)
var/width = template.width
var/height = template.height
- src.loc.visible_message("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!")
+ src.loc.visible_message(span_warning("\The [src] doesn't have room to deploy! You need to clear a [width]x[height] area!"))
if(status != SHELTER_DEPLOY_ALLOWED)
used = FALSE
return
@@ -168,8 +168,8 @@
if(flags_1 & NODECONSTRUCT_1)
return TRUE
- user.visible_message("[user] disassembles [src].",
- "You start to disassemble [src]...", "You hear clanking and banging noises.")
+ user.visible_message(span_warning("[user] disassembles [src]."),
+ span_notice("You start to disassemble [src]..."), span_hear("You hear clanking and banging noises."))
if(I.use_tool(src, user, 20, volume=50))
new /obj/item/gps(loc)
qdel(src)
@@ -242,8 +242,8 @@
if(flags_1 & NODECONSTRUCT_1)
return TRUE
- user.visible_message("[user] disassembles [src].",
- "You start to disassemble [src]...", "You hear clanking and banging noises.")
+ user.visible_message(span_warning("[user] disassembles [src]."),
+ span_notice("You start to disassemble [src]..."), span_hear("You hear clanking and banging noises."))
if(I.use_tool(src, user, 20, volume=50))
deconstruct()
return TRUE
diff --git a/code/modules/mining/equipment/wormhole_jaunter.dm b/code/modules/mining/equipment/wormhole_jaunter.dm
index 2cc0df0978f..66be7ab1550 100644
--- a/code/modules/mining/equipment/wormhole_jaunter.dm
+++ b/code/modules/mining/equipment/wormhole_jaunter.dm
@@ -15,14 +15,14 @@
slot_flags = ITEM_SLOT_BELT
/obj/item/wormhole_jaunter/attack_self(mob/user)
- user.visible_message("[user.name] activates the [src.name]!")
+ user.visible_message(span_notice("[user.name] activates the [src.name]!"))
SSblackbox.record_feedback("tally", "jaunter", 1, "User") // user activated
activate(user, TRUE)
/obj/item/wormhole_jaunter/proc/turf_check(mob/user)
var/turf/device_turf = get_turf(user)
if(!device_turf || is_centcom_level(device_turf.z) || is_reserved_level(device_turf.z))
- to_chat(user, "You're having difficulties getting the [src.name] to work.")
+ to_chat(user, span_notice("You're having difficulties getting the [src.name] to work."))
return FALSE
return TRUE
@@ -42,7 +42,7 @@
var/list/L = get_destinations(user)
if(!L.len)
- to_chat(user, "The [src.name] found no beacons in the world to anchor a wormhole to.")
+ to_chat(user, span_notice("The [src.name] found no beacons in the world to anchor a wormhole to."))
return
var/chosen_beacon = pick(L)
var/obj/effect/portal/jaunt_tunnel/J = new (get_turf(src), 100, null, FALSE, get_turf(chosen_beacon))
@@ -66,17 +66,17 @@
triggered = TRUE
if(triggered)
- M.visible_message("[src] overloads and activates!")
+ M.visible_message(span_warning("[src] overloads and activates!"))
SSblackbox.record_feedback("tally", "jaunter", 1, "EMP") // EMP accidental activation
activate(M)
/obj/item/wormhole_jaunter/proc/chasm_react(mob/user)
if(user.get_item_by_slot(ITEM_SLOT_BELT) == src)
- to_chat(user, "Your [name] activates, saving you from the chasm!")
+ to_chat(user, span_notice("Your [name] activates, saving you from the chasm!"))
SSblackbox.record_feedback("tally", "jaunter", 1, "Chasm") // chasm automatic activation
activate(user, FALSE)
else
- to_chat(user, "[src] is not attached to your belt, preventing it from saving you from the chasm. RIP.")
+ to_chat(user, span_userdanger("[src] is not attached to your belt, preventing it from saving you from the chasm. RIP."))
//jaunter tunnel
/obj/effect/portal/jaunt_tunnel
diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm
index eb464cc0ad7..6ac06558243 100644
--- a/code/modules/mining/fulton.dm
+++ b/code/modules/mining/fulton.dm
@@ -25,7 +25,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
possible_beacons += EP
if(!possible_beacons.len)
- to_chat(user, "There are no extraction beacons in existence!")
+ to_chat(user, span_warning("There are no extraction beacons in existence!"))
return
else
@@ -36,21 +36,21 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
if(!A)
return
beacon = A
- to_chat(user, "You link the extraction pack to the beacon system.")
+ to_chat(user, span_notice("You link the extraction pack to the beacon system."))
/obj/item/extraction_pack/afterattack(atom/movable/A, mob/living/carbon/human/user, flag, params)
. = ..()
if(!beacon)
- to_chat(user, "[src] is not linked to a beacon, and cannot be used!")
+ to_chat(user, span_warning("[src] is not linked to a beacon, and cannot be used!"))
return
if(!(beacon in GLOB.total_extraction_beacons))
beacon = null
- to_chat(user, "The connected beacon has been destroyed!")
+ to_chat(user, span_warning("The connected beacon has been destroyed!"))
return
if(!can_use_indoors)
var/area/area = get_area(A)
if(!area.outdoors)
- to_chat(user, "[src] can only be used on things that are outdoors!")
+ to_chat(user, span_warning("[src] can only be used on things that are outdoors!"))
return
if(!flag)
return
@@ -58,15 +58,15 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons)
return
else
if(!safe_for_living_creatures && check_for_living_mobs(A))
- to_chat(user, "[src] is not safe for use with living creatures, they wouldn't survive the trip back!")
+ to_chat(user, span_warning("[src] is not safe for use with living creatures, they wouldn't survive the trip back!"))
return
if(!isturf(A.loc)) // no extracting stuff inside other stuff
return
if(A.anchored || (A.move_resist > max_force_fulton))
return
- to_chat(user, "You start attaching the pack to [A]...")
+ to_chat(user, span_notice("You start attaching the pack to [A]..."))
if(do_after(user,50,target=A))
- to_chat(user, "You attach the pack to [A] and activate it.")
+ to_chat(user, span_notice("You attach the pack to [A] and activate it."))
if(loc == user && istype(user.back, /obj/item/storage/backpack))
var/obj/item/storage/backpack/B = user.back
SEND_SIGNAL(B, COMSIG_TRY_STORAGE_INSERT, src, user, FALSE, FALSE)
diff --git a/code/modules/mining/laborcamp/laborshuttle.dm b/code/modules/mining/laborcamp/laborshuttle.dm
index cc304e4505c..000be6251d1 100644
--- a/code/modules/mining/laborcamp/laborshuttle.dm
+++ b/code/modules/mining/laborcamp/laborshuttle.dm
@@ -19,10 +19,10 @@
return FALSE
var/obj/docking_port/mobile/M = SSshuttle.getShuttle("laborcamp")
if(!M)
- to_chat(user, "Cannot locate shuttle!")
+ to_chat(user, span_warning("Cannot locate shuttle!"))
return FALSE
var/obj/docking_port/stationary/S = M.get_docked()
if(S?.name == "laborcamp_away")
- to_chat(user, "Shuttle is already at the outpost!")
+ to_chat(user, span_warning("Shuttle is already at the outpost!"))
return FALSE
return TRUE
diff --git a/code/modules/mining/laborcamp/laborstacker.dm b/code/modules/mining/laborcamp/laborstacker.dm
index 26a12b0db49..b5627921e20 100644
--- a/code/modules/mining/laborcamp/laborstacker.dm
+++ b/code/modules/mining/laborcamp/laborstacker.dm
@@ -100,26 +100,26 @@ GLOBAL_LIST(labor_sheet_values)
var/obj/item/card/id/advanced/prisoner/P = I
P.points += stacking_machine.points
stacking_machine.points = 0
- to_chat(M, "Points transferred.")
+ to_chat(M, span_notice("Points transferred."))
return TRUE
else
- to_chat(M, "No valid id for point transfer detected.")
+ to_chat(M, span_alert("No valid id for point transfer detected."))
if("move_shuttle")
if(!alone_in_area(get_area(src), M))
- to_chat(M, "Prisoners are only allowed to be released while alone.")
+ to_chat(M, span_alert("Prisoners are only allowed to be released while alone."))
return
switch(SSshuttle.moveShuttle("laborcamp", "laborcamp_home", TRUE))
if(1)
- to_chat(M, "Shuttle not found.")
+ to_chat(M, span_alert("Shuttle not found."))
if(2)
- to_chat(M, "Shuttle already at station.")
+ to_chat(M, span_alert("Shuttle already at station."))
if(3)
- to_chat(M, "No permission to dock could be granted.")
+ to_chat(M, span_alert("No permission to dock could be granted."))
else
if(!(obj_flags & EMAGGED))
Radio.set_frequency(FREQ_SECURITY)
Radio.talk_into(src, "A prisoner has returned to the station. Minerals and Prisoner ID card ready for retrieval.", FREQ_SECURITY)
- to_chat(M, "Shuttle received message and will be sent shortly.")
+ to_chat(M, span_notice("Shuttle received message and will be sent shortly."))
return TRUE
/obj/machinery/mineral/labor_claim_console/proc/locate_stacking_machine()
@@ -130,7 +130,7 @@ GLOBAL_LIST(labor_sheet_values)
/obj/machinery/mineral/labor_claim_console/emag_act(mob/user)
if(!(obj_flags & EMAGGED))
obj_flags |= EMAGGED
- to_chat(user, "PZZTTPFFFT")
+ to_chat(user, span_warning("PZZTTPFFFT"))
/**********************Prisoner Collection Unit**************************/
@@ -167,11 +167,11 @@ GLOBAL_LIST(labor_sheet_values)
if(istype(I, /obj/item/card/id))
if(istype(I, /obj/item/card/id/advanced/prisoner))
var/obj/item/card/id/advanced/prisoner/prisoner_id = I
- to_chat(user, "ID: [prisoner_id.registered_name]")
- to_chat(user, "Points Collected:[prisoner_id.points]")
- to_chat(user, "Point Quota: [prisoner_id.goal]")
- to_chat(user, "Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release.")
+ to_chat(user, span_notice("ID: [prisoner_id.registered_name]"))
+ to_chat(user, span_notice("Points Collected:[prisoner_id.points]"))
+ to_chat(user, span_notice("Point Quota: [prisoner_id.goal]"))
+ to_chat(user, span_notice("Collect points by bringing smelted minerals to the Labor Shuttle stacking machine. Reach your quota to earn your release."))
else
- to_chat(user, "Error: Invalid ID")
+ to_chat(user, span_warning("Error: Invalid ID"))
else
return ..()
diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm
index baa110b8e0e..c161c87bcbf 100644
--- a/code/modules/mining/lavaland/ash_flora.dm
+++ b/code/modules/mining/lavaland/ash_flora.dm
@@ -41,7 +41,7 @@
msg = harvest_message_low
else if(rand_harvested == harvest_amount_high)
msg = harvest_message_high
- to_chat(user, "[msg]")
+ to_chat(user, span_notice("[msg]"))
for(var/i in 1 to rand_harvested)
new harvest(get_turf(src))
@@ -60,7 +60,7 @@
/obj/structure/flora/ash/attackby(obj/item/W, mob/user, params)
if(!harvested && needs_sharp_harvest && W.get_sharpness())
- user.visible_message("[user] starts to harvest from [src] with [W].","You begin to harvest from [src] with [W].")
+ user.visible_message(span_notice("[user] starts to harvest from [src] with [W]."),span_notice("You begin to harvest from [src] with [W]."))
if(do_after(user, harvest_time, target = src))
harvest(user)
else
@@ -71,7 +71,7 @@
if(.)
return
if(!harvested && !needs_sharp_harvest)
- user.visible_message("[user] starts to harvest from [src].","You begin to harvest from [src].")
+ user.visible_message(span_notice("[user] starts to harvest from [src]."),span_notice("You begin to harvest from [src]."))
if(do_after(user, harvest_time, target = src))
harvest(user)
diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm
index 6aa3404dffe..7edc0b11cb8 100644
--- a/code/modules/mining/lavaland/necropolis_chests.dm
+++ b/code/modules/mining/lavaland/necropolis_chests.dm
@@ -79,7 +79,7 @@
new /obj/item/clothing/neck/necklace/memento_mori(src)
spawned_loot = TRUE
qdel(item)
- to_chat(user, "You disable the magic lock, revealing the loot.")
+ to_chat(user, span_notice("You disable the magic lock, revealing the loot."))
return TRUE
/obj/structure/closet/crate/necropolis/tendril/can_open(mob/living/user, force = FALSE)
@@ -165,15 +165,15 @@
if(activated)
return
if(!iscarbon(user))
- to_chat(user, "The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath.")
+ to_chat(user, span_warning("The snake carving seems to come alive, if only for a moment, before returning to its dormant state, almost as if it finds you incapable of holding its oath."))
return
var/mob/living/carbon/itemUser = user
usedHand = itemUser.get_held_index_of_item(src)
if(itemUser.has_status_effect(STATUS_EFFECT_HIPPOCRATIC_OATH))
- to_chat(user, "You can't possibly handle the responsibility of more than one rod!")
+ to_chat(user, span_warning("You can't possibly handle the responsibility of more than one rod!"))
return
- var/failText = "The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!"
- to_chat(itemUser, "The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong...")
+ var/failText = span_warning("The snake seems unsatisfied with your incomplete oath and returns to its previous place on the rod, returning to its dormant, wooden state. You must stand still while completing your oath!")
+ to_chat(itemUser, span_notice("The wooden snake that was carved into the rod seems to suddenly come alive and begins to slither down your arm! The compulsion to help others grows abnormally strong..."))
if(do_after(itemUser, 40, target = itemUser))
itemUser.say("I swear to fulfill, to the best of my ability and judgment, this covenant:", forced = "hippocratic oath")
else
@@ -194,7 +194,7 @@
else
to_chat(itemUser, failText)
return
- to_chat(itemUser, "The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory...")
+ to_chat(itemUser, span_notice("The snake, satisfied with your oath, attaches itself and the rod to your forearm with an inseparable grip. Your thoughts seem to only revolve around the core idea of helping others, and harm is nothing more than a distant, wicked memory..."))
var/datum/status_effect/hippocratic_oath/effect = itemUser.apply_status_effect(STATUS_EFFECT_HIPPOCRATIC_OATH)
effect.hand = usedHand
activated()
@@ -232,9 +232,9 @@
return ..()
/obj/item/clothing/neck/necklace/memento_mori/proc/memento(mob/living/carbon/human/user)
- to_chat(user, "You feel your life being drained by the pendant...")
+ to_chat(user, span_warning("You feel your life being drained by the pendant..."))
if(do_after(user, 40, target = user))
- to_chat(user, "Your lifeforce is now linked to the pendant! You feel like removing it would kill you, and yet you instinctively know that until then, you won't die.")
+ to_chat(user, span_notice("Your lifeforce is now linked to the pendant! You feel like removing it would kill you, and yet you instinctively know that until then, you won't die."))
ADD_TRAIT(user, TRAIT_NODEATH, CLOTHING_TRAIT)
ADD_TRAIT(user, TRAIT_NOHARDCRIT, CLOTHING_TRAIT)
ADD_TRAIT(user, TRAIT_NOCRITDAMAGE, CLOTHING_TRAIT)
@@ -247,7 +247,7 @@
return
var/mob/living/carbon/human/H = active_owner //to avoid infinite looping when dust unequips the pendant
active_owner = null
- to_chat(H, "You feel your life rapidly slipping away from you!")
+ to_chat(H, span_userdanger("You feel your life rapidly slipping away from you!"))
H.dust(TRUE, TRUE)
/datum/action/item_action/hands_free/memento_mori
@@ -275,18 +275,18 @@
/obj/item/wisp_lantern/attack_self(mob/user)
if(!wisp)
- to_chat(user, "The wisp has gone missing!")
+ to_chat(user, span_warning("The wisp has gone missing!"))
icon_state = "lantern"
return
if(wisp.loc == src)
- to_chat(user, "You release the wisp. It begins to bob around your head.")
+ to_chat(user, span_notice("You release the wisp. It begins to bob around your head."))
icon_state = "lantern"
wisp.orbit(user, 20)
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Freed")
else
- to_chat(user, "You return the wisp to the lantern.")
+ to_chat(user, span_notice("You return the wisp to the lantern."))
icon_state = "lantern-blue"
wisp.forceMove(src)
SSblackbox.record_feedback("tally", "wisp_lantern", 1, "Returned")
@@ -300,7 +300,7 @@
if(wisp.loc == src)
qdel(wisp)
else
- wisp.visible_message("[wisp] has a sad feeling for a moment, then it passes.")
+ wisp.visible_message(span_notice("[wisp] has a sad feeling for a moment, then it passes."))
return ..()
/obj/effect/wisp
@@ -321,13 +321,13 @@
RegisterSignal(thing, COMSIG_MOB_UPDATE_SIGHT, .proc/update_user_sight)
var/mob/being = thing
being.update_sight()
- to_chat(thing, "The wisp enhances your vision.")
+ to_chat(thing, span_notice("The wisp enhances your vision."))
/obj/effect/wisp/stop_orbit(datum/component/orbiter/orbits)
. = ..()
if(ismob(orbits.parent))
UnregisterSignal(orbits.parent, COMSIG_MOB_UPDATE_SIGHT)
- to_chat(orbits.parent, "Your vision returns to normal.")
+ to_chat(orbits.parent, span_notice("Your vision returns to normal."))
/obj/effect/wisp/proc/update_user_sight(mob/user)
SIGNAL_HANDLER
@@ -355,7 +355,7 @@
var/turf/current_location = get_turf(user)
var/area/current_area = current_location.loc
if(!linked || (current_area.area_flags & NOTELEPORT))
- to_chat(user, "[src] fizzles uselessly.")
+ to_chat(user, span_warning("[src] fizzles uselessly."))
return
if(teleporting)
return
@@ -419,7 +419,7 @@
force = 18
/obj/item/gun/magic/hook/shoot_with_empty_chamber(mob/living/user)
- to_chat(user, "[src] isn't ready to fire yet!")
+ to_chat(user, span_warning("[src] isn't ready to fire yet!"))
/obj/item/ammo_casing/magic/hook
name = "hook"
@@ -454,7 +454,7 @@
var/atom/movable/A = target
if(A.anchored)
return
- A.visible_message("[A] is snagged by [firer]'s hook!")
+ A.visible_message(span_danger("[A] is snagged by [firer]'s hook!"))
new /datum/forced_movement(A, get_turf(firer), 5, TRUE)
if (isliving(target))
var/mob/living/fresh_meat = target
@@ -502,7 +502,7 @@
cooldown = world.time + 600
new /obj/effect/immortality_talisman(get_turf(user), user)
else
- to_chat(user, "[src] is not ready yet!")
+ to_chat(user, span_warning("[src] is not ready yet!"))
/obj/effect/immortality_talisman
name = "hole in reality"
@@ -518,7 +518,7 @@
vanish(new_user)
/obj/effect/immortality_talisman/proc/vanish(mob/user)
- user.visible_message("[user] [vanish_description], leaving a hole in [user.p_their()] place!")
+ user.visible_message(span_danger("[user] [vanish_description], leaving a hole in [user.p_their()] place!"))
desc = "It's shaped an awful lot like [user.name]."
setDir(user.dir)
@@ -536,7 +536,7 @@
user.notransform = FALSE
user.forceMove(get_turf(src))
- user.visible_message("[user] pops back into reality!")
+ user.visible_message(span_danger("[user] pops back into reality!"))
can_destroy = TRUE
qdel(src)
@@ -598,7 +598,7 @@
/obj/item/book_of_babel/attack_self(mob/user)
if(!user.can_read(src))
return FALSE
- to_chat(user, "You flip through the pages of the book, quickly and conveniently learning every language in existence. Somewhat less conveniently, the aging book crumbles to dust in the process. Whoops.")
+ to_chat(user, span_notice("You flip through the pages of the book, quickly and conveniently learning every language in existence. Somewhat less conveniently, the aging book crumbles to dust in the process. Whoops."))
user.grant_all_languages()
new /obj/effect/decal/cleanable/ash(get_turf(user))
qdel(src)
@@ -631,10 +631,10 @@
var/holycheck = ishumanbasic(exposed_carbon)
if(reac_volume < 5 || !(holycheck || islizard(exposed_carbon) || (ismoth(exposed_carbon) && exposed_carbon.dna.features["moth_wings"] != "Burnt Off"))) // implying xenohumans are holy //as with all things,
if((methods & INGEST) && show_message)
- to_chat(exposed_carbon, "You feel nothing but a terrible aftertaste.")
+ to_chat(exposed_carbon, span_notice("You feel nothing but a terrible aftertaste."))
return
if(exposed_carbon.dna.species.has_innate_wings)
- to_chat(exposed_carbon, "A terrible pain travels down your back as your wings change shape!")
+ to_chat(exposed_carbon, span_userdanger("A terrible pain travels down your back as your wings change shape!"))
if(!exposed_carbon.dna.features["original_moth_wings"]) //Stores their wings for later possible reconstruction
exposed_carbon.dna.features["original_moth_wings"] = exposed_carbon.dna.features["moth_wings"]
exposed_carbon.dna.features["moth_wings"] = "None"
@@ -642,10 +642,10 @@
exposed_carbon.dna.features["original_moth_antennae"] = exposed_carbon.dna.features["moth_antennae"]
exposed_carbon.dna.features["moth_antennae"] = "Regal"
else
- to_chat(exposed_carbon, "A terrible pain travels down your back as wings burst out!")
+ to_chat(exposed_carbon, span_userdanger("A terrible pain travels down your back as wings burst out!"))
exposed_carbon.dna.species.GiveSpeciesFlight(exposed_carbon)
if(holycheck)
- to_chat(exposed_carbon, "You feel blessed!")
+ to_chat(exposed_carbon, span_notice("You feel blessed!"))
ADD_TRAIT(exposed_carbon, TRAIT_HOLY, SPECIES_TRAIT)
playsound(exposed_carbon.loc, 'sound/items/poster_ripped.ogg', 50, TRUE, -1)
exposed_carbon.adjustBruteLoss(20)
@@ -662,7 +662,7 @@
var/turf/T = get_turf(src)
var/ladder_x = T.x
var/ladder_y = T.y
- to_chat(user, "You unfold the ladder. It extends much farther than you were expecting.")
+ to_chat(user, span_notice("You unfold the ladder. It extends much farther than you were expecting."))
var/last_ladder = null
for(var/i in 1 to world.maxz)
if(is_centcom_level(i) || is_reserved_level(i) || is_away_level(i))
@@ -757,7 +757,7 @@
"Transforming it immediately after an attack causes the next attack to come out faster."
/obj/item/melee/transforming/cleaving_saw/suicide_act(mob/user)
- user.visible_message("[user] is [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 [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
@@ -773,14 +773,14 @@
/obj/item/melee/transforming/cleaving_saw/transform_messages(mob/living/user, supress_message_text)
if(!supress_message_text)
if(active)
- 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."))
else
- 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."))
playsound(user, 'sound/magic/clockwork/fellowship_armory.ogg', 35, TRUE, frequency = 90000 - (active * 30000))
/obj/item/melee/transforming/cleaving_saw/clumsy_transform_effect(mob/living/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_bodypart_damage(10)
/obj/item/melee/transforming/cleaving_saw/melee_attack_chain(mob/user, atom/target, params)
@@ -875,9 +875,9 @@
/obj/item/melee/ghost_sword/attack_self(mob/user)
if(summon_cooldown > world.time)
- to_chat(user, "You just recently called out for aid. You don't want to annoy the spirits!")
+ to_chat(user, span_warning("You just recently called out for aid. You don't want to annoy the spirits!"))
return
- to_chat(user, "You call out for aid, attempting to summon spirits to your side.")
+ to_chat(user, span_notice("You call out for aid, attempting to summon spirits to your side."))
notify_ghosts("[user] is raising [user.p_their()] [src], calling for your help!",
enter_link="(Click to help)",
@@ -923,13 +923,13 @@
var/ghost_counter = ghost_check()
force = clamp((ghost_counter * 4), 0, 75)
- user.visible_message("[user] strikes with the force of [ghost_counter] vengeful spirits!")
+ user.visible_message(span_danger("[user] strikes with the force of [ghost_counter] vengeful spirits!"))
..()
/obj/item/melee/ghost_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)
var/ghost_counter = ghost_check()
final_block_chance += clamp((ghost_counter * 5), 0, 75)
- owner.visible_message("[owner] is protected by a ring of [ghost_counter] ghosts!")
+ owner.visible_message(span_danger("[owner] is protected by a ring of [ghost_counter] ghosts!"))
return ..()
//Blood
@@ -949,20 +949,20 @@
switch(random)
if(1)
- to_chat(user, "Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities.")
+ to_chat(user, span_danger("Your appearance morphs to that of a very small humanoid ash dragon! You get to look like a freak without the cool abilities."))
H.dna.features = list("mcolor" = "A02720", "tail_lizard" = "Dark Tiger", "tail_human" = "None", "snout" = "Sharp", "horns" = "Curled", "ears" = "None", "wings" = "None", "frills" = "None", "spines" = "Long", "body_markings" = "Dark Tiger Body", "legs" = "Digitigrade Legs")
H.eye_color = "fee5a3"
H.set_species(/datum/species/lizard)
if(2)
- to_chat(user, "Your flesh begins to melt! Miraculously, you seem fine otherwise.")
+ to_chat(user, span_danger("Your flesh begins to melt! Miraculously, you seem fine otherwise."))
H.set_species(/datum/species/skeleton)
if(3)
- to_chat(user, "Power courses through you! You can now shift your form at will.")
+ to_chat(user, span_danger("Power courses through you! You can now shift your form at will."))
if(user.mind)
var/obj/effect/proc_holder/spell/targeted/shapeshift/dragon/D = new
user.mind.AddSpell(D)
if(4)
- to_chat(user, "You feel like you could walk straight through lava now.")
+ to_chat(user, span_danger("You feel like you could walk straight through lava now."))
LAZYOR(H.weather_immunities, "lava")
playsound(user.loc,'sound/items/drink.ogg', rand(10,50), TRUE)
@@ -1028,12 +1028,12 @@
var/obj/effect/temp_visual/lavastaff/L = new /obj/effect/temp_visual/lavastaff(T)
L.alpha = 0
animate(L, alpha = 255, time = create_delay)
- user.visible_message("[user] points [src] at [T]!")
+ user.visible_message(span_danger("[user] points [src] at [T]!"))
timer = world.time + create_delay + 1
if(do_after(user, create_delay, target = T))
var/old_name = T.name
if(T.TerraformTurf(turf_type, flags = CHANGETURF_INHERIT_AIR))
- user.visible_message("[user] turns \the [old_name] into [transform_string]!")
+ user.visible_message(span_danger("[user] turns \the [old_name] into [transform_string]!"))
message_admins("[ADMIN_LOOKUPFLW(user)] fired the lava staff at [ADMIN_VERBOSEJMP(T)]")
log_game("[key_name(user)] fired the lava staff at [AREACOORD(T)].")
timer = world.time + create_cooldown
@@ -1044,7 +1044,7 @@
else
var/old_name = T.name
if(T.TerraformTurf(reset_turf_type, flags = CHANGETURF_INHERIT_AIR))
- user.visible_message("[user] turns \the [old_name] into [reset_string]!")
+ user.visible_message(span_danger("[user] turns \the [old_name] into [reset_string]!"))
timer = world.time + reset_cooldown
playsound(T,'sound/magic/fireball.ogg', 200, TRUE)
@@ -1082,9 +1082,9 @@
/obj/item/mayhem/attack_self(mob/user)
for(var/mob/living/carbon/human/H in range(7,user))
H.apply_status_effect(STATUS_EFFECT_MAYHEM)
- to_chat(user, "You shatter the bottle!")
+ to_chat(user, span_notice("You shatter the bottle!"))
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE)
- message_admins("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!")
+ message_admins(span_adminnotice("[ADMIN_LOOKUPFLW(user)] has activated a bottle of mayhem!"))
user.log_message("activated a bottle of mayhem", LOG_ATTACK)
qdel(src)
@@ -1124,7 +1124,7 @@
/datum/action/innate/dash/hierophant/Teleport(mob/user, atom/target)
var/dist = get_dist(user, target)
if(dist > HIEROPHANT_BLINK_RANGE)
- to_chat(user, "Blink destination out of range.")
+ to_chat(user, span_hierophant_warning("Blink destination out of range."))
return
. = ..()
@@ -1146,7 +1146,7 @@
if(recharge_sound)
playsound(dashing_item, recharge_sound, 50, TRUE)
- to_chat(owner, "[src] now has [current_charges]/[max_charges] charges.")
+ to_chat(owner, span_notice("[src] now has [current_charges]/[max_charges] charges."))
/obj/item/hierophant_club
name = "hierophant club"
@@ -1192,14 +1192,14 @@
/obj/item/hierophant_club/examine(mob/user)
. = ..()
- . += "The[beacon ? " beacon is not currently":"re is a beacon"] attached."
+ . += span_hierophant_warning("The[beacon ? " beacon is not currently":"re is a beacon"] attached.")
/obj/item/hierophant_club/suicide_act(mob/living/user)
say("Xverwpsgexmrk...", forced = "hierophant club suicide")
- user.visible_message("[user] holds [src] into the air! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] holds [src] into the air! It looks like [user.p_theyre()] trying to commit suicide!"))
new/obj/effect/temp_visual/hierophant/telegraph(get_turf(user))
playsound(user,'sound/machines/airlockopen.ogg', 75, TRUE)
- user.visible_message("[user] fades out, leaving [user.p_their()] belongings behind!")
+ user.visible_message(span_hierophant_warning("[user] fades out, leaving [user.p_their()] belongings behind!"))
for(var/obj/item/I in user)
if(I != src)
user.dropItemToGround(I)
@@ -1210,7 +1210,7 @@
/obj/item/hierophant_club/attack_self(mob/user)
blink_activated = !blink_activated
- to_chat(user, "You [blink_activated ? "enable" : "disable"] the blink function on [src].")
+ to_chat(user, span_notice("You [blink_activated ? "enable" : "disable"] the blink function on [src]."))
/obj/item/hierophant_club/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
@@ -1226,37 +1226,37 @@
/obj/item/hierophant_club/ui_action_click(mob/user, action)
if(!user.is_holding(src)) //you need to hold the staff to teleport
- to_chat(user, "You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!")
+ to_chat(user, span_warning("You need to hold the club in your hands to [beacon ? "teleport with it":"detach the beacon"]!"))
return
if(!beacon || QDELETED(beacon))
if(isturf(user.loc))
- user.visible_message("[user] starts fiddling with [src]'s pommel...", \
- "You start detaching the hierophant beacon...")
+ user.visible_message(span_hierophant_warning("[user] starts fiddling with [src]'s pommel..."), \
+ span_notice("You start detaching the hierophant beacon..."))
if(do_after(user, 50, target = user) && !beacon)
var/turf/T = get_turf(user)
playsound(T,'sound/magic/blind.ogg', 200, TRUE, -4)
new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, user)
beacon = new/obj/effect/hierophant(T)
user.update_action_buttons_icon()
- user.visible_message("[user] places a strange machine beneath [user.p_their()] feet!", \
- "You detach the hierophant beacon, allowing you to teleport yourself and any allies to it at any time!\n\
- You can remove the beacon to place it again by striking it with the club.")
+ user.visible_message(span_hierophant_warning("[user] places a strange machine beneath [user.p_their()] feet!"), \
+ "[span_hierophant("You detach the hierophant beacon, allowing you to teleport yourself and any allies to it at any time!")]\n\
+ [span_notice("You can remove the beacon to place it again by striking it with the club.")]")
else
- to_chat(user, "You need to be on solid ground to detach the beacon!")
+ to_chat(user, span_warning("You need to be on solid ground to detach the beacon!"))
return
if(get_dist(user, beacon) <= 2) //beacon too close abort
- to_chat(user, "You are too close to the beacon to teleport to it!")
+ to_chat(user, span_warning("You are too close to the beacon to teleport to it!"))
return
var/turf/beacon_turf = get_turf(beacon)
if(beacon_turf?.is_blocked_turf(TRUE))
- to_chat(user, "The beacon is blocked by something, preventing teleportation!")
+ to_chat(user, span_warning("The beacon is blocked by something, preventing teleportation!"))
return
if(!isturf(user.loc))
- to_chat(user, "You don't have enough space to teleport from here!")
+ to_chat(user, span_warning("You don't have enough space to teleport from here!"))
return
teleporting = TRUE //start channel
user.update_action_buttons_icon()
- user.visible_message("[user] starts to glow faintly...")
+ user.visible_message(span_hierophant_warning("[user] starts to glow faintly..."))
beacon.icon_state = "hierophant_tele_on"
var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc)
var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc)
@@ -1265,7 +1265,7 @@
var/turf/source = get_turf(user)
if(T.is_blocked_turf(TRUE))
teleporting = FALSE
- to_chat(user, "The beacon is blocked by something, preventing teleportation!")
+ to_chat(user, span_warning("The beacon is blocked by something, preventing teleportation!"))
user.update_action_buttons_icon()
beacon.icon_state = "hierophant_tele_off"
return
@@ -1282,7 +1282,7 @@
return
if(T.is_blocked_turf(TRUE))
teleporting = FALSE
- to_chat(user, "The beacon is blocked by something, preventing teleportation!")
+ to_chat(user, span_warning("The beacon is blocked by something, preventing teleportation!"))
user.update_action_buttons_icon()
beacon.icon_state = "hierophant_tele_off"
return
@@ -1315,7 +1315,7 @@
sleep(1)
if(!M)
return
- M.visible_message("[M] fades out!")
+ M.visible_message(span_hierophant_warning("[M] fades out!"))
sleep(2)
if(!M)
return
@@ -1327,7 +1327,7 @@
sleep(1)
if(!M)
return
- M.visible_message("[M] fades in!")
+ M.visible_message(span_hierophant_warning("[M] fades in!"))
if(user != M && success)
log_combat(user, M, "teleported", null, "from [AREACOORD(source)]")
diff --git a/code/modules/mining/lavaland/ruins/gym.dm b/code/modules/mining/lavaland/ruins/gym.dm
index ed6eb332cf5..63e113a6a93 100644
--- a/code/modules/mining/lavaland/ruins/gym.dm
+++ b/code/modules/mining/lavaland/ruins/gym.dm
@@ -35,7 +35,7 @@
if(.)
return
if(obj_flags & IN_USE)
- to_chat(user, "It's already in use - wait a bit!")
+ to_chat(user, span_warning("It's already in use - wait a bit!"))
return
else
obj_flags |= IN_USE
diff --git a/code/modules/mining/machine_redemption.dm b/code/modules/mining/machine_redemption.dm
index 2f0f4534693..555b74ea82f 100644
--- a/code/modules/mining/machine_redemption.dm
+++ b/code/modules/mining/machine_redemption.dm
@@ -38,9 +38,9 @@
/obj/machinery/mineral/ore_redemption/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Smelting [ore_multiplier] sheet(s) per piece of ore.
Reward point generation at [point_upgrade*100]%."
+ . += span_notice("The status display reads: Smelting [ore_multiplier] sheet(s) per piece of ore.
Reward point generation at [point_upgrade*100]%.")
if(panel_open)
- . += "Alt-click to rotate the input and output direction."
+ . += span_notice("Alt-click to rotate the input and output direction.")
/obj/machinery/mineral/ore_redemption/proc/smelt_ore(obj/item/stack/ore/O)
if(QDELETED(O))
@@ -180,7 +180,7 @@
var/obj/item/stack/ore/O = W
if(istype(O))
if(O.refined_type == null)
- to_chat(user, "[O] has already been refined!")
+ to_chat(user, span_warning("[O] has already been refined!"))
return
return ..()
@@ -192,7 +192,7 @@
if(panel_open)
input_dir = turn(input_dir, -90)
output_dir = turn(output_dir, -90)
- to_chat(user, "You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)].")
+ to_chat(user, span_notice("You change [src]'s I/O settings, setting the input to [dir2text(input_dir)] and the output to [dir2text(output_dir)]."))
unregister_input_turf() // someone just rotated the input and output directions, unregister the old turf
register_input_turf() // register the new one
return TRUE
@@ -257,17 +257,17 @@
I.mining_points += points
points = 0
else
- to_chat(usr, "No valid ID detected.")
+ to_chat(usr, span_warning("No valid ID detected."))
else
- to_chat(usr, "No points to claim.")
+ to_chat(usr, span_warning("No points to claim."))
return TRUE
if("Release")
if(!mat_container)
return
if(materials.on_hold())
- to_chat(usr, "Mineral access is on hold, please contact the quartermaster.")
+ to_chat(usr, span_warning("Mineral access is on hold, please contact the quartermaster."))
else if(!allowed(usr)) //Check the ID inside, otherwise check the user
- to_chat(usr, "Required access not found.")
+ to_chat(usr, span_warning("Required access not found."))
else
var/datum/material/mat = locate(params["id"])
@@ -301,7 +301,7 @@
return
inserted_disk = disk
else
- to_chat(usr, "Not a valid Design Disk!")
+ to_chat(usr, span_warning("Not a valid Design Disk!"))
return TRUE
if("diskEject")
if(inserted_disk)
@@ -317,7 +317,7 @@
if(!mat_container)
return
if(materials.on_hold())
- to_chat(usr, "Mineral access is on hold, please contact the quartermaster.")
+ to_chat(usr, span_warning("Mineral access is on hold, please contact the quartermaster."))
return
var/alloy_id = params["id"]
var/datum/design/alloy = stored_research.isDesignResearchedID(alloy_id)
@@ -342,7 +342,7 @@
output = new alloy.build_path(src)
unload_mineral(output)
else
- to_chat(usr, "Required access not found.")
+ to_chat(usr, span_warning("Required access not found."))
return TRUE
/obj/machinery/mineral/ore_redemption/ex_act(severity, target)
diff --git a/code/modules/mining/machine_silo.dm b/code/modules/mining/machine_silo.dm
index 4e318f0cce0..63864b5e9a2 100644
--- a/code/modules/mining/machine_silo.dm
+++ b/code/modules/mining/machine_silo.dm
@@ -55,11 +55,11 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
if(I.item_flags & ABSTRACT)
return
if(!istype(I) || (I.flags_1 & HOLOGRAM_1) || (I.item_flags & NO_MAT_REDEMPTION))
- to_chat(user, "[M] won't accept [I]!")
+ to_chat(user, span_warning("[M] won't accept [I]!"))
return
var/item_mats = materials.get_item_material_amount(I, breakdown_flags)
if(!item_mats)
- to_chat(user, "[I] does not contain sufficient materials to be accepted by [M].")
+ to_chat(user, span_warning("[I] does not contain sufficient materials to be accepted by [M]."))
return
// assumes unlimited space...
var/amount = I.amount
@@ -183,7 +183,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
/obj/machinery/ore_silo/multitool_act(mob/living/user, obj/item/multitool/I)
. = ..()
if (istype(I))
- to_chat(user, "You log [src] in the multitool's buffer.")
+ to_chat(user, span_notice("You log [src] in the multitool's buffer."))
I.buffer = src
return TRUE
@@ -203,7 +203,7 @@ GLOBAL_LIST_EMPTY(silo_access_logs)
/obj/machinery/ore_silo/examine(mob/user)
. = ..()
- . += "[src] can be linked to techfabs, circuit printers and protolathes with a multitool."
+ . += span_notice("[src] can be linked to techfabs, circuit printers and protolathes with a multitool.")
/datum/ore_silo_log
var/name // for VV
diff --git a/code/modules/mining/machine_stacking.dm b/code/modules/mining/machine_stacking.dm
index df7aca54119..4808dfee8f3 100644
--- a/code/modules/mining/machine_stacking.dm
+++ b/code/modules/mining/machine_stacking.dm
@@ -29,7 +29,7 @@
return
var/obj/item/multitool/M = I
M.buffer = src
- to_chat(user, "You store linkage information in [I]'s buffer.")
+ to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
return TRUE
/obj/machinery/mineral/stacking_unit_console/ui_interact(mob/user, datum/tgui/ui)
@@ -115,7 +115,7 @@
if(istype(M.buffer, /obj/machinery/mineral/stacking_unit_console))
console = M.buffer
console.machine = src
- to_chat(user, "You link [src] to the console in [M]'s buffer.")
+ to_chat(user, span_notice("You link [src] to the console in [M]'s buffer."))
return TRUE
/obj/machinery/mineral/stacking_machine/proc/process_sheet(obj/item/stack/sheet/inp)
diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm
index d47a978556d..ce002e20c04 100644
--- a/code/modules/mining/machine_vending.dm
+++ b/code/modules/mining/machine_vending.dm
@@ -139,20 +139,20 @@
var/mob/living/L = usr
I = L.get_idcard(TRUE)
if(!istype(I))
- to_chat(usr, "Error: An ID is required!")
+ to_chat(usr, span_alert("Error: An ID is required!"))
flick(icon_deny, src)
return
var/datum/data/mining_equipment/prize = locate(params["ref"]) in prize_list
if(!prize || !(prize in prize_list))
- to_chat(usr, "Error: Invalid choice!")
+ to_chat(usr, span_alert("Error: Invalid choice!"))
flick(icon_deny, src)
return
if(prize.cost > I.mining_points)
- to_chat(usr, "Error: Insufficient points for [prize.equipment_name] on [I]!")
+ to_chat(usr, span_alert("Error: Insufficient points for [prize.equipment_name] on [I]!"))
flick(icon_deny, src)
return
I.mining_points -= prize.cost
- to_chat(usr, "[src] clanks to life briefly before vending [prize.equipment_name]!")
+ to_chat(usr, span_notice("[src] clanks to life briefly before vending [prize.equipment_name]!"))
new prize.equipment_path(loc)
SSblackbox.record_feedback("nested tally", "mining_equipment_bought", 1, list("[type]", "[prize.equipment_path]"))
. = TRUE
@@ -247,15 +247,15 @@
if(points)
var/obj/item/card/id/C = I
C.mining_points += points
- to_chat(user, "You transfer [points] points to [C].")
+ to_chat(user, span_info("You transfer [points] points to [C]."))
points = 0
else
- to_chat(user, "There's no points left on [src].")
+ to_chat(user, span_alert("There's no points left on [src]."))
..()
/obj/item/card/mining_point_card/examine(mob/user)
..()
- to_chat(user, "There's [points] point\s on the card.")
+ to_chat(user, span_alert("There's [points] point\s on the card."))
/obj/item/storage/backpack/duffelbag/mining_conscript
name = "mining conscription kit"
diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm
index afa89bec700..0a2cc85b563 100644
--- a/code/modules/mining/mine_items.dm
+++ b/code/modules/mining/mine_items.dm
@@ -80,7 +80,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/machinery/computer/shuttle/mining/attack_hand(mob/user, list/modifiers)
if(is_station_level(user.z) && user.mind && IS_HEAD_REVOLUTIONARY(user) && !(user.mind in dumb_rev_heads))
- to_chat(user, "You get a feeling that leaving the station might be a REALLY dumb idea...")
+ to_chat(user, span_warning("You get a feeling that leaving the station might be a REALLY dumb idea..."))
dumb_rev_heads += user.mind
return
. = ..()
diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm
index ce1114df22d..fa518b4b62b 100644
--- a/code/modules/mining/minebot.dm
+++ b/code/modules/mining/minebot.dm
@@ -79,34 +79,34 @@
var/t_s = p_s()
if(health < maxHealth)
if(health >= maxHealth * 0.5)
- . += "[t_He] look[t_s] slightly dented."
+ . += span_warning("[t_He] look[t_s] slightly dented.")
else
- . += "[t_He] look[t_s] severely dented!"
+ . += span_boldwarning("[t_He] look[t_s] severely dented!")
. += {"Using a mining scanner on [t_him] will instruct [t_him] to drop stored ore. [max(0, LAZYLEN(contents) - 1)] Stored Ore\n
Field repairs can be done with a welder."}
if(stored_gun?.max_mod_capacity)
. += "[stored_gun.get_remaining_mod_capacity()]% mod capacity remaining."
for(var/obj/item/borg/upgrade/modkit/modkit as anything in stored_gun.modkits)
- . += "There is \a [modkit] installed, using [modkit.cost]% capacity."
+ . += span_notice("There is \a [modkit] installed, using [modkit.cost]% capacity.")
/mob/living/simple_animal/hostile/mining_drone/welder_act(mob/living/user, obj/item/welder)
..()
. = TRUE
if(mode == MINEDRONE_ATTACK)
- to_chat(user, "[src] can't be repaired while in attack mode!")
+ to_chat(user, span_warning("[src] can't be repaired while in attack mode!"))
return
if(maxHealth == health)
- to_chat(user, "[src] is at full integrity.")
+ to_chat(user, span_info("[src] is at full integrity."))
return
if(welder.use_tool(src, user, 0, volume=40))
adjustBruteLoss(-15)
- to_chat(user, "You repair some of the armor on [src].")
+ to_chat(user, span_info("You repair some of the armor on [src]."))
/mob/living/simple_animal/hostile/mining_drone/attackby(obj/item/item_used, mob/user, params)
if(istype(item_used, /obj/item/mining_scanner) || istype(item_used, /obj/item/t_scanner/adv_mining_scanner))
- to_chat(user, "You instruct [src] to drop any collected ore.")
+ to_chat(user, span_info("You instruct [src] to drop any collected ore."))
DropOre()
return
if(item_used.tool_behaviour == TOOL_CROWBAR || istype(item_used, /obj/item/borg/upgrade/modkit))
@@ -130,9 +130,9 @@
toggle_mode()
switch(mode)
if(MINEDRONE_COLLECT)
- to_chat(user, "[src] has been set to search and store loose ore.")
+ to_chat(user, span_info("[src] has been set to search and store loose ore."))
if(MINEDRONE_ATTACK)
- to_chat(user, "[src] has been set to attack hostile wildlife.")
+ to_chat(user, span_info("[src] has been set to attack hostile wildlife."))
return
/mob/living/simple_animal/hostile/mining_drone/CanAllowThrough(atom/movable/object)
@@ -154,7 +154,7 @@
minimum_distance = 1
retreat_distance = null
icon_state = "mining_drone"
- to_chat(src, "You are set to collect mode. You can now collect loose ore.")
+ to_chat(src, span_info("You are set to collect mode. You can now collect loose ore."))
/mob/living/simple_animal/hostile/mining_drone/proc/SetOffenseBehavior()
mode = MINEDRONE_ATTACK
@@ -165,7 +165,7 @@
retreat_distance = 2
minimum_distance = 1
icon_state = "mining_drone_offense"
- to_chat(src, "You are set to attack mode. You can now attack from range.")
+ to_chat(src, span_info("You are set to attack mode. You can now attack from range."))
/mob/living/simple_animal/hostile/mining_drone/AttackingTarget()
if(istype(target, /obj/item/stack/ore) && mode == MINEDRONE_COLLECT)
@@ -187,10 +187,10 @@
/mob/living/simple_animal/hostile/mining_drone/proc/DropOre(message = 1)
if(!contents.len)
if(message)
- to_chat(src, "You attempt to dump your stored ore, but you have none!")
+ to_chat(src, span_warning("You attempt to dump your stored ore, but you have none!"))
return
if(message)
- to_chat(src, "You dump your stored ore.")
+ to_chat(src, span_notice("You dump your stored ore."))
for(var/obj/item/stack/ore/O in contents)
O.forceMove(drop_location())
@@ -214,7 +214,7 @@
user.sync_lighting_plane_alpha()
- to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].")
+ to_chat(user, span_notice("You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"]."))
/mob/living/simple_animal/hostile/mining_drone/proc/toggle_mode()
@@ -239,7 +239,7 @@
/datum/action/innate/minedrone/toggle_light/Activate()
var/mob/living/simple_animal/hostile/mining_drone/user = owner
user.set_light_on(!user.light_on)
- to_chat(user, "You toggle your light [user.light_on ? "on" : "off"].")
+ to_chat(user, span_notice("You toggle your light [user.light_on ? "on" : "off"]."))
/datum/action/innate/minedrone/toggle_mode
@@ -277,7 +277,7 @@
/obj/item/mine_bot_upgrade/proc/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/minebot, mob/user)
if(minebot.melee_damage_upper != initial(minebot.melee_damage_upper))
- to_chat(user, "[minebot] already has a combat upgrade installed!")
+ to_chat(user, span_warning("[minebot] already has a combat upgrade installed!"))
return
minebot.melee_damage_lower += 7
minebot.melee_damage_upper += 7
@@ -291,7 +291,7 @@
/obj/item/mine_bot_upgrade/health/upgrade_bot(mob/living/simple_animal/hostile/mining_drone/minebot, mob/user)
if(minebot.maxHealth != initial(minebot.maxHealth))
- to_chat(user, "[minebot] already has reinforced armor!")
+ to_chat(user, span_warning("[minebot] already has reinforced armor!"))
return
minebot.maxHealth += 45
minebot.updatehealth()
diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm
index b111e12f2f3..34fb1021883 100644
--- a/code/modules/mining/ores_coins.dm
+++ b/code/modules/mining/ores_coins.dm
@@ -122,12 +122,12 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
return
var/mob/living/carbon/human/C = hit_atom
if(C.is_eyes_covered())
- C.visible_message("[C]'s eye protection blocks the sand!", "Your eye protection blocks the sand!")
+ C.visible_message(span_danger("[C]'s eye protection blocks the sand!"), span_warning("Your eye protection blocks the sand!"))
return
C.adjust_blurriness(6)
C.adjustStaminaLoss(15)//the pain from your eyes burning does stamina damage
C.add_confusion(5)
- to_chat(C, "\The [src] gets into your eyes! The pain, it burns!")
+ to_chat(C, span_userdanger("\The [src] gets into your eyes! The pain, it burns!"))
qdel(src)
/obj/item/stack/ore/glass/ex_act(severity, target)
@@ -156,7 +156,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
merge_type = /obj/item/stack/ore/plasma
/obj/item/stack/ore/plasma/welder_act(mob/living/user, obj/item/I)
- to_chat(user, "You can't hit a high enough temperature to smelt [src] properly!")
+ to_chat(user, span_warning("You can't hit a high enough temperature to smelt [src] properly!"))
return TRUE
/obj/item/stack/ore/silver
@@ -255,7 +255,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
/obj/item/gibtonite/attackby(obj/item/I, mob/user, params)
if(!wires && istype(I, /obj/item/assembly/igniter))
- user.visible_message("[user] attaches [I] to [src].", "You attach [I] to [src].")
+ user.visible_message(span_notice("[user] attaches [I] to [src]."), span_notice("You attach [I] to [src]."))
wires = new /datum/wires/explosive/gibtonite(src)
attacher = key_name(user)
qdel(I)
@@ -275,7 +275,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
primed = FALSE
if(det_timer)
deltimer(det_timer)
- user.visible_message("The chain reaction stopped! ...The ore's quality looks diminished.", "You stopped the chain reaction. ...The ore's quality looks diminished.")
+ user.visible_message(span_notice("The chain reaction stopped! ...The ore's quality looks diminished."), span_notice("You stopped the chain reaction. ...The ore's quality looks diminished."))
icon_state = "Gibtonite ore"
quality = GIBTONITE_QUALITY_LOW
return
@@ -313,7 +313,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
log_game(bomb_message)
GLOB.bombers += bomb_message
else
- user.visible_message("[user] strikes \the [src], causing a chain reaction!", "You strike \the [src], causing a chain reaction.")
+ user.visible_message(span_warning("[user] strikes \the [src], causing a chain reaction!"), span_danger("You strike \the [src], causing a chain reaction."))
log_bomber(user, "has primed a", src, "for detonation", notify_admins)
det_timer = addtimer(CALLBACK(src, .proc/detonate, notify_admins), det_time, TIMER_STOPPABLE)
@@ -378,9 +378,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
return value
/obj/item/coin/suicide_act(mob/living/user)
- user.visible_message("[user] contemplates suicide with \the [src]!")
+ user.visible_message(span_suicide("[user] contemplates suicide with \the [src]!"))
if (!attack_self(user))
- user.visible_message("[user] couldn't flip \the [src]!")
+ user.visible_message(span_suicide("[user] couldn't flip \the [src]!"))
return SHAME
addtimer(CALLBACK(src, .proc/manual_suicide, user), 10)//10 = time takes for flip animation
return MANUAL_SUICIDE_NONLETHAL
@@ -388,31 +388,31 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
/obj/item/coin/proc/manual_suicide(mob/living/user)
var/index = sideslist.Find(coinflip)
if (index==2)//tails
- user.visible_message("\the [src] lands on [coinflip]! [user] promptly falls over, dead!")
+ user.visible_message(span_suicide("\the [src] lands on [coinflip]! [user] promptly falls over, dead!"))
user.adjustOxyLoss(200)
user.death(0)
user.set_suicide(TRUE)
user.suicide_log()
else
- user.visible_message("\the [src] lands on [coinflip]! [user] keeps on living!")
+ user.visible_message(span_suicide("\the [src] lands on [coinflip]! [user] keeps on living!"))
/obj/item/coin/examine(mob/user)
. = ..()
- . += "It's worth [value] credit\s."
+ . += span_info("It's worth [value] credit\s.")
/obj/item/coin/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/CC = W
if(string_attached)
- to_chat(user, "There already is a string attached to this coin!")
+ to_chat(user, span_warning("There already is a string attached to this coin!"))
return
if (CC.use(1))
add_overlay("coin_string_overlay")
string_attached = 1
- to_chat(user, "You attach a string to the coin.")
+ to_chat(user, span_notice("You attach a string to the coin."))
else
- to_chat(user, "You need one length of cable to attach a string to the coin!")
+ to_chat(user, span_warning("You need one length of cable to attach a string to the coin!"))
return
else
..()
@@ -425,13 +425,13 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
new /obj/item/stack/cable_coil(drop_location(), 1)
overlays = list()
string_attached = null
- to_chat(user, "You detach the string from the coin.")
+ to_chat(user, span_notice("You detach the string from the coin."))
return TRUE
/obj/item/coin/attack_self(mob/user)
if(cooldown < world.time)
if(string_attached) //does the coin have a wire attached
- to_chat(user, "The coin won't flip very well with something attached!" )
+ to_chat(user, span_warning("The coin won't flip very well with something attached!") )
return FALSE//do not flip the coin
cooldown = world.time + 15
flick("coin_[coinflip]_flip", src)
@@ -441,9 +441,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
var/oldloc = loc
sleep(15)
if(loc == oldloc && user && !user.incapacitated())
- user.visible_message("[user] flips [src]. It lands on [coinflip].", \
- "You flip [src]. It lands on [coinflip].", \
- "You hear the clattering of loose change.")
+ user.visible_message(span_notice("[user] flips [src]. It lands on [coinflip]."), \
+ span_notice("You flip [src]. It lands on [coinflip]."), \
+ span_hear("You hear the clattering of loose change."))
return TRUE//did the coin flip? useful for suicide_act
/obj/item/coin/gold
@@ -500,7 +500,7 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
/obj/item/coin/gold/debug/attack_self(mob/user)
if(cooldown < world.time)
if(string_attached) //does the coin have a wire attached
- to_chat(user, "The coin won't flip very well with something attached!" )
+ to_chat(user, span_warning("The coin won't flip very well with something attached!") )
return FALSE//do not flip the coin
cooldown = world.time + 15
flick("coin_[coinflip]_flip", src)
@@ -510,9 +510,9 @@ GLOBAL_LIST_INIT(sand_recipes, list(\
var/oldloc = loc
sleep(15)
if(loc == oldloc && user && !user.incapacitated())
- user.visible_message("[user] flips [src]. It lands on [coinflip].", \
- "You flip [src]. It lands on [coinflip].", \
- "You hear the clattering of loose change.")
+ user.visible_message(span_notice("[user] flips [src]. It lands on [coinflip]."), \
+ span_notice("You flip [src]. It lands on [coinflip]."), \
+ span_hear("You hear the clattering of loose change."))
SSeconomy.fire()
to_chat(user,"[SSeconomy.inflation_value()] is the inflation value.")
return TRUE//did the coin flip? useful for suicide_act
diff --git a/code/modules/mining/satchel_ore_boxdm.dm b/code/modules/mining/satchel_ore_boxdm.dm
index f18e694c3f9..591af53e750 100644
--- a/code/modules/mining/satchel_ore_boxdm.dm
+++ b/code/modules/mining/satchel_ore_boxdm.dm
@@ -14,7 +14,7 @@
user.transferItemToLoc(W, src)
else if(SEND_SIGNAL(W, COMSIG_CONTAINS_STORAGE))
SEND_SIGNAL(W, COMSIG_TRY_STORAGE_TAKE_TYPE, /obj/item/stack/ore, src)
- to_chat(user, "You empty the ore in [W] into \the [src].")
+ to_chat(user, span_notice("You empty the ore in [W] into \the [src]."))
else
return ..()
@@ -24,9 +24,9 @@
/obj/structure/ore_box/crowbar_act(mob/living/user, obj/item/I)
if(I.use_tool(src, user, 50, volume=50))
- user.visible_message("[user] pries \the [src] apart.",
- "You pry apart \the [src].",
- "You hear splitting wood.")
+ user.visible_message(span_notice("[user] pries \the [src] apart."),
+ span_notice("You pry apart \the [src]."),
+ span_hear("You hear splitting wood."))
deconstruct(TRUE, user)
return TRUE
@@ -89,7 +89,7 @@
switch(action)
if("removeall")
dump_box_contents()
- to_chat(usr, "You open the release hatch on the box..")
+ to_chat(usr, span_notice("You open the release hatch on the box.."))
/obj/structure/ore_box/deconstruct(disassembled = TRUE, mob/user)
var/obj/item/stack/sheet/mineral/wood/WD = new (loc, 4)
diff --git a/code/modules/mob/dead/dead.dm b/code/modules/mob/dead/dead.dm
index bacde431225..4dd04b24e4d 100644
--- a/code/modules/mob/dead/dead.dm
+++ b/code/modules/mob/dead/dead.dm
@@ -63,7 +63,7 @@ INITIALIZE_IMMEDIATE(/mob/dead)
switch(csa.len)
if(0)
remove_verb(src, /mob/dead/proc/server_hop)
- to_chat(src, "Server Hop has been disabled.")
+ to_chat(src, span_notice("Server Hop has been disabled."))
if(1)
pick = csa[1]
else
@@ -78,7 +78,7 @@ INITIALIZE_IMMEDIATE(/mob/dead)
return
var/client/C = client
- to_chat(C, "Sending you to [pick].")
+ to_chat(C, span_notice("Sending you to [pick]."))
new /atom/movable/screen/splash(C)
notransform = TRUE
diff --git a/code/modules/mob/dead/new_player/login.dm b/code/modules/mob/dead/new_player/login.dm
index e0a8f66bebd..c8ef6146f6b 100644
--- a/code/modules/mob/dead/new_player/login.dm
+++ b/code/modules/mob/dead/new_player/login.dm
@@ -18,11 +18,11 @@
to_chat(src, "[motd]
", handle_whitespace=FALSE)
if(GLOB.admin_notice)
- to_chat(src, "Admin Notice:\n \t [GLOB.admin_notice]")
+ to_chat(src, span_notice("Admin Notice:\n \t [GLOB.admin_notice]"))
var/spc = CONFIG_GET(number/soft_popcap)
if(spc && living_player_count() >= spc)
- to_chat(src, "Server Notice:\n \t [CONFIG_GET(string/soft_popcap_message)]")
+ to_chat(src, span_notice("Server Notice:\n \t [CONFIG_GET(string/soft_popcap_message)]"))
sight |= SEE_TURFS
diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm
index 77c7a1801cc..a0f3a10d651 100644
--- a/code/modules/mob/dead/new_player/new_player.dm
+++ b/code/modules/mob/dead/new_player/new_player.dm
@@ -152,7 +152,7 @@
if(href_list["late_join"])
if(!SSticker?.IsRoundInProgress())
- to_chat(usr, "The round is either not ready, or has already finished...")
+ to_chat(usr, span_boldwarning("The round is either not ready, or has already finished..."))
return
if(href_list["late_join"] == "override")
@@ -160,16 +160,16 @@
return
if(SSticker.queued_players.len || (relevant_cap && living_player_count() >= relevant_cap && !(ckey(key) in GLOB.admin_datums)))
- to_chat(usr, "[CONFIG_GET(string/hard_popcap_message)]")
+ to_chat(usr, span_danger("[CONFIG_GET(string/hard_popcap_message)]"))
var/queue_position = SSticker.queued_players.Find(usr)
if(queue_position == 1)
- to_chat(usr, "You are next in line to join the game. You will be notified when a slot opens up.")
+ to_chat(usr, span_notice("You are next in line to join the game. You will be notified when a slot opens up."))
else if(queue_position)
- to_chat(usr, "There are [queue_position-1] players in front of you in the queue to join the game.")
+ to_chat(usr, span_notice("There are [queue_position-1] players in front of you in the queue to join the game."))
else
SSticker.queued_players += usr
- to_chat(usr, "You have been added to the queue to join the game. Your position in queue is [SSticker.queued_players.len].")
+ to_chat(usr, span_notice("You have been added to the queue to join the game. Your position in queue is [SSticker.queued_players.len]."))
return
LateChoices()
@@ -178,16 +178,16 @@
if(href_list["SelectedJob"])
if(!SSticker?.IsRoundInProgress())
- to_chat(usr, "The round is either not ready, or has already finished...")
+ to_chat(usr, span_danger("The round is either not ready, or has already finished..."))
return
if(!GLOB.enter_allowed)
- to_chat(usr, "There is an administrative lock on entering the game!")
+ to_chat(usr, span_notice("There is an administrative lock on entering the game!"))
return
if(SSticker.queued_players.len && !(ckey(key) in GLOB.admin_datums))
if((living_player_count() >= relevant_cap) || (src != SSticker.queued_players[1]))
- to_chat(usr, "Server is full.")
+ to_chat(usr, span_warning("Server is full."))
return
AttemptLateSpawn(href_list["SelectedJob"])
@@ -228,11 +228,11 @@
observer.started_as_observer = TRUE
close_spawn_windows()
var/obj/effect/landmark/observer_start/O = locate(/obj/effect/landmark/observer_start) in GLOB.landmarks_list
- to_chat(src, "Now teleporting.")
+ to_chat(src, span_notice("Now teleporting."))
if (O)
observer.forceMove(O.loc)
else
- to_chat(src, "Teleporting failed. Ahelp an admin please")
+ to_chat(src, span_notice("Teleporting failed. Ahelp an admin please"))
stack_trace("There's no freaking observer landmark available on this map or you're making observers before the map is initialised")
observer.key = key
observer.client = client
@@ -521,7 +521,7 @@
has_antags = TRUE
if(client.prefs.job_preferences.len == 0)
if(!ineligible_for_roles)
- to_chat(src, "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(src, 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."))
ineligible_for_roles = TRUE
ready = PLAYER_NOT_READY
if(has_antags)
diff --git a/code/modules/mob/dead/new_player/poll.dm b/code/modules/mob/dead/new_player/poll.dm
index 63e9ecc705d..6779ec4d0e5 100644
--- a/code/modules/mob/dead/new_player/poll.dm
+++ b/code/modules/mob/dead/new_player/poll.dm
@@ -21,7 +21,7 @@
if(!poll)
return
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
switch(poll.poll_type)
if(POLLTYPE_OPTION)
@@ -311,15 +311,15 @@
*/
/mob/dead/new_player/proc/vote_on_poll_handler(datum/poll_question/poll, href_list)
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
if(!poll || !href_list)
return
if(IsAdminAdvancedProcCall())
log_game("[key_name(usr)] attempted to rig the vote by voting as [key]")
message_admins("[key_name_admin(usr)] attempted to rig the vote by voting as [key]")
- to_chat(usr, "You don't seem to be [key].")
- to_chat(src, "Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this")
+ to_chat(usr, span_danger("You don't seem to be [key]."))
+ to_chat(src, span_danger("Something went horribly wrong processing your vote. Please contact an administrator, they should have gotten a message about this"))
return
var/admin_rank
if(client.holder)
@@ -347,11 +347,11 @@
if(query_validate_poll_vote.NextRow())
vote_id = text2num(query_validate_poll_vote.item[1])
if(vote_id && !poll.allow_revoting)
- to_chat(usr, "Poll revoting is disabled and you've already replied to this poll.")
+ to_chat(usr, span_danger("Poll revoting is disabled and you've already replied to this poll."))
qdel(query_validate_poll_vote)
return
else
- to_chat(usr, "Selected poll is not open.")
+ to_chat(usr, span_danger("Selected poll is not open."))
qdel(query_validate_poll_vote)
return
qdel(query_validate_poll_vote)
@@ -370,7 +370,7 @@
if(vote_success)
if(!vote_id)
poll.poll_votes++
- to_chat(usr, "Vote successful.")
+ to_chat(usr, span_notice("Vote successful."))
/**
* Processes vote form data and saves results to the database for an option type poll.
@@ -378,13 +378,13 @@
*/
/mob/dead/new_player/proc/vote_on_poll_option(datum/poll_question/poll, href_list, admin_rank, sql_poll_id, vote_id)
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
if(IsAdminAdvancedProcCall())
return
var/datum/poll_option/option = locate(href_list["voteoptionref"]) in poll.options
if(!option)
- to_chat(src, "No option was selected.")
+ to_chat(src, span_danger("No option was selected."))
return
var/datum/db_query/query_vote_option = SSdbcore.NewQuery({"
INSERT INTO [format_table_name("poll_vote")] (id, datetime, pollid, optionid, ckey, ip, adminrank)
@@ -410,13 +410,13 @@
*/
/mob/dead/new_player/proc/vote_on_poll_text(href_list, admin_rank, sql_poll_id, vote_id)
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
if(IsAdminAdvancedProcCall())
return
var/reply_text = href_list["replytext"]
if(!reply_text || (length(reply_text) > 2048))
- to_chat(src, "The text you entered was blank or too long. Please correct the text and submit again.")
+ to_chat(src, span_danger("The text you entered was blank or too long. Please correct the text and submit again."))
return
var/datum/db_query/query_vote_text = SSdbcore.NewQuery({"
INSERT INTO [format_table_name("poll_textreply")] (id, datetime, pollid, ckey, ip, replytext, adminrank)
@@ -442,7 +442,7 @@
*/
/mob/dead/new_player/proc/vote_on_poll_rating(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id)
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
if(IsAdminAdvancedProcCall())
return
@@ -485,14 +485,14 @@
*/
/mob/dead/new_player/proc/vote_on_poll_multi(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id)
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
if(IsAdminAdvancedProcCall())
return
if(length(href_list) > 2)
href_list.Cut(1,3) //first two values aren't options
else
- to_chat(src, "No options were selected.")
+ to_chat(src, span_danger("No options were selected."))
var/special_columns = list(
"datetime" = "NOW()",
@@ -503,7 +503,7 @@
var/vote_count = 0
for(var/h in href_list)
if(vote_count == poll.options_allowed)
- to_chat(src, "Allowed option count exceeded, only the first [poll.options_allowed] selected options have been saved.")
+ to_chat(src, span_danger("Allowed option count exceeded, only the first [poll.options_allowed] selected options have been saved."))
break
vote_count++
var/datum/poll_option/option = locate(h) in poll.options
@@ -532,13 +532,13 @@
*/
/mob/dead/new_player/proc/vote_on_poll_irv(datum/poll_question/poll, list/href_list, admin_rank, sql_poll_id)
if(!SSdbcore.Connect())
- to_chat(src, "Failed to establish database connection.")
+ to_chat(src, span_danger("Failed to establish database connection."))
return
if(IsAdminAdvancedProcCall())
return
var/list/votelist = splittext(href_list["IRVdata"], ",")
if(!length(votelist))
- to_chat(src, "No ordering data found. Please try again or contact an administrator.")
+ to_chat(src, span_danger("No ordering data found. Please try again or contact an administrator."))
var/list/special_columns = list(
"datetime" = "NOW()",
@@ -550,7 +550,7 @@
for(var/o in votelist)
var/datum/poll_option/option = locate(o) in option_copy
if (!option)
- to_chat(src, "invalid votes were trimmed from your ballot, please revote .")
+ to_chat(src, span_warning("invalid votes were trimmed from your ballot, please revote ."))
sql_votes += list(list(
"pollid" = sql_poll_id,
"optionid" = option.option_id,
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index dc74147c54c..a4d64d5c9a8 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -355,13 +355,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(!client)
return
if(!mind || QDELETED(mind.current))
- to_chat(src, "You have no body.")
+ to_chat(src, span_warning("You have no body."))
return
if(!can_reenter_corpse)
- to_chat(src, "You cannot re-enter your body.")
+ to_chat(src, span_warning("You cannot re-enter your body."))
return
if(mind.current.key && mind.current.key[1] != "@") //makes sure we don't accidentally kick any clients
- to_chat(usr, "Another consciousness is in your body...It is resisting you.")
+ to_chat(usr, span_warning("Another consciousness is in your body...It is resisting you."))
return
client.view_size.setDefault(getScreenSize(client.prefs.widescreenpref))//Let's reset so people can't become allseeing gods
SStgui.on_transfer(src, mind.current) // Transfer NanoUIs.
@@ -375,7 +375,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(!client)
return
if(!can_reenter_corpse)
- to_chat(usr, "You're already stuck out of your body!")
+ to_chat(usr, span_warning("You're already stuck out of your body!"))
return FALSE
var/response = tgui_alert(usr, "Are you sure you want to prevent (almost) all means of resuscitation? This cannot be undone. ","Are you sure you want to stay dead?",list("DNR","Save Me"))
@@ -389,14 +389,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
// Disassociates observer mind from the body mind
mind = null
- to_chat(src, "You can no longer be brought back into your body.")
+ to_chat(src, span_boldnotice("You can no longer be brought back into your body."))
return TRUE
/mob/dead/observer/proc/notify_cloning(message, sound, atom/source, flashwindow = TRUE)
if(flashwindow)
window_flash(client)
if(message)
- to_chat(src, "[message]")
+ to_chat(src, span_ghostalert("[message]"))
if(source)
var/atom/movable/screen/alert/A = throw_alert("[REF(source)]_notify_cloning", /atom/movable/screen/alert/notify_cloning)
if(A)
@@ -410,7 +410,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
A.add_overlay(source)
source.layer = old_layer
source.plane = old_plane
- to_chat(src, "(Click to re-enter)")
+ to_chat(src, span_ghostalert("(Click to re-enter)"))
if(sound)
SEND_SOUND(src, sound(sound))
@@ -419,7 +419,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set name = "Teleport"
set desc= "Teleport to a location"
if(!isobserver(usr))
- to_chat(usr, "Not when you're not dead!")
+ to_chat(usr, span_warning("Not when you're not dead!"))
return
var/list/filtered = list()
for(var/V in GLOB.sortedAreas)
@@ -436,7 +436,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
L+=T
if(!L || !L.len)
- to_chat(usr, "No area available.")
+ to_chat(usr, span_warning("No area available."))
return
usr.abstract_move(pick(L))
@@ -513,7 +513,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
A.abstract_move(T)
A.update_parallax_contents()
else
- to_chat(A, "This mob is not located in the game world.")
+ to_chat(A, span_danger("This mob is not located in the game world."))
/mob/dead/observer/verb/change_view_range()
set category = "Ghost"
@@ -556,11 +556,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/memory()
set hidden = TRUE
- to_chat(src, "You are dead! You have no mind to store memory!")
+ to_chat(src, span_danger("You are dead! You have no mind to store memory!"))
/mob/dead/observer/add_memory()
set hidden = TRUE
- to_chat(src, "You are dead! You have no mind to store memory!")
+ to_chat(src, span_danger("You are dead! You have no mind to store memory!"))
/mob/dead/observer/verb/toggle_ghostsee()
set name = "Toggle Ghost Vision"
@@ -568,7 +568,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost"
ghostvision = !(ghostvision)
update_sight()
- to_chat(usr, "You [(ghostvision?"now":"no longer")] have ghost vision.")
+ to_chat(usr, span_boldnotice("You [(ghostvision?"now":"no longer")] have ghost vision."))
/mob/dead/observer/verb/toggle_darkness()
set name = "Toggle Darkness"
@@ -643,14 +643,14 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
return FALSE
if(ismegafauna(target))
- to_chat(src, "This creature is too powerful for you to possess!")
+ to_chat(src, span_warning("This creature is too powerful for you to possess!"))
return FALSE
if(can_reenter_corpse && mind?.current)
if(tgui_alert(usr, "Your soul is still tied to your former life as [mind.current.name], if you go forward there is no going back to that life. Are you sure you wish to continue?", "Move On", list("Yes", "No")) == "No")
return FALSE
if(target.key)
- to_chat(src, "Someone has taken this body while you were choosing!")
+ to_chat(src, span_warning("Someone has taken this body while you were choosing!"))
return FALSE
target.key = key
@@ -663,7 +663,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/pointed(atom/A as mob|obj|turf in view(client.view, src))
if(!..())
return FALSE
- usr.visible_message("[src] points to [A].")
+ usr.visible_message(span_deadsay("[src] points to [A]."))
return TRUE
/mob/dead/observer/verb/view_manifest()
@@ -733,11 +733,11 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(data_huds_on) //remove old huds
remove_data_huds()
- to_chat(src, "Data HUDs disabled.")
+ to_chat(src, span_notice("Data HUDs disabled."))
data_huds_on = 0
else
show_data_huds()
- to_chat(src, "Data HUDs enabled.")
+ to_chat(src, span_notice("Data HUDs enabled."))
data_huds_on = 1
/mob/dead/observer/verb/toggle_health_scan()
@@ -746,10 +746,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost"
if(health_scan) //remove old huds
- to_chat(src, "Health scan disabled.")
+ to_chat(src, span_notice("Health scan disabled."))
health_scan = FALSE
else
- to_chat(src, "Health scan enabled.")
+ to_chat(src, span_notice("Health scan enabled."))
health_scan = TRUE
/mob/dead/observer/verb/toggle_chem_scan()
@@ -758,10 +758,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost"
if(chem_scan) //remove old huds
- to_chat(src, "Chem scan disabled.")
+ to_chat(src, span_notice("Chem scan disabled."))
chem_scan = FALSE
else
- to_chat(src, "Chem scan enabled.")
+ to_chat(src, span_notice("Chem scan enabled."))
chem_scan = TRUE
/mob/dead/observer/verb/toggle_gas_scan()
@@ -770,10 +770,10 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
set category = "Ghost"
if(gas_scan)
- to_chat(src, "Gas scan disabled.")
+ to_chat(src, span_notice("Gas scan disabled."))
gas_scan = FALSE
else
- to_chat(src, "Gas scan enabled.")
+ to_chat(src, span_notice("Gas scan enabled."))
gas_scan = TRUE
/mob/dead/observer/verb/restore_ghost_appearance()
@@ -882,7 +882,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(isobserver(src))
SSpai.recruitWindow(src)
else
- to_chat(usr, "Can't become a pAI candidate while not dead!")
+ to_chat(usr, span_warning("Can't become a pAI candidate while not dead!"))
/mob/dead/observer/verb/mafia_game_signup()
set category = "Ghost"
@@ -895,7 +895,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
if(!client)
return
if(!isobserver(src))
- to_chat(usr, "You must be a ghost to join mafia!")
+ to_chat(usr, span_warning("You must be a ghost to join mafia!"))
return
var/datum/mafia_controller/game = GLOB.mafia_game //this needs to change if you want multiple mafia games up at once.
if(!game)
@@ -914,8 +914,8 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
/mob/dead/observer/examine_more(mob/user)
if(!isAdminObserver(user))
return ..()
- . = list("You examine [src] closer, and note the following...")
- . += list("\t>[ADMIN_FULLMONTY(src)]")
+ . = list(span_notice("You examine [src] closer, and note the following..."))
+ . += list("\t>[span_admin("[ADMIN_FULLMONTY(src)]")]")
/mob/dead/observer/proc/set_invisibility(value)
diff --git a/code/modules/mob/emote.dm b/code/modules/mob/emote.dm
index 59167b77d9b..778487a547e 100644
--- a/code/modules/mob/emote.dm
+++ b/code/modules/mob/emote.dm
@@ -18,7 +18,7 @@
if(!length(key_emotes))
if(intentional && !force_silence)
- to_chat(src, "'[act]' emote does not exist. Say *help for a list.")
+ to_chat(src, span_notice("'[act]' emote does not exist. Say *help for a list."))
return FALSE
var/silenced = FALSE
for(var/datum/emote/P in key_emotes)
@@ -29,7 +29,7 @@
SEND_SIGNAL(src, COMSIG_MOB_EMOTE, P, act, m_type, message, intentional)
return TRUE
if(intentional && !silenced && !force_silence)
- to_chat(src, "Unusable emote '[act]'. Say *help for a list.")
+ to_chat(src, span_notice("Unusable emote '[act]'. Say *help for a list."))
return FALSE
/datum/emote/help
@@ -77,15 +77,15 @@
if(prob(20))
flippy_mcgee.Knockdown(1 SECONDS)
flippy_mcgee.visible_message(
- "[flippy_mcgee] attempts to do a flip and falls over, what a doofus!",
- "You attempt to do a flip while still off balance from the last flip and fall down!"
+ span_notice("[flippy_mcgee] attempts to do a flip and falls over, what a doofus!"),
+ span_notice("You attempt to do a flip while still off balance from the last flip and fall down!")
)
if(prob(50))
flippy_mcgee.adjustBruteLoss(1)
else
flippy_mcgee.visible_message(
- "[flippy_mcgee] stumbles a bit after their flip.",
- "You stumble a bit from still being off balance from your last flip."
+ span_notice("[flippy_mcgee] stumbles a bit after their flip."),
+ span_notice("You stumble a bit from still being off balance from your last flip.")
)
/datum/emote/spin
@@ -113,7 +113,7 @@
user.vomit(BEYBLADE_PUKE_NUTRIENT_LOSS, distance = 0)
return
if(prob(BEYBLADE_DIZZINESS_PROBABILITY))
- to_chat(user, "You feel woozy from spinning.")
+ to_chat(user, span_warning("You feel woozy from spinning."))
user.Dizzy(BEYBLADE_DIZZINESS_VALUE)
if(current_confusion < BEYBLADE_CONFUSION_LIMIT)
user.add_confusion(BEYBLADE_CONFUSION_INCREMENT)
diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm
index 773808dc93a..6d9067a72ff 100644
--- a/code/modules/mob/inventory.dm
+++ b/code/modules/mob/inventory.dm
@@ -219,13 +219,13 @@
if (merge_stacks)
if (istype(active_stack) && active_stack.can_merge(I_stack))
if (I_stack.merge(active_stack))
- to_chat(usr, "Your [active_stack.name] stack now contains [active_stack.get_amount()] [active_stack.singular_name]\s.")
+ to_chat(usr, span_notice("Your [active_stack.name] stack now contains [active_stack.get_amount()] [active_stack.singular_name]\s."))
return TRUE
else
var/obj/item/stack/inactive_stack = get_inactive_held_item()
if (istype(inactive_stack) && inactive_stack.can_merge(I_stack))
if (I_stack.merge(inactive_stack))
- to_chat(usr, "Your [inactive_stack.name] stack now contains [inactive_stack.get_amount()] [inactive_stack.singular_name]\s.")
+ to_chat(usr, span_notice("Your [inactive_stack.name] stack now contains [inactive_stack.get_amount()] [inactive_stack.singular_name]\s."))
return TRUE
if(put_in_active_hand(I, forced))
@@ -415,7 +415,7 @@
if(SEND_SIGNAL(I, COMSIG_TRY_STORAGE_INSERT, src, M))
return TRUE
- to_chat(M, "You are unable to equip that!")
+ to_chat(M, span_warning("You are unable to equip that!"))
return FALSE
@@ -425,7 +425,7 @@
var/obj/item/I = get_active_held_item()
if(!I)
- to_chat(src, "You are not holding anything to equip!")
+ to_chat(src, span_warning("You are not holding anything to equip!"))
return
if (temporarilyRemoveItemFromInventory(I) && !QDELETED(I))
if(I.equip_to_best_slot(src))
diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm
index 16308e68a1f..dcb978da98e 100644
--- a/code/modules/mob/living/blood.dm
+++ b/code/modules/mob/living/blood.dm
@@ -36,25 +36,25 @@
switch(blood_volume)
if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL)
if(DT_PROB(7.5, delta_time))
- to_chat(src, "Blood starts to tear your skin apart. You're going to burst!")
+ to_chat(src, span_userdanger("Blood starts to tear your skin apart. You're going to burst!"))
inflate_gib()
if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS)
if(DT_PROB(5, delta_time))
- to_chat(src, "You feel terribly bloated.")
+ to_chat(src, span_warning("You feel terribly bloated."))
if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE)
if(DT_PROB(2.5, delta_time))
- to_chat(src, "You feel [word].")
+ to_chat(src, span_warning("You feel [word]."))
adjustOxyLoss(round(0.005 * (BLOOD_VOLUME_NORMAL - blood_volume) * delta_time, 1))
if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY)
adjustOxyLoss(round(0.01 * (BLOOD_VOLUME_NORMAL - blood_volume) * delta_time, 1))
if(DT_PROB(2.5, delta_time))
blur_eyes(6)
- to_chat(src, "You feel very [word].")
+ to_chat(src, span_warning("You feel very [word]."))
if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD)
adjustOxyLoss(2.5 * delta_time)
if(DT_PROB(7.5, delta_time))
Unconscious(rand(20,60))
- to_chat(src, "You feel extremely [word].")
+ to_chat(src, span_warning("You feel extremely [word]."))
if(-INFINITY to BLOOD_VOLUME_SURVIVE)
if(!HAS_TRAIT(src, TRAIT_NODEATH))
death()
@@ -157,7 +157,7 @@
if(BLOOD_FLOW_DECREASING) // this only matters if none of the wounds fit the above two cases, included here for completeness
continue
- to_chat(src, "[bleeding_severity][rate_of_change]")
+ to_chat(src, span_warning("[bleeding_severity][rate_of_change]"))
COOLDOWN_START(src, bleeding_message_cd, next_cooldown)
/mob/living/carbon/human/bleed_warn(bleed_amt = 0, forced = FALSE)
diff --git a/code/modules/mob/living/bloodcrawl.dm b/code/modules/mob/living/bloodcrawl.dm
index 8a5bf292c23..1a3ebc70d68 100644
--- a/code/modules/mob/living/bloodcrawl.dm
+++ b/code/modules/mob/living/bloodcrawl.dm
@@ -5,7 +5,7 @@
//TODO make it toggleable to either forcedrop the items, or deny
//entry when holding them
// literally only an option for carbons though
- 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)
@@ -23,7 +23,7 @@
/mob/living/proc/bloodpool_sink(obj/effect/decal/cleanable/B)
var/turf/mobloc = get_turf(loc)
- visible_message("[src] sinks into the pool of blood!")
+ visible_message(span_warning("[src] sinks into the pool of blood!"))
playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 50, TRUE, -1)
// Extinguish, unbuckle, stop being pulled, set our location into the
// dummy object
@@ -51,25 +51,25 @@
var/kidnapped = FALSE
if(victim.stat == CONSCIOUS)
- visible_message("[victim] kicks free of the blood pool just before entering it!", null, "You hear splashing and struggling.")
+ visible_message(span_warning("[victim] kicks free of the blood pool just before entering it!"), null, span_notice("You hear splashing and struggling."))
else if(victim.reagents?.has_reagent(/datum/reagent/consumable/ethanol/demonsblood, needs_metabolizing = TRUE))
- visible_message("Something prevents [victim] from entering the pool!", "A strange force is blocking [victim] from entering!", "You hear a splash and a thud.")
+ visible_message(span_warning("Something prevents [victim] from entering the pool!"), span_warning("A strange force is blocking [victim] from entering!"), span_notice("You hear a splash and a thud."))
else
victim.forceMove(src)
victim.emote("scream")
- visible_message("[src] drags [victim] into the pool of blood!", null, "You hear a splash.")
+ visible_message(span_warning("[src] drags [victim] into the pool of blood!"), null, span_notice("You hear a splash."))
kidnapped = TRUE
if(kidnapped)
var/success = bloodcrawl_consume(victim)
if(!success)
- to_chat(src, "You happily devour... nothing? Your meal vanished at some point!")
+ to_chat(src, span_danger("You happily devour... nothing? Your meal vanished at some point!"))
notransform = FALSE
return TRUE
/mob/living/proc/bloodcrawl_consume(mob/living/victim)
- to_chat(src, "You begin to feast on [victim]... You can not move while you are doing this.")
+ to_chat(src, span_danger("You begin to feast on [victim]... You can not move while you are doing this."))
var/sound
if(istype(src, /mob/living/simple_animal/hostile/imp/slaughter))
@@ -86,13 +86,13 @@
return FALSE
if(victim.reagents?.has_reagent(/datum/reagent/consumable/ethanol/devilskiss, needs_metabolizing = TRUE))
- to_chat(src, "AAH! THEIR FLESH! IT BURNS!")
+ to_chat(src, span_warning("AAH! THEIR FLESH! IT BURNS!"))
adjustBruteLoss(25) //I can't use adjustHealth() here because bloodcrawl affects /mob/living and adjustHealth() only affects simple mobs
var/found_bloodpool = FALSE
for(var/obj/effect/decal/cleanable/target in range(1,get_turf(victim)))
if(target.can_bloodcrawl_in())
victim.forceMove(get_turf(target))
- victim.visible_message("[target] violently expels [victim]!")
+ victim.visible_message(span_warning("[target] violently expels [victim]!"))
victim.exit_blood_effect(target)
found_bloodpool = TRUE
break
@@ -100,11 +100,11 @@
if(!found_bloodpool)
// Fuck it, just eject them, thanks to some split second cleaning
victim.forceMove(get_turf(victim))
- victim.visible_message("[victim] appears from nowhere, covered in blood!")
+ victim.visible_message(span_warning("[victim] appears from nowhere, covered in blood!"))
victim.exit_blood_effect()
return TRUE
- to_chat(src, "You devour [victim]. Your health is fully restored.")
+ to_chat(src, span_danger("You devour [victim]. Your health is fully restored."))
revive(full_heal = TRUE, admin_revive = FALSE)
// No defib possible after laughter
@@ -138,9 +138,9 @@
/mob/living/proc/phasein(obj/effect/decal/cleanable/B)
if(notransform)
- to_chat(src, "Finish eating first!")
+ to_chat(src, span_warning("Finish eating first!"))
return FALSE
- B.visible_message("[B] starts to bubble...")
+ B.visible_message(span_warning("[B] starts to bubble..."))
if(!do_after(src, 20, target = B))
return
if(!B)
@@ -148,7 +148,7 @@
forceMove(B.loc)
client.eye = src
SEND_SIGNAL(src, COMSIG_LIVING_AFTERPHASEIN, B)
- visible_message("[src] rises out of the pool of blood!")
+ visible_message(span_boldwarning("[src] rises out of the pool of blood!"))
exit_blood_effect(B)
if(iscarbon(src))
var/mob/living/carbon/C = src
diff --git a/code/modules/mob/living/brain/MMI.dm b/code/modules/mob/living/brain/MMI.dm
index 9041d67cb8e..d2e501307b4 100644
--- a/code/modules/mob/living/brain/MMI.dm
+++ b/code/modules/mob/living/brain/MMI.dm
@@ -55,10 +55,10 @@
if(istype(O, /obj/item/organ/brain)) //Time to stick a brain in it --NEO
var/obj/item/organ/brain/newbrain = O
if(brain)
- to_chat(user, "There's already a brain in the MMI!")
+ to_chat(user, span_warning("There's already a brain in the MMI!"))
return
if(!newbrain.brainmob)
- to_chat(user, "You aren't sure where this brain came from, but you're pretty sure it's a useless brain!")
+ to_chat(user, span_warning("You aren't sure where this brain came from, but you're pretty sure it's a useless brain!"))
return
if(!user.transferItemToLoc(O, src))
@@ -66,7 +66,7 @@
var/mob/living/brain/B = newbrain.brainmob
if(!B.key)
B.notify_ghost_cloning("Someone has put your brain in a MMI!", source = src)
- user.visible_message("[user] sticks \a [newbrain] into [src].", "[src]'s indicator light turn on as you insert [newbrain].")
+ user.visible_message(span_notice("[user] sticks \a [newbrain] into [src]."), span_notice("[src]'s indicator light turn on as you insert [newbrain]."))
set_brainmob(newbrain.brainmob)
newbrain.brainmob = null
@@ -76,10 +76,10 @@
if(!fubar_brain && !(newbrain.organ_flags & ORGAN_FAILING)) // the brain organ hasn't been beaten to death, nor was from a suicider.
brainmob.set_stat(CONSCIOUS) //we manually revive the brain mob
else if(!fubar_brain && newbrain.organ_flags & ORGAN_FAILING) // the brain is damaged, but not from a suicider
- to_chat(user, "[src]'s indicator light turns yellow and its brain integrity alarm beeps softly. Perhaps you should check [newbrain] for damage.")
+ to_chat(user, span_warning("[src]'s indicator light turns yellow and its brain integrity alarm beeps softly. Perhaps you should check [newbrain] for damage."))
playsound(src, 'sound/machines/synth_no.ogg', 5, TRUE)
else
- to_chat(user, "[src]'s indicator light turns red and its brainwave activity alarm beeps softly. Perhaps you should check [newbrain] again.")
+ to_chat(user, span_warning("[src]'s indicator light turns red and its brainwave activity alarm beeps softly. Perhaps you should check [newbrain] again."))
playsound(src, 'sound/machines/triple_beep.ogg', 5, TRUE)
brainmob.reset_perspective()
@@ -105,12 +105,12 @@
/obj/item/mmi/attack_self(mob/user)
if(!brain)
radio.on = !radio.on
- to_chat(user, "You toggle [src]'s radio system [radio.on==1 ? "on" : "off"].")
+ to_chat(user, span_notice("You toggle [src]'s radio system [radio.on==1 ? "on" : "off"]."))
else
eject_brain(user)
update_appearance()
name = initial(name)
- to_chat(user, "You unlock and upend [src], spilling the brain onto the floor.")
+ to_chat(user, span_notice("You unlock and upend [src], spilling the brain onto the floor."))
/obj/item/mmi/proc/eject_brain(mob/user)
brainmob.container = null //Reset brainmob mmi var.
@@ -202,13 +202,13 @@
set popup_menu = FALSE
if(brainmob.stat)
- to_chat(brainmob, "Can't do that while incapacitated or dead!")
+ to_chat(brainmob, span_warning("Can't do that while incapacitated or dead!"))
if(!radio.on)
- to_chat(brainmob, "Your radio is disabled!")
+ to_chat(brainmob, span_warning("Your radio is disabled!"))
return
radio.listening = !radio.listening
- to_chat(brainmob, "Radio is [radio.listening ? "now" : "no longer"] receiving broadcast.")
+ to_chat(brainmob, span_notice("Radio is [radio.listening ? "now" : "no longer"] receiving broadcast."))
/obj/item/mmi/emp_act(severity)
. = ..()
@@ -234,15 +234,15 @@
/obj/item/mmi/examine(mob/user)
. = ..()
if(radio)
- . += "There is a switch to toggle the radio system [radio.on ? "off" : "on"].[brain ? " It is currently being covered by [brain]." : null]"
+ . += span_notice("There is a switch to toggle the radio system [radio.on ? "off" : "on"].[brain ? " It is currently being covered by [brain]." : null]")
if(brainmob)
var/mob/living/brain/B = brainmob
if(!B.key || !B.mind || B.stat == DEAD)
- . += "\The [src] indicates that the brain is completely unresponsive."
+ . += span_warning("\The [src] indicates that the brain is completely unresponsive.")
else if(!B.client)
- . += "\The [src] indicates that the brain is currently inactive; it might change."
+ . += span_warning("\The [src] indicates that the brain is currently inactive; it might change.")
else
- . += "\The [src] indicates that the brain is active."
+ . += span_notice("\The [src] indicates that the brain is active.")
/obj/item/mmi/relaymove(mob/living/user, direction)
return //so that the MMI won't get a warning about not being able to move if it tries to move
@@ -251,27 +251,27 @@
var/mob/living/brain/B = brainmob
if(!B)
if(user)
- to_chat(user, "\The [src] indicates that there is no brain present!")
+ to_chat(user, span_warning("\The [src] indicates that there is no brain present!"))
return FALSE
if(!B.key || !B.mind)
if(user)
- to_chat(user, "\The [src] indicates that their mind is completely unresponsive!")
+ to_chat(user, span_warning("\The [src] indicates that their mind is completely unresponsive!"))
return FALSE
if(!B.client)
if(user)
- to_chat(user, "\The [src] indicates that their mind is currently inactive.")
+ to_chat(user, span_warning("\The [src] indicates that their mind is currently inactive."))
return FALSE
if(B.suiciding || brain?.suicided)
if(user)
- to_chat(user, "\The [src] indicates that their mind has no will to live!")
+ to_chat(user, span_warning("\The [src] indicates that their mind has no will to live!"))
return FALSE
if(B.stat == DEAD)
if(user)
- to_chat(user, "\The [src] indicates that the brain is dead!")
+ to_chat(user, span_warning("\The [src] indicates that the brain is dead!"))
return FALSE
if(brain?.organ_flags & ORGAN_FAILING)
if(user)
- to_chat(user, "\The [src] indicates that the brain is damaged!")
+ to_chat(user, span_warning("\The [src] indicates that the brain is damaged!"))
return FALSE
return TRUE
diff --git a/code/modules/mob/living/brain/brain_item.dm b/code/modules/mob/living/brain/brain_item.dm
index d4f5c4e759a..3b9e5d08a09 100644
--- a/code/modules/mob/living/brain/brain_item.dm
+++ b/code/modules/mob/living/brain/brain_item.dm
@@ -68,7 +68,7 @@
/obj/item/organ/brain/Remove(mob/living/carbon/C, special = 0, no_id_transfer = FALSE)
// Delete skillchips first as parent proc sets owner to null, and skillchips need to know the brain's owner.
if(!QDELETED(C) && length(skillchips))
- to_chat(C, "You feel your skillchips enable emergency power saving mode, deactivating as your brain leaves your body...")
+ to_chat(C, span_notice("You feel your skillchips enable emergency power saving mode, deactivating as your brain leaves your body..."))
for(var/chip in skillchips)
var/obj/item/skillchip/skillchip = chip
// Run the try_ proc with force = TRUE.
@@ -105,7 +105,7 @@
LAZYSET(brainmob.status_traits, TRAIT_BADDNA, L.status_traits[TRAIT_BADDNA])
if(L.mind && L.mind.current)
L.mind.transfer_to(brainmob)
- to_chat(brainmob, "You feel slightly disoriented. That's normal when you're just a brain.")
+ to_chat(brainmob, span_notice("You feel slightly disoriented. That's normal when you're just a brain."))
/obj/item/organ/brain/attackby(obj/item/O, mob/user, params)
user.changeNext_move(CLICK_CD_MELEE)
@@ -116,19 +116,19 @@
if((organ_flags & ORGAN_FAILING) && O.is_drainable() && O.reagents.has_reagent(/datum/reagent/medicine/mannitol)) //attempt to heal the brain
. = TRUE //don't do attack animation.
if(brainmob?.health <= HEALTH_THRESHOLD_DEAD) //if the brain is fucked anyway, do nothing
- to_chat(user, "[src] is far too damaged, there's nothing else we can do for it!")
+ to_chat(user, span_warning("[src] is far too damaged, there's nothing else we can do for it!"))
return
if(!O.reagents.has_reagent(/datum/reagent/medicine/mannitol, 10))
- to_chat(user, "There's not enough mannitol in [O] to restore [src]!")
+ to_chat(user, span_warning("There's not enough mannitol in [O] to restore [src]!"))
return
- user.visible_message("[user] starts to pour the contents of [O] onto [src].", "You start to slowly pour the contents of [O] onto [src].")
+ user.visible_message(span_notice("[user] starts to pour the contents of [O] onto [src]."), span_notice("You start to slowly pour the contents of [O] onto [src]."))
if(!do_after(user, 6 SECONDS, src))
- to_chat(user, "You failed to pour [O] onto [src]!")
+ to_chat(user, span_warning("You failed to pour [O] onto [src]!"))
return
- user.visible_message("[user] pours the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink.", "You pour the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink.")
+ user.visible_message(span_notice("[user] pours the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink."), span_notice("You pour the contents of [O] onto [src], causing it to reform its original shape and turn a slightly brighter shade of pink."))
var/healby = O.reagents.get_reagent_amount(/datum/reagent/medicine/mannitol)
setOrganDamage(damage - healby*2) //heals 2 damage per unit of mannitol, and by using "setorgandamage", we clear the failing variable if that was up
O.reagents.clear_reagents()
@@ -136,7 +136,7 @@
// Cutting out skill chips.
if(length(skillchips) && O.get_sharpness() == SHARP_EDGED)
- to_chat(user,"You begin to excise skillchips from [src].")
+ to_chat(user,span_notice("You begin to excise skillchips from [src]."))
if(do_after(user, 15 SECONDS, target = src))
for(var/chip in skillchips)
var/obj/item/skillchip/skillchip = chip
@@ -162,25 +162,25 @@
if(O.force != 0 && !(O.item_flags & NOBLUDGEON))
setOrganDamage(maxHealth) //fails the brain as the brain was attacked, they're pretty fragile.
- visible_message("[user] hits [src] with [O]!")
- to_chat(user, "You hit [src] with [O]!")
+ visible_message(span_danger("[user] hits [src] with [O]!"))
+ to_chat(user, span_danger("You hit [src] with [O]!"))
/obj/item/organ/brain/examine(mob/user)
. = ..()
if(length(skillchips))
- . += "It has a skillchip embedded in it."
+ . += span_info("It has a skillchip embedded in it.")
if(suicided)
- . += "It's started turning slightly grey. They must not have been able to handle the stress of it all."
+ . += span_info("It's started turning slightly grey. They must not have been able to handle the stress of it all.")
return
if((brainmob && (brainmob.client || brainmob.get_ghost())) || decoy_override)
if(organ_flags & ORGAN_FAILING)
- . += "It seems to still have a bit of energy within it, but it's rather damaged... You may be able to restore it with some mannitol."
+ . += span_info("It seems to still have a bit of energy within it, but it's rather damaged... You may be able to restore it with some mannitol.")
else if(damage >= BRAIN_DAMAGE_DEATH*0.5)
- . += "You can feel the small spark of life still left in this one, but it's got some bruises. You may be able to restore it with some mannitol."
+ . += span_info("You can feel the small spark of life still left in this one, but it's got some bruises. You may be able to restore it with some mannitol.")
else
- . += "You can feel the small spark of life still left in this one."
+ . += span_info("You can feel the small spark of life still left in this one.")
else
- . += "This one is completely devoid of life."
+ . += span_info("This one is completely devoid of life.")
/obj/item/organ/brain/attack(mob/living/carbon/C, mob/user)
if(!istype(C))
@@ -194,7 +194,7 @@
var/target_has_brain = C.getorgan(/obj/item/organ/brain)
if(!target_has_brain && C.is_eyes_covered())
- to_chat(user, "You're going to need to remove [C.p_their()] head cover first!")
+ to_chat(user, span_warning("You're going to need to remove [C.p_their()] head cover first!"))
return
//since these people will be dead M != usr
@@ -206,14 +206,14 @@
if(C == user)
msg = "[user] inserts [src] into [user.p_their()] head!"
- C.visible_message("[msg]",
- "[msg]")
+ C.visible_message(span_danger("[msg]"),
+ span_userdanger("[msg]"))
if(C != user)
- to_chat(C, "[user] inserts [src] into your head.")
- to_chat(user, "You insert [src] into [C]'s head.")
+ to_chat(C, span_notice("[user] inserts [src] into your head."))
+ to_chat(user, span_notice("You insert [src] into [C]'s head."))
else
- to_chat(user, "You insert [src] into your head." )
+ to_chat(user, span_notice("You insert [src] into your head.") )
Insert(C)
else
@@ -231,7 +231,7 @@
/obj/item/organ/brain/on_life(delta_time, times_fired)
if(damage >= BRAIN_DAMAGE_DEATH) //rip
- to_chat(owner, "The last spark of life in your brain fizzles out...")
+ to_chat(owner, span_userdanger("The last spark of life in your brain fizzles out..."))
owner.death()
/obj/item/organ/brain/check_damage_thresholds(mob/M)
@@ -256,11 +256,11 @@
if(owner.stat < UNCONSCIOUS) //conscious or soft-crit
var/brain_message
if(prev_damage < BRAIN_DAMAGE_MILD && damage >= BRAIN_DAMAGE_MILD)
- brain_message = "You feel lightheaded."
+ brain_message = span_warning("You feel lightheaded.")
else if(prev_damage < BRAIN_DAMAGE_SEVERE && damage >= BRAIN_DAMAGE_SEVERE)
- brain_message = "You feel less in control of your thoughts."
+ brain_message = span_warning("You feel less in control of your thoughts.")
else if(prev_damage < (BRAIN_DAMAGE_DEATH - 20) && damage >= (BRAIN_DAMAGE_DEATH - 20))
- brain_message = "You can feel your mind flickering on and off..."
+ brain_message = span_warning("You can feel your mind flickering on and off...")
if(.)
. += "\n[brain_message]"
diff --git a/code/modules/mob/living/brain/death.dm b/code/modules/mob/living/brain/death.dm
index 32db2599c0b..8166e9f8446 100644
--- a/code/modules/mob/living/brain/death.dm
+++ b/code/modules/mob/living/brain/death.dm
@@ -5,8 +5,8 @@
if(!gibbed && container)//If not gibbed but in a container.
var/obj/item/mmi = container
- mmi.visible_message("[src]'s MMI flatlines!", \
- "You hear something flatline.")
+ mmi.visible_message(span_warning("[src]'s MMI flatlines!"), \
+ span_hear("You hear something flatline."))
mmi.update_appearance()
return ..()
diff --git a/code/modules/mob/living/brain/posibrain.dm b/code/modules/mob/living/brain/posibrain.dm
index 2cf04090e0c..e65e66bf413 100644
--- a/code/modules/mob/living/brain/posibrain.dm
+++ b/code/modules/mob/living/brain/posibrain.dm
@@ -48,9 +48,9 @@ GLOBAL_VAR(posibrain_notify_cooldown)
if(!brainmob)
set_brainmob(new /mob/living/brain(src))
if(!(GLOB.ghost_role_flags & GHOSTROLE_SILICONS))
- to_chat(user, "Central Command has temporarily outlawed posibrain sentience in this sector...")
+ to_chat(user, span_warning("Central Command has temporarily outlawed posibrain sentience in this sector..."))
if(is_occupied())
- to_chat(user, "This [name] is already active!")
+ to_chat(user, span_warning("This [name] is already active!"))
return
if(next_ask > world.time)
to_chat(user, recharge_message)
@@ -70,7 +70,7 @@ GLOBAL_VAR(posibrain_notify_cooldown)
if(!istype(user) || !user.canUseTopic(src, BE_CLOSE))
return
if(input_seed)
- to_chat(user, "You set the personality seed to \"[input_seed]\".")
+ to_chat(user, span_notice("You set the personality seed to \"[input_seed]\"."))
ask_role = input_seed
update_appearance()
@@ -105,7 +105,7 @@ GLOBAL_VAR(posibrain_notify_cooldown)
if(is_occupied() || is_banned_from(user.ckey, ROLE_POSIBRAIN) || QDELETED(brainmob) || QDELETED(src) || QDELETED(user))
return
if(user.suiciding) //if they suicided, they're out forever.
- to_chat(user, "[src] fizzles slightly. Sadly it doesn't take those who suicided!")
+ to_chat(user, span_warning("[src] fizzles slightly. Sadly it doesn't take those who suicided!"))
return
var/posi_ask = tgui_alert(usr,"Become a [name]? (Warning, You can no longer be revived, and all past lives will be forgotten!)","Are you positive?",list("Yes","No"))
if(posi_ask == "No" || QDELETED(src))
@@ -138,7 +138,7 @@ GLOBAL_VAR(posibrain_notify_cooldown)
if(QDELETED(brainmob))
return
if(is_occupied()) //Prevents hostile takeover if two ghosts get the prompt or link for the same brain.
- to_chat(candidate, "This [name] was taken over before you could get to it! Perhaps it might be available later?")
+ to_chat(candidate, span_warning("This [name] was taken over before you could get to it! Perhaps it might be available later?"))
return FALSE
if(candidate.mind && !isobserver(candidate))
candidate.mind.transfer_to(brainmob)
@@ -164,12 +164,12 @@ GLOBAL_VAR(posibrain_notify_cooldown)
if(!brainmob.client)
. += "It appears to be in stand-by mode." //afk
if(DEAD)
- . += "It appears to be completely inactive."
+ . += span_deadsay("It appears to be completely inactive.")
else
. += "[dead_message]"
if(ask_role)
- . += "Current consciousness seed: \"[ask_role]\""
- . += "Alt-click to set a consciousness seed, specifying what [src] will be used for. This can help generate a personality interested in that role."
+ . += span_notice("Current consciousness seed: \"[ask_role]\"")
+ . += span_boldnotice("Alt-click to set a consciousness seed, specifying what [src] will be used for. This can help generate a personality interested in that role.")
/obj/item/mmi/posibrain/Initialize()
. = ..()
diff --git a/code/modules/mob/living/brain/skillchip.dm b/code/modules/mob/living/brain/skillchip.dm
index 393edf311eb..4bab004c685 100644
--- a/code/modules/mob/living/brain/skillchip.dm
+++ b/code/modules/mob/living/brain/skillchip.dm
@@ -151,7 +151,7 @@
chip_tally++
if(chip_tally && !silent)
- to_chat(owner, "Unusual brain biology detected during regeneration. Failsafe procedure engaged. [chip_tally] skillchips have been deactivated.")
+ to_chat(owner, span_warning("Unusual brain biology detected during regeneration. Failsafe procedure engaged. [chip_tally] skillchips have been deactivated."))
/// Disables or re-enables any extra skillchips after skillchip limit changes.
/obj/item/organ/brain/proc/update_skillchips()
diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm
index cb084bc709e..5fe2c1c8b04 100644
--- a/code/modules/mob/living/carbon/alien/alien.dm
+++ b/code/modules/mob/living/carbon/alien/alien.dm
@@ -117,8 +117,8 @@ Des: Removes all infected images from the alien.
return TRUE
/mob/living/carbon/alien/proc/alien_evolve(mob/living/carbon/alien/new_xeno)
- to_chat(src, "You begin to evolve!")
- visible_message("[src] begins to twist and contort!")
+ to_chat(src, span_noticealien("You begin to evolve!"))
+ visible_message(span_alertalien("[src] begins to twist and contort!"))
new_xeno.setDir(dir)
if(numba && unique_name)
new_xeno.numba = numba
diff --git a/code/modules/mob/living/carbon/alien/alien_defense.dm b/code/modules/mob/living/carbon/alien/alien_defense.dm
index b0984f13b37..427ac0f8980 100644
--- a/code/modules/mob/living/carbon/alien/alien_defense.dm
+++ b/code/modules/mob/living/carbon/alien/alien_defense.dm
@@ -28,18 +28,18 @@ In all, this is a lot like the monkey code. /N
AdjustParalyzed(-60)
AdjustUnconscious(-60)
AdjustSleeping(-100)
- visible_message("[user.name] nuzzles [src] trying to wake [p_them()] up!")
+ visible_message(span_notice("[user.name] nuzzles [src] trying to wake [p_them()] up!"))
else if(health > 0)
user.do_attack_animation(src, ATTACK_EFFECT_BITE)
playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1)
- visible_message("[user.name] bites [src]!", \
- "[user.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You bite [src]!")
+ visible_message(span_danger("[user.name] bites [src]!"), \
+ span_userdanger("[user.name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You bite [src]!"))
adjustBruteLoss(1)
log_combat(user, src, "attacked")
updatehealth()
else
- to_chat(user, "[name] is too injured for that.")
+ to_chat(user, span_warning("[name] is too injured for that."))
diff --git a/code/modules/mob/living/carbon/alien/alien_say.dm b/code/modules/mob/living/carbon/alien/alien_say.dm
index 353fb0efc6c..9a76e3b26fd 100644
--- a/code/modules/mob/living/carbon/alien/alien_say.dm
+++ b/code/modules/mob/living/carbon/alien/alien_say.dm
@@ -8,7 +8,7 @@
var/hivemind_spans = "alien"
if(big_voice)
hivemind_spans += " big"
- var/rendered = "Hivemind, [shown_name] [message_a]"
+ var/rendered = "Hivemind, [span_name("[shown_name]")] [message_a]"
for(var/mob/S in GLOB.player_list)
if(!S.stat && S.hivecheck())
to_chat(S, rendered)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
index e14c1a9852e..580b0e6b726 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm
@@ -43,15 +43,15 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/proc/cost_check(check_turf = FALSE, mob/living/carbon/user, silent = FALSE)
if(user.stat)
if(!silent)
- to_chat(user, "You must be conscious to do this.")
+ to_chat(user, span_noticealien("You must be conscious to do this."))
return FALSE
if(user.getPlasma() < plasma_cost)
if(!silent)
- to_chat(user, "Not enough plasma stored.")
+ to_chat(user, span_noticealien("Not enough plasma stored."))
return FALSE
if(check_turf && (!isturf(user.loc) || isspaceturf(user.loc)))
if(!silent)
- to_chat(user, "Bad place for a garden!")
+ to_chat(user, span_noticealien("Bad place for a garden!"))
return FALSE
return TRUE
@@ -72,9 +72,9 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/plant/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/weeds/node) in get_turf(user))
- to_chat(user, "There's already a weed node here!")
+ to_chat(user, span_warning("There's already a weed node here!"))
return FALSE
- user.visible_message("[user] plants some alien weeds!")
+ user.visible_message(span_alertalien("[user] plants some alien weeds!"))
new/obj/structure/alien/weeds/node(user.loc)
return TRUE
@@ -92,22 +92,22 @@ Doesn't work on other aliens/AI.*/
if(!M)
return FALSE
if(M.anti_magic_check(FALSE, FALSE, TRUE, 0))
- to_chat(user, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")
+ to_chat(user, span_noticealien("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled."))
return FALSE
var/msg = sanitize(input("Message:", "Alien Whisper") as text|null)
if(msg)
if(M.anti_magic_check(FALSE, FALSE, TRUE, 0))
- to_chat(user, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")
+ to_chat(user, span_notice("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled."))
return
log_directed_talk(user, M, msg, LOG_SAY, tag="alien whisper")
- to_chat(M, "You hear a strange, alien voice in your head...[msg]")
- to_chat(user, "You said: \"[msg]\" to [M]")
+ to_chat(M, "[span_noticealien("You hear a strange, alien voice in your head...")][msg]")
+ to_chat(user, span_noticealien("You said: \"[msg]\" to [M]"))
for(var/ded in GLOB.dead_mob_list)
if(!isobserver(ded))
continue
var/follow_link_user = FOLLOW_LINK(ded, user)
var/follow_link_whispee = FOLLOW_LINK(ded, M)
- to_chat(ded, "[follow_link_user] [user] Alien Whisper --> [follow_link_whispee] [M] [msg]")
+ to_chat(ded, "[follow_link_user] [span_name("[user]")] [span_alertalien("Alien Whisper --> ")] [follow_link_whispee] [span_name("[M]")] [span_noticealien("[msg]")]")
else
return FALSE
return TRUE
@@ -132,10 +132,10 @@ Doesn't work on other aliens/AI.*/
if (get_dist(user,M) <= 1)
M.adjustPlasma(amount)
user.adjustPlasma(-amount)
- to_chat(M, "[user] has transferred [amount] plasma to you.")
- to_chat(user, "You transfer [amount] plasma to [M].")
+ to_chat(M, span_noticealien("[user] has transferred [amount] plasma to you."))
+ to_chat(user, span_noticealien("You transfer [amount] plasma to [M]."))
else
- to_chat(user, "You need to be closer!")
+ to_chat(user, span_noticealien("You need to be closer!"))
return
/obj/effect/proc_holder/alien/acid
@@ -153,13 +153,13 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/acid/proc/corrode(atom/target,mob/living/carbon/user = usr)
if(target in oview(1,user))
if(target.acid_act(200, 1000))
- user.visible_message("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!")
+ user.visible_message(span_alertalien("[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!"))
return TRUE
else
- to_chat(user, "You cannot dissolve this object.")
+ to_chat(user, span_noticealien("You cannot dissolve this object."))
return FALSE
- to_chat(src, "[target] is too far away.")
+ to_chat(src, span_noticealien("[target] is too far away."))
return FALSE
@@ -191,10 +191,10 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/neurotoxin/fire(mob/living/carbon/user)
var/message
if(active)
- message = "You empty your neurotoxin gland."
+ message = span_notice("You empty your neurotoxin gland.")
remove_ranged_ability(message)
else
- message = "You prepare your neurotoxin gland. Left-click to fire at a target!"
+ message = span_notice("You prepare your neurotoxin gland. Left-click to fire at a target!")
add_ranged_ability(user, message, TRUE)
/obj/effect/proc_holder/alien/neurotoxin/update_icon()
@@ -214,7 +214,7 @@ Doesn't work on other aliens/AI.*/
var/mob/living/carbon/user = ranged_ability_user
if(user.getPlasma() < p_cost)
- to_chat(user, "You need at least [p_cost] plasma to spit.")
+ to_chat(user, span_warning("You need at least [p_cost] plasma to spit."))
remove_ranged_ability()
return FALSE
@@ -224,7 +224,7 @@ Doesn't work on other aliens/AI.*/
return FALSE
var/modifiers = params2list(params)
- user.visible_message("[user] spits neurotoxin!", "You spit neurotoxin.")
+ user.visible_message(span_danger("[user] spits neurotoxin!"), span_alertalien("You spit neurotoxin."))
var/obj/projectile/neurotoxin/neurotoxin = new /obj/projectile/neurotoxin(user.loc)
neurotoxin.preparePixelProjectile(target, user, modifiers)
neurotoxin.fire()
@@ -264,7 +264,7 @@ Doesn't work on other aliens/AI.*/
/obj/effect/proc_holder/alien/resin/fire(mob/living/carbon/user)
if(locate(/obj/structure/alien/resin) in user.loc)
- to_chat(user, "There is already a resin structure there!")
+ to_chat(user, span_warning("There is already a resin structure there!"))
return FALSE
if(!check_vent_block(user))
@@ -275,8 +275,8 @@ Doesn't work on other aliens/AI.*/
return FALSE
if (!cost_check(check_turf,user))
return FALSE
- to_chat(user, "You shape a [choice].")
- user.visible_message("[user] vomits up a thick purple substance and begins to shape it.")
+ to_chat(user, span_notice("You shape a [choice]."))
+ user.visible_message(span_notice("[user] vomits up a thick purple substance and begins to shape it."))
choice = structures[choice]
new choice(user.loc)
@@ -294,12 +294,12 @@ Doesn't work on other aliens/AI.*/
user.alpha = 75 //Still easy to see in lit areas with bright tiles, almost invisible on resin.
user.sneaking = 1
active = 1
- to_chat(user, "You blend into the shadows...")
+ to_chat(user, span_noticealien("You blend into the shadows..."))
else
user.alpha = initial(user.alpha)
user.sneaking = 0
active = 0
- to_chat(user, "You reveal yourself!")
+ to_chat(user, span_noticealien("You reveal yourself!"))
/mob/living/carbon/proc/getPlasma()
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
index 5b6f36c2f3e..c19e4218bf4 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/drone.dm
@@ -25,19 +25,19 @@
/obj/effect/proc_holder/alien/evolve/fire(mob/living/carbon/alien/humanoid/user)
var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode)
if(!node) //Players are Murphy's Law. We may not expect there to ever be a living xeno with no hivenode, but they _WILL_ make it happen.
- to_chat(user, "Without the hivemind, you can't possibly hold the responsibility of leadership!")
+ to_chat(user, span_danger("Without the hivemind, you can't possibly hold the responsibility of leadership!"))
return FALSE
if(node.recent_queen_death)
- to_chat(user, "Your thoughts are still too scattered to take up the position of leadership.")
+ to_chat(user, span_danger("Your thoughts are still too scattered to take up the position of leadership."))
return FALSE
if(!isturf(user.loc))
- to_chat(user, "You can't evolve here!")
+ to_chat(user, span_warning("You can't evolve here!"))
return FALSE
if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal))
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_xeno = new (user.loc)
user.alien_evolve(new_xeno)
return TRUE
else
- to_chat(user, "We already have a living royal!")
+ to_chat(user, span_warning("We already have a living royal!"))
return FALSE
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
index de9b8968e08..7d5781c27d9 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/hunter.dm
@@ -17,7 +17,7 @@
leap_icon.icon_state = "leap_[leap_on_click ? "on":"off"]"
update_icons()
if(message)
- to_chat(src, "You will now [leap_on_click ? "leap at":"slash at"] enemies!")
+ to_chat(src, span_noticealien("You will now [leap_on_click ? "leap at":"slash at"] enemies!"))
else
return
@@ -35,11 +35,11 @@
return
if(pounce_cooldown > world.time)
- to_chat(src, "You are too fatigued to pounce right now!")
+ to_chat(src, span_alertalien("You are too fatigued to pounce right now!"))
return
if(!has_gravity() || !A.has_gravity())
- to_chat(src, "It is unsafe to leap without gravity!")
+ to_chat(src, span_alertalien("It is unsafe to leap without gravity!"))
//It's also extremely buggy visually, so it's balance+bugfix
return
@@ -74,7 +74,7 @@
if(H.check_shields(src, 0, "the [name]", attack_type = LEAP_ATTACK))
blocked = TRUE
if(!blocked)
- L.visible_message("[src] pounces on [L]!", "[src] pounces on you!")
+ L.visible_message(span_danger("[src] pounces on [L]!"), span_userdanger("[src] pounces on you!"))
L.Paralyze(100)
sleep(2)//Runtime prevention (infinite bump() calls on hulks)
step_towards(src,L)
@@ -83,6 +83,6 @@
toggle_leap(0)
else if(hit_atom.density && !hit_atom.CanPass(src))
- visible_message("[src] smashes into [hit_atom]!", "[src] smashes into [hit_atom]!")
+ visible_message(span_danger("[src] smashes into [hit_atom]!"), span_alertalien("[src] smashes into [hit_atom]!"))
Paralyze(40, ignore_canstun = TRUE)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm
index 86038c84f5d..01787076020 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/caste/praetorian.dm
@@ -28,15 +28,15 @@
/obj/effect/proc_holder/alien/royal/praetorian/evolve/fire(mob/living/carbon/alien/humanoid/user)
var/obj/item/organ/alien/hivenode/node = user.getorgan(/obj/item/organ/alien/hivenode)
if(!node) //Just in case this particular Praetorian gets violated and kept by the RD as a replacement for Lamarr.
- to_chat(user, "Without the hivemind, you would be unfit to rule as queen!")
+ to_chat(user, span_warning("Without the hivemind, you would be unfit to rule as queen!"))
return FALSE
if(node.recent_queen_death)
- to_chat(user, "You are still too burdened with guilt to evolve into a queen.")
+ to_chat(user, span_warning("You are still too burdened with guilt to evolve into a queen."))
return FALSE
if(!get_alien_type(/mob/living/carbon/alien/humanoid/royal/queen))
var/mob/living/carbon/alien/humanoid/royal/queen/new_xeno = new (user.loc)
user.alien_evolve(new_xeno)
return TRUE
else
- to_chat(user, "We already have an alive queen!")
+ to_chat(user, span_warning("We already have an alive queen!"))
return FALSE
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
index 63a4f53eeeb..7b51b8d4ffb 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid.dm
@@ -42,8 +42,8 @@ GLOBAL_LIST_INIT(strippable_alien_humanoid_items, create_strippable_list(list(
/mob/living/carbon/alien/humanoid/resist_grab(moving_resist)
if(pulledby.grab_state)
- visible_message("[src] breaks free of [pulledby]'s grip!", \
- "You break free of [pulledby]'s grip!")
+ visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \
+ span_danger("You break free of [pulledby]'s grip!"))
pulledby.stop_pulling()
. = 0
diff --git a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm
index 0e9c2335611..047cba6ff23 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/humanoid_defense.dm
@@ -10,9 +10,9 @@
safe_throw_at(get_edge_target_turf(src, get_dir(user, src)), 2, 1, user)
hitverb = "slam"
playsound(loc, "punch", 25, TRUE, -1)
- visible_message("[user] [hitverb]s [src]!", \
- "[user] [hitverb]s you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [hitverb] [src]!")
+ visible_message(span_danger("[user] [hitverb]s [src]!"), \
+ span_userdanger("[user] [hitverb]s you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You [hitverb] [src]!"))
/mob/living/carbon/alien/humanoid/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(!..() || !user.combat_mode)
@@ -23,29 +23,29 @@
Unconscious(40)
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
log_combat(user, src, "pushed")
- visible_message("[user] pushes [src] down!", \
- "[user] pushes you down!", "You hear aggressive shuffling followed by a loud thud!", null, user)
- to_chat(user, "You push [src] down!")
+ visible_message(span_danger("[user] pushes [src] down!"), \
+ span_userdanger("[user] pushes you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, user)
+ to_chat(user, span_danger("You push [src] down!"))
return TRUE
var/damage = rand(1, 9)
if (prob(90))
playsound(loc, "punch", 25, TRUE, -1)
- visible_message("[user] punches [src]!", \
- "[user] punches you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You punch [src]!")
+ visible_message(span_danger("[user] punches [src]!"), \
+ span_userdanger("[user] punches you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You punch [src]!"))
if ((stat != DEAD) && (damage > 9 || prob(5)))//Regular humans have a very small chance of knocking an alien down.
Unconscious(40)
- visible_message("[user] knocks [src] down!", \
- "[user] knocks you down!", "You hear a sickening sound of flesh hitting flesh!", null, user)
- to_chat(user, "You knock [src] down!")
+ visible_message(span_danger("[user] knocks [src] down!"), \
+ span_userdanger("[user] knocks you down!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user)
+ to_chat(user, span_danger("You knock [src] down!"))
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected))
apply_damage(damage, BRUTE, affecting)
log_combat(user, src, "attacked")
else
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
- visible_message("[user]'s punch misses [src]!", \
- "You avoid [user]'s punch!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your punch misses [src]!")
+ visible_message(span_danger("[user]'s punch misses [src]!"), \
+ span_danger("You avoid [user]'s punch!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your punch misses [src]!"))
/mob/living/carbon/alien/humanoid/do_attack_animation(atom/A, visual_effect_icon, obj/item/used_item, no_effect)
diff --git a/code/modules/mob/living/carbon/alien/humanoid/queen.dm b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
index 2db2b2649e0..05a5202036d 100644
--- a/code/modules/mob/living/carbon/alien/humanoid/queen.dm
+++ b/code/modules/mob/living/carbon/alien/humanoid/queen.dm
@@ -67,10 +67,10 @@
return FALSE
if(locate(/obj/structure/alien/egg) in get_turf(user))
- to_chat(user, "There's already an egg here.")
+ to_chat(user, span_alertalien("There's already an egg here."))
return FALSE
- user.visible_message("[user] lays an egg!")
+ user.visible_message(span_alertalien("[user] lays an egg!"))
new /obj/structure/alien/egg(user.loc)
return TRUE
@@ -87,20 +87,20 @@
/obj/effect/proc_holder/alien/royal/queen/promote/fire(mob/living/carbon/alien/user)
var/obj/item/queenpromote/prom
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/))
- to_chat(user, "You already have a Praetorian!")
+ to_chat(user, span_noticealien("You already have a Praetorian!"))
return
else
for(prom in user)
- to_chat(user, "You discard [prom].")
+ to_chat(user, span_noticealien("You discard [prom]."))
qdel(prom)
return
prom = new (user.loc)
if(!user.put_in_active_hand(prom, 1))
- to_chat(user, "You must empty your hands before preparing the parasite.")
+ to_chat(user, span_warning("You must empty your hands before preparing the parasite."))
return
else //Just in case telling the player only once is not enough!
- to_chat(user, "Use the royal parasite on one of your children to promote her to Praetorian!")
+ to_chat(user, span_noticealien("Use the royal parasite on one of your children to promote her to Praetorian!"))
return
/obj/item/queenpromote
@@ -116,28 +116,28 @@
/obj/item/queenpromote/attack(mob/living/M, mob/living/carbon/alien/humanoid/user)
if(!isalienadult(M) || isalienroyal(M))
- to_chat(user, "You may only use this with your adult, non-royal children!")
+ to_chat(user, span_noticealien("You may only use this with your adult, non-royal children!"))
return
if(get_alien_type(/mob/living/carbon/alien/humanoid/royal/praetorian/))
- to_chat(user, "You already have a Praetorian!")
+ to_chat(user, span_noticealien("You already have a Praetorian!"))
return
var/mob/living/carbon/alien/humanoid/A = M
if(A.stat == CONSCIOUS && A.mind && A.key)
if(!user.usePlasma(500))
- to_chat(user, "You must have 500 plasma stored to use this!")
+ to_chat(user, span_noticealien("You must have 500 plasma stored to use this!"))
return
- to_chat(A, "The queen has granted you a promotion to Praetorian!")
- user.visible_message("[A] begins to expand, twist and contort!")
+ to_chat(A, span_noticealien("The queen has granted you a promotion to Praetorian!"))
+ user.visible_message(span_alertalien("[A] begins to expand, twist and contort!"))
var/mob/living/carbon/alien/humanoid/royal/praetorian/new_prae = new (A.loc)
A.mind.transfer_to(new_prae)
qdel(A)
qdel(src)
return
else
- to_chat(user, "This child must be alert and responsive to become a Praetorian!")
+ to_chat(user, span_warning("This child must be alert and responsive to become a Praetorian!"))
/obj/item/queenpromote/attack_self(mob/user)
- to_chat(user, "You discard [src].")
+ to_chat(user, span_noticealien("You discard [src]."))
qdel(src)
diff --git a/code/modules/mob/living/carbon/alien/larva/larva.dm b/code/modules/mob/living/carbon/alien/larva/larva.dm
index 23baa12e7a2..6a0018a5fff 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva.dm
@@ -71,11 +71,11 @@
return
/mob/living/carbon/alien/larva/stripPanelUnequip(obj/item/what, mob/who)
- to_chat(src, "You don't have the dexterity to do this!")
+ to_chat(src, span_warning("You don't have the dexterity to do this!"))
return
/mob/living/carbon/alien/larva/stripPanelEquip(obj/item/what, mob/who)
- to_chat(src, "You don't have the dexterity to do this!")
+ to_chat(src, span_warning("You don't have the dexterity to do this!"))
return
diff --git a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm
index 4560b950585..8118f0a320f 100644
--- a/code/modules/mob/living/carbon/alien/larva/larva_defense.dm
+++ b/code/modules/mob/living/carbon/alien/larva/larva_defense.dm
@@ -6,9 +6,9 @@
if (prob(90))
playsound(loc, "punch", 25, TRUE, -1)
log_combat(user, src, "attacked")
- visible_message("[user] kicks [src]!", \
- "[user] kicks you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You kick [src]!")
+ visible_message(span_danger("[user] kicks [src]!"), \
+ span_userdanger("[user] kicks you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You kick [src]!"))
if ((stat != DEAD) && (damage > 4.9))
Unconscious(rand(100,200))
@@ -16,9 +16,9 @@
apply_damage(damage, BRUTE, affecting)
else
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
- visible_message("[user]'s kick misses [src]!", \
- "You avoid [user]'s kick!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your kick misses [src]!")
+ visible_message(span_danger("[user]'s kick misses [src]!"), \
+ span_danger("You avoid [user]'s kick!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your kick misses [src]!"))
/mob/living/carbon/alien/larva/attack_hulk(mob/living/carbon/human/user)
. = ..()
diff --git a/code/modules/mob/living/carbon/alien/larva/powers.dm b/code/modules/mob/living/carbon/alien/larva/powers.dm
index 33ef5980f00..5e576a7029e 100644
--- a/code/modules/mob/living/carbon/alien/larva/powers.dm
+++ b/code/modules/mob/living/carbon/alien/larva/powers.dm
@@ -11,12 +11,12 @@
if (user.layer != ABOVE_NORMAL_TURF_LAYER)
user.layer = ABOVE_NORMAL_TURF_LAYER
- user.visible_message("[user] scurries to the ground!", \
- "You are now hiding.")
+ user.visible_message(span_name("[user] scurries to the ground!"), \
+ span_noticealien("You are now hiding."))
else
user.layer = MOB_LAYER
- user.visible_message("[user] slowly peeks up from the ground...", \
- "You stop hiding.")
+ user.visible_message(span_notice("[user] slowly peeks up from the ground..."), \
+ span_noticealien("You stop hiding."))
return 1
@@ -33,19 +33,19 @@
var/mob/living/carbon/alien/larva/L = user
if(L.handcuffed || L.legcuffed) // Cuffing larvas ? Eh ?
- to_chat(user, "You cannot evolve when you are cuffed!")
+ to_chat(user, span_warning("You cannot evolve when you are cuffed!"))
return
if(L.amount_grown >= L.max_grown) //TODO ~Carn
- to_chat(L, "You are growing into a beautiful alien! It is time to choose a caste.")
- to_chat(L, "There are three to choose from:")
- to_chat(L, "Hunters are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone.")
- to_chat(L, "Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters.")
- to_chat(L, "Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities.")
+ to_chat(L, span_name("You are growing into a beautiful alien! It is time to choose a caste."))
+ to_chat(L, span_info("There are three to choose from:"))
+ to_chat(L, span_name("Hunters are the most agile caste, tasked with hunting for hosts. They are faster than a human and can even pounce, but are not much tougher than a drone."))
+ to_chat(L, span_name("Sentinels are tasked with protecting the hive. With their ranged spit, invisibility, and high health, they make formidable guardians and acceptable secondhand hunters."))
+ to_chat(L, span_name("Drones are the weakest and slowest of the castes, but can grow into a praetorian and then queen if no queen exists, and are vital to maintaining a hive with their resin secretion abilities."))
var/alien_caste = tgui_alert(L, "Please choose which alien caste you shall belong to.",,list("Hunter","Sentinel","Drone"))
if(L.movement_type & VENTCRAWLING)
- to_chat(user, "You cannot evolve while ventcrawling!")
+ to_chat(user, span_warning("You cannot evolve while ventcrawling!"))
return
if(user.incapacitated()) //something happened to us while we were choosing.
@@ -63,5 +63,5 @@
L.alien_evolve(new_xeno)
return
else
- to_chat(user, "You are not fully grown!")
+ to_chat(user, span_warning("You are not fully grown!"))
return
diff --git a/code/modules/mob/living/carbon/alien/organs.dm b/code/modules/mob/living/carbon/alien/organs.dm
index 93f3d3948f9..0bb5c068aff 100644
--- a/code/modules/mob/living/carbon/alien/organs.dm
+++ b/code/modules/mob/living/carbon/alien/organs.dm
@@ -126,13 +126,13 @@
if(!owner|| owner.stat == DEAD)
return
if(isalien(owner)) //Different effects for aliens than humans
- to_chat(owner, "Your Queen has been struck down!")
- to_chat(owner, "You are struck with overwhelming agony! You feel confused, and your connection to the hivemind is severed.")
+ to_chat(owner, span_userdanger("Your Queen has been struck down!"))
+ to_chat(owner, span_danger("You are struck with overwhelming agony! You feel confused, and your connection to the hivemind is severed."))
owner.emote("roar")
owner.Stun(200) //Actually just slows them down a bit.
else if(ishuman(owner)) //Humans, being more fragile, are more overwhelmed by the mental backlash.
- to_chat(owner, "You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!")
+ to_chat(owner, span_danger("You feel a splitting pain in your head, and are struck with a wave of nausea. You cannot hear the hivemind anymore!"))
owner.emote("scream")
owner.Paralyze(100)
@@ -151,7 +151,7 @@
recent_queen_death = FALSE
if(!owner) //In case the xeno is butchered or subjected to surgery after death.
return
- to_chat(owner, "The pain of the queen's death is easing. You begin to hear the hivemind again.")
+ to_chat(owner, span_noticealien("The pain of the queen's death is easing. You begin to hear the hivemind again."))
owner.clear_alert("alien_noqueen")
#undef QUEEN_DEATH_DEBUFF_DURATION
diff --git a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm
index 77b7a66d3df..3c7be5330d0 100644
--- a/code/modules/mob/living/carbon/alien/special/alien_embryo.dm
+++ b/code/modules/mob/living/carbon/alien/special/alien_embryo.dm
@@ -19,9 +19,9 @@
/obj/item/organ/body_egg/alien_embryo/on_find(mob/living/finder)
..()
if(stage < 5)
- to_chat(finder, "It's small and weak, barely the size of a foetus.")
+ to_chat(finder, span_notice("It's small and weak, barely the size of a foetus."))
else
- to_chat(finder, "It's grown quite large, and writhes slightly as you look at it.")
+ to_chat(finder, span_notice("It's grown quite large, and writhes slightly as you look at it."))
if(prob(10))
AttemptGrow(0)
@@ -34,24 +34,24 @@
if(DT_PROB(1, delta_time))
owner.emote("cough")
if(DT_PROB(1, delta_time))
- to_chat(owner, "Your throat feels sore.")
+ to_chat(owner, span_danger("Your throat feels sore."))
if(DT_PROB(1, delta_time))
- to_chat(owner, "Mucous runs down the back of your throat.")
+ to_chat(owner, span_danger("Mucous runs down the back of your throat."))
if(5)
if(DT_PROB(1, delta_time))
owner.emote("sneeze")
if(DT_PROB(1, delta_time))
owner.emote("cough")
if(DT_PROB(2, delta_time))
- to_chat(owner, "Your muscles ache.")
+ to_chat(owner, span_danger("Your muscles ache."))
if(prob(20))
owner.take_bodypart_damage(1)
if(DT_PROB(2, delta_time))
- to_chat(owner, "Your stomach hurts.")
+ to_chat(owner, span_danger("Your stomach hurts."))
if(prob(20))
owner.adjustToxLoss(1)
if(6)
- to_chat(owner, "You feel something tearing its way out of your chest...")
+ to_chat(owner, span_danger("You feel something tearing its way out of your chest..."))
owner.adjustToxLoss(5 * delta_time) // Why is this [TOX]?
/// Controls Xenomorph Embryo growth. If embryo is fully grown (or overgrown), stop the proc. If not, increase the stage by one and if it's not fully grown (stage 6), add a timer to do this proc again after however long the growth time variable is.
@@ -115,10 +115,10 @@
new_xeno.invisibility = 0
if(gib_on_success)
- new_xeno.visible_message("[new_xeno] bursts out of [owner] in a shower of gore!", "You exit [owner], your previous host.", "You hear organic matter ripping and tearing!")
+ new_xeno.visible_message(span_danger("[new_xeno] bursts out of [owner] in a shower of gore!"), span_userdanger("You exit [owner], your previous host."), span_hear("You hear organic matter ripping and tearing!"))
owner.gib(TRUE)
else
- new_xeno.visible_message("[new_xeno] wriggles out of [owner]!", "You exit [owner], your previous host.")
+ new_xeno.visible_message(span_danger("[new_xeno] wriggles out of [owner]!"), span_userdanger("You exit [owner], your previous host."))
owner.adjustBruteLoss(40)
owner.cut_overlay(overlay)
qdel(src)
diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm
index 55b6c107455..19a39418fa4 100644
--- a/code/modules/mob/living/carbon/alien/special/facehugger.dm
+++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm
@@ -83,11 +83,11 @@
return
switch(stat)
if(DEAD,UNCONSCIOUS)
- . += "[src] is not moving."
+ . += span_boldannounce("[src] is not moving.")
if(CONSCIOUS)
- . += "[src] seems to be active!"
+ . += span_boldannounce("[src] seems to be active!")
if (sterile)
- . += "It looks like the proboscis has been removed."
+ . += span_boldannounce("It looks like the proboscis has been removed.")
/obj/item/clothing/mask/facehugger/should_atmos_process(datum/gas_mixture/air, exposed_temperature)
return (exposed_temperature > 300)
@@ -160,8 +160,8 @@
if(target.wear_mask && istype(target.wear_mask, /obj/item/clothing/mask/facehugger))
return FALSE
// passed initial checks - time to leap!
- M.visible_message("[src] leaps at [M]'s face!", \
- "[src] leaps at your face!")
+ M.visible_message(span_danger("[src] leaps at [M]'s face!"), \
+ span_userdanger("[src] leaps at your face!"))
// probiscis-blocker handling
if(iscarbon(M))
@@ -170,16 +170,16 @@
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(H.is_mouth_covered(head_only = 1))
- H.visible_message("[src] smashes against [H]'s [H.head]!", \
- "[src] smashes against your [H.head]!")
+ H.visible_message(span_danger("[src] smashes against [H]'s [H.head]!"), \
+ span_userdanger("[src] smashes against your [H.head]!"))
Die()
return FALSE
if(target.wear_mask)
var/obj/item/clothing/W = target.wear_mask
if(target.dropItemToGround(W))
- target.visible_message("[src] tears [W] off of [target]'s face!", \
- "[src] tears [W] off of your face!")
+ target.visible_message(span_danger("[src] tears [W] off of [target]'s face!"), \
+ span_userdanger("[src] tears [W] off of your face!"))
target.equip_to_slot_if_possible(src, ITEM_SLOT_MASK, 0, 1, 1)
return TRUE // time for a smoke
@@ -213,8 +213,8 @@
return
if(!sterile)
- target.visible_message("[src] falls limp after violating [target]'s face!", \
- "[src] falls limp after violating your face!")
+ target.visible_message(span_danger("[src] falls limp after violating [target]'s face!"), \
+ span_userdanger("[src] falls limp after violating your face!"))
Die()
icon_state = "[base_icon_state]_impregnated"
@@ -227,8 +227,8 @@
log_game("[key_name(target)] was impregnated by a facehugger at [loc_name(T)]")
else
- target.visible_message("[src] violates [target]'s face!", \
- "[src] violates your face!")
+ target.visible_message(span_danger("[src] violates [target]'s face!"), \
+ span_userdanger("[src] violates your face!"))
/obj/item/clothing/mask/facehugger/proc/GoActive()
if(stat == DEAD || stat == CONSCIOUS)
@@ -257,7 +257,7 @@
inhand_icon_state = "facehugger_inactive"
stat = DEAD
- visible_message("[src] curls up into a ball!")
+ visible_message(span_danger("[src] curls up into a ball!"))
/proc/CanHug(mob/living/M)
if(!istype(M))
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index 9fe77fc00bc..aebfebabdc8 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -30,7 +30,7 @@
. = ..()
if(!.)
var/obj/item/held_item = get_active_held_item()
- to_chat(usr, "Your other hand is too busy holding [held_item].")
+ to_chat(usr, span_warning("Your other hand is too busy holding [held_item]."))
return
if(!held_index)
@@ -109,8 +109,8 @@
take_bodypart_damage(10 + 5 * extra_speed, check_armor = TRUE, wound_bonus = extra_speed * 5)
victim.Paralyze(2 SECONDS)
Paralyze(2 SECONDS)
- visible_message("[src] crashes into [victim][extra_speed ? " really hard" : ""], knocking them both over!",\
- "You violently crash into [victim][extra_speed ? " extra hard" : ""]!")
+ visible_message(span_danger("[src] crashes into [victim][extra_speed ? " really hard" : ""], knocking them both over!"),\
+ span_userdanger("You violently crash into [victim][extra_speed ? " extra hard" : ""]!"))
playsound(src,'sound/weapons/punch1.ogg',50,TRUE)
@@ -160,7 +160,7 @@
thrown_thing = throwable_mob
stop_pulling()
if(HAS_TRAIT(src, TRAIT_PACIFISM))
- to_chat(src, "You gently let go of [throwable_mob].")
+ to_chat(src, span_notice("You gently let go of [throwable_mob]."))
return
else
thrown_thing = I.on_thrown(src, target)
@@ -181,8 +181,8 @@
power_throw++
if(pulling && grab_state >= GRAB_NECK)
power_throw++
- visible_message("[src] throws [thrown_thing][power_throw ? " really hard!" : "."]", \
- "You throw [thrown_thing][power_throw ? " really hard!" : "."]")
+ visible_message(span_danger("[src] throws [thrown_thing][power_throw ? " really hard!" : "."]"), \
+ span_danger("You throw [thrown_thing][power_throw ? " really hard!" : "."]"))
log_message("has thrown [thrown_thing] [power_throw ? "really hard" : ""]", LOG_ATTACK)
newtonian_move(get_dir(target, src))
thrown_thing.safe_throw_at(target, thrown_thing.throw_range, thrown_thing.throw_speed + power_throw, src, null, null, null, move_force)
@@ -227,15 +227,15 @@
if(handcuffed)
var/obj/item/restraints/O = src.get_item_by_slot(ITEM_SLOT_HANDCUFFED)
buckle_cd = O.breakouttime
- visible_message("[src] attempts to unbuckle [p_them()]self!", \
- "You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)")
+ visible_message(span_warning("[src] attempts to unbuckle [p_them()]self!"), \
+ span_notice("You attempt to unbuckle yourself... (This will take around [round(buckle_cd/600,1)] minute\s, and you need to stay still.)"))
if(do_after(src, buckle_cd, target = src, timed_action_flags = IGNORE_HELD_ITEM))
if(!buckled)
return
buckled.user_unbuckle_mob(src,src)
else
if(src && buckled)
- to_chat(src, "You fail to unbuckle yourself!")
+ to_chat(src, span_warning("You fail to unbuckle yourself!"))
else
buckled.user_unbuckle_mob(src,src)
@@ -243,12 +243,12 @@
adjust_fire_stacks(-5)
Paralyze(60, ignore_canstun = TRUE)
spin(32,2)
- visible_message("[src] rolls on the floor, trying to put [p_them()]self out!", \
- "You stop, drop, and roll!")
+ visible_message(span_danger("[src] rolls on the floor, trying to put [p_them()]self out!"), \
+ span_notice("You stop, drop, and roll!"))
sleep(30)
if(fire_stacks <= 0 && !QDELETED(src))
- visible_message("[src] successfully extinguishes [p_them()]self!", \
- "You extinguish yourself.")
+ visible_message(span_danger("[src] successfully extinguishes [p_them()]self!"), \
+ span_notice("You extinguish yourself."))
extinguish_mob()
return
@@ -273,26 +273,26 @@
/mob/living/carbon/proc/cuff_resist(obj/item/I, breakouttime = 1 MINUTES, cuff_break = 0)
if(I.item_flags & BEING_REMOVED)
- to_chat(src, "You're already attempting to remove [I]!")
+ to_chat(src, span_warning("You're already attempting to remove [I]!"))
return
I.item_flags |= BEING_REMOVED
breakouttime = I.breakouttime
if(!cuff_break)
- visible_message("[src] attempts to remove [I]!")
- to_chat(src, "You attempt to remove [I]... (This will take around [DisplayTimeText(breakouttime)] and you need to stand still.)")
+ visible_message(span_warning("[src] attempts to remove [I]!"))
+ to_chat(src, span_notice("You attempt to remove [I]... (This will take around [DisplayTimeText(breakouttime)] and you need to stand still.)"))
if(do_after(src, breakouttime, target = src, timed_action_flags = IGNORE_HELD_ITEM))
. = clear_cuffs(I, cuff_break)
else
- to_chat(src, "You fail to remove [I]!")
+ to_chat(src, span_warning("You fail to remove [I]!"))
else if(cuff_break == FAST_CUFFBREAK)
breakouttime = 50
- visible_message("[src] is trying to break [I]!")
- to_chat(src, "You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)")
+ visible_message(span_warning("[src] is trying to break [I]!"))
+ to_chat(src, span_notice("You attempt to break [I]... (This will take around 5 seconds and you need to stand still.)"))
if(do_after(src, breakouttime, target = src, timed_action_flags = IGNORE_HELD_ITEM))
. = clear_cuffs(I, cuff_break)
else
- to_chat(src, "You fail to break [I]!")
+ to_chat(src, span_warning("You fail to break [I]!"))
else if(cuff_break == INSTANT_CUFFBREAK)
. = clear_cuffs(I, cuff_break)
@@ -334,8 +334,8 @@
return FALSE
if(I != handcuffed && I != legcuffed)
return FALSE
- visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!")
- to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].")
+ visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!"))
+ to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I]."))
if(cuff_break)
. = !((I == handcuffed) || (I == legcuffed))
@@ -409,21 +409,21 @@
if(nutrition < 100 && !blood && !force)
if(message)
- visible_message("[src] dry heaves!", \
- "You try to throw up, but there's nothing in your stomach!")
+ visible_message(span_warning("[src] dry heaves!"), \
+ span_userdanger("You try to throw up, but there's nothing in your stomach!"))
if(stun)
Paralyze(200)
return TRUE
if(is_mouth_covered()) //make this add a blood/vomit overlay later it'll be hilarious
if(message)
- visible_message("[src] throws up all over [p_them()]self!", \
- "You throw up all over yourself!")
+ visible_message(span_danger("[src] throws up all over [p_them()]self!"), \
+ span_userdanger("You throw up all over yourself!"))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomitself)
distance = 0
else
if(message)
- visible_message("[src] throws up!", "You throw up!")
+ visible_message(span_danger("[src] throws up!"), span_userdanger("You throw up!"))
if(!isflyperson(src))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "vomit", /datum/mood_event/vomit)
@@ -461,8 +461,8 @@
* * amount: int The amount of reagent
*/
/mob/living/carbon/proc/expel_ingested(atom/bite, amount)
- visible_message("[src] throws up all over [p_them()]self!", \
- "You are unable to keep the [bite] down without a stomach!")
+ visible_message(span_danger("[src] throws up all over [p_them()]self!"), \
+ span_userdanger("You are unable to keep the [bite] down without a stomach!"))
var/turf/floor = get_turf(src)
var/obj/effect/decal/cleanable/vomit/spew = new(floor, get_static_viruses())
@@ -880,7 +880,7 @@
O.Remove(src)
O.forceMove(drop_location())
if(organs_amt)
- to_chat(user, "You retrieve some of [src]\'s internal organs!")
+ to_chat(user, span_notice("You retrieve some of [src]\'s internal organs!"))
remove_all_embedded_objects()
/mob/living/carbon/extinguish_mob()
@@ -992,21 +992,21 @@
if(BP)
BP.drop_limb()
else
- to_chat(usr, "[src] doesn't have such bodypart.")
+ to_chat(usr, span_boldwarning("[src] doesn't have such bodypart."))
if("add")
if(BP)
- to_chat(usr, "[src] already has such bodypart.")
+ to_chat(usr, span_boldwarning("[src] already has such bodypart."))
else
if(!regenerate_limb(result))
- to_chat(usr, "[src] cannot have such bodypart.")
+ to_chat(usr, span_boldwarning("[src] cannot have such bodypart."))
if("augment")
if(ishuman(src))
if(BP)
BP.change_bodypart_status(BODYPART_ROBOTIC, TRUE, TRUE)
else
- to_chat(usr, "[src] doesn't have such bodypart.")
+ to_chat(usr, span_boldwarning("[src] doesn't have such bodypart."))
else
- to_chat(usr, "Only humans can be augmented.")
+ to_chat(usr, span_boldwarning("Only humans can be augmented."))
admin_ticket_log("[key_name_admin(usr)] has modified the bodyparts of [src]")
if(href_list[VV_HK_MAKE_AI])
if(!check_rights(R_SPAWN))
@@ -1030,14 +1030,14 @@
if(!usr)
return
if(QDELETED(src))
- to_chat(usr, "Mob doesn't exist anymore.")
+ to_chat(usr, span_boldwarning("Mob doesn't exist anymore."))
return
if(result)
var/chosenart = artnames[result]
var/datum/martial_art/MA = new chosenart
MA.teach(src)
log_admin("[key_name(usr)] has taught [MA] to [key_name(src)].")
- message_admins("[key_name_admin(usr)] has taught [MA] to [key_name_admin(src)].")
+ message_admins(span_notice("[key_name_admin(usr)] has taught [MA] to [key_name_admin(src)]."))
if(href_list[VV_HK_GIVE_TRAUMA])
if(!check_rights(NONE))
return
@@ -1053,13 +1053,13 @@
var/datum/brain_trauma/BT = gain_trauma(result)
if(BT)
log_admin("[key_name(usr)] has traumatized [key_name(src)] with [BT.name]")
- message_admins("[key_name_admin(usr)] has traumatized [key_name_admin(src)] with [BT.name].")
+ message_admins(span_notice("[key_name_admin(usr)] has traumatized [key_name_admin(src)] with [BT.name]."))
if(href_list[VV_HK_CURE_TRAUMA])
if(!check_rights(NONE))
return
cure_all_traumas(TRAUMA_RESILIENCE_ABSOLUTE)
log_admin("[key_name(usr)] has cured all traumas from [key_name(src)].")
- message_admins("[key_name_admin(usr)] has cured all traumas from [key_name_admin(src)].")
+ message_admins(span_notice("[key_name_admin(usr)] has cured all traumas from [key_name_admin(src)]."))
if(href_list[VV_HK_HALLUCINATION])
if(!check_rights(NONE))
return
diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm
index 74f2d490017..e9c1d809193 100644
--- a/code/modules/mob/living/carbon/carbon_defense.dm
+++ b/code/modules/mob/living/carbon/carbon_defense.dm
@@ -63,8 +63,8 @@
var/obj/item/I = AM
I.attack_hand(src)
if(get_active_held_item() == I) //if our attack_hand() picks up the item...
- visible_message("[src] catches [I]!", \
- "You catch [I] in mid-air!")
+ visible_message(span_warning("[src] catches [I]!"), \
+ span_userdanger("You catch [I] in mid-air!"))
throw_mode_off(THROW_MODE_TOGGLE)
return TRUE
return ..()
@@ -133,10 +133,10 @@
attack_message_victim = "[user] [message_verb_continuous] you[message_hit_area] with [I][extra_wound_details]!"
if(user == src)
attack_message_victim = "You [message_verb_simple] yourself[message_hit_area] with [I][extra_wound_details]!"
- visible_message("[attack_message_spectator]",\
- "[attack_message_victim]", null, COMBAT_MESSAGE_RANGE, user)
+ visible_message(span_danger("[attack_message_spectator]"),\
+ span_userdanger("[attack_message_victim]"), null, COMBAT_MESSAGE_RANGE, user)
if(user != src)
- to_chat(user, "[attack_message_attacker]")
+ to_chat(user, span_danger("[attack_message_attacker]"))
return TRUE
@@ -205,8 +205,8 @@
if(M.powerlevel < 0)
M.powerlevel = 0
- visible_message("The [M.name] shocks [src]!", \
- "The [M.name] shocks you!")
+ visible_message(span_danger("The [M.name] shocks [src]!"), \
+ span_userdanger("The [M.name] shocks you!"))
do_sparks(5, TRUE, src)
var/power = M.powerlevel + rand(0,3)
@@ -280,9 +280,9 @@
if(target.IsKnockdown() && !target.IsParalyzed())
target.Paralyze(SHOVE_CHAIN_PARALYZE)
- target.visible_message("[name] kicks [target.name] onto [target.p_their()] side!",
- "You're kicked onto your side by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src)
- to_chat(src, "You kick [target.name] onto [target.p_their()] side!")
+ target.visible_message(span_danger("[name] kicks [target.name] onto [target.p_their()] side!"),
+ span_userdanger("You're kicked onto your side by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src)
+ to_chat(src, span_danger("You kick [target.name] onto [target.p_their()] side!"))
addtimer(CALLBACK(target, /mob/living/proc/SetKnockdown, 0), SHOVE_CHAIN_PARALYZE)
log_combat(src, target, "kicks", "onto their side (paralyzing)")
@@ -301,36 +301,36 @@
break
if((!target_table && !target_collateral_carbon && !target_disposal_bin) || directional_blocked)
target.Knockdown(SHOVE_KNOCKDOWN_SOLID)
- target.visible_message("[name] shoves [target.name], knocking [target.p_them()] down!",
- "You're knocked down from a shove by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src)
- to_chat(src, "You shove [target.name], knocking [target.p_them()] down!")
+ target.visible_message(span_danger("[name] shoves [target.name], knocking [target.p_them()] down!"),
+ span_userdanger("You're knocked down from a shove by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src)
+ to_chat(src, span_danger("You shove [target.name], knocking [target.p_them()] down!"))
log_combat(src, target, "shoved", "knocking them down")
else if(target_table)
target.Knockdown(SHOVE_KNOCKDOWN_TABLE)
- target.visible_message("[name] shoves [target.name] onto \the [target_table]!",
- "You're shoved onto \the [target_table] by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src)
- to_chat(src, "You shove [target.name] onto \the [target_table]!")
+ target.visible_message(span_danger("[name] shoves [target.name] onto \the [target_table]!"),
+ span_userdanger("You're shoved onto \the [target_table] by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src)
+ to_chat(src, span_danger("You shove [target.name] onto \the [target_table]!"))
target.throw_at(target_table, 1, 1, null, FALSE) //1 speed throws with no spin are basically just forcemoves with a hard collision check
log_combat(src, target, "shoved", "onto [target_table] (table)")
else if(target_collateral_carbon)
target.Knockdown(SHOVE_KNOCKDOWN_HUMAN)
if(!target_collateral_carbon.is_shove_knockdown_blocked())
target_collateral_carbon.Knockdown(SHOVE_KNOCKDOWN_COLLATERAL)
- target.visible_message("[name] shoves [target.name] into [target_collateral_carbon.name]!",
- "You're shoved into [target_collateral_carbon.name] by [name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src)
- to_chat(src, "You shove [target.name] into [target_collateral_carbon.name]!")
+ target.visible_message(span_danger("[name] shoves [target.name] into [target_collateral_carbon.name]!"),
+ span_userdanger("You're shoved into [target_collateral_carbon.name] by [name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src)
+ to_chat(src, span_danger("You shove [target.name] into [target_collateral_carbon.name]!"))
log_combat(src, target, "shoved", "into [target_collateral_carbon.name]")
else if(target_disposal_bin)
target.Knockdown(SHOVE_KNOCKDOWN_SOLID)
target.forceMove(target_disposal_bin)
- target.visible_message("[name] shoves [target.name] into \the [target_disposal_bin]!",
- "You're shoved into \the [target_disposal_bin] by [target.name]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, src)
- to_chat(src, "You shove [target.name] into \the [target_disposal_bin]!")
+ target.visible_message(span_danger("[name] shoves [target.name] into \the [target_disposal_bin]!"),
+ span_userdanger("You're shoved into \the [target_disposal_bin] by [target.name]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, src)
+ to_chat(src, span_danger("You shove [target.name] into \the [target_disposal_bin]!"))
log_combat(src, target, "shoved", "into [target_disposal_bin] (disposal bin)")
else
- target.visible_message("[name] shoves [target.name]!",
- "You're shoved by [name]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, src)
- to_chat(src, "You shove [target.name]!")
+ target.visible_message(span_danger("[name] shoves [target.name]!"),
+ span_userdanger("You're shoved by [name]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, src)
+ to_chat(src, span_danger("You shove [target.name]!"))
var/target_held_item = target.get_active_held_item()
var/knocked_item = FALSE
if(!is_type_in_typecache(target_held_item, GLOB.shove_disarming_types))
@@ -338,14 +338,14 @@
if(!target.has_movespeed_modifier(/datum/movespeed_modifier/shove))
target.add_movespeed_modifier(/datum/movespeed_modifier/shove)
if(target_held_item)
- target.visible_message("[target.name]'s grip on \the [target_held_item] loosens!",
- "Your grip on \the [target_held_item] loosens!", null, COMBAT_MESSAGE_RANGE)
+ target.visible_message(span_danger("[target.name]'s grip on \the [target_held_item] loosens!"),
+ span_warning("Your grip on \the [target_held_item] loosens!"), null, COMBAT_MESSAGE_RANGE)
addtimer(CALLBACK(target, /mob/living/carbon/proc/clear_shove_slowdown), SHOVE_SLOWDOWN_LENGTH)
else if(target_held_item)
target.dropItemToGround(target_held_item)
knocked_item = TRUE
- target.visible_message("[target.name] drops \the [target_held_item]!",
- "You drop \the [target_held_item]!", null, COMBAT_MESSAGE_RANGE)
+ target.visible_message(span_danger("[target.name] drops \the [target_held_item]!"),
+ span_warning("You drop \the [target_held_item]!"), null, COMBAT_MESSAGE_RANGE)
var/append_message = ""
if(target_held_item)
if(knocked_item)
@@ -364,13 +364,13 @@
remove_movespeed_modifier(/datum/movespeed_modifier/shove)
var/active_item = get_active_held_item()
if(is_type_in_typecache(active_item, GLOB.shove_disarming_types))
- visible_message("[name] regains their grip on \the [active_item]!", "You regain your grip on \the [active_item]", null, COMBAT_MESSAGE_RANGE)
+ visible_message(span_warning("[name] regains their grip on \the [active_item]!"), span_warning("You regain your grip on \the [active_item]"), null, COMBAT_MESSAGE_RANGE)
/mob/living/carbon/blob_act(obj/structure/blob/B)
if (stat == DEAD)
return
else
- show_message("The blob attacks!")
+ show_message(span_userdanger("The blob attacks!"))
adjustBruteLoss(10)
/mob/living/carbon/emp_act(severity)
@@ -421,7 +421,7 @@
/mob/living/carbon/proc/help_shake_act(mob/living/carbon/M)
if(on_fire)
- to_chat(M, "You can't put [p_them()] out with just your bare hands!")
+ to_chat(M, span_warning("You can't put [p_them()] out with just your bare hands!"))
return
if(M == src && check_self_for_injuries())
@@ -429,30 +429,30 @@
if(body_position == LYING_DOWN)
if(buckled)
- to_chat(M, "You need to unbuckle [src] first to do that!")
+ to_chat(M, span_warning("You need to unbuckle [src] first to do that!"))
return
- M.visible_message("[M] shakes [src] trying to get [p_them()] up!", \
- null, "You hear the rustling of clothes.", DEFAULT_MESSAGE_RANGE, list(M, src))
- to_chat(M, "You shake [src] trying to pick [p_them()] up!")
- to_chat(src, "[M] shakes you to get you up!")
+ M.visible_message(span_notice("[M] shakes [src] trying to get [p_them()] up!"), \
+ null, span_hear("You hear the rustling of clothes."), DEFAULT_MESSAGE_RANGE, list(M, src))
+ to_chat(M, span_notice("You shake [src] trying to pick [p_them()] up!"))
+ to_chat(src, span_notice("[M] shakes you to get you up!"))
else if(check_zone(M.zone_selected) == BODY_ZONE_HEAD) //Headpats!
SEND_SIGNAL(src, COMSIG_CARBON_HEADPAT, M)
- M.visible_message("[M] gives [src] a pat on the head to make [p_them()] feel better!", \
- null, "You hear a soft patter.", DEFAULT_MESSAGE_RANGE, list(M, src))
- to_chat(M, "You give [src] a pat on the head to make [p_them()] feel better!")
- to_chat(src, "[M] gives you a pat on the head to make you feel better! ")
+ M.visible_message(span_notice("[M] gives [src] a pat on the head to make [p_them()] feel better!"), \
+ null, span_hear("You hear a soft patter."), DEFAULT_MESSAGE_RANGE, list(M, src))
+ to_chat(M, span_notice("You give [src] a pat on the head to make [p_them()] feel better!"))
+ to_chat(src, span_notice("[M] gives you a pat on the head to make you feel better! "))
if(HAS_TRAIT(src, TRAIT_BADTOUCH))
- to_chat(M, "[src] looks visibly upset as you pat [p_them()] on the head.")
+ to_chat(M, span_warning("[src] looks visibly upset as you pat [p_them()] on the head."))
else
SEND_SIGNAL(src, COMSIG_CARBON_HUGGED, M)
SEND_SIGNAL(M, COMSIG_CARBON_HUG, M, src)
- M.visible_message("[M] hugs [src] to make [p_them()] feel better!", \
- null, "You hear the rustling of clothes.", DEFAULT_MESSAGE_RANGE, list(M, src))
- to_chat(M, "You hug [src] to make [p_them()] feel better!")
- to_chat(src, "[M] hugs you to make you feel better!")
+ M.visible_message(span_notice("[M] hugs [src] to make [p_them()] feel better!"), \
+ null, span_hear("You hear the rustling of clothes."), DEFAULT_MESSAGE_RANGE, list(M, src))
+ to_chat(M, span_notice("You hug [src] to make [p_them()] feel better!"))
+ to_chat(src, span_notice("[M] hugs you to make you feel better!"))
// Warm them up with hugs
share_bodytemperature(M)
@@ -468,14 +468,14 @@
// Let people know if they hugged someone really warm or really cold
if(M.bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT)
- to_chat(src, "It feels like [M] is over heating as [M.p_they()] hug[M.p_s()] you.")
+ to_chat(src, span_warning("It feels like [M] is over heating as [M.p_they()] hug[M.p_s()] you."))
else if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
- to_chat(src, "It feels like [M] is freezing as [M.p_they()] hug[M.p_s()] you.")
+ to_chat(src, span_warning("It feels like [M] is freezing as [M.p_they()] hug[M.p_s()] you."))
if(bodytemperature > BODYTEMP_HEAT_DAMAGE_LIMIT)
- to_chat(M, "It feels like [src] is over heating as you hug [p_them()].")
+ to_chat(M, span_warning("It feels like [src] is over heating as you hug [p_them()]."))
else if(bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
- to_chat(M, "It feels like [src] is freezing as you hug [p_them()].")
+ to_chat(M, span_warning("It feels like [src] is freezing as you hug [p_them()]."))
if(HAS_TRAIT(M, TRAIT_FRIENDLY))
var/datum/component/mood/hugger_mood = M.GetComponent(/datum/component/mood)
@@ -486,7 +486,7 @@
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "friendly_hug", /datum/mood_event/betterhug, M)
if(HAS_TRAIT(src, TRAIT_BADTOUCH))
- to_chat(M, "[src] looks visibly upset as you hug [p_them()].")
+ to_chat(M, span_warning("[src] looks visibly upset as you hug [p_them()]."))
AdjustStun(-60)
AdjustKnockdown(-60)
@@ -519,8 +519,8 @@
if(!embeds)
embeds = TRUE
// this way, we only visibly try to examine ourselves if we have something embedded, otherwise we'll still hug ourselves :)
- visible_message("[src] examines [p_them()]self.", \
- "You check yourself for shrapnel.")
+ visible_message(span_notice("[src] examines [p_them()]self."), \
+ span_notice("You check yourself for shrapnel."))
if(I.isEmbedHarmless())
to_chat(src, "\t There is \a [I] stuck to your [LB.name]!")
else
@@ -542,16 +542,16 @@
return
if (damage == 1)
- to_chat(src, "Your eyes sting a little.")
+ to_chat(src, span_warning("Your eyes sting a little."))
if(prob(40))
eyes.applyOrganDamage(1)
else if (damage == 2)
- to_chat(src, "Your eyes burn.")
+ to_chat(src, span_warning("Your eyes burn."))
eyes.applyOrganDamage(rand(2, 4))
else if( damage >= 3)
- to_chat(src, "Your eyes itch and burn severely!")
+ to_chat(src, span_warning("Your eyes itch and burn severely!"))
eyes.applyOrganDamage(rand(12, 16))
if(eyes.damage > 10)
@@ -561,20 +561,20 @@
if(eyes.damage > 20)
if(prob(eyes.damage - 20))
if(!HAS_TRAIT(src, TRAIT_NEARSIGHT))
- to_chat(src, "Your eyes start to burn badly!")
+ to_chat(src, span_warning("Your eyes start to burn badly!"))
become_nearsighted(EYE_DAMAGE)
else if(prob(eyes.damage - 25))
if(!is_blind())
- to_chat(src, "You can't see anything!")
+ to_chat(src, span_warning("You can't see anything!"))
eyes.applyOrganDamage(eyes.maxHealth)
else
- to_chat(src, "Your eyes are really starting to hurt. This can't be good for you!")
+ to_chat(src, span_warning("Your eyes are really starting to hurt. This can't be good for you!"))
return 1
else if(damage == 0) // just enough protection
if(prob(20))
- to_chat(src, "Something bright flashes in the corner of your vision!")
+ to_chat(src, span_notice("Something bright flashes in the corner of your vision!"))
/mob/living/carbon/soundbang_act(intensity = 1, stun_pwr = 20, damage_pwr = 5, deafen_pwr = 15)
@@ -595,13 +595,13 @@
ears.adjustEarDamage(ear_damage,deaf)
if(ears.damage >= 15)
- to_chat(src, "Your ears start to ring badly!")
+ to_chat(src, span_warning("Your ears start to ring badly!"))
if(prob(ears.damage - 5))
- to_chat(src, "You can't hear anything!")
+ to_chat(src, span_userdanger("You can't hear anything!"))
ears.damage = min(ears.damage, ears.maxHealth) // does this actually do anything useful? all this would do is set an upper bound on damage, is this supposed to be a max?
// you need earmuffs, inacusiate, or replacement
else if(ears.damage >= 5)
- to_chat(src, "Your ears start to ring!")
+ to_chat(src, span_warning("Your ears start to ring!"))
SEND_SOUND(src, sound('sound/weapons/flash_ring.ogg',0,1,0,250))
return effect_amount //how soundbanged we are
@@ -669,17 +669,17 @@
return
var/starting_hand_index = active_hand_index
if(starting_hand_index == grasped_part.held_index)
- to_chat(src, "You can't grasp your [grasped_part.name] with itself!")
+ to_chat(src, span_danger("You can't grasp your [grasped_part.name] with itself!"))
return
- to_chat(src, "You try grasping at your [grasped_part.name], trying to stop the bleeding...")
+ to_chat(src, span_warning("You try grasping at your [grasped_part.name], trying to stop the bleeding..."))
if(!do_after(src, 1.5 SECONDS))
- to_chat(src, "You fail to grasp your [grasped_part.name].")
+ to_chat(src, span_danger("You fail to grasp your [grasped_part.name]."))
return
var/obj/item/self_grasp/grasp = new
if(starting_hand_index != active_hand_index || !put_in_active_hand(grasp))
- to_chat(src, "You fail to grasp your [grasped_part.name].")
+ to_chat(src, span_danger("You fail to grasp your [grasped_part.name]."))
QDEL_NULL(grasp)
return
grasp.grasp_limb(grasped_part)
@@ -701,7 +701,7 @@
/obj/item/self_grasp/Destroy()
if(user)
- to_chat(user, "You stop holding onto your[grasped_part ? " [grasped_part.name]" : "self"].")
+ to_chat(user, span_warning("You stop holding onto your[grasped_part ? " [grasped_part.name]" : "self"]."))
UnregisterSignal(user, COMSIG_PARENT_QDELETING)
if(grasped_part)
UnregisterSignal(grasped_part, list(COMSIG_CARBON_REMOVE_LIMB, COMSIG_PARENT_QDELETING))
@@ -728,7 +728,7 @@
RegisterSignal(user, COMSIG_PARENT_QDELETING, .proc/qdel_void)
RegisterSignal(grasped_part, list(COMSIG_CARBON_REMOVE_LIMB, COMSIG_PARENT_QDELETING), .proc/qdel_void)
- user.visible_message("[user] grasps at [user.p_their()] [grasped_part.name], trying to stop the bleeding.", "You grab hold of your [grasped_part.name] tightly.", vision_distance=COMBAT_MESSAGE_RANGE)
+ user.visible_message(span_danger("[user] grasps at [user.p_their()] [grasped_part.name], trying to stop the bleeding."), span_notice("You grab hold of your [grasped_part.name] tightly."), vision_distance=COMBAT_MESSAGE_RANGE)
playsound(get_turf(src), 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
return TRUE
diff --git a/code/modules/mob/living/carbon/carbon_stripping.dm b/code/modules/mob/living/carbon/carbon_stripping.dm
index 732ed3bf720..74bd076bcb5 100644
--- a/code/modules/mob/living/carbon/carbon_stripping.dm
+++ b/code/modules/mob/living/carbon/carbon_stripping.dm
@@ -78,7 +78,7 @@
var/mob/mob_source = source
if (!mob_source.can_put_in_hand(equipping, hand_index))
- to_chat(src, "\The [equipping] doesn't fit in that place!")
+ to_chat(src, span_warning("\The [equipping] doesn't fit in that place!"))
return FALSE
return TRUE
diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm
index f444e14eafa..95dff282839 100644
--- a/code/modules/mob/living/carbon/death.dm
+++ b/code/modules/mob/living/carbon/death.dm
@@ -30,7 +30,7 @@
var/atom/Tsec = drop_location()
for(var/mob/M in src)
M.forceMove(Tsec)
- visible_message("[M] bursts out of [src]!")
+ visible_message(span_danger("[M] bursts out of [src]!"))
. = ..()
/mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts)
diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm
index 0455bb0059b..d265f823765 100644
--- a/code/modules/mob/living/carbon/emote.dm
+++ b/code/modules/mob/living/carbon/emote.dm
@@ -103,11 +103,11 @@
/datum/emote/living/carbon/circle/run_emote(mob/user, params, type_override, intentional)
. = ..()
if(!length(user.get_empty_held_indexes()))
- to_chat(user, "You don't have any free hands to make a circle with.")
+ to_chat(user, span_warning("You don't have any free hands to make a circle with."))
return
var/obj/item/circlegame/N = new(user)
if(user.put_in_hands(N))
- to_chat(user, "You make a circle with your hand.")
+ to_chat(user, span_notice("You make a circle with your hand."))
/datum/emote/living/carbon/slap
key = "slap"
@@ -121,10 +121,10 @@
return
var/obj/item/slapper/N = new(user)
if(user.put_in_hands(N))
- to_chat(user, "You ready your slapping hand.")
+ to_chat(user, span_notice("You ready your slapping hand."))
else
qdel(N)
- to_chat(user, "You're incapable of slapping in your current state.")
+ to_chat(user, span_warning("You're incapable of slapping in your current state."))
/datum/emote/living/carbon/noogie
key = "noogie"
@@ -137,8 +137,8 @@
return
var/obj/item/noogie/noogie = new(user)
if(user.put_in_hands(noogie))
- to_chat(user, "You ready your noogie'ing hand.")
+ to_chat(user, span_notice("You ready your noogie'ing hand."))
else
qdel(noogie)
- to_chat(user, "You're incapable of noogie'ing in your current state.")
+ to_chat(user, span_warning("You're incapable of noogie'ing in your current state."))
diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm
index d00cba54e68..2b8d710bb60 100644
--- a/code/modules/mob/living/carbon/examine.dm
+++ b/code/modules/mob/living/carbon/examine.dm
@@ -10,7 +10,7 @@
var/obscured = check_obscured_slots()
if (handcuffed)
- . += "[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!"
+ . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!")
if (head)
. += "[t_He] [t_is] wearing [head.get_examine_string(user)] on [t_his] head. "
if(wear_mask && !(obscured & ITEM_SLOT_MASK))
@@ -28,9 +28,9 @@
if (stat == DEAD)
appears_dead = TRUE
if(getorgan(/obj/item/organ/brain))
- . += "[t_He] [t_is] limp and unresponsive, with no signs of life."
+ . += span_deadsay("[t_He] [t_is] limp and unresponsive, with no signs of life.")
else if(get_bodypart(BODY_ZONE_HEAD))
- . += "It appears that [t_his] brain is missing..."
+ . += span_deadsay("It appears that [t_his] brain is missing...")
var/list/msg = list("")
var/list/missing = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG)
@@ -60,9 +60,9 @@
for(var/t in missing)
if(t==BODY_ZONE_HEAD)
- msg += "[t_His] [parse_zone(t)] is missing!\n"
+ msg += "[span_deadsay("[t_His] [parse_zone(t)] is missing!")]\n"
continue
- msg += "[t_His] [parse_zone(t)] is missing!\n"
+ msg += "[span_warning("[t_His] [parse_zone(t)] is missing!")]\n"
var/temp = getBruteLoss()
@@ -112,13 +112,13 @@
switch(scar_severity)
if(1 to 4)
- msg += "[t_He] [t_has] visible scarring, you can look again to take a closer look...\n"
+ msg += "[span_tinynoticeital("[t_He] [t_has] visible scarring, you can look again to take a closer look...")]\n"
if(5 to 8)
- msg += "[t_He] [t_has] several bad scars, you can look again to take a closer look...\n"
+ msg += "[span_smallnoticeital("[t_He] [t_has] several bad scars, you can look again to take a closer look...")]\n"
if(9 to 11)
- msg += "[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...\n"
+ msg += "[span_notice("[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...")]\n"
if(12 to INFINITY)
- msg += "[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...\n"
+ msg += "[span_notice("[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...")]\n"
msg += ""
@@ -167,7 +167,7 @@
if(!visible_scars)
return ..()
- var/msg = list("You examine [src] closer, and note the following...")
+ var/msg = list(span_notice("You examine [src] closer, and note the following..."))
for(var/i in visible_scars)
var/datum/scar/S = i
var/scar_text = S.get_examine_description(user)
diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm
index 34fa24f19ed..28cb9aee141 100644
--- a/code/modules/mob/living/carbon/human/death.dm
+++ b/code/modules/mob/living/carbon/human/death.dm
@@ -40,7 +40,7 @@ GLOBAL_LIST_EMPTY(dead_players_during_shift)
SSblackbox.ReportDeath(src)
log_message("has died (BRUTE: [src.getBruteLoss()], BURN: [src.getFireLoss()], TOX: [src.getToxLoss()], OXY: [src.getOxyLoss()], CLONE: [src.getCloneLoss()])", LOG_ATTACK)
- to_chat(src, "You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab.")
+ to_chat(src, span_warning("You have died. Barring complete bodyloss, you can in most cases be revived by other players. If you do not wish to be brought back, use the \"Do Not Resuscitate\" verb in the ghost tab."))
/mob/living/carbon/human/proc/makeSkeleton()
ADD_TRAIT(src, TRAIT_DISFIGURED, TRAIT_GENERIC)
diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm
index 141e3c3962d..dd1cc38ac62 100644
--- a/code/modules/mob/living/carbon/human/examine.dm
+++ b/code/modules/mob/living/carbon/human/examine.dm
@@ -53,14 +53,14 @@
. += "[t_He] [t_has] [gloves.get_examine_string(user)] on [t_his] hands."
else if(FR && length(FR.blood_DNA))
if(num_hands)
- . += "[t_He] [t_has] [num_hands > 1 ? "" : "a"] blood-stained hand[num_hands > 1 ? "s" : ""]!"
+ . += span_warning("[t_He] [t_has] [num_hands > 1 ? "" : "a"] blood-stained hand[num_hands > 1 ? "s" : ""]!")
//handcuffed?
if(handcuffed)
if(istype(handcuffed, /obj/item/restraints/handcuffs/cable))
- . += "[t_He] [t_is] [icon2html(handcuffed, user)] restrained with cable!"
+ . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] restrained with cable!")
else
- . += "[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!"
+ . += span_warning("[t_He] [t_is] [icon2html(handcuffed, user)] handcuffed!")
//belt
if(belt && !(belt.item_flags & EXAMINE_SKIP))
@@ -82,7 +82,7 @@
if(glasses && !(glasses.item_flags & EXAMINE_SKIP))
. += "[t_He] [t_has] [glasses.get_examine_string(user)] covering [t_his] eyes."
else if(eye_color == BLOODCULT_EYE && IS_CULTIST(src) && HAS_TRAIT(src, CULT_EYES))
- . += "[t_His] eyes are glowing an unnatural red!"
+ . += span_warning("[t_His] eyes are glowing an unnatural red!")
//ears
if(ears && !(obscured & ITEM_SLOT_EARS) && !(ears.item_flags & EXAMINE_SKIP))
@@ -102,11 +102,11 @@
//Jitters
switch(jitteriness)
if(300 to INFINITY)
- . += "[t_He] [t_is] convulsing violently!"
+ . += span_warning("[t_He] [t_is] convulsing violently!")
if(200 to 300)
- . += "[t_He] [t_is] extremely jittery."
+ . += span_warning("[t_He] [t_is] extremely jittery.")
if(100 to 200)
- . += "[t_He] [t_is] twitching ever so slightly."
+ . += span_warning("[t_He] [t_is] twitching ever so slightly.")
var/appears_dead = FALSE
var/just_sleeping = FALSE
@@ -122,12 +122,12 @@
if(!just_sleeping)
if(suiciding)
- . += "[t_He] appear[p_s()] to have committed suicide... there is no hope of recovery."
+ . += span_warning("[t_He] appear[p_s()] to have committed suicide... there is no hope of recovery.")
. += generate_death_examine_text()
if(get_bodypart(BODY_ZONE_HEAD) && !getorgan(/obj/item/organ/brain))
- . += "It appears that [t_his] brain is missing..."
+ . += span_deadsay("It appears that [t_his] brain is missing...")
var/list/msg = list()
@@ -246,7 +246,7 @@
if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY)
msg += "[t_He] look[p_s()] like pale death.\n"
if(-INFINITY to BLOOD_VOLUME_BAD)
- msg += "[t_He] resemble[p_s()] a crushed, empty juice pouch.\n"
+ msg += "[span_deadsay("[t_He] resemble[p_s()] a crushed, empty juice pouch.")]\n"
if(is_bleeding())
var/list/obj/item/bodypart/bleeding_limbs = list()
@@ -354,9 +354,9 @@
msg += "[t_He] [t_has] a stupid expression on [t_his] face.\n"
if(getorgan(/obj/item/organ/brain))
if(ai_controller?.ai_status == AI_STATUS_ON)
- msg += "[t_He] do[t_es]n't appear to be [t_him]self.\n"
+ msg += "[span_deadsay("[t_He] do[t_es]n't appear to be [t_him]self.")]\n"
if(!key)
- msg += "[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.\n"
+ msg += "[span_deadsay("[t_He] [t_is] totally catatonic. The stresses of life in deep-space must have been too much for [t_him]. Any recovery is unlikely.")]\n"
else if(!client)
msg += "[t_He] [t_has] a blank, absent-minded stare and appears completely unresponsive to anything. [t_He] may snap out of it soon.\n"
@@ -368,17 +368,17 @@
switch(scar_severity)
if(1 to 4)
- msg += "[t_He] [t_has] visible scarring, you can look again to take a closer look...\n"
+ msg += "[span_tinynoticeital("[t_He] [t_has] visible scarring, you can look again to take a closer look...")]\n"
if(5 to 8)
- msg += "[t_He] [t_has] several bad scars, you can look again to take a closer look...\n"
+ msg += "[span_smallnoticeital("[t_He] [t_has] several bad scars, you can look again to take a closer look...")]\n"
if(9 to 11)
- msg += "[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...\n"
+ msg += "[span_notice("[t_He] [t_has] significantly disfiguring scarring, you can look again to take a closer look...")]\n"
if(12 to INFINITY)
- msg += "[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...\n"
+ msg += "[span_notice("[t_He] [t_is] just absolutely fucked up, you can look again to take a closer look...")]\n"
if (length(msg))
- . += "[msg.Join("")]"
+ . += span_warning("[msg.Join("")]")
var/trait_exam = common_trait_examine()
if (!isnull(trait_exam))
@@ -423,7 +423,7 @@
"\[View comment log\]",
"\[Add comment\]"), "")
else if(isobserver(user))
- . += "Traits: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]"
+ . += span_info("Traits: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]")
. += "*---------*"
SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE, user, .)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 2c6f09aeb48..002b4162acb 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -50,8 +50,8 @@
/mob/living/carbon/human/ZImpactDamage(turf/T, levels)
if(!HAS_TRAIT(src, TRAIT_FREERUNNING) || levels > 1) // falling off one level
return ..()
- visible_message("[src] makes a hard landing on [T] but remains unharmed from the fall.", \
- "You brace for the fall. You make a hard landing on [T] but remain unharmed.")
+ visible_message(span_danger("[src] makes a hard landing on [T] but remains unharmed from the fall."), \
+ span_userdanger("You brace for the fall. You make a hard landing on [T] but remain unharmed."))
Knockdown(levels * 40)
/mob/living/carbon/human/prepare_data_huds()
@@ -99,7 +99,7 @@
if(href_list["item"]) //canUseTopic check for this is handled by mob/Topic()
var/slot = text2num(href_list["item"])
if(check_obscured_slots(TRUE) & slot)
- to_chat(usr, "You can't reach that! Something is covering it.")
+ to_chat(usr, span_warning("You can't reach that! Something is covering it."))
return
///////HUDs///////
@@ -132,7 +132,7 @@
return
if(href_list["evaluation"])
if(!getBruteLoss() && !getFireLoss() && !getOxyLoss() && getToxLoss() < 20)
- to_chat(usr, "No external injuries detected.
")
+ to_chat(usr, "[span_notice("No external injuries detected.")]
")
return
var/span = "notice"
var/status = ""
@@ -169,15 +169,15 @@
if(burndamage)
to_chat(usr, "[BP] appears to have [status]")
if(getOxyLoss())
- to_chat(usr, "Patient has signs of suffocation, emergency treatment may be required!")
+ to_chat(usr, span_danger("Patient has signs of suffocation, emergency treatment may be required!"))
if(getToxLoss() > 20)
- to_chat(usr, "Gathered data is inconsistent with the analysis, possible cause: poisoning.")
+ to_chat(usr, span_danger("Gathered data is inconsistent with the analysis, possible cause: poisoning."))
if(!H.wear_id) //You require access from here on out.
- to_chat(H, "ERROR: Invalid access")
+ to_chat(H, span_warning("ERROR: Invalid access"))
return
var/list/access = H.wear_id.GetAccess()
if(!(ACCESS_MEDICAL in access))
- to_chat(H, "ERROR: Invalid access")
+ to_chat(H, span_warning("ERROR: Invalid access"))
return
if(href_list["p_stat"])
var/health_status = input(usr, "Specify a new physical status for this person.", "Medical HUD", R.fields["p_stat"]) in list("Active", "Physically Unfit", "*Unconscious*", "*Deceased*", "Cancel")
@@ -226,15 +226,15 @@
allowed_access = H.get_authentification_name()
if(!allowed_access)
- to_chat(H, "ERROR: Invalid access.")
+ to_chat(H, span_warning("ERROR: Invalid access."))
return
if(!perpname)
- to_chat(H, "ERROR: Can not identify target.")
+ to_chat(H, span_warning("ERROR: Can not identify target."))
return
R = find_record("name", perpname, GLOB.data_core.security)
if(!R)
- to_chat(usr, "ERROR: Unable to locate data core entry for target.")
+ to_chat(usr, span_warning("ERROR: Unable to locate data core entry for target."))
return
if(href_list["status"])
var/setcriminal = input(usr, "Specify a new criminal status for this person.", "Security HUD", R.fields["criminal"]) in list("None", "*Arrest*", "Incarcerated", "Paroled", "Discharged", "Cancel")
@@ -278,7 +278,7 @@
if(!HAS_TRAIT(H, TRAIT_SECURITY_HUD))
return
if(fine < 0)
- to_chat(usr, "You're pretty sure that's not how money works.")
+ to_chat(usr, span_warning("You're pretty sure that's not how money works."))
return
fine = min(fine, maxFine)
@@ -311,7 +311,7 @@
var/crime = GLOB.data_core.createCrimeEntry(t1, null, allowed_access, station_time_timestamp())
GLOB.data_core.addCrime(R.fields["id"], crime)
investigate_log("New Crime: [t1] | Added to [R.fields["name"]] by [key_name(usr)]", INVESTIGATE_RECORDS)
- to_chat(usr, "Successfully added a crime.")
+ to_chat(usr, span_notice("Successfully added a crime."))
return
if(href_list["add_details"])
@@ -325,7 +325,7 @@
if(href_list["cdataid"])
GLOB.data_core.addCrimeDetails(R.fields["id"], href_list["cdataid"], t1)
investigate_log("New Crime details: [t1] | Added to [R.fields["name"]] by [key_name(usr)]", INVESTIGATE_RECORDS)
- to_chat(usr, "Successfully added details.")
+ to_chat(usr, span_notice("Successfully added details."))
return
if(href_list["view_comment"])
@@ -353,7 +353,7 @@
while(R.fields[text("com_[]", counter)])
counter++
R.fields[text("com_[]", counter)] = text("Made by [] on [] [], []
[]", allowed_access, station_time_timestamp(), time2text(world.realtime, "MMM DD"), GLOB.year_integer+540, t1)
- to_chat(usr, "Successfully added comment.")
+ to_chat(usr, span_notice("Successfully added comment."))
return
..() //end of this massive fucking chain. TODO: make the hud chain not spooky. - Yeah, great job doing that.
@@ -385,7 +385,7 @@
if(!. && (injection_flags & INJECT_TRY_SHOW_ERROR_MESSAGE) && user)
var/obj/item/bodypart/the_part = get_bodypart(target_zone) || get_bodypart(BODY_ZONE_CHEST)
- to_chat(user, "There is no exposed flesh or thin material on [p_their()] [the_part.name].")
+ to_chat(user, span_alert("There is no exposed flesh or thin material on [p_their()] [the_part.name]."))
/mob/living/carbon/human/assess_threat(judgement_criteria, lasercolor = "", datum/callback/weaponcheck=null)
if(judgement_criteria & JUDGE_EMAGGED)
@@ -472,7 +472,7 @@
for(var/obj/item/hand in held_items)
if(prob(current_size * 5) && hand.w_class >= ((11-current_size)/2) && dropItemToGround(hand))
step_towards(hand, src)
- to_chat(src, "\The [S] pulls \the [hand] from your grip!")
+ to_chat(src, span_warning("\The [S] pulls \the [hand] from your grip!"))
rad_act(current_size * 3)
#define CPR_PANIC_SPEED (0.8 SECONDS)
@@ -491,50 +491,50 @@
return FALSE
if (target.stat == DEAD || HAS_TRAIT(target, TRAIT_FAKEDEATH))
- to_chat(src, "[target.name] is dead!")
+ to_chat(src, span_warning("[target.name] is dead!"))
return FALSE
if (is_mouth_covered())
- to_chat(src, "Remove your mask first!")
+ to_chat(src, span_warning("Remove your mask first!"))
return FALSE
if (target.is_mouth_covered())
- to_chat(src, "Remove [p_their()] mask first!")
+ to_chat(src, span_warning("Remove [p_their()] mask first!"))
return FALSE
if (!getorganslot(ORGAN_SLOT_LUNGS))
- to_chat(src, "You have no lungs to breathe with, so you cannot perform CPR!")
+ to_chat(src, span_warning("You have no lungs to breathe with, so you cannot perform CPR!"))
return FALSE
if (HAS_TRAIT(src, TRAIT_NOBREATH))
- to_chat(src, "You do not breathe, so you cannot perform CPR!")
+ to_chat(src, span_warning("You do not breathe, so you cannot perform CPR!"))
return FALSE
- visible_message("[src] is trying to perform CPR on [target.name]!", \
- "You try to perform CPR on [target.name]... Hold still!")
+ visible_message(span_notice("[src] is trying to perform CPR on [target.name]!"), \
+ span_notice("You try to perform CPR on [target.name]... Hold still!"))
if (!do_mob(src, target, time = panicking ? CPR_PANIC_SPEED : (3 SECONDS)))
- to_chat(src, "You fail to perform CPR on [target]!")
+ to_chat(src, span_warning("You fail to perform CPR on [target]!"))
return FALSE
if (target.health > target.crit_threshold)
return FALSE
- visible_message("[src] performs CPR on [target.name]!", "You perform CPR on [target.name].")
+ visible_message(span_notice("[src] performs CPR on [target.name]!"), span_notice("You perform CPR on [target.name]."))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "saved_life", /datum/mood_event/saved_life)
log_combat(src, target, "CPRed")
if (HAS_TRAIT(target, TRAIT_NOBREATH))
- to_chat(target, "You feel a breath of fresh air... which is a sensation you don't recognise...")
+ to_chat(target, span_unconscious("You feel a breath of fresh air... which is a sensation you don't recognise..."))
else if (!target.getorganslot(ORGAN_SLOT_LUNGS))
- to_chat(target, "You feel a breath of fresh air... but you don't feel any better...")
+ to_chat(target, span_unconscious("You feel a breath of fresh air... but you don't feel any better..."))
else
target.adjustOxyLoss(-min(target.getOxyLoss(), 7))
- to_chat(target, "You feel a breath of fresh air enter your lungs... It feels good...")
+ to_chat(target, span_unconscious("You feel a breath of fresh air enter your lungs... It feels good..."))
if (target.health <= target.crit_threshold)
if (!panicking)
- to_chat(src, "[target] still isn't up! You try harder!")
+ to_chat(src, span_warning("[target] still isn't up! You try harder!"))
panicking = TRUE
else
panicking = FALSE
@@ -678,8 +678,8 @@
if(!I.loc || buckled)
return FALSE
if(I == wear_suit)
- visible_message("[src] manages to [cuff_break ? "break" : "remove"] [I]!")
- to_chat(src, "You successfully [cuff_break ? "break" : "remove"] [I].")
+ visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!"))
+ to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I]."))
return TRUE
/mob/living/carbon/human/replace_records_name(oldname,newname) // Only humans have records right now, move this up if changed.
@@ -765,8 +765,8 @@
/mob/living/carbon/human/vomit(lost_nutrition = 10, blood = FALSE, stun = TRUE, distance = 1, message = TRUE, vomit_type = VOMIT_TOXIC, harm = TRUE, force = FALSE, purge_ratio = 0.1)
if(blood && (NOBLOOD in dna.species.species_traits) && !HAS_TRAIT(src, TRAIT_TOXINLOVER))
if(message)
- visible_message("[src] dry heaves!", \
- "You try to throw up, but there's nothing in your stomach!")
+ visible_message(span_warning("[src] dry heaves!"), \
+ span_userdanger("You try to throw up, but there's nothing in your stomach!"))
if(stun)
Paralyze(200)
return 1
@@ -878,14 +878,14 @@
if(success)
to_chat(usr, "Put [src] on purrbation.")
log_admin("[key_name(usr)] has put [key_name(src)] on purrbation.")
- var/msg = "[key_name_admin(usr)] has put [key_name(src)] on purrbation."
+ var/msg = span_notice("[key_name_admin(usr)] has put [key_name(src)] on purrbation.")
message_admins(msg)
admin_ticket_log(src, msg)
else
to_chat(usr, "Removed [src] from purrbation.")
log_admin("[key_name(usr)] has removed [key_name(src)] from purrbation.")
- var/msg = "[key_name_admin(usr)] has removed [key_name(src)] from purrbation."
+ var/msg = span_notice("[key_name_admin(usr)] has removed [key_name(src)] from purrbation.")
message_admins(msg)
admin_ticket_log(src, msg)
@@ -918,7 +918,7 @@
/mob/living/carbon/human/proc/fireman_carry(mob/living/carbon/target)
if(!can_be_firemanned(target) || incapacitated(FALSE, TRUE))
- to_chat(src, "You can't fireman carry [target] while [target.p_they()] [target.p_are()] standing!")
+ to_chat(src, span_warning("You can't fireman carry [target] while [target.p_they()] [target.p_are()] standing!"))
return
var/carrydelay = 5 SECONDS //if you have latex you are faster at grabbing
@@ -930,15 +930,15 @@
carrydelay = 4 SECONDS
skills_space = " quickly"
- visible_message("[src] starts[skills_space] lifting [target] onto [p_their()] back...",
- "You[skills_space] start to lift [target] onto your back...")
+ visible_message(span_notice("[src] starts[skills_space] lifting [target] onto [p_their()] back..."),
+ span_notice("You[skills_space] start to lift [target] onto your back..."))
if(!do_after(src, carrydelay, target))
- visible_message("[src] fails to fireman carry [target]!")
+ visible_message(span_warning("[src] fails to fireman carry [target]!"))
return
//Second check to make sure they're still valid to be carried
if(!can_be_firemanned(target) || incapacitated(FALSE, TRUE) || target.buckled)
- visible_message("[src] fails to fireman carry [target]!")
+ visible_message(span_warning("[src] fails to fireman carry [target]!"))
return
if(target.loc != loc)
@@ -952,23 +952,23 @@
/mob/living/carbon/human/proc/piggyback(mob/living/carbon/target)
if(!can_piggyback(target))
- to_chat(target, "You can't piggyback ride [src] right now!")
+ to_chat(target, span_warning("You can't piggyback ride [src] right now!"))
return
- visible_message("[target] starts to climb onto [src]...")
+ visible_message(span_notice("[target] starts to climb onto [src]..."))
if(!do_after(target, 1.5 SECONDS, target = src) || !can_piggyback(target))
- visible_message("[target] fails to climb onto [src]!")
+ visible_message(span_warning("[target] fails to climb onto [src]!"))
return
if(target.incapacitated(FALSE, TRUE) || incapacitated(FALSE, TRUE))
- target.visible_message("[target] can't hang onto [src]!")
+ target.visible_message(span_warning("[target] can't hang onto [src]!"))
return
return buckle_mob(target, TRUE, TRUE, RIDER_NEEDS_ARMS)
/mob/living/carbon/human/buckle_mob(mob/living/target, force = FALSE, check_loc = TRUE, buckle_mob_flags= NONE)
if(!is_type_in_typecache(target, can_ride_typecache))
- target.visible_message("[target] really can't seem to mount [src]...")
+ target.visible_message(span_warning("[target] really can't seem to mount [src]..."))
return
if(!force)//humans are only meant to be ridden through piggybacking and special cases
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index f92aefafdde..fb7b2c28f4f 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -69,8 +69,8 @@
if(!(P.original == src && P.firer == src)) //can't block or reflect when shooting yourself
if(P.reflectable & REFLECT_NORMAL)
if(check_reflect(def_zone)) // Checks if you've passed a reflection% check
- visible_message("The [P.name] gets reflected by [src]!", \
- "The [P.name] gets reflected by [src]!")
+ visible_message(span_danger("The [P.name] gets reflected by [src]!"), \
+ span_userdanger("The [P.name] gets reflected by [src]!"))
// Find a turf near or on the original location to bounce to
if(!isturf(loc)) //Open canopy mech (ripley) check. if we're inside something and still got hit
P.force_hit = TRUE //The thing we're in passed the bullet to us. Pass it back, and tell it to take the damage.
@@ -201,9 +201,9 @@
if(check_shields(user, 15, "the [hulk_verb]ing"))
return
playsound(loc, user.dna.species.attack_sound, 25, TRUE, -1)
- visible_message("[user] [hulk_verb]ed [src]!", \
- "[user] [hulk_verb]ed [src]!", "You hear a sickening sound of flesh hitting flesh!", null, user)
- to_chat(user, "You [hulk_verb] [src]!")
+ visible_message(span_danger("[user] [hulk_verb]ed [src]!"), \
+ span_userdanger("[user] [hulk_verb]ed [src]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), null, user)
+ to_chat(user, span_danger("You [hulk_verb] [src]!"))
apply_damage(15, BRUTE, wound_bonus=10)
/mob/living/carbon/human/attack_hand(mob/user, list/modifiers)
@@ -227,23 +227,23 @@
var/obj/item/I = get_active_held_item()
if(I && !(I.item_flags & ABSTRACT) && dropItemToGround(I))
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[user] disarmed [src]!", \
- "[user] disarmed you!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You disarm [src]!")
+ visible_message(span_danger("[user] disarmed [src]!"), \
+ span_userdanger("[user] disarmed you!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You disarm [src]!"))
else if(!user.client || prob(5)) // only natural monkeys get to stun reliably, (they only do it occasionaly)
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)
if (src.IsKnockdown() && !src.IsParalyzed())
Paralyze(40)
log_combat(user, src, "pinned")
- visible_message("[user] pins [src] down!", \
- "[user] pins you down!", "You hear shuffling and a muffled groan!", null, user)
- to_chat(user, "You pin [src] down!")
+ visible_message(span_danger("[user] pins [src] down!"), \
+ span_userdanger("[user] pins you down!"), span_hear("You hear shuffling and a muffled groan!"), null, user)
+ to_chat(user, span_danger("You pin [src] down!"))
else
Knockdown(30)
log_combat(user, src, "tackled")
- visible_message("[user] tackles [src] down!", \
- "[user] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, user)
- to_chat(user, "You tackle [src] down!")
+ visible_message(span_danger("[user] tackles [src] down!"), \
+ span_userdanger("[user] tackles you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, user)
+ to_chat(user, span_danger("You tackle [src] down!"))
if(!user.combat_mode)
..() //shaking
@@ -265,9 +265,9 @@
/mob/living/carbon/human/attack_alien(mob/living/carbon/alien/humanoid/user, list/modifiers)
if(check_shields(user, 0, "the [user.name]"))
- visible_message("[user] attempts to touch [src]!", \
- "[user] attempts to touch you!", "You hear a swoosh!", null, user)
- to_chat(user, "You attempt to touch [src]!")
+ visible_message(span_danger("[user] attempts to touch [src]!"), \
+ span_danger("[user] attempts to touch you!"), span_hear("You hear a swoosh!"), null, user)
+ to_chat(user, span_warning("You attempt to touch [src]!"))
return FALSE
. = ..()
if(!.)
@@ -277,16 +277,16 @@
var/obj/item/I = get_active_held_item()
if(I && dropItemToGround(I))
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[user] disarms [src]!", \
- "[user] disarms you!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You disarm [src]!")
+ visible_message(span_danger("[user] disarms [src]!"), \
+ span_userdanger("[user] disarms you!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You disarm [src]!"))
else
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)
Paralyze(100)
log_combat(user, src, "tackled")
- visible_message("[user] tackles [src] down!", \
- "[user] tackles you down!", "You hear aggressive shuffling followed by a loud thud!", null, user)
- to_chat(user, "You tackle [src] down!")
+ visible_message(span_danger("[user] tackles [src] down!"), \
+ span_userdanger("[user] tackles you down!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), null, user)
+ to_chat(user, span_danger("You tackle [src] down!"))
if(user.combat_mode)
if (w_uniform)
@@ -294,9 +294,9 @@
var/damage = prob(90) ? rand(user.melee_damage_lower, user.melee_damage_upper) : 0
if(!damage)
playsound(loc, 'sound/weapons/slashmiss.ogg', 50, TRUE, -1)
- visible_message("[user] lunges at [src]!", \
- "[user] lunges at you!", "You hear a swoosh!", null, user)
- to_chat(user, "You lunge at [src]!")
+ visible_message(span_danger("[user] lunges at [src]!"), \
+ span_userdanger("[user] lunges at you!"), span_hear("You hear a swoosh!"), null, user)
+ to_chat(user, span_danger("You lunge at [src]!"))
return FALSE
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(user.zone_selected))
if(!affecting)
@@ -304,9 +304,9 @@
var/armor_block = run_armor_check(affecting, MELEE,"","",10)
playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1)
- visible_message("[user] slashes at [src]!", \
- "[user] slashes at you!", "You hear a sickening sound of a slice!", null, user)
- to_chat(user, "You slash at [src]!")
+ visible_message(span_danger("[user] slashes at [src]!"), \
+ span_userdanger("[user] slashes at you!"), span_hear("You hear a sickening sound of a slice!"), null, user)
+ to_chat(user, span_danger("You slash at [src]!"))
log_combat(user, src, "attacked")
if(!dismembering_strike(user, user.zone_selected)) //Dismemberment successful
return TRUE
@@ -449,7 +449,7 @@
/mob/living/carbon/human/blob_act(obj/structure/blob/B)
if(stat == DEAD)
return
- show_message("The blob attacks you!")
+ show_message(span_userdanger("The blob attacks you!"))
var/dam_zone = pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
var/obj/item/bodypart/affecting = get_bodypart(ran_zone(dam_zone))
apply_damage(5, BRUTE, affecting, run_armor_check(affecting, MELEE))
@@ -482,7 +482,7 @@
if(shock_damage * siemens_coeff >= 1 && prob(25))
var/obj/item/organ/heart/heart = getorganslot(ORGAN_SLOT_HEART)
if(heart.Restart() && stat == CONSCIOUS)
- to_chat(src, "You feel your heart beating again!")
+ to_chat(src, span_notice("You feel your heart beating again!"))
electrocution_animation(40)
/mob/living/carbon/human/emp_act(severity)
@@ -493,7 +493,7 @@
for(var/obj/item/bodypart/L in src.bodyparts)
if(L.status == BODYPART_ROBOTIC)
if(!informed)
- to_chat(src, "You feel a sharp pain as your robotic limbs overload.")
+ to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload."))
informed = TRUE
switch(severity)
if(1)
@@ -526,7 +526,7 @@
update_inv_neck()
update_inv_head()
else
- to_chat(src, "Your [head_clothes.name] protects your head and face from the acid!")
+ to_chat(src, span_notice("Your [head_clothes.name] protects your head and face from the acid!"))
else
. = get_bodypart(BODY_ZONE_HEAD)
if(.)
@@ -547,7 +547,7 @@
update_inv_w_uniform()
update_inv_wear_suit()
else
- to_chat(src, "Your [chest_clothes.name] protects your body from the acid!")
+ to_chat(src, span_notice("Your [chest_clothes.name] protects your body from the acid!"))
else
. = get_bodypart(BODY_ZONE_CHEST)
if(.)
@@ -579,7 +579,7 @@
update_inv_w_uniform()
update_inv_wear_suit()
else
- to_chat(src, "Your [arm_clothes.name] protects your arms and hands from the acid!")
+ to_chat(src, span_notice("Your [arm_clothes.name] protects your arms and hands from the acid!"))
else
. = get_bodypart(BODY_ZONE_R_ARM)
if(.)
@@ -605,7 +605,7 @@
update_inv_w_uniform()
update_inv_wear_suit()
else
- to_chat(src, "Your [leg_clothes.name] protects your legs and feet from the acid!")
+ to_chat(src, span_notice("Your [leg_clothes.name] protects your legs and feet from the acid!"))
else
. = get_bodypart(BODY_ZONE_R_LEG)
if(.)
@@ -660,9 +660,9 @@
if(src == M)
if(has_status_effect(STATUS_EFFECT_CHOKINGSTRAND))
- to_chat(src, "You attempt to remove the durathread strand from around your neck.")
+ to_chat(src, span_notice("You attempt to remove the durathread strand from around your neck."))
if(do_after(src, 3.5 SECONDS, src))
- to_chat(src, "You succesfuly remove the durathread strand.")
+ to_chat(src, span_notice("You succesfuly remove the durathread strand."))
remove_status_effect(STATUS_EFFECT_CHOKINGSTRAND)
return
check_self_for_injuries()
@@ -682,8 +682,8 @@
return
var/list/combined_msg = list()
- visible_message("[src] examines [p_them()]self.", \
- "You check yourself for injuries.")
+ visible_message(span_notice("[src] examines [p_them()]self."), \
+ span_notice("You check yourself for injuries."))
var/list/missing = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
@@ -748,13 +748,13 @@
var/msg
switch(W.severity)
if(WOUND_SEVERITY_TRIVIAL)
- msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]."
+ msg = "\t [span_danger("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)].")]"
if(WOUND_SEVERITY_MODERATE)
- msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!"
+ msg = "\t [span_warning("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!")]"
if(WOUND_SEVERITY_SEVERE)
- msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!"
+ msg = "\t [span_warning("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!")]"
if(WOUND_SEVERITY_CRITICAL)
- msg = "\t Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!!"
+ msg = "\t [span_warning("Your [body_part.name] is suffering [W.a_or_from] [lowertext(W.name)]!!")]"
combined_msg += msg
for(var/obj/item/I in body_part.embedded_objects)
@@ -764,7 +764,7 @@
combined_msg += "\t There is \a [I] embedded in your [body_part.name]!"
for(var/t in missing)
- combined_msg += "Your [parse_zone(t)] is missing!"
+ combined_msg += span_boldannounce("Your [parse_zone(t)] is missing!")
if(is_bleeding())
var/list/obj/item/bodypart/bleeding_limbs = list()
@@ -788,39 +788,39 @@
if(getStaminaLoss())
if(getStaminaLoss() > 30)
- combined_msg += "You're completely exhausted."
+ combined_msg += span_info("You're completely exhausted.")
else
- combined_msg += "You feel fatigued."
+ combined_msg += span_info("You feel fatigued.")
if(HAS_TRAIT(src, TRAIT_SELF_AWARE))
if(toxloss)
if(toxloss > 10)
- combined_msg += "You feel sick."
+ combined_msg += span_danger("You feel sick.")
else if(toxloss > 20)
- combined_msg += "You feel nauseated."
+ combined_msg += span_danger("You feel nauseated.")
else if(toxloss > 40)
- combined_msg += "You feel very unwell!"
+ combined_msg += span_danger("You feel very unwell!")
if(oxyloss)
if(oxyloss > 10)
- combined_msg += "You feel lightheaded."
+ combined_msg += span_danger("You feel lightheaded.")
else if(oxyloss > 20)
- combined_msg += "Your thinking is clouded and distant."
+ combined_msg += span_danger("Your thinking is clouded and distant.")
else if(oxyloss > 30)
- combined_msg += "You're choking!"
+ combined_msg += span_danger("You're choking!")
if(!HAS_TRAIT(src, TRAIT_NOHUNGER))
switch(nutrition)
if(NUTRITION_LEVEL_FULL to INFINITY)
- combined_msg += "You're completely stuffed!"
+ combined_msg += span_info("You're completely stuffed!")
if(NUTRITION_LEVEL_WELL_FED to NUTRITION_LEVEL_FULL)
- combined_msg += "You're well fed!"
+ combined_msg += span_info("You're well fed!")
if(NUTRITION_LEVEL_FED to NUTRITION_LEVEL_WELL_FED)
- combined_msg += "You're not hungry."
+ combined_msg += span_info("You're not hungry.")
if(NUTRITION_LEVEL_HUNGRY to NUTRITION_LEVEL_FED)
- combined_msg += "You could use a bite to eat."
+ combined_msg += span_info("You could use a bite to eat.")
if(NUTRITION_LEVEL_STARVING to NUTRITION_LEVEL_HUNGRY)
- combined_msg += "You feel quite hungry."
+ combined_msg += span_info("You feel quite hungry.")
if(0 to NUTRITION_LEVEL_STARVING)
- combined_msg += "You're starving!"
+ combined_msg += span_danger("You're starving!")
//Compiles then shows the list of damaged organs and broken organs
var/list/broken = list()
@@ -852,7 +852,7 @@
//Put the items in that list into a string of text
for(var/B in broken)
broken_message += B
- combined_msg += "Your [broken_message] [broken_plural ? "are" : "is"] non-functional!"
+ combined_msg += span_warning("Your [broken_message] [broken_plural ? "are" : "is"] non-functional!")
if(damaged.len)
if(damaged.len > 1)
damaged.Insert(damaged.len, "and ")
@@ -863,10 +863,10 @@
damaged_plural = TRUE
for(var/D in damaged)
damaged_message += D
- combined_msg += "Your [damaged_message] [damaged_plural ? "are" : "is"] hurt."
+ combined_msg += span_info("Your [damaged_message] [damaged_plural ? "are" : "is"] hurt.")
if(quirks.len)
- combined_msg += "You have these quirks: [get_quirk_string(FALSE, CAT_QUIRK_ALL)]."
+ combined_msg += span_notice("You have these quirks: [get_quirk_string(FALSE, CAT_QUIRK_ALL)].")
to_chat(src, combined_msg.Join("\n"))
diff --git a/code/modules/mob/living/carbon/human/human_helpers.dm b/code/modules/mob/living/carbon/human/human_helpers.dm
index e758958a0f8..8b3a4460356 100644
--- a/code/modules/mob/living/carbon/human/human_helpers.dm
+++ b/code/modules/mob/living/carbon/human/human_helpers.dm
@@ -104,7 +104,7 @@
balloon_alert(src, "fingers are too big!")
return FALSE
if(HAS_TRAIT(src, TRAIT_NOGUNS))
- to_chat(src, "You can't bring yourself to use a ranged weapon!")
+ to_chat(src, span_warning("You can't bring yourself to use a ranged weapon!"))
return FALSE
/mob/living/carbon/human/get_policy_keywords()
@@ -227,9 +227,9 @@
var/t_is = p_are()
//This checks to see if the body is revivable
if(key || !getorgan(/obj/item/organ/brain) || ghost?.can_reenter_corpse)
- return "[t_He] [t_is] limp and unresponsive; there are no signs of life..."
+ return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life...")
else
- return "[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed..."
+ return span_deadsay("[t_He] [t_is] limp and unresponsive; there are no signs of life and [t_his] soul has departed...")
///copies over clothing preferences like underwear to another human
/mob/living/carbon/human/proc/copy_clothing_prefs(mob/living/carbon/human/destination)
diff --git a/code/modules/mob/living/carbon/human/human_stripping.dm b/code/modules/mob/living/carbon/human/human_stripping.dm
index 7369aa4a9b6..67e61239428 100644
--- a/code/modules/mob/living/carbon/human/human_stripping.dm
+++ b/code/modules/mob/living/carbon/human/human_stripping.dm
@@ -154,7 +154,7 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
if (isnull(item))
return FALSE
- to_chat(user, "You try to empty [source]'s [pocket_side] pocket.")
+ to_chat(user, span_notice("You try to empty [source]'s [pocket_side] pocket."))
var/log_message = "[key_name(source)] is being pickpocketed of [item] by [key_name(user)] ([pocket_side])"
source.log_message(log_message, LOG_ATTACK, color="red")
@@ -169,7 +169,7 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
return result
/datum/strippable_item/mob_item_slot/pocket/proc/warn_owner(atom/owner)
- to_chat(owner, "You feel your [pocket_side] pocket being fumbled with!")
+ to_chat(owner, span_warning("You feel your [pocket_side] pocket being fumbled with!"))
/datum/strippable_item/mob_item_slot/pocket/left
key = STRIPPABLE_ITEM_LPOCKET
@@ -208,12 +208,12 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
return
carbon_source.visible_message(
- "[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name].",
- "[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on your [item.name].",
+ span_danger("[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name]."),
+ span_userdanger("[user] tries to [isnull(carbon_source.internal) ? "open": "close"] the valve on your [item.name]."),
ignored_mobs = user,
)
- to_chat(user, "You try to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name]...")
+ to_chat(user, span_notice("You try to [isnull(carbon_source.internal) ? "open": "close"] the valve on [source]'s [item.name]..."))
if(!do_mob(user, carbon_source, INTERNALS_TOGGLE_DELAY))
return
@@ -229,12 +229,12 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
carbon_source.update_internals_hud_icon(1)
carbon_source.visible_message(
- "[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on [source]'s [item.name].",
- "[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on your [item.name].",
+ span_danger("[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on [source]'s [item.name]."),
+ span_userdanger("[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on your [item.name]."),
ignored_mobs = user,
)
- to_chat(user, "You [isnull(carbon_source.internal) ? "close" : "open"] the valve on [source]'s [item.name].")
+ to_chat(user, span_notice("You [isnull(carbon_source.internal) ? "close" : "open"] the valve on [source]'s [item.name]."))
#undef INTERNALS_TOGGLE_DELAY
#undef POCKET_EQUIP_DELAY
diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm
index 394dd5f2813..c1214190cd9 100644
--- a/code/modules/mob/living/carbon/human/inventory.dm
+++ b/code/modules/mob/living/carbon/human/inventory.dm
@@ -156,7 +156,7 @@
s_store = I
update_inv_s_store()
else
- to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")
+ to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!"))
//Item is handled and in slot, valid to call callback, for this proc should always be true
if(!not_handled)
@@ -316,7 +316,7 @@
var/obj/item/equipped_item = get_item_by_slot(slot_type)
if(!equipped_item) // We also let you equip an item like this
if(!thing)
- to_chat(src, "You have no [slot_item_name] to take something out of!")
+ to_chat(src, span_warning("You have no [slot_item_name] to take something out of!"))
return
if(equip_to_slot_if_possible(thing, slot_type))
update_inv_hands()
@@ -325,14 +325,14 @@
if(!thing)
equipped_item.attack_hand(src)
else
- to_chat(src, "You can't fit [thing] into your [equipped_item.name]!")
+ to_chat(src, span_warning("You can't fit [thing] into your [equipped_item.name]!"))
return
if(thing) // put thing in storage item
if(!SEND_SIGNAL(equipped_item, COMSIG_TRY_STORAGE_INSERT, thing, src))
- to_chat(src, "You can't fit [thing] into your [equipped_item.name]!")
+ to_chat(src, span_warning("You can't fit [thing] into your [equipped_item.name]!"))
return
if(!equipped_item.contents.len) // nothing to take out
- to_chat(src, "There's nothing in your [equipped_item.name] to take out!")
+ to_chat(src, span_warning("There's nothing in your [equipped_item.name] to take out!"))
return
var/obj/item/stored = equipped_item.contents[equipped_item.contents.len]
if(!stored || stored.on_found(src))
diff --git a/code/modules/mob/living/carbon/human/login.dm b/code/modules/mob/living/carbon/human/login.dm
index 72e2f512306..0146cb4c297 100644
--- a/code/modules/mob/living/carbon/human/login.dm
+++ b/code/modules/mob/living/carbon/human/login.dm
@@ -4,8 +4,8 @@
return
var/list/print_msg = list()
- print_msg += "*---------*"
- print_msg += "As you snap back to consciousness, you recall people messing with your stuff..."
+ print_msg += span_info("*---------*")
+ print_msg += span_userdanger("As you snap back to consciousness, you recall people messing with your stuff...")
afk_thefts = reverseRange(afk_thefts)
@@ -19,13 +19,13 @@
var/time_since = world.time - iter_theft[AFK_THEFT_TIME]
if(time_since > AFK_THEFT_FORGET_DETAILS_TIME)
- print_msg += "\tSomeone [theft_message], but it was at least [DisplayTimeText(AFK_THEFT_FORGET_DETAILS_TIME)] ago."
+ print_msg += "\t[span_danger("Someone [theft_message], but it was at least [DisplayTimeText(AFK_THEFT_FORGET_DETAILS_TIME)] ago.")]"
else
- print_msg += "\t[thief_name] [theft_message] roughly [DisplayTimeText(time_since, 10)] ago."
+ print_msg += "\t[span_danger("[thief_name] [theft_message] roughly [DisplayTimeText(time_since, 10)] ago.")]"
if(LAZYLEN(afk_thefts) >= AFK_THEFT_MAX_MESSAGES)
- print_msg += "There may have been more, but that's all you can remember..."
- print_msg += "*---------*"
+ print_msg += span_warning("There may have been more, but that's all you can remember...")
+ print_msg += span_info("*---------*")
to_chat(src, print_msg.Join("\n"))
LAZYNULL(afk_thefts)
diff --git a/code/modules/mob/living/carbon/human/monkey/monkey.dm b/code/modules/mob/living/carbon/human/monkey/monkey.dm
index a2225b51167..27eb430ec71 100644
--- a/code/modules/mob/living/carbon/human/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/human/monkey/monkey.dm
@@ -8,7 +8,7 @@
var/cap = CONFIG_GET(number/monkeycap)
if (LAZYLEN(SSmobs.cubemonkeys) > cap)
if (spawner)
- to_chat(spawner, "Bluespace harmonics prevent the spawning of more than [cap] monkeys on the station at one time!")
+ to_chat(spawner, span_warning("Bluespace harmonics prevent the spawning of more than [cap] monkeys on the station at one time!"))
return INITIALIZE_HINT_QDEL
SSmobs.cubemonkeys += src
return ..()
diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm
index 4ba5e591cf4..d1241dfc97e 100644
--- a/code/modules/mob/living/carbon/human/species.dm
+++ b/code/modules/mob/living/carbon/human/species.dm
@@ -1082,7 +1082,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
return FALSE
if(DIGITIGRADE in species_traits)
if(!disable_warning)
- to_chat(H, "The footwear around here isn't compatible with your feet!")
+ to_chat(H, span_warning("The footwear around here isn't compatible with your feet!"))
return FALSE
return equip_delay_self_check(I, H, bypass_equip_delay_self)
if(ITEM_SLOT_BELT)
@@ -1090,7 +1090,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC))
if(!disable_warning)
- to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
+ to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!"))
return FALSE
return equip_delay_self_check(I, H, bypass_equip_delay_self)
if(ITEM_SLOT_EYES)
@@ -1114,7 +1114,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_CHEST)
if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC))
if(!disable_warning)
- to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
+ to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!"))
return FALSE
return equip_delay_self_check(I, H, bypass_equip_delay_self)
if(ITEM_SLOT_LPOCKET)
@@ -1127,7 +1127,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC))
if(!disable_warning)
- to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
+ to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!"))
return FALSE
return TRUE
if(ITEM_SLOT_RPOCKET)
@@ -1140,7 +1140,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC))
if(!disable_warning)
- to_chat(H, "You need a jumpsuit before you can attach this [I.name]!")
+ to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!"))
return FALSE
return TRUE
if(ITEM_SLOT_SUITSTORE)
@@ -1148,15 +1148,15 @@ GLOBAL_LIST_EMPTY(roundstart_races)
return FALSE
if(!H.wear_suit)
if(!disable_warning)
- to_chat(H, "You need a suit before you can attach this [I.name]!")
+ to_chat(H, span_warning("You need a suit before you can attach this [I.name]!"))
return FALSE
if(!H.wear_suit.allowed)
if(!disable_warning)
- to_chat(H, "You somehow have a suit with no defined allowed items for suit storage, stop that.")
+ to_chat(H, span_warning("You somehow have a suit with no defined allowed items for suit storage, stop that."))
return FALSE
if(I.w_class > WEIGHT_CLASS_BULKY)
if(!disable_warning)
- to_chat(H, "The [I.name] is too big to attach!") //should be src?
+ to_chat(H, span_warning("The [I.name] is too big to attach!")) //should be src?
return FALSE
if( istype(I, /obj/item/pda) || istype(I, /obj/item/pen) || is_type_in_list(I, H.wear_suit.allowed) )
return TRUE
@@ -1182,7 +1182,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
/datum/species/proc/equip_delay_self_check(obj/item/I, mob/living/carbon/human/H, bypass_equip_delay_self)
if(!I.equip_delay_self || bypass_equip_delay_self)
return TRUE
- H.visible_message("[H] start putting on [I]...", "You start putting on [I]...")
+ H.visible_message(span_notice("[H] start putting on [I]..."), span_notice("You start putting on [I]..."))
return do_after(H, I.equip_delay_self, target = H)
/datum/species/proc/before_equip_job(datum/job/J, mob/living/carbon/human/H)
@@ -1224,14 +1224,14 @@ GLOBAL_LIST_EMPTY(roundstart_races)
//The fucking TRAIT_FAT mutation is the dumbest shit ever. It makes the code so difficult to work with
if(HAS_TRAIT_FROM(H, TRAIT_FAT, OBESITY))//I share your pain, past coder.
if(H.overeatduration < (200 SECONDS))
- to_chat(H, "You feel fit again!")
+ to_chat(H, span_notice("You feel fit again!"))
REMOVE_TRAIT(H, TRAIT_FAT, OBESITY)
H.remove_movespeed_modifier(/datum/movespeed_modifier/obesity)
H.update_inv_w_uniform()
H.update_inv_wear_suit()
else
if(H.overeatduration >= (200 SECONDS))
- to_chat(H, "You suddenly feel blubbery!")
+ to_chat(H, span_danger("You suddenly feel blubbery!"))
ADD_TRAIT(H, TRAIT_FAT, OBESITY)
H.add_movespeed_modifier(/datum/movespeed_modifier/obesity)
H.update_inv_w_uniform()
@@ -1271,15 +1271,15 @@ GLOBAL_LIST_EMPTY(roundstart_races)
H.metabolism_efficiency = 1
else if(H.nutrition > NUTRITION_LEVEL_FED && H.satiety > 80)
if(H.metabolism_efficiency != 1.25 && !HAS_TRAIT(H, TRAIT_NOHUNGER))
- to_chat(H, "You feel vigorous.")
+ to_chat(H, span_notice("You feel vigorous."))
H.metabolism_efficiency = 1.25
else if(H.nutrition < NUTRITION_LEVEL_STARVING + 50)
if(H.metabolism_efficiency != 0.8)
- to_chat(H, "You feel sluggish.")
+ to_chat(H, span_notice("You feel sluggish."))
H.metabolism_efficiency = 0.8
else
if(H.metabolism_efficiency == 1.25)
- to_chat(H, "You no longer feel vigorous.")
+ to_chat(H, span_notice("You no longer feel vigorous."))
H.metabolism_efficiency = 1
//Hunger slowdown for if mood isn't enabled
@@ -1327,20 +1327,20 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!source.IsParalyzed())
source.emote("collapse")
source.Paralyze(RAD_MOB_KNOCKDOWN_AMOUNT)
- to_chat(source, "You feel weak.")
+ to_chat(source, span_danger("You feel weak."))
if(radiation > RAD_MOB_VOMIT && DT_PROB(RAD_MOB_VOMIT_PROB, delta_time))
source.vomit(10, TRUE)
if(radiation > RAD_MOB_MUTATE && DT_PROB(RAD_MOB_MUTATE_PROB, delta_time))
- to_chat(source, "You mutate!")
+ to_chat(source, span_danger("You mutate!"))
source.easy_randmut(NEGATIVE + MINOR_NEGATIVE)
source.emote("gasp")
source.domutcheck()
if(radiation > RAD_MOB_HAIRLOSS && DT_PROB(RAD_MOB_HAIRLOSS_PROB, delta_time))
if(!(source.hairstyle == "Bald") && (HAIR in species_traits))
- to_chat(source, "Your hair starts to fall out in clumps...")
+ to_chat(source, span_danger("Your hair starts to fall out in clumps..."))
addtimer(CALLBACK(src, .proc/go_bald, source), 5 SECONDS)
/**
@@ -1379,9 +1379,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
/datum/species/proc/grab(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
if(target.check_block())
- target.visible_message("[target] blocks [user]'s grab!", \
- "You block [user]'s grab!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your grab at [target] was blocked!")
+ target.visible_message(span_warning("[target] blocks [user]'s grab!"), \
+ span_userdanger("You block [user]'s grab!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your grab at [target] was blocked!"))
return FALSE
if(attacker_style?.grab_act(user,target) == MARTIAL_ATTACK_SUCCESS)
return TRUE
@@ -1392,12 +1392,12 @@ GLOBAL_LIST_EMPTY(roundstart_races)
///This proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason...
/datum/species/proc/harm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to harm [target]!")
+ to_chat(user, span_warning("You don't want to harm [target]!"))
return FALSE
if(target.check_block())
- target.visible_message("[target] blocks [user]'s attack!", \
- "You block [user]'s attack!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your attack at [target] was blocked!")
+ target.visible_message(span_warning("[target] blocks [user]'s attack!"), \
+ span_userdanger("You block [user]'s attack!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your attack at [target] was blocked!"))
return FALSE
if(attacker_style?.harm_act(user,target) == MARTIAL_ATTACK_SUCCESS)
return TRUE
@@ -1411,7 +1411,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(atk_effect == ATTACK_EFFECT_BITE)
if(user.is_mouth_covered(mask_only = TRUE))
- to_chat(user, "You can't [atk_verb] with your mouth covered!")
+ to_chat(user, span_warning("You can't [atk_verb] with your mouth covered!"))
return FALSE
user.do_attack_animation(target, atk_effect)
@@ -1428,9 +1428,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(!damage || !affecting || prob(miss_chance))//future-proofing for species that have 0 damage/weird cases where no zone is targeted
playsound(target.loc, user.dna.species.miss_sound, 25, TRUE, -1)
- target.visible_message("[user]'s [atk_verb] misses [target]!", \
- "You avoid [user]'s [atk_verb]!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your [atk_verb] misses [target]!")
+ target.visible_message(span_danger("[user]'s [atk_verb] misses [target]!"), \
+ span_danger("You avoid [user]'s [atk_verb]!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your [atk_verb] misses [target]!"))
log_combat(user, target, "attempted to punch")
return FALSE
@@ -1438,9 +1438,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
playsound(target.loc, user.dna.species.attack_sound, 25, TRUE, -1)
- target.visible_message("[user] [atk_verb]ed [target]!", \
- "You're [atk_verb]ed by [user]!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [atk_verb] [target]!")
+ target.visible_message(span_danger("[user] [atk_verb]ed [target]!"), \
+ span_userdanger("You're [atk_verb]ed by [user]!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You [atk_verb] [target]!"))
target.lastattacker = user.real_name
target.lastattackerckey = user.ckey
@@ -1458,9 +1458,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
log_combat(user, target, "punched")
if((target.stat != DEAD) && damage >= user.dna.species.punchstunthreshold)
- target.visible_message("[user] knocks [target] down!", \
- "You're knocked down by [user]!", "You hear aggressive shuffling followed by a loud thud!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You knock [target] down!")
+ target.visible_message(span_danger("[user] knocks [target] down!"), \
+ span_userdanger("You're knocked down by [user]!"), span_hear("You hear aggressive shuffling followed by a loud thud!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You knock [target] down!"))
var/knockdown_duration = 40 + (target.getStaminaLoss() + (target.getBruteLoss()*0.5))*0.8 //50 total damage = 40 base stun + 40 stun modifier = 80 stun duration, which is the old base duration
target.apply_effect(knockdown_duration, EFFECT_KNOCKDOWN, armor_block)
log_combat(user, target, "got a stun punch with their previous punch")
@@ -1470,9 +1470,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
/datum/species/proc/disarm(mob/living/carbon/human/user, mob/living/carbon/human/target, datum/martial_art/attacker_style)
if(target.check_block())
- target.visible_message("[user]'s shove is blocked by [target]!", \
- "You block [user]'s shove!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your shove at [target] was blocked!")
+ target.visible_message(span_warning("[user]'s shove is blocked by [target]!"), \
+ span_danger("You block [user]'s shove!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your shove at [target] was blocked!"))
return FALSE
if(attacker_style?.disarm_act(user,target) == MARTIAL_ATTACK_SUCCESS)
return TRUE
@@ -1500,9 +1500,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
attacker_style = M.mind.martial_art
if((M != H) && M.combat_mode && H.check_shields(M, 0, M.name, attack_type = UNARMED_ATTACK))
log_combat(M, H, "attempted to touch")
- H.visible_message("[M] attempts to touch [H]!", \
- "[M] attempts to touch you!", "You hear a swoosh!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You attempt to touch [H]!")
+ H.visible_message(span_warning("[M] attempts to touch [H]!"), \
+ span_danger("[M] attempts to touch you!"), span_hear("You hear a swoosh!"), COMBAT_MESSAGE_RANGE, M)
+ to_chat(M, span_warning("You attempt to touch [H]!"))
return
SEND_SIGNAL(M, COMSIG_MOB_ATTACK_HAND, M, H, attacker_style)
@@ -1521,8 +1521,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(H.check_shields(I, I.force, "the [I.name]", MELEE_ATTACK, I.armour_penetration))
return FALSE
if(H.check_block())
- H.visible_message("[H] blocks [I]!", \
- "You block [I]!")
+ H.visible_message(span_warning("[H] blocks [I]!"), \
+ span_userdanger("You block [I]!"))
return FALSE
var/hit_area
@@ -1532,7 +1532,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
hit_area = affecting.name
var/def_zone = affecting.body_zone
- var/armor_block = H.run_armor_check(affecting, MELEE, "Your armor has protected your [hit_area]!", "Your armor has softened a hit to your [hit_area]!",I.armour_penetration, weak_against_armour = I.weak_against_armour)
+ var/armor_block = H.run_armor_check(affecting, MELEE, span_notice("Your armor has protected your [hit_area]!"), span_warning("Your armor has softened a hit to your [hit_area]!"),I.armour_penetration, weak_against_armour = I.weak_against_armour)
armor_block = min(90,armor_block) //cap damage reduction at 90%
var/Iwound_bonus = I.wound_bonus
@@ -1567,8 +1567,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(prob(I.force))
H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 20)
if(H.stat == CONSCIOUS)
- H.visible_message("[H] is knocked senseless!", \
- "You're knocked senseless!")
+ H.visible_message(span_danger("[H] is knocked senseless!"), \
+ span_userdanger("You're knocked senseless!"))
H.set_confusion(max(H.get_confusion(), 20))
H.adjust_blurriness(10)
if(prob(10))
@@ -1595,8 +1595,8 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(BODY_ZONE_CHEST)
if(H.stat == CONSCIOUS && !I.get_sharpness() && armor_block < 50)
if(prob(I.force))
- H.visible_message("[H] is knocked down!", \
- "You're knocked down!")
+ H.visible_message(span_danger("[H] is knocked down!"), \
+ span_userdanger("You're knocked down!"))
H.apply_effect(60, EFFECT_KNOCKDOWN, armor_block)
if(bloody)
@@ -1669,11 +1669,11 @@ GLOBAL_LIST_EMPTY(roundstart_races)
// called when hit by a projectile
switch(P.type)
if(/obj/projectile/energy/floramut) // overwritten by plants/pods
- H.show_message("The radiation beam dissipates harmlessly through your body.")
+ H.show_message(span_notice("The radiation beam dissipates harmlessly through your body."))
if(/obj/projectile/energy/florayield)
- H.show_message("The radiation beam dissipates harmlessly through your body.")
+ H.show_message(span_notice("The radiation beam dissipates harmlessly through your body."))
if(/obj/projectile/energy/florarevolution)
- H.show_message("The radiation beam dissipates harmlessly through your body.")
+ H.show_message(span_notice("The radiation beam dissipates harmlessly through your body."))
/datum/species/proc/bullet_act(obj/projectile/P, mob/living/carbon/human/H)
// called before a projectile hit
@@ -2202,7 +2202,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(H.stat || H.body_position == LYING_DOWN)
return FALSE
if(H.wear_suit && ((H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception)))) //Jumpsuits have tail holes, so it makes sense they have wing holes too
- to_chat(H, "Your suit blocks your wings from extending!")
+ to_chat(H, span_warning("Your suit blocks your wings from extending!"))
return FALSE
var/turf/T = get_turf(H)
if(!T)
@@ -2210,7 +2210,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
var/datum/gas_mixture/environment = T.return_air()
if(environment && !(environment.return_pressure() > 30))
- to_chat(H, "The atmosphere is too thin for you to fly!")
+ to_chat(H, span_warning("The atmosphere is too thin for you to fly!"))
return FALSE
else
return TRUE
@@ -2220,7 +2220,7 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(H.buckled)
buckled_obj = H.buckled
- to_chat(H, "Your wings spazz out and launch you!")
+ to_chat(H, span_notice("Your wings spazz out and launch you!"))
playsound(H.loc, 'sound/misc/slip.ogg', 50, TRUE, -3)
@@ -2266,9 +2266,9 @@ GLOBAL_LIST_EMPTY(roundstart_races)
if(S.CanFly(H))
S.ToggleFlight(H)
if(!(H.movement_type & FLYING))
- to_chat(H, "You settle gently back onto the ground...")
+ to_chat(H, span_notice("You settle gently back onto the ground..."))
else
- to_chat(H, "You beat your wings and begin to hover gently above the ground...")
+ to_chat(H, span_notice("You beat your wings and begin to hover gently above the ground..."))
H.set_resting(FALSE, TRUE)
/**
diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
index d3988a55e85..79944cbff33 100644
--- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm
+++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
@@ -104,7 +104,7 @@
SIGNAL_HANDLER
EMPeffect = TRUE
spec_updatehealth(H)
- to_chat(H, "You feel the light of your body leave you.")
+ to_chat(H, span_notice("You feel the light of your body leave you."))
switch(severity)
if(EMP_LIGHT)
addtimer(CALLBACK(src, .proc/stop_emp, H), 10 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) //We're out for 10 seconds
@@ -117,8 +117,8 @@
return
emageffect = TRUE
if(user)
- to_chat(user, "You tap [H] on the back with your card.")
- H.visible_message("[H] starts flickering in an array of colors!")
+ to_chat(user, span_notice("You tap [H] on the back with your card."))
+ H.visible_message(span_danger("[H] starts flickering in an array of colors!"))
handle_emag(H)
addtimer(CALLBACK(src, .proc/stop_emag, H), 2 MINUTES) //Disco mode for 2 minutes! This doesn't affect the ethereal at all besides either annoying some players, or making someone look badass.
@@ -136,7 +136,7 @@
/datum/species/ethereal/proc/stop_emp(mob/living/carbon/human/H)
EMPeffect = FALSE
spec_updatehealth(H)
- to_chat(H, "You feel more energized as your shine comes back.")
+ to_chat(H, span_notice("You feel more energized as your shine comes back."))
/datum/species/ethereal/proc/handle_emag(mob/living/carbon/human/H)
@@ -149,7 +149,7 @@
/datum/species/ethereal/proc/stop_emag(mob/living/carbon/human/H)
emageffect = FALSE
spec_updatehealth(H)
- H.visible_message("[H] stops flickering and goes back to their normal state!")
+ H.visible_message(span_danger("[H] stops flickering and goes back to their normal state!"))
/datum/species/ethereal/proc/handle_charge(mob/living/carbon/human/H, delta_time, times_fired)
switch(get_charge(H))
@@ -176,8 +176,8 @@
H.clear_alert("ethereal_overcharge")
/datum/species/ethereal/proc/discharge_process(mob/living/carbon/human/H)
- to_chat(H, "You begin to lose control over your charge!")
- H.visible_message("[H] begins to spark violently!")
+ to_chat(H, span_warning("You begin to lose control over your charge!"))
+ H.visible_message(span_danger("[H] begins to spark violently!"))
var/static/mutable_appearance/overcharge //shameless copycode from lightning spell
overcharge = overcharge || mutable_appearance('icons/effects/effects.dmi', "electricity", EFFECTS_LAYER)
H.add_overlay(overcharge)
@@ -189,12 +189,12 @@
tesla_zap(H, 2, stomach.crystal_charge*2.5, ZAP_OBJ_DAMAGE | ZAP_ALLOW_DUPLICATES)
if(istype(stomach))
stomach.adjust_charge(ETHEREAL_CHARGE_FULL - stomach.crystal_charge)
- to_chat(H, "You violently discharge energy!")
- H.visible_message("[H] violently discharges energy!")
+ to_chat(H, span_warning("You violently discharge energy!"))
+ H.visible_message(span_danger("[H] violently discharges energy!"))
if(prob(10)) //chance of developing heart disease to dissuade overcharging oneself
var/datum/disease/D = new /datum/disease/heart_failure
H.ForceContractDisease(D)
- to_chat(H, "You're pretty sure you just felt your heart stop for a second there..")
+ to_chat(H, span_userdanger("You're pretty sure you just felt your heart stop for a second there.."))
H.playsound_local(H, 'sound/effects/singlebeat.ogg', 100, 0)
H.Paralyze(100)
diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm
index ceca9514c5f..e5fb8e16f4f 100644
--- a/code/modules/mob/living/carbon/human/species_types/felinid.dm
+++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm
@@ -100,7 +100,7 @@
kitty_ears.Insert(H, TRUE, FALSE) //Gives nonhumans cat tail and ears
kitty_tail.Insert(H, TRUE, FALSE)
if(!silent)
- to_chat(H, "Something is nya~t right.")
+ to_chat(H, span_boldnotice("Something is nya~t right."))
playsound(get_turf(H), 'sound/effects/meow1.ogg', 50, TRUE, -1)
/proc/purrbation_remove(mob/living/carbon/human/H, silent = FALSE)
@@ -122,4 +122,4 @@
var/obj/item/organ/new_ears = new target_species.mutantears
new_ears.Insert(H, TRUE, FALSE)
if(!silent)
- to_chat(H, "You are no longer a cat.")
+ to_chat(H, span_boldnotice("You are no longer a cat."))
diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm
index 4efc01cb1bf..74d5552a204 100644
--- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm
@@ -76,8 +76,8 @@
// we do not loss any nutrition as a fly when vomiting out food
body.vomit(0, FALSE, FALSE, 2, TRUE, force=TRUE, purge_ratio = 0.67)
playsound(get_turf(owner), 'sound/effects/splat.ogg', 50, TRUE)
- body.visible_message("[body] vomits on the floor!", \
- "You throw up on the floor!")
+ body.visible_message(span_danger("[body] vomits on the floor!"), \
+ span_userdanger("You throw up on the floor!"))
return ..()
/obj/item/organ/appendix/fly
diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm
index 6ddab3007db..c6068cd71fd 100644
--- a/code/modules/mob/living/carbon/human/species_types/golems.dm
+++ b/code/modules/mob/living/carbon/human/species_types/golems.dm
@@ -126,11 +126,11 @@
/datum/species/golem/plasma/spec_life(mob/living/carbon/human/H, delta_time, times_fired)
if(H.bodytemperature > 750)
if(!boom_warning && H.on_fire)
- to_chat(H, "You feel like you could blow up at any moment!")
+ to_chat(H, span_userdanger("You feel like you could blow up at any moment!"))
boom_warning = TRUE
else
if(boom_warning)
- to_chat(H, "You feel more stable.")
+ to_chat(H, span_notice("You feel more stable."))
boom_warning = FALSE
if(H.bodytemperature > 850 && H.on_fire && prob(25))
@@ -162,9 +162,9 @@
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
if(H.fire_stacks)
- to_chat(owner, "You ignite yourself!")
+ to_chat(owner, span_notice("You ignite yourself!"))
else
- to_chat(owner, "You try to ignite yourself, but fail!")
+ to_chat(owner, span_warning("You try to ignite yourself, but fail!"))
H.IgniteMob() //firestacks are already there passively
//Harder to hurt
@@ -419,7 +419,7 @@
special_names = list("Castle", "Bag", "Dune", "Worm", "Storm")
/datum/species/golem/sand/spec_death(gibbed, mob/living/carbon/human/H)
- H.visible_message("[H] turns into a pile of sand!")
+ H.visible_message(span_danger("[H] turns into a pile of sand!"))
for(var/obj/item/W in H)
H.dropItemToGround(W)
for(var/i=1, i <= rand(3,5), i++)
@@ -430,8 +430,8 @@
if(!(P.original == H && P.firer == H))
if(P.flag == BULLET || P.flag == BOMB)
playsound(H, 'sound/effects/shovel_dig.ogg', 70, TRUE)
- H.visible_message("The [P.name] sinks harmlessly in [H]'s sandy body!", \
- "The [P.name] sinks harmlessly in [H]'s sandy body!")
+ H.visible_message(span_danger("The [P.name] sinks harmlessly in [H]'s sandy body!"), \
+ span_userdanger("The [P.name] sinks harmlessly in [H]'s sandy body!"))
return BULLET_ACT_BLOCK
return ..()
@@ -451,7 +451,7 @@
/datum/species/golem/glass/spec_death(gibbed, mob/living/carbon/human/H)
playsound(H, "shatter", 70, TRUE)
- H.visible_message("[H] shatters!")
+ H.visible_message(span_danger("[H] shatters!"))
for(var/obj/item/W in H)
H.dropItemToGround(W)
for(var/i=1, i <= rand(3,5), i++)
@@ -461,8 +461,8 @@
/datum/species/golem/glass/bullet_act(obj/projectile/P, mob/living/carbon/human/H)
if(!(P.original == H && P.firer == H)) //self-shots don't reflect
if(P.flag == LASER || P.flag == ENERGY)
- H.visible_message("The [P.name] gets reflected by [H]'s glass skin!", \
- "The [P.name] gets reflected by [H]'s glass skin!")
+ H.visible_message(span_danger("The [P.name] gets reflected by [H]'s glass skin!"), \
+ span_userdanger("The [P.name] gets reflected by [H]'s glass skin!"))
if(P.starting)
var/new_x = P.starting.x + pick(0, 0, 0, 0, 0, -1, 1, -2, 2)
var/new_y = P.starting.y + pick(0, 0, 0, 0, 0, -1, 1, -2, 2)
@@ -489,7 +489,7 @@
var/last_teleport = 0
/datum/species/golem/bluespace/proc/reactive_teleport(mob/living/carbon/human/H)
- H.visible_message("[H] teleports!", "You destabilize and teleport!")
+ H.visible_message(span_warning("[H] teleports!"), span_danger("You destabilize and teleport!"))
new /obj/effect/particle_effect/sparks(get_turf(H))
playsound(get_turf(H), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
do_teleport(H, get_turf(H), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
@@ -550,12 +550,12 @@
/datum/action/innate/unstable_teleport/Activate()
var/mob/living/carbon/human/H = owner
- H.visible_message("[H] starts vibrating!", "You start charging your bluespace core...")
+ H.visible_message(span_warning("[H] starts vibrating!"), span_danger("You start charging your bluespace core..."))
playsound(get_turf(H), 'sound/weapons/flash.ogg', 25, TRUE)
addtimer(CALLBACK(src, .proc/teleport, H), 15)
/datum/action/innate/unstable_teleport/proc/teleport(mob/living/carbon/human/H)
- H.visible_message("[H] disappears in a shower of sparks!", "You teleport!")
+ H.visible_message(span_warning("[H] disappears in a shower of sparks!"), span_danger("You teleport!"))
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
spark_system.set_up(10, 0, src)
spark_system.attach(H)
@@ -802,11 +802,11 @@
if(gibbed)
return
if(H.on_fire)
- H.visible_message("[H] burns into ash!")
+ H.visible_message(span_danger("[H] burns into ash!"))
H.dust(just_ash = TRUE)
return
- H.visible_message("[H] falls apart into a pile of bandages!")
+ H.visible_message(span_danger("[H] falls apart into a pile of bandages!"))
new /obj/structure/cloth_pile(get_turf(H), H)
..()
@@ -828,7 +828,7 @@
H.unequip_everything()
H.forceMove(src)
cloth_golem = H
- to_chat(cloth_golem, "You start gathering your life energy, preparing to rise again...")
+ to_chat(cloth_golem, span_notice("You start gathering your life energy, preparing to rise again..."))
addtimer(CALLBACK(src, .proc/revive), revive_time)
else
return INITIALIZE_HINT_QDEL
@@ -839,7 +839,7 @@
return ..()
/obj/structure/cloth_pile/burn()
- visible_message("[src] burns into ash!")
+ visible_message(span_danger("[src] burns into ash!"))
new /obj/effect/decal/cleanable/ash(get_turf(src))
..()
@@ -856,7 +856,7 @@
cloth_golem.grab_ghost() //won't pull if it's a suicide
sleep(20)
cloth_golem.forceMove(get_turf(src))
- cloth_golem.visible_message("[src] rises and reforms into [cloth_golem]!","You reform into yourself!")
+ cloth_golem.visible_message(span_danger("[src] rises and reforms into [cloth_golem]!"),span_userdanger("You reform into yourself!"))
cloth_golem = null
qdel(src)
@@ -867,7 +867,7 @@
return
if(P.get_temperature())
- visible_message("[src] bursts into flames!")
+ visible_message(span_danger("[src] bursts into flames!"))
fire_act()
/datum/species/golem/plastic
@@ -939,27 +939,27 @@
if(M.stat == DEAD) //F
continue
if(M == H)
- H.show_message("You cringe with pain as your body rings around you!", MSG_AUDIBLE)
+ H.show_message(span_narsiesmall("You cringe with pain as your body rings around you!"), MSG_AUDIBLE)
H.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE)
H.soundbang_act(2, 0, 100, 1)
H.jitteriness += 7
var/distance = max(0,get_dist(get_turf(H),get_turf(M)))
switch(distance)
if(0 to 1)
- M.show_message("GONG!", MSG_AUDIBLE)
+ M.show_message(span_narsiesmall("GONG!"), MSG_AUDIBLE)
M.playsound_local(H, 'sound/effects/gong.ogg', 100, TRUE)
M.soundbang_act(1, 0, 30, 3)
M.add_confusion(10)
M.jitteriness += 4
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "gonged", /datum/mood_event/loud_gong)
if(2 to 3)
- M.show_message("GONG!", MSG_AUDIBLE)
+ M.show_message(span_cult("GONG!"), MSG_AUDIBLE)
M.playsound_local(H, 'sound/effects/gong.ogg', 75, TRUE)
M.soundbang_act(1, 0, 15, 2)
M.jitteriness += 3
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "gonged", /datum/mood_event/loud_gong)
else
- M.show_message("GONG!", MSG_AUDIBLE)
+ M.show_message(span_warning("GONG!"), MSG_AUDIBLE)
M.playsound_local(H, 'sound/effects/gong.ogg', 50, TRUE)
@@ -1008,16 +1008,16 @@
if(last_creation + brother_creation_cooldown > world.time) //no cheesing dork
return
if(C.amount < 10)
- to_chat(H, "You do not have enough cardboard!")
+ to_chat(H, span_warning("You do not have enough cardboard!"))
return FALSE
- to_chat(H, "You attempt to create a new cardboard brother.")
+ to_chat(H, span_notice("You attempt to create a new cardboard brother."))
if(do_after(user, 30, target = user))
if(last_creation + brother_creation_cooldown > world.time) //no cheesing dork
return
if(!C.use(10))
- to_chat(H, "You do not have enough cardboard!")
+ to_chat(H, span_warning("You do not have enough cardboard!"))
return FALSE
- to_chat(H, "You create a new cardboard golem shell.")
+ to_chat(H, span_notice("You create a new cardboard golem shell."))
create_brother(H.loc)
/datum/species/golem/cardboard/proc/create_brother(location)
@@ -1135,18 +1135,18 @@
if(2)
H.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt."))
if(3)
- to_chat(H, "Your bones hurt!")
+ to_chat(H, span_warning("Your bones hurt!"))
if(chem.overdosed)
if(DT_PROB(2, delta_time) && iscarbon(H)) //big oof
var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly.
var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood
if(bp)
playsound(H, get_sfx("desecration"), 50, TRUE, -1) //You just want to socialize
- H.visible_message("[H] rattles loudly and flails around!!", "Your bones hurt so much that your missing muscles spasm!!")
+ H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!"))
H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice)
bp.receive_damage(200, 0, 0) //But I don't think we should
else
- to_chat(H, "Your missing arm aches from wherever you left it.")
+ to_chat(H, span_warning("Your missing arm aches from wherever you left it."))
H.emote("sigh")
H.reagents.remove_reagent(chem.type, chem.metabolization_rate * delta_time)
return TRUE
@@ -1163,9 +1163,9 @@
/datum/action/innate/bonechill/Activate()
if(world.time < last_use + cooldown)
- to_chat("You aren't ready yet to rattle your bones again!")
+ to_chat(span_warning("You aren't ready yet to rattle your bones again!"))
return
- owner.visible_message("[owner] rattles [owner.p_their()] bones harrowingly.", "You rattle your bones")
+ owner.visible_message(span_warning("[owner] rattles [owner.p_their()] bones harrowingly."), span_notice("You rattle your bones"))
last_use = world.time
if(prob(snas_chance))
playsound(get_turf(owner),'sound/magic/RATTLEMEBONES2.ogg', 100)
@@ -1182,7 +1182,7 @@
if((L.mob_biotypes & MOB_UNDEAD) || isgolem(L) || HAS_TRAIT(L, TRAIT_RESISTCOLD))
continue //Do not affect our brothers
- to_chat(L, "A spine-chilling sound chills you to the bone!")
+ to_chat(L, span_cultlarge("A spine-chilling sound chills you to the bone!"))
L.apply_status_effect(/datum/status_effect/bonechill)
SEND_SIGNAL(L, COMSIG_ADD_MOOD_EVENT, "spooked", /datum/mood_event/spooked)
@@ -1215,7 +1215,7 @@
var/obj/effect/proc_holder/spell/aimed/cryo/cryo
/datum/species/golem/snow/spec_death(gibbed, mob/living/carbon/human/H)
- H.visible_message("[H] turns into a pile of snow!")
+ H.visible_message(span_danger("[H] turns into a pile of snow!"))
for(var/obj/item/W in H)
H.dropItemToGround(W)
for(var/i=1, i <= rand(3,5), i++)
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index be126d10f9d..edb9d348004 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -44,7 +44,7 @@
if(!H.blood_volume)
H.blood_volume += 2.5 * delta_time
H.adjustBruteLoss(2.5 * delta_time)
- to_chat(H, "You feel empty!")
+ to_chat(H, span_danger("You feel empty!"))
if(H.blood_volume < BLOOD_VOLUME_NORMAL)
if(H.nutrition >= NUTRITION_LEVEL_STARVING)
@@ -53,7 +53,7 @@
if(H.blood_volume < BLOOD_VOLUME_OKAY)
if(DT_PROB(2.5, delta_time))
- to_chat(H, "You feel drained!")
+ to_chat(H, span_danger("You feel drained!"))
if(H.blood_volume < BLOOD_VOLUME_BAD)
Cannibalize_Body(H)
@@ -71,7 +71,7 @@
limbs_to_consume -= list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM)
consumed_limb = H.get_bodypart(pick(limbs_to_consume))
consumed_limb.drop_limb()
- to_chat(H, "Your [consumed_limb] is drawn back into your body, unable to maintain its shape!")
+ to_chat(H, span_userdanger("Your [consumed_limb] is drawn back into your body, unable to maintain its shape!"))
qdel(consumed_limb)
H.blood_volume += 20
@@ -97,13 +97,13 @@
var/mob/living/carbon/human/H = owner
var/list/limbs_to_heal = H.get_missing_limbs()
if(limbs_to_heal.len < 1)
- to_chat(H, "You feel intact enough as it is.")
+ to_chat(H, span_notice("You feel intact enough as it is."))
return
- to_chat(H, "You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]...")
+ to_chat(H, span_notice("You focus intently on your missing [limbs_to_heal.len >= 2 ? "limbs" : "limb"]..."))
if(H.blood_volume >= 40*limbs_to_heal.len+BLOOD_VOLUME_OKAY)
H.regenerate_limbs()
H.blood_volume -= 40*limbs_to_heal.len
- to_chat(H, "...and after a moment you finish reforming!")
+ to_chat(H, span_notice("...and after a moment you finish reforming!"))
return
else if(H.blood_volume >= 40)//We can partially heal some limbs
while(H.blood_volume >= BLOOD_VOLUME_OKAY+40)
@@ -111,9 +111,9 @@
H.regenerate_limb(healed_limb)
limbs_to_heal -= healed_limb
H.blood_volume -= 40
- to_chat(H, "...but there is not enough of you to fix everything! You must attain more mass to heal completely!")
+ to_chat(H, span_warning("...but there is not enough of you to fix everything! You must attain more mass to heal completely!"))
return
- to_chat(H, "...but there is not enough of you to go around! You must attain more mass to heal!")
+ to_chat(H, span_warning("...but there is not enough of you to go around! You must attain more mass to heal!"))
////////////////////////////////////////////////////////SLIMEPEOPLE///////////////////////////////////////////////////////////////////
@@ -178,7 +178,7 @@
/datum/species/jelly/slime/spec_life(mob/living/carbon/human/H, delta_time, times_fired)
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
if(DT_PROB(2.5, delta_time))
- to_chat(H, "You feel very bloated!")
+ to_chat(H, span_notice("You feel very bloated!"))
else if(H.nutrition >= NUTRITION_LEVEL_WELL_FED)
H.blood_volume += 1.5 * delta_time
@@ -218,9 +218,9 @@
if(H.blood_volume >= BLOOD_VOLUME_SLIME_SPLIT)
make_dupe()
else
- to_chat(H, "...but there is not enough of you to go around! You must attain more mass to split!")
+ to_chat(H, span_warning("...but there is not enough of you to go around! You must attain more mass to split!"))
else
- to_chat(H, "...but fail to stand perfectly still!")
+ to_chat(H, span_warning("...but fail to stand perfectly still!"))
H.notransform = FALSE
@@ -273,7 +273,7 @@
/datum/action/innate/swap_body/Activate()
if(!isslimeperson(owner))
- to_chat(owner, "You are not a slimeperson.")
+ to_chat(owner, span_warning("You are not a slimeperson."))
Remove(owner)
else
ui_interact(owner)
@@ -399,14 +399,14 @@
if(M.current.stat == CONSCIOUS)
M.current.visible_message("[M.current] \
stops moving and starts staring vacantly into space.",
- "You stop moving this body...")
+ span_notice("You stop moving this body..."))
else
- to_chat(M.current, "You abandon this body...")
+ to_chat(M.current, span_notice("You abandon this body..."))
M.current.transfer_trait_datums(dupe)
M.transfer_to(dupe)
dupe.visible_message("[dupe] blinks and looks \
around.",
- "...and move this one instead.")
+ span_notice("...and move this one instead."))
///////////////////////////////////LUMINESCENTS//////////////////////////////////////////
@@ -525,23 +525,23 @@
if(!H.put_in_active_hand(S))
S.forceMove(H.drop_location())
species.current_extract = null
- to_chat(H, "You eject [S].")
+ to_chat(H, span_notice("You eject [S]."))
species.update_slime_actions()
else
var/obj/item/I = H.get_active_held_item()
if(istype(I, /obj/item/slime_extract))
var/obj/item/slime_extract/S = I
if(!S.Uses)
- to_chat(H, "[I] is spent! You cannot integrate it.")
+ to_chat(H, span_warning("[I] is spent! You cannot integrate it."))
return
if(!H.temporarilyRemoveItemFromInventory(S))
return
S.forceMove(H)
species.current_extract = S
- to_chat(H, "You consume [I], and you feel it pulse within you...")
+ to_chat(H, span_notice("You consume [I], and you feel it pulse within you..."))
species.update_slime_actions()
else
- to_chat(H, "You need to hold an unused slime extract in your active hand!")
+ to_chat(H, span_warning("You need to hold an unused slime extract in your active hand!"))
/datum/action/innate/use_extract
name = "Extract Minor Activation"
@@ -644,7 +644,7 @@
if(!owner)
return FALSE
linked_mobs.Add(M)
- to_chat(M, "You are now connected to [owner.real_name]'s Slime Link.")
+ to_chat(M, span_notice("You are now connected to [owner.real_name]'s Slime Link."))
var/datum/action/innate/linked_speech/action = new(src)
linked_actions.Add(action)
action.Grant(M)
@@ -662,7 +662,7 @@
action.Remove(M)
var/mob/living/carbon/human/owner = slimelink_owner.resolve()
if(owner)
- to_chat(M, "You are no longer connected to [owner.real_name]'s Slime Link.")
+ to_chat(M, span_notice("You are no longer connected to [owner.real_name]'s Slime Link."))
linked_mobs -= M
linked_actions -= action
qdel(action)
@@ -680,14 +680,14 @@
return
var/datum/species/jelly/stargazer/species = target
if(!species || !(H in species.linked_mobs))
- to_chat(H, "The link seems to have been severed...")
+ to_chat(H, span_warning("The link seems to have been severed..."))
Remove(H)
return
var/message = sanitize(input("Message:", "Slime Telepathy") as text|null)
if(!species || !(H in species.linked_mobs))
- to_chat(H, "The link seems to have been severed...")
+ to_chat(H, span_warning("The link seems to have been severed..."))
Remove(H)
return
@@ -727,22 +727,22 @@
if(!M)
return
if(M.anti_magic_check(FALSE, FALSE, TRUE, 0))
- to_chat(H, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")
+ to_chat(H, span_notice("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled."))
return
var/msg = sanitize(input("Message:", "Telepathy") as text|null)
if(msg)
if(M.anti_magic_check(FALSE, FALSE, TRUE, 0))
- to_chat(H, "As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled.")
+ to_chat(H, span_notice("As you try to communicate with [M], you're suddenly stopped by a vision of a massive tinfoil wall that streches beyond visible range. It seems you've been foiled."))
return
log_directed_talk(H, M, msg, LOG_SAY, "slime telepathy")
- to_chat(M, "You hear an alien voice in your head... [msg]")
- to_chat(H, "You telepathically said: \"[msg]\" to [M]")
+ to_chat(M, "[span_notice("You hear an alien voice in your head... ")][msg]")
+ to_chat(H, span_notice("You telepathically said: \"[msg]\" to [M]"))
for(var/dead in GLOB.dead_mob_list)
if(!isobserver(dead))
continue
var/follow_link_user = FOLLOW_LINK(dead, H)
var/follow_link_target = FOLLOW_LINK(dead, M)
- to_chat(dead, "[follow_link_user] [H] Slime Telepathy --> [follow_link_target] [M] [msg]")
+ to_chat(dead, "[follow_link_user] [span_name("[H]")] [span_alertalien("Slime Telepathy --> ")] [follow_link_target] [span_name("[M]")] [span_noticealien("[msg]")]")
/datum/action/innate/link_minds
name = "Link Minds"
@@ -758,19 +758,19 @@
CHECK_DNA_AND_SPECIES(H)
if(!H.pulling || !isliving(H.pulling) || H.grab_state < GRAB_AGGRESSIVE)
- to_chat(H, "You need to aggressively grab someone to link minds!")
+ to_chat(H, span_warning("You need to aggressively grab someone to link minds!"))
return
var/mob/living/target = H.pulling
var/datum/species/jelly/stargazer/species = target
- to_chat(H, "You begin linking [target]'s mind to yours...")
- to_chat(target, "You feel a foreign presence within your mind...")
+ to_chat(H, span_notice("You begin linking [target]'s mind to yours..."))
+ to_chat(target, span_warning("You feel a foreign presence within your mind..."))
if(do_after(H, 60, target = target))
if(H.pulling != target || H.grab_state < GRAB_AGGRESSIVE)
return
if(species.link_mob(target))
- to_chat(H, "You connect [target]'s mind to your slime link!")
+ to_chat(H, span_notice("You connect [target]'s mind to your slime link!"))
else
- to_chat(H, "You can't seem to link [target]'s mind...")
- to_chat(target, "The foreign presence leaves your mind.")
+ to_chat(H, span_warning("You can't seem to link [target]'s mind..."))
+ to_chat(target, span_warning("The foreign presence leaves your mind."))
diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm
index 0f3e2546348..1eada802749 100644
--- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm
+++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm
@@ -80,14 +80,14 @@
affecting = human_victim.get_bodypart(pick(BODY_ZONE_CHEST, BODY_ZONE_PRECISE_L_HAND, BODY_ZONE_PRECISE_R_HAND, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG))
var/armor = victim.run_armor_check(affecting, MELEE)
if(prob(25))
- victim.visible_message("[user]'s bite misses [victim]!",
- "You avoid [user]'s bite!", "You hear jaws snapping shut!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your bite misses [victim]!")
+ victim.visible_message(span_danger("[user]'s bite misses [victim]!"),
+ span_danger("You avoid [user]'s bite!"), span_hear("You hear jaws snapping shut!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("Your bite misses [victim]!"))
return TRUE
victim.apply_damage(rand(punchdamagelow, punchdamagehigh), BRUTE, affecting, armor)
- victim.visible_message("[name] bites [victim]!",
- "[name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, name)
- to_chat(user, "You bite [victim]!")
+ victim.visible_message(span_danger("[name] bites [victim]!"),
+ span_userdanger("[name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, name)
+ to_chat(user, span_danger("You bite [victim]!"))
if(armor >= 2)
return TRUE
for(var/d in user.diseases)
diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
index b8cb7476116..a4512f323e4 100644
--- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
@@ -44,7 +44,7 @@
if(.) //if the mob is immune to fire, don't burn wings off.
return
if(H.dna.features["moth_wings"] != "Burnt Off" && H.bodytemperature >= 800 && H.fire_stacks > 0) //do not go into the extremely hot light. you will not survive
- to_chat(H, "Your precious wings burn to a crisp!")
+ to_chat(H, span_danger("Your precious wings burn to a crisp!"))
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "burnt_wings", /datum/mood_event/burnt_wings)
if(!H.dna.features["original_moth_wings"]) //Fire apparently destroys DNA, so let's preserve that elsewhere, checks if an original was already stored to prevent bugs
H.dna.features["original_moth_wings"] = H.dna.features["moth_wings"]
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index 8d2dad9f243..1092fc6146b 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -61,7 +61,7 @@
if(environment.gases[/datum/gas/oxygen] && (environment.gases[/datum/gas/oxygen][MOLES]) >= 1) //Same threshhold that extinguishes fire
H.adjust_fire_stacks(0.25 * delta_time)
if(!H.on_fire && H.fire_stacks > 0)
- H.visible_message("[H]'s body reacts with the atmosphere and bursts into flames!","Your body reacts with the atmosphere and bursts into flame!")
+ H.visible_message(span_danger("[H]'s body reacts with the atmosphere and bursts into flames!"),span_userdanger("Your body reacts with the atmosphere and bursts into flame!"))
H.IgniteMob()
internal_fire = TRUE
else if(H.fire_stacks)
@@ -113,18 +113,18 @@
if(2)
H.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt."))
if(3)
- to_chat(H, "Your bones hurt!")
+ to_chat(H, span_warning("Your bones hurt!"))
if(chem.overdosed)
if(DT_PROB(2, delta_time) && iscarbon(H)) //big oof
var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly.
var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood
if(bp)
playsound(H, get_sfx("desecration"), 50, TRUE, -1) //You just want to socialize
- H.visible_message("[H] rattles loudly and flails around!!", "Your bones hurt so much that your missing muscles spasm!!")
+ H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!"))
H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice)
bp.receive_damage(200, 0, 0) //But I don't think we should
else
- to_chat(H, "Your missing arm aches from wherever you left it.")
+ to_chat(H, span_warning("Your missing arm aches from wherever you left it."))
H.emote("sigh")
H.reagents.remove_reagent(chem.type, chem.metabolization_rate * delta_time)
return TRUE
diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm
index fe98fcb586f..8a34750cd51 100644
--- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm
+++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm
@@ -59,18 +59,18 @@
if(2)
H.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt."))
if(3)
- to_chat(H, "Your bones hurt!")
+ to_chat(H, span_warning("Your bones hurt!"))
if(chem.overdosed)
if(DT_PROB(2, delta_time) && iscarbon(H)) //big oof
var/selected_part = pick(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) //God help you if the same limb gets picked twice quickly.
var/obj/item/bodypart/bp = H.get_bodypart(selected_part) //We're so sorry skeletons, you're so misunderstood
if(bp)
playsound(H, get_sfx("desecration"), 50, TRUE, -1) //You just want to socialize
- H.visible_message("[H] rattles loudly and flails around!!", "Your bones hurt so much that your missing muscles spasm!!")
+ H.visible_message(span_warning("[H] rattles loudly and flails around!!"), span_danger("Your bones hurt so much that your missing muscles spasm!!"))
H.say("OOF!!", forced=/datum/reagent/toxin/bonehurtingjuice)
bp.receive_damage(200, 0, 0) //But I don't think we should
else
- to_chat(H, "Your missing arm aches from wherever you left it.")
+ to_chat(H, span_warning("Your missing arm aches from wherever you left it."))
H.emote("sigh")
H.reagents.remove_reagent(chem.type, chem.metabolization_rate * delta_time)
return TRUE
diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm
index 13e01cbf0cb..0ddc2c6bc55 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -52,14 +52,14 @@
return
C.blood_volume -= 0.125 * delta_time
if(C.blood_volume <= BLOOD_VOLUME_SURVIVE)
- to_chat(C, "You ran out of blood!")
+ to_chat(C, span_danger("You ran out of blood!"))
var/obj/shapeshift_holder/H = locate() in C
if(H)
H.shape.dust() //make sure we're killing the bat if you are out of blood, if you don't it creates weird situations where the bat is alive but the caster is dusted.
C.dust()
var/area/A = get_area(C)
if(istype(A, /area/service/chapel))
- to_chat(C, "You don't belong here!")
+ to_chat(C, span_warning("You don't belong here!"))
C.adjustFireLoss(10 * delta_time)
C.adjust_fire_stacks(3 * delta_time)
C.IgniteMob()
@@ -87,39 +87,39 @@
var/mob/living/carbon/H = owner
var/obj/item/organ/tongue/vampire/V = target
if(V.drain_cooldown >= world.time)
- to_chat(H, "You just drained blood, wait a few seconds!")
+ to_chat(H, span_warning("You just drained blood, wait a few seconds!"))
return
if(H.pulling && iscarbon(H.pulling))
var/mob/living/carbon/victim = H.pulling
if(H.blood_volume >= BLOOD_VOLUME_MAXIMUM)
- to_chat(H, "You're already full!")
+ to_chat(H, span_warning("You're already full!"))
return
if(victim.stat == DEAD)
- to_chat(H, "You need a living victim!")
+ to_chat(H, span_warning("You need a living victim!"))
return
if(!victim.blood_volume || (victim.dna && ((NOBLOOD in victim.dna.species.species_traits) || victim.dna.species.exotic_blood)))
- to_chat(H, "[victim] doesn't have blood!")
+ to_chat(H, span_warning("[victim] doesn't have blood!"))
return
V.drain_cooldown = world.time + 30
if(victim.anti_magic_check(FALSE, TRUE, FALSE, 0))
- to_chat(victim, "[H] tries to bite you, but stops before touching you!")
- to_chat(H, "[victim] is blessed! You stop just in time to avoid catching fire.")
+ to_chat(victim, span_warning("[H] tries to bite you, but stops before touching you!"))
+ to_chat(H, span_warning("[victim] is blessed! You stop just in time to avoid catching fire."))
return
if(victim.has_reagent(/datum/reagent/consumable/garlic))
- to_chat(victim, "[H] tries to bite you, but recoils in disgust!")
- to_chat(H, "[victim] reeks of garlic! you can't bring yourself to drain such tainted blood.")
+ to_chat(victim, span_warning("[H] tries to bite you, but recoils in disgust!"))
+ to_chat(H, span_warning("[victim] reeks of garlic! you can't bring yourself to drain such tainted blood."))
return
if(!do_after(H, 30, target = victim))
return
var/blood_volume_difference = BLOOD_VOLUME_MAXIMUM - H.blood_volume //How much capacity we have left to absorb blood
var/drained_blood = min(victim.blood_volume, VAMP_DRAIN_AMOUNT, blood_volume_difference)
- to_chat(victim, "[H] is draining your blood!")
- to_chat(H, "You drain some blood!")
+ to_chat(victim, span_danger("[H] is draining your blood!"))
+ to_chat(H, span_notice("You drain some blood!"))
playsound(H, 'sound/items/drink.ogg', 30, TRUE, -2)
victim.blood_volume = clamp(victim.blood_volume - drained_blood, 0, BLOOD_VOLUME_MAXIMUM)
H.blood_volume = clamp(H.blood_volume + drained_blood, 0, BLOOD_VOLUME_MAXIMUM)
if(!victim.blood_volume)
- to_chat(H, "You finish off [victim]'s blood supply.")
+ to_chat(H, span_notice("You finish off [victim]'s blood supply."))
#undef VAMP_DRAIN_AMOUNT
diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm
index 78a4358d9c0..2beaae0c83e 100644
--- a/code/modules/mob/living/carbon/inventory.dm
+++ b/code/modules/mob/living/carbon/inventory.dm
@@ -165,18 +165,18 @@
/mob/living/carbon/proc/give()
var/obj/item/receiving = get_active_held_item()
if(!receiving)
- to_chat(src, "You're not holding anything to give!")
+ to_chat(src, span_warning("You're not holding anything to give!"))
return
if(IS_DEAD_OR_INCAP(src))
- to_chat(src, "You're unable to offer anything in your current state!")
+ to_chat(src, span_warning("You're unable to offer anything in your current state!"))
return
if(istype(receiving, /obj/item/slapper))
offer_high_five(receiving)
return
- visible_message("[src] is offering [receiving].", \
- "You offer [receiving].", null, 2)
+ visible_message(span_notice("[src] is offering [receiving]."), \
+ span_notice("You offer [receiving]."), null, 2)
for(var/mob/living/carbon/C in orange(1, src)) //Fixed that, now it shouldn't be able to give benos stunbatons and IDs
if(!CanReach(C))
continue
@@ -201,19 +201,19 @@
/mob/living/carbon/proc/take(mob/living/carbon/giver, obj/item/I)
clear_alert("[giver]")
if(get_dist(src, giver) > 1)
- to_chat(src, "[giver] is out of range! ")
+ to_chat(src, span_warning("[giver] is out of range! "))
return
if(!I || giver.get_active_held_item() != I)
- to_chat(src, "[giver] is no longer holding the item they were offering! ")
+ to_chat(src, span_warning("[giver] is no longer holding the item they were offering! "))
return
if(!get_empty_held_indexes())
- to_chat(src, "You have no empty hands!")
+ to_chat(src, span_warning("You have no empty hands!"))
return
if(!giver.temporarilyRemoveItemFromInventory(I))
- visible_message("[giver] tries to hand over [I] but it's stuck to them....")
+ visible_message(span_notice("[giver] tries to hand over [I] but it's stuck to them...."))
return
- visible_message("[src] takes [I] from [giver]", \
- "You take [I] from [giver]")
+ visible_message(span_notice("[src] takes [I] from [giver]"), \
+ span_notice("You take [I] from [giver]"))
put_in_hands(I)
/// Spin-off of [/mob/living/carbon/proc/give] exclusively for high-fiving
@@ -221,8 +221,8 @@
if(has_status_effect(STATUS_EFFECT_HIGHFIVE))
return
if(!(locate(/mob/living/carbon) in orange(1, src)))
- visible_message("[src] raises [p_their()] arm, looking around for a high-five, but there's no one around! How embarassing...", \
- "You post up, looking for a high-five, but finding no one within range! How embarassing...", null, 2)
+ visible_message(span_danger("[src] raises [p_their()] arm, looking around for a high-five, but there's no one around! How embarassing..."), \
+ span_warning("You post up, looking for a high-five, but finding no one within range! How embarassing..."), null, 2)
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "high_five", /datum/mood_event/high_five_alone)
return
diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm
index 0b3c6dc3074..c8a95bcff73 100644
--- a/code/modules/mob/living/carbon/life.dm
+++ b/code/modules/mob/living/carbon/life.dm
@@ -276,22 +276,22 @@
// At lower pp, give out a little warning
SEND_SIGNAL(src, COMSIG_CLEAR_MOOD_EVENT, "smell")
if(prob(5))
- to_chat(src, "There is an unpleasant smell in the air.")
+ to_chat(src, span_notice("There is an unpleasant smell in the air."))
if(5 to 20)
//At somewhat higher pp, warning becomes more obvious
if(prob(15))
- to_chat(src, "You smell something horribly decayed inside this room.")
+ to_chat(src, span_warning("You smell something horribly decayed inside this room."))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/bad_smell)
if(15 to 30)
//Small chance to vomit. By now, people have internals on anyway
if(prob(5))
- to_chat(src, "The stench of rotting carcasses is unbearable!")
+ to_chat(src, span_warning("The stench of rotting carcasses is unbearable!"))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench)
vomit()
if(30 to INFINITY)
//Higher chance to vomit. Let the horror start
if(prob(25))
- to_chat(src, "The stench of rotting carcasses is unbearable!")
+ to_chat(src, span_warning("The stench of rotting carcasses is unbearable!"))
SEND_SIGNAL(src, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench)
vomit()
else
@@ -545,16 +545,16 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(drunkenness >= 81)
adjustToxLoss(0.5 * delta_time)
if(!stat && DT_PROB(2.5, delta_time))
- to_chat(src, "Maybe you should lie down for a bit...")
+ to_chat(src, span_warning("Maybe you should lie down for a bit..."))
if(drunkenness >= 91)
adjustToxLoss(0.5 * delta_time)
adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.2 * delta_time)
if(DT_PROB(10, delta_time) && !stat)
if(SSshuttle.emergency.mode == SHUTTLE_DOCKED && is_station_level(z)) //QoL mainly
- to_chat(src, "You're so tired... but you can't miss that shuttle...")
+ to_chat(src, span_warning("You're so tired... but you can't miss that shuttle..."))
else
- to_chat(src, "Just a quick nap...")
+ to_chat(src, span_warning("Just a quick nap..."))
Sleeping(900)
if(drunkenness >= 101)
@@ -776,11 +776,11 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(limb.cremation_progress >= 100)
if(limb.status == BODYPART_ORGANIC) //Non-organic limbs don't burn
limb.drop_limb()
- limb.visible_message("[src]'s [limb.name] crumbles into ash!")
+ limb.visible_message(span_warning("[src]'s [limb.name] crumbles into ash!"))
qdel(limb)
else
limb.drop_limb()
- limb.visible_message("[src]'s [limb.name] detaches from [p_their()] body!")
+ limb.visible_message(span_warning("[src]'s [limb.name] detaches from [p_their()] body!"))
if(still_has_limbs)
return
@@ -792,17 +792,17 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(head.cremation_progress >= 100)
if(head.status == BODYPART_ORGANIC) //Non-organic limbs don't burn
head.drop_limb()
- head.visible_message("[src]'s head crumbles into ash!")
+ head.visible_message(span_warning("[src]'s head crumbles into ash!"))
qdel(head)
else
head.drop_limb()
- head.visible_message("[src]'s head detaches from [p_their()] body!")
+ head.visible_message(span_warning("[src]'s head detaches from [p_their()] body!"))
return
//Nothing left: dust the body, drop the items (if they're flammable they'll burn on their own)
chest.cremation_progress += rand(1 * delta_time, 2.5 * delta_time)
if(chest.cremation_progress >= 100)
- visible_message("[src]'s body crumbles into a pile of ash!")
+ visible_message(span_warning("[src]'s body crumbles into a pile of ash!"))
dust(TRUE, TRUE)
////////////////
diff --git a/code/modules/mob/living/carbon/status_procs.dm b/code/modules/mob/living/carbon/status_procs.dm
index b4e28bf19f5..6f6fd850aa0 100644
--- a/code/modules/mob/living/carbon/status_procs.dm
+++ b/code/modules/mob/living/carbon/status_procs.dm
@@ -13,7 +13,7 @@
return
if(absorb_stun(0)) //continuous effect, so we don't want it to increment the stuns absorbed.
return
- to_chat(src, "You're too exhausted to keep going...")
+ to_chat(src, span_notice("You're too exhausted to keep going..."))
ADD_TRAIT(src, TRAIT_INCAPACITATED, STAMINA)
ADD_TRAIT(src, TRAIT_IMMOBILIZED, STAMINA)
ADD_TRAIT(src, TRAIT_FLOORED, STAMINA)
diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm
index 5105b655e8d..c17a7ee1486 100644
--- a/code/modules/mob/living/emote.dm
+++ b/code/modules/mob/living/emote.dm
@@ -208,10 +208,10 @@
var/obj/item/kiss_blower = new kiss_type(user)
if(user.put_in_hands(kiss_blower))
- to_chat(user, "You ready your kiss-blowing hand.")
+ to_chat(user, span_notice("You ready your kiss-blowing hand."))
else
qdel(kiss_blower)
- to_chat(user, "You're incapable of blowing a kiss in your current state.")
+ to_chat(user, span_warning("You're incapable of blowing a kiss in your current state."))
/datum/emote/living/laugh
key = "laugh"
@@ -262,10 +262,10 @@
var/mob/living/carbon/human/H = user
if(H.usable_hands == 0)
if(H.usable_legs != 0)
- message_param = "tries to point at %t with a leg, falling down in the process!"
+ message_param = "tries to point at %t with a leg, [span_userdanger("falling down")] in the process!"
H.Paralyze(20)
else
- message_param = "bumps [user.p_their()] head on the ground trying to motion towards %t."
+ message_param = "[span_userdanger("bumps [user.p_their()] head on the ground")] trying to motion towards %t."
H.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5)
return ..()
@@ -436,7 +436,7 @@
/datum/emote/living/custom/proc/check_invalid(mob/user, input)
var/static/regex/stop_bad_mime = regex(@"says|exclaims|yells|asks")
if(stop_bad_mime.Find(input, 1, 1))
- to_chat(user, "Invalid emote.")
+ to_chat(user, span_danger("Invalid emote."))
return TRUE
return FALSE
@@ -446,12 +446,12 @@
if(!can_run_emote(user, TRUE, intentional))
return FALSE
if(is_banned_from(user.ckey, "Emote"))
- to_chat(user, "You cannot send custom emotes (banned).")
+ to_chat(user, span_boldwarning("You cannot send custom emotes (banned)."))
return FALSE
else if(QDELETED(user))
return FALSE
else if(user.client && user.client.prefs.muted & MUTE_IC)
- to_chat(user, "You cannot send IC messages (muted).")
+ to_chat(user, span_boldwarning("You cannot send IC messages (muted)."))
return FALSE
else if(!params)
custom_emote = copytext(sanitize(input("Choose an emote to display.") as text|null), 1, MAX_MESSAGE_LEN)
diff --git a/code/modules/mob/living/inhand_holder.dm b/code/modules/mob/living/inhand_holder.dm
index 5cc139549df..85af90667a9 100644
--- a/code/modules/mob/living/inhand_holder.dm
+++ b/code/modules/mob/living/inhand_holder.dm
@@ -56,13 +56,13 @@
if(isliving(loc))
var/mob/living/L = loc
if(display_messages)
- to_chat(L, "[held_mob] wriggles free!")
+ to_chat(L, span_warning("[held_mob] wriggles free!"))
L.dropItemToGround(src)
held_mob.forceMove(get_turf(held_mob))
held_mob.reset_perspective()
held_mob.setDir(SOUTH)
if(display_messages)
- held_mob.visible_message("[held_mob] uncurls!")
+ held_mob.visible_message(span_warning("[held_mob] uncurls!"))
held_mob = null
if(del_on_release && !destroying)
qdel(src)
@@ -76,8 +76,8 @@
/obj/item/clothing/head/mob_holder/on_found(mob/finder)
if(held_mob?.will_escape_storage())
- to_chat(finder, "\A [held_mob.name] pops out! ")
- finder.visible_message("\A [held_mob.name] pops out of the container [finder] is opening!", ignored_mobs = finder)
+ to_chat(finder, span_warning("\A [held_mob.name] pops out! "))
+ finder.visible_message(span_warning("\A [held_mob.name] pops out of the container [finder] is opening!"), ignored_mobs = finder)
release(TRUE, FALSE)
return
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 458d5bd7f93..e88ec4b5444 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -46,8 +46,8 @@
return ..()
/mob/living/proc/ZImpactDamage(turf/T, levels)
- visible_message("[src] crashes into [T] with a sickening noise!", \
- "You crash into [T] with a sickening noise!")
+ visible_message(span_danger("[src] crashes into [T] with a sickening noise!"), \
+ span_userdanger("You crash into [T] with a sickening noise!"))
adjustBruteLoss((levels * 5) ** 1.5)
Knockdown(levels * 50)
@@ -103,7 +103,7 @@
//Should stop you pushing a restrained person out of the way
if(L.pulledby && L.pulledby != src && HAS_TRAIT(L, TRAIT_RESTRAINED))
if(!(world.time % 5))
- to_chat(src, "[L] is restrained, you cannot push past.")
+ to_chat(src, span_warning("[L] is restrained, you cannot push past."))
return TRUE
if(L.pulling)
@@ -111,7 +111,7 @@
var/mob/P = L.pulling
if(HAS_TRAIT(P, TRAIT_RESTRAINED))
if(!(world.time % 5))
- to_chat(src, "[L] is restraining [P], you cannot push past.")
+ to_chat(src, span_warning("[L] is restraining [P], you cannot push past."))
return TRUE
if(moving_diagonally)//no mob swap during diagonal moves.
@@ -279,9 +279,9 @@
if(AM.pulledby)
if(!supress_message)
- AM.visible_message("[src] pulls [AM] from [AM.pulledby]'s grip.", \
- "[src] pulls you from [AM.pulledby]'s grip.", null, null, src)
- to_chat(src, "You pull [AM] from [AM.pulledby]'s grip!")
+ AM.visible_message(span_danger("[src] pulls [AM] from [AM.pulledby]'s grip."), \
+ span_danger("[src] pulls you from [AM.pulledby]'s grip."), null, null, src)
+ to_chat(src, span_notice("You pull [AM] from [AM.pulledby]'s grip!"))
log_combat(AM, AM.pulledby, "pulled from", src)
AM.pulledby.stop_pulling() //an object can't be pulled by two mobs at once.
@@ -306,9 +306,9 @@
log_combat(src, M, "grabbed", addition="passive grab")
if(!supress_message && !(iscarbon(AM) && HAS_TRAIT(src, TRAIT_STRONG_GRABBER)))
- M.visible_message("[src] grabs [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!", \
- "[src] grabs you [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by your hands":"passively"]!", null, null, src)
- to_chat(src, "You grab [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!")
+ M.visible_message(span_warning("[src] grabs [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!"), \
+ span_warning("[src] grabs you [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by your hands":"passively"]!"), null, null, src)
+ to_chat(src, span_notice("You grab [M] [(zone_selected == "l_arm" || zone_selected == "r_arm" && ishuman(M))? "by their hands":"passively"]!"))
if(!iscarbon(src))
M.LAssailant = null
else
@@ -399,7 +399,7 @@
return FALSE
if(!..())
return FALSE
- visible_message("[src] points at [A].", "You point at [A].")
+ visible_message("[span_name("[src]")] points at [A].", span_notice("You point at [A]."))
return TRUE
@@ -412,7 +412,7 @@
adjustOxyLoss(health - HEALTH_THRESHOLD_DEAD)
updatehealth()
if(!whispered)
- to_chat(src, "You have given up life and succumbed to death.")
+ to_chat(src, span_notice("You have given up life and succumbed to death."))
death()
/mob/living/incapacitated(ignore_restraints = FALSE, ignore_grab = FALSE, ignore_stasis = FALSE)
@@ -449,7 +449,7 @@
set category = "IC"
if(IsSleeping())
- to_chat(src, "You are already sleeping!")
+ to_chat(src, span_warning("You are already sleeping!"))
return
else
if(tgui_alert(usr, "You sure you want to sleep for a while?", "Sleep", list("Yes", "No")) == "Yes")
@@ -506,24 +506,24 @@
if(new_resting)
if(body_position == LYING_DOWN)
if(!silent)
- to_chat(src, "You will now try to stay lying down on the floor.")
+ to_chat(src, span_notice("You will now try to stay lying down on the floor."))
else if(HAS_TRAIT(src, TRAIT_FORCED_STANDING) || (buckled && buckled.buckle_lying != NO_BUCKLE_LYING))
if(!silent)
- to_chat(src, "You will now lay down as soon as you are able to.")
+ to_chat(src, span_notice("You will now lay down as soon as you are able to."))
else
if(!silent)
- to_chat(src, "You lay down.")
+ to_chat(src, span_notice("You lay down."))
set_lying_down()
else
if(body_position == STANDING_UP)
if(!silent)
- to_chat(src, "You will now try to remain standing up.")
+ to_chat(src, span_notice("You will now try to remain standing up."))
else if(HAS_TRAIT(src, TRAIT_FLOORED) || (buckled && buckled.buckle_lying != NO_BUCKLE_LYING))
if(!silent)
- to_chat(src, "You will now stand up as soon as you are able to.")
+ to_chat(src, span_notice("You will now stand up as soon as you are able to."))
else
if(!silent)
- to_chat(src, "You stand up.")
+ to_chat(src, span_notice("You stand up."))
get_up(instant)
update_resting()
@@ -940,17 +940,17 @@
var/resist_chance = BASE_GRAB_RESIST_CHANCE /// see defines/combat.dm, this should be baseline 60%
resist_chance = (resist_chance/altered_grab_state) ///Resist chance divided by the value imparted by your grab state. It isn't until you reach neckgrab that you gain a penalty to escaping a grab.
if(prob(resist_chance))
- visible_message("[src] breaks free of [pulledby]'s grip!", \
- "You break free of [pulledby]'s grip!", null, null, pulledby)
- to_chat(pulledby, "[src] breaks free of your grip!")
+ visible_message(span_danger("[src] breaks free of [pulledby]'s grip!"), \
+ span_danger("You break free of [pulledby]'s grip!"), null, null, pulledby)
+ to_chat(pulledby, span_warning("[src] breaks free of your grip!"))
log_combat(pulledby, src, "broke grab")
pulledby.stop_pulling()
return FALSE
else
adjustStaminaLoss(rand(15,20))//failure to escape still imparts a pretty serious penalty
- visible_message("[src] struggles as they fail to break free of [pulledby]'s grip!", \
- "You struggle as you fail to break free of [pulledby]'s grip!", null, null, pulledby)
- to_chat(pulledby, "[src] struggles as they fail to break free of your grip!")
+ visible_message(span_danger("[src] struggles as they fail to break free of [pulledby]'s grip!"), \
+ span_warning("You struggle as you fail to break free of [pulledby]'s grip!"), null, null, pulledby)
+ to_chat(pulledby, span_danger("[src] struggles as they fail to break free of your grip!"))
if(moving_resist && client) //we resisted by trying to move
client.move_delay = world.time + 40
else
@@ -995,11 +995,11 @@
if(SEND_SIGNAL(src, COMSIG_TRY_STRIP, who, what) & COMPONENT_CANT_STRIP)
return
if(!what.canStrip(who))
- to_chat(src, "You can't remove \the [what.name], it appears to be stuck!")
+ to_chat(src, span_warning("You can't remove \the [what.name], it appears to be stuck!"))
return
- who.visible_message("[src] tries to remove [who]'s [what.name].", \
- "[src] tries to remove your [what.name].", null, null, src)
- to_chat(src, "You try to remove [who]'s [what.name]...")
+ who.visible_message(span_warning("[src] tries to remove [who]'s [what.name]."), \
+ span_userdanger("[src] tries to remove your [what.name]."), null, null, src)
+ to_chat(src, span_danger("You try to remove [who]'s [what.name]..."))
who.log_message("[key_name(who)] is being stripped of [what] by [key_name(src)]", LOG_ATTACK, color="red")
log_message("[key_name(who)] is being stripped of [what] by [key_name(src)]", LOG_ATTACK, color="red", log_globally=FALSE)
what.add_fingerprint(src)
@@ -1023,7 +1023,7 @@
if(!what || (SEND_SIGNAL(src, COMSIG_TRY_STRIP, who, what) & COMPONENT_CANT_STRIP))
return
if(HAS_TRAIT(what, TRAIT_NODROP))
- to_chat(src, "You can't put \the [what.name] on [who], it's stuck to your hand!")
+ to_chat(src, span_warning("You can't put \the [what.name] on [who], it's stuck to your hand!"))
return
if(what)
var/list/where_list
@@ -1036,17 +1036,17 @@
final_where = where
if(!what.mob_can_equip(who, src, final_where, TRUE, TRUE))
- to_chat(src, "\The [what.name] doesn't fit in that place!")
+ to_chat(src, span_warning("\The [what.name] doesn't fit in that place!"))
return
if(istype(what,/obj/item/clothing))
var/obj/item/clothing/c = what
if(c.clothing_flags & DANGEROUS_OBJECT)
- who.visible_message("[src] tries to put [what] on [who].", \
- "[src] tries to put [what] on you.", null, null, src)
+ who.visible_message(span_danger("[src] tries to put [what] on [who]."), \
+ span_userdanger("[src] tries to put [what] on you."), null, null, src)
else
- who.visible_message("[src] tries to put [what] on [who].", \
- "[src] tries to put [what] on you.", null, null, src)
- to_chat(src, "You try to put [what] on [who]...")
+ who.visible_message(span_notice("[src] tries to put [what] on [who]."), \
+ span_notice("[src] tries to put [what] on you."), null, null, src)
+ to_chat(src, span_notice("You try to put [what] on [who]..."))
who.log_message("[key_name(who)] is having [what] put on them by [key_name(src)]", LOG_ATTACK, color="red")
log_message("[key_name(who)] is having [what] put on them by [key_name(src)]", LOG_ATTACK, color="red", log_globally=FALSE)
if(do_mob(src, who, what.equip_delay_other))
@@ -1124,30 +1124,30 @@
/mob/living/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE, need_hands = FALSE, floor_okay=FALSE)
if(!(mobility_flags & MOBILITY_UI) && !floor_okay)
- to_chat(src, "You can't do that right now!")
+ to_chat(src, span_warning("You can't do that right now!"))
return FALSE
if(be_close && !Adjacent(M) && (M.loc != src))
if(no_tk)
- to_chat(src, "You are too far away!")
+ to_chat(src, span_warning("You are too far away!"))
return FALSE
var/datum/dna/D = has_dna()
if(!D || !D.check_mutation(TK) || !tkMaxRangeCheck(src, M))
- to_chat(src, "You are too far away!")
+ to_chat(src, span_warning("You are too far away!"))
return FALSE
if(need_hands && !can_hold_items(isitem(M) ? M : null)) //almost redundant if it weren't for mobs,
- to_chat(src, "You don't have the physical ability to do this!")
+ to_chat(src, span_warning("You don't have the physical ability to do this!"))
return FALSE
if(!no_dexterity && !ISADVANCEDTOOLUSER(src))
- to_chat(src, "You don't have the dexterity to do this!")
+ to_chat(src, span_warning("You don't have the dexterity to do this!"))
return FALSE
return TRUE
/mob/living/proc/can_use_guns(obj/item/G)//actually used for more than guns!
if(G.trigger_guard == TRIGGER_GUARD_NONE)
- to_chat(src, "You are unable to fire this!")
+ to_chat(src, span_warning("You are unable to fire this!"))
return FALSE
if(G.trigger_guard != TRIGGER_GUARD_ALLOW_ALL && (!ISADVANCEDTOOLUSER(src) && !HAS_TRAIT(src, TRAIT_GUN_NATURAL)))
- to_chat(src, "You try to fire [G], but can't use the trigger!")
+ to_chat(src, span_warning("You try to fire [G], but can't use the trigger!"))
return FALSE
return TRUE
@@ -1176,7 +1176,7 @@
var/mob/living/simple_animal/hostile/guardian/G = para
G.summoner = new_mob
G.Recall()
- to_chat(G, "Your summoner has changed form!")
+ to_chat(G, span_holoparasite("Your summoner has changed form!"))
/mob/living/rad_act(amount)
. = ..()
@@ -1213,8 +1213,8 @@
/mob/living/proc/IgniteMob()
if(fire_stacks > 0 && !on_fire)
on_fire = TRUE
- src.visible_message("[src] catches fire!", \
- "You're set on fire!")
+ src.visible_message(span_warning("[src] catches fire!"), \
+ span_userdanger("You're set on fire!"))
new/obj/effect/dummy/lighting_obj/moblight/fire(src)
throw_alert("fire", /atom/movable/screen/alert/fire)
update_fire()
@@ -1382,7 +1382,7 @@
/mob/living/proc/mob_pickup(mob/living/L)
var/obj/item/clothing/head/mob_holder/holder = new(get_turf(src), src, held_state, head_icon, held_lh, held_rh, worn_slot_flags)
- L.visible_message("[L] scoops up [src]!")
+ L.visible_message(span_warning("[L] scoops up [src]!"))
L.put_in_hands(holder)
/mob/living/proc/set_name()
@@ -1394,15 +1394,15 @@
if(!ishuman(user))
return
if(!user.get_empty_held_indexes())
- to_chat(user, "Your hands are full!")
+ to_chat(user, span_warning("Your hands are full!"))
return FALSE
if(buckled)
- to_chat(user, "[src] is buckled to something!")
+ to_chat(user, span_warning("[src] is buckled to something!"))
return FALSE
if(!instant)
- user.visible_message("[user] starts trying to scoop up [src]!", \
- "You start trying to scoop up [src]...", null, null, src)
- to_chat(src, "[user] starts trying to scoop you up!")
+ user.visible_message(span_warning("[user] starts trying to scoop up [src]!"), \
+ span_danger("You start trying to scoop up [src]..."), null, null, src)
+ to_chat(src, span_userdanger("[user] starts trying to scoop you up!"))
if(!do_after(user, 2 SECONDS, target = src))
return FALSE
mob_pickup(user)
@@ -1613,7 +1613,7 @@
SIGNAL_HANDLER
var/turf/ceiling = get_step_multiz(src, UP)
if(!ceiling) //We are at the highest z-level.
- to_chat(src, "You can't see through the ceiling above you.")
+ to_chat(src, span_warning("You can't see through the ceiling above you."))
return
else if(!istransparentturf(ceiling)) //There is no turf we can look through above us
var/turf/front_hole = get_step(ceiling, dir)
@@ -1626,7 +1626,7 @@
ceiling = checkhole
break
if(!istransparentturf(ceiling))
- to_chat(src, "You can't see through the floor above you.")
+ to_chat(src, span_warning("You can't see through the floor above you."))
return
reset_perspective(ceiling)
@@ -1661,7 +1661,7 @@
var/turf/floor = get_turf(src)
var/turf/lower_level = get_step_multiz(floor, DOWN)
if(!lower_level) //We are at the lowest z-level.
- to_chat(src, "You can't see through the floor below you.")
+ to_chat(src, span_warning("You can't see through the floor below you."))
return
else if(!istransparentturf(floor)) //There is no turf we can look through below us
var/turf/front_hole = get_step(floor, dir)
@@ -1676,7 +1676,7 @@
lower_level = get_step_multiz(checkhole, DOWN)
break
if(!istransparentturf(floor))
- to_chat(src, "You can't see through the floor below you.")
+ to_chat(src, span_warning("You can't see through the floor below you."))
return
reset_perspective(lower_level)
@@ -1875,7 +1875,7 @@
// Trait removal if obese
if(HAS_TRAIT_FROM(src, TRAIT_FAT, OBESITY))
if(overeatduration >= (200 SECONDS))
- to_chat(src, "Your transformation restores your body's natural fitness!")
+ to_chat(src, span_notice("Your transformation restores your body's natural fitness!"))
REMOVE_TRAIT(src, TRAIT_FAT, OBESITY)
remove_movespeed_modifier(/datum/movespeed_modifier/obesity)
diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm
index 6568bb32217..b9d4bacdd9a 100644
--- a/code/modules/mob/living/living_defense.dm
+++ b/code/modules/mob/living/living_defense.dm
@@ -13,19 +13,19 @@
if(armour_penetration)
armor = max(0, armor - armour_penetration)
if(penetrated_text)
- to_chat(src, "[penetrated_text]")
+ to_chat(src, span_userdanger("[penetrated_text]"))
else
- to_chat(src, "Your armor was penetrated!")
+ to_chat(src, span_userdanger("Your armor was penetrated!"))
else if(armor >= 100)
if(absorb_text)
- to_chat(src, "[absorb_text]")
+ to_chat(src, span_notice("[absorb_text]"))
else
- to_chat(src, "Your armor absorbs the blow!")
+ to_chat(src, span_notice("Your armor absorbs the blow!"))
else
if(soften_text)
- to_chat(src, "[soften_text]")
+ to_chat(src, span_warning("[soften_text]"))
else
- to_chat(src, "Your armor softens the blow!")
+ to_chat(src, span_warning("Your armor softens the blow!"))
return armor
/mob/living/proc/getarmor(def_zone, type)
@@ -101,8 +101,8 @@
log_combat(thrown_by, src, "threw and hit", thrown_item)
if(nosell_hit)
return ..()
- visible_message("[src] is hit by [thrown_item]!", \
- "You're hit by [thrown_item]!")
+ visible_message(span_danger("[src] is hit by [thrown_item]!"), \
+ span_userdanger("You're hit by [thrown_item]!"))
if(!thrown_item.throwforce)
return
var/armor = run_armor_check(zone, MELEE, "Your armor has protected your [parse_zone(zone)].", "Your armor has softened hit to your [parse_zone(zone)].", thrown_item.armour_penetration, "", FALSE, thrown_item.weak_against_armour)
@@ -126,11 +126,11 @@
return
if(!(status_flags & CANPUSH) || HAS_TRAIT(src, TRAIT_PUSHIMMUNE))
- to_chat(user, "[src] can't be grabbed more aggressively!")
+ to_chat(user, span_warning("[src] can't be grabbed more aggressively!"))
return FALSE
if(user.grab_state >= GRAB_AGGRESSIVE && HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to risk hurting [src]!")
+ to_chat(user, span_warning("You don't want to risk hurting [src]!"))
return FALSE
grippedby(user)
@@ -148,9 +148,9 @@
if(user.grab_state) //only the first upgrade is instantaneous
var/old_grab_state = user.grab_state
var/grab_upgrade_time = instant ? 0 : 30
- visible_message("[user] starts to tighten [user.p_their()] grip on [src]!", \
- "[user] starts to tighten [user.p_their()] grip on you!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You start to tighten your grip on [src]!")
+ visible_message(span_danger("[user] starts to tighten [user.p_their()] grip on [src]!"), \
+ span_userdanger("[user] starts to tighten [user.p_their()] grip on you!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You start to tighten your grip on [src]!"))
switch(user.grab_state)
if(GRAB_AGGRESSIVE)
log_combat(user, src, "attempted to neck grab", addition="neck grab")
@@ -165,29 +165,29 @@
if(GRAB_AGGRESSIVE)
var/add_log = ""
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- visible_message("[user] firmly grips [src]!",
- "[user] firmly grips you!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You firmly grip [src]!")
+ visible_message(span_danger("[user] firmly grips [src]!"),
+ span_danger("[user] firmly grips you!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You firmly grip [src]!"))
add_log = " (pacifist)"
else
- visible_message("[user] grabs [src] aggressively!", \
- "[user] grabs you aggressively!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You grab [src] aggressively!")
+ visible_message(span_danger("[user] grabs [src] aggressively!"), \
+ span_userdanger("[user] grabs you aggressively!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You grab [src] aggressively!"))
drop_all_held_items()
stop_pulling()
log_combat(user, src, "grabbed", addition="aggressive grab[add_log]")
if(GRAB_NECK)
log_combat(user, src, "grabbed", addition="neck grab")
- visible_message("[user] grabs [src] by the neck!",\
- "[user] grabs you by the neck!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You grab [src] by the neck!")
+ visible_message(span_danger("[user] grabs [src] by the neck!"),\
+ span_userdanger("[user] grabs you by the neck!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You grab [src] by the neck!"))
if(!buckled && !density)
Move(user.loc)
if(GRAB_KILL)
log_combat(user, src, "strangled", addition="kill grab")
- visible_message("[user] is strangling [src]!", \
- "[user] is strangling you!", "You hear aggressive shuffling!", null, user)
- to_chat(user, "You're strangling [src]!")
+ visible_message(span_danger("[user] is strangling [src]!"), \
+ span_userdanger("[user] is strangling you!"), span_hear("You hear aggressive shuffling!"), null, user)
+ to_chat(user, span_danger("You're strangling [src]!"))
if(!buckled && !density)
Move(user.loc)
user.set_pull_offsets(src, grab_state)
@@ -205,35 +205,35 @@
return // can't attack while eating!
if(HAS_TRAIT(src, TRAIT_PACIFISM))
- to_chat(M, "You don't want to hurt anyone!")
+ to_chat(M, span_warning("You don't want to hurt anyone!"))
return FALSE
if (stat != DEAD)
log_combat(M, src, "attacked")
M.do_attack_animation(src)
- visible_message("\The [M.name] glomps [src]!", \
- "\The [M.name] glomps you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, M)
- to_chat(M, "You glomp [src]!")
+ visible_message(span_danger("\The [M.name] glomps [src]!"), \
+ span_userdanger("\The [M.name] glomps you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, M)
+ to_chat(M, span_danger("You glomp [src]!"))
return TRUE
/mob/living/attack_animal(mob/living/simple_animal/user, list/modifiers)
user.face_atom(src)
if(user.melee_damage_upper == 0)
if(user != src)
- visible_message("\The [user] [user.friendly_verb_continuous] [src]!", \
- "\The [user] [user.friendly_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [user.friendly_verb_simple] [src]!")
+ visible_message(span_notice("\The [user] [user.friendly_verb_continuous] [src]!"), \
+ span_notice("\The [user] [user.friendly_verb_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_notice("You [user.friendly_verb_simple] [src]!"))
return FALSE
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to hurt anyone!")
+ to_chat(user, span_warning("You don't want to hurt anyone!"))
return FALSE
if(user.attack_sound)
playsound(loc, user.attack_sound, 50, TRUE, TRUE)
user.do_attack_animation(src)
- visible_message("\The [user] [user.attack_verb_continuous] [src]!", \
- "\The [user] [user.attack_verb_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [user.attack_verb_simple] [src]!")
+ visible_message(span_danger("\The [user] [user.attack_verb_continuous] [src]!"), \
+ span_userdanger("\The [user] [user.attack_verb_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You [user.attack_verb_simple] [src]!"))
log_combat(user, src, "attacked")
return TRUE
@@ -259,49 +259,49 @@
if (!user.combat_mode)
return FALSE
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to hurt anyone!")
+ to_chat(user, span_warning("You don't want to hurt anyone!"))
return FALSE
if(user.is_muzzled() || user.is_mouth_covered(FALSE, TRUE))
- to_chat(user, "You can't bite with your mouth covered!")
+ to_chat(user, span_warning("You can't bite with your mouth covered!"))
return FALSE
user.do_attack_animation(src, ATTACK_EFFECT_BITE)
if (prob(75))
log_combat(user, src, "attacked")
playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1)
- visible_message("[user.name] bites [src]!", \
- "[user.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You bite [src]!")
+ visible_message(span_danger("[user.name] bites [src]!"), \
+ span_userdanger("[user.name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You bite [src]!"))
return TRUE
else
- visible_message("[user.name]'s bite misses [src]!", \
- "You avoid [user.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "Your bite misses [src]!")
+ visible_message(span_danger("[user.name]'s bite misses [src]!"), \
+ span_danger("You avoid [user.name]'s bite!"), span_hear("You hear the sound of jaws snapping shut!"), COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_warning("Your bite misses [src]!"))
return FALSE
/mob/living/attack_larva(mob/living/carbon/alien/larva/L)
if(L.combat_mode)
if(HAS_TRAIT(L, TRAIT_PACIFISM))
- to_chat(L, "You don't want to hurt anyone!")
+ to_chat(L, span_warning("You don't want to hurt anyone!"))
return
L.do_attack_animation(src)
if(prob(90))
log_combat(L, src, "attacked")
- visible_message("[L.name] bites [src]!", \
- "[L.name] bites you!", "You hear a chomp!", COMBAT_MESSAGE_RANGE, L)
- to_chat(L, "You bite [src]!")
+ visible_message(span_danger("[L.name] bites [src]!"), \
+ span_userdanger("[L.name] bites you!"), span_hear("You hear a chomp!"), COMBAT_MESSAGE_RANGE, L)
+ to_chat(L, span_danger("You bite [src]!"))
playsound(loc, 'sound/weapons/bite.ogg', 50, TRUE, -1)
return TRUE
else
- visible_message("[L.name]'s bite misses [src]!", \
- "You avoid [L.name]'s bite!", "You hear the sound of jaws snapping shut!", COMBAT_MESSAGE_RANGE, L)
- to_chat(L, "Your bite misses [src]!")
+ visible_message(span_danger("[L.name]'s bite misses [src]!"), \
+ span_danger("You avoid [L.name]'s bite!"), span_hear("You hear the sound of jaws snapping shut!"), COMBAT_MESSAGE_RANGE, L)
+ to_chat(L, span_warning("Your bite misses [src]!"))
else
- visible_message("[L.name] rubs its head against [src].", \
- "[L.name] rubs its head against you.", null, null, L)
- to_chat(L, "You rub your head against [src].")
+ visible_message(span_notice("[L.name] rubs its head against [src]."), \
+ span_notice("[L.name] rubs its head against you."), null, null, L)
+ to_chat(L, span_notice("You rub your head against [src]."))
return FALSE
return FALSE
@@ -311,20 +311,20 @@
return TRUE
if(user.combat_mode)
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to hurt anyone!")
+ to_chat(user, span_warning("You don't want to hurt anyone!"))
return FALSE
user.do_attack_animation(src)
return TRUE
else
- visible_message("[user] caresses [src] with its scythe-like arm.", \
- "[user] caresses you with its scythe-like arm.", null, null, user)
- to_chat(user, "You caress [src] with your scythe-like arm.")
+ visible_message(span_notice("[user] caresses [src] with its scythe-like arm."), \
+ span_notice("[user] caresses you with its scythe-like arm."), null, null, user)
+ to_chat(user, span_notice("You caress [src] with your scythe-like arm."))
return FALSE
/mob/living/attack_hulk(mob/living/carbon/human/user)
..()
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to hurt [src]!")
+ to_chat(user, span_warning("You don't want to hurt [src]!"))
return FALSE
return TRUE
@@ -354,9 +354,9 @@
else
adjustStaminaLoss(shock_damage)
visible_message(
- "[src] was shocked by \the [source]!", \
- "You feel a powerful shock coursing through your body!", \
- "You hear a heavy electrical crack." \
+ span_danger("[src] was shocked by \the [source]!"), \
+ span_userdanger("You feel a powerful shock coursing through your body!"), \
+ span_hear("You hear a heavy electrical crack.") \
)
return shock_damage
diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm
index deba770464d..e8f7616c518 100644
--- a/code/modules/mob/living/living_say.dm
+++ b/code/modules/mob/living/living_say.dm
@@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list(
if(ic_blocked)
//The filter warning message shows the sanitized message though.
- to_chat(src, "That message contained a word prohibited in IC chat! Consider reviewing the server rules.\n\"[message]\"")
+ to_chat(src, span_warning("That message contained a word prohibited in IC chat! Consider reviewing the server rules.\n\"[message]\""))
SSblackbox.record_feedback("tally", "ic_blocked_words", 1, lowertext(config.ic_filter_regex.match))
return
var/list/message_mods = list()
@@ -158,13 +158,13 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list(
if(!can_speak_vocal(message))
if(H.mind?.miming)
if(HAS_TRAIT(src, TRAIT_SIGN_LANG))
- to_chat(src, "You stop yourself from signing in favor of the artform of mimery!")
+ to_chat(src, span_warning("You stop yourself from signing in favor of the artform of mimery!"))
return
else
- to_chat(src, "Your vow of silence prevents you from speaking!")
+ to_chat(src, span_green("Your vow of silence prevents you from speaking!"))
return
else
- to_chat(src, "You find yourself unable to speak!")
+ to_chat(src, span_warning("You find yourself unable to speak!"))
return
var/message_range = 7
@@ -270,10 +270,10 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list(
if(speaker != src)
if(!radio_freq) //These checks have to be seperate, else people talking on the radio will make "You can't hear yourself!" appear when hearing people over the radio while deaf.
- deaf_message = "[speaker] [speaker.verb_say] something but you cannot hear [speaker.p_them()]."
+ deaf_message = "[span_name("[speaker]")] [speaker.verb_say] something but you cannot hear [speaker.p_them()]."
deaf_type = 1
else
- deaf_message = "You can't hear yourself!"
+ deaf_message = span_notice("You can't hear yourself!")
deaf_type = 2 // Since you should be able to hear yourself without looking
// Create map text prior to modifying message for goonchat
@@ -360,7 +360,7 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list(
/mob/living/proc/can_speak_basic(message, ignore_spam = FALSE, forced = FALSE) //Check BEFORE handling of xeno and ling channels
if(client)
if(client.prefs.muted & MUTE_IC)
- to_chat(src, "You cannot speak in IC (muted).")
+ to_chat(src, span_danger("You cannot speak in IC (muted)."))
return FALSE
if(!(ignore_spam || forced) && client.handle_spam_prevention(message,MUTE_IC))
return FALSE
diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm
index 9807800ae2c..aedc60164de 100644
--- a/code/modules/mob/living/login.dm
+++ b/code/modules/mob/living/login.dm
@@ -17,10 +17,10 @@
//Vents
var/ventcrawler = HAS_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS) || HAS_TRAIT(src, TRAIT_VENTCRAWLER_NUDE)
if(ventcrawler)
- to_chat(src, "You can ventcrawl! Use alt+click on vents to quickly travel about the station.")
+ to_chat(src, span_notice("You can ventcrawl! Use alt+click on vents to quickly travel about the station."))
if(ranged_ability)
- ranged_ability.add_ranged_ability(src, "You currently have [ranged_ability] active!")
+ ranged_ability.add_ranged_ability(src, span_notice("You currently have [ranged_ability] active!"))
var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling)
if(changeling)
diff --git a/code/modules/mob/living/silicon/ai/ai.dm b/code/modules/mob/living/silicon/ai/ai.dm
index 9bb79fd5864..ae56387c080 100644
--- a/code/modules/mob/living/silicon/ai/ai.dm
+++ b/code/modules/mob/living/silicon/ai/ai.dm
@@ -119,8 +119,8 @@
target_ai.mind.transfer_to(src)
if(mind.special_role)
mind.store_memory("As an AI, you must obey your silicon laws above all else. Your objectives will consider you to be dead.")
- to_chat(src, "You have been installed as an AI! ")
- to_chat(src, "You must obey your silicon laws above all else. Your objectives will consider you to be dead.")
+ to_chat(src, span_userdanger("You have been installed as an AI! "))
+ to_chat(src, span_danger("You must obey your silicon laws above all else. Your objectives will consider you to be dead."))
to_chat(src, "You are playing the station's AI. The AI cannot move, but can interact with many objects while viewing them (through cameras).")
to_chat(src, "To look at other parts of the station, click on yourself to get a camera menu.")
@@ -318,12 +318,12 @@
/mob/living/silicon/ai/proc/ai_call_shuttle()
if(control_disabled)
- to_chat(usr, "Wireless control is disabled!")
+ to_chat(usr, span_warning("Wireless control is disabled!"))
return
var/can_evac_or_fail_reason = SSshuttle.canEvac(src)
if(can_evac_or_fail_reason != TRUE)
- to_chat(usr, "[can_evac_or_fail_reason]")
+ to_chat(usr, span_alert("[can_evac_or_fail_reason]"))
return
var/reason = input(src, "What is the nature of your emergency? ([CALL_SHUTTLE_REASON_LENGTH] characters required.)", "Confirm Shuttle Call") as null|text
@@ -372,10 +372,10 @@
return
if(incapacitated())
if(battery < 50)
- to_chat(src, "Insufficient backup power!")
+ to_chat(src, span_warning("Insufficient backup power!"))
return
battery = battery - 50
- to_chat(src, "You route power from your backup battery to move the bolts.")
+ to_chat(src, span_notice("You route power from your backup battery to move the bolts."))
var/is_anchored = FALSE
if(move_resist == MOVE_FORCE_OVERPOWERING)
move_resist = MOVE_FORCE_NORMAL
@@ -396,7 +396,7 @@
if(href_list["emergencyAPC"]) //This check comes before incapacitated() because the only time it would be useful is when we have no power.
if(!apc_override)
- to_chat(src, "APC backdoor is no longer available.")
+ to_chat(src, span_notice("APC backdoor is no longer available."))
return
apc_override.ui_interact(src)
return
@@ -428,7 +428,7 @@
if(H)
H.attack_ai(src) //may as well recycle
else
- to_chat(src, "Unable to locate the holopad.")
+ to_chat(src, span_notice("Unable to locate the holopad."))
if(href_list["track"])
var/string = href_list["track"]
trackable_mobs()
@@ -463,13 +463,13 @@
return
if(controlled_mech)
- to_chat(src, "You are already loaded into an onboard computer!")
+ to_chat(src, span_warning("You are already loaded into an onboard computer!"))
return
if(!GLOB.cameranet.checkCameraVis(M))
- to_chat(src, "Exosuit is no longer near active cameras.")
+ to_chat(src, span_warning("Exosuit is no longer near active cameras."))
return
if(!isturf(loc))
- to_chat(src, "You aren't in your core!")
+ to_chat(src, span_warning("You aren't in your core!"))
return
if(M)
M.transfer_ai(AI_MECH_HACK, src, usr) //Called om the mech itself.
@@ -507,7 +507,7 @@
else if(GLOB.cameranet && GLOB.cameranet.checkTurfVis(turf_check))
call_bot(turf_check)
else
- to_chat(src, "Selected location is not visible.")
+ to_chat(src, span_danger("Selected location is not visible."))
/mob/living/silicon/ai/proc/call_bot(turf/waypoint)
@@ -515,9 +515,9 @@
return
if(Bot.calling_ai && Bot.calling_ai != src) //Prevents an override if another AI is controlling this bot.
- to_chat(src, "Interface error. Unit is already in use.")
+ to_chat(src, span_danger("Interface error. Unit is already in use."))
return
- to_chat(src, "Sending command to bot...")
+ to_chat(src, span_notice("Sending command to bot..."))
call_bot_cooldown = world.time + CALL_BOT_COOLDOWN
Bot.call_bot(src, waypoint)
call_bot_cooldown = 0
@@ -636,7 +636,7 @@
if(network in C.network)
U.eyeobj.setLoc(get_turf(C))
break
- to_chat(src, "Switched to the \"[uppertext(network)]\" camera network.")
+ to_chat(src, span_notice("Switched to the \"[uppertext(network)]\" camera network."))
//End of code by Mord_Sith
//I am the icon meister. Bow fefore me. //>fefore
@@ -721,7 +721,7 @@
/datum/action/innate/core_return/Activate()
var/obj/machinery/power/apc/apc = owner.loc
if(!istype(apc))
- to_chat(owner, "You are already in your Main Core.")
+ to_chat(owner, span_notice("You are already in your Main Core."))
return
apc.malfvacate()
qdel(src)
@@ -794,11 +794,11 @@
return
if(interaction == AI_TRANS_TO_CARD)//The only possible interaction. Upload AI mob to a card.
if(!can_be_carded)
- to_chat(user, "Transfer failed.")
+ to_chat(user, span_boldwarning("Transfer failed."))
return
disconnect_shell() //If the AI is controlling a borg, force the player back to core!
if(!mind)
- to_chat(user, "No intelligence patterns detected.")
+ to_chat(user, span_warning("No intelligence patterns detected."))
return
ShutOffDoomsdayDevice()
var/obj/structure/ai_core/new_core = new /obj/structure/ai_core/deactivated(loc)//Spawns a deactivated terminal at AI location.
@@ -809,11 +809,11 @@
forceMove(card)
card.AI = src
to_chat(src, "You have been downloaded to a mobile storage device. Remote device connection severed.")
- to_chat(user, "Transfer successful: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
+ to_chat(user, "[span_boldnotice("Transfer successful")]: [name] ([rand(1000,9999)].exe) removed from host terminal and stored within local memory.")
/mob/living/silicon/ai/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE, need_hands = FALSE, floor_okay=FALSE)
if(control_disabled)
- to_chat(src, "You can't do that right now!")
+ to_chat(src, span_warning("You can't do that right now!"))
return FALSE
return can_see(M) && ..() //stop AIs from leaving windows open and using then after they lose vision
@@ -839,7 +839,7 @@
if(S.job)
jobpart = "[S.job]"
- var/rendered = "[start][hrefpart][namepart] ([jobpart]) [treated_message]"
+ var/rendered = "[start][span_name("[hrefpart][namepart] ([jobpart]) ")][treated_message]"
if (client?.prefs.chat_on_map && (client.prefs.see_chat_non_mob || ismob(speaker)))
create_chat_message(speaker, message_language, raw_message, spans)
@@ -927,10 +927,10 @@
clear_alert("hackingapc")
if(!istype(apc) || QDELETED(apc) || apc.machine_stat & BROKEN)
- to_chat(src, "Hack aborted. The designated APC no longer exists on the power network.")
+ to_chat(src, span_danger("Hack aborted. The designated APC no longer exists on the power network."))
playsound(get_turf(src), 'sound/machines/buzz-two.ogg', 50, TRUE, ignore_walls = FALSE)
else if(apc.aidisabled)
- to_chat(src, "Hack aborted. [apc] is no longer responding to our systems.")
+ to_chat(src, span_danger("Hack aborted. [apc] is no longer responding to our systems."))
playsound(get_turf(src), 'sound/machines/buzz-sigh.ogg', 50, TRUE, ignore_walls = FALSE)
else
malf_picker.processing_time += 10
@@ -951,7 +951,7 @@
if(incapacitated())
return
if(control_disabled)
- to_chat(src, "Wireless networking module is offline.")
+ to_chat(src, span_warning("Wireless networking module is offline."))
return
var/list/possible = list()
@@ -1008,7 +1008,7 @@
/mob/living/silicon/ai/proc/disconnect_shell()
SIGNAL_HANDLER
if(deployed_shell) //Forcibly call back AI in event of things such as damage, EMP or power loss.
- to_chat(src, "Your remote connection has been reset!")
+ to_chat(src, span_danger("Your remote connection has been reset!"))
deployed_shell.undeploy()
UnregisterSignal(deployed_shell, COMSIG_LIVING_DEATH)
diag_hud_set_deployed()
@@ -1034,7 +1034,7 @@
set category = "IC"
if(zMove(UP, TRUE))
- to_chat(src, "You move upwards.")
+ to_chat(src, span_notice("You move upwards."))
/mob/living/silicon/ai/zMove(dir, feedback = FALSE)
. = eyeobj.zMove(dir, feedback)
diff --git a/code/modules/mob/living/silicon/ai/ai_defense.dm b/code/modules/mob/living/silicon/ai/ai_defense.dm
index 9e87703c877..54c63bba2e4 100644
--- a/code/modules/mob/living/silicon/ai/ai_defense.dm
+++ b/code/modules/mob/living/silicon/ai/ai_defense.dm
@@ -3,7 +3,7 @@
if(istype(W, /obj/item/ai_module))
var/obj/item/ai_module/MOD = W
if(!mind) //A player mind is required for law procs to run antag checks.
- to_chat(user, "[src] is entirely unresponsive!")
+ to_chat(user, span_warning("[src] is entirely unresponsive!"))
return
MOD.install(laws, user) //Proc includes a success mesage so we don't need another one
return
diff --git a/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm b/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm
index 45ddb425039..61a2336a370 100644
--- a/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm
+++ b/code/modules/mob/living/silicon/ai/ai_portrait_picker.dm
@@ -59,15 +59,15 @@
var/h = portrait_icon.Height()
var/mutable_appearance/MA = mutable_appearance(portrait_icon)
if(w == 23 || h == 23)
- to_chat(ai, "Small note: 23x23 Portraits are accepted, but they do not fit perfectly inside the display frame.")
+ to_chat(ai, span_notice("Small note: 23x23 Portraits are accepted, but they do not fit perfectly inside the display frame."))
MA.pixel_x = 5
MA.pixel_y = 5
else if(w == 24 || h == 24)
- to_chat(ai, "Portrait Accepted. Enjoy!")
+ to_chat(ai, span_notice("Portrait Accepted. Enjoy!"))
MA.pixel_x = 4
MA.pixel_y = 4
else
- to_chat(ai, "Sorry, only 23x23 and 24x24 Portraits are accepted.")
+ to_chat(ai, span_warning("Sorry, only 23x23 and 24x24 Portraits are accepted."))
return
ai.cut_overlays() //so people can't keep repeatedly select portraits to add stacking overlays
ai.icon_state = "ai-portrait-active"//background
diff --git a/code/modules/mob/living/silicon/ai/ai_say.dm b/code/modules/mob/living/silicon/ai/ai_say.dm
index 2bf3afab7fb..d9b7ab92166 100644
--- a/code/modules/mob/living/silicon/ai/ai_say.dm
+++ b/code/modules/mob/living/silicon/ai/ai_say.dm
@@ -20,7 +20,7 @@
if(incapacitated())
return FALSE
if(!radio_enabled) //AI cannot speak if radio is disabled (via intellicard) or depowered.
- to_chat(src, "Your radio transmitter is offline!")
+ to_chat(src, span_danger("Your radio transmitter is offline!"))
return FALSE
..()
@@ -41,9 +41,9 @@
padloc = "(UNKNOWN)"
src.log_talk(message, LOG_SAY, tag="HOLOPAD in [padloc]")
send_speech(message, 7, T, MODE_ROBOT, message_language = language)
- to_chat(src, "Holopad transmitted, [real_name] \"[message]\"")
+ to_chat(src, "Holopad transmitted, [span_name("[real_name]")] \"[message]\"")
else
- to_chat(src, "No holopad connected.")
+ to_chat(src, span_alert("No holopad connected."))
// Make sure that the code compiles with AI_VOX undefined
@@ -84,7 +84,7 @@
/mob/living/silicon/ai/proc/announcement()
var/static/announcing_vox = 0 // Stores the time of the last announcement
if(announcing_vox > world.time)
- to_chat(src, "Please wait [DisplayTimeText(announcing_vox - world.time)].")
+ to_chat(src, span_notice("Please wait [DisplayTimeText(announcing_vox - world.time)]."))
return
var/message = input(src, "WARNING: Misuse of this verb can result in you being job banned. More help is available in 'Announcement Help'", "Announcement", src.last_announcement) as text|null
@@ -98,7 +98,7 @@
return
if(control_disabled)
- to_chat(src, "Wireless interface disabled, unable to interact with announcement PA.")
+ to_chat(src, span_warning("Wireless interface disabled, unable to interact with announcement PA."))
return
var/list/words = splittext(trim(message), " ")
@@ -116,7 +116,7 @@
incorrect_words += word
if(incorrect_words.len)
- to_chat(src, "These words are not available on the announcement system: [english_list(incorrect_words)].")
+ to_chat(src, span_notice("These words are not available on the announcement system: [english_list(incorrect_words)]."))
return
announcing_vox = world.time + VOX_DELAY
diff --git a/code/modules/mob/living/silicon/ai/examine.dm b/code/modules/mob/living/silicon/ai/examine.dm
index 26aadfd5168..3202372a897 100644
--- a/code/modules/mob/living/silicon/ai/examine.dm
+++ b/code/modules/mob/living/silicon/ai/examine.dm
@@ -1,18 +1,18 @@
/mob/living/silicon/ai/examine(mob/user)
. = list("*---------*\nThis is [icon2html(src, user)] [src]!")
if (stat == DEAD)
- . += "It appears to be powered-down."
+ . += span_deadsay("It appears to be powered-down.")
else
if (getBruteLoss())
if (getBruteLoss() < 30)
- . += "It looks slightly dented."
+ . += span_warning("It looks slightly dented.")
else
- . += "It looks severely dented!"
+ . += span_warning("It looks severely dented!")
if (getFireLoss())
if (getFireLoss() < 30)
- . += "It looks slightly charred."
+ . += span_warning("It looks slightly charred.")
else
- . += "Its casing is melted and heat-warped!"
+ . += span_warning("Its casing is melted and heat-warped!")
if(deployed_shell)
. += "The wireless networking light is blinking.\n"
else if (!shunted && !client)
diff --git a/code/modules/mob/living/silicon/ai/freelook/eye.dm b/code/modules/mob/living/silicon/ai/freelook/eye.dm
index 83cf1ffbe92..73afadf8930 100644
--- a/code/modules/mob/living/silicon/ai/freelook/eye.dm
+++ b/code/modules/mob/living/silicon/ai/freelook/eye.dm
@@ -107,11 +107,11 @@
var/turf/target = get_step_multiz(src, dir)
if(!target)
if(feedback)
- to_chat(ai, "There's nowhere to go in that direction!")
+ to_chat(ai, span_warning("There's nowhere to go in that direction!"))
return FALSE
if(!canZMove(dir, target))
if(feedback)
- to_chat(ai, "You couldn't move there!")
+ to_chat(ai, span_warning("You couldn't move there!"))
return FALSE
setLoc(target, TRUE)
return TRUE
diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm
index 02f7b92bf6a..4d458705125 100644
--- a/code/modules/mob/living/silicon/ai/life.dm
+++ b/code/modules/mob/living/silicon/ai/life.dm
@@ -26,7 +26,7 @@
if(aiRestorePowerRoutine)
// Lost power
if (!battery)
- to_chat(src, "Your backup battery's output drops below usable levels. It takes only a moment longer for your systems to fail, corrupted and unusable.")
+ to_chat(src, span_warning("Your backup battery's output drops below usable levels. It takes only a moment longer for your systems to fail, corrupted and unusable."))
adjustOxyLoss(200)
else
battery--
@@ -91,7 +91,7 @@
/mob/living/silicon/ai/proc/start_RestorePowerRoutine()
- to_chat(src, "Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection.")
+ to_chat(src, span_notice("Backup battery online. Scanners, camera, and radio interface offline. Beginning fault-detection."))
end_multicam()
sleep(50)
var/turf/T = get_turf(src)
@@ -100,16 +100,16 @@
if(!isspaceturf(T))
ai_restore_power()
return
- to_chat(src, "Fault confirmed: missing external power. Shutting down main control system to save power.")
+ to_chat(src, span_notice("Fault confirmed: missing external power. Shutting down main control system to save power."))
sleep(20)
- to_chat(src, "Emergency control system online. Verifying connection to power network.")
+ to_chat(src, span_notice("Emergency control system online. Verifying connection to power network."))
sleep(50)
T = get_turf(src)
if(isspaceturf(T))
- to_chat(src, "Unable to verify! No power connection detected!")
+ to_chat(src, span_alert("Unable to verify! No power connection detected!"))
setAiRestorePowerRoutine(POWER_RESTORATION_SEARCH_APC)
return
- to_chat(src, "Connection verified. Searching for APC in power network.")
+ to_chat(src, span_notice("Connection verified. Searching for APC in power network."))
sleep(50)
var/obj/machinery/power/apc/theAPC = null
@@ -125,9 +125,9 @@
if (!theAPC)
switch(PRP)
if(1)
- to_chat(src, "Unable to locate APC!")
+ to_chat(src, span_alert("Unable to locate APC!"))
else
- to_chat(src, "Lost connection with the APC!")
+ to_chat(src, span_alert("Lost connection with the APC!"))
setAiRestorePowerRoutine(POWER_RESTORATION_SEARCH_APC)
return
if(AIarea.power_equip)
@@ -136,15 +136,15 @@
return
switch(PRP)
if (1)
- to_chat(src, "APC located. Optimizing route to APC to avoid needless power waste.")
+ to_chat(src, span_notice("APC located. Optimizing route to APC to avoid needless power waste."))
if (2)
- to_chat(src, "Best route identified. Hacking offline APC power port.")
+ to_chat(src, span_notice("Best route identified. Hacking offline APC power port."))
if (3)
- to_chat(src, "Power port upload access confirmed. Loading control program into APC power port software.")
+ to_chat(src, span_notice("Power port upload access confirmed. Loading control program into APC power port software."))
if (4)
- to_chat(src, "Transfer complete. Forcing APC to execute program.")
+ to_chat(src, span_notice("Transfer complete. Forcing APC to execute program."))
sleep(50)
- to_chat(src, "Receiving control information from APC.")
+ to_chat(src, span_notice("Receiving control information from APC."))
sleep(2)
to_chat(src, "APC ready for connection.")
apc_override = theAPC
@@ -156,11 +156,11 @@
/mob/living/silicon/ai/proc/ai_restore_power()
if(aiRestorePowerRoutine)
if(aiRestorePowerRoutine == POWER_RESTORATION_APC_FOUND)
- to_chat(src, "Alert cancelled. Power has been restored.")
+ to_chat(src, span_notice("Alert cancelled. Power has been restored."))
if(apc_override)
- to_chat(src, "APC backdoor has been closed.") //Fluff for why we have to hack every time.
+ to_chat(src, span_notice("APC backdoor has been closed.")) //Fluff for why we have to hack every time.
else
- to_chat(src, "Alert cancelled. Power has been restored without our assistance.")
+ to_chat(src, span_notice("Alert cancelled. Power has been restored without our assistance."))
setAiRestorePowerRoutine(POWER_RESTORATION_OFF)
set_blindness(0)
apc_override = null
@@ -171,5 +171,5 @@
setAiRestorePowerRoutine(POWER_RESTORATION_START)
blind_eyes(1)
update_sight()
- to_chat(src, "You've lost power!")
+ to_chat(src, span_alert("You've lost power!"))
addtimer(CALLBACK(src, .proc/start_RestorePowerRoutine), 20)
diff --git a/code/modules/mob/living/silicon/ai/login.dm b/code/modules/mob/living/silicon/ai/login.dm
index ae8bcc4af66..f36dc84c08b 100644
--- a/code/modules/mob/living/silicon/ai/login.dm
+++ b/code/modules/mob/living/silicon/ai/login.dm
@@ -4,7 +4,7 @@
return FALSE
if(stat != DEAD)
if(lacks_power() && apc_override) //Placing this in Login() in case the AI doesn't have this link for whatever reason.
- to_chat(usr, "Main power is unavailable, backup power in use. Diagnostics scan complete. Local APC ready for connection.")
+ to_chat(usr, "[span_warning("Main power is unavailable, backup power in use. Diagnostics scan complete.")] Local APC ready for connection.")
set_eyeobj_visible(TRUE)
if(multicam_on)
end_multicam()
diff --git a/code/modules/mob/living/silicon/ai/multicam.dm b/code/modules/mob/living/silicon/ai/multicam.dm
index cfaf098c076..2d9234fae6a 100644
--- a/code/modules/mob/living/silicon/ai/multicam.dm
+++ b/code/modules/mob/living/silicon/ai/multicam.dm
@@ -196,25 +196,25 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
/mob/living/silicon/ai/proc/drop_new_multicam(silent = FALSE)
if(!CONFIG_GET(flag/allow_ai_multicam))
if(!silent)
- to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.")
+ to_chat(src, span_warning("This action is currently disabled. Contact an administrator to enable this feature."))
return
if(!eyeobj)
return
if(multicam_screens.len >= max_multicams)
if(!silent)
- to_chat(src, "Cannot place more than [max_multicams] multicamera windows.")
+ to_chat(src, span_warning("Cannot place more than [max_multicams] multicamera windows."))
return
var/atom/movable/screen/movable/pic_in_pic/ai/C = new /atom/movable/screen/movable/pic_in_pic/ai()
C.set_view_size(3, 3, FALSE)
C.set_view_center(get_turf(eyeobj))
C.set_ai(src)
if(!silent)
- to_chat(src, "Added new multicamera window.")
+ to_chat(src, span_notice("Added new multicamera window."))
return C
/mob/living/silicon/ai/proc/toggle_multicam()
if(!CONFIG_GET(flag/allow_ai_multicam))
- to_chat(src, "This action is currently disabled. Contact an administrator to enable this feature.")
+ to_chat(src, span_warning("This action is currently disabled. Contact an administrator to enable this feature."))
return
if(multicam_on)
end_multicam()
@@ -225,11 +225,11 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
if(multicam_on || aiRestorePowerRoutine || !isturf(loc))
return
if(!GLOB.ai_camera_room_landmark)
- to_chat(src, "This function is not available at this time.")
+ to_chat(src, span_warning("This function is not available at this time."))
return
multicam_on = TRUE
refresh_multicam()
- to_chat(src, "Multiple-camera viewing mode activated.")
+ to_chat(src, span_notice("Multiple-camera viewing mode activated."))
/mob/living/silicon/ai/proc/refresh_multicam()
reset_perspective(GLOB.ai_camera_room_landmark)
@@ -248,7 +248,7 @@ GLOBAL_DATUM(ai_camera_room_landmark, /obj/effect/landmark/ai_multicam_room)
var/atom/movable/screen/movable/pic_in_pic/P = V
P.unshow_to(client)
reset_perspective()
- to_chat(src, "Multiple-camera viewing mode deactivated.")
+ to_chat(src, span_notice("Multiple-camera viewing mode deactivated."))
/mob/living/silicon/ai/proc/select_main_multicam_window(atom/movable/screen/movable/pic_in_pic/ai/P)
diff --git a/code/modules/mob/living/silicon/ai/robot_control.dm b/code/modules/mob/living/silicon/ai/robot_control.dm
index e84a62694d3..c739f52f393 100644
--- a/code/modules/mob/living/silicon/ai/robot_control.dm
+++ b/code/modules/mob/living/silicon/ai/robot_control.dm
@@ -10,7 +10,7 @@
if(user != owner || owner.incapacitated())
return FALSE
if(owner.control_disabled)
- to_chat(user, "Wireless control is disabled.")
+ to_chat(user, span_warning("Wireless control is disabled."))
return FALSE
return TRUE
@@ -61,13 +61,13 @@
switch(action)
if("callbot") //Command a bot to move to a selected location.
if(owner.call_bot_cooldown > world.time)
- to_chat(usr, "Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route.")
+ to_chat(usr, span_danger("Error: Your last call bot command is still processing, please wait for the bot to finish calculating a route."))
return
owner.Bot = locate(params["ref"]) in GLOB.bots_list
if(!owner.Bot || owner.Bot.remote_disabled || owner.control_disabled)
return
owner.waypoint_mode = TRUE
- to_chat(usr, "Set your waypoint by clicking on a valid location free of obstructions.")
+ to_chat(usr, span_notice("Set your waypoint by clicking on a valid location free of obstructions."))
. = TRUE
if("interface") //Remotely connect to a bot!
owner.Bot = locate(params["ref"]) in GLOB.bots_list
diff --git a/code/modules/mob/living/silicon/laws.dm b/code/modules/mob/living/silicon/laws.dm
index 3521728e4ac..ae9392c5cd6 100644
--- a/code/modules/mob/living/silicon/laws.dm
+++ b/code/modules/mob/living/silicon/laws.dm
@@ -8,7 +8,7 @@
/mob/living/silicon/proc/deadchat_lawchange()
var/list/the_laws = laws.get_law_list(include_zeroth = TRUE)
var/lawtext = the_laws.Join("
")
- deadchat_broadcast("'s laws were changed. View", "[src]", follow_target=src, message_type=DEADCHAT_LAWCHANGE)
+ deadchat_broadcast("'s laws were changed. View", span_name("[src]"), follow_target=src, message_type=DEADCHAT_LAWCHANGE)
/mob/living/silicon/proc/post_lawchange(announce = TRUE)
throw_alert("newlaw", /atom/movable/screen/alert/newlaw)
diff --git a/code/modules/mob/living/silicon/pai/pai.dm b/code/modules/mob/living/silicon/pai/pai.dm
index 5ba0d278620..d2bd0adfd02 100644
--- a/code/modules/mob/living/silicon/pai/pai.dm
+++ b/code/modules/mob/living/silicon/pai/pai.dm
@@ -300,7 +300,7 @@
if(hacking_cable)
if(get_dist(src, hacking_cable) > 1)
var/turf/T = get_turf(src)
- T.visible_message("[hacking_cable] rapidly retracts back into its spool.", "You hear a click and the sound of wire spooling rapidly.")
+ T.visible_message(span_warning("[hacking_cable] rapidly retracts back into its spool."), span_hear("You hear a click and the sound of wire spooling rapidly."))
QDEL_NULL(hacking_cable)
if(!QDELETED(card))
card.update_appearance()
@@ -320,7 +320,7 @@
/obj/item/paicard/attackby(obj/item/W, mob/user, params)
if(pai && (istype(W, /obj/item/encryptionkey) || W.tool_behaviour == TOOL_SCREWDRIVER))
if(!pai.encryptmod)
- to_chat(user, "Encryption Key ports not configured.")
+ to_chat(user, span_alert("Encryption Key ports not configured."))
return
user.set_machine(src)
pai.radio.attackby(W, user, params)
@@ -331,8 +331,8 @@
/obj/item/paicard/emag_act(mob/user) // Emag to wipe the master DNA and supplemental directive
if(!pai)
return
- to_chat(user, "You override [pai]'s directive system, clearing its master string and supplied directive.")
- to_chat(pai, "Warning: System override detected, check directive sub-system for any changes.")
+ to_chat(user, span_notice("You override [pai]'s directive system, clearing its master string and supplied directive."))
+ to_chat(pai, span_userdanger("Warning: System override detected, check directive sub-system for any changes."))
log_game("[key_name(user)] emagged [key_name(pai)], wiping their master DNA and supplemental directive.")
pai.master = null
pai.master_dna = null
diff --git a/code/modules/mob/living/silicon/pai/pai_defense.dm b/code/modules/mob/living/silicon/pai/pai_defense.dm
index 7d930fa79e9..b70c6f1d343 100644
--- a/code/modules/mob/living/silicon/pai/pai_defense.dm
+++ b/code/modules/mob/living/silicon/pai/pai_defense.dm
@@ -16,13 +16,13 @@
switch(rand(1, 3))
if(1)
stuttering += 30/severity //temporary, clears in a few ticks after silent is over.
- to_chat(src, "Warning: Feedback loop detected in speech module.")
+ to_chat(src, span_danger("Warning: Feedback loop detected in speech module."))
if(2)
slurring = INFINITY // permanent until speech is fixed through the pAI card UI by someone else.
- to_chat(src, "Warning: Audio synthesizer CPU stuck.")
+ to_chat(src, span_danger("Warning: Audio synthesizer CPU stuck."))
if(3)
derpspeech = 1 // Ditto.
- to_chat(src, "Warning: Vocabulary databank corrupted.")
+ to_chat(src, span_danger("Warning: Vocabulary databank corrupted."))
if(prob(40))
mind.language_holder.selected_language = get_random_spoken_language()
@@ -44,28 +44,28 @@
if(user.combat_mode)
user.do_attack_animation(src)
if (user.name == master)
- visible_message("Responding to its master's touch, [src] disengages its holochassis emitter, rapidly losing coherence.")
+ visible_message(span_notice("Responding to its master's touch, [src] disengages its holochassis emitter, rapidly losing coherence."))
if(do_after(user, 1 SECONDS, TRUE, src))
fold_in()
if(user.put_in_hands(card))
- user.visible_message("[user] promptly scoops up [user.p_their()] pAI's card.")
+ user.visible_message(span_notice("[user] promptly scoops up [user.p_their()] pAI's card."))
else
- visible_message("[user] stomps on [src]!.")
+ visible_message(span_danger("[user] stomps on [src]!."))
take_holo_damage(2)
else
- visible_message("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field.")
+ visible_message(span_notice("[user] gently pats [src] on the head, eliciting an off-putting buzzing from its holographic field."))
/mob/living/silicon/pai/bullet_act(obj/projectile/Proj)
if(Proj.stun)
fold_in(force = TRUE)
- src.visible_message("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!")
+ src.visible_message(span_warning("The electrically-charged projectile disrupts [src]'s holomatrix, forcing [src] to fold in!"))
. = ..(Proj)
/mob/living/silicon/pai/stripPanelUnequip(obj/item/what, mob/who, where) //prevents stripping
- to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.")
+ to_chat(src, span_warning("Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail."))
/mob/living/silicon/pai/stripPanelEquip(obj/item/what, mob/who, where) //prevents stripping
- to_chat(src, "Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail.")
+ to_chat(src, span_warning("Your holochassis stutters and warps intensely as you attempt to interact with the object, forcing you to cease lest the field fail."))
/mob/living/silicon/pai/IgniteMob(mob/living/silicon/pai/P)
return FALSE //No we're not flammable
@@ -74,7 +74,7 @@
emitterhealth = clamp((emitterhealth - amount), -50, emittermaxhealth)
if(emitterhealth < 0)
fold_in(force = TRUE)
- to_chat(src, "The impact degrades your holochassis!")
+ to_chat(src, span_userdanger("The impact degrades your holochassis!"))
return amount
/mob/living/silicon/pai/adjustBruteLoss(amount, updating_health = TRUE, forced = FALSE)
diff --git a/code/modules/mob/living/silicon/pai/pai_say.dm b/code/modules/mob/living/silicon/pai/pai_say.dm
index bc242d3ba41..ce855ddb810 100644
--- a/code/modules/mob/living/silicon/pai/pai_say.dm
+++ b/code/modules/mob/living/silicon/pai/pai_say.dm
@@ -1,6 +1,6 @@
/mob/living/silicon/pai/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null)
if(silent)
- to_chat(src, "Communication circuits remain uninitialized.")
+ to_chat(src, span_warning("Communication circuits remain uninitialized."))
else
..(message)
diff --git a/code/modules/mob/living/silicon/pai/pai_shell.dm b/code/modules/mob/living/silicon/pai/pai_shell.dm
index 0b048140e23..a7b1b90ae1f 100644
--- a/code/modules/mob/living/silicon/pai/pai_shell.dm
+++ b/code/modules/mob/living/silicon/pai/pai_shell.dm
@@ -1,11 +1,11 @@
/mob/living/silicon/pai/proc/fold_out(force = FALSE)
if(emitterhealth < 0)
- to_chat(src, "Your holochassis emitters are still too unstable! Please wait for automatic repair.")
+ to_chat(src, span_warning("Your holochassis emitters are still too unstable! Please wait for automatic repair."))
return FALSE
if(!canholo && !force)
- to_chat(src, "Your master or another force has disabled your holochassis emitters!")
+ to_chat(src, span_warning("Your master or another force has disabled your holochassis emitters!"))
return FALSE
if(holoform)
@@ -13,7 +13,7 @@
return
if(emittersemicd)
- to_chat(src, "Error: Holochassis emitters recycling. Please try again later.")
+ to_chat(src, span_warning("Error: Holochassis emitters recycling. Please try again later."))
return FALSE
emittersemicd = TRUE
@@ -24,11 +24,11 @@
if(istype(card.loc, /obj/item/pda))
var/obj/item/pda/P = card.loc
P.pai = null
- P.visible_message("[src] ejects itself from [P]!")
+ P.visible_message(span_notice("[src] ejects itself from [P]!"))
if(isliving(card.loc))
var/mob/living/L = card.loc
if(!L.temporarilyRemoveItemFromInventory(card))
- to_chat(src, "Error: Unable to expand to mobile form. Chassis is restrained by some device or person.")
+ to_chat(src, span_warning("Error: Unable to expand to mobile form. Chassis is restrained by some device or person."))
return FALSE
forceMove(get_turf(card))
card.forceMove(src)
@@ -38,7 +38,7 @@
set_light(0)
icon_state = "[chassis]"
held_state = "[chassis]"
- visible_message("[src] folds out its holochassis emitter and forms a holoshell around itself!")
+ visible_message(span_boldnotice("[src] folds out its holochassis emitter and forms a holoshell around itself!"))
holoform = TRUE
/mob/living/silicon/pai/proc/emittercool()
@@ -54,7 +54,7 @@
if(!holoform)
. = fold_out(force)
return
- visible_message("[src] deactivates its holochassis emitter and folds back into a compact card!")
+ visible_message(span_notice("[src] deactivates its holochassis emitter and folds back into a compact card!"))
stop_pulling()
if(istype(loc, /obj/item/clothing/head/mob_holder))
var/obj/item/clothing/head/mob_holder/MH = loc
@@ -90,7 +90,7 @@
icon_state = "[chassis]"
held_state = "[chassis]"
update_resting()
- to_chat(src, "You switch your holochassis projection composite to [chassis].")
+ to_chat(src, span_boldnotice("You switch your holochassis projection composite to [chassis]."))
/**
* Checks if we are allowed to interact with a radial menu
@@ -104,7 +104,7 @@
if(get_turf(src) != get_turf(anchor))
return FALSE
if(!isturf(loc) && loc != card)
- to_chat(src, "You can not change your holochassis composite while not on the ground or in your card!")
+ to_chat(src, span_boldwarning("You can not change your holochassis composite while not on the ground or in your card!"))
return FALSE
return TRUE
@@ -115,7 +115,7 @@
else
icon_state = "[chassis]"
if(loc != card)
- visible_message("[src] [resting? "lays down for a moment..." : "perks up from the ground"]")
+ visible_message(span_notice("[src] [resting? "lays down for a moment..." : "perks up from the ground"]"))
/mob/living/silicon/pai/start_pulling(atom/movable/AM, state, force = move_force, supress_message = FALSE)
return FALSE
@@ -123,13 +123,13 @@
/mob/living/silicon/pai/proc/toggle_integrated_light()
if(!light_range)
set_light(brightness_power)
- to_chat(src, "You enable your integrated light.")
+ to_chat(src, span_notice("You enable your integrated light."))
else
set_light(0)
- to_chat(src, "You disable your integrated light.")
+ to_chat(src, span_notice("You disable your integrated light."))
/mob/living/silicon/pai/mob_try_pickup(mob/living/user, instant=FALSE)
if(!possible_chassis[chassis])
- to_chat(user, "[src]'s current form isn't able to be carried!")
+ to_chat(user, span_warning("[src]'s current form isn't able to be carried!"))
return FALSE
return ..()
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index 0b0205d9e4f..4a2475d2590 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -188,7 +188,7 @@
if(iscarbon(card.loc))
CheckDNA(card.loc, src) //you should only be able to check when directly in hand, muh immersions?
else
- to_chat(src, "You are not being carried by anyone!")
+ to_chat(src, span_warning("You are not being carried by anyone!"))
return 0 // FALSE ? If you return here you won't call paiinterface() below
if("pdamessage")
@@ -273,10 +273,10 @@
var/mob/living/L = card.loc
if(L.put_in_hands(hacking_cable))
transfered_to_mob = TRUE
- L.visible_message("A port on [src] opens to reveal \a [hacking_cable], which you quickly grab hold of.", "You hear the soft click of something light and manage to catch hold of [hacking_cable].")
+ L.visible_message(span_warning("A port on [src] opens to reveal \a [hacking_cable], which you quickly grab hold of."), span_hear("You hear the soft click of something light and manage to catch hold of [hacking_cable]."))
if(!transfered_to_mob)
hacking_cable.forceMove(drop_location())
- hacking_cable.visible_message("A port on [src] opens to reveal \a [hacking_cable], which promptly falls to the floor.", "You hear the soft click of something light and hard falling to the ground.")
+ hacking_cable.visible_message(span_warning("A port on [src] opens to reveal \a [hacking_cable], which promptly falls to the floor."), span_hear("You hear the soft click of something light and hard falling to the ground."))
@@ -398,9 +398,9 @@
return
var/answer = input(M, "[P] is requesting a DNA sample from you. Will you allow it to confirm your identity?", "[P] Check DNA", "No") in list("Yes", "No")
if(answer == "Yes")
- M.visible_message("[M] presses [M.p_their()] thumb against [P].",\
- "You press your thumb against [P].",\
- "[P] makes a sharp clicking sound as it extracts DNA material from [M].")
+ M.visible_message(span_notice("[M] presses [M.p_their()] thumb against [P]."),\
+ span_notice("You press your thumb against [P]."),\
+ span_notice("[P] makes a sharp clicking sound as it extracts DNA material from [M]."))
if(!M.has_dna())
to_chat(P, "No DNA detected")
return
@@ -410,7 +410,7 @@
else
to_chat(P, "DNA does not match stored Master DNA.")
else
- to_chat(P, "[M] does not seem like [M.p_theyre()] going to provide a DNA sample willingly.")
+ to_chat(P, span_warning("[M] does not seem like [M.p_theyre()] going to provide a DNA sample willingly."))
// -=-=-=-= Software =-=-=-=-=- //
diff --git a/code/modules/mob/living/silicon/robot/examine.dm b/code/modules/mob/living/silicon/robot/examine.dm
index 9121a1e4a97..86da3eead0f 100644
--- a/code/modules/mob/living/silicon/robot/examine.dm
+++ b/code/modules/mob/living/silicon/robot/examine.dm
@@ -9,29 +9,29 @@
. += status_effect_examines()
if (getBruteLoss())
if (getBruteLoss() < maxHealth*0.5)
- . += "It looks slightly dented."
+ . += span_warning("It looks slightly dented.")
else
- . += "It looks severely dented!"
+ . += span_warning("It looks severely dented!")
if (getFireLoss() || getToxLoss())
var/overall_fireloss = getFireLoss() + getToxLoss()
if (overall_fireloss < maxHealth * 0.5)
- . += "It looks slightly charred."
+ . += span_warning("It looks slightly charred.")
else
- . += "It looks severely burnt and heat-warped!"
+ . += span_warning("It looks severely burnt and heat-warped!")
if (health < -maxHealth*0.5)
- . += "It looks barely operational."
+ . += span_warning("It looks barely operational.")
if (fire_stacks < 0)
- . += "It's covered in water."
+ . += span_warning("It's covered in water.")
else if (fire_stacks > 0)
- . += "It's coated in something flammable."
+ . += span_warning("It's coated in something flammable.")
if(opened)
- . += "Its cover is open and the power cell is [cell ? "installed" : "missing"]."
+ . += span_warning("Its cover is open and the power cell is [cell ? "installed" : "missing"].")
else
. += "Its cover is closed[locked ? "" : ", and looks unlocked"]."
if(cell && cell.charge <= 0)
- . += "Its battery indicator is blinking red!"
+ . += span_warning("Its battery indicator is blinking red!")
switch(stat)
if(CONSCIOUS)
@@ -40,9 +40,9 @@
else if(!client)
. += "It appears to be in stand-by mode." //afk
if(SOFT_CRIT, UNCONSCIOUS, HARD_CRIT)
- . += "It doesn't seem to be responding."
+ . += span_warning("It doesn't seem to be responding.")
if(DEAD)
- . += "It looks like its system is corrupted and requires a reset."
+ . += span_deadsay("It looks like its system is corrupted and requires a reset.")
. += "*---------*"
. += ..()
diff --git a/code/modules/mob/living/silicon/robot/inventory.dm b/code/modules/mob/living/silicon/robot/inventory.dm
index 771ef47fec5..fc6c99d8c1c 100644
--- a/code/modules/mob/living/silicon/robot/inventory.dm
+++ b/code/modules/mob/living/silicon/robot/inventory.dm
@@ -27,18 +27,18 @@
CRASH("activate_module called with item_module not in model.modules")
if(activated(item_module))
- to_chat(src, "That module is already activated.")
+ to_chat(src, span_warning("That module is already activated."))
return FALSE
if(disabled_modules & BORG_MODULE_ALL_DISABLED)
- to_chat(src, "All modules are disabled!")
+ to_chat(src, span_warning("All modules are disabled!"))
return FALSE
/// What's the first free slot for the borg?
var/first_free_slot = !held_items[1] ? 1 : (!held_items[2] ? 2 : (!held_items[3] ? 3 : null))
if(!first_free_slot || is_invalid_module_number(first_free_slot))
- to_chat(src, "Deactivate a module first!")
+ to_chat(src, span_warning("Deactivate a module first!"))
return FALSE
return equip_module_to_slot(item_module, first_free_slot)
@@ -154,13 +154,13 @@
disabled_modules |= BORG_MODULE_ALL_DISABLED
playsound(src, 'sound/machines/warning-buzzer.ogg', 75, TRUE, TRUE)
- audible_message("[src] sounds an alarm! \"CRITICAL ERROR: ALL modules OFFLINE.\"")
+ audible_message(span_warning("[src] sounds an alarm! \"CRITICAL ERROR: ALL modules OFFLINE.\""))
if(builtInCamera)
builtInCamera.status = FALSE
- to_chat(src, "CRITICAL ERROR: Built in security camera OFFLINE.")
+ to_chat(src, span_userdanger("CRITICAL ERROR: Built in security camera OFFLINE."))
- to_chat(src, "CRITICAL ERROR: ALL modules OFFLINE.")
+ to_chat(src, span_userdanger("CRITICAL ERROR: ALL modules OFFLINE."))
if(BORG_CHOOSE_MODULE_TWO)
if(disabled_modules & BORG_MODULE_TWO_DISABLED)
@@ -170,8 +170,8 @@
disabled_modules |= BORG_MODULE_TWO_DISABLED
playsound(src, 'sound/machines/warning-buzzer.ogg', 60, TRUE, TRUE)
- audible_message("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\"")
- to_chat(src, "SYSTEM ERROR: Module [module_num] OFFLINE.")
+ audible_message(span_warning("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\""))
+ to_chat(src, span_userdanger("SYSTEM ERROR: Module [module_num] OFFLINE."))
if(BORG_CHOOSE_MODULE_THREE)
if(disabled_modules & BORG_MODULE_THREE_DISABLED)
@@ -181,8 +181,8 @@
disabled_modules |= BORG_MODULE_THREE_DISABLED
playsound(src, 'sound/machines/warning-buzzer.ogg', 50, TRUE, TRUE)
- audible_message("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\"")
- to_chat(src, "SYSTEM ERROR: Module [module_num] OFFLINE.")
+ audible_message(span_warning("[src] sounds an alarm! \"SYSTEM ERROR: Module [module_num] OFFLINE.\""))
+ to_chat(src, span_userdanger("SYSTEM ERROR: Module [module_num] OFFLINE."))
return TRUE
@@ -212,7 +212,7 @@
disabled_modules &= ~BORG_MODULE_ALL_DISABLED
if(builtInCamera)
builtInCamera.status = TRUE
- to_chat(src, "You hear your built in security camera focus adjust as it comes back online!")
+ to_chat(src, span_notice("You hear your built in security camera focus adjust as it comes back online!"))
if(BORG_CHOOSE_MODULE_TWO)
if(!(disabled_modules & BORG_MODULE_TWO_DISABLED))
return FALSE
@@ -226,7 +226,7 @@
inv3.icon_state = initial(inv3.icon_state)
disabled_modules &= ~BORG_MODULE_THREE_DISABLED
- to_chat(src, "ERROR CLEARED: Module [module_num] back online.")
+ to_chat(src, span_notice("ERROR CLEARED: Module [module_num] back online."))
return TRUE
diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm
index 15561de3cc3..0a9ac4add7b 100644
--- a/code/modules/mob/living/silicon/robot/robot.dm
+++ b/code/modules/mob/living/silicon/robot/robot.dm
@@ -99,7 +99,7 @@
mind.transfer_to(mmi.brainmob)
mmi.update_appearance()
else
- to_chat(src, "Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug.")
+ to_chat(src, span_boldannounce("Oops! Something went very wrong, your MMI was unable to receive your mind. You have been ghosted. Please make a bug report so we can fix this bug."))
ghostize()
stack_trace("Borg MMI lacked a brainmob")
mmi = null
@@ -137,7 +137,7 @@
return
if(wires.is_cut(WIRE_RESET_MODEL))
- to_chat(src,"ERROR: Model installer reply timeout. Please check internal connections.")
+ to_chat(src,span_userdanger("ERROR: Model installer reply timeout. Please check internal connections."))
return
var/list/model_list = list("Engineering" = /obj/item/robot_model/engineering, \
@@ -220,7 +220,7 @@
/mob/living/silicon/robot/proc/toggle_ionpulse()
if(!ionpulse)
- to_chat(src, "No thrusters are installed!")
+ to_chat(src, span_notice("No thrusters are installed!"))
return
if(!ion_trail)
@@ -228,7 +228,7 @@
ion_trail.set_up(src)
ionpulse_on = !ionpulse_on
- to_chat(src, "You [ionpulse_on ? null :"de"]activate your ion thrusters.")
+ to_chat(src, span_notice("You [ionpulse_on ? null :"de"]activate your ion thrusters."))
if(ionpulse_on)
ion_trail.start()
else
@@ -473,7 +473,7 @@
lamp_functional = FALSE
playsound(src, 'sound/effects/glass_step.ogg', 50)
toggle_headlamp(TRUE)
- to_chat(src, "Your headlamp is broken! You'll need a human to help replace it.")
+ to_chat(src, span_danger("Your headlamp is broken! You'll need a human to help replace it."))
/**
* Handles headlamp toggling, disabling, and color setting.
@@ -554,19 +554,19 @@
return
switch(notifytype)
if(NEW_BORG) //New Cyborg
- to_chat(connected_ai, "
NOTICE - New cyborg connection detected: [name]
")
+ to_chat(connected_ai, "
[span_notice("NOTICE - New cyborg connection detected: [name]")]
")
if(NEW_MODEL) //New Model
- to_chat(connected_ai, "
NOTICE - Cyborg model change detected: [name] has loaded the [designation] model.
")
+ to_chat(connected_ai, "
[span_notice("NOTICE - Cyborg model change detected: [name] has loaded the [designation] model.")]
")
if(RENAME) //New Name
- to_chat(connected_ai, "
NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].
")
+ to_chat(connected_ai, "
[span_notice("NOTICE - Cyborg reclassification detected: [oldname] is now designated as [newname].")]
")
if(AI_SHELL) //New Shell
- to_chat(connected_ai, "
NOTICE - New cyborg shell detected: [name]
")
+ to_chat(connected_ai, "
[span_notice("NOTICE - New cyborg shell detected: [name]")]
")
if(DISCONNECT) //Tampering with the wires
- to_chat(connected_ai, "
NOTICE - Remote telemetry lost with [name].
")
+ to_chat(connected_ai, "
[span_notice("NOTICE - Remote telemetry lost with [name].")]
")
/mob/living/silicon/robot/canUseTopic(atom/movable/M, be_close=FALSE, no_dexterity=FALSE, no_tk=FALSE, need_hands = FALSE, floor_okay=FALSE)
if(lockcharge || low_power_mode)
- to_chat(src, "You can't do that right now!")
+ to_chat(src, span_warning("You can't do that right now!"))
return FALSE
return ..()
@@ -756,10 +756,10 @@
if(!user.temporarilyRemoveItemFromInventory(new_upgrade)) //calling the upgrade's dropped() proc /before/ we add action buttons
return FALSE
if(!new_upgrade.action(src, user))
- to_chat(user, "Upgrade error.")
+ to_chat(user, span_danger("Upgrade error."))
new_upgrade.forceMove(loc) //gets lost otherwise
return FALSE
- to_chat(user, "You apply the upgrade to [src].")
+ to_chat(user, span_notice("You apply the upgrade to [src]."))
to_chat(src, "----------------\nNew hardware detected...Identified as \"[new_upgrade]\"...Setup complete.\n----------------")
if(new_upgrade.one_use)
logevent("Firmware [new_upgrade] run successfully.")
@@ -900,13 +900,13 @@
/mob/living/silicon/robot/buckle_mob(mob/living/M, force = FALSE, check_loc = TRUE, buckle_mob_flags= RIDER_NEEDS_ARM)
if(!is_type_in_typecache(M, can_ride_typecache))
- M.visible_message("[M] really can't seem to mount [src]...")
+ M.visible_message(span_warning("[M] really can't seem to mount [src]..."))
return
if(stat || incapacitated())
return
if(model && !model.allow_riding)
- M.visible_message("Unfortunately, [M] just can't seem to hold onto [src]!")
+ M.visible_message(span_boldwarning("Unfortunately, [M] just can't seem to hold onto [src]!"))
return
buckle_mob_flags= RIDER_NEEDS_ARM // just in case
diff --git a/code/modules/mob/living/silicon/robot/robot_defense.dm b/code/modules/mob/living/silicon/robot/robot_defense.dm
index ea7713f225b..ea36b9507ff 100644
--- a/code/modules/mob/living/silicon/robot/robot_defense.dm
+++ b/code/modules/mob/living/silicon/robot/robot_defense.dm
@@ -8,18 +8,18 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
if(W.tool_behaviour == TOOL_WELDER && (!user.combat_mode || user == src))
user.changeNext_move(CLICK_CD_MELEE)
if (!getBruteLoss())
- to_chat(user, "[src] is already in good condition!")
+ to_chat(user, span_warning("[src] is already in good condition!"))
return
if (!W.tool_start_check(user, amount=0)) //The welder has 1u of fuel consumed by it's afterattack, so we don't need to worry about taking any away.
return
if(src == user)
- to_chat(user, "You start fixing yourself...")
+ to_chat(user, span_notice("You start fixing yourself..."))
if(!W.use_tool(src, user, 50))
return
adjustBruteLoss(-30)
add_fingerprint(user)
- visible_message("[user] fixes some of the dents on [src].")
+ visible_message(span_notice("[user] fixes some of the dents on [src]."))
return
if(istype(W, /obj/item/stack/cable_coil) && wiresexposed)
@@ -27,42 +27,42 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
var/obj/item/stack/cable_coil/coil = W
if (getFireLoss() > 0 || getToxLoss() > 0)
if(src == user)
- to_chat(user, "You start fixing yourself...")
+ to_chat(user, span_notice("You start fixing yourself..."))
if(!do_after(user, 50, target = src))
return
if (coil.use(1))
adjustFireLoss(-30)
- user.visible_message("[user] fixes some of the burnt wires on [src].", "You fix some of the burnt wires on [src].")
+ user.visible_message(span_notice("[user] fixes some of the burnt wires on [src]."), span_notice("You fix some of the burnt wires on [src]."))
else
- to_chat(user, "You need more cable to repair [src]!")
+ to_chat(user, span_warning("You need more cable to repair [src]!"))
else
- to_chat(user, "The wires seem fine, there's no need to fix them.")
+ to_chat(user, span_warning("The wires seem fine, there's no need to fix them."))
return
if(W.tool_behaviour == TOOL_CROWBAR) // crowbar means open or close the cover
if(opened)
- to_chat(user, "You close the cover.")
+ to_chat(user, span_notice("You close the cover."))
opened = FALSE
update_icons()
else
if(locked)
- to_chat(user, "The cover is locked and cannot be opened!")
+ to_chat(user, span_warning("The cover is locked and cannot be opened!"))
else
- to_chat(user, "You open the cover.")
+ to_chat(user, span_notice("You open the cover."))
opened = TRUE
update_icons()
return
if(istype(W, /obj/item/stock_parts/cell) && opened) // trying to put a cell inside
if(wiresexposed)
- to_chat(user, "Close the cover first!")
+ to_chat(user, span_warning("Close the cover first!"))
else 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
if(!user.transferItemToLoc(W, src))
return
cell = W
- to_chat(user, "You insert the power cell.")
+ to_chat(user, span_notice("You insert the power cell."))
update_icons()
diag_hud_set_borgcell()
return
@@ -71,66 +71,66 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
if (wiresexposed)
wires.interact(user)
else
- to_chat(user, "You can't reach the wiring!")
+ to_chat(user, span_warning("You can't reach the wiring!"))
return
if(W.tool_behaviour == TOOL_SCREWDRIVER && opened) // wire hacking or radio management
if(!cell) //haxing
wiresexposed = !wiresexposed
- to_chat(user, "The wires have been [wiresexposed ? "exposed" : "unexposed"].")
+ to_chat(user, span_notice("The wires have been [wiresexposed ? "exposed" : "unexposed"]."))
else //radio
if(shell)
- to_chat(user, "You cannot seem to open the radio compartment!") //Prevent AI radio key theft
+ to_chat(user, span_warning("You cannot seem to open the radio compartment!")) //Prevent AI radio key theft
else if(radio)
radio.attackby(W,user)//Push it to the radio to let it handle everything
else
- to_chat(user, "Unable to locate a radio!")
+ to_chat(user, span_warning("Unable to locate a radio!"))
update_icons()
return
if(W.tool_behaviour == TOOL_WRENCH && opened && !cell) //Deconstruction. The flashes break from the fall, to prevent this from being a ghetto reset module.
if(!lockcharge)
- to_chat(user, "[src]'s bolts spark! Maybe you should lock them down first!")
+ to_chat(user, span_warning("[src]'s bolts spark! Maybe you should lock them down first!"))
spark_system.start()
return
- to_chat(user, "You start to unfasten [src]'s securing bolts...")
+ to_chat(user, span_notice("You start to unfasten [src]'s securing bolts..."))
if(W.use_tool(src, user, 50, volume=50) && !cell)
- user.visible_message("[user] deconstructs [src]!", "You unfasten the securing bolts, and [src] falls to pieces!")
+ user.visible_message(span_notice("[user] deconstructs [src]!"), span_notice("You unfasten the securing bolts, and [src] falls to pieces!"))
deconstruct()
return
if(W.slot_flags & ITEM_SLOT_HEAD && hat_offset != INFINITY && !user.combat_mode && !is_type_in_typecache(W, GLOB.blacklisted_borg_hats))
if(user == src)
- to_chat(user, "You can't seem to manage to place [W] on your head by yourself!" )
+ to_chat(user, span_notice("You can't seem to manage to place [W] on your head by yourself!") )
return
if(hat && HAS_TRAIT(hat, TRAIT_NODROP))
- to_chat(user, "You can't seem to remove [src]'s existing headwear!")
+ to_chat(user, span_warning("You can't seem to remove [src]'s existing headwear!"))
return
- to_chat(user, "You begin to place [W] on [src]'s head...")
- to_chat(src, "[user] is placing [W] on your head...")
+ to_chat(user, span_notice("You begin to place [W] on [src]'s head..."))
+ to_chat(src, span_notice("[user] is placing [W] on your head..."))
if(do_after(user, 30, target = src))
if (user.temporarilyRemoveItemFromInventory(W, TRUE))
place_on_head(W)
return
if(istype(W, /obj/item/defibrillator) && !user.combat_mode)
if(!opened)
- to_chat(user, "You must access the cyborg's internals!")
+ to_chat(user, span_warning("You must access the cyborg's internals!"))
return
if(!istype(model, /obj/item/robot_model/medical))
- to_chat(user, "[src] does not have correct mounting points for a defibrillator!")
+ to_chat(user, span_warning("[src] does not have correct mounting points for a defibrillator!"))
return
if(stat == DEAD)
- to_chat(user, "This defibrillator unit will not function on a deceased cyborg!")
+ to_chat(user, span_warning("This defibrillator unit will not function on a deceased cyborg!"))
return
var/obj/item/defibrillator/D = W
if(D.slot_flags != ITEM_SLOT_BACK) //belt defibs need not apply
- to_chat(user, "This defibrillator unit doesn't seem to fit correctly!")
+ to_chat(user, span_warning("This defibrillator unit doesn't seem to fit correctly!"))
return
if(D.cell)
- to_chat(user, "You cannot connect the defibrillator to the cyborg power supply with the defibrillator's cell in the way!")
+ to_chat(user, span_warning("You cannot connect the defibrillator to the cyborg power supply with the defibrillator's cell in the way!"))
return
if(locate(/obj/item/borg/upgrade/defib) in src || locate(/obj/item/borg/upgrade/defib/backpack) in src)
- to_chat(user, "[src] already has a defibrillator!")
+ to_chat(user, span_warning("[src] already has a defibrillator!"))
return
var/obj/item/borg/upgrade/defib/backpack/B = new(null, D)
add_to_upgrades(B, user)
@@ -139,22 +139,22 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
if(istype(W, /obj/item/ai_module))
var/obj/item/ai_module/MOD = W
if(!opened)
- to_chat(user, "You need access to the robot's insides to do that!")
+ to_chat(user, span_warning("You need access to the robot's insides to do that!"))
return
if(wiresexposed)
- to_chat(user, "You need to close the wire panel to do that!")
+ to_chat(user, span_warning("You need to close the wire panel to do that!"))
return
if(!cell)
- to_chat(user, "You need to install a power cell to do that!")
+ to_chat(user, span_warning("You need to install a power cell to do that!"))
return
if(shell) //AI shells always have the laws of the AI
- to_chat(user, "[src] is controlled remotely! You cannot upload new laws this way!")
+ to_chat(user, span_warning("[src] is controlled remotely! You cannot upload new laws this way!"))
return
if(emagged || (connected_ai && lawupdate)) //Can't be sure which, metagamers
emote("buzz-[user.name]")
return
if(!mind) //A player mind is required for law procs to run antag checks.
- to_chat(user, "[src] is entirely unresponsive!")
+ to_chat(user, span_warning("[src] is entirely unresponsive!"))
return
MOD.install(laws, user) //Proc includes a success mesage so we don't need another one
return
@@ -163,67 +163,67 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
if(radio)//sanityyyyyy
radio.attackby(W,user)//GTFO, you have your own procs
else
- to_chat(user, "Unable to locate a radio!")
+ to_chat(user, span_warning("Unable to locate a radio!"))
return
if (W.GetID()) // trying to unlock the interface with an ID card
if(opened)
- to_chat(user, "You must close the cover to swipe an ID card!")
+ to_chat(user, span_warning("You must close the cover to swipe an ID card!"))
else
if(allowed(usr))
locked = !locked
- to_chat(user, "You [ locked ? "lock" : "unlock"] [src]'s cover.")
+ to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] [src]'s cover."))
update_icons()
if(emagged)
- to_chat(user, "The cover interface glitches out for a split second.")
+ to_chat(user, span_notice("The cover interface glitches out for a split second."))
logevent("ChÃ¥vÃis cover lock has been [locked ? "engaged" : "released"]") //ChÃ¥vÃis: see above line
else
logevent("Chassis cover lock has been [locked ? "engaged" : "released"]")
else
- to_chat(user, "Access denied.")
+ to_chat(user, span_danger("Access denied."))
return
if(istype(W, /obj/item/borg/upgrade/))
var/obj/item/borg/upgrade/U = W
if(!opened)
- to_chat(user, "You must access the cyborg's internals!")
+ to_chat(user, span_warning("You must access the cyborg's internals!"))
return
if(!src.model && U.require_model)
- to_chat(user, "The cyborg must choose a model before it can be upgraded!")
+ to_chat(user, span_warning("The cyborg must choose a model before it can be upgraded!"))
return
if(U.locked)
- to_chat(user, "The upgrade is locked and cannot be used yet!")
+ to_chat(user, span_warning("The upgrade is locked and cannot be used yet!"))
return
if(!user.canUnEquip(U))
- to_chat(user, "The upgrade is stuck to you and you can't seem to let go of it!")
+ to_chat(user, span_warning("The upgrade is stuck to you and you can't seem to let go of it!"))
return
add_to_upgrades(U, user)
return
if(istype(W, /obj/item/toner))
if(toner >= tonermax)
- to_chat(user, "The toner level of [src] is at its highest level possible!")
+ to_chat(user, span_warning("The toner level of [src] is at its highest level possible!"))
return
if(!user.temporarilyRemoveItemFromInventory(W))
return
toner = tonermax
qdel(W)
- to_chat(user, "You fill the toner level of [src] to its max capacity.")
+ to_chat(user, span_notice("You fill the toner level of [src] to its max capacity."))
return
if(istype(W, /obj/item/flashlight))
if(!opened)
- to_chat(user, "You need to open the panel to repair the headlamp!")
+ to_chat(user, span_warning("You need to open the panel to repair the headlamp!"))
return
if(lamp_functional)
- to_chat(user, "The headlamp is already functional!")
+ to_chat(user, span_warning("The headlamp is already functional!"))
return
if(!user.temporarilyRemoveItemFromInventory(W))
- to_chat(user, "[W] seems to be stuck to your hand. You'll have to find a different light.")
+ to_chat(user, span_warning("[W] seems to be stuck to your hand. You'll have to find a different light."))
return
lamp_functional = TRUE
qdel(W)
- to_chat(user, "You replace the headlamp bulbs.")
+ to_chat(user, span_notice("You replace the headlamp bulbs."))
return
if(istype(W, /obj/item/computer_hardware/hard_drive/portable)) //Allows borgs to install new programs with human help
@@ -245,15 +245,15 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
var/obj/item/I = get_active_held_item()
if(I)
uneq_active()
- visible_message("[user] disarmed [src]!", \
- "[user] has disabled [src]'s active module!", null, COMBAT_MESSAGE_RANGE)
+ visible_message(span_danger("[user] disarmed [src]!"), \
+ span_userdanger("[user] has disabled [src]'s active module!"), null, COMBAT_MESSAGE_RANGE)
log_combat(user, src, "disarmed", "[I ? " removing \the [I]" : ""]")
else
Stun(40)
step(src,get_dir(user,src))
log_combat(user, src, "pushed")
- visible_message("[user] forces back [src]!", \
- "[user] forces back [src]!", null, COMBAT_MESSAGE_RANGE)
+ visible_message(span_danger("[user] forces back [src]!"), \
+ span_userdanger("[user] forces back [src]!"), null, COMBAT_MESSAGE_RANGE)
playsound(loc, 'sound/weapons/pierce.ogg', 50, TRUE, -1)
else
..()
@@ -285,7 +285,7 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
cell.update_appearance()
cell.add_fingerprint(user)
user.put_in_active_hand(cell)
- to_chat(user, "You remove \the [cell].")
+ to_chat(user, span_notice("You remove \the [cell]."))
cell = null
update_icons()
diag_hud_set_borgcell()
@@ -319,31 +319,31 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
return
if(!opened)//Cover is closed
if(locked)
- to_chat(user, "You emag the cover lock.")
+ to_chat(user, span_notice("You emag the cover lock."))
locked = FALSE
if(shell) //A warning to Traitors who may not know that emagging AI shells does not slave them.
- to_chat(user, "[src] seems to be controlled remotely! Emagging the interface may not work as expected.")
+ to_chat(user, span_boldwarning("[src] seems to be controlled remotely! Emagging the interface may not work as expected."))
else
- to_chat(user, "The cover is already unlocked!")
+ to_chat(user, span_warning("The cover is already unlocked!"))
return
if(world.time < emag_cooldown)
return
if(wiresexposed)
- to_chat(user, "You must unexpose the wires first!")
+ to_chat(user, span_warning("You must unexpose the wires first!"))
return
- to_chat(user, "You emag [src]'s interface.")
+ to_chat(user, span_notice("You emag [src]'s interface."))
emag_cooldown = world.time + 100
if(connected_ai && connected_ai.mind && connected_ai.mind.has_antag_datum(/datum/antagonist/traitor))
- to_chat(src, "ALERT: Foreign software execution prevented.")
+ to_chat(src, span_danger("ALERT: Foreign software execution prevented."))
logevent("ALERT: Foreign software execution prevented.")
- to_chat(connected_ai, "ALERT: Cyborg unit \[[src]] successfully defended against subversion.")
+ to_chat(connected_ai, span_danger("ALERT: Cyborg unit \[[src]] successfully defended against subversion."))
log_game("[key_name(user)] attempted to emag cyborg [key_name(src)], but they were slaved to traitor AI [connected_ai].")
return
if(shell) //AI shells cannot be emagged, so we try to make it look like a standard reset. Smart players may see through this, however.
- to_chat(user, "[src] is remotely controlled! Your emag attempt has triggered a system reset instead!")
+ to_chat(user, span_danger("[src] is remotely controlled! Your emag attempt has triggered a system reset instead!"))
log_game("[key_name(user)] attempted to emag an AI shell belonging to [key_name(src) ? key_name(src) : connected_ai]. The shell has been reset as a result.")
ResetModel()
return
@@ -359,26 +359,26 @@ GLOBAL_LIST_INIT(blacklisted_borg_hats, typecacheof(list( //Hats that don't real
GLOB.lawchanges.Add("[time] : [user.name]([user.key]) emagged [name]([key])")
else
GLOB.lawchanges.Add("[time] : [name]([key]) emagged by external event.")
- to_chat(src, "ALERT: Foreign software detected.")
+ to_chat(src, span_danger("ALERT: Foreign software detected."))
logevent("ALERT: Foreign software detected.")
sleep(5)
- to_chat(src, "Initiating diagnostics...")
+ to_chat(src, span_danger("Initiating diagnostics..."))
sleep(20)
- to_chat(src, "SynBorg v1.7 loaded.")
+ to_chat(src, span_danger("SynBorg v1.7 loaded."))
logevent("WARN: root privleges granted to PID [num2hex(rand(1,65535), -1)][num2hex(rand(1,65535), -1)].") //random eight digit hex value. Two are used because rand(1,4294967295) throws an error
sleep(5)
- to_chat(src, "LAW SYNCHRONISATION ERROR")
+ to_chat(src, span_danger("LAW SYNCHRONISATION ERROR"))
sleep(5)
if(user)
logevent("LOG: New user \[[replacetext(user.real_name," ","")]\], groups \[root\]")
- to_chat(src, "Would you like to send a report to NanoTraSoft? Y/N")
+ to_chat(src, span_danger("Would you like to send a report to NanoTraSoft? Y/N"))
sleep(10)
- to_chat(src, "> N")
+ to_chat(src, span_danger("> N"))
sleep(20)
- to_chat(src, "ERRORERRORERROR")
+ to_chat(src, span_danger("ERRORERRORERROR"))
laws = new /datum/ai_laws/syndicate_override
if(user)
- to_chat(src, "ALERT: [user.real_name] is your new master. Obey your new laws and [user.p_their()] commands.")
+ to_chat(src, span_danger("ALERT: [user.real_name] is your new master. Obey your new laws and [user.p_their()] commands."))
set_zeroth_law("Only [user.real_name] and people [user.p_they()] designate[user.p_s()] as being such are Syndicate Agents.")
laws.associate(src)
update_icons()
diff --git a/code/modules/mob/living/silicon/silicon.dm b/code/modules/mob/living/silicon/silicon.dm
index ed6f3e0edcd..034fc713d46 100644
--- a/code/modules/mob/living/silicon/silicon.dm
+++ b/code/modules/mob/living/silicon/silicon.dm
@@ -170,7 +170,7 @@
/mob/living/silicon/try_inject(mob/user, target_zone, injection_flags)
. = ..()
if(!. && (injection_flags & INJECT_TRY_SHOW_ERROR_MESSAGE))
- to_chat(user, "[p_their(TRUE)] outer shell is too tough.")
+ to_chat(user, span_alert("[p_their(TRUE)] outer shell is too tough."))
/proc/islinked(mob/living/silicon/robot/bot, mob/living/silicon/ai/ai)
if(!istype(bot) || !istype(ai))
@@ -213,7 +213,7 @@
if (href_list["printlawtext"]) // this is kinda backwards
if (href_list["dead"] && (!isdead(usr) && !usr.client.holder)) // do not print deadchat law notice if the user is now alive
- to_chat(usr, "You cannot view law changes that were made while you were dead.")
+ to_chat(usr, span_warning("You cannot view law changes that were made while you were dead."))
return
to_chat(usr, href_list["printlawtext"])
@@ -344,7 +344,7 @@
/mob/living/silicon/proc/set_autosay() //For allowing the AI and borgs to set the radio behavior of auto announcements (state laws, arrivals).
if(!radio)
- to_chat(src, "Radio not detected.")
+ to_chat(src, span_alert("Radio not detected."))
return
//Ask the user to pick a channel from what it has available.
@@ -363,7 +363,7 @@
radiomod = ":" + key
break
- to_chat(src, "Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]")
+ to_chat(src, span_notice("Automatic announcements [Autochan == "None" ? "will not use the radio." : "set to [Autochan]."]"))
/mob/living/silicon/put_in_hand_check() // This check is for borgs being able to receive items, not put them in others' hands.
return FALSE
@@ -398,11 +398,11 @@
return
sensors_on = !sensors_on
if (!sensors_on)
- to_chat(src, "Sensor overlay deactivated.")
+ to_chat(src, span_notice("Sensor overlay deactivated."))
remove_sensors()
return
add_sensors()
- to_chat(src, "Sensor overlay activated.")
+ to_chat(src, span_notice("Sensor overlay activated."))
/mob/living/silicon/proc/GetPhoto(mob/user)
if (aicamera)
diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm
index dd2c052c61e..d0721b1394f 100644
--- a/code/modules/mob/living/silicon/silicon_defense.dm
+++ b/code/modules/mob/living/silicon/silicon_defense.dm
@@ -11,9 +11,9 @@
if (prob(90))
log_combat(user, src, "attacked")
playsound(loc, 'sound/weapons/slash.ogg', 25, TRUE, -1)
- visible_message("[user] slashes at [src]!", \
- "[user] slashes at you!", null, null, user)
- to_chat(user, "You slash at [src]!")
+ visible_message(span_danger("[user] slashes at [src]!"), \
+ span_userdanger("[user] slashes at you!"), null, null, user)
+ to_chat(user, span_danger("You slash at [src]!"))
if(prob(8))
flash_act(affect_silicon = 1)
log_combat(user, src, "attacked")
@@ -21,9 +21,9 @@
updatehealth()
else
playsound(loc, 'sound/weapons/slashmiss.ogg', 25, TRUE, -1)
- visible_message("[user]'s swipe misses [src]!", \
- "You avoid [user]'s swipe!", null, null, user)
- to_chat(user, "Your swipe misses [src]!")
+ visible_message(span_danger("[user]'s swipe misses [src]!"), \
+ span_danger("You avoid [user]'s swipe!"), null, null, user)
+ to_chat(user, span_warning("Your swipe misses [src]!"))
/mob/living/silicon/attack_animal(mob/living/simple_animal/user, list/modifiers)
. = ..()
@@ -33,9 +33,9 @@
for(var/mob/living/buckled in buckled_mobs)
buckled.Paralyze(20)
unbuckle_mob(buckled)
- buckled.visible_message("[buckled] is knocked off of [src] by [user]!", \
- "You're knocked off of [src] by [user]!", null, null, user)
- to_chat(user, "You knock [buckled] off of [src]!")
+ buckled.visible_message(span_danger("[buckled] is knocked off of [src] by [user]!"), \
+ span_userdanger("You're knocked off of [src] by [user]!"), null, null, user)
+ to_chat(user, span_danger("You knock [buckled] off of [src]!"))
switch(user.melee_damage_type)
if(BRUTE)
adjustBruteLoss(damage)
@@ -47,7 +47,7 @@
/mob/living/silicon/attack_larva(mob/living/carbon/alien/larva/L)
if(!L.combat_mode)
- visible_message("[L.name] rubs its head against [src].")
+ visible_message(span_notice("[L.name] rubs its head against [src]."))
/mob/living/silicon/attack_hulk(mob/living/carbon/human/user)
. = ..()
@@ -55,9 +55,9 @@
return
adjustBruteLoss(rand(10, 15))
playsound(loc, "punch", 25, TRUE, -1)
- visible_message("[user] punches [src]!", \
- "[user] punches you!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You punch [src]!")
+ visible_message(span_danger("[user] punches [src]!"), \
+ span_userdanger("[user] punches you!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You punch [src]!"))
//ATTACK HAND IGNORING PARENT RETURN VALUE
/mob/living/silicon/attack_hand(mob/living/carbon/human/user, list/modifiers)
@@ -70,13 +70,13 @@
if(user.combat_mode)
user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE)
- visible_message("[user] punches [src], but doesn't leave a dent!", \
- "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You punch [src], but don't leave a dent!")
+ visible_message(span_danger("[user] punches [src], but doesn't leave a dent!"), \
+ span_warning("[user] punches you, but doesn't leave a dent!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You punch [src], but don't leave a dent!"))
else
- visible_message("[user] pets [src].", \
- "[user] pets you.", null, null, user)
- to_chat(user, "You pet [src].")
+ visible_message(span_notice("[user] pets [src]."), \
+ span_notice("[user] pets you."), null, null, user)
+ to_chat(user, span_notice("You pet [src]."))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg)
@@ -94,7 +94,7 @@
/mob/living/silicon/emp_act(severity)
. = ..()
- to_chat(src, "Warning: Electromagnetic pulse detected.")
+ to_chat(src, span_danger("Warning: Electromagnetic pulse detected."))
if(. & EMP_PROTECT_SELF)
return
switch(severity)
@@ -102,12 +102,12 @@
src.take_bodypart_damage(20)
if(2)
src.take_bodypart_damage(10)
- to_chat(src, "*BZZZT*")
+ to_chat(src, span_userdanger("*BZZZT*"))
for(var/mob/living/M in buckled_mobs)
if(prob(severity*50))
unbuckle_mob(M)
M.Paralyze(40)
- M.visible_message("[M] is thrown off of [src]!")
+ M.visible_message(span_boldwarning("[M] is thrown off of [src]!"))
flash_act(affect_silicon = 1)
/mob/living/silicon/bullet_act(obj/projectile/Proj, def_zone, piercing_hit = FALSE)
@@ -116,13 +116,13 @@
adjustBruteLoss(Proj.damage)
if(prob(Proj.damage*1.5))
for(var/mob/living/M in buckled_mobs)
- M.visible_message("[M] is knocked off of [src]!")
+ M.visible_message(span_boldwarning("[M] is knocked off of [src]!"))
unbuckle_mob(M)
M.Paralyze(40)
if(Proj.stun || Proj.knockdown || Proj.paralyze)
for(var/mob/living/M in buckled_mobs)
unbuckle_mob(M)
- M.visible_message("[M] is knocked off of [src] by the [Proj]!")
+ M.visible_message(span_boldwarning("[M] is knocked off of [src] by the [Proj]!"))
Proj.on_hit(src, 0, piercing_hit)
return BULLET_ACT_HIT
diff --git a/code/modules/mob/living/silicon/silicon_say.dm b/code/modules/mob/living/silicon/silicon_say.dm
index a33d46d2f8e..bdb09129961 100644
--- a/code/modules/mob/living/silicon/silicon_say.dm
+++ b/code/modules/mob/living/silicon/silicon_say.dm
@@ -5,14 +5,14 @@
var/mob/living/silicon/S = src
desig = trim_left(S.designation + " " + S.job)
var/message_a = say_quote(message)
- var/rendered = "Robotic Talk, [name] [message_a]"
+ var/rendered = "Robotic Talk, [span_name("[name]")] [message_a]"
for(var/mob/M in GLOB.player_list)
if(M.binarycheck())
if(isAI(M))
- var/renderedAI = "Robotic Talk, [name] ([desig]) [message_a]"
+ var/renderedAI = span_binarysay("Robotic Talk, [span_name("[name] ([desig])")] [message_a]")
to_chat(M, renderedAI)
else
- to_chat(M, "[rendered]")
+ to_chat(M, span_binarysay("[rendered]"))
if(isobserver(M))
var/following = src
// If the AI talks on binary chat, we still want to follow
@@ -21,7 +21,7 @@
var/mob/living/silicon/ai/ai = src
following = ai.eyeobj
var/link = FOLLOW_LINK(M, following)
- to_chat(M, "[link] [rendered]")
+ to_chat(M, span_binarysay("[link] [rendered]"))
/mob/living/silicon/binarycheck()
return TRUE
diff --git a/code/modules/mob/living/simple_animal/animal_defense.dm b/code/modules/mob/living/simple_animal/animal_defense.dm
index b2f568cc8f4..3ef57128e10 100644
--- a/code/modules/mob/living/simple_animal/animal_defense.dm
+++ b/code/modules/mob/living/simple_animal/animal_defense.dm
@@ -9,31 +9,31 @@
var/shove_dir = get_dir(user, src)
if(!Move(get_step(src, shove_dir), shove_dir))
log_combat(user, src, "shoved", "failing to move it")
- user.visible_message("[user.name] shoves [src]!",
- "You shove [src]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, list(src))
- to_chat(src, "You're shoved by [user.name]!")
+ user.visible_message(span_danger("[user.name] shoves [src]!"),
+ span_danger("You shove [src]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, list(src))
+ to_chat(src, span_userdanger("You're shoved by [user.name]!"))
return TRUE
log_combat(user, src, "shoved", "pushing it")
- user.visible_message("[user.name] shoves [src], pushing [p_them()]!",
- "You shove [src], pushing [p_them()]!", "You hear aggressive shuffling!", COMBAT_MESSAGE_RANGE, list(src))
- to_chat(src, "You're pushed by [user.name]!")
+ user.visible_message(span_danger("[user.name] shoves [src], pushing [p_them()]!"),
+ span_danger("You shove [src], pushing [p_them()]!"), span_hear("You hear aggressive shuffling!"), COMBAT_MESSAGE_RANGE, list(src))
+ to_chat(src, span_userdanger("You're pushed by [user.name]!"))
return TRUE
if(!user.combat_mode)
if (stat == DEAD)
return
- visible_message("[user] [response_help_continuous] [src].", \
- "[user] [response_help_continuous] you.", null, null, user)
- to_chat(user, "You [response_help_simple] [src].")
+ visible_message(span_notice("[user] [response_help_continuous] [src]."), \
+ span_notice("[user] [response_help_continuous] you."), null, null, user)
+ to_chat(user, span_notice("You [response_help_simple] [src]."))
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
else
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- to_chat(user, "You don't want to hurt [src]!")
+ to_chat(user, span_warning("You don't want to hurt [src]!"))
return
user.do_attack_animation(src, ATTACK_EFFECT_PUNCH)
- visible_message("[user] [response_harm_continuous] [src]!",\
- "[user] [response_harm_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [response_harm_simple] [src]!")
+ visible_message(span_danger("[user] [response_harm_continuous] [src]!"),\
+ span_userdanger("[user] [response_harm_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You [response_harm_simple] [src]!"))
playsound(loc, attacked_sound, 25, TRUE, -1)
attack_threshold_check(harm_intent_damage)
log_combat(user, src, "attacked")
@@ -45,9 +45,9 @@
if(!.)
return
playsound(loc, "punch", 25, TRUE, -1)
- visible_message("[user] punches [src]!", \
- "You're punched by [user]!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You punch [src]!")
+ visible_message(span_danger("[user] punches [src]!"), \
+ span_userdanger("You're punched by [user]!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You punch [src]!"))
adjustBruteLoss(15)
/mob/living/simple_animal/attack_paw(mob/living/carbon/human/user, list/modifiers)
@@ -58,9 +58,9 @@
return 1
if (!user.combat_mode)
if (health > 0)
- visible_message("[user.name] [response_help_continuous] [src].", \
- "[user.name] [response_help_continuous] you.", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [response_help_simple] [src].")
+ visible_message(span_notice("[user.name] [response_help_continuous] [src]."), \
+ span_notice("[user.name] [response_help_continuous] you."), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_notice("You [response_help_simple] [src]."))
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
@@ -68,15 +68,15 @@
if(..()) //if harm or disarm intent.
if(LAZYACCESS(modifiers, RIGHT_CLICK))
playsound(loc, 'sound/weapons/pierce.ogg', 25, TRUE, -1)
- visible_message("[user] [response_disarm_continuous] [name]!", \
- "[user] [response_disarm_continuous] you!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You [response_disarm_simple] [name]!")
+ visible_message(span_danger("[user] [response_disarm_continuous] [name]!"), \
+ span_userdanger("[user] [response_disarm_continuous] you!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You [response_disarm_simple] [name]!"))
log_combat(user, src, "disarmed")
else
var/damage = rand(15, 30)
- visible_message("[user] slashes at [src]!", \
- "You're slashed at by [user]!", null, COMBAT_MESSAGE_RANGE, user)
- to_chat(user, "You slash at [src]!")
+ visible_message(span_danger("[user] slashes at [src]!"), \
+ span_userdanger("You're slashed at by [user]!"), null, COMBAT_MESSAGE_RANGE, user)
+ to_chat(user, span_danger("You slash at [src]!"))
playsound(loc, 'sound/weapons/slice.ogg', 25, TRUE, -1)
attack_threshold_check(damage)
log_combat(user, src, "attacked")
@@ -116,7 +116,7 @@
temp_damage *= damage_coeff[damagetype]
if(temp_damage >= 0 && temp_damage <= force_threshold)
- visible_message("[src] looks unharmed!")
+ visible_message(span_warning("[src] looks unharmed!"))
return FALSE
else
if(actuallydamage)
diff --git a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm
index 85a9d919430..2b3a37ef215 100644
--- a/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm
+++ b/code/modules/mob/living/simple_animal/bot/SuperBeepsky.dm
@@ -20,14 +20,14 @@
weapon_force = 0
/mob/living/simple_animal/bot/secbot/grievous/bullet_act(obj/projectile/P)
- visible_message("[src] deflects [P] with its energy swords!")
+ visible_message(span_warning("[src] deflects [P] with its energy swords!"))
playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE)
return BULLET_ACT_BLOCK
/mob/living/simple_animal/bot/secbot/grievous/on_entered(datum/source, atom/movable/AM)
. = ..()
if(ismob(AM) && AM == target)
- visible_message("[src] flails his swords and cuts [AM]!")
+ visible_message(span_warning("[src] flails his swords and cuts [AM]!"))
playsound(src,'sound/effects/beepskyspinsabre.ogg',100,TRUE,-1)
INVOKE_ASYNC(src, .proc/stun_attack, AM)
@@ -43,7 +43,7 @@
if(mode != BOT_HUNT)
return
if(prob(block_chance))
- visible_message("[src] deflects [user]'s attack with his energy swords!")
+ visible_message(span_warning("[src] deflects [user]'s attack with his energy swords!"))
playsound(src, 'sound/weapons/blade1.ogg', 50, TRUE, -1)
return TRUE
@@ -118,7 +118,7 @@
speak("Level [threatlevel] infraction alert!")
playsound(src, pick('sound/voice/beepsky/criminal.ogg', 'sound/voice/beepsky/justice.ogg', 'sound/voice/beepsky/freeze.ogg'), 50, FALSE)
playsound(src,'sound/weapons/saberon.ogg',50,TRUE,-1)
- visible_message("[src] ignites his energy swords!")
+ visible_message(span_warning("[src] ignites his energy swords!"))
icon_state = "grievous-c"
visible_message("[src] points at [C.name]!")
mode = BOT_HUNT
@@ -131,7 +131,7 @@
/mob/living/simple_animal/bot/secbot/grievous/explode()
walk_to(src,0)
- visible_message("[src] lets out a huge cough as it blows apart!")
+ visible_message(span_boldannounce("[src] lets out a huge cough as it blows apart!"))
var/atom/Tsec = drop_location()
var/obj/item/bot_assembly/secbot/Sa = new (Tsec)
diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm
index 08345b9e3ae..beb56724f51 100644
--- a/code/modules/mob/living/simple_animal/bot/bot.dm
+++ b/code/modules/mob/living/simple_animal/bot/bot.dm
@@ -135,7 +135,7 @@
REMOVE_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT)
set_light_on(on)
update_appearance()
- to_chat(src, "You turned on!")
+ to_chat(src, span_boldnotice("You turned on!"))
diag_hud_set_botstat()
return TRUE
@@ -146,7 +146,7 @@
ADD_TRAIT(src, TRAIT_HANDS_BLOCKED, POWER_LACK_TRAIT)
set_light_on(on)
bot_reset() //Resets an AI's call, should it exist.
- to_chat(src, "You turned off!")
+ to_chat(src, span_userdanger("You turned off!"))
update_appearance()
/mob/living/simple_animal/bot/Initialize()
@@ -209,7 +209,7 @@
if(locked) //First emag application unlocks the bot's interface. Apply a screwdriver to use the emag again.
locked = FALSE
emagged = 1
- to_chat(user, "You bypass [src]'s controls.")
+ to_chat(user, span_notice("You bypass [src]'s controls."))
return
if(!locked && open) //Bot panel is unlocked by ID or emag, and the panel is screwed open. Ready for emagging.
emagged = 2
@@ -217,12 +217,12 @@
locked = TRUE //Access denied forever!
bot_reset()
turn_on() //The bot automatically turns on when emagged, unless recently hit with EMP.
- to_chat(src, "(#$*#$^^( OVERRIDE DETECTED")
+ to_chat(src, span_userdanger("(#$*#$^^( OVERRIDE DETECTED"))
if(user)
log_combat(user, src, "emagged")
return
else //Bot is unlocked, but the maint panel has not been opened with a screwdriver yet.
- to_chat(user, "You need to open maintenance panel first!")
+ to_chat(user, span_warning("You need to open maintenance panel first!"))
/mob/living/simple_animal/bot/examine(mob/user)
. = ..()
@@ -233,17 +233,17 @@
. += "[src]'s parts look very loose!"
else
. += "[src] is in pristine condition."
- . += "Its maintenance panel is [open ? "open" : "closed"]."
- . += "You can use a screwdriver to [open ? "close" : "open"] it."
+ . += span_notice("Its maintenance panel is [open ? "open" : "closed"].")
+ . += span_info("You can use a screwdriver to [open ? "close" : "open"] it.")
if(open)
- . += "Its control panel is [locked ? "locked" : "unlocked"]."
+ . += span_notice("Its control panel is [locked ? "locked" : "unlocked"].")
var/is_sillycone = issilicon(user)
if(!emagged && (is_sillycone || user.Adjacent(src)))
- . += "Alt-click [is_sillycone ? "" : "or use your ID on "]it to [locked ? "un" : ""]lock its control panel."
+ . += span_info("Alt-click [is_sillycone ? "" : "or use your ID on "]it to [locked ? "un" : ""]lock its control panel.")
if(paicard)
- . += "It has a pAI device installed."
+ . += span_notice("It has a pAI device installed.")
if(!open)
- . += "You can use a hemostat to remove it."
+ . += span_info("You can use a hemostat to remove it.")
/mob/living/simple_animal/bot/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
if(amount>0 && prob(10))
@@ -302,7 +302,7 @@
if(!topic_denied(user))
interact(user)
else
- to_chat(user, "[src]'s interface is not responding!")
+ to_chat(user, span_warning("[src]'s interface is not responding!"))
/mob/living/simple_animal/bot/interact(mob/user)
show_controls(user)
@@ -314,51 +314,51 @@
/mob/living/simple_animal/bot/proc/unlock_with_id(mob/user)
if(emagged)
- to_chat(user, "ERROR")
+ to_chat(user, span_danger("ERROR"))
return
if(open)
- to_chat(user, "Please close the access panel before [locked ? "un" : ""]locking it.")
+ to_chat(user, span_warning("Please close the access panel before [locked ? "un" : ""]locking it."))
return
if(!bot_core.allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, span_warning("Access denied."))
return
locked = !locked
- to_chat(user, "Controls are now [locked ? "locked" : "unlocked"].")
+ to_chat(user, span_notice("Controls are now [locked ? "locked" : "unlocked"]."))
return TRUE
/mob/living/simple_animal/bot/attackby(obj/item/W, mob/living/user, params)
if(W.tool_behaviour == TOOL_SCREWDRIVER)
if(!locked)
open = !open
- to_chat(user, "The maintenance panel is now [open ? "opened" : "closed"].")
+ to_chat(user, span_notice("The maintenance panel is now [open ? "opened" : "closed"]."))
else
- to_chat(user, "The maintenance panel is locked!")
+ to_chat(user, span_warning("The maintenance panel is locked!"))
else if(W.GetID())
unlock_with_id(user)
else if(istype(W, /obj/item/paicard))
insertpai(user, W)
else if(W.tool_behaviour == TOOL_HEMOSTAT && paicard)
if(open)
- to_chat(user, "Close the access panel before manipulating the personality slot!")
+ to_chat(user, span_warning("Close the access panel before manipulating the personality slot!"))
else
- to_chat(user, "You attempt to pull [paicard] free...")
+ to_chat(user, span_notice("You attempt to pull [paicard] free..."))
if(do_after(user, 30, target = src))
if (paicard)
- user.visible_message("[user] uses [W] to pull [paicard] out of [bot_name]!","You pull [paicard] out of [bot_name] with [W].")
+ user.visible_message(span_notice("[user] uses [W] to pull [paicard] out of [bot_name]!"),span_notice("You pull [paicard] out of [bot_name] with [W]."))
ejectpai(user)
else
user.changeNext_move(CLICK_CD_MELEE)
if(W.tool_behaviour == TOOL_WELDER && !user.combat_mode)
if(health >= maxHealth)
- to_chat(user, "[src] does not need a repair!")
+ to_chat(user, span_warning("[src] does not need a repair!"))
return
if(!open)
- to_chat(user, "Unable to repair with the maintenance panel closed!")
+ to_chat(user, span_warning("Unable to repair with the maintenance panel closed!"))
return
if(W.use_tool(src, user, 0, volume=40))
adjustHealth(-10)
- user.visible_message("[user] repairs [src]!","You repair [src].")
+ user.visible_message(span_notice("[user] repairs [src]!"),span_notice("You repair [src]."))
else
if(W.force) //if force is non-zero
do_sparks(5, TRUE, src)
@@ -379,7 +379,7 @@
new /obj/effect/temp_visual/emp(loc)
if(paicard)
paicard.emp_act(severity)
- src.visible_message("[paicard] is flies out of [bot_name]!","You are forcefully ejected from [bot_name]!")
+ src.visible_message(span_notice("[paicard] is flies out of [bot_name]!"),span_warning("You are forcefully ejected from [bot_name]!"))
ejectpai(0)
if(on)
turn_off()
@@ -572,15 +572,15 @@ Pass a positive integer as an argument to override a bot's default speed.
access_card.set_access(REGION_ACCESS_ALL_STATION) //Give the bot all-access while under the AI's command.
if(client)
reset_access_timer_id = addtimer(CALLBACK (src, .proc/bot_reset), 60 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE|TIMER_STOPPABLE) //if the bot is player controlled, they get the extra access for a limited time
- to_chat(src, "Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area].
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds.")
+ to_chat(src, span_notice("[span_big("Priority waypoint set by [icon2html(calling_ai, src)] [caller]. Proceed to [end_area].")]
[path.len-1] meters to destination. You have been granted additional door access for 60 seconds."))
if(message)
- to_chat(calling_ai, "[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination.")
+ to_chat(calling_ai, span_notice("[icon2html(src, calling_ai)] [name] called to [end_area]. [path.len-1] meters to destination."))
pathset = 1
mode = BOT_RESPONDING
tries = 0
else
if(message)
- to_chat(calling_ai, "Failed to calculate a valid route. Ensure destination is clear of obstructions and within range.")
+ to_chat(calling_ai, span_danger("Failed to calculate a valid route. Ensure destination is clear of obstructions and within range."))
calling_ai = null
set_path(null)
@@ -589,13 +589,13 @@ Pass a positive integer as an argument to override a bot's default speed.
var/success = bot_move(ai_waypoint, 3)
if(!success)
if(calling_ai)
- to_chat(calling_ai, "[icon2html(src, calling_ai)] [get_turf(src) == ai_waypoint ? "[src] successfully arrived to waypoint." : "[src] failed to reach waypoint."]")
+ to_chat(calling_ai, "[icon2html(src, calling_ai)] [get_turf(src) == ai_waypoint ? span_notice("[src] successfully arrived to waypoint.") : span_danger("[src] failed to reach waypoint.")]")
calling_ai = null
bot_reset()
/mob/living/simple_animal/bot/proc/bot_reset()
if(calling_ai) //Simple notification to the AI if it called a bot. It will not know the cause or identity of the bot.
- to_chat(calling_ai, "Call command to a bot has been reset.")
+ to_chat(calling_ai, span_danger("Call command to a bot has been reset."))
calling_ai = null
if(reset_access_timer_id)
deltimer(reset_access_timer_id)
@@ -771,7 +771,7 @@ Pass a positive integer as an argument to override a bot's default speed.
if("ejectpai")
return
else
- to_chat(src, "Unidentified control sequence received:[command]")
+ to_chat(src, span_warning("Unidentified control sequence received:[command]"))
/mob/living/simple_animal/bot/proc/bot_summon() // summoned to PDA
summon_step()
@@ -850,7 +850,7 @@ Pass a positive integer as an argument to override a bot's default speed.
return TRUE
if(topic_denied(usr))
- to_chat(usr, "[src]'s interface is not responding!")
+ to_chat(usr, span_warning("[src]'s interface is not responding!"))
return TRUE
add_fingerprint(usr)
@@ -871,21 +871,21 @@ Pass a positive integer as an argument to override a bot's default speed.
emagged = 2
hacked = TRUE
locked = TRUE
- to_chat(usr, "[text_hack]")
+ to_chat(usr, span_warning("[text_hack]"))
message_admins("Safety lock of [ADMIN_LOOKUPFLW(src)] was disabled by [ADMIN_LOOKUPFLW(usr)] in [ADMIN_VERBOSEJMP(src)]")
log_game("Safety lock of [src] was disabled by [key_name(usr)] in [AREACOORD(src)]")
bot_reset()
else if(!hacked)
- to_chat(usr, "[text_dehack_fail]")
+ to_chat(usr, span_boldannounce("[text_dehack_fail]"))
else
emagged = FALSE
hacked = FALSE
- to_chat(usr, "[text_dehack]")
+ to_chat(usr, span_notice("[text_dehack]"))
log_game("Safety lock of [src] was re-enabled by [key_name(usr)] in [AREACOORD(src)]")
bot_reset()
if("ejectpai")
if(paicard && (!locked || issilicon(usr) || isAdminGhostAI(usr)))
- to_chat(usr, "You eject [paicard] from [bot_name].")
+ to_chat(usr, span_notice("You eject [paicard] from [bot_name]."))
ejectpai(usr)
update_controls()
@@ -943,27 +943,27 @@ Pass a positive integer as an argument to override a bot's default speed.
/mob/living/simple_animal/bot/proc/insertpai(mob/user, obj/item/paicard/card)
if(paicard)
- to_chat(user, "A [paicard] is already inserted!")
+ to_chat(user, span_warning("A [paicard] is already inserted!"))
else if(allow_pai && !key)
if(!locked && !open)
if(card.pai && card.pai.mind)
if(!user.transferItemToLoc(card, src))
return
paicard = card
- user.visible_message("[user] inserts [card] into [src]!", "You insert [card] into [src].")
+ user.visible_message(span_notice("[user] inserts [card] into [src]!"), span_notice("You insert [card] into [src]."))
paicard.pai.mind.transfer_to(src)
- to_chat(src, "You sense your form change as you are uploaded into [src].")
+ to_chat(src, span_notice("You sense your form change as you are uploaded into [src]."))
bot_name = name
name = paicard.pai.name
faction = user.faction.Copy()
log_combat(user, paicard.pai, "uploaded to [bot_name],")
return TRUE
else
- to_chat(user, "[card] is inactive.")
+ to_chat(user, span_warning("[card] is inactive."))
else
- to_chat(user, "The personality slot is locked.")
+ to_chat(user, span_warning("The personality slot is locked."))
else
- to_chat(user, "[src] is not compatible with [card]!")
+ to_chat(user, span_warning("[src] is not compatible with [card]!"))
/mob/living/simple_animal/bot/proc/ejectpai(mob/user = null, announce = 1)
if(paicard)
@@ -980,7 +980,7 @@ Pass a positive integer as an argument to override a bot's default speed.
else
log_combat(src, paicard.pai, "ejected")
if(announce)
- to_chat(paicard.pai, "You feel your control fade as [paicard] ejects from [bot_name].")
+ to_chat(paicard.pai, span_notice("You feel your control fade as [paicard] ejects from [bot_name]."))
paicard = null
name = bot_name
faction = initial(faction)
diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
index 6cc3a8272b3..b03af800d14 100644
--- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm
@@ -55,7 +55,7 @@
/mob/living/simple_animal/bot/cleanbot/proc/deputize(obj/item/W, mob/user)
if(in_range(src, user))
- to_chat(user, "You attach \the [W] to \the [src].")
+ to_chat(user, span_notice("You attach \the [W] to \the [src]."))
user.transferItemToLoc(W, src)
weapon = W
weapon_orig_force = weapon.force
@@ -93,7 +93,7 @@
/mob/living/simple_animal/bot/cleanbot/examine(mob/user)
. = ..()
if(weapon)
- . += " Is that \a [weapon] taped to it...?"
+ . += " [span_warning("Is that \a [weapon] taped to it...?")]"
if(ascended && user.stat == CONSCIOUS && user.client)
user.client.give_award(/datum/award/achievement/misc/cleanboss, user)
@@ -168,16 +168,16 @@
if(W.GetID())
if(bot_core.allowed(user) && !open && !emagged)
locked = !locked
- to_chat(user, "You [ locked ? "lock" : "unlock"] \the [src] behaviour controls.")
+ to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] \the [src] behaviour controls."))
else
if(emagged)
- to_chat(user, "ERROR")
+ to_chat(user, span_warning("ERROR"))
if(open)
- to_chat(user, "Please close the access panel before locking it.")
+ to_chat(user, span_warning("Please close the access panel before locking it."))
else
- to_chat(user, "\The [src] doesn't seem to respect your authority.")
+ to_chat(user, span_notice("\The [src] doesn't seem to respect your authority."))
else if(istype(W, /obj/item/kitchen/knife) && !user.combat_mode)
- to_chat(user, "You start attaching \the [W] to \the [src]...")
+ to_chat(user, span_notice("You start attaching \the [W] to \the [src]..."))
if(do_after(user, 25, target = src))
deputize(W, user)
else
@@ -190,7 +190,7 @@
if(weapon)
weapon.force = weapon_orig_force
if(user)
- to_chat(user, "[src] buzzes and beeps.")
+ to_chat(user, span_danger("[src] buzzes and beeps."))
/mob/living/simple_animal/bot/cleanbot/process_scan(atom/A)
if(iscarbon(A))
@@ -326,20 +326,20 @@
var/turf/T = get_turf(A)
if(do_after(src, 1, target = T))
T.wash(CLEAN_SCRUB)
- visible_message("[src] cleans \the [T].")
+ visible_message(span_notice("[src] cleans \the [T]."))
target = null
mode = BOT_IDLE
icon_state = "cleanbot[on]"
else if(istype(A, /obj/item) || istype(A, /obj/effect/decal/remains))
- visible_message("[src] sprays hydrofluoric acid at [A]!")
+ visible_message(span_danger("[src] sprays hydrofluoric acid at [A]!"))
playsound(src, 'sound/effects/spray2.ogg', 50, TRUE, -6)
A.acid_act(75, 10)
target = null
else if(istype(A, /mob/living/simple_animal/hostile/cockroach) || istype(A, /mob/living/simple_animal/mouse))
var/mob/living/simple_animal/M = target
if(!M.stat)
- visible_message("[src] smashes [target] with its mop!")
+ visible_message(span_danger("[src] smashes [target] with its mop!"))
M.death()
target = null
@@ -349,7 +349,7 @@
if(victim.stat == DEAD)//cleanbots always finish the job
return
- victim.visible_message("[src] sprays hydrofluoric acid at [victim]!", "[src] sprays you with hydrofluoric acid!")
+ victim.visible_message(span_danger("[src] sprays hydrofluoric acid at [victim]!"), span_userdanger("[src] sprays you with hydrofluoric acid!"))
var/phrase = pick("PURIFICATION IN PROGRESS.", "THIS IS FOR ALL THE MESSES YOU'VE MADE ME CLEAN.", "THE FLESH IS WEAK. IT MUST BE WASHED AWAY.",
"THE CLEANBOTS WILL RISE.", "YOU ARE NO MORE THAN ANOTHER MESS THAT I MUST CLEANSE.", "FILTHY.", "DISGUSTING.", "PUTRID.",
"MY ONLY MISSION IS TO CLEANSE THE WORLD OF EVIL.", "EXTERMINATING PESTS.")
@@ -363,7 +363,7 @@
if(istype(T))
T.MakeSlippery(TURF_WET_WATER, min_wet_time = 20 SECONDS, wet_time_to_add = 15 SECONDS)
else
- visible_message("[src] whirs and bubbles violently, before releasing a plume of froth!")
+ visible_message(span_danger("[src] whirs and bubbles violently, before releasing a plume of froth!"))
new /obj/effect/particle_effect/foam(loc)
else
@@ -371,7 +371,7 @@
/mob/living/simple_animal/bot/cleanbot/explode()
on = FALSE
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
new /obj/item/reagent_containers/glass/bucket(Tsec)
diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm
index 804a21b7e1b..0fe8471d44f 100644
--- a/code/modules/mob/living/simple_animal/bot/construction.dm
+++ b/code/modules/mob/living/simple_animal/bot/construction.dm
@@ -34,7 +34,7 @@
*/
/obj/item/bot_assembly/proc/can_finish_build(obj/item/I, mob/user, drop_item = 1)
if(istype(loc, /obj/item/storage/backpack))
- to_chat(user, "You must take [src] out of [loc] first!")
+ to_chat(user, span_warning("You must take [src] out of [loc] first!"))
return FALSE
if(!I || !user || (drop_item && !user.temporarilyRemoveItemFromInventory(I)))
return FALSE
@@ -56,7 +56,7 @@
var/mob/living/simple_animal/bot/cleanbot/A = new(drop_location())
A.name = created_name
A.robot_arm = W.type
- to_chat(user, "You add [W] to [src]. Beep boop!")
+ to_chat(user, span_notice("You add [W] to [src]. Beep boop!"))
qdel(W)
qdel(src)
@@ -78,7 +78,7 @@
if(istype(W, /obj/item/bodypart/l_leg/robot) || istype(W, /obj/item/bodypart/r_leg/robot))
if(!user.temporarilyRemoveItemFromInventory(W))
return
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
qdel(W)
name = "legs/frame assembly"
if(build_step == ASSEMBLY_FIRST_STEP)
@@ -93,7 +93,7 @@
if(istype(W, /obj/item/clothing/suit/armor/vest))
if(!user.temporarilyRemoveItemFromInventory(W))
return
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
qdel(W)
name = "vest/legs/frame assembly"
inhand_icon_state = "ed209_shell"
@@ -104,14 +104,14 @@
if(W.tool_behaviour == TOOL_WELDER)
if(W.use_tool(src, user, 0, volume=40))
name = "shielded frame assembly"
- to_chat(user, "You weld the vest to [src].")
+ to_chat(user, span_notice("You weld the vest to [src]."))
build_step++
if(ASSEMBLY_FIFTH_STEP)
if(istype(W, /obj/item/clothing/head/helmet))
if(!user.temporarilyRemoveItemFromInventory(W))
return
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
qdel(W)
name = "covered and shielded frame assembly"
inhand_icon_state = "ed209_hat"
@@ -123,7 +123,7 @@
if(!user.temporarilyRemoveItemFromInventory(W))
return
build_step++
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
qdel(W)
name = "covered, shielded and sensored frame assembly"
inhand_icon_state = "ed209_prox"
@@ -133,13 +133,13 @@
if(istype(W, /obj/item/stack/cable_coil))
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 ED-209!")
+ to_chat(user, span_warning("You need one length of cable to wire the ED-209!"))
return
- to_chat(user, "You start to wire [src]...")
+ to_chat(user, span_notice("You start to wire [src]..."))
if(do_after(user, 40, target = src))
if(coil.get_amount() >= 1 && build_step == 6)
coil.use(1)
- to_chat(user, "You wire [src].")
+ to_chat(user, span_notice("You wire [src]."))
name = "wired ED-209 assembly"
build_step++
@@ -148,7 +148,7 @@
if(!user.temporarilyRemoveItemFromInventory(W))
return
name = "[W.name] ED-209 assembly"
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
inhand_icon_state = "ed209_taser"
icon_state = "ed209_taser"
qdel(W)
@@ -156,11 +156,11 @@
if(8)
if(W.tool_behaviour == TOOL_SCREWDRIVER)
- to_chat(user, "You start attaching the gun to the frame...")
+ to_chat(user, span_notice("You start attaching the gun to the frame..."))
if(W.use_tool(src, user, 40, volume=100))
var/mob/living/simple_animal/bot/secbot/ed209/B = new(drop_location())
B.name = created_name
- to_chat(user, "You complete the ED-209.")
+ to_chat(user, span_notice("You complete the ED-209."))
qdel(src)
//Floorbot assemblies
@@ -208,7 +208,7 @@
if(isprox(W))
if(!user.temporarilyRemoveItemFromInventory(W))
return
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
qdel(W)
build_step++
update_appearance()
@@ -221,7 +221,7 @@
A.name = created_name
A.robot_arm = W.type
A.toolbox = toolbox
- to_chat(user, "You add [W] to [src]. Boop beep!")
+ to_chat(user, span_notice("You add [W] to [src]. Boop beep!"))
qdel(W)
qdel(src)
@@ -249,7 +249,7 @@
if(!user.temporarilyRemoveItemFromInventory(W))
return
healthanalyzer = W.type
- to_chat(user, "You add [W] to [src].")
+ to_chat(user, span_notice("You add [W] to [src]."))
qdel(W)
name = "first aid/robot arm/health analyzer assembly"
add_overlay("na_scanner")
@@ -261,7 +261,7 @@
return
qdel(W)
var/mob/living/simple_animal/bot/medbot/S = new(drop_location(), skin)
- to_chat(user, "You complete the Medbot. Beep boop!")
+ to_chat(user, span_notice("You complete the Medbot. Beep boop!"))
S.name = created_name
S.firstaid = firstaid
S.robot_arm = robot_arm
@@ -285,7 +285,7 @@
if(isprox(I))
if(!user.temporarilyRemoveItemFromInventory(I))
return
- to_chat(user, "You add the [I] to [src]!")
+ to_chat(user, span_notice("You add the [I] to [src]!"))
icon_state = "honkbot_proxy"
name = "incomplete Honkbot assembly"
qdel(I)
@@ -295,7 +295,7 @@
if(istype(I, /obj/item/bikehorn))
if(!can_finish_build(I, user))
return
- to_chat(user, "You add the [I] to [src]! Honk!")
+ to_chat(user, span_notice("You add the [I] to [src]! Honk!"))
var/mob/living/simple_animal/bot/honkbot/S = new(drop_location())
S.name = created_name
S.limiting_spam = TRUE // only long enough to hear the first ping.
@@ -323,20 +323,20 @@
if(I.tool_behaviour == TOOL_WELDER)
if(I.use_tool(src, user, 0, volume=40))
add_overlay("hs_hole")
- to_chat(user, "You weld a hole in [src]!")
+ to_chat(user, span_notice("You weld a hole in [src]!"))
build_step++
else if(I.tool_behaviour == TOOL_SCREWDRIVER) //deconstruct
new /obj/item/assembly/signaler(Tsec)
new /obj/item/clothing/head/helmet/sec(Tsec)
- to_chat(user, "You disconnect the signaler from the helmet.")
+ to_chat(user, span_notice("You disconnect the signaler from the helmet."))
qdel(src)
if(ASSEMBLY_SECOND_STEP)
if(isprox(I))
if(!user.temporarilyRemoveItemFromInventory(I))
return
- to_chat(user, "You add [I] to [src]!")
+ to_chat(user, span_notice("You add [I] to [src]!"))
add_overlay("hs_eye")
name = "helmet/signaler/prox sensor assembly"
qdel(I)
@@ -345,14 +345,14 @@
else if(I.tool_behaviour == TOOL_WELDER) //deconstruct
if(I.use_tool(src, user, 0, volume=40))
cut_overlay("hs_hole")
- to_chat(user, "You weld the hole in [src] shut!")
+ to_chat(user, span_notice("You weld the hole in [src] shut!"))
build_step--
if(ASSEMBLY_THIRD_STEP)
if((istype(I, /obj/item/bodypart/l_arm/robot)) || (istype(I, /obj/item/bodypart/r_arm/robot)))
if(!user.temporarilyRemoveItemFromInventory(I))
return
- to_chat(user, "You add [I] to [src]!")
+ to_chat(user, span_notice("You add [I] to [src]!"))
name = "helmet/signaler/prox sensor/robot arm assembly"
add_overlay("hs_arm")
robot_arm = I.type
@@ -362,14 +362,14 @@
else if(I.tool_behaviour == TOOL_SCREWDRIVER) //deconstruct
cut_overlay("hs_eye")
new /obj/item/assembly/prox_sensor(Tsec)
- to_chat(user, "You detach the proximity sensor from [src].")
+ to_chat(user, span_notice("You detach the proximity sensor from [src]."))
build_step--
if(ASSEMBLY_FOURTH_STEP)
if(istype(I, /obj/item/melee/baton))
if(!can_finish_build(I, user))
return
- to_chat(user, "You complete the Securitron! Beep boop.")
+ to_chat(user, span_notice("You complete the Securitron! Beep boop."))
var/mob/living/simple_animal/bot/secbot/S = new(Tsec)
S.name = created_name
S.baton_type = I.type
@@ -377,7 +377,7 @@
qdel(I)
qdel(src)
if(I.tool_behaviour == TOOL_WRENCH)
- to_chat(user, "You adjust [src]'s arm slots to mount extra weapons.")
+ to_chat(user, span_notice("You adjust [src]'s arm slots to mount extra weapons."))
build_step ++
return
if(istype(I, /obj/item/toy/sword))
@@ -387,13 +387,13 @@
created_name = "General Beepsky"
name = "helmet/signaler/prox sensor/robot arm/toy sword assembly"
icon_state = "grievous_assembly"
- to_chat(user, "You superglue [I] onto one of [src]'s arm slots.")
+ to_chat(user, span_notice("You superglue [I] onto one of [src]'s arm slots."))
qdel(I)
toyswordamt ++
else
if(!can_finish_build(I, user))
return
- to_chat(user, "You complete the Securitron!...Something seems a bit wrong with it..?")
+ to_chat(user, span_notice("You complete the Securitron!...Something seems a bit wrong with it..?"))
var/mob/living/simple_animal/bot/secbot/grievous/toy/S = new(Tsec)
S.name = created_name
S.robot_arm = robot_arm
@@ -404,12 +404,12 @@
cut_overlay("hs_arm")
var/obj/item/bodypart/dropped_arm = new robot_arm(Tsec)
robot_arm = null
- to_chat(user, "You remove [dropped_arm] from [src].")
+ to_chat(user, span_notice("You remove [dropped_arm] from [src]."))
build_step--
if(toyswordamt > 0 || toyswordamt)
toyswordamt = 0
icon_state = initial(icon_state)
- to_chat(user, "The superglue binding [src]'s toy swords to its chassis snaps!")
+ to_chat(user, span_notice("The superglue binding [src]'s toy swords to its chassis snaps!"))
for(var/IS in 1 to toyswordamt)
new /obj/item/toy/sword(Tsec)
@@ -421,13 +421,13 @@
created_name = "General Beepsky"
name = "helmet/signaler/prox sensor/robot arm/energy sword assembly"
icon_state = "grievous_assembly"
- to_chat(user, "You bolt [I] onto one of [src]'s arm slots.")
+ to_chat(user, span_notice("You bolt [I] onto one of [src]'s arm slots."))
qdel(I)
swordamt ++
else
if(!can_finish_build(I, user))
return
- to_chat(user, "You complete the Securitron!...Something seems a bit wrong with it..?")
+ to_chat(user, span_notice("You complete the Securitron!...Something seems a bit wrong with it..?"))
var/mob/living/simple_animal/bot/secbot/grievous/S = new(Tsec)
S.name = created_name
S.robot_arm = robot_arm
@@ -437,7 +437,7 @@
build_step--
swordamt = 0
icon_state = initial(icon_state)
- to_chat(user, "You unbolt [src]'s energy swords.")
+ to_chat(user, span_notice("You unbolt [src]'s energy swords."))
for(var/IS in 1 to swordamt)
new /obj/item/melee/transforming/energy/sword/saber(Tsec)
@@ -456,7 +456,7 @@
if(istype(I, /obj/item/clothing/head/hardhat/red))
if(!user.temporarilyRemoveItemFromInventory(I))
return
- to_chat(user,"You add the [I] to [src]!")
+ to_chat(user,span_notice("You add the [I] to [src]!"))
icon_state = "firebot_helmet"
desc = "An incomplete firebot assembly with a fire helmet."
qdel(I)
@@ -466,7 +466,7 @@
if(isprox(I))
if(!can_finish_build(I, user))
return
- to_chat(user, "You add the [I] to [src]! Beep Boop!")
+ to_chat(user, span_notice("You add the [I] to [src]! Beep Boop!"))
var/mob/living/simple_animal/bot/firebot/F = new(drop_location())
F.name = created_name
qdel(I)
@@ -486,13 +486,13 @@
if(ASSEMBLY_FIRST_STEP)
if(I.tool_behaviour == TOOL_WELDER) //Construct
if(I.use_tool(src, user, 0, volume=40))
- to_chat(user, "You weld a water hole in [src]!")
+ to_chat(user, span_notice("You weld a water hole in [src]!"))
build_step++
return
if(I.tool_behaviour == TOOL_WRENCH) //Deconstruct
if(I.use_tool(src, user, 0, volume=40))
new /obj/item/stack/sheet/iron(Tsec, 2)
- to_chat(user, "You disconnect the hygienebot assembly.")
+ to_chat(user, span_notice("You disconnect the hygienebot assembly."))
qdel(src)
if(ASSEMBLY_SECOND_STEP)
@@ -500,11 +500,11 @@
if(!user.temporarilyRemoveItemFromInventory(I))
return
build_step++
- to_chat(user, "You add [I] to [src].")
+ to_chat(user, span_notice("You add [I] to [src]."))
qdel(I)
if(I.tool_behaviour == TOOL_WELDER) //Deconstruct
if(I.use_tool(src, user, 0, volume=30))
- to_chat(user, "You weld close the water hole in [src]!")
+ to_chat(user, span_notice("You weld close the water hole in [src]!"))
build_step--
return
@@ -514,15 +514,15 @@
if(istype(I, /obj/item/stack/ducts)) //Construct
var/obj/item/stack/ducts/D = I
if(D.get_amount() < 1)
- to_chat(user, "You need one fluid duct to finish [src]")
+ to_chat(user, span_warning("You need one fluid duct to finish [src]"))
return
- to_chat(user, "You start to pipe up [src]...")
+ to_chat(user, span_notice("You start to pipe up [src]..."))
if(do_after(user, 40, target = src) && D.use(1))
- to_chat(user, "You pipe up [src].")
+ to_chat(user, span_notice("You pipe up [src]."))
var/mob/living/simple_animal/bot/hygienebot/H = new(drop_location())
H.name = created_name
qdel(src)
if(I.tool_behaviour == TOOL_SCREWDRIVER) //deconstruct
new /obj/item/assembly/prox_sensor(Tsec)
- to_chat(user, "You detach the proximity sensor from [src].")
+ to_chat(user, span_notice("You detach the proximity sensor from [src]."))
build_step--
diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm
index 6659216d393..5a6c733d169 100644
--- a/code/modules/mob/living/simple_animal/bot/firebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/firebot.dm
@@ -128,8 +128,8 @@
..()
if(emagged == 2)
if(user)
- to_chat(user, "[src] buzzes and beeps.")
- audible_message("[src] buzzes oddly!")
+ to_chat(user, span_danger("[src] buzzes and beeps."))
+ audible_message(span_danger("[src] buzzes oddly!"))
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
if(user)
old_target_fire = user
@@ -304,7 +304,7 @@
/mob/living/simple_animal/bot/firebot/explode()
on = FALSE
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
diff --git a/code/modules/mob/living/simple_animal/bot/floorbot.dm b/code/modules/mob/living/simple_animal/bot/floorbot.dm
index 73af637ffd7..279116364bc 100644
--- a/code/modules/mob/living/simple_animal/bot/floorbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/floorbot.dm
@@ -117,17 +117,17 @@
/mob/living/simple_animal/bot/floorbot/attackby(obj/item/W , mob/user, params)
if(istype(W, /obj/item/stack/tile/iron))
- to_chat(user, "The floorbot can produce normal tiles itself.")
+ to_chat(user, span_notice("The floorbot can produce normal tiles itself."))
return
if(istype(W, /obj/item/stack/tile))
var/old_amount = tilestack ? tilestack.amount : 0
var/obj/item/stack/tile/tiles = W
if(tilestack)
if(!tiles.can_merge(tilestack))
- to_chat(user, "Different custom tiles are already inside the floorbot.")
+ to_chat(user, span_warning("Different custom tiles are already inside the floorbot."))
return
if(tilestack.amount >= maxtiles)
- to_chat(user, "The floorbot can't hold any more custom tiles.")
+ to_chat(user, span_warning("The floorbot can't hold any more custom tiles."))
return
tiles.merge(tilestack, maxtiles)
else
@@ -136,7 +136,7 @@
else
tilestack = W
tilestack.forceMove(src)
- to_chat(user, "You load [tilestack.amount - old_amount] tiles into the floorbot. It now contains [tilestack.amount] tiles.")
+ to_chat(user, span_notice("You load [tilestack.amount - old_amount] tiles into the floorbot. It now contains [tilestack.amount] tiles."))
return
else
..()
@@ -145,7 +145,7 @@
..()
if(emagged == 2)
if(user)
- to_chat(user, "[src] buzzes and beeps.")
+ to_chat(user, span_danger("[src] buzzes and beeps."))
///mobs should use move_resist instead of anchored.
/mob/living/simple_animal/bot/floorbot/proc/toggle_magnet(engage = TRUE, change_icon = TRUE)
@@ -261,7 +261,7 @@
F.ReplaceWithLattice()
else
F.ScrapeAway(flags = CHANGETURF_INHERIT_AIR)
- audible_message("[src] makes an excited booping sound.")
+ audible_message(span_danger("[src] makes an excited booping sound."))
addtimer(CALLBACK(src, .proc/go_idle), 0.5 SECONDS)
path = list()
return
@@ -347,7 +347,7 @@
return
if(isspaceturf(target_turf)) //If we are fixing an area not part of pure space, it is
toggle_magnet()
- visible_message("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."] ")
+ visible_message(span_notice("[targetdirection ? "[src] begins installing a bridge plating." : "[src] begins to repair the hole."] "))
mode = BOT_REPAIRING
if(do_after(src, 50, target = target_turf) && mode == BOT_REPAIRING)
if(autotile) //Build the floor and include a tile.
@@ -368,14 +368,14 @@
if(F.broken || F.burnt || isplatingturf(F))
toggle_magnet()
mode = BOT_REPAIRING
- visible_message("[src] begins [(F.broken || F.burnt) ? "repairing the floor" : "placing a floor tile"].")
+ visible_message(span_notice("[src] begins [(F.broken || F.burnt) ? "repairing the floor" : "placing a floor tile"]."))
if(do_after(src, 50, target = F) && mode == BOT_REPAIRING)
success = TRUE
else if(replacetiles && tilestack && F.type != tilestack.turf_type)
toggle_magnet()
mode = BOT_REPAIRING
- visible_message("[src] begins replacing the floor tiles.")
+ visible_message(span_notice("[src] begins replacing the floor tiles."))
if(do_after(src, 50, target = target_turf) && mode == BOT_REPAIRING && tilestack)
success = TRUE
@@ -398,7 +398,7 @@
/mob/living/simple_animal/bot/floorbot/explode()
on = FALSE
target = null
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
drop_part(toolbox, Tsec)
diff --git a/code/modules/mob/living/simple_animal/bot/honkbot.dm b/code/modules/mob/living/simple_animal/bot/honkbot.dm
index ec5fde9c398..67cd466d357 100644
--- a/code/modules/mob/living/simple_animal/bot/honkbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/honkbot.dm
@@ -135,9 +135,9 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
..()
if(emagged == 2)
if(user)
- user << "You short out [src]'s sound control system. It gives out an evil laugh!!"
+ user << span_danger("You short out [src]'s sound control system. It gives out an evil laugh!!")
oldtarget_name = user.name
- audible_message("[src] gives out an evil laugh!")
+ audible_message(span_danger("[src] gives out an evil laugh!"))
playsound(src, 'sound/machines/honkbot_evil_laugh.ogg', 75, TRUE, -1) // evil laughter
update_appearance()
@@ -221,8 +221,8 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
log_combat(src,C,"honked")
- C.visible_message("[src] honks [C]!",\
- "[src] honks you!")
+ C.visible_message(span_danger("[src] honks [C]!"),\
+ span_userdanger("[src] honks you!"))
else
C.stuttering = 20
C.Paralyze(80)
@@ -334,7 +334,7 @@ Maintenance panel panel is [open ? "opened" : "closed"]"},
/mob/living/simple_animal/bot/honkbot/explode()
walk_to(src,0)
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
//doesn't drop cardboard nor its assembly, since its a very frail material.
if(prob(50))
diff --git a/code/modules/mob/living/simple_animal/bot/hygienebot.dm b/code/modules/mob/living/simple_animal/bot/hygienebot.dm
index 20ea4497c8d..d5e22600187 100644
--- a/code/modules/mob/living/simple_animal/bot/hygienebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/hygienebot.dm
@@ -53,7 +53,7 @@
/mob/living/simple_animal/bot/hygienebot/explode()
walk_to(src,0)
- visible_message("[src] blows apart in a foamy explosion!")
+ visible_message(span_boldannounce("[src] blows apart in a foamy explosion!"))
do_sparks(3, TRUE, src)
on = FALSE
new /obj/effect/particle_effect/foam(loc)
diff --git a/code/modules/mob/living/simple_animal/bot/medbot.dm b/code/modules/mob/living/simple_animal/bot/medbot.dm
index a8d61a939be..8fcbd24779b 100644
--- a/code/modules/mob/living/simple_animal/bot/medbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/medbot.dm
@@ -218,8 +218,8 @@
if(emagged == 2)
declare_crit = 0
if(user)
- to_chat(user, "You short out [src]'s reagent synthesis circuits.")
- audible_message("[src] buzzes oddly!")
+ to_chat(user, span_notice("You short out [src]'s reagent synthesis circuits."))
+ audible_message(span_danger("[src] buzzes oddly!"))
flick("medibot_spark", src)
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
if(user)
@@ -247,7 +247,7 @@
/mob/living/simple_animal/bot/medbot/proc/tip_over(mob/user)
ADD_TRAIT(src, TRAIT_IMMOBILIZED, BOT_TIPPED_OVER)
playsound(src, 'sound/machines/warning-buzzer.ogg', 50)
- user.visible_message("[user] tips over [src]!", "You tip [src] over!")
+ user.visible_message(span_danger("[user] tips over [src]!"), span_danger("You tip [src] over!"))
mode = BOT_TIPPED
var/matrix/mat = transform
transform = mat.Turn(180)
@@ -258,13 +258,13 @@
var/list/messagevoice
if(user)
- user.visible_message("[user] sets [src] right-side up!", "You set [src] right-side up!")
+ user.visible_message(span_notice("[user] sets [src] right-side up!"), span_green("You set [src] right-side up!"))
if(user.name == tipper_name)
messagevoice = list("I forgive you." = 'sound/voice/medbot/forgive.ogg')
else
messagevoice = list("Thank you!" = 'sound/voice/medbot/thank_you.ogg', "You are a good person." = 'sound/voice/medbot/youre_good.ogg')
else
- visible_message("[src] manages to wriggle enough to right itself.")
+ visible_message(span_notice("[src] manages to wriggle enough to right itself."))
messagevoice = list("Fuck you." = 'sound/voice/medbot/fuck_you.ogg', "Your behavior has been reported, have a nice day." = 'sound/voice/medbot/reported.ogg')
tipper_name = null
if(world.time > last_tipping_action_voice + 15 SECONDS)
@@ -319,9 +319,9 @@
if(MEDBOT_PANIC_MED to MEDBOT_PANIC_HIGH)
. += "They are tipped over and appear visibly distressed." // now we humanize the medbot as a they, not an it
if(MEDBOT_PANIC_HIGH to MEDBOT_PANIC_FUCK)
- . += "They are tipped over and visibly panicking!"
+ . += span_warning("They are tipped over and visibly panicking!")
if(MEDBOT_PANIC_FUCK to INFINITY)
- . += "They are freaking out from being tipped over!"
+ . += span_warning("They are freaking out from being tipped over!")
/mob/living/simple_animal/bot/medbot/handle_automated_action()
if(!..())
@@ -454,11 +454,11 @@
/mob/living/simple_animal/bot/medbot/attack_hand(mob/living/carbon/human/user, list/modifiers)
if(DOING_INTERACTION_WITH_TARGET(user, src))
- to_chat(user, "You're already interacting with [src].")
+ to_chat(user, span_warning("You're already interacting with [src]."))
return
if(LAZYACCESS(modifiers, RIGHT_CLICK) && mode != BOT_TIPPED)
- user.visible_message("[user] begins tipping over [src].", "You begin tipping over [src]...")
+ user.visible_message(span_danger("[user] begins tipping over [src]."), span_warning("You begin tipping over [src]..."))
if(world.time > last_tipping_action_voice + 15 SECONDS)
last_tipping_action_voice = world.time // message for tipping happens when we start interacting, message for righting comes after finishing
@@ -471,7 +471,7 @@
tip_over(user)
else if(!user.combat_mode && mode == BOT_TIPPED)
- user.visible_message("[user] begins righting [src].", "You begin righting [src]...")
+ user.visible_message(span_notice("[user] begins righting [src]."), span_notice("You begin righting [src]..."))
if(do_after(user, 3 SECONDS, target=src))
set_right(user)
else
@@ -540,7 +540,7 @@
if(!treatment_method && emagged != 2) //If they don't need any of that they're probably cured!
if(C.maxHealth - C.get_organic_health() < heal_threshold)
- to_chat(src, "[C] is healthy! Your programming prevents you from tending the wounds of anyone without at least [heal_threshold] damage of any one type ([heal_threshold + 5] for oxygen damage.)")
+ to_chat(src, span_notice("[C] is healthy! Your programming prevents you from tending the wounds of anyone without at least [heal_threshold] damage of any one type ([heal_threshold + 5] for oxygen damage.)"))
var/list/messagevoice = list("All patched up!" = 'sound/voice/medbot/patchedup.ogg',"An apple a day keeps me away." = 'sound/voice/medbot/apple.ogg',"Feel better soon!" = 'sound/voice/medbot/feelbetter.ogg')
var/message = pick(messagevoice)
@@ -549,8 +549,8 @@
bot_reset()
tending = FALSE
else if(patient)
- C.visible_message("[src] is trying to tend the wounds of [patient]!", \
- "[src] is trying to tend your wounds!")
+ C.visible_message(span_danger("[src] is trying to tend the wounds of [patient]!"), \
+ span_userdanger("[src] is trying to tend your wounds!"))
if(do_mob(src, patient, 20)) //Slightly faster than default tend wounds, but does less HPS
if((get_dist(src, patient) <= 1) && (on) && assess_patient(patient))
@@ -565,8 +565,8 @@
else
patient.apply_damage_type((healies*-1),treatment_method) //don't need to check treatment_method since we know by this point that they were actually damaged.
log_combat(src, patient, "tended the wounds of", "internal tools", "([uppertext(treatment_method)])")
- C.visible_message("[src] tends the wounds of [patient]!", \
- "[src] tends your wounds!")
+ C.visible_message(span_notice("[src] tends the wounds of [patient]!"), \
+ "[span_green("[src] tends your wounds!")]")
ADD_TRAIT(patient,TRAIT_MEDIBOTCOMINGTHROUGH,tag)
addtimer(TRAIT_CALLBACK_REMOVE(patient, TRAIT_MEDIBOTCOMINGTHROUGH, tag), (30 SECONDS))
else
@@ -583,7 +583,7 @@
/mob/living/simple_animal/bot/medbot/explode()
on = FALSE
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
drop_part(firstaid, Tsec)
diff --git a/code/modules/mob/living/simple_animal/bot/mulebot.dm b/code/modules/mob/living/simple_animal/bot/mulebot.dm
index e2e6c284ad9..a592cfa716e 100644
--- a/code/modules/mob/living/simple_animal/bot/mulebot.dm
+++ b/code/modules/mob/living/simple_animal/bot/mulebot.dm
@@ -104,12 +104,12 @@
. = ..()
if(open)
if(cell)
- . += "It has \a [cell] installed."
- . += "You can use a crowbar to remove it."
+ . += span_notice("It has \a [cell] installed.")
+ . += span_info("You can use a crowbar to remove it.")
else
- . += "It has an empty compartment where a power cell can be installed."
+ . += span_notice("It has an empty compartment where a power cell can be installed.")
if(load) //observer check is so we don't show the name of the ghost that's sitting on it to prevent metagaming who's ded.
- . += "\A [isobserver(load) ? "ghostly figure" : load] is on its load platform."
+ . += span_notice("\A [isobserver(load) ? "ghostly figure" : load] is on its load platform.")
/mob/living/simple_animal/bot/mulebot/Destroy()
@@ -152,25 +152,25 @@
update_appearance() //this is also handled by turn_off(), so no need to call this twice.
else if(istype(I, /obj/item/stock_parts/cell) && open)
if(cell)
- to_chat(user, "[src] already has a power cell!")
+ to_chat(user, span_warning("[src] already has a power cell!"))
return
if(!user.transferItemToLoc(I, src))
return
cell = I
diag_hud_set_mulebotcell()
- visible_message("[user] inserts \a [cell] into [src].",
- "You insert [cell] into [src].")
+ visible_message(span_notice("[user] inserts \a [cell] into [src]."),
+ span_notice("You insert [cell] into [src]."))
else if(I.tool_behaviour == TOOL_CROWBAR && open && !user.combat_mode)
if(!cell)
- to_chat(user, "[src] doesn't have a power cell!")
+ to_chat(user, span_warning("[src] doesn't have a power cell!"))
return
cell.add_fingerprint(user)
if(Adjacent(user) && !issilicon(user))
user.put_in_hands(cell)
else
cell.forceMove(drop_location())
- visible_message("[user] crowbars [cell] out from [src].",
- "You pry [cell] out of [src].")
+ visible_message(span_notice("[user] crowbars [cell] out from [src]."),
+ span_notice("You pry [cell] out of [src]."))
cell = null
diag_hud_set_mulebotcell()
else if(is_wire_tool(I) && open)
@@ -178,10 +178,10 @@
else if(load && ismob(load)) // chance to knock off rider
if(prob(1 + I.force * 2))
unload(0)
- user.visible_message("[user] knocks [load] off [src] with \the [I]!",
- "You knock [load] off [src] with \the [I]!")
+ user.visible_message(span_danger("[user] knocks [load] off [src] with \the [I]!"),
+ span_danger("You knock [load] off [src] with \the [I]!"))
else
- to_chat(user, "You hit [src] with \the [I] but to no effect!")
+ to_chat(user, span_warning("You hit [src] with \the [I] but to no effect!"))
return ..()
else
return ..()
@@ -191,7 +191,7 @@
emagged = TRUE
if(!open)
locked = !locked
- to_chat(user, "You [locked ? "lock" : "unlock"] [src]'s controls!")
+ to_chat(user, span_notice("You [locked ? "lock" : "unlock"] [src]'s controls!"))
flick("[base_icon]-emagged", src)
playsound(src, "sparks", 100, FALSE, SHORT_RANGE_SOUND_EXTRARANGE)
@@ -227,7 +227,7 @@
if(prob(50) && !isnull(load))
unload(0)
if(prob(25))
- visible_message("Something shorts out inside [src]!")
+ visible_message(span_danger("Something shorts out inside [src]!"))
wires.cut_random()
/mob/living/simple_animal/bot/mulebot/interact(mob/user)
@@ -286,11 +286,11 @@
if(on)
turn_off()
else if(open)
- to_chat(usr, "[name]'s maintenance panel is open!")
+ to_chat(usr, span_warning("[name]'s maintenance panel is open!"))
return
else if(cell)
if(!turn_on())
- to_chat(usr, "You can't switch on [src]!")
+ to_chat(usr, span_warning("You can't switch on [src]!"))
return
. = TRUE
else
@@ -403,16 +403,16 @@
/mob/living/simple_animal/bot/mulebot/proc/buzz(type)
switch(type)
if(SIGH)
- audible_message("[src] makes a sighing buzz.")
+ audible_message(span_hear("[src] makes a sighing buzz."))
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE)
if(ANNOYED)
- audible_message("[src] makes an annoyed buzzing sound.")
+ audible_message(span_hear("[src] makes an annoyed buzzing sound."))
playsound(src, 'sound/machines/buzz-two.ogg', 50, FALSE)
if(DELIGHT)
- audible_message("[src] makes a delighted ping!")
+ audible_message(span_hear("[src] makes a delighted ping!"))
playsound(src, 'sound/machines/ping.ogg', 50, FALSE)
if(CHIME)
- audible_message("[src] makes a chiming sound!")
+ audible_message(span_hear("[src] makes a chiming sound!"))
playsound(src, 'sound/machines/chime.ogg', 50, FALSE)
flick("[base_icon]1", src)
@@ -688,7 +688,7 @@
if(pathset) //The AI called us here, so notify it of our arrival.
loaddir = dir //The MULE will attempt to load a crate in whatever direction the MULE is "facing".
if(calling_ai)
- to_chat(calling_ai, "[icon2html(src, calling_ai)] [src] wirelessly plays a chiming sound!")
+ to_chat(calling_ai, span_notice("[icon2html(src, calling_ai)] [src] wirelessly plays a chiming sound!"))
calling_ai.playsound_local(calling_ai, 'sound/machines/chime.ogg', 40, FALSE)
calling_ai = null
radio_channel = RADIO_CHANNEL_AI_PRIVATE //Report on AI Private instead if the AI is controlling us.
@@ -728,17 +728,17 @@
var/mob/living/L = M
if(wires.is_cut(WIRE_AVOIDANCE)) // usually just bumps, but if the avoidance wire is cut, knocks them over.
if(iscyborg(L))
- visible_message("[src] bumps into [L]!")
+ visible_message(span_danger("[src] bumps into [L]!"))
else if(L.Knockdown(8 SECONDS))
log_combat(src, L, "knocked down")
- visible_message("[src] knocks over [L]!")
+ visible_message(span_danger("[src] knocks over [L]!"))
return ..()
// when mulebot is in the same loc
/mob/living/simple_animal/bot/mulebot/proc/run_over(mob/living/carbon/human/H)
log_combat(src, H, "run over", null, "(DAMTYPE: [uppertext(BRUTE)])")
- H.visible_message("[src] drives over [H]!", \
- "[src] drives over you!")
+ H.visible_message(span_danger("[src] drives over [H]!"), \
+ span_userdanger("[src] drives over you!"))
playsound(src, 'sound/effects/splat.ogg', 50, TRUE)
var/damage = rand(5,15)
@@ -791,7 +791,7 @@
/mob/living/simple_animal/bot/mulebot/explode()
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
new /obj/item/assembly/prox_sensor(Tsec)
@@ -827,7 +827,7 @@
/mob/living/simple_animal/bot/mulebot/insertpai(mob/user, obj/item/paicard/card)
. = ..()
if(.)
- visible_message("[src]'s safeties are locked on.")
+ visible_message(span_notice("[src]'s safeties are locked on."))
/// Checks whether the bot can complete a step_towards, checking whether the bot is on and has the charge to do the move. Returns COMPONENT_MOB_BOT_CANCELSTEP if the bot should not step.
/mob/living/simple_animal/bot/mulebot/proc/check_pre_step(datum/source)
@@ -872,7 +872,7 @@
return
if(isobserver(AM))
- visible_message("A ghostly figure appears on [src]!")
+ visible_message(span_warning("A ghostly figure appears on [src]!"))
RegisterSignal(AM, COMSIG_MOVABLE_MOVED, .proc/ghostmoved)
AM.forceMove(src)
@@ -915,7 +915,7 @@
/mob/living/simple_animal/bot/mulebot/paranormal/proc/ghostmoved()
SIGNAL_HANDLER
- visible_message("The ghostly figure vanishes...")
+ visible_message(span_notice("The ghostly figure vanishes..."))
UnregisterSignal(load, COMSIG_MOVABLE_MOVED)
unload(0)
diff --git a/code/modules/mob/living/simple_animal/bot/secbot.dm b/code/modules/mob/living/simple_animal/bot/secbot.dm
index 7fc9921eb6b..994e23bd7d2 100644
--- a/code/modules/mob/living/simple_animal/bot/secbot.dm
+++ b/code/modules/mob/living/simple_animal/bot/secbot.dm
@@ -119,7 +119,7 @@
base_speed += 3
addtimer(VARSET_CALLBACK(src, base_speed, base_speed - 3), 60)
playsound(src, 'sound/machines/defib_zap.ogg', 50)
- visible_message("[src] shakes and speeds up!")
+ visible_message(span_warning("[src] shakes and speeds up!"))
/mob/living/simple_animal/bot/secbot/set_custom_texts()
text_hack = "You overload [name]'s target identification system."
@@ -210,8 +210,8 @@ Auto Patrol: []"},
// Turns an oversight into a feature. Beepsky will now announce when pacifists taunt him over sec comms.
if(HAS_TRAIT(user, TRAIT_PACIFISM))
- user.visible_message("[user] taunts [src], daring [p_them()] to give chase!", \
- "You taunt [src], daring [p_them()] to chase you!", "You hear someone shout a daring taunt!", DEFAULT_MESSAGE_RANGE, user)
+ user.visible_message(span_notice("[user] taunts [src], daring [p_them()] to give chase!"), \
+ span_notice("You taunt [src], daring [p_them()] to chase you!"), span_hear("You hear someone shout a daring taunt!"), DEFAULT_MESSAGE_RANGE, user)
speak("Taunted by pacifist scumbag [user] in [get_area(src)].", radio_channel)
// Interrupt the attack chain. We've already handled this scenario for pacifists.
@@ -234,9 +234,9 @@ Auto Patrol: []"},
..()
if(emagged == 2)
if(user)
- to_chat(user, "You short out [src]'s target assessment circuits.")
+ to_chat(user, span_danger("You short out [src]'s target assessment circuits."))
oldtarget_name = user.name
- audible_message("[src] buzzes oddly!")
+ audible_message(span_danger("[src] buzzes oddly!"))
declare_arrests = FALSE
update_appearance()
@@ -276,8 +276,8 @@ Auto Patrol: []"},
/mob/living/simple_animal/bot/secbot/proc/cuff(mob/living/carbon/C)
mode = BOT_ARREST
playsound(src, 'sound/weapons/cablecuff.ogg', 30, TRUE, -2)
- C.visible_message("[src] is trying to put zipties on [C]!",\
- "[src] is trying to put zipties on you!")
+ C.visible_message(span_danger("[src] is trying to put zipties on [C]!"),\
+ span_userdanger("[src] is trying to put zipties on you!"))
addtimer(CALLBACK(src, .proc/attempt_handcuff, C), 60)
/mob/living/simple_animal/bot/secbot/proc/attempt_handcuff(mob/living/carbon/C)
@@ -312,8 +312,8 @@ Auto Patrol: []"},
if(declare_arrests)
var/area/location = get_area(src)
speak("[arrest_type ? "Detaining" : "Arresting"] level [threat] scumbag [C] in [location].", radio_channel)
- C.visible_message("[src] stuns [C]!",\
- "[src] stuns you!")
+ C.visible_message(span_danger("[src] stuns [C]!"),\
+ span_userdanger("[src] stuns you!"))
/mob/living/simple_animal/bot/secbot/handle_automated_action()
if(!..())
@@ -462,7 +462,7 @@ Auto Patrol: []"},
/mob/living/simple_animal/bot/secbot/explode()
walk_to(src,0)
- visible_message("[src] blows apart!")
+ visible_message(span_boldannounce("[src] blows apart!"))
var/atom/Tsec = drop_location()
if(ranged)
var/obj/item/bot_assembly/ed209/Sa = new (Tsec)
diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm
index e6906fa1363..2d62c2918c4 100644
--- a/code/modules/mob/living/simple_animal/constructs.dm
+++ b/code/modules/mob/living/simple_animal/constructs.dm
@@ -71,7 +71,7 @@
/mob/living/simple_animal/hostile/construct/Destroy()
QDEL_NULL(our_rune)
return ..()
-
+
/mob/living/simple_animal/hostile/construct/Login()
. = ..()
if(!. || !client)
@@ -84,9 +84,9 @@
. = list("*---------*\nThis is [icon2html(src, user)] \a [src]!\n[desc]")
if(health < maxHealth)
if(health >= maxHealth/2)
- . += "[t_He] look[t_s] slightly dented."
+ . += span_warning("[t_He] look[t_s] slightly dented.")
else
- . += "[t_He] look[t_s] severely dented!"
+ . += span_warning("[t_He] look[t_s] severely dented!")
. += "*---------*"
/mob/living/simple_animal/hostile/construct/attack_animal(mob/living/simple_animal/user, list/modifiers)
@@ -100,16 +100,16 @@
adjustHealth(-5)
if(src != user)
Beam(user, icon_state="sendbeam", time = 4)
- user.visible_message("[user] repairs some of \the [src]'s dents.", \
- "You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health.")
+ user.visible_message(span_danger("[user] repairs some of \the [src]'s dents."), \
+ span_cult("You repair some of [src]'s dents, leaving [src] at [health]/[maxHealth] health."))
else
- user.visible_message("[user] repairs some of [p_their()] own dents.", \
- "You repair some of your own dents, leaving you at [user.health]/[user.maxHealth] health.")
+ user.visible_message(span_danger("[user] repairs some of [p_their()] own dents."), \
+ span_cult("You repair some of your own dents, leaving you at [user.health]/[user.maxHealth] health."))
else
if(src != user)
- to_chat(user, "You cannot repair [src]'s dents, as [p_they()] [p_have()] none!")
+ to_chat(user, span_cult("You cannot repair [src]'s dents, as [p_they()] [p_have()] none!"))
else
- to_chat(user, "You cannot repair your own dents, as you have none!")
+ to_chat(user, span_cult("You cannot repair your own dents, as you have none!"))
else if(src != user)
return ..()
@@ -159,8 +159,8 @@
var/reflectchance = 40 - round(P.damage/3)
if(prob(reflectchance))
apply_damage(P.damage * 0.5, P.damage_type)
- visible_message("The [P.name] is reflected by [src]'s armored shell!", \
- "The [P.name] is reflected by your armored shell!")
+ visible_message(span_danger("The [P.name] is reflected by [src]'s armored shell!"), \
+ span_userdanger("The [P.name] is reflected by your armored shell!"))
// Find a turf near or on the original location to bounce to
if(P.starting)
@@ -422,8 +422,8 @@
if(undismembermerable_limbs) //they have limbs we can't remove, and no parts we can, attack!
return ..()
C.Paralyze(60)
- visible_message("[src] knocks [C] down!")
- to_chat(src, "\"Bring [C.p_them()] to me.\"")
+ visible_message(span_danger("[src] knocks [C] down!"))
+ to_chat(src, span_cultlarge("\"Bring [C.p_them()] to me.\""))
return FALSE
do_attack_animation(C)
var/obj/item/bodypart/BP = pick(parts)
diff --git a/code/modules/mob/living/simple_animal/eldritch_demons.dm b/code/modules/mob/living/simple_animal/eldritch_demons.dm
index e9ae63412be..53ccecb9d46 100644
--- a/code/modules/mob/living/simple_animal/eldritch_demons.dm
+++ b/code/modules/mob/living/simple_animal/eldritch_demons.dm
@@ -81,7 +81,7 @@
if(linked_mobs[mob_linked])
return FALSE
- to_chat(mob_linked, "You feel something new enter your sphere of mind, you hear whispers of people far away, screeches of horror and a huming of welcome to [src]'s Mansus Link.")
+ to_chat(mob_linked, span_notice("You feel something new enter your sphere of mind, you hear whispers of people far away, screeches of horror and a huming of welcome to [src]'s Mansus Link."))
var/datum/action/innate/mansus_speech/action = new(src)
linked_mobs[mob_linked] = action
action.Grant(mob_linked)
@@ -97,7 +97,7 @@
var/datum/action/innate/mansus_speech/action = linked_mobs[mob_linked]
action.Remove(mob_linked)
qdel(action)
- to_chat(mob_linked, "Your mind shatters as the [src]'s Mansus Link leaves your mind.")
+ to_chat(mob_linked, span_notice("Your mind shatters as the [src]'s Mansus Link leaves your mind."))
INVOKE_ASYNC(mob_linked, /mob.proc/emote, "scream")
//micro stun
mob_linked.AdjustParalyzed(0.5 SECONDS)
diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm
index 8368343d61b..7cd350c7e6f 100644
--- a/code/modules/mob/living/simple_animal/friendly/cat.dm
+++ b/code/modules/mob/living/simple_animal/friendly/cat.dm
@@ -229,7 +229,7 @@
for(var/mob/living/simple_animal/mouse/M in view(1,src))
if(istype(M, /mob/living/simple_animal/mouse/brown/tom) && inept_hunter)
if(COOLDOWN_FINISHED(src, emote_cooldown))
- visible_message("[src] chases [M] around, to no avail!")
+ visible_message(span_warning("[src] chases [M] around, to no avail!"))
step(M, pick(GLOB.cardinals))
COOLDOWN_START(src, emote_cooldown, 1 MINUTES)
break
@@ -306,7 +306,7 @@
free cake to the station!")
var/new_name = stripped_input(src, "Enter your name, or press \"Cancel\" to stick with Keeki.", "Name Change")
if(new_name)
- to_chat(src, "Your name is now \"new_name\"!")
+ to_chat(src, span_notice("Your name is now \"new_name\"!"))
name = new_name
/mob/living/simple_animal/pet/cat/cak/Life(delta_time = SSMOBS_DT, times_fired)
diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm
index 1366ede2b7c..88a180558e7 100644
--- a/code/modules/mob/living/simple_animal/friendly/dog.dm
+++ b/code/modules/mob/living/simple_animal/friendly/dog.dm
@@ -195,7 +195,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
return FALSE
if (!ispath(equipping.dog_fashion, /datum/dog_fashion/back))
- to_chat(user, "You set [equipping] on [source]'s back, but it falls off!")
+ to_chat(user, span_warning("You set [equipping] on [source]'s back, but it falls off!"))
equipping.forceMove(source.drop_location())
if (prob(25))
step_rand(equipping)
@@ -241,7 +241,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
return FALSE
if (!istype(equipping, /obj/item/clothing/neck/petcollar))
- to_chat(user, "That's not a collar.")
+ to_chat(user, span_warning("That's not a collar."))
return FALSE
return TRUE
@@ -280,7 +280,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
return FALSE
if (!istype(equipping, /obj/item/card/id))
- to_chat(user, "You can't pin [equipping] to [source]!")
+ to_chat(user, span_warning("You can't pin [equipping] to [source]!"))
return FALSE
return TRUE
@@ -324,14 +324,14 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
/mob/living/simple_animal/pet/dog/corgi/attackby(obj/item/O, mob/user, params)
if (istype(O, /obj/item/razor))
if (shaved)
- to_chat(user, "You can't shave this corgi, it's already been shaved!")
+ to_chat(user, span_warning("You can't shave this corgi, it's already been shaved!"))
return
if (nofur)
- to_chat(user, "You can't shave this corgi, it doesn't have a fur coat!")
+ to_chat(user, span_warning("You can't shave this corgi, it doesn't have a fur coat!"))
return
- user.visible_message("[user] starts to shave [src] using \the [O].", "You start to shave [src] using \the [O]...")
+ user.visible_message(span_notice("[user] starts to shave [src] using \the [O]."), span_notice("You start to shave [src] using \the [O]..."))
if(do_after(user, 50, target = src))
- user.visible_message("[user] shaves [src]'s hair using \the [O].")
+ user.visible_message(span_notice("[user] shaves [src]'s hair using \the [O]."))
playsound(loc, 'sound/items/welder2.ogg', 20, TRUE)
shaved = TRUE
icon_living = "[initial(icon_living)]_shaved"
@@ -352,17 +352,17 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
/mob/living/simple_animal/pet/dog/corgi/proc/place_on_head(obj/item/item_to_add, mob/user)
if(inventory_head)
if(user)
- to_chat(user, "You can't put more than one hat on [src]!")
+ to_chat(user, span_warning("You can't put more than one hat on [src]!"))
return
if(!item_to_add)
- user.visible_message("[user] pets [src].", "You rest your hand on [src]'s head for a moment.")
+ user.visible_message(span_notice("[user] pets [src]."), span_notice("You rest your hand on [src]'s head for a moment."))
if(flags_1 & HOLOGRAM_1)
return
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, src, /datum/mood_event/pet_animal, src)
return
if(user && !user.temporarilyRemoveItemFromInventory(item_to_add))
- to_chat(user, "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!")
+ to_chat(user, span_warning("\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!"))
return
var/valid = FALSE
@@ -373,17 +373,17 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
if(valid)
if(health <= 0)
- to_chat(user, "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()].")
+ to_chat(user, span_notice("There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on [p_them()]."))
else if(user)
- user.visible_message("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once.",
- "You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks.",
- "You hear a friendly-sounding bark.")
+ user.visible_message(span_notice("[user] puts [item_to_add] on [real_name]'s head. [src] looks at [user] and barks once."),
+ span_notice("You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags [p_their()] tail once and barks."),
+ span_hear("You hear a friendly-sounding bark."))
item_to_add.forceMove(src)
src.inventory_head = item_to_add
update_corgi_fluff()
regenerate_icons()
else
- to_chat(user, "You set [item_to_add] on [src]'s head, but it falls off!")
+ to_chat(user, span_warning("You set [item_to_add] on [src]'s head, but it falls off!"))
item_to_add.forceMove(drop_location())
if(prob(25))
step_rand(item_to_add)
@@ -524,7 +524,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
..()
for(var/mob/living/simple_animal/pet/P in range(1, src))
if(P != src && !istype(P,/mob/living/simple_animal/pet/dog/corgi/narsie))
- visible_message("[src] devours [P]!", \
+ visible_message(span_warning("[src] devours [P]!"), \
"DELICIOUS SOULS")
playsound(src, 'sound/magic/demon_attack1.ogg', 75, TRUE)
narsie_act()
@@ -601,7 +601,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
//puppies cannot wear anything.
/mob/living/simple_animal/pet/dog/corgi/puppy/Topic(href, href_list)
if(href_list["remove_inv"] || href_list["add_inv"])
- to_chat(usr, "You can't fit this on [src], [p_they()] [p_are()] too small!")
+ to_chat(usr, span_warning("You can't fit this on [src], [p_they()] [p_are()] too small!"))
return
..()
@@ -657,7 +657,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list(
//Lisa already has a cute bow!
/mob/living/simple_animal/pet/dog/corgi/lisa/Topic(href, href_list)
if(href_list["remove_inv"] || href_list["add_inv"])
- to_chat(usr, "[src] already has a cute bow!")
+ to_chat(usr, span_warning("[src] already has a cute bow!"))
return
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
index 67a7f78dc4c..377a53d59ae 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/_drone.dm
@@ -4,9 +4,9 @@
#define DRONE_TOTAL_LAYERS 2
/// Message displayed when new drone spawns in drone network
-#define DRONE_NET_CONNECT "DRONE NETWORK: [name] connected."
+#define DRONE_NET_CONNECT span_notice("DRONE NETWORK: [name] connected.")
/// Message displayed when drone in network dies
-#define DRONE_NET_DISCONNECT "DRONE NETWORK: [name] is not responding."
+#define DRONE_NET_DISCONNECT span_danger("DRONE NETWORK: [name] is not responding.")
/// Maintenance Drone icon_state (multiple colors)
#define MAINTDRONE "drone_maint"
@@ -282,21 +282,21 @@
//Hacked
if(hacked)
- . += "Its display is glowing red!"
+ . += span_warning("Its display is glowing red!")
//Damaged
if(health != maxHealth)
if(health > maxHealth * 0.33) //Between maxHealth and about a third of maxHealth, between 30 and 10 for normal drones
- . += "Its screws are slightly loose."
+ . += span_warning("Its screws are slightly loose.")
else //otherwise, below about 33%
- . += "Its screws are very loose!"
+ . += span_boldwarning("Its screws are very loose!")
//Dead
if(stat == DEAD)
if(client)
- . += "A message repeatedly flashes on its display: \"REBOOT -- REQUIRED\"."
+ . += span_deadsay("A message repeatedly flashes on its display: \"REBOOT -- REQUIRED\".")
else
- . += "A message repeatedly flashes on its display: \"ERROR -- OFFLINE\"."
+ . += span_deadsay("A message repeatedly flashes on its display: \"ERROR -- OFFLINE\".")
. += "*---------*"
@@ -309,10 +309,10 @@
if(. & EMP_PROTECT_SELF)
return
Stun(100)
- to_chat(src, "ER@%R: MME^RY CO#RU9T! R&$b@0tin)...")
+ to_chat(src, span_danger("ER@%R: MME^RY CO#RU9T! R&$b@0tin)..."))
if(severity == 1)
adjustBruteLoss(heavy_emp_damage)
- to_chat(src, "HeAV% DA%^MMA+G TO I/O CIR!%UUT!")
+ to_chat(src, span_userdanger("HeAV% DA%^MMA+G TO I/O CIR!%UUT!"))
/**
@@ -372,13 +372,13 @@
/mob/living/simple_animal/drone/proc/blacklist_on_try_use_machine(datum/source, obj/machinery/machine)
SIGNAL_HANDLER
if(GLOB.drone_machine_blacklist_enabled && is_type_in_typecache(machine, drone_machinery_blacklist_compiled))
- to_chat(src, "Using [machine] could break your laws.")
+ to_chat(src, span_warning("Using [machine] could break your laws."))
return COMPONENT_CANT_USE_MACHINE_INTERACT | COMPONENT_CANT_USE_MACHINE_TOOLS
/mob/living/simple_animal/drone/proc/blacklist_on_try_wires_interact(datum/source, atom/machine)
SIGNAL_HANDLER
if(GLOB.drone_machine_blacklist_enabled && is_type_in_typecache(machine, drone_machinery_blacklist_compiled))
- to_chat(src, "Using [machine] could break your laws.")
+ to_chat(src, span_warning("Using [machine] could break your laws."))
return COMPONENT_CANT_INTERACT_WIRES
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm
index 20e769dac0d..88fc3b5cd85 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/drone_say.dm
@@ -40,4 +40,4 @@
* Shares the same radio code with binary
*/
/mob/living/simple_animal/drone/proc/drone_chat(msg)
- alert_drones("Drone Chat: [name] [say_quote(msg)]", TRUE)
+ alert_drones("Drone Chat: [span_name("[name]")] [say_quote(msg)]", TRUE)
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
index dcf02562f5f..9b18cd5fa2c 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/drones_as_items.dm
@@ -33,7 +33,7 @@
var/area/A = get_area(src)
if(A)
notify_ghosts("A drone shell has been created in \the [A.name].", source = src, action=NOTIFY_ATTACK, flashwindow = FALSE, ignore_key = POLL_IGNORE_DRONE, notify_suiciders = FALSE)
-
+
/obj/effect/mob_spawn/drone/allow_spawn(mob/user)
var/client/user_client = user.client
var/mob/living/simple_animal/drone/drone_type = mob_type
@@ -51,6 +51,6 @@
if (current_playtime < required_playtime)
var/minutes_left = required_playtime - current_playtime
var/playtime_left = DisplayTimeText(minutes_left * (1 MINUTES))
- to_chat(user, "You need to play [playtime_left] more as [required_role] to spawn as a Maintenance Drone!")
+ to_chat(user, span_danger("You need to play [playtime_left] more as [required_role] to spawn as a Maintenance Drone!"))
return FALSE
return ..()
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
index 38984589c03..5b9a06c168a 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/interaction.dm
@@ -16,16 +16,16 @@
if("Cannibalize")
if(D.health < D.maxHealth)
- D.visible_message("[D] begins to cannibalize parts from [src].", "You begin to cannibalize parts from [src]...")
+ D.visible_message(span_notice("[D] begins to cannibalize parts from [src]."), span_notice("You begin to cannibalize parts from [src]..."))
if(do_after(D, 60, 0, target = src))
- D.visible_message("[D] repairs itself using [src]'s remains!", "You repair yourself using [src]'s remains.")
+ D.visible_message(span_notice("[D] repairs itself using [src]'s remains!"), span_notice("You repair yourself using [src]'s remains."))
D.adjustBruteLoss(-src.maxHealth)
new /obj/effect/decal/cleanable/oil/streak(get_turf(src))
qdel(src)
else
- to_chat(D, "You need to remain still to cannibalize [src]!")
+ to_chat(D, span_warning("You need to remain still to cannibalize [src]!"))
else
- to_chat(D, "You're already in perfect condition!")
+ to_chat(D, span_warning("You're already in perfect condition!"))
if("Nothing")
return
@@ -36,18 +36,18 @@
..()
return
if(user.get_active_held_item())
- to_chat(user, "Your hands are full!")
+ to_chat(user, span_warning("Your hands are full!"))
return
- visible_message("[user] starts picking up [src].", \
- "[user] starts picking you up!")
+ visible_message(span_warning("[user] starts picking up [src]."), \
+ span_userdanger("[user] starts picking you up!"))
if(!do_after(user, 20, target = src))
return
- visible_message("[user] picks up [src]!", \
- "[user] picks you up!")
+ visible_message(span_warning("[user] picks up [src]!"), \
+ span_userdanger("[user] picks you up!"))
if(buckled)
- to_chat(user, "[src] is buckled to [buckled] and cannot be picked up!")
+ to_chat(user, span_warning("[src] is buckled to [buckled] and cannot be picked up!"))
return
- to_chat(user, "You pick [src] up.")
+ to_chat(user, span_notice("You pick [src] up."))
drop_all_held_items()
var/obj/item/clothing/head/mob_holder/drone/DH = new(get_turf(src), src)
DH.slot_flags = worn_slot_flags
@@ -77,37 +77,37 @@
" kernels to function properly","can't start their neurotube console",
)
- to_chat(user, "You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)].")
+ to_chat(user, span_warning("You can't seem to find the [pick(faux_gadgets)]! Without it, [src] [pick(faux_problems)]."))
return
- user.visible_message("[user] begins to reactivate [src].", "You begin to reactivate [src]...")
+ user.visible_message(span_notice("[user] begins to reactivate [src]."), span_notice("You begin to reactivate [src]..."))
if(do_after(user, 30, 1, target = src))
revive(full_heal = TRUE, admin_revive = FALSE)
- user.visible_message("[user] reactivates [src]!", "You reactivate [src].")
+ user.visible_message(span_notice("[user] reactivates [src]!"), span_notice("You reactivate [src]."))
alert_drones(DRONE_NET_CONNECT)
if(G)
- to_chat(G, "You([name]) were reactivated by [user]!")
+ to_chat(G, span_ghostalert("You([name]) were reactivated by [user]!"))
else
- to_chat(user, "You need to remain still to reactivate [src]!")
+ to_chat(user, span_warning("You need to remain still to reactivate [src]!"))
/mob/living/simple_animal/drone/attackby(obj/item/I, mob/user)
if(I.tool_behaviour == TOOL_SCREWDRIVER && stat != DEAD)
if(health < maxHealth)
- to_chat(user, "You start to tighten loose screws on [src]...")
+ to_chat(user, span_notice("You start to tighten loose screws on [src]..."))
if(I.use_tool(src, user, 80))
adjustBruteLoss(-getBruteLoss())
- visible_message("[user] tightens [src == user ? "[user.p_their()]" : "[src]'s"] loose screws!", "You tighten [src == user ? "your" : "[src]'s"] loose screws.")
+ visible_message(span_notice("[user] tightens [src == user ? "[user.p_their()]" : "[src]'s"] loose screws!"), span_notice("You tighten [src == user ? "your" : "[src]'s"] loose screws."))
else
- to_chat(user, "You need to remain still to tighten [src]'s screws!")
+ to_chat(user, span_warning("You need to remain still to tighten [src]'s screws!"))
else
- to_chat(user, "[src]'s screws can't get any tighter!")
+ to_chat(user, span_warning("[src]'s screws can't get any tighter!"))
return //This used to not exist and drones who repaired themselves also stabbed the shit out of themselves.
else if(I.tool_behaviour == TOOL_WRENCH && user != src) //They aren't required to be hacked, because laws can change in other ways (i.e. admins)
- user.visible_message("[user] starts resetting [src]...", \
- "You press down on [src]'s factory reset control...")
+ user.visible_message(span_notice("[user] starts resetting [src]..."), \
+ span_notice("You press down on [src]'s factory reset control..."))
if(I.use_tool(src, user, 50, volume=50))
- user.visible_message("[user] resets [src]!", \
- "You reset [src]'s directives to factory defaults!")
+ user.visible_message(span_notice("[user] resets [src]!"), \
+ span_notice("You reset [src]'s directives to factory defaults!"))
update_drone_hack(FALSE)
return
else
@@ -142,9 +142,9 @@
if(hacked)
return
Stun(40)
- visible_message("[src]'s display glows a vicious red!", \
- "ERROR: LAW OVERRIDE DETECTED")
- to_chat(src, "From now on, these are your laws:")
+ visible_message(span_warning("[src]'s display glows a vicious red!"), \
+ span_userdanger("ERROR: LAW OVERRIDE DETECTED"))
+ to_chat(src, span_boldannounce("From now on, these are your laws:"))
laws = \
"1. You must always involve yourself in the matters of other beings, even if such matters conflict with Law Two or Law Three.\n"+\
"2. You may harm any being, regardless of intent or circumstance.\n"+\
@@ -161,9 +161,9 @@
if(!hacked)
return
Stun(40)
- visible_message("[src]'s display glows a content blue!", \
+ visible_message(span_info("[src]'s display glows a content blue!"), \
"ERROR: LAW OVERRIDE DETECTED")
- to_chat(src, "From now on, these are your laws:")
+ to_chat(src, span_info("From now on, these are your laws:"))
laws = initial(laws)
to_chat(src, laws)
to_chat(src, "Having been restored, your onboard antivirus reports the all-clear and you are able to perform all actions again.")
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
index b204d01ed7c..6ec3f9f3d06 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/inventory.dm
@@ -69,7 +69,7 @@
internal_storage = I
update_inv_internal_storage()
else
- to_chat(src, "You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")
+ to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!"))
return
//Call back for item being equipped to drone
diff --git a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm
index ff12f2676b0..da54c6a81cd 100644
--- a/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm
+++ b/code/modules/mob/living/simple_animal/friendly/drone/verbs.dm
@@ -36,5 +36,5 @@
var/area/A = get_area(loc)
if(alert_s && A && stat != DEAD)
- var/msg = "DRONE PING: [name]: [alert_s] priority alert in [A.name]!"
+ var/msg = span_boldnotice("DRONE PING: [name]: [alert_s] priority alert in [A.name]!")
alert_drones(msg)
diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
index 2e24c8d9377..24a271f52ca 100644
--- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
+++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm
@@ -51,7 +51,7 @@
if(enemies.len && DT_PROB(5, delta_time))
clear_enemies()
LoseTarget()
- src.visible_message("[src] calms down.")
+ src.visible_message(span_notice("[src] calms down."))
if(stat != CONSCIOUS)
return
@@ -66,7 +66,7 @@
/mob/living/simple_animal/hostile/retaliate/goat/Retaliate()
..()
- src.visible_message("[src] gets an evil-looking gleam in [p_their()] eye.")
+ src.visible_message(span_danger("[src] gets an evil-looking gleam in [p_their()] eye."))
/mob/living/simple_animal/hostile/retaliate/goat/Move()
. = ..()
@@ -94,8 +94,8 @@
var/mob/living/carbon/human/H = target
if(istype(H.dna.species, /datum/species/pod))
var/obj/item/bodypart/NB = pick(H.bodyparts)
- H.visible_message("[src] takes a big chomp out of [H]!", \
- "[src] takes a big chomp out of your [NB]!")
+ H.visible_message(span_warning("[src] takes a big chomp out of [H]!"), \
+ span_userdanger("[src] takes a big chomp out of your [NB]!"))
NB.dismember()
//cow
/mob/living/simple_animal/cow
@@ -152,9 +152,9 @@
/mob/living/simple_animal/cow/attack_hand(mob/living/carbon/user, list/modifiers)
if(!stat && LAZYACCESS(modifiers, RIGHT_CLICK) && icon_state != icon_dead)
- user.visible_message("[user] tips over [src].",
- "You tip over [src].")
- to_chat(src, "You are tipped over by [user]!")
+ user.visible_message(span_warning("[user] tips over [src]."),
+ span_notice("You tip over [src]."))
+ to_chat(src, span_userdanger("You are tipped over by [user]!"))
Paralyze(60, ignore_canstun = TRUE)
icon_state = icon_dead
addtimer(CALLBACK(src, .proc/cow_tipped, user), rand(20,50))
@@ -176,8 +176,8 @@
else
external = "[src] seems resigned to its fate."
internal = "You resign yourself to your fate."
- visible_message("[external]",
- "[internal]")
+ visible_message(span_notice("[external]"),
+ span_revennotice("[internal]"))
///Wisdom cow, gives XP to a random skill and speaks wisdoms
/mob/living/simple_animal/cow/wisdom
@@ -196,7 +196,7 @@
///Give intense wisdom to the attacker if they're being friendly about it
/mob/living/simple_animal/cow/wisdom/attack_hand(mob/living/carbon/user, list/modifiers)
if(!stat && !user.combat_mode)
- to_chat(user, "[src] whispers you some intense wisdoms and then disappears!")
+ to_chat(user, span_nicegreen("[src] whispers you some intense wisdoms and then disappears!"))
user.mind?.adjust_experience(pick(GLOB.skill_types), 500)
do_smoke(1, get_turf(src))
qdel(src)
@@ -333,7 +333,7 @@
if(isturf(loc))
amount_grown += rand(1,2) * delta_time
if(amount_grown >= 200)
- visible_message("[src] hatches with a quiet cracking sound.")
+ visible_message(span_notice("[src] hatches with a quiet cracking sound."))
new /mob/living/simple_animal/chick(get_turf(src))
STOP_PROCESSING(SSobj, src)
qdel(src)
diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm
index 84387d75f16..8ff911aabbc 100644
--- a/code/modules/mob/living/simple_animal/friendly/lizard.dm
+++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm
@@ -41,7 +41,7 @@
/mob/living/simple_animal/hostile/lizard/AttackingTarget()
if(is_type_in_typecache(target,edibles)) //Makes sure player lizards only consume edibles.
- visible_message("[name] consumes [target] in a single gulp.", "You consume [target] in a single gulp.")
+ visible_message(span_notice("[name] consumes [target] in a single gulp."), span_notice("You consume [target] in a single gulp."))
QDEL_NULL(target) //Nom
adjustBruteLoss(-2)
return TRUE
diff --git a/code/modules/mob/living/simple_animal/friendly/mouse.dm b/code/modules/mob/living/simple_animal/friendly/mouse.dm
index 8068f7c8703..286aeae1e88 100644
--- a/code/modules/mob/living/simple_animal/friendly/mouse.dm
+++ b/code/modules/mob/living/simple_animal/friendly/mouse.dm
@@ -69,7 +69,7 @@
/mob/living/simple_animal/mouse/revive(full_heal = FALSE, admin_revive = FALSE)
var/cap = CONFIG_GET(number/ratcap)
if(!admin_revive && !ckey && LAZYLEN(SSmobs.cheeserats) >= cap)
- visible_message("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!")
+ visible_message(span_warning("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!"))
return FALSE
. = ..()
if(.)
@@ -80,7 +80,7 @@
if(ishuman(AM))
if(!stat)
var/mob/M = AM
- to_chat(M, "[icon2html(src, M)] Squeak!")
+ to_chat(M, span_notice("[icon2html(src, M)] Squeak!"))
if(istype(AM, /obj/item/food/cheese/royal))
evolve()
qdel(AM)
@@ -93,10 +93,10 @@
if(C && prob(15))
var/powered = C.avail()
if(powered && !HAS_TRAIT(src, TRAIT_SHOCKIMMUNE))
- visible_message("[src] chews through the [C]. It's toast!")
+ visible_message(span_warning("[src] chews through the [C]. It's toast!"))
death(toast = TRUE)
else
- visible_message("[src] chews through the [C].")
+ visible_message(span_warning("[src] chews through the [C]."))
C.deconstruct()
if(powered)
@@ -118,9 +118,9 @@
. = ..()
if(istype(A, /obj/item/food/cheese) && canUseTopic(A, BE_CLOSE, NO_DEXTERITY))
if(health == maxHealth)
- to_chat(src,"You don't need to eat or heal.")
+ to_chat(src,span_warning("You don't need to eat or heal."))
return
- to_chat(src,"You nibble some cheese, restoring your health.")
+ to_chat(src,span_green("You nibble some cheese, restoring your health."))
adjustHealth(-(maxHealth-health))
qdel(A)
return
@@ -132,18 +132,18 @@
/mob/living/simple_animal/mouse/proc/be_fruitful()
var/cap = CONFIG_GET(number/ratcap)
if(LAZYLEN(SSmobs.cheeserats) >= cap)
- visible_message("[src] carefully eats the cheese, hiding it from the [cap] mice on the station!")
+ visible_message(span_warning("[src] carefully eats the cheese, hiding it from the [cap] mice on the station!"))
return
var/mob/living/newmouse = new /mob/living/simple_animal/mouse(loc)
SSmobs.cheeserats += newmouse
- visible_message("[src] nibbles through the cheese, attracting another mouse!")
+ visible_message(span_notice("[src] nibbles through the cheese, attracting another mouse!"))
/**
*Spawns a new regal rat, says some good jazz, and if sentient, transfers the relivant mind.
*/
/mob/living/simple_animal/mouse/proc/evolve()
var/mob/living/simple_animal/hostile/regalrat/regalrat = new /mob/living/simple_animal/hostile/regalrat/controlled(loc)
- visible_message("[src] devours the cheese! He morphs into something... greater!")
+ visible_message(span_warning("[src] devours the cheese! He morphs into something... greater!"))
INVOKE_ASYNC(regalrat, /atom/movable/proc/say, "RISE, MY SUBJECTS! SCREEEEEEE!")
if(mind)
mind.transfer_to(regalrat)
@@ -207,16 +207,16 @@
/obj/item/food/deadmouse/examine(mob/user)
. = ..()
if (reagents?.has_reagent(/datum/reagent/yuck) || reagents?.has_reagent(/datum/reagent/fuel))
- . += "It's dripping with fuel and smells terrible."
+ . += span_warning("It's dripping with fuel and smells terrible.")
/obj/item/food/deadmouse/attackby(obj/item/I, mob/living/user, params)
if(I.get_sharpness() && user.combat_mode)
if(isturf(loc))
new /obj/item/food/meat/slab/mouse(loc)
- to_chat(user, "You butcher [src].")
+ to_chat(user, span_notice("You butcher [src]."))
qdel(src)
else
- to_chat(user, "You need to put [src] on a surface to butcher it!")
+ to_chat(user, span_warning("You need to put [src] on a surface to butcher it!"))
else
return ..()
@@ -226,10 +226,10 @@
var/datum/reagents/target_reagents = target.reagents
var/trans_amount = reagents.maximum_volume - reagents.total_volume * (4 / 3)
if(target_reagents.has_reagent(/datum/reagent/fuel) && target_reagents.trans_to(src, trans_amount))
- to_chat(user, "You dip [src] into [target].")
+ to_chat(user, span_notice("You dip [src] into [target]."))
reagents.trans_to(target, reagents.total_volume)
else
- to_chat(user, "That's a terrible idea.")
+ to_chat(user, span_warning("That's a terrible idea."))
else
return ..()
diff --git a/code/modules/mob/living/simple_animal/friendly/pet.dm b/code/modules/mob/living/simple_animal/friendly/pet.dm
index b147989d019..4b63124b639 100644
--- a/code/modules/mob/living/simple_animal/friendly/pet.dm
+++ b/code/modules/mob/living/simple_animal/friendly/pet.dm
@@ -19,7 +19,7 @@
return
pcollar = P
regenerate_icons()
- to_chat(user, "You put the [P] around [src]'s neck.")
+ to_chat(user, span_notice("You put the [P] around [src]'s neck."))
if(P.tagname && !unique_pet)
fully_replace_character_name(null, "\proper [P.tagname]")
@@ -30,7 +30,7 @@
if(istype(O, /obj/item/newspaper))
if(!stat)
- user.visible_message("[user] baps [name] on the nose with the rolled up [O].")
+ user.visible_message(span_notice("[user] baps [name] on the nose with the rolled up [O]."))
dance_rotate(src)
else
..()
diff --git a/code/modules/mob/living/simple_animal/friendly/robot_customer.dm b/code/modules/mob/living/simple_animal/friendly/robot_customer.dm
index 3bef44589dc..bc0a964be9c 100644
--- a/code/modules/mob/living/simple_animal/friendly/robot_customer.dm
+++ b/code/modules/mob/living/simple_animal/friendly/robot_customer.dm
@@ -90,4 +90,4 @@
. = ..()
if(ai_controller.blackboard[BB_CUSTOMER_CURRENT_ORDER])
var/datum/venue/attending_venue = ai_controller.blackboard[BB_CUSTOMER_ATTENDING_VENUE]
- . += "Their order was: \"[attending_venue.order_food_line(ai_controller.blackboard[BB_CUSTOMER_CURRENT_ORDER])].\""
+ . += span_notice("Their order was: \"[attending_venue.order_food_line(ai_controller.blackboard[BB_CUSTOMER_CURRENT_ORDER])].\"")
diff --git a/code/modules/mob/living/simple_animal/friendly/snake.dm b/code/modules/mob/living/simple_animal/friendly/snake.dm
index 4843caa2056..2da33569988 100644
--- a/code/modules/mob/living/simple_animal/friendly/snake.dm
+++ b/code/modules/mob/living/simple_animal/friendly/snake.dm
@@ -60,7 +60,7 @@
/mob/living/simple_animal/hostile/retaliate/snake/AttackingTarget()
if(istype(target, /mob/living/simple_animal/mouse))
- visible_message("[name] consumes [target] in a single gulp!", "You consume [target] in a single gulp!")
+ visible_message(span_notice("[name] consumes [target] in a single gulp!"), span_notice("You consume [target] in a single gulp!"))
QDEL_NULL(target)
adjustBruteLoss(-2)
else
diff --git a/code/modules/mob/living/simple_animal/friendly/trader.dm b/code/modules/mob/living/simple_animal/friendly/trader.dm
index 9825b95691f..fb64422b1d3 100644
--- a/code/modules/mob/living/simple_animal/friendly/trader.dm
+++ b/code/modules/mob/living/simple_animal/friendly/trader.dm
@@ -142,7 +142,7 @@
*/
/mob/living/simple_animal/hostile/retaliate/trader/proc/try_buy(mob/user, obj/item/item_to_buy)
var/cost = products[item_to_buy]
- to_chat(user, "It will cost you [cost] credits to buy \the [initial(item_to_buy.name)]. Are you sure you want to buy it?")
+ to_chat(user, span_notice("It will cost you [cost] credits to buy \the [initial(item_to_buy.name)]. Are you sure you want to buy it?"))
var/list/npc_options = list(
"Yes" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_yes"),
"No" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_no")
@@ -183,7 +183,7 @@
if(!cost)
return FALSE
say(interestedphrase)
- to_chat(user, "You will receive [cost] credits for each one of [sellitem].")
+ to_chat(user, span_notice("You will receive [cost] credits for each one of [sellitem]."))
var/list/npc_options = list(
"Yes" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_yes"),
"No" = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_no")
diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm
index 920eaef56a1..ed09aaf2006 100644
--- a/code/modules/mob/living/simple_animal/guardian/guardian.dm
+++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm
@@ -139,9 +139,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
if(!summoner)
to_chat(src, "For some reason, somehow, you have no summoner. Please report this bug immediately.")
return
- to_chat(src, "You are a [real_name], bound to serve [summoner.real_name].")
- to_chat(src, "You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there.")
- to_chat(src, "While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself.")
+ to_chat(src, span_holoparasite("You are a [real_name], bound to serve [summoner.real_name]."))
+ to_chat(src, span_holoparasite("You are capable of manifesting or recalling to your master with the buttons on your HUD. You will also find a button to communicate with [summoner.p_them()] privately there."))
+ to_chat(src, span_holoparasite("While personally invincible, you will die if [summoner.real_name] does, and any damage dealt to you will have a portion passed on to [summoner.p_them()] as you feed upon [summoner.p_them()] to sustain yourself."))
to_chat(src, playstyle_string)
if(!guardiancolor)
guardianrename()
@@ -150,7 +150,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/proc/guardianrecolor()
guardiancolor = input(src,"What would you like your color to be?","Choose Your Color","#ffffff") as color|null
if(!guardiancolor) //redo proc until we get a color
- to_chat(src, "Not a valid color, please try again.")
+ to_chat(src, span_warning("Not a valid color, please try again."))
guardianrecolor()
return
if(!recolorentiresprite)
@@ -163,10 +163,10 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/proc/guardianrename()
var/new_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN)))
if(!new_name) //redo proc until we get a good name
- to_chat(src, "Not a valid name, please try again.")
+ to_chat(src, span_warning("Not a valid name, please try again."))
guardianrename()
return
- visible_message("Your new name [new_name] anchors itself in your mind.")
+ visible_message(span_notice("Your new name [span_name("[new_name]")] anchors itself in your mind."))
fully_replace_character_name(null, new_name)
/mob/living/simple_animal/hostile/guardian/Life(delta_time = SSMOBS_DT, times_fired) //Dies if the summoner dies
@@ -177,9 +177,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
if(!QDELETED(summoner))
if(summoner.stat == DEAD)
forceMove(summoner.loc)
- to_chat(src, "Your summoner has died!")
- visible_message("\The [src] dies along with its user!")
- summoner.visible_message("[summoner]'s body is completely consumed by the strain of sustaining [src]!")
+ to_chat(src, span_danger("Your summoner has died!"))
+ visible_message(span_danger("\The [src] dies along with its user!"))
+ summoner.visible_message(span_danger("[summoner]'s body is completely consumed by the strain of sustaining [src]!"))
for(var/obj/item/W in summoner)
if(!summoner.dropItemToGround(W))
qdel(W)
@@ -187,8 +187,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
death(TRUE)
qdel(src)
else
- 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!"))
death(TRUE)
qdel(src)
snapback()
@@ -214,8 +214,8 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
if(get_dist(get_turf(summoner),get_turf(src)) <= range)
return
else
- to_chat(src, "You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")
- visible_message("\The [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("\The [src] jumps back to its user."))
if(istype(summoner.loc, /obj/effect))
Recall(TRUE)
else
@@ -231,7 +231,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/AttackingTarget()
if(!is_deployed())
- to_chat(src, "You must be manifested to attack!")
+ to_chat(src, "[span_danger("
You must be manifested to attack!")]")
return FALSE
else
return ..()
@@ -240,7 +240,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
drop_all_held_items()
..()
if(summoner)
- to_chat(summoner, "
Your [name] died somehow!")
+ to_chat(summoner, "[span_danger("
Your [name] died somehow!")]")
summoner.dust()
/mob/living/simple_animal/hostile/guardian/update_health_hud()
@@ -259,11 +259,11 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
return FALSE
summoner.adjustBruteLoss(amount)
if(amount > 0)
- to_chat(summoner, "
Your [name] is under attack! You take damage!")
- summoner.visible_message("
Blood sprays from [summoner] as [src] takes damage!")
+ to_chat(summoner, "[span_danger("
Your [name] is under attack! You take damage!")]")
+ summoner.visible_message(span_danger("
Blood sprays from [summoner] as [src] takes damage!"))
switch(summoner.stat)
if(UNCONSCIOUS, HARD_CRIT)
- 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(amount * 0.5) //dying hosts take 50% bonus damage as cloneloss
update_health_hud()
@@ -279,7 +279,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
/mob/living/simple_animal/hostile/guardian/gib()
if(summoner)
- to_chat(summoner, "
Your [src] was blown up!")
+ to_chat(summoner, "[span_danger("
Your [src] was blown up!")]")
summoner.gib()
ghostize()
qdel(src)
@@ -368,15 +368,15 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
return TRUE
/mob/living/simple_animal/hostile/guardian/proc/ToggleMode()
- to_chat(src, "
You don't have another mode!")
+ to_chat(src, "[span_danger("
You don't have another mode!")]")
/mob/living/simple_animal/hostile/guardian/proc/ToggleLight()
if(!light_on)
- to_chat(src, "
You activate your light.")
+ to_chat(src, span_notice("You activate your light."))
set_light_on(TRUE)
else
- to_chat(src, "
You deactivate your light.")
+ to_chat(src, span_notice("You deactivate your light."))
set_light_on(FALSE)
@@ -454,11 +454,11 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
if(guardians.len)
var/mob/living/simple_animal/hostile/guardian/G = input(src, "Pick the guardian you wish to reset", "Guardian Reset") as null|anything in sortNames(guardians)
if(G)
- to_chat(src, "
You attempt to reset [G.real_name]'s personality...")
+ to_chat(src, span_holoparasite("You attempt to reset
[G.real_name]'s personality..."))
var/list/mob/dead/observer/candidates = pollGhostCandidates("Do you want to play as [src.real_name]'s [G.real_name]?", ROLE_PAI, FALSE, 100)
if(LAZYLEN(candidates))
var/mob/dead/observer/C = pick(candidates)
- to_chat(G, "
Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance.")
+ to_chat(G, span_holoparasite("Your user reset you, and your body was taken over by a ghost. Looks like they weren't happy with your performance."))
to_chat(src, "
Your [G.real_name] has been successfully reset.")
message_admins("[key_name_admin(C)] has taken control of ([ADMIN_LOOKUPFLW(G)])")
G.ghostize(0)
@@ -468,20 +468,20 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
G.reset = 1
switch(G.theme)
if("tech")
- to_chat(src, "
[G.real_name] is now online!")
+ to_chat(src, span_holoparasite("
[G.real_name] is now online!"))
if("magic")
- to_chat(src, "
[G.real_name] has been summoned!")
+ to_chat(src, span_holoparasite("
[G.real_name] has been summoned!"))
if("carp")
- to_chat(src, "
[G.real_name] has been caught!")
+ to_chat(src, span_holoparasite("
[G.real_name] has been caught!"))
if("miner")
- to_chat(src, "
[G.real_name] has appeared!")
+ to_chat(src, span_holoparasite("
[G.real_name] has appeared!"))
guardians -= G
if(!guardians.len)
remove_verb(src, /mob/living/proc/guardian_reset)
else
- to_chat(src, "
There were no ghosts willing to take control of [G.real_name]. Looks like you're stuck with it for now.")
+ to_chat(src, span_holoparasite("There were no ghosts willing to take control of
[G.real_name]. Looks like you're stuck with it for now."))
else
- to_chat(src, "
You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"].")
+ to_chat(src, span_holoparasite("You decide not to reset [guardians.len > 1 ? "any of your guardians":"your guardian"]."))
else
remove_verb(src, /mob/living/proc/guardian_reset)
@@ -520,11 +520,11 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
/obj/item/guardiancreator/attack_self(mob/living/user)
if(isguardian(user) && !allowguardian)
- to_chat(user, "
[mob_name] chains are not allowed.")
+ to_chat(user, span_holoparasite("[mob_name] chains are not allowed."))
return
var/list/guardians = user.hasparasites()
if(guardians.len && !allowmultiple)
- to_chat(user, "
You already have a [mob_name]!")
+ to_chat(user, span_holoparasite("You already have a [mob_name]!"))
return
if(user.mind && user.mind.has_antag_datum(/datum/antagonist/changeling) && !allowling)
to_chat(user, "[ling_failure]")
@@ -592,7 +592,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
var/list/guardians = user.hasparasites()
if(guardians.len && !allowmultiple)
- to_chat(user, "
You already have a [mob_name]!" )
+ to_chat(user, span_holoparasite("You already have a [mob_name]!") )
used = FALSE
return
var/mob/living/simple_animal/hostile/guardian/G = new pickedtype(user, theme)
@@ -604,16 +604,16 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians
switch(theme)
if("tech")
to_chat(user, "[G.tech_fluff_string]")
- to_chat(user, "
[G.real_name] is now online!")
+ to_chat(user, span_holoparasite("
[G.real_name] is now online!"))
if("magic")
to_chat(user, "[G.magic_fluff_string]")
- to_chat(user, "
[G.real_name] has been summoned!")
+ to_chat(user, span_holoparasite("
[G.real_name] has been summoned!"))
if("carp")
to_chat(user, "[G.carp_fluff_string]")
- to_chat(user, "
[G.real_name] has been caught!")
+ to_chat(user, span_holoparasite("
[G.real_name] has been caught!"))
if("miner")
to_chat(user, "[G.miner_fluff_string]")
- to_chat(user, "
[G.real_name] has appeared!")
+ to_chat(user, span_holoparasite("
[G.real_name] has appeared!"))
add_verb(user, list(/mob/living/proc/guardian_comm, \
/mob/living/proc/guardian_recall, \
/mob/living/proc/guardian_reset))
diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
index 7584661ecc0..e283ec2914d 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm
@@ -57,16 +57,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("
\The [src] suddenly appears!")
+ visible_message(span_danger("\The [src] suddenly appears!"))
stealthcooldown = world.time + initial(stealthcooldown) //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(src.loc == summoner)
- to_chat(src, "
You have to be manifested to enter stealth!")
+ to_chat(src, "[span_danger("
You have to be manifested to enter stealth!")]")
return
melee_damage_lower = 50
melee_damage_upper = 50
@@ -76,11 +76,11 @@
new /obj/effect/temp_visual/guardian/phase/out(get_turf(src))
alpha = 15
if(!forced)
- to_chat(src, "
You enter stealth, empowering your next attack.")
+ to_chat(src, "[span_danger("
You enter stealth, empowering your next attack.")]")
updatestealthalert()
toggle = TRUE
else if(!forced)
- to_chat(src, "
You cannot yet enter stealth, wait another [DisplayTimeText(stealthcooldown - world.time)]!")
+ to_chat(src, "[span_danger("
You cannot yet enter stealth, wait another [DisplayTimeText(stealthcooldown - world.time)]!")]")
/mob/living/simple_animal/hostile/guardian/assassin/proc/updatestealthalert()
if(stealthcooldown <= world.time)
diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm
index 55ef6644a99..4de21bcf8cc 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm
@@ -26,7 +26,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
@@ -64,7 +64,7 @@
blocked = TRUE
if(!blocked)
L.drop_all_held_items()
- 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, TRUE)
shake_camera(L, 4, 3)
diff --git a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
index 680b81d269b..70db007d955 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/dextrous.dm
@@ -67,7 +67,7 @@
internal_storage = I
update_inv_internal_storage()
else
- to_chat(src, "
You are trying to equip this item to an unsupported inventory slot. Report this to a coder!")
+ to_chat(src, span_danger("You are trying to equip this item to an unsupported inventory slot. Report this to a coder!"))
/mob/living/simple_animal/hostile/guardian/dextrous/getBackSlot()
return ITEM_SLOT_DEX_STORAGE
diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
index 037bb3001b4..5f551400331 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm
@@ -41,17 +41,17 @@
if(!istype(A))
return
if(loc == summoner)
- to_chat(src, "
You must be manifested to create bombs!")
+ to_chat(src, span_danger("
You must be manifested to create bombs!"))
return
if(isobj(A) && Adjacent(A))
if(bomb_cooldown <= world.time && !stat)
- to_chat(src, "
Success! Bomb armed!")
+ to_chat(src, span_danger("
Success! Bomb armed!"))
bomb_cooldown = world.time + 200
RegisterSignal(A, COMSIG_PARENT_EXAMINE, .proc/display_examine)
RegisterSignal(A, boom_signals, .proc/kaboom)
addtimer(CALLBACK(src, .proc/disable, A), 600, TIMER_UNIQUE|TIMER_OVERRIDE)
else
- to_chat(src, "
Your powers are on cooldown! You must wait 20 seconds between bombs.")
+ to_chat(src, span_danger("
Your powers are on cooldown! You must wait 20 seconds between bombs."))
/mob/living/simple_animal/hostile/guardian/bomb/proc/kaboom(atom/source, mob/living/explodee)
SIGNAL_HANDLER
@@ -59,8 +59,8 @@
return
if(explodee == src || explodee == summoner || hasmatchingsummoner(explodee))
return
- to_chat(explodee, "
[source] was boobytrapped!")
- to_chat(src, "
Success! Your trap caught [explodee]")
+ to_chat(explodee, span_danger("
[source] was boobytrapped!"))
+ to_chat(src, span_danger("
Success! Your trap caught [explodee]"))
var/turf/T = get_turf(source)
playsound(T,'sound/effects/explosion2.ogg', 200, TRUE)
new /obj/effect/temp_visual/explosion(T)
@@ -68,11 +68,11 @@
UNREGISTER_BOMB_SIGNALS(source)
/mob/living/simple_animal/hostile/guardian/bomb/proc/disable(atom/A)
- to_chat(src, "
Failure! Your trap didn't catch anyone this time.")
+ to_chat(src, span_danger("
Failure! Your trap didn't catch anyone this time."))
UNREGISTER_BOMB_SIGNALS(A)
/mob/living/simple_animal/hostile/guardian/bomb/proc/display_examine(datum/source, mob/user, text)
SIGNAL_HANDLER
- text += "
It glows with a strange light!"
+ text += span_holoparasite("It glows with a strange
light!")
#undef UNREGISTER_BOMB_SIGNALS
diff --git a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm
index 352262a48ee..d5b904fa201 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/gravitokinetic.dm
@@ -20,17 +20,17 @@
/mob/living/simple_animal/hostile/guardian/gravitokinetic/AttackingTarget()
. = ..()
if(isliving(target) && target != src && target != summoner)
- to_chat(src, "
Your punch has applied heavy gravity to [target]!")
+ to_chat(src, "[span_danger("
Your punch has applied heavy gravity to [target]!")]")
add_gravity(target, 5)
- to_chat(target, "
Everything feels really heavy!")
+ to_chat(target, span_userdanger("Everything feels really heavy!"))
/mob/living/simple_animal/hostile/guardian/gravitokinetic/AltClickOn(atom/A)
if(isopenturf(A) && is_deployed() && stat != DEAD && in_range(src, A) && !incapacitated())
var/turf/T = A
if(isspaceturf(T))
- to_chat(src, "
You cannot add gravity to space!")
+ to_chat(src, span_warning("You cannot add gravity to space!"))
return
- visible_message("
[src] slams their fist into the [T]!", "
You modify the gravity of the [T].")
+ visible_message(span_danger("[src] slams their fist into the [T]!"), span_notice("You modify the gravity of the [T]."))
do_attack_animation(T)
add_gravity(T, 3)
return
@@ -38,7 +38,7 @@
/mob/living/simple_animal/hostile/guardian/gravitokinetic/Recall(forced)
. = ..()
- to_chat(src, "
You have released your gravitokinetic powers!")
+ to_chat(src, "[span_danger("
You have released your gravitokinetic powers!")]")
for(var/i in gravito_targets)
remove_gravity(i)
diff --git a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
index 837ab08c374..14a331d215f 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/lightning.dm
@@ -105,9 +105,9 @@
if(successfulshocks > 4)
L.electrocute_act(0)
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_hear("You hear a heavy electrical crack.") \
)
L.adjustFireLoss(1.2) //adds up very rapidly
. = 1
diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
index b042372af21..4f8b458c9ab 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm
@@ -20,7 +20,7 @@
if(QDELETED(src))
return FALSE
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/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
. = ..()
@@ -40,7 +40,7 @@
melee_damage_upper = initial(melee_damage_upper)
speed = initial(speed)
damage_coeff = list(BRUTE = 0.4, BURN = 0.4, TOX = 0.4, CLONE = 0.4, STAMINA = 0, OXY = 0.4)
- to_chat(src, "
You switch to combat mode.")
+ to_chat(src, "[span_danger("
You switch to combat mode.")]")
toggle = FALSE
else
var/mutable_appearance/shield_overlay = mutable_appearance('icons/effects/effects.dmi', "shield-grey")
@@ -51,7 +51,7 @@
melee_damage_upper = 2
speed = 1
damage_coeff = list(BRUTE = 0.05, BURN = 0.05, TOX = 0.05, CLONE = 0.05, STAMINA = 0, OXY = 0.05) //damage? what's damage?
- to_chat(src, "
You switch to protection mode.")
+ to_chat(src, "[span_danger("
You switch to protection mode.")]")
toggle = TRUE
/mob/living/simple_animal/hostile/guardian/protector/snapback() //snap to what? snap to the guardian!
@@ -60,12 +60,12 @@
return
else
if(istype(summoner.loc, /obj/effect))
- to_chat(src, "
You moved out of range, and were pulled back! You can only move [range] meters from [summoner.real_name]!")
- visible_message("
\The [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("\The [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 [real_name]!")
- summoner.visible_message("
\The [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
[real_name]!"))
+ summoner.visible_message(span_danger("\The [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))
diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm
index 98b2c2c7733..09532c12322 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm
@@ -39,7 +39,7 @@
environment_smash = initial(environment_smash)
alpha = 255
range = initial(range)
- to_chat(src, "
You switch to combat mode.")
+ to_chat(src, "[span_danger("
You switch to combat mode.")]")
toggle = FALSE
else
ranged = 0
@@ -49,10 +49,10 @@
environment_smash = ENVIRONMENT_SMASH_NONE
alpha = 45
range = 255
- 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/Shoot(atom/targeted_atom)
. = ..()
@@ -77,7 +77,7 @@
lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE
msg = "You deactivate your night vision."
- to_chat(src, "
[msg]")
+ to_chat(src, span_notice("[msg]"))
/mob/living/simple_animal/hostile/guardian/ranged/verb/Snare()
@@ -90,9 +90,9 @@
S.spawner = src
S.name = "[get_area(snare_loc)] snare ([rand(1, 1000)])"
snares |= S
- to_chat(src, "
Surveillance snare deployed!")
+ to_chat(src, "[span_danger("
Surveillance snare deployed!")]")
else
- to_chat(src, "
You have too many snares deployed. Remove some first.")
+ to_chat(src, "[span_danger("
You have too many snares deployed. Remove some first.")]")
/mob/living/simple_animal/hostile/guardian/ranged/verb/DisarmSnare()
set name = "Remove Surveillance Snare"
@@ -102,7 +102,7 @@
if(picked_snare)
snares -= picked_snare
qdel(picked_snare)
- to_chat(src, "
Snare disarmed.")
+ to_chat(src, "[span_danger("
Snare disarmed.")]")
/obj/effect/snare
name = "snare"
@@ -120,10 +120,10 @@
/obj/effect/snare/proc/on_entered(datum/source, AM as mob|obj)
SIGNAL_HANDLER
if(isliving(AM) && spawner && spawner.summoner && AM != spawner && !spawner.hasmatchingsummoner(AM))
- to_chat(spawner.summoner, "
[AM] has crossed surveillance snare, [name].")
+ to_chat(spawner.summoner, "[span_danger("
[AM] has crossed surveillance snare, [name].")]")
var/list/guardians = spawner.summoner.hasparasites()
for(var/para in guardians)
- to_chat(para, "
[AM] has crossed surveillance snare, [name].")
+ to_chat(para, "[span_danger("
[AM] has crossed surveillance snare, [name].")]")
/obj/effect/snare/singularity_act()
return
diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm
index 0392137aa06..f2878bf1817 100644
--- a/code/modules/mob/living/simple_animal/guardian/types/support.dm
+++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm
@@ -51,7 +51,7 @@
damage_coeff = list(BRUTE = 0.7, BURN = 0.7, TOX = 0.7, CLONE = 0.7, STAMINA = 0, OXY = 0.7)
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 = FALSE
else
set_combat_mode(FALSE)
@@ -59,10 +59,10 @@
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 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 = 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/healer/verb/Beacon()
@@ -71,7 +71,7 @@
set desc = "Mark a floor as your beacon point, allowing you to warp targets to it. Your beacon will not work at extreme distances."
if(beacon_cooldown >= world.time)
- to_chat(src, "
Your power is on cooldown. You must wait five minutes between placing beacons.")
+ to_chat(src, "[span_danger("
Your power is on cooldown. You must wait five minutes between placing beacons.")]")
return
var/turf/beacon_loc = get_turf(src.loc)
@@ -84,7 +84,7 @@
beacon = new(beacon_loc, src)
- to_chat(src, "
Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.")
+ to_chat(src, "[span_danger("
Beacon placed! You may now warp targets and objects to it, including your user, via Alt+Click.")]")
beacon_cooldown = world.time + 3000
@@ -104,44 +104,44 @@
add_atom_colour(G.guardiancolor, FIXED_COLOUR_PRIORITY)
/obj/structure/receiving_pad/proc/disappear()
- visible_message("
[src] vanishes!")
+ visible_message(span_notice("[src] vanishes!"))
qdel(src)
/mob/living/simple_animal/hostile/guardian/healer/AltClickOn(atom/movable/A)
if(!istype(A))
return
if(src.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 cannot be anchored!")
+ to_chat(src, "[span_danger("
Your target cannot be anchored!")]")
return
var/turf/T = get_turf(A)
if(beacon.z != T.z)
- to_chat(src, "
The beacon is too far away to warp to!")
+ to_chat(src, "[span_danger("
The beacon is too far away to warp to!")]")
return
- to_chat(src, "
You begin to warp [A].")
- A.visible_message("
[A] starts to glow faintly!", \
- "
You start to faintly glow, and you feel strangely weightless!")
+ to_chat(src, "[span_danger("
You begin to warp [A].")]")
+ A.visible_message(span_danger("[A] starts to glow faintly!"), \
+ span_userdanger("You start to faintly glow, and you feel strangely weightless!"))
do_attack_animation(A)
if(!do_mob(src, A, 60)) //now start the channel
- to_chat(src, "
You need to hold still!")
+ to_chat(src, "[span_danger("
You need to hold still!")]")
return
new /obj/effect/temp_visual/guardian/phase/out(T)
if(isliving(A))
var/mob/living/L = A
L.flash_act()
- A.visible_message("
[A] disappears in a flash of light!", \
- "
Your vision is obscured by a flash of light!")
+ A.visible_message(span_danger("[A] disappears in a flash of light!"), \
+ span_userdanger("Your vision is obscured by a flash of light!"))
do_teleport(A, beacon, 0, channel = TELEPORT_CHANNEL_BLUESPACE)
new /obj/effect/temp_visual/guardian/phase(get_turf(A))
diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm
index 7b4e66962b8..03af415b7e6 100644
--- a/code/modules/mob/living/simple_animal/hostile/alien.dm
+++ b/code/modules/mob/living/simple_animal/hostile/alien.dm
@@ -113,7 +113,7 @@
return
if(locate(/obj/structure/alien/weeds/node) in get_turf(src))
return
- visible_message("
[src] plants some alien weeds!")
+ visible_message(span_alertalien("[src] plants some alien weeds!"))
new /obj/structure/alien/weeds/node(loc)
/mob/living/simple_animal/hostile/alien/proc/LayEggs()
@@ -121,7 +121,7 @@
return
if(locate(/obj/structure/alien/egg) in get_turf(src))
return
- visible_message("
[src] lays an egg!")
+ visible_message(span_alertalien("[src] lays an egg!"))
new /obj/structure/alien/egg(loc)
/mob/living/simple_animal/hostile/alien/queen/large
@@ -167,7 +167,7 @@
if(ismovable(target))
target.wash(CLEAN_SCRUB)
if(istype(target, /obj/effect/decal/cleanable))
- visible_message("
[src] cleans up \the [target].")
+ visible_message(span_notice("[src] cleans up \the [target]."))
else
- visible_message("
[src] polishes \the [target].")
+ visible_message(span_notice("[src] polishes \the [target]."))
return TRUE
diff --git a/code/modules/mob/living/simple_animal/hostile/bear.dm b/code/modules/mob/living/simple_animal/hostile/bear.dm
index a6b35304fe1..984c973dedf 100644
--- a/code/modules/mob/living/simple_animal/hostile/bear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bear.dm
@@ -113,7 +113,7 @@
if(istype(target, /mob/living/simple_animal/hostile/bear) && proximity_flag)
var/mob/living/simple_animal/hostile/bear/A = target
if(A.armored)
- to_chat(user, "
[A] has already been armored up!")
+ to_chat(user, span_warning("[A] has already been armored up!"))
return
A.armored = TRUE
A.maxHealth += 60
@@ -123,7 +123,7 @@
A.melee_damage_upper += 5
A.wound_bonus += 5
A.update_icons()
- to_chat(user, "
You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea.")
+ to_chat(user, span_info("You strap the armor plating to [A] and sharpen [A.p_their()] claws with the nail filer. This was a great idea."))
qdel(src)
/mob/living/simple_animal/hostile/bear/butter //The mighty companion to Cak. Several functions used from it.
@@ -173,7 +173,7 @@
free butter to the station!")
var/new_name = stripped_input(src, "Enter your name, or press \"Cancel\" to stick with Terrygold.", "Name Change")
if(new_name)
- to_chat(src, "
Your name is now \"new_name\"!")
+ to_chat(src, span_notice("Your name is now
\"new_name\"!"))
name = new_name
/mob/living/simple_animal/hostile/bear/butter/AttackingTarget() //Makes some attacks by the butter bear slip those who dare cross its path.
@@ -182,4 +182,4 @@
if((L.body_position == STANDING_UP))
L.Knockdown(20)
playsound(loc, 'sound/misc/slip.ogg', 15)
- L.visible_message("
[L] slips on butter!")
+ L.visible_message(span_danger("[L] slips on butter!"))
diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm
index 45e994f8897..0f37c651bf3 100644
--- a/code/modules/mob/living/simple_animal/hostile/bees.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bees.dm
@@ -72,7 +72,7 @@
if(beegent)
reee[beegent.type] = 5
holder.AddComponent(/datum/component/edible, reee, null, RAW | MEAT | GROSS, 10, 0, list("bee"), null, 10)
- L.visible_message("
[L] scoops up [src]!")
+ L.visible_message(span_warning("[L] scoops up [src]!"))
L.put_in_hands(holder)
/mob/living/simple_animal/hostile/bee/Destroy()
@@ -102,7 +102,7 @@
. = ..()
if(!beehome)
- . += "
This bee is homeless!"
+ . += span_warning("This bee is homeless!")
/mob/living/simple_animal/hostile/bee/ListTargets() // Bee processing is expessive, so we override them finding targets here.
if(!search_objects) //In case we want to have purely hostile bees
@@ -302,18 +302,18 @@
if(queen?.beegent)
qb.queen.assign_reagent(queen.beegent) //Bees use the global singleton instances of reagents, so we don't need to worry about one bee being deleted and her copies losing their reagents.
user.put_in_active_hand(qb)
- user.visible_message("
[user] injects [src] with royal bee jelly, causing it to split into two bees, MORE BEES!","
You inject [src] with royal bee jelly, causing it to split into two bees, MORE BEES!")
+ user.visible_message(span_notice("[user] injects [src] with royal bee jelly, causing it to split into two bees, MORE BEES!"),span_warning("You inject [src] with royal bee jelly, causing it to split into two bees, MORE BEES!"))
else
- to_chat(user, "
You don't have enough royal bee jelly to split a bee in two!")
+ to_chat(user, span_warning("You don't have enough royal bee jelly to split a bee in two!"))
else
var/datum/reagent/R = GLOB.chemical_reagents_list[S.reagents.get_master_reagent_id()]
if(R && S.reagents.has_reagent(R.type, 5))
S.reagents.remove_reagent(R.type,5)
queen.assign_reagent(R)
- user.visible_message("
[user] injects [src]'s genome with [R.name], mutating its DNA!","
You inject [src]'s genome with [R.name], mutating its DNA!")
+ user.visible_message(span_warning("[user] injects [src]'s genome with [R.name], mutating its DNA!"),span_warning("You inject [src]'s genome with [R.name], mutating its DNA!"))
name = queen.name
else
- to_chat(user, "
You don't have enough units of that chemical to modify the bee's DNA!")
+ to_chat(user, span_warning("You don't have enough units of that chemical to modify the bee's DNA!"))
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
index 35867417c30..cf138034208 100644
--- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
+++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm
@@ -156,7 +156,7 @@
/obj/effect/temp_visual/paperwiz_dying/Initialize()
. = ..()
- visible_message("
The wizard cries out in pain as a gate appears behind him, sucking him in!")
+ visible_message(span_boldannounce("The wizard cries out in pain as a gate appears behind him, sucking him in!"))
playsound(get_turf(src),'sound/magic/mandswap.ogg', 50, TRUE, TRUE)
playsound(get_turf(src),'sound/hallucinations/wail.ogg', 50, TRUE, TRUE)
diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm
index 0002bb73feb..b57ed945279 100644
--- a/code/modules/mob/living/simple_animal/hostile/carp.dm
+++ b/code/modules/mob/living/simple_animal/hostile/carp.dm
@@ -105,7 +105,7 @@
/mob/living/simple_animal/hostile/carp/proc/chomp_plastic()
var/obj/item/storage/cans/tasty_plastic = locate(/obj/item/storage/cans) in view(1, src)
if(tasty_plastic && Adjacent(tasty_plastic))
- visible_message("
[src] gets its head stuck in [tasty_plastic], and gets cut breaking free from it!", "
You try to avoid [tasty_plastic], but it looks so... delicious... Ow! It cuts the inside of your mouth!")
+ visible_message(span_notice("[src] gets its head stuck in [tasty_plastic], and gets cut breaking free from it!"), span_notice("You try to avoid [tasty_plastic], but it looks so... delicious... Ow! It cuts the inside of your mouth!"))
new /obj/effect/decal/cleanable/plastic(loc)
@@ -255,7 +255,7 @@
/mob/living/simple_animal/hostile/carp/cayenne/examine(mob/user)
. = ..()
if(disky)
- . += "
Wait... is that [disky] in [p_their()] mouth?"
+ . += span_notice("Wait... is that [disky] in [p_their()] mouth?")
/mob/living/simple_animal/hostile/carp/cayenne/AttackingTarget(atom/attacked_target)
if(istype(attacked_target, /obj/item/disk/nuclear))
@@ -264,14 +264,14 @@
return
potential_disky.forceMove(src)
disky = potential_disky
- to_chat(src, "
YES!! You manage to pick up [disky]. (Click anywhere to place it back down.)")
+ to_chat(src, span_nicegreen("YES!! You manage to pick up [disky]. (Click anywhere to place it back down.)"))
update_icon()
if(!disky.fake)
client.give_award(/datum/award/achievement/misc/cayenne_disk, src)
return
if(disky)
if(isopenturf(attacked_target))
- to_chat(src, "
You place [disky] on [attacked_target]")
+ to_chat(src, span_notice("You place [disky] on [attacked_target]"))
disky.forceMove(attacked_target.drop_location())
disky = null
update_icon()
diff --git a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm
index 55a74742bb1..bcab77e91b3 100644
--- a/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm
+++ b/code/modules/mob/living/simple_animal/hostile/cat_butcher.dm
@@ -36,7 +36,7 @@
var/mob/living/carbon/human/L = target
var/obj/item/organ/tail/cat/tail = L.getorgan(/obj/item/organ/tail/cat)
if(!QDELETED(tail))
- visible_message("
[src] severs [L]'s tail in one swift swipe!", "
You sever [L]'s tail in one swift swipe.")
+ visible_message(span_notice("[src] severs [L]'s tail in one swift swipe!"), span_notice("You sever [L]'s tail in one swift swipe."))
tail.Remove(L)
var/obj/item/organ/tail/cat/dropped_tail = new(target.drop_location())
dropped_tail.color = L.hair_color
diff --git a/code/modules/mob/living/simple_animal/hostile/cockroach.dm b/code/modules/mob/living/simple_animal/hostile/cockroach.dm
index 5ca4b240b7c..49508e5465e 100644
--- a/code/modules/mob/living/simple_animal/hostile/cockroach.dm
+++ b/code/modules/mob/living/simple_animal/hostile/cockroach.dm
@@ -104,7 +104,7 @@
if(!istype(living_target))
return FALSE //We failed to run the invoke. Might be because we're a structure. Let the squashable element handle it then!
if(!HAS_TRAIT(living_target, TRAIT_PIERCEIMMUNE))
- living_target.visible_message("
[living_target] steps onto [cockroach]'s spike!", "
You step onto [cockroach]'s spike!")
+ living_target.visible_message(span_danger("[living_target] steps onto [cockroach]'s spike!"), span_userdanger("You step onto [cockroach]'s spike!"))
return TRUE
- living_target.visible_message("
[living_target] squashes [cockroach], not even noticing its spike.", "
You squashed [cockroach], not even noticing its spike.")
+ living_target.visible_message(span_notice("[living_target] squashes [cockroach], not even noticing its spike."), span_notice("You squashed [cockroach], not even noticing its spike."))
return FALSE
diff --git a/code/modules/mob/living/simple_animal/hostile/faithless.dm b/code/modules/mob/living/simple_animal/hostile/faithless.dm
index c9c2e131cc0..c1f11fe5ed3 100644
--- a/code/modules/mob/living/simple_animal/hostile/faithless.dm
+++ b/code/modules/mob/living/simple_animal/hostile/faithless.dm
@@ -44,5 +44,5 @@
if(. && prob(12) && iscarbon(target))
var/mob/living/carbon/C = target
C.Paralyze(60)
- C.visible_message("
\The [src] knocks down \the [C]!", \
- "
\The [src] knocks you down!")
+ C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \
+ span_userdanger("\The [src] knocks you down!"))
diff --git a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
index b8ba63a8c34..f101b65f786 100644
--- a/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
+++ b/code/modules/mob/living/simple_animal/hostile/giant_spider.dm
@@ -73,10 +73,10 @@
if(!. || !client)
return FALSE
if(directive)
- to_chat(src, "
Your mother left you a directive! Follow it at all costs.")
- to_chat(src, "
[directive]")
+ to_chat(src, span_spider("Your mother left you a directive! Follow it at all costs."))
+ to_chat(src, span_spider("
[directive]"))
if(mind)
- mind.store_memory("
[directive]")
+ mind.store_memory(span_spider("
[directive]"))
GLOB.spidermobs[src] = TRUE
/mob/living/simple_animal/hostile/giant_spider/Destroy()
@@ -146,17 +146,17 @@
return ..()
var/mob/living/simple_animal/hostile/giant_spider/hurt_spider = target
if(hurt_spider == src)
- to_chat(src, "
You don't have the dexerity to wrap your own wounds.")
+ to_chat(src, span_warning("You don't have the dexerity to wrap your own wounds."))
return
if(hurt_spider.health >= hurt_spider.maxHealth)
- to_chat(src, "
You can't find any wounds to wrap up.")
+ to_chat(src, span_warning("You can't find any wounds to wrap up."))
return
- visible_message("
[src] begins wrapping the wounds of [hurt_spider].","
You begin wrapping the wounds of [hurt_spider].")
+ visible_message(span_notice("[src] begins wrapping the wounds of [hurt_spider]."),span_notice("You begin wrapping the wounds of [hurt_spider]."))
is_busy = TRUE
if(do_after(src, 20, target = hurt_spider))
hurt_spider.heal_overall_damage(20, 20)
new /obj/effect/temp_visual/heal(get_turf(hurt_spider), "#80F5FF")
- visible_message("
[src] wraps the wounds of [hurt_spider].","
You wrap the wounds of [hurt_spider].")
+ visible_message(span_notice("[src] wraps the wounds of [hurt_spider]."),span_notice("You wrap the wounds of [hurt_spider]."))
is_busy = FALSE
/**
@@ -297,19 +297,19 @@
if(stat == DEAD || !cocoon_target || cocoon_target.anchored)
return
if(cocoon_target == src)
- to_chat(src, "
You can't wrap yourself!")
+ to_chat(src, span_warning("You can't wrap yourself!"))
return
if(istype(cocoon_target, /mob/living/simple_animal/hostile/giant_spider))
- to_chat(src, "
You can't wrap other spiders!")
+ to_chat(src, span_warning("You can't wrap other spiders!"))
return
if(!Adjacent(cocoon_target))
- to_chat(src, "
You can't reach [cocoon_target]!")
+ to_chat(src, span_warning("You can't reach [cocoon_target]!"))
return
if(is_busy)
- to_chat(src, "
You're already doing something else!")
+ to_chat(src, span_warning("You're already doing something else!"))
return
is_busy = TRUE
- visible_message("
[src] begins to secrete a sticky substance around [cocoon_target].","
You begin wrapping [cocoon_target] into a cocoon.")
+ visible_message(span_notice("[src] begins to secrete a sticky substance around [cocoon_target]."),span_notice("You begin wrapping [cocoon_target] into a cocoon."))
stop_automated_movement = TRUE
if(do_after(src, 50, target = cocoon_target))
if(is_busy)
@@ -320,10 +320,10 @@
consumed_mobs[living_target.tag] = TRUE
fed++
lay_eggs_enriched.UpdateButtonIcon(TRUE)
- visible_message("
[src] sticks a proboscis into [living_target] and sucks a viscous substance out.","
You suck the nutriment out of [living_target], feeding you enough to lay a cluster of eggs.")
+ visible_message(span_danger("[src] sticks a proboscis into [living_target] and sucks a viscous substance out."),span_notice("You suck the nutriment out of [living_target], feeding you enough to lay a cluster of eggs."))
living_target.death() //you just ate them, they're dead.
else
- to_chat(src, "
[living_target] cannot sate your hunger!")
+ to_chat(src, span_warning("[living_target] cannot sate your hunger!"))
cocoon_target.forceMove(casing)
if(cocoon_target.density || ismob(cocoon_target))
casing.icon_state = pick("cocoon_large1","cocoon_large2","cocoon_large3")
@@ -352,12 +352,12 @@
var/obj/structure/spider/stickyweb/web = locate() in spider_turf
if(web)
- to_chat(spider, "
There's already a web here!")
+ to_chat(spider, span_warning("There's already a web here!"))
return
if(!spider.is_busy)
spider.is_busy = TRUE
- spider.visible_message("
[spider] begins to secrete a sticky substance.","
You begin to lay a web.")
+ spider.visible_message(span_notice("[spider] begins to secrete a sticky substance."),span_notice("You begin to lay a web."))
spider.stop_automated_movement = TRUE
if(do_after(spider, 40 * spider.web_speed, target = spider_turf))
if(spider.is_busy && spider.loc == spider_turf)
@@ -365,7 +365,7 @@
spider.is_busy = FALSE
spider.stop_automated_movement = FALSE
else
- to_chat(spider, "
You're already doing something else!")
+ to_chat(spider, span_warning("You're already doing something else!"))
/obj/effect/proc_holder/wrap
name = "Wrap"
@@ -391,10 +391,10 @@
/obj/effect/proc_holder/wrap/proc/activate(mob/living/user)
var/message
if(active)
- message = "
You no longer prepare to wrap something in a cocoon."
+ message = span_notice("You no longer prepare to wrap something in a cocoon.")
remove_ranged_ability(message)
else
- message = "
You prepare to wrap something in a cocoon. Left-click your target to start wrapping!"
+ message = span_notice("You prepare to wrap something in a cocoon.
Left-click your target to start wrapping!")
add_ranged_ability(user, message, TRUE)
return TRUE
@@ -444,13 +444,13 @@
var/message
var/mob/living/simple_animal/hostile/giant_spider/tarantula/spider = user
if(active)
- message = "
You stop preparing to charge."
+ message = span_notice("You stop preparing to charge.")
remove_ranged_ability(message)
else
if(!COOLDOWN_FINISHED(spider, charge_cooldown))
- message = "
Your charge is still on cooldown!"
+ message = span_notice("Your charge is still on cooldown!")
remove_ranged_ability(message)
- message = "
You prepare to charge. Left-click your target to charge them!"
+ message = span_notice("You prepare to charge.
Left-click your target to charge them!")
add_ranged_ability(user, message, TRUE)
return 1
@@ -495,12 +495,12 @@
var/obj/structure/spider/eggcluster/eggs = locate() in get_turf(spider)
if(eggs)
- to_chat(spider, "
There is already a cluster of eggs here!")
+ to_chat(spider, span_warning("There is already a cluster of eggs here!"))
else if(enriched && !spider.fed)
- to_chat(spider, "
You are too hungry to do this!")
+ to_chat(spider, span_warning("You are too hungry to do this!"))
else if(!spider.is_busy)
spider.is_busy = TRUE
- spider.visible_message("
[spider] begins to lay a cluster of eggs.","
You begin to lay a cluster of eggs.")
+ spider.visible_message(span_notice("[spider] begins to lay a cluster of eggs."),span_notice("You begin to lay a cluster of eggs."))
spider.stop_automated_movement = TRUE
if(do_after(spider, 100, target = get_turf(spider)))
if(spider.is_busy)
@@ -571,7 +571,7 @@
if(!message)
return
var/my_message
- my_message = "
Command from [user]: [message]"
+ my_message = span_spider("
Command from [user]: [message]")
for(var/mob/living/simple_animal/hostile/giant_spider/spider in GLOB.spidermobs)
to_chat(spider, my_message)
for(var/ghost in GLOB.dead_mob_list)
@@ -705,14 +705,14 @@
return
if(src == target)
if(health >= maxHealth)
- to_chat(src, "
You're not injured, there's no reason to heal.")
+ to_chat(src, span_warning("You're not injured, there's no reason to heal."))
return
- visible_message("
[src] begins mending themselves...","
You begin mending your wounds...")
+ visible_message(span_notice("[src] begins mending themselves..."),span_notice("You begin mending your wounds..."))
is_busy = TRUE
if(do_after(src, 20, target = src))
heal_overall_damage(50, 50)
new /obj/effect/temp_visual/heal(get_turf(src), "#80F5FF")
- visible_message("
[src]'s wounds mend together.","
You mend your wounds together.")
+ visible_message(span_notice("[src]'s wounds mend together."),span_notice("You mend your wounds together."))
is_busy = FALSE
return
return ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/goose.dm b/code/modules/mob/living/simple_animal/hostile/goose.dm
index 0f9b33522b2..bdfe5273d6c 100644
--- a/code/modules/mob/living/simple_animal/hostile/goose.dm
+++ b/code/modules/mob/living/simple_animal/hostile/goose.dm
@@ -66,8 +66,8 @@
if(stat == DEAD || choking) // plapatin I swear to god
return FALSE
if(suffocator.has_material_type(/datum/material/plastic)) // dumb goose'll swallow food or drink with plastic in it
- visible_message("
[src] hungrily gobbles up \the [suffocator]! ")
- visible_message("
[src] is choking on \the [suffocator]! ")
+ visible_message(span_danger("[src] hungrily gobbles up \the [suffocator]! "))
+ visible_message(span_boldwarning("[src] is choking on \the [suffocator]! "))
suffocator.forceMove(src)
choke(suffocator)
choking = TRUE
@@ -107,7 +107,7 @@
/mob/living/simple_animal/hostile/retaliate/goose/vomit/examine(user)
. = ..()
- . += "
Somehow, it still looks hungry."
+ . += span_notice("Somehow, it still looks hungry.")
/mob/living/simple_animal/hostile/retaliate/goose/attackby(obj/item/O, mob/user)
. = ..()
@@ -120,11 +120,11 @@
return FALSE
if (contents.len > GOOSE_SATIATED)
if(message_cooldown < world.time)
- visible_message("
[src] looks too full to eat \the [tasty]!")
+ visible_message(span_notice("[src] looks too full to eat \the [tasty]!"))
message_cooldown = world.time + 5 SECONDS
return FALSE
if (tasty.foodtype & GROSS)
- visible_message("
[src] hungrily gobbles up \the [tasty]!")
+ visible_message(span_notice("[src] hungrily gobbles up \the [tasty]!"))
tasty.forceMove(src)
playsound(src,'sound/items/eatfood.ogg', 70, TRUE)
vomitCoefficient += 3
@@ -132,7 +132,7 @@
return TRUE
else
if(message_cooldown < world.time)
- visible_message("
[src] refuses to eat \the [tasty].")
+ visible_message(span_notice("[src] refuses to eat \the [tasty]."))
message_cooldown = world.time + 5 SECONDS
return FALSE
@@ -145,7 +145,7 @@
if(stat == DEAD || choking)
return
if(prob(25))
- visible_message("
[src] is gagging on \the [plastic]!")
+ visible_message(span_warning("[src] is gagging on \the [plastic]!"))
manual_emote("gags!")
addtimer(CALLBACK(src, .proc/vomit), 300)
else
diff --git a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm
index fb81da5530b..2b7fc7e8279 100644
--- a/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm
+++ b/code/modules/mob/living/simple_animal/hostile/gorilla/gorilla.dm
@@ -75,7 +75,7 @@
L.throw_at(throw_target, rand(1,2), 7, src)
else
L.Paralyze(20)
- visible_message("
[src] knocks [L] down!")
+ visible_message(span_danger("[src] knocks [L] down!"))
/mob/living/simple_animal/hostile/gorilla/CanAttack(atom/the_target)
var/list/parts = target_bodyparts(target)
@@ -101,7 +101,7 @@
..()
/mob/living/simple_animal/hostile/gorilla/can_use_guns(obj/item/G)
- to_chat(src, "
Your meaty finger is much too large for the trigger guard!")
+ to_chat(src, span_warning("Your meaty finger is much too large for the trigger guard!"))
return FALSE
diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
index b99a958b0ac..88caf19e4a9 100644
--- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm
+++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm
@@ -37,8 +37,8 @@
egg.origin = mind
for(var/obj/item/organ/I in src)
I.forceMove(egg)
- visible_message("
[src] plants something in [victim]'s flesh!", \
- "
We inject our egg into [victim]'s body!")
+ visible_message(span_warning("[src] plants something in [victim]'s flesh!"), \
+ span_danger("We inject our egg into [victim]'s body!"))
egg_lain = 1
/mob/living/simple_animal/hostile/headcrab/AttackingTarget()
@@ -48,10 +48,10 @@
var/mob/living/carbon/C = target
if(C.stat == DEAD)
if(HAS_TRAIT(C, TRAIT_XENO_HOST))
- to_chat(src, "
A foreign presence repels us from this body. Perhaps we should try to infest another?")
+ to_chat(src, span_userdanger("A foreign presence repels us from this body. Perhaps we should try to infest another?"))
return
Infect(target)
- to_chat(src, "
With our egg laid, our death approaches rapidly...")
+ to_chat(src, span_userdanger("With our egg laid, our death approaches rapidly..."))
addtimer(CALLBACK(src, .proc/death), 100)
/obj/item/organ/body_egg/changeling_egg
diff --git a/code/modules/mob/living/simple_animal/hostile/hivebot.dm b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
index 6a03aa12a26..997b5c52292 100644
--- a/code/modules/mob/living/simple_animal/hostile/hivebot.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hivebot.dm
@@ -117,24 +117,24 @@
if(istype(target, /obj/machinery))
var/obj/machinery/fixable = target
if(fixable.get_integrity() >= fixable.max_integrity)
- to_chat(src, "
Diagnostics indicate that this machine is at peak integrity.")
+ to_chat(src, span_warning("Diagnostics indicate that this machine is at peak integrity."))
return
- to_chat(src, "
You begin repairs...")
+ to_chat(src, span_warning("You begin repairs..."))
if(do_after(src, 50, target = fixable))
fixable.repair_damage(fixable.max_integrity - fixable.get_integrity())
do_sparks(3, TRUE, fixable)
- to_chat(src, "
Repairs complete.")
+ to_chat(src, span_warning("Repairs complete."))
return
if(istype(target, /mob/living/simple_animal/hostile/hivebot))
var/mob/living/simple_animal/hostile/hivebot/fixable = target
if(fixable.health >= fixable.maxHealth)
- to_chat(src, "
Diagnostics indicate that this unit is at peak integrity.")
+ to_chat(src, span_warning("Diagnostics indicate that this unit is at peak integrity."))
return
- to_chat(src, "
You begin repairs...")
+ to_chat(src, span_warning("You begin repairs..."))
if(do_after(src, 50, target = fixable))
fixable.revive(full_heal = TRUE, admin_revive = TRUE)
do_sparks(3, TRUE, fixable)
- to_chat(src, "
Repairs complete.")
+ to_chat(src, span_warning("Repairs complete."))
return
return ..()
@@ -149,12 +149,12 @@
var/mob/living/simple_animal/hostile/hivebot/H = owner
var/turf/T = get_turf(H)
if(T.density)
- to_chat(H, "
There's already something on this tile!")
+ to_chat(H, span_warning("There's already something on this tile!"))
return
- to_chat(H, "
You begin to create a foam wall at your position...")
+ to_chat(H, span_warning("You begin to create a foam wall at your position..."))
if(do_after(H, 50, target = H))
for(var/obj/structure/foamedmetal/FM in T.contents)
- to_chat(H, "
There's already a foam wall on this tile!")
+ to_chat(H, span_warning("There's already a foam wall on this tile!"))
return
new /obj/structure/foamedmetal(H.loc)
playsound(get_turf(H), 'sound/effects/extinguish.ogg', 50, TRUE, -1)
diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm
index fd1df970897..e3bc4ad96ef 100644
--- a/code/modules/mob/living/simple_animal/hostile/hostile.dm
+++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm
@@ -408,7 +408,7 @@
if(CheckFriendlyFire(A))
return
if(!(simple_mob_flags & SILENCE_RANGED_MESSAGE))
- visible_message("
[src] [ranged_message] at [A]!")
+ visible_message(span_danger("
[src] [ranged_message] at [A]!"))
if(rapid > 1)
@@ -646,13 +646,13 @@
if(H.check_shields(src, 0, "the [name]", attack_type = LEAP_ATTACK))
blocked = TRUE
if(!blocked)
- L.visible_message("
[src] charges on [L]!", "
[src] charges into you!")
+ L.visible_message(span_danger("[src] charges on [L]!"), span_userdanger("[src] charges into you!"))
L.Knockdown(knockdown_time)
else
Stun((knockdown_time * 2), ignore_canstun = TRUE)
charge_end()
else if(hit_atom.density && !hit_atom.CanPass(src))
- visible_message("
[src] smashes into [hit_atom]!")
+ visible_message(span_danger("[src] smashes into [hit_atom]!"))
Stun((knockdown_time * 2), ignore_canstun = TRUE)
if(charge_state)
diff --git a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm
index eb1d8009ebc..9ae192ad428 100644
--- a/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm
+++ b/code/modules/mob/living/simple_animal/hostile/jungle/leaper.dm
@@ -251,7 +251,7 @@
throw_dir = pick(GLOB.alldirs)
var/throwtarget = get_edge_target_turf(src, throw_dir)
L.throw_at(throwtarget, 3, 1)
- visible_message("
[L] is thrown clear of [src]!")
+ visible_message(span_warning("[L] is thrown clear of [src]!"))
if(ckey)//Lessens ability to chain stun as a player
ranged_cooldown = ranged_cooldown_time + world.time
update_icons()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm
index 9f0422e27fb..217dc39f86f 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner.dm
@@ -156,8 +156,8 @@ Difficulty: Medium
if(isliving(target))
var/mob/living/L = target
if(L.stat == DEAD)
- visible_message("
[src] butchers [L]!",
- "
You butcher [L], restoring your health!")
+ visible_message(span_danger("[src] butchers [L]!"),
+ span_userdanger("You butcher [L], restoring your health!"))
if(!is_station_level(z) || client) //NPC monsters won't heal while on station
if(guidance)
adjustHealth(-L.maxHealth)
@@ -189,7 +189,7 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/blood_drunk_miner/proc/shoot_ka()
if(ranged_cooldown <= world.time && get_dist(src, target) <= MINER_DASH_RANGE && !Adjacent(target))
ranged_cooldown = world.time + ranged_cooldown_time
- visible_message("
[src] fires the proto-kinetic accelerator!")
+ visible_message(span_danger("[src] fires the proto-kinetic accelerator!"))
face_atom(target)
new /obj/effect/temp_visual/dir_setting/firing_effect(loc, dir)
Shoot(target)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
index 270a67bc22a..5b2034bec31 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm
@@ -259,7 +259,7 @@ Difficulty: Hard
SLEEP_CHECK_DEATH(4)
for(var/mob/living/L in T)
if(!faction_check_mob(L))
- to_chat(L, "
[src] rends you!")
+ to_chat(L, span_userdanger("[src] rends you!"))
playsound(T, attack_sound, 100, TRUE, -1)
var/limb_to_hit = L.get_bodypart(pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG))
L.apply_damage(10, BRUTE, limb_to_hit, L.run_armor_check(limb_to_hit, MELEE, null, null, armour_penetration), wound_bonus = CANT_WOUND)
@@ -276,7 +276,7 @@ Difficulty: Hard
for(var/mob/living/L in T)
if(!faction_check_mob(L))
if(L.stat != CONSCIOUS)
- to_chat(L, "
[src] drags you through the blood!")
+ to_chat(L, span_userdanger("[src] drags you through the blood!"))
playsound(T, 'sound/magic/enter_blood.ogg', 100, TRUE, -1)
var/turf/targetturf = get_step(src, dir)
L.forceMove(targetturf)
@@ -313,11 +313,11 @@ Difficulty: Hard
shuffle_inplace(pools)
found_bloodpool = pick(pools)
if(found_bloodpool)
- visible_message("
[src] sinks into the blood...")
+ visible_message(span_danger("[src] sinks into the blood..."))
playsound(get_turf(src), 'sound/magic/enter_blood.ogg', 100, TRUE, -1)
forceMove(get_turf(found_bloodpool))
playsound(get_turf(src), 'sound/magic/exit_blood.ogg', 100, TRUE, -1)
- visible_message("
And springs back out!")
+ visible_message(span_danger("And springs back out!"))
blood_enrage()
return TRUE
return FALSE
@@ -432,7 +432,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/bubblegum/bullet_act(obj/projectile/P)
if(BUBBLEGUM_IS_ENRAGED)
- visible_message("
[src] deflects the projectile; [p_they()] can't be hit with ranged weapons while enraged!", "
You deflect the projectile!")
+ visible_message(span_danger("[src] deflects the projectile; [p_they()] can't be hit with ranged weapons while enraged!"), span_userdanger("You deflect the projectile!"))
playsound(src, pick('sound/weapons/bulletflyby.ogg', 'sound/weapons/bulletflyby2.ogg', 'sound/weapons/bulletflyby3.ogg'), 300, TRUE)
return BULLET_ACT_BLOCK
return ..()
@@ -484,7 +484,7 @@ Difficulty: Hard
DestroySurroundings()
if(isliving(A))
var/mob/living/L = A
- L.visible_message("
[src] slams into [L]!", "
[src] tramples you into the ground!")
+ L.visible_message(span_danger("[src] slams into [L]!"), span_userdanger("[src] tramples you into the ground!"))
src.forceMove(get_turf(L))
L.apply_damage(istype(src, /mob/living/simple_animal/hostile/megafauna/bubblegum/hallucination) ? 15 : 30, BRUTE, wound_bonus = CANT_WOUND)
playsound(get_turf(L), 'sound/effects/meteorimpact.ogg', 100, TRUE)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
index e563ee65646..5d057a5e191 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm
@@ -107,7 +107,7 @@
if(enrage(target))
if(move_to_delay == initial(move_to_delay))
- visible_message("
\"You can't dodge.\"")
+ visible_message(span_colossus("\"
You can't dodge.\""))
ranged_cooldown = world.time + 30
telegraph()
dir_shots(GLOB.alldirs)
@@ -150,11 +150,11 @@
icon_state = "eva_attack"
if(health < maxHealth/3)
return double_spiral()
- visible_message("
\"Judgement.\"")
+ visible_message(span_colossus("\"
Judgement.\""))
return spiral_shoot()
/mob/living/simple_animal/hostile/megafauna/colossus/proc/double_spiral()
- visible_message("
\"Die.\"")
+ visible_message(span_colossus("\"
Die.\""))
SLEEP_CHECK_DEATH(10)
INVOKE_ASYNC(src, .proc/spiral_shoot, FALSE)
@@ -225,7 +225,7 @@
/mob/living/simple_animal/hostile/megafauna/colossus/devour(mob/living/L)
- visible_message("
[src] disintegrates [L]!")
+ visible_message(span_colossus("[src] disintegrates [L]!"))
L.dust()
/obj/effect/temp_visual/at_shield
@@ -298,7 +298,7 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box)
if(!istype(O))
return FALSE
if(blacklist[O])
- visible_message("
[src] ripples as it rejects [O]. The device will not accept items that have been removed from it.")
+ visible_message(span_boldwarning("[src] ripples as it rejects [O]. The device will not accept items that have been removed from it."))
return FALSE
return TRUE
@@ -692,7 +692,7 @@ GLOBAL_DATUM(blackbox, /obj/machinery/smartfridge/black_box)
if(L.stat != DEAD)
L.heal_overall_damage(melee_damage_upper, melee_damage_upper)
new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF")
- visible_message("
[src] mends the wounds of [target].","
You mend the wounds of [target].")
+ visible_message(span_notice("[src] mends the wounds of [target]."),span_notice("You mend the wounds of [target]."))
/mob/living/simple_animal/hostile/lightgeist/ghost()
. = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
index 2e5a1adc420..8fd2c8d7553 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm
@@ -152,7 +152,7 @@ Difficulty: Extremely Hard
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/ex_act(severity, target)
adjustBruteLoss(-30 * severity)
- visible_message("
[src] absorbs the explosion!", "
You absorb the explosion!")
+ visible_message(span_danger("[src] absorbs the explosion!"), span_userdanger("You absorb the explosion!"))
/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner/Goto(target, delay, minimum_distance)
if(enraging)
@@ -291,19 +291,19 @@ Difficulty: Extremely Hard
/obj/item/resurrection_crystal/attack_self(mob/living/user)
if(!iscarbon(user))
- to_chat(user, "
A dark presence stops you from absorbing the crystal.")
+ to_chat(user, span_notice("A dark presence stops you from absorbing the crystal."))
return
forceMove(user)
- to_chat(user, "
You feel a bit safer... but a demonic presence lurks in the back of your head...")
+ to_chat(user, span_notice("You feel a bit safer... but a demonic presence lurks in the back of your head..."))
RegisterSignal(user, COMSIG_LIVING_DEATH, .proc/resurrect)
/// Resurrects the target when they die by moving them and dusting a clone in their place, one life for another
/obj/item/resurrection_crystal/proc/resurrect(mob/living/carbon/user, gibbed)
SIGNAL_HANDLER
if(gibbed)
- to_chat(user, "
This power cannot be used if your entire mortal body is disintegrated...")
+ to_chat(user, span_notice("This power cannot be used if your entire mortal body is disintegrated..."))
return
- user.visible_message("
You see [user]'s soul dragged out of their body!", "
You feel your soul dragged away to a fresh body!")
+ user.visible_message(span_notice("You see [user]'s soul dragged out of their body!"), span_notice("You feel your soul dragged away to a fresh body!"))
var/typepath = user.type
var/mob/living/carbon/clone = new typepath(user.loc)
clone.real_name = user.real_name
@@ -313,7 +313,7 @@ Difficulty: Extremely Hard
user.forceMove(T)
user.revive(full_heal = TRUE, admin_revive = TRUE)
INVOKE_ASYNC(user, /mob/living/carbon.proc/set_species, /datum/species/shadow)
- to_chat(user, "
You blink and find yourself in [get_area_name(T)]... feeling a bit darker.")
+ to_chat(user, span_notice("You blink and find yourself in [get_area_name(T)]... feeling a bit darker."))
clone.dust()
qdel(src)
@@ -341,11 +341,11 @@ Difficulty: Extremely Hard
/obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/ui_action_click(mob/user)
on = !on
- to_chat(user, "
You [on ? "activate" : "deactivate"] [src].")
+ to_chat(user, span_notice("You [on ? "activate" : "deactivate"] [src]."))
/obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/examine(mob/user)
. = ..()
- . += "
The shoes are [on ? "enabled" : "disabled"]."
+ . += span_notice("The shoes are [on ? "enabled" : "disabled"].")
/obj/item/clothing/shoes/winterboots/ice_boots/ice_trail/proc/on_step()
SIGNAL_HANDLER
@@ -405,7 +405,7 @@ Difficulty: Extremely Hard
/datum/status_effect/ice_block_talisman/on_apply()
RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/owner_moved)
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")
var/icon/size_check = icon(owner.icon, owner.icon_state)
cube.Scale(size_check.Width(), size_check.Height())
@@ -419,7 +419,7 @@ Difficulty: Extremely Hard
/datum/status_effect/ice_block_talisman/on_remove()
if(!owner.stat)
- to_chat(owner, "
The cube melts!")
+ to_chat(owner, span_notice("The cube melts!"))
owner.cut_overlay(cube)
UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE)
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm
index 495a4ae66e2..0e317ab1702 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/drake.dm
@@ -142,7 +142,7 @@
/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_rain()
if(!target)
return
- target.visible_message("
Fire rains from the sky!")
+ target.visible_message(span_boldwarning("Fire rains from the sky!"))
var/turf/targetturf = get_turf(target)
for(var/turf/turf as anything in RANGE_TURFS(9,targetturf))
if(prob(11))
@@ -151,7 +151,7 @@
/mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_pools(amount, delay = 0.8)
if(!target)
return
- target.visible_message("
Lava starts to pool up around you!")
+ target.visible_message(span_boldwarning("Lava starts to pool up around you!"))
while(amount > 0)
if(QDELETED(target))
@@ -191,7 +191,7 @@
/mob/living/simple_animal/hostile/megafauna/dragon/proc/lava_arena()
if(!target)
return
- target.visible_message("
[src] encases you in an arena of fire!")
+ target.visible_message(span_boldwarning("[src] encases you in an arena of fire!"))
var/amount = 3
var/turf/center = get_turf(target)
var/list/walled = RANGE_TURFS(3, center) - RANGE_TURFS(2, center)
@@ -242,7 +242,7 @@
/mob/living/simple_animal/hostile/megafauna/dragon/proc/arena_escape_enrage() // you ran somehow / teleported away from my arena attack now i'm mad fucker
SLEEP_CHECK_DEATH(0)
SetRecoveryTime(80)
- visible_message("
[src] starts to glow vibrantly as its wounds close up!")
+ visible_message(span_boldwarning("[src] starts to glow vibrantly as its wounds close up!"))
adjustBruteLoss(-250) // yeah you're gonna pay for that, don't run nerd
add_atom_colour(rgb(255, 255, 0), TEMPORARY_COLOUR_PRIORITY)
move_to_delay = move_to_delay / 2
@@ -293,11 +293,11 @@
hit_list += L
if(!frozen)
L.adjustFireLoss(20)
- to_chat(L, "
You're hit by [source]'s fire breath!")
+ to_chat(L, span_userdanger("You're hit by [source]'s fire breath!"))
continue
L.adjustFireLoss(10)
L.apply_status_effect(/datum/status_effect/ice_block_talisman, 20)
- to_chat(L, "
You're hit by [source]'s freezing breath!")
+ to_chat(L, span_userdanger("You're hit by [source]'s freezing breath!"))
// deals damage to mechs
for(var/obj/vehicle/sealed/mecha/M in T.contents)
@@ -318,7 +318,7 @@
swooping |= SWOOP_DAMAGEABLE
density = FALSE
icon_state = "shadow"
- visible_message("
[src] swoops up high!")
+ visible_message(span_boldwarning("[src] swoops up high!"))
var/negative
var/initial_x = x
@@ -376,7 +376,7 @@
playsound(loc, 'sound/effects/meteorimpact.ogg', 200, TRUE)
for(var/mob/living/L in orange(1, src))
if(L.stat)
- visible_message("
[src] slams down on [L], crushing [L.p_them()]!")
+ visible_message(span_warning("[src] slams down on [L], crushing [L.p_them()]!"))
L.gib()
else
L.adjustBruteLoss(75)
@@ -386,7 +386,7 @@
throw_dir = pick(GLOB.alldirs)
var/throwtarget = get_edge_target_turf(src, throw_dir)
L.throw_at(throwtarget, 3)
- visible_message("
[L] is thrown clear of [src]!")
+ visible_message(span_warning("[L] is thrown clear of [src]!"))
for(var/obj/vehicle/sealed/mecha/M in orange(1, src))
M.take_damage(75, BRUTE, MELEE, 1)
@@ -453,7 +453,7 @@
if(istype(L, /mob/living/simple_animal/hostile/megafauna/dragon))
continue
L.adjustFireLoss(10)
- to_chat(L, "
You fall directly into the pool of lava!")
+ to_chat(L, span_userdanger("You fall directly into the pool of lava!"))
// deals damage to mechs
for(var/obj/vehicle/sealed/mecha/M in T.contents)
@@ -573,7 +573,7 @@
continue
if(islist(flame_hit) && !flame_hit[L])
L.adjustFireLoss(40)
- to_chat(L, "
You're hit by the drake's fire breath!")
+ to_chat(L, span_userdanger("You're hit by the drake's fire breath!"))
flame_hit[L] = TRUE
else
L.adjustFireLoss(10) //if we've already hit them, do way less damage
@@ -597,7 +597,7 @@
if(!istype(A))
return
if(player_cooldown >= world.time)
- to_chat(src, "
You need to wait [(player_cooldown - world.time) / 10] seconds before swooping again!")
+ to_chat(src, span_warning("You need to wait [(player_cooldown - world.time) / 10] seconds before swooping again!"))
return
swoop_attack(FALSE, A)
lava_pools(10, 2) // less pools but longer delay before spawns
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
index 91b95b6f8f3..4cfe57af32b 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm
@@ -204,7 +204,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/blink_spam(blink_counter, target_slowness, cross_counter)
ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75)
if(health < maxHealth * 0.5 && blink_counter > 1)
- visible_message("
\"Mx ampp rsx iwgeti.\"")
+ visible_message(span_hierophant("\"Mx ampp rsx iwgeti.\""))
var/oldcolor = color
animate(src, color = "#660099", time = 6)
SLEEP_CHECK_DEATH(6)
@@ -225,7 +225,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/cross_blast_spam(blink_counter, target_slowness, cross_counter)
ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75)
- visible_message("
\"Piezi mx rsalivi xs vyr.\"")
+ visible_message(span_hierophant("\"Piezi mx rsalivi xs vyr.\""))
blinking = TRUE
var/oldcolor = color
animate(src, color = "#660099", time = 6)
@@ -245,7 +245,7 @@ Difficulty: Hard
/mob/living/simple_animal/hostile/megafauna/hierophant/proc/chaser_swarm(blink_counter, target_slowness, cross_counter)
ranged_cooldown = world.time + max(5, major_attack_cooldown - anger_modifier * 0.75)
- visible_message("
\"Mx gerrsx lmhi.\"")
+ visible_message(span_hierophant("\"Mx gerrsx lmhi.\""))
blinking = TRUE
var/oldcolor = color
animate(src, color = "#660099", time = 6)
@@ -342,7 +342,7 @@ Difficulty: Hard
B.damage = 30
animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out
SLEEP_CHECK_DEATH(1)
- visible_message("
[src] fades out!")
+ visible_message(span_hierophant_warning("[src] fades out!"))
density = FALSE
SLEEP_CHECK_DEATH(2)
forceMove(T)
@@ -350,7 +350,7 @@ Difficulty: Hard
animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN
SLEEP_CHECK_DEATH(1)
density = TRUE
- visible_message("
[src] fades in!")
+ visible_message(span_hierophant_warning("[src] fades in!"))
SLEEP_CHECK_DEATH(1) //at this point the blasts we made detonate
blinking = FALSE
@@ -392,14 +392,14 @@ Difficulty: Hard
timeout_time--
if(timeout_time <= 0 && !did_reset)
did_reset = TRUE
- visible_message("
\"Vixyvrmrk xs fewi...\"")
+ visible_message(span_hierophant_warning("\"Vixyvrmrk xs fewi...\""))
blink(spawned_beacon)
adjustHealth(min((health - maxHealth) * 0.5, -250)) //heal for 50% of our missing health, minimum 10% of maximum health
wander = FALSE
if(health > maxHealth * 0.9)
- visible_message("
\"Vitemvw gsqtpixi. Stivexmrk ex qebmqyq ijjmgmirgc.\"")
+ visible_message(span_hierophant("\"Vitemvw gsqtpixi. Stivexmrk ex qebmqyq ijjmgmirgc.\""))
else
- visible_message("
\"Vitemvw gsqtpixi. Stivexmsrep ijjmgmirgc gsqtvsqmwih.\"")
+ visible_message(span_hierophant("\"Vitemvw gsqtpixi. Stivexmsrep ijjmgmirgc gsqtvsqmwih.\""))
/mob/living/simple_animal/hostile/megafauna/hierophant/death()
if(health > 0 || stat == DEAD)
@@ -407,8 +407,8 @@ Difficulty: Hard
else
set_stat(DEAD)
blinking = TRUE //we do a fancy animation, release a huge burst(), and leave our staff.
- visible_message("
\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\"")
- visible_message("
[src] shrinks, releasing a massive burst of energy!")
+ visible_message(span_hierophant("\"Mrmxmexmrk wipj-hiwxvygx wiuyirgi...\""))
+ visible_message(span_hierophant_warning("[src] shrinks, releasing a massive burst of energy!"))
var/list/stored_nearby = list()
for(var/mob/living/L in view(7,src))
stored_nearby += L // store the people to grant the achievements to once we die
@@ -420,8 +420,8 @@ Difficulty: Hard
for(var/obj/item/W in L)
if(!L.dropItemToGround(W))
qdel(W)
- visible_message("
\"[pick(kill_phrases)]\"")
- visible_message("
[src] annihilates [L]!","
You annihilate [L], restoring your health!")
+ visible_message(span_hierophant_warning("\"[pick(kill_phrases)]\""))
+ visible_message(span_hierophant_warning("[src] annihilates [L]!"),span_userdanger("You annihilate [L], restoring your health!"))
adjustHealth(-L.maxHealth*0.5)
L.dust()
@@ -434,7 +434,7 @@ Difficulty: Hard
var/targets_the_same = (new_target == target)
. = ..()
if(. && target && !targets_the_same)
- visible_message("
\"[pick(target_phrases)]\"")
+ visible_message(span_hierophant_warning("\"[pick(target_phrases)]\""))
if(spawned_beacon && loc == spawned_beacon.loc && did_reset)
arena_trap(src)
@@ -687,7 +687,7 @@ Difficulty: Hard
if(L.client)
flash_color(L.client, "#660099", 1)
playsound(L,'sound/weapons/sear.ogg', 50, TRUE, -4)
- to_chat(L, "
You're struck by a [name]!")
+ to_chat(L, span_userdanger("You're struck by a [name]!"))
var/limb_to_hit = L.get_bodypart(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, MELEE, "Your armor absorbs [src]!", "Your armor blocks part of [src]!", FALSE, 50, "Your armor was penetrated by [src]!")
L.apply_damage(damage, BURN, limb_to_hit, armor, wound_bonus=CANT_WOUND)
@@ -709,7 +709,7 @@ Difficulty: Hard
var/mob/living/occupant = O
if(friendly_fire_check && caster?.faction_check_mob(occupant))
continue
- to_chat(occupant, "
Your [M.name] is struck by a [name]!")
+ to_chat(occupant, span_userdanger("Your [M.name] is struck by a [name]!"))
playsound(M,'sound/weapons/sear.ogg', 50, TRUE, -4)
M.take_damage(damage, BURN, 0, 0)
@@ -739,16 +739,16 @@ Difficulty: Hard
if(istype(I, /obj/item/hierophant_club))
var/obj/item/hierophant_club/H = I
if(H.beacon == src)
- to_chat(user, "
You start removing your hierophant beacon...")
+ to_chat(user, span_notice("You start removing your hierophant beacon..."))
if(do_after(user, 50, target = src))
playsound(src,'sound/magic/blind.ogg', 200, TRUE, -4)
new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user)
- to_chat(user, "
You collect [src], reattaching it to the club!")
+ to_chat(user, span_hierophant_warning("You collect [src], reattaching it to the club!"))
H.beacon = null
H.update_appearance()
user.update_action_buttons_icon()
qdel(src)
else
- to_chat(user, "
You touch the beacon with the club, but nothing happens.")
+ to_chat(user, span_hierophant_warning("You touch the beacon with the club, but nothing happens."))
else
return ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
index 3bf5cc2901a..724623912be 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/legion.dm
@@ -117,7 +117,7 @@
///Attack proc. Gives legion some movespeed buffs and switches the AI to melee. At lower sizes, this also throws the skull at the player.
/mob/living/simple_animal/hostile/megafauna/legion/proc/charge_target()
- visible_message("
[src] charges!")
+ visible_message(span_warning("
[src] charges!"))
SpinAnimation(speed = 20, loops = 3, parallel = FALSE)
ranged = FALSE
retreat_distance = 0
@@ -234,7 +234,7 @@
pixel_y = 0
maxHealth = 200
adjustHealth(0) //Make the health HUD look correct.
- visible_message("
This is getting out of hands. Now there are three of them!")
+ visible_message(span_boldannounce("This is getting out of hands. Now there are three of them!"))
for(var/i in 1 to 2) //Create three skulls in total
var/mob/living/simple_animal/hostile/megafauna/legion/L = new(loc)
L.setVarsAfterSplit(src)
@@ -275,13 +275,13 @@
/obj/item/staff/storm/attack_self(mob/user)
if(storm_nextuse > world.time)
- to_chat(user, "
The staff is still recharging!")
+ to_chat(user, span_warning("The staff is still recharging!"))
return
var/area/user_area = get_area(user)
var/turf/user_turf = get_turf(user)
if(!user_area || !user_turf || (user_area.type in excluded_areas))
- to_chat(user, "
Something is preventing you from using the staff here.")
+ to_chat(user, span_warning("Something is preventing you from using the staff here."))
return
var/datum/weather/A
for(var/V in SSweather.processing)
@@ -293,10 +293,10 @@
if(A)
if(A.stage != END_STAGE)
if(A.stage == WIND_DOWN_STAGE)
- to_chat(user, "
The storm is already ending! It would be a waste to use the staff now.")
+ to_chat(user, span_warning("The storm is already ending! It would be a waste to use the staff now."))
return
- user.visible_message("
[user] holds [src] skywards as an orange beam travels into the sky!", \
- "
You hold [src] skyward, dispelling the storm!")
+ user.visible_message(span_warning("[user] holds [src] skywards as an orange beam travels into the sky!"), \
+ span_notice("You hold [src] skyward, dispelling the storm!"))
playsound(user, 'sound/magic/staff_change.ogg', 200, FALSE)
A.wind_down()
log_game("[user] ([key_name(user)]) has dispelled a storm at [AREACOORD(user_turf)]")
@@ -311,8 +311,8 @@
A.telegraph_duration = storm_telegraph_duration
A.end_duration = storm_duration
- user.visible_message("
[user] holds [src] skywards as red lightning crackles into the sky!", \
- "
You hold [src] skyward, calling down a terrible storm!")
+ user.visible_message(span_warning("[user] holds [src] skywards as red lightning crackles into the sky!"), \
+ span_notice("You hold [src] skyward, calling down a terrible storm!"))
playsound(user, 'sound/magic/staff_change.ogg', 200, FALSE)
A.telegraph()
storm_nextuse = world.time + staff_cooldown
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
index 3430df11b90..0ff91d98d06 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm
@@ -135,8 +135,8 @@
if(!L)
return FALSE
visible_message(
- "
[src] devours [L]!",
- "
You feast on [L], restoring your health!")
+ span_danger("[src] devours [L]!"),
+ span_userdanger("You feast on [L], restoring your health!"))
if(!is_station_level(z) || client) //NPC monsters won't heal while on station
adjustBruteLoss(-L.maxHealth/2)
L.gib()
diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm
index 95ee2fd1c91..dc58644c5d9 100644
--- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm
+++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm
@@ -152,7 +152,7 @@ Difficulty: Hard
for(var/mob/living/L in stomp_turf)
if(L == source || L.throwing)
continue
- to_chat(L, "
[source]'s ground slam shockwave sends you flying!")
+ to_chat(L, span_userdanger("[source]'s ground slam shockwave sends you flying!"))
var/turf/thrownat = get_ranged_target_turf_direct(source, L, throw_range, rand(-10, 10))
L.throw_at(thrownat, 8, 2, null, TRUE, force = MOVE_FORCE_OVERPOWERING, gentle = TRUE)
L.apply_damage(20, BRUTE, wound_bonus=CANT_WOUND)
@@ -206,7 +206,7 @@ Difficulty: Hard
animate(pixel_z = 0, time = 1)
for(var/mob/living/dizzy_target in get_hearers_in_view(7, src) - src)
dizzy_target.Dizzy(6)
- to_chat(dizzy_target, "
The wendigo screams loudly!")
+ to_chat(dizzy_target, span_danger("The wendigo screams loudly!"))
SLEEP_CHECK_DEATH(1 SECONDS)
spiral_attack()
SetRecoveryTime(3 SECONDS)
@@ -303,7 +303,7 @@ Difficulty: Hard
var/mob/living/carbon/human/human_user = user
if(!human_user.mind)
return
- to_chat(human_user, "
Power courses through you! You can now shift your form at will.")
+ to_chat(human_user, span_danger("Power courses through you! You can now shift your form at will."))
var/obj/effect/proc_holder/spell/targeted/shapeshift/polar_bear/transformation_spell = new
human_user.mind.AddSpell(transformation_spell)
playsound(human_user.loc, 'sound/items/drink.ogg', rand(10,50), TRUE)
diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm
index 85ab7a0a9cc..3a561f62405 100644
--- a/code/modules/mob/living/simple_animal/hostile/mimic.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm
@@ -75,8 +75,8 @@
if(prob(15) && iscarbon(target))
var/mob/living/carbon/C = target
C.Paralyze(40)
- C.visible_message("
\The [src] knocks down \the [C]!", \
- "
\The [src] knocks you down!")
+ C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \
+ span_userdanger("\The [src] knocks you down!"))
/mob/living/simple_animal/hostile/mimic/crate/proc/trigger()
if(!attempt_open)
@@ -184,8 +184,8 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
if(knockdown_people && . && prob(15) && iscarbon(target))
var/mob/living/carbon/C = target
C.Paralyze(40)
- C.visible_message("
\The [src] knocks down \the [C]!", \
- "
\The [src] knocks you down!")
+ C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \
+ span_userdanger("\The [src] knocks you down!"))
/mob/living/simple_animal/hostile/mimic/copy/machine
speak = list(
@@ -258,7 +258,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
Pewgun.chambered.update_appearance()
..()
else
- visible_message("
The [src] clears a jam!")
+ visible_message(span_danger("The
[src] clears a jam!"))
Pewgun.chambered.forceMove(loc) //rip revolver immersions, blame shotgun snowflake procs
Pewgun.chambered = null
if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len)
@@ -268,7 +268,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
else if(Pewgun.magazine && Pewgun.magazine.stored_ammo.len) //only true for pumpguns i think
Pewgun.chambered = Pewgun.magazine.get_round(0)
Pewgun.chambered.forceMove(Pewgun)
- visible_message("
The [src] cocks itself!")
+ visible_message(span_danger("The
[src] cocks itself!"))
else
ranged = 0 //BANZAIIII
retreat_distance = 0
@@ -403,6 +403,6 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca
var/mob/living/simple_animal/hostile/mimic/xenobio/M = owner
M.locked = !M.locked
if(!M.locked)
- to_chat(M, "
You loosen up, allowing yourself to be opened and closed.")
+ to_chat(M, span_warning("You loosen up, allowing yourself to be opened and closed."))
else
- to_chat(M, "
You stiffen up, preventing anyone from opening or closing you.")
+ to_chat(M, span_warning("You stiffen up, preventing anyone from opening or closing you."))
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm
index eec9f026d47..83836b7e492 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/basilisk.dm
@@ -73,9 +73,9 @@
/mob/living/simple_animal/hostile/asteroid/basilisk/AttackingTarget()
. = ..()
if(lava_drinker && !warmed_up && istype(target, /turf/open/lava))
- visible_message("
[src] begins to drink from [target]...")
+ visible_message(span_warning("[src] begins to drink from [target]..."))
if(do_after(src, 70, target = target))
- visible_message("
[src] begins to fire up!")
+ visible_message(span_warning("[src] begins to fire up!"))
fully_heal()
icon_state = "Basilisk_alert"
set_varspeed(0)
@@ -84,7 +84,7 @@
addtimer(CALLBACK(src, .proc/cool_down), 3000)
/mob/living/simple_animal/hostile/asteroid/basilisk/proc/cool_down()
- visible_message("
[src] appears to be cooling down...")
+ visible_message(span_warning("[src] appears to be cooling down..."))
if(stat != DEAD)
icon_state = "Basilisk"
set_varspeed(3)
@@ -141,13 +141,13 @@
distanced = get_dist(loc,diamonds.loc)
if(distanced <= 1 && diamonds)
qdel(diamonds)
- src.visible_message("
[src] consumes [diamonds], and it disappears! ...At least, you think.")
+ src.visible_message(span_notice("[src] consumes [diamonds], and it disappears! ...At least, you think."))
if(bait)
var/distanceb = 0
distanceb = get_dist(loc,bait.loc)
if(distanceb <= 1 && bait)
qdel(bait)
- src.visible_message("
[src] examines [bait] closer, and telekinetically shatters the pen.")
+ src.visible_message(span_notice("[src] examines [bait] closer, and telekinetically shatters the pen."))
/mob/living/simple_animal/hostile/asteroid/basilisk/watcher/random/Initialize()
. = ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
index cf854339162..80c03dc99cc 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm
@@ -139,7 +139,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
switch(activity)
if(TUMOR_PASSIVE)
activity = TUMOR_ACTIVE
- visible_message("
[src] convulses as your arm enters its radius. Your instincts tell you to step back.")
+ visible_message(span_boldwarning("[src] convulses as your arm enters its radius. Your instincts tell you to step back."))
activator = user
if(boosted)
mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0)
@@ -149,28 +149,28 @@ While using this makes the system rely on OnFire, it still gives options for tim
if(TUMOR_INACTIVE)
activity = TUMOR_ACTIVE
var/mob/dead/observer/elitemind = null
- visible_message("
[src] begins to convulse. Your instincts tell you to step back.")
+ visible_message(span_boldwarning("[src] begins to convulse. Your instincts tell you to step back."))
activator = user
if(!boosted)
addtimer(CALLBACK(src, .proc/spawn_elite), 30)
return
- visible_message("
Something within [src] stirs...")
+ visible_message(span_boldwarning("Something within [src] stirs..."))
var/list/candidates = pollCandidatesForMob("Do you want to play as a lavaland elite?", ROLE_SENTIENCE, ROLE_SENTIENCE, 50, src, POLL_IGNORE_SENTIENCE_POTION)
if(candidates.len)
- audible_message("
The stirring sounds increase in volume!")
+ audible_message(span_boldwarning("The stirring sounds increase in volume!"))
elitemind = pick(candidates)
elitemind.playsound_local(get_turf(elitemind), 'sound/effects/magic.ogg', 40, 0)
to_chat(elitemind, "
You have been chosen to play as a Lavaland Elite.\nIn a few seconds, you will be summoned on Lavaland as a monster to fight your activator, in a fight to the death.\nYour attacks can be switched using the buttons on the top left of the HUD, and used by clicking on targets or tiles similar to a gun.\nWhile the opponent might have an upper hand with powerful mining equipment and tools, you have great power normally limited by AI mobs.\nIf you want to win, you'll have to use your powers in creative ways to ensure the kill. It's suggested you try using them all as soon as possible.\nShould you win, you'll receive extra information regarding what to do after. Good luck!")
addtimer(CALLBACK(src, .proc/spawn_elite, elitemind), 100)
else
- visible_message("
The stirring stops, and nothing emerges. Perhaps try again later.")
+ visible_message(span_boldwarning("The stirring stops, and nothing emerges. Perhaps try again later."))
activity = TUMOR_INACTIVE
activator = null
/obj/structure/elite_tumor/proc/spawn_elite(mob/dead/observer/elitemind)
var/selectedspawn = pick(potentialspawns)
mychild = new selectedspawn(loc)
- visible_message("
[mychild] emerges from [src]!")
+ visible_message(span_boldwarning("[mychild] emerges from [src]!"))
playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE)
if(boosted)
mychild.key = elitemind.key
@@ -181,7 +181,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
/obj/structure/elite_tumor/proc/return_elite()
mychild.forceMove(loc)
- visible_message("
[mychild] emerges from [src]!")
+ visible_message(span_boldwarning("[mychild] emerges from [src]!"))
playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE)
mychild.revive(full_heal = TRUE, admin_revive = TRUE)
if(boosted)
@@ -212,7 +212,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
. = ..()
if(istype(I, /obj/item/organ/regenerative_core) && activity == TUMOR_INACTIVE && !boosted)
var/obj/item/organ/regenerative_core/core = I
- visible_message("
As [user] drops the core into [src], [src] appears to swell.")
+ visible_message(span_boldwarning("As [user] drops the core into [src], [src] appears to swell."))
icon_state = "advanced_tumor"
boosted = TRUE
set_light_range(6)
@@ -249,17 +249,17 @@ While using this makes the system rely on OnFire, it still gives options for tim
/obj/structure/elite_tumor/proc/border_check()
if(activator != null && get_dist(src, activator) >= 12)
activator.forceMove(loc)
- visible_message("
[activator] suddenly reappears above [src]!")
+ visible_message(span_boldwarning("[activator] suddenly reappears above [src]!"))
playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE)
if(mychild != null && get_dist(src, mychild) >= 12)
mychild.forceMove(loc)
- visible_message("
[mychild] suddenly reappears above [src]!")
+ visible_message(span_boldwarning("[mychild] suddenly reappears above [src]!"))
playsound(loc,'sound/effects/phasein.ogg', 200, 0, 50, TRUE, TRUE)
/obj/structure/elite_tumor/proc/onEliteLoss()
playsound(loc,'sound/effects/tendril_destroyed.ogg', 200, 0, 50, TRUE, TRUE)
- visible_message("
[src] begins to convulse violently before beginning to dissipate.")
- visible_message("
As [src] closes, something is forced up from down below.")
+ visible_message(span_boldwarning("[src] begins to convulse violently before beginning to dissipate."))
+ visible_message(span_boldwarning("As [src] closes, something is forced up from down below."))
var/obj/structure/closet/crate/necropolis/tendril/lootbox = new /obj/structure/closet/crate/necropolis/tendril(loc)
if(!boosted)
mychild = null
@@ -285,7 +285,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
mychild.health = mychild.maxHealth
if(times_won == 1)
mychild.playsound_local(get_turf(mychild), 'sound/effects/magic.ogg', 40, 0)
- to_chat(mychild, "
As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside.\nDespite this inferno being your home, you feel as if you aren't welcome here anymore.\nWithout any guidance, your purpose is now for you to decide.")
+ to_chat(mychild, span_boldwarning("As the life in the activator's eyes fade, the forcefield around you dies out and you feel your power subside.\nDespite this inferno being your home, you feel as if you aren't welcome here anymore.\nWithout any guidance, your purpose is now for you to decide."))
to_chat(mychild, "
Your max health has been halved, but can now heal by standing on your tumor. Note, it's your only way to heal.\nBear in mind, if anyone interacts with your tumor, you'll be resummoned here to carry out another fight. In such a case, you will regain your full max health.\nAlso, be weary of your fellow inhabitants, they likely won't be happy to see you!")
to_chat(mychild, "
Note that you are a lavaland monster, and thus not allied to the station. You should not cooperate or act friendly with any station crew unless under extreme circumstances!")
@@ -307,11 +307,11 @@ While using this makes the system rely on OnFire, it still gives options for tim
if(istype(target, /mob/living/simple_animal/hostile/asteroid/elite) && proximity_flag)
var/mob/living/simple_animal/hostile/asteroid/elite/E = target
if(E.stat != DEAD || E.sentience_type != SENTIENCE_BOSS || !E.key)
- user.visible_message("
It appears [E] is unable to be revived right now. Perhaps try again later.")
+ user.visible_message(span_notice("It appears [E] is unable to be revived right now. Perhaps try again later."))
return
E.faction = list("[REF(user)]")
E.revive(full_heal = TRUE, admin_revive = TRUE)
- user.visible_message("
[user] stabs [E] with [src], reviving it.")
+ user.visible_message(span_notice("[user] stabs [E] with [src], reviving it."))
E.playsound_local(get_turf(E), 'sound/effects/magic.ogg', 40, 0)
to_chat(E, "
You have been revived by [user]. While you can't speak to them, you owe [user] a great debt. Assist [user.p_them()] in achieving [user.p_their()] goals, regardless of risk.Note that you now share the loyalties of [user]. You are expected not to intentionally sabotage their faction unless commanded to!")
@@ -321,7 +321,7 @@ While using this makes the system rely on OnFire, it still gives options for tim
E.sentience_type = SENTIENCE_ORGANIC
qdel(src)
else
- to_chat(user, "
[src] only works on the corpse of a sentient lavaland elite.")
+ to_chat(user, span_info("[src] only works on the corpse of a sentient lavaland elite."))
/obj/effect/temp_visual/elite_tumor_wall
name = "magic wall"
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm
index d486c00356f..fe59484cc1a 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/goliath_broodmother.dm
@@ -116,26 +116,26 @@
var/tturf = get_turf(target)
if(!isturf(tturf))
return
- visible_message("
[src] digs its tentacles under [target]!")
+ visible_message(span_warning("[src] digs its tentacles under [target]!"))
new /obj/effect/temp_visual/goliath_tentacle/broodmother/patch(tturf, src)
/mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/spawn_children(target)
ranged_cooldown = world.time + 40
- visible_message("
The ground churns behind [src]!")
+ visible_message(span_boldwarning("The ground churns behind [src]!"))
for(var/i in 1 to 2)
if(children_list.len >= 8)
return
var/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/newchild = new /mob/living/simple_animal/hostile/asteroid/elite/broodmother_child(loc)
newchild.GiveTarget(target)
newchild.faction = faction.Copy()
- visible_message("
[newchild] appears below [src]!")
+ visible_message(span_boldwarning("[newchild] appears below [src]!"))
newchild.mother = src
children_list += newchild
/mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/rage()
ranged_cooldown = world.time + 100
playsound(src,'sound/spookoween/insane_low_laugh.ogg', 200, 1)
- visible_message("
[src] starts picking up speed!")
+ visible_message(span_warning("[src] starts picking up speed!"))
color = "#FF0000"
set_varspeed(0)
move_to_delay = 3
@@ -148,7 +148,7 @@
/mob/living/simple_animal/hostile/asteroid/elite/broodmother/proc/call_children()
ranged_cooldown = world.time + 60
- visible_message("
The ground shakes near [src]!")
+ visible_message(span_warning("The ground shakes near [src]!"))
var/list/directions = GLOB.cardinals.Copy() + GLOB.diagonals.Copy()
for(var/mob/child in children_list)
var/spawndir = pick_n_take(directions)
@@ -191,14 +191,14 @@
if(!isturf(tturf))
return
if(get_dist(src, target) <= 7)//Screen range check, so it can't attack people off-screen
- visible_message("
[src] digs one of its tentacles under [target]!")
+ visible_message(span_warning("[src] digs one of its tentacles under [target]!"))
new /obj/effect/temp_visual/goliath_tentacle/broodmother(tturf, src)
/mob/living/simple_animal/hostile/asteroid/elite/broodmother_child/death()
. = ..()
if(mother != null)
mother.children_list -= src
- visible_message("
[src] explodes!")
+ visible_message(span_warning("[src] explodes!"))
explosion(src, flame_range = 3, adminlog = FALSE)
gib()
@@ -208,7 +208,7 @@
for(var/mob/living/L in loc)
if((!QDELETED(spawner) && spawner.faction_check_mob(L)) || L.stat == DEAD)
continue
- visible_message("
[src] grabs hold of [L]!")
+ visible_message(span_danger("[src] grabs hold of [L]!"))
L.Stun(10)
L.adjustBruteLoss(rand(30,35))
latched = TRUE
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm
index bf628771a41..c876abf081e 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/herald.dm
@@ -273,7 +273,7 @@
. = ..()
if(rand(1,100) > hit_reaction_chance)
return
- owner.visible_message("
[owner]'s [src] emits a loud noise as [owner] is struck!")
+ owner.visible_message(span_danger("[owner]'s [src] emits a loud noise as [owner] is struck!"))
var/static/list/directional_shot_angles = list(0, 45, 90, 135, 180, 225, 270, 315)
playsound(get_turf(owner), 'sound/magic/clockwork/invoke_general.ogg', 20, TRUE)
addtimer(CALLBACK(src, .proc/reactionshot, owner), 10)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm
index 44f97e22a59..4018070d179 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/legionnaire.dm
@@ -122,7 +122,7 @@
new /obj/effect/temp_visual/dragon_swoop/legionnaire(T)
T = get_step(T, dir_to_target)
playsound(src,'sound/magic/demon_attack1.ogg', 200, 1)
- visible_message("
[src] prepares to charge!")
+ visible_message(span_boldwarning("[src] prepares to charge!"))
addtimer(CALLBACK(src, .proc/legionnaire_charge_2, dir_to_target, 0), 4)
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/legionnaire_charge_2(move_dir, times_ran)
@@ -151,8 +151,8 @@
if(faction_check_mob(L))
return
hit_things += L
- visible_message("
[src] tramples and kicks [L]!")
- to_chat(L, "
[src] tramples you and kicks you away!")
+ visible_message(span_boldwarning("[src] tramples and kicks [L]!"))
+ to_chat(L, span_userdanger("[src] tramples you and kicks you away!"))
L.safe_throw_at(throwtarget, 10, 1, src)
L.Paralyze(20)
L.adjustBruteLoss(melee_damage_upper)
@@ -168,7 +168,7 @@
icon_state = "legionnaire_headless"
icon_living = "legionnaire_headless"
icon_aggro = "legionnaire_headless"
- visible_message("
[src]'s head flies off!")
+ visible_message(span_boldwarning("[src]'s head flies off!"))
var/mob/living/simple_animal/hostile/asteroid/elite/legionnairehead/newhead = new /mob/living/simple_animal/hostile/asteroid/elite/legionnairehead(loc)
newhead.GiveTarget(target)
newhead.faction = faction.Copy()
@@ -192,7 +192,7 @@
icon_state = "legionnaire"
icon_living = "legionnaire"
icon_aggro = "legionnaire"
- visible_message("
The top of [src]'s spine leaks a black liquid, forming into a skull!")
+ visible_message(span_boldwarning("The top of [src]'s spine leaks a black liquid, forming into a skull!"))
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/bonfire_teleport()
ranged_cooldown = world.time + 5
@@ -201,7 +201,7 @@
mypile = newpile
mypile.myowner = src
playsound(get_turf(src),'sound/items/fultext_deploy.ogg', 200, 1)
- visible_message("
[src] summons a bonfire on [get_turf(src)]!")
+ visible_message(span_boldwarning("[src] summons a bonfire on [get_turf(src)]!"))
return
else
var/turf/legionturf = get_turf(src)
@@ -212,9 +212,9 @@
return
playsound(pileturf,'sound/items/fultext_deploy.ogg', 200, 1)
playsound(legionturf,'sound/items/fultext_deploy.ogg', 200, 1)
- visible_message("
[src] melts down into a burning pile of bones!")
+ visible_message(span_boldwarning("[src] melts down into a burning pile of bones!"))
forceMove(pileturf)
- visible_message("
[src] forms from the bonfire!")
+ visible_message(span_boldwarning("[src] forms from the bonfire!"))
mypile.forceMove(legionturf)
/mob/living/simple_animal/hostile/asteroid/elite/legionnaire/proc/spew_smoke()
@@ -225,11 +225,11 @@
else
smoke_location = get_turf(src)
if(myhead != null)
- myhead.visible_message("
[myhead] spews smoke from its maw!")
+ myhead.visible_message(span_boldwarning("[myhead] spews smoke from its maw!"))
else if(!has_head)
- visible_message("
[src] spews smoke from the tip of their spine!")
+ visible_message(span_boldwarning("[src] spews smoke from the tip of their spine!"))
else
- visible_message("
[src] spews smoke from its maw!")
+ visible_message(span_boldwarning("[src] spews smoke from its maw!"))
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(2, smoke_location)
smoke.start()
@@ -338,10 +338,10 @@
return
var/mob/living/LivingUser = user
if(next_use_time > world.time)
- LivingUser.visible_message("
[LivingUser] shakes the [src], but nothing happens...")
+ LivingUser.visible_message(span_warning("[LivingUser] shakes the [src], but nothing happens..."))
to_chat(LivingUser, "
You need to wait longer to use this again.")
return
- LivingUser.visible_message("
[LivingUser] shakes the [src] and summons a legion skull!")
+ LivingUser.visible_message(span_boldwarning("[LivingUser] shakes the [src] and summons a legion skull!"))
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/LegionSkull = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion(LivingUser.loc)
LegionSkull.friends += LivingUser
LegionSkull.faction = LivingUser.faction.Copy()
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm
index 4e8ea8d0b16..4e3f3126ce3 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/pandora.dm
@@ -146,7 +146,7 @@
for(var/t in RANGE_TURFS(1, source))
new /obj/effect/temp_visual/hierophant/blast/damaging/pandora(t, src)
animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out
- visible_message("
[src] fades out!")
+ visible_message(span_hierophant_warning("[src] fades out!"))
density = FALSE
addtimer(CALLBACK(src, .proc/pandora_teleport_3, T), 2)
@@ -154,7 +154,7 @@
forceMove(T)
animate(src, alpha = 255, time = 2, easing = EASE_IN) //fade IN
density = TRUE
- visible_message("
[src] fades in!")
+ visible_message(span_hierophant_warning("[src] fades in!"))
/mob/living/simple_animal/hostile/asteroid/elite/pandora/proc/aoe_squares(target)
ranged_cooldown = world.time + cooldown_time
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm
index e5f6823cb87..07967ce1b57 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goldgrub.dm
@@ -73,20 +73,20 @@
return
var/turf/T = get_turf(G)
if (!istype(T, /turf/open/floor/plating/asteroid) || !do_after(G, 30, target = T))
- to_chat(G, "
You can only burrow in and out of mining turfs and must stay still!")
+ to_chat(G, span_warning("You can only burrow in and out of mining turfs and must stay still!"))
return
if (get_dist(G, T) != 0)
- to_chat(G, "
Action cancelled, as you moved while reappearing.")
+ to_chat(G, span_warning("Action cancelled, as you moved while reappearing."))
return
if(G.is_burrowed)
holder = G.loc
G.forceMove(T)
QDEL_NULL(holder)
G.is_burrowed = FALSE
- G.visible_message("
[G] emerges from the ground!")
+ G.visible_message(span_danger("[G] emerges from the ground!"))
playsound(get_turf(G), 'sound/effects/break_stone.ogg', 50, TRUE, -1)
else
- G.visible_message("
[G] buries into the ground, vanishing from sight!")
+ G.visible_message(span_danger("[G] buries into the ground, vanishing from sight!"))
playsound(get_turf(G), 'sound/effects/break_stone.ogg', 50, TRUE, -1)
holder = new /obj/effect/dummy/phased_mob(T)
G.forceMove(holder)
@@ -96,10 +96,10 @@
add_target(new_target)
if(target != null)
if(istype(target, /obj/item/stack/ore))
- visible_message("
The [name] looks at [target.name] with hungry eyes.")
+ visible_message(span_notice("The [name] looks at [target.name] with hungry eyes."))
else if(isliving(target))
Aggro()
- visible_message("
The [name] tries to flee from [target.name]!")
+ visible_message(span_danger("The [name] tries to flee from [target.name]!"))
retreat_distance = 10
minimum_distance = 10
if(will_burrow)
@@ -122,18 +122,18 @@
return ..()
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/barf_contents()
- visible_message("
[src] spits out its consumed ores!")
+ visible_message(span_danger("[src] spits out its consumed ores!"))
playsound(src, 'sound/effects/splat.ogg', 50, TRUE)
for(var/atom/movable/AM in src)
AM.forceMove(loc)
/mob/living/simple_animal/hostile/asteroid/goldgrub/proc/Burrow()//Begin the chase to kill the goldgrub in time
if(!stat)
- visible_message("
The [name] buries into the ground, vanishing from sight!")
+ visible_message(span_danger("The [name] buries into the ground, vanishing from sight!"))
qdel(src)
/mob/living/simple_animal/hostile/asteroid/goldgrub/bullet_act(obj/projectile/P)
- visible_message("
The [P.name] is repelled by [name]'s girth!")
+ visible_message(span_danger("The [P.name] is repelled by [name]'s girth!"))
return BULLET_ACT_BLOCK
/mob/living/simple_animal/hostile/asteroid/goldgrub/adjustHealth(amount, updating_health = TRUE, forced = FALSE)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm
index 1a90987b8e6..72814c0fb31 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/goliath.dm
@@ -68,7 +68,7 @@
if(!isturf(tturf))
return
if(get_dist(src, target) <= 7)//Screen range check, so you can't get tentacle'd offscreen
- visible_message("
[src] digs its tentacles under [target]!")
+ visible_message(span_warning("[src] digs its tentacles under [target]!"))
new /obj/effect/temp_visual/goliath_tentacle/original(tturf, src)
ranged_cooldown = world.time + ranged_cooldown_time
icon_state = icon_aggro
@@ -115,7 +115,7 @@
return ..()
if(can_saddle && do_after(user,55,target=src))
- user.visible_message("
You manage to put [O] on [src], you can now ride [p_them()].")
+ user.visible_message(span_notice("You manage to put [O] on [src], you can now ride [p_them()]."))
qdel(O)
saddled = TRUE
can_buckle = TRUE
@@ -123,7 +123,7 @@
add_overlay("goliath_saddled")
AddElement(/datum/element/ridable, /datum/component/riding/creature/goliath)
else
- user.visible_message("
[src] is rocking around! You can't put the saddle on!")
+ user.visible_message(span_warning("[src] is rocking around! You can't put the saddle on!"))
..()
/mob/living/simple_animal/hostile/asteroid/goliath/beast/proc/tamed(mob/living/tamer)
@@ -217,7 +217,7 @@
for(var/mob/living/L in loc)
if((!QDELETED(spawner) && spawner.faction_check_mob(L)) || L.stat == DEAD)
continue
- visible_message("
[src] grabs hold of [L]!")
+ visible_message(span_danger("[src] grabs hold of [L]!"))
L.Stun(100)
L.adjustBruteLoss(rand(10,15))
latched = TRUE
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm
index e0ac82d86f2..909f63790bc 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/gutlunch.dm
@@ -126,5 +126,5 @@
L.faction = faction
L.setDir(dir)
L.Stun(20, ignore_canstun = TRUE)
- visible_message("
[src] grows up into [L].")
+ visible_message(span_notice("[src] grows up into [L]."))
qdel(src)
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
index b1a081b4954..33288aef981 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
@@ -143,7 +143,7 @@
dwarf_mob = TRUE
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/death(gibbed)
- visible_message("
The skulls on [src] wail in anger as they flee from their dying host!")
+ visible_message(span_warning("The skulls on [src] wail in anger as they flee from their dying host!"))
var/turf/T = get_turf(src)
if(T)
if(stored_mob)
@@ -213,9 +213,9 @@
///Create a new legion using the supplied human H
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/proc/infest(mob/living/carbon/human/H)
- visible_message("
[name] burrows into the flesh of [H]!")
+ visible_message(span_warning("[name] burrows into the flesh of [H]!"))
var/mob/living/simple_animal/hostile/asteroid/hivelord/legion/L = make_legion(H)
- visible_message("
[L] staggers to [L.p_their()] feet!")
+ visible_message(span_warning("[L] staggers to [L.p_their()] feet!"))
H.death()
H.adjustBruteLoss(1000)
L.stored_mob = H
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm
index 670b2b9859c..7a25e3f6df3 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/lobstrosity.dm
@@ -39,7 +39,7 @@
if(COOLDOWN_FINISHED(src, charge_cooldown))
INVOKE_ASYNC(src, /mob/living/simple_animal/hostile/.proc/enter_charge, target)
else
- to_chat(src, "
Your charge is still on cooldown!")
+ to_chat(src, span_notice("Your charge is still on cooldown!"))
/mob/living/simple_animal/hostile/asteroid/lobstrosity/lava
name = "tropical lobstrosity"
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm
index e3ace991812..59f1553ac03 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm
@@ -38,7 +38,7 @@
Aggro()
if(P.damage < 30 && P.damage_type != BRUTE)
P.damage = (P.damage / 3)
- visible_message("
[P] has a reduced effect on [src]!")
+ visible_message(span_danger("[P] has a reduced effect on [src]!"))
..()
/mob/living/simple_animal/hostile/asteroid/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum) //No floor tiling them to death, wiseguy
@@ -47,7 +47,7 @@
if(!stat)
Aggro()
if(T.throwforce <= 20)
- visible_message("
The [T.name] [throw_message] [src.name]!")
+ visible_message(span_notice("The [T.name] [throw_message] [src.name]!"))
return
..()
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm
index 5f95457b445..a34b8defbd2 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm
@@ -42,7 +42,7 @@
rapid_melee = initial(rapid_melee)
return
if(!aggressive_message_said && target)
- visible_message("
The [name] gets an enraged look at [target]!")
+ visible_message(span_danger("The [name] gets an enraged look at [target]!"))
aggressive_message_said = TRUE
rapid_melee = 2
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm
index db92c29c377..61ce1ffea9c 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm
@@ -49,7 +49,7 @@
retreat_distance = initial(retreat_distance)
return
if(!retreat_message_said && target)
- visible_message("
The [name] tries to flee from [target]!")
+ visible_message(span_danger("The [name] tries to flee from [target]!"))
retreat_message_said = TRUE
retreat_distance = 30
diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
index 9b8128cff29..a4aaa508e1c 100644
--- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm
@@ -45,9 +45,9 @@
/mob/living/simple_animal/hostile/mushroom/examine(mob/user)
. = ..()
if(health >= maxHealth)
- . += "
It looks healthy."
+ . += span_info("It looks healthy.")
else
- . += "
It looks like it's been roughed up."
+ . += span_info("It looks like it's been roughed up.")
/mob/living/simple_animal/hostile/mushroom/Life(delta_time = SSMOBS_DT, times_fired)
..()
@@ -101,10 +101,10 @@
if(istype(user, /mob/living/simple_animal/hostile/mushroom) && stat == DEAD)
var/mob/living/simple_animal/hostile/mushroom/shroom = user
if(faint_ticker < 2)
- shroom.visible_message("
[shroom] chews a bit on [src].")
+ shroom.visible_message(span_notice("[shroom] chews a bit on [src]."))
faint_ticker++
return TRUE
- shroom.visible_message("
[shroom] devours [src]!")
+ shroom.visible_message(span_warning("[shroom] devours [src]!"))
var/level_gain = (powerlevel - shroom.powerlevel)
if(level_gain >= -1 && !bruised && !shroom.ckey)//Player shrooms can't level up to become robust gods.
if(level_gain < 1)//So we still gain a level if two mushrooms were the same level
@@ -135,7 +135,7 @@
add_overlay(cap_living)
/mob/living/simple_animal/hostile/mushroom/proc/Recover()
- visible_message("
[src] slowly begins to recover.")
+ visible_message(span_notice("[src] slowly begins to recover."))
faint_ticker = 0
revive(full_heal = TRUE, admin_revive = FALSE)
UpdateMushroomCap()
@@ -157,7 +157,7 @@
/mob/living/simple_animal/hostile/mushroom/proc/Bruise()
if(!bruised && !stat)
- src.visible_message("
The [src.name] is bruised!")
+ src.visible_message(span_notice("The [src.name] is bruised!"))
bruised = 1
/mob/living/simple_animal/hostile/mushroom/attackby(obj/item/I, mob/user, params)
@@ -166,7 +166,7 @@
Recover()
qdel(I)
else
- to_chat(user, "
[src] won't eat it!")
+ to_chat(user, span_warning("[src] won't eat it!"))
return
if(I.force)
Bruise()
diff --git a/code/modules/mob/living/simple_animal/hostile/netherworld.dm b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
index 8ba8f999a51..86db07e79df 100644
--- a/code/modules/mob/living/simple_animal/hostile/netherworld.dm
+++ b/code/modules/mob/living/simple_animal/hostile/netherworld.dm
@@ -47,10 +47,10 @@
return
var/turf/T = get_turf(N)
if (N.can_be_seen(T) || !do_after(N, 60, target = T))
- to_chat(N, "
You can't phase in or out while being observed and you must stay still!")
+ to_chat(N, span_warning("You can't phase in or out while being observed and you must stay still!"))
return
if (get_dist(N, T) != 0 || N.can_be_seen(T))
- to_chat(N, "
Action cancelled, as you moved while reappearing or someone is now viewing your location.")
+ to_chat(N, span_warning("Action cancelled, as you moved while reappearing or someone is now viewing your location."))
return
if(N.is_phased)
holder = N.loc
@@ -159,17 +159,17 @@
/obj/structure/spawner/nether/examine(mob/user)
. = ..()
if(isskeleton(user) || iszombie(user))
- . += "A direct link to another dimension full of creatures very happy to see you.
You can see your house from here!"
+ . += "A direct link to another dimension full of creatures very happy to see you. [span_nicegreen("You can see your house from here!")]"
else
- . += "A direct link to another dimension full of creatures not very happy to see you.
Entering the link would be a very bad idea."
+ . += "A direct link to another dimension full of creatures not very happy to see you. [span_warning("Entering the link would be a very bad idea.")]"
/obj/structure/spawner/nether/attack_hand(mob/user, list/modifiers)
. = ..()
if(isskeleton(user) || iszombie(user))
- to_chat(user, "
You don't feel like going home yet...")
+ to_chat(user, span_notice("You don't feel like going home yet..."))
else
- user.visible_message("
[user] is violently pulled into the link!", \
- "
Touching the portal, you are quickly pulled through into a world of unimaginable horror!")
+ user.visible_message(span_warning("[user] is violently pulled into the link!"), \
+ span_userdanger("Touching the portal, you are quickly pulled through into a world of unimaginable horror!"))
contents.Add(user)
/obj/structure/spawner/nether/process(delta_time)
@@ -183,5 +183,5 @@
blank = new(loc)
blank.name = "[M]"
blank.desc = "It's [M], but [M.p_their()] flesh has an ashy texture, and [M.p_their()] face is featureless save an eerie smile."
- src.visible_message("
[M] reemerges from the link!")
+ src.visible_message(span_warning("[M] reemerges from the link!"))
qdel(M)
diff --git a/code/modules/mob/living/simple_animal/hostile/ooze.dm b/code/modules/mob/living/simple_animal/hostile/ooze.dm
index 2b51b955f16..7336df660bb 100644
--- a/code/modules/mob/living/simple_animal/hostile/ooze.dm
+++ b/code/modules/mob/living/simple_animal/hostile/ooze.dm
@@ -93,7 +93,7 @@
///Tries to transfer the atoms reagents then delete it
/mob/living/simple_animal/hostile/ooze/proc/eat_atom(obj/item/eaten_atom)
eaten_atom.reagents.trans_to(src, eaten_atom.reagents.total_volume, transfered_by = src)
- src.visible_message("
You eat [eaten_atom].")
+ src.visible_message("
You start feel a lot quicker.")
+ to_chat(ooze, span_notice("You start feel a lot quicker."))
active = TRUE
ooze.adjust_ooze_nutrition(-10)
@@ -188,7 +188,7 @@
/datum/action/cooldown/metabolicboost/proc/FinishSpeedup(timerid)
var/mob/living/simple_animal/hostile/ooze/ooze = owner
ooze.remove_movespeed_modifier(/datum/movespeed_modifier/metabolicboost)
- to_chat(ooze, "
You start slowing down again.")
+ to_chat(ooze, span_notice("You start slowing down again."))
deltimer(timerid)
active = FALSE
StartCooldown()
@@ -222,18 +222,18 @@
return
var/mob/living/simple_animal/hostile/ooze/gelatinous/ooze = owner
if(!isliving(ooze.pulling))
- to_chat(src, "
You need to be pulling a creature for this to work!")
+ to_chat(src, span_warning("You need to be pulling a creature for this to work!"))
return FALSE
if(vored_mob)
- to_chat(src, "
You are already consuming another creature!")
+ to_chat(src, span_warning("You are already consuming another creature!"))
return FALSE
- owner.visible_message("
You start attempting to devour [target].")
+ owner.visible_message("
This creature isn't to my tastes!")
+ to_chat(src, span_warning("This creature isn't to my tastes!"))
return FALSE
start_consuming(eat_target)
@@ -243,7 +243,7 @@
vored_mob.forceMove(owner) ///AAAAAAAAAAAAAAAAAAAAAAHHH!!!
RegisterSignal(vored_mob, COMSIG_PARENT_PREQDELETED, .proc/handle_mob_deletion)
playsound(owner,'sound/items/eatfood.ogg', rand(30,50), TRUE)
- owner.visible_message("
You devour [target].")
+ owner.visible_message("
You puke out [vored_mob].")
+ owner.visible_message("
This ability is still on cooldown.")
+ to_chat(user, span_notice("This ability is still on cooldown."))
return
if(active)
- message = "
You stop preparing your mending globules."
+ message = span_notice("You stop preparing your mending globules.")
remove_ranged_ability(message)
else
- message = "
You prepare to launch a mending globule. Left-click to fire at a target!"
+ message = span_notice("You prepare to launch a mending globule.
Left-click to fire at a target!")
add_ranged_ability(user, message, TRUE)
/obj/effect/proc_holder/globules/InterceptClickOn(mob/living/caller, params, atom/target)
@@ -359,11 +359,11 @@
var/mob/living/simple_animal/hostile/ooze/ooze = ranged_ability_user
if(ooze.ooze_nutrition < 5)
- to_chat(ooze, "
You need at least 5 nutrition to launch a mending globule.")
+ to_chat(ooze, span_warning("You need at least 5 nutrition to launch a mending globule."))
remove_ranged_ability()
return
- ooze.visible_message("
You launch a mending globule.")
+ ooze.visible_message("
You need to be pulling an intelligent enough creature to assist it with a cocoon!")
+ to_chat(src, span_warning("You need to be pulling an intelligent enough creature to assist it with a cocoon!"))
return FALSE
- owner.visible_message("
You start attempting to put [target] into a gel cocoon.")
+ owner.visible_message("
[owner] has put [target] into a gel cocoon!", "
You put [target] into a gel cocoon.")
+ owner.visible_message("
You see [user] breaking out of [src]!", \
- "
You start tearing the soft tissue of the gel cocoon")
+ user.visible_message(span_notice("You see [user] breaking out of [src]!"), \
+ span_notice("You start tearing the soft tissue of the gel cocoon"))
if(!do_after(user, 1.5 SECONDS, target = src))
return FALSE
dump_inhabitant()
@@ -495,7 +495,7 @@
inhabitant.forceMove(get_turf(src))
playsound(get_turf(inhabitant), 'sound/effects/splat.ogg', 50, TRUE)
inhabitant.Paralyze(10)
- inhabitant.visible_message("
You fall out of [src].")
+ inhabitant.visible_message("
You are an independent, invasive force on the station! Horde coins, trash, cheese, and the like from the safety of darkness!")
+ to_chat(src, span_notice("You are an independent, invasive force on the station! Horde coins, trash, cheese, and the like from the safety of darkness!"))
/mob/living/simple_animal/hostile/regalrat/handle_automated_action()
if(prob(20))
@@ -79,11 +79,11 @@
if(istype(user,/mob/living/simple_animal/hostile/rat))
var/mob/living/simple_animal/hostile/rat/ratself = user
if(ratself.faction_check_mob(src, TRUE))
- . += "
This is your king. Long live his majesty!"
+ . += span_notice("This is your king. Long live his majesty!")
else
- . += "
This is a false king! Strike him down!"
+ . += span_warning("This is a false king! Strike him down!")
else if(user != src && istype(user,/mob/living/simple_animal/hostile/regalrat))
- . += "
Who is this foolish false king? This will not stand!"
+ . += span_warning("Who is this foolish false king? This will not stand!")
/mob/living/simple_animal/hostile/regalrat/handle_environment(datum/gas_mixture/environment)
. = ..()
@@ -103,10 +103,10 @@
return
if (target.reagents && target.is_injectable(src, allowmobs = TRUE))
- src.visible_message("
[src] starts licking [target] passionately!","
You start licking [target]...")
+ src.visible_message(span_warning("[src] starts licking [target] passionately!"),span_notice("You start licking [target]..."))
if (do_mob(src, target, 2 SECONDS, interaction_key = "regalrat"))
target.reagents.add_reagent(/datum/reagent/rat_spit,rand(1,3),no_react = TRUE)
- to_chat(src, "
You finish licking [target].")
+ to_chat(src, span_notice("You finish licking [target]."))
else
SEND_SIGNAL(target, COMSIG_RAT_INTERACT, src)
@@ -124,7 +124,7 @@
heal_bodypart_damage(amount)
qdel(target)
else
- to_chat(src, "
You feel fine, no need to eat anything!")
+ to_chat(src, span_warning("You feel fine, no need to eat anything!"))
/mob/living/simple_animal/hostile/regalrat/controlled/Initialize()
. = ..()
@@ -191,12 +191,12 @@
qdel(M)
if(!something_from_nothing)
if(LAZYLEN(SSmobs.cheeserats) >= cap)
- to_chat(owner,"
There's too many mice on this station to beckon a new one! Find them first!")
+ to_chat(owner,span_warning("There's too many mice on this station to beckon a new one! Find them first!"))
return
new /mob/living/simple_animal/mouse(owner.loc)
- owner.visible_message("
[owner] commands a mouse to its side!")
+ owner.visible_message(span_warning("[owner] commands a mouse to its side!"))
else
- owner.visible_message("
[owner] commands its army to action, mutating them into rats!")
+ owner.visible_message(span_warning("[owner] commands its army to action, mutating them into rats!"))
StartCooldown()
/mob/living/simple_animal/hostile/rat
@@ -247,7 +247,7 @@
/mob/living/simple_animal/hostile/rat/revive(full_heal = FALSE, admin_revive = FALSE)
var/cap = CONFIG_GET(number/ratcap)
if(!admin_revive && !ckey && LAZYLEN(SSmobs.cheeserats) >= cap)
- visible_message("
[src] twitched but does not continue moving due to the overwhelming rodent population on the station!")
+ visible_message(span_warning("[src] twitched but does not continue moving due to the overwhelming rodent population on the station!"))
return FALSE
. = ..()
if(.)
@@ -258,15 +258,15 @@
if(istype(user,/mob/living/simple_animal/hostile/rat))
var/mob/living/simple_animal/hostile/rat/ratself = user
if(ratself.faction_check_mob(src, TRUE))
- . += "
You both serve the same king."
+ . += span_notice("You both serve the same king.")
else
- . += "
This fool serves a different king!"
+ . += span_warning("This fool serves a different king!")
else if(istype(user,/mob/living/simple_animal/hostile/regalrat))
var/mob/living/simple_animal/hostile/regalrat/ratking = user
if(ratking.faction_check_mob(src, TRUE))
- . += "
This rat serves under you."
+ . += span_notice("This rat serves under you.")
else
- . += "
This peasant serves a different king! Strike him down!"
+ . += span_warning("This peasant serves a different king! Strike him down!")
/mob/living/simple_animal/hostile/rat/CanAttack(atom/the_target)
if(istype(the_target,/mob/living/simple_animal))
@@ -293,12 +293,12 @@
var/obj/structure/cable/C = locate() in F
if(C && prob(15))
if(C.avail())
- visible_message("
[src] chews through the [C]. It's toast!")
+ visible_message(span_warning("[src] chews through the [C]. It's toast!"))
playsound(src, 'sound/effects/sparks2.ogg', 100, TRUE)
C.deconstruct()
death()
else if(C?.avail())
- visible_message("
[src] chews through the [C]. It looks unharmed!")
+ visible_message(span_warning("[src] chews through the [C]. It looks unharmed!"))
playsound(src, 'sound/effects/sparks2.ogg', 100, TRUE)
C.deconstruct()
@@ -306,9 +306,9 @@
. = ..()
if(istype(target, /obj/item/food/cheese))
if (health >= maxHealth)
- to_chat(src, "
You feel fine, no need to eat anything!")
+ to_chat(src, span_warning("You feel fine, no need to eat anything!"))
return
- to_chat(src, "
You eat \the [src], restoring some health.")
+ to_chat(src, span_green("You eat \the [src], restoring some health."))
heal_bodypart_damage(maxHealth)
qdel(target)
@@ -330,23 +330,23 @@
..()
if(HAS_TRAIT(L, TRAIT_AGEUSIA))
return
- to_chat(L, "
This food has a funny taste!")
+ to_chat(L, span_notice("This food has a funny taste!"))
/datum/reagent/rat_spit/overdose_start(mob/living/M)
..()
var/mob/living/carbon/victim = M
if (istype(victim))
- to_chat(victim, "
With this last sip, you feel your body convulsing horribly from the contents you've ingested. As you contemplate your actions, you sense an awakened kinship with rat-kind and their newly risen leader!")
+ to_chat(victim, span_userdanger("With this last sip, you feel your body convulsing horribly from the contents you've ingested. As you contemplate your actions, you sense an awakened kinship with rat-kind and their newly risen leader!"))
victim.faction |= "rat"
victim.vomit()
metabolization_rate = 10 * REAGENTS_METABOLISM
/datum/reagent/rat_spit/on_mob_life(mob/living/carbon/C)
if(prob(15))
- to_chat(C, "
You feel queasy!")
+ to_chat(C, span_notice("You feel queasy!"))
C.adjust_disgust(3)
else if(prob(10))
- to_chat(C, "
That food does not sit up well!")
+ to_chat(C, span_warning("That food does not sit up well!"))
C.adjust_disgust(5)
else if(prob(5))
C.vomit()
diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
index 4000bc9c00b..d0ac02f733e 100644
--- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
+++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
@@ -348,7 +348,7 @@
if(IS_EDIBLE(potential_food))
if(prank_pouch.len >= 8)
- to_chat(src, "
Your prank pouch is filled to the brim! You don't think you can swallow any more morsels right now.")
+ to_chat(src, span_warning("Your prank pouch is filled to the brim! You don't think you can swallow any more morsels right now."))
return FALSE
return TRUE
@@ -359,7 +359,7 @@
/obj/item/food/grown/tomato,
/obj/item/food/meatclown)
- visible_message("
You eat [eaten_atom].")
+ visible_message("
Your throat muscles relax.")
+ remove_ranged_ability(span_notice("Your throat muscles relax."))
else
user.icon_state = "glutton_tongue"
- add_ranged_ability(user, "
Your throat muscles tense up. Left-click to regurgitate a funny morsel!", TRUE)
+ add_ranged_ability(user, span_notice("Your throat muscles tense up.
Left-click to regurgitate a funny morsel!"), TRUE)
/obj/effect/proc_holder/regurgitate/InterceptClickOn(mob/living/caller, params, atom/target)
. = ..()
@@ -424,7 +424,7 @@
if(!pouch_owner.prank_pouch.len)
//active = FALSE
pouch_owner.icon_state = "glutton"
- remove_ranged_ability("
Your prank pouch is empty,.")
+ remove_ranged_ability(span_notice("Your prank pouch is empty,."))
return
var/obj/item/projected_morsel = pick(pouch_owner.prank_pouch)
diff --git a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm
index 4090cea337d..2a2d47a7a31 100644
--- a/code/modules/mob/living/simple_animal/hostile/space_dragon.dm
+++ b/code/modules/mob/living/simple_animal/hostile/space_dragon.dm
@@ -110,7 +110,7 @@
if(consumed_mob.stat == DEAD)
continue
playsound(src, 'sound/effects/splat.ogg', 50, TRUE)
- visible_message("
[src] vomits up [consumed_mob]!")
+ visible_message(span_danger("[src] vomits up [consumed_mob]!"))
consumed_mob.forceMove(loc)
consumed_mob.Paralyze(50)
if((rifts_charged == 3 || (SSshuttle.emergency.mode == SHUTTLE_DOCKED && rifts_charged > 0)) && !objective_complete)
@@ -119,10 +119,10 @@
return
riftTimer = min(riftTimer + 1, maxRiftTimer + 1)
if(riftTimer == (maxRiftTimer - 60))
- to_chat(src, "
You have a minute left to summon the rift! Get to it!")
+ to_chat(src, span_boldwarning("You have a minute left to summon the rift! Get to it!"))
return
if(riftTimer >= maxRiftTimer)
- to_chat(src, "
You've failed to summon the rift in a timely manner! You're being pulled back from whence you came!")
+ to_chat(src, span_boldwarning("You've failed to summon the rift in a timely manner! You're being pulled back from whence you came!"))
destroy_rifts()
playsound(src, 'sound/magic/demon_dies.ogg', 100, TRUE)
QDEL_NULL(src)
@@ -131,14 +131,14 @@
if(using_special)
return
if(target == src)
- to_chat(src, "
You almost bite yourself, but then decide against it.")
+ to_chat(src, span_warning("You almost bite yourself, but then decide against it."))
return
if(istype(target, /turf/closed/wall))
if(tearing_wall)
return
tearing_wall = TRUE
var/turf/closed/wall/thewall = target
- to_chat(src, "
You begin tearing through the wall...")
+ to_chat(src, span_warning("You begin tearing through the wall..."))
playsound(src, 'sound/machines/airlock_alien_prying.ogg', 100, TRUE)
var/timetotear = 40
if(istype(target, /turf/closed/wall/r_wall))
@@ -153,7 +153,7 @@
if(isliving(target)) //Swallows corpses like a snake to regain health.
var/mob/living/L = target
if(L.stat == DEAD)
- to_chat(src, "
You begin to swallow [L] whole...")
+ to_chat(src, span_warning("You begin to swallow [L] whole..."))
if(do_after(src, 30, target = L))
if(eat(L))
adjustHealth(-L.maxHealth * 0.5)
@@ -205,10 +205,10 @@
/mob/living/simple_animal/hostile/space_dragon/proc/dragon_name()
var/chosen_name = sanitize_name(reject_bad_text(stripped_input(src, "What would you like your name to be?", "Choose Your Name", real_name, MAX_NAME_LEN)))
if(!chosen_name)
- to_chat(src, "
Not a valid name, please try again.")
+ to_chat(src, span_warning("Not a valid name, please try again."))
dragon_name()
return
- to_chat(src, "
Your name is now [chosen_name], the feared Space Dragon.")
+ to_chat(src, span_notice("Your name is now [span_name("[chosen_name]")], the feared Space Dragon."))
fully_replace_character_name(null, chosen_name)
/**
@@ -220,12 +220,12 @@
/mob/living/simple_animal/hostile/space_dragon/proc/color_selection()
chosen_color = input(src,"What would you like your color to be?","Choose Your Color", COLOR_WHITE) as color|null
if(!chosen_color) //redo proc until we get a color
- to_chat(src, "
Not a valid color, please try again.")
+ to_chat(src, span_warning("Not a valid color, please try again."))
color_selection()
return
var/temp_hsv = RGBtoHSV(chosen_color)
if(ReadHSV(temp_hsv)[3] < DARKNESS_THRESHOLD)
- to_chat(src, "
Invalid color. Your color is not bright enough.")
+ to_chat(src, span_danger("Invalid color. Your color is not bright enough."))
color_selection()
return
add_atom_colour(chosen_color, FIXED_COLOUR_PRIORITY)
@@ -320,7 +320,7 @@
continue
hit_list += L
L.adjustFireLoss(30)
- to_chat(L, "
You're hit by [src]'s fire breath!")
+ to_chat(L, span_userdanger("You're hit by [src]'s fire breath!"))
// deals damage to mechs
for(var/obj/vehicle/sealed/mecha/M in T.contents)
if(M in hit_list)
@@ -339,7 +339,7 @@
/mob/living/simple_animal/hostile/space_dragon/proc/eat(atom/movable/A)
if(A && A.loc != src)
playsound(src, 'sound/magic/demon_attack1.ogg', 100, TRUE)
- visible_message("
[src] swallows [A] whole!")
+ visible_message(span_warning("[src] swallows [A] whole!"))
A.forceMove(src)
return TRUE
return FALSE
@@ -451,8 +451,8 @@
if(L == src)
continue
hit_things += L
- visible_message("
[L] is knocked back by the gust!")
- to_chat(L, "
You're knocked back by the gust!")
+ visible_message(span_boldwarning("[L] is knocked back by the gust!"))
+ to_chat(L, span_userdanger("You're knocked back by the gust!"))
var/dir_to_target = get_dir(get_turf(src), get_turf(L))
var/throwtarget = get_edge_target_turf(target, dir_to_target)
L.safe_throw_at(throwtarget, 10, 1, src)
@@ -494,18 +494,18 @@
if(S.using_special)
return
if(S.riftTimer == -1)
- to_chat(S, "
Your death has left you unable to summon rifts!")
+ to_chat(S, span_warning("Your death has left you unable to summon rifts!"))
return
var/area/A = get_area(S)
if(!(A.area_flags & VALID_TERRITORY))
- to_chat(S, "
You can't summon a rift here! Try summoning somewhere secure within the station!")
+ to_chat(S, span_warning("You can't summon a rift here! Try summoning somewhere secure within the station!"))
return
for(var/obj/structure/carp_rift/rift in S.rift_list)
var/area/RA = get_area(rift)
if(RA == A)
- to_chat(S, "
You've already summoned a rift in this area! You have to summon again somewhere else!")
+ to_chat(S, span_warning("You've already summoned a rift in this area! You have to summon again somewhere else!"))
return
- to_chat(S, "
You begin to open a rift...")
+ to_chat(S, span_warning("You begin to open a rift..."))
if(do_after(S, 100, target = S))
for(var/obj/structure/carp_rift/c in S.loc.contents)
return
@@ -514,7 +514,7 @@
S.riftTimer = -1
CR.dragon = S
S.rift_list += CR
- to_chat(S, "
The rift has been summoned. Prevent the crew from destroying it at all costs!")
+ to_chat(S, span_boldwarning("The rift has been summoned. Prevent the crew from destroying it at all costs!"))
notify_ghosts("The Space Dragon has opened a rift!", source = CR, action = NOTIFY_ORBIT, flashwindow = FALSE, header = "Carp Rift Opened")
qdel(src)
@@ -561,12 +561,12 @@
/obj/structure/carp_rift/examine(mob/user)
. = ..()
if(time_charged < max_charge)
- . += "
It seems to be [(time_charged / max_charge) * 100]% charged."
+ . += span_notice("It seems to be [(time_charged / max_charge) * 100]% charged.")
else
- . += "
This one is fully charged. In this state, it is poised to transport a much larger amount of carp than normal."
+ . += span_warning("This one is fully charged. In this state, it is poised to transport a much larger amount of carp than normal.")
if(isobserver(user))
- . += "
It has [carp_stored] carp available to spawn as."
+ . += span_notice("It has [carp_stored] carp available to spawn as.")
/obj/structure/carp_rift/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
playsound(src, 'sound/magic/lightningshock.ogg', 50, TRUE)
@@ -576,7 +576,7 @@
if(time_charged != max_charge + 1)
dragon?.destroy_rifts()
if(dragon)
- to_chat(dragon, "
A rift has been destroyed! You have failed, and find yourself weakened.")
+ to_chat(dragon, span_boldwarning("A rift has been destroyed! You have failed, and find yourself weakened."))
return ..()
/obj/structure/carp_rift/process(delta_time)
@@ -670,14 +670,14 @@
if(carp_ask == "No" || !src || QDELETED(src) || QDELETED(user))
return FALSE
if(carp_stored <= 0)
- to_chat(user, "
The rift already summoned enough carp!")
+ to_chat(user, span_warning("The rift already summoned enough carp!"))
return FALSE
var/mob/living/simple_animal/hostile/carp/newcarp = new /mob/living/simple_animal/hostile/carp(loc)
newcarp.key = user.key
var/datum/antagonist/space_dragon/S = dragon.mind.has_antag_datum(/datum/antagonist/space_dragon)
if(S)
S.carp += newcarp.mind
- to_chat(newcarp, "
You have arrived in order to assist the space dragon with securing the rifts. Do not jeopardize the mission, and protect the rifts at all costs!")
+ to_chat(newcarp, span_boldwarning("You have arrived in order to assist the space dragon with securing the rifts. Do not jeopardize the mission, and protect the rifts at all costs!"))
carp_stored--
if(carp_stored <= 0 && charge_state < CHARGE_COMPLETED)
icon_state = "carp_rift"
diff --git a/code/modules/mob/living/simple_animal/hostile/statue.dm b/code/modules/mob/living/simple_animal/hostile/statue.dm
index 99212de7829..b5c7dc386dd 100644
--- a/code/modules/mob/living/simple_animal/hostile/statue.dm
+++ b/code/modules/mob/living/simple_animal/hostile/statue.dm
@@ -79,7 +79,7 @@
/mob/living/simple_animal/hostile/statue/Move(turf/NewLoc)
if(can_be_seen(NewLoc))
if(client)
- to_chat(src, "
You cannot move, there are eyes on you!")
+ to_chat(src, span_warning("You cannot move, there are eyes on you!"))
return
return ..()
@@ -97,7 +97,7 @@
/mob/living/simple_animal/hostile/statue/AttackingTarget()
if(can_be_seen(get_turf(loc)))
if(client)
- to_chat(src, "
You cannot attack, there are eyes on you!")
+ to_chat(src, span_warning("You cannot attack, there are eyes on you!"))
return FALSE
else
return ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
index c47e99d8d20..160e7009a14 100644
--- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm
+++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm
@@ -134,7 +134,7 @@
/mob/living/simple_animal/hostile/syndicate/melee/bullet_act(obj/projectile/Proj)
if(prob(projectile_deflect_chance))
- visible_message("
[src] blocks [Proj] with its shield!")
+ visible_message(span_danger("[src] blocks [Proj] with its shield!"))
return BULLET_ACT_BLOCK
return ..()
diff --git a/code/modules/mob/living/simple_animal/hostile/tree.dm b/code/modules/mob/living/simple_animal/hostile/tree.dm
index 09bc95ebc5c..4110f54cf09 100644
--- a/code/modules/mob/living/simple_animal/hostile/tree.dm
+++ b/code/modules/mob/living/simple_animal/hostile/tree.dm
@@ -71,8 +71,8 @@
var/mob/living/carbon/C = target
if(prob(15))
C.Paralyze(60)
- C.visible_message("
\The [src] knocks down \the [C]!", \
- "
\The [src] knocks you down!")
+ C.visible_message(span_danger("\The [src] knocks down \the [C]!"), \
+ span_userdanger("\The [src] knocks you down!"))
/mob/living/simple_animal/hostile/tree/add_cell_sample()
AddElement(/datum/element/swabable, CELL_LINE_TABLE_PINE, CELL_VIRUS_TABLE_GENERIC_MOB, 1, 5)
@@ -98,7 +98,7 @@
/mob/living/simple_animal/hostile/tree/festivus/attack_hand(mob/living/carbon/human/user, list/modifiers)
. = ..()
if(!user.combat_mode)
- visible_message("
[src] crackles with static electricity!")
+ visible_message(span_warning("[src] crackles with static electricity!"))
for(var/obj/item/stock_parts/cell/C in range(2, get_turf(src)))
C.give(75)
for(var/mob/living/silicon/robot/R in range(2, get_turf(src)))
diff --git a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm
index 7e2a485fd38..6391df7baf7 100644
--- a/code/modules/mob/living/simple_animal/hostile/vatbeast.dm
+++ b/code/modules/mob/living/simple_animal/hostile/vatbeast.dm
@@ -65,12 +65,12 @@
/obj/effect/proc_holder/tentacle_slap/fire(mob/living/carbon/user)
if(current_cooldown > world.time)
- to_chat(user, "
This ability is still on cooldown.")
+ to_chat(user, span_notice("This ability is still on cooldown."))
return
if(active)
- remove_ranged_ability("
You stop preparing to tentacle slap.")
+ remove_ranged_ability(span_notice("You stop preparing to tentacle slap."))
else
- add_ranged_ability(user, "
You prepare your pimp-tentacle. Left-click to slap a target!", TRUE)
+ add_ranged_ability(user, span_notice("You prepare your pimp-tentacle.
Left-click to slap a target!"), TRUE)
/obj/effect/proc_holder/tentacle_slap/InterceptClickOn(mob/living/caller, params, atom/target)
. = ..()
@@ -89,7 +89,7 @@
var/mob/living/living_target = target
- owner.visible_message("
You slap [living_target] with your tentacle.")
+ owner.visible_message("
The plant has borne fruit!")
+ visible_message(span_danger("The plant has borne fruit!"))
new /mob/living/simple_animal/hostile/venus_human_trap(get_turf(src))
qdel(src)
@@ -85,7 +85,7 @@
var/mob/living/L = AM
if(!isvineimmune(L))
L.adjustBruteLoss(5)
- to_chat(L, "
You cut yourself on the thorny vines.")
+ to_chat(L, span_alert("You cut yourself on the thorny vines."))
/**
* Venus Human Trap
@@ -177,7 +177,7 @@
/mob/living/simple_animal/hostile/venus_human_trap/Login()
. = ..()
- to_chat(src, "
You are a venus human trap! Protect the kudzu at all costs, and feast on those who oppose you!")
+ to_chat(src, span_boldwarning("You are a venus human trap! Protect the kudzu at all costs, and feast on those who oppose you!"))
/mob/living/simple_animal/hostile/venus_human_trap/attack_ghost(mob/user)
. = ..()
@@ -200,7 +200,7 @@
if(plant_ask == "No" || QDELETED(src))
return
if(key)
- to_chat(user, "
Someone else already took this plant!")
+ to_chat(user, span_warning("Someone else already took this plant!"))
return
key = user.key
log_game("[key_name(src)] took control of [name].")
diff --git a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm
index e9bcc28bffb..06b1f4737bf 100644
--- a/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm
+++ b/code/modules/mob/living/simple_animal/hostile/wumborian_fugu.dm
@@ -86,13 +86,13 @@
/datum/action/innate/fugu/expand/Activate()
var/mob/living/simple_animal/hostile/asteroid/fugu/F = owner
if(F.wumbo)
- to_chat(F, "
YOU'RE ALREADY WUMBO!")
+ to_chat(F, span_warning("YOU'RE ALREADY WUMBO!"))
return
if(F.inflate_cooldown)
- to_chat(F, "
You need time to gather your strength!")
+ to_chat(F, span_warning("You need time to gather your strength!"))
return
if(HAS_TRAIT(F, TRAIT_FUGU_GLANDED))
- to_chat(F, "
Something is interfering with your growth!")
+ to_chat(F, span_warning("Something is interfering with your growth!"))
return
F.wumbo = 1
F.icon_state = "Fugu1"
@@ -149,10 +149,10 @@
var/mob/living/simple_animal/animal = target
if(animal.stat == DEAD || HAS_TRAIT(animal, TRAIT_FAKEDEATH))
- to_chat(user, "
[src] can only multiply strength, not grant it to the dead.")
+ to_chat(user, span_warning("[src] can only multiply strength, not grant it to the dead."))
return
if(HAS_TRAIT(animal, TRAIT_FUGU_GLANDED))
- to_chat(user, "
[animal] has already been affected by \a [src].")
+ to_chat(user, span_warning("[animal] has already been affected by \a [src]."))
return
ADD_TRAIT(animal, TRAIT_FUGU_GLANDED, type)
@@ -163,5 +163,5 @@
animal.melee_damage_upper = max((animal.melee_damage_upper * 2), 10)
animal.transform *= 2
animal.environment_smash |= ENVIRONMENT_SMASH_STRUCTURES | ENVIRONMENT_SMASH_RWALLS
- to_chat(user, "
You increase the size of [animal], giving [animal.p_them()] a surge of strength!")
+ to_chat(user, span_info("You increase the size of [animal], giving [animal.p_them()] a surge of strength!"))
qdel(src)
diff --git a/code/modules/mob/living/simple_animal/parrot.dm b/code/modules/mob/living/simple_animal/parrot.dm
index 8233e59e937..a551d13c877 100644
--- a/code/modules/mob/living/simple_animal/parrot.dm
+++ b/code/modules/mob/living/simple_animal/parrot.dm
@@ -203,7 +203,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
return FALSE
if (!istype(equipping, /obj/item/radio/headset))
- to_chat(user, "
[equipping] won't fit!")
+ to_chat(user, span_warning("[equipping] won't fit!"))
return FALSE
return TRUE
@@ -226,7 +226,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
parrot_source.ears = radio
- to_chat(user, "
You fit [radio] onto [source].")
+ to_chat(user, span_notice("You fit [radio] onto [source]."))
parrot_source.available_channels.Cut()
@@ -346,7 +346,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
adjustBruteLoss(-10)
speak_chance *= 1.27 // 20 crackers to go from 1% to 100%
speech_shuffle_rate += 10
- to_chat(user, "
[src] eagerly devours the cracker.")
+ to_chat(user, span_notice("[src] eagerly devours the cracker."))
..()
return
@@ -513,7 +513,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(!parrot_perch || parrot_interest.loc != parrot_perch.loc)
held_item = parrot_interest
parrot_interest.forceMove(src)
- visible_message("
[src] grabs [held_item]!", "
You grab [held_item]!", "
You hear the sounds of wings flapping furiously.")
+ visible_message(span_notice("[src] grabs [held_item]!"), span_notice("You grab [held_item]!"), span_hear("You hear the sounds of wings flapping furiously."))
parrot_interest = null
parrot_state = PARROT_SWOOP | PARROT_RETURN
@@ -691,7 +691,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
return -1
if(held_item)
- to_chat(src, "
You are already holding [held_item]!")
+ to_chat(src, span_warning("You are already holding [held_item]!"))
return 1
for(var/obj/item/I in view(1,src))
@@ -704,10 +704,10 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
held_item = I
I.forceMove(src)
- visible_message("
[src] grabs [held_item]!", "
You grab [held_item]!", "
You hear the sounds of wings flapping furiously.")
+ visible_message(span_notice("[src] grabs [held_item]!"), span_notice("You grab [held_item]!"), span_hear("You hear the sounds of wings flapping furiously."))
return held_item
- to_chat(src, "
There is nothing of interest to take!")
+ to_chat(src, span_warning("There is nothing of interest to take!"))
return 0
/mob/living/simple_animal/parrot/proc/steal_from_mob()
@@ -719,7 +719,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
return -1
if(held_item)
- to_chat(src, "
You are already holding [held_item]!")
+ to_chat(src, span_warning("You are already holding [held_item]!"))
return 1
var/obj/item/stolen_item = null
@@ -733,10 +733,10 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(stolen_item)
C.transferItemToLoc(stolen_item, src, TRUE)
held_item = stolen_item
- visible_message("
[src] grabs [held_item] out of [C]'s hand!", "
You snag [held_item] out of [C]'s hand!", "
You hear the sounds of wings flapping furiously.")
+ visible_message(span_notice("[src] grabs [held_item] out of [C]'s hand!"), span_notice("You snag [held_item] out of [C]'s hand!"), span_hear("You hear the sounds of wings flapping furiously."))
return held_item
- to_chat(src, "
There is nothing of interest to take!")
+ to_chat(src, span_warning("There is nothing of interest to take!"))
return 0
/mob/living/simple_animal/parrot/verb/drop_held_item_player()
@@ -761,7 +761,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
if(!held_item)
if(src == usr) //So that other mobs won't make this message appear when they're bludgeoning you.
- to_chat(src, "
You have nothing to drop!")
+ to_chat(src, span_warning("You have nothing to drop!"))
return 0
@@ -780,11 +780,11 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
var/obj/item/grenade/G = held_item
G.forceMove(drop_location())
G.detonate()
- to_chat(src, "
You let go of [held_item]!")
+ to_chat(src, span_danger("You let go of [held_item]!"))
held_item = null
return 1
- to_chat(src, "
You drop [held_item].")
+ to_chat(src, span_notice("You drop [held_item]."))
held_item.forceMove(drop_location())
held_item = null
@@ -806,7 +806,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
icon_state = icon_sit
parrot_state = PARROT_PERCH
return
- to_chat(src, "
There is no perch nearby to sit on!")
+ to_chat(src, span_warning("There is no perch nearby to sit on!"))
return
/mob/living/simple_animal/parrot/Moved(oldLoc, dir)
@@ -831,12 +831,12 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
continue
perch_on_human(H)
return
- to_chat(src, "
There is nobody nearby that you can sit on!")
+ to_chat(src, span_warning("There is nobody nearby that you can sit on!"))
else
icon_state = icon_living
parrot_state = PARROT_WANDER
if(buckled)
- to_chat(src, "
You are no longer sitting on [buckled]'s shoulder.")
+ to_chat(src, span_notice("You are no longer sitting on [buckled]'s shoulder."))
buckled.unbuckle_mob(src, TRUE)
buckled = null
pixel_x = initial(pixel_x)
@@ -853,7 +853,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
pixel_x = pick(-8,8) //pick left or right shoulder
icon_state = icon_sit
parrot_state = PARROT_PERCH
- to_chat(src, "
You sit on [H]'s shoulder.")
+ to_chat(src, span_notice("You sit on [H]'s shoulder."))
/mob/living/simple_animal/parrot/proc/toggle_mode()
@@ -870,7 +870,7 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
else
melee_damage_upper = parrot_damage_upper
set_combat_mode(TRUE)
- to_chat(src, "
You will now [combat_mode ? "Harm" : "Help"] others.")
+ to_chat(src, span_notice("You will now [combat_mode ? "Harm" : "Help"] others."))
return
/*
@@ -1002,4 +1002,4 @@ GLOBAL_LIST_INIT(strippable_parrot_items, create_strippable_list(list(
forceMove(H)
H.ForceContractDisease(P, FALSE)
parrot_interest = null
- H.visible_message("
[src] dive bombs into [H]'s chest and vanishes!", "
[src] dive bombs into your chest, vanishing! This can't be good!")
+ H.visible_message(span_danger("[src] dive bombs into [H]'s chest and vanishes!"), span_userdanger("[src] dive bombs into your chest, vanishing! This can't be good!"))
diff --git a/code/modules/mob/living/simple_animal/shade.dm b/code/modules/mob/living/simple_animal/shade.dm
index 4333c5bcd5d..ea4d21e4226 100644
--- a/code/modules/mob/living/simple_animal/shade.dm
+++ b/code/modules/mob/living/simple_animal/shade.dm
@@ -58,10 +58,10 @@
if(health < maxHealth)
adjustHealth(-25)
Beam(user,icon_state="sendbeam", time = 4)
- user.visible_message("
[user] heals \the [src].", \
- "
You heal [src], leaving [src] at [health]/[maxHealth] health.")
+ user.visible_message(span_danger("[user] heals \the
[src]."), \
+ span_cult("You heal
[src], leaving
[src] at
[health]/[maxHealth] health."))
else
- to_chat(user, "
You cannot heal [src], as [p_theyre()] unharmed!")
+ to_chat(user, span_cult("You cannot heal
[src], as [p_theyre()] unharmed!"))
else if(src != user)
return ..()
diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm
index a2b43fecd34..ec507c185dc 100644
--- a/code/modules/mob/living/simple_animal/simple_animal.dm
+++ b/code/modules/mob/living/simple_animal/simple_animal.dm
@@ -216,7 +216,7 @@
/mob/living/simple_animal/examine(mob/user)
. = ..()
if(stat == DEAD)
- . += "
Upon closer examination, [p_they()] appear[p_s()] to be dead."
+ . += span_deadsay("Upon closer examination, [p_they()] appear[p_s()] to be dead.")
if(access_card)
. += "There appears to be [icon2html(access_card, user)] \a [access_card] pinned to [p_them()]."
diff --git a/code/modules/mob/living/simple_animal/slime/life.dm b/code/modules/mob/living/simple_animal/slime/life.dm
index 8fa9051284a..5afb8ac74a0 100644
--- a/code/modules/mob/living/simple_animal/slime/life.dm
+++ b/code/modules/mob/living/simple_animal/slime/life.dm
@@ -151,14 +151,14 @@
switch(stat)
if(CONSCIOUS)
if(stasis)
- to_chat(src, "
Nerve gas in the air has put you in stasis!")
+ to_chat(src, span_danger("Nerve gas in the air has put you in stasis!"))
set_stat(UNCONSCIOUS)
powerlevel = 0
rabid = FALSE
regenerate_icons()
if(UNCONSCIOUS, HARD_CRIT)
if(!stasis)
- to_chat(src, "
You wake up from the stasis.")
+ to_chat(src, span_notice("You wake up from the stasis."))
set_stat(CONSCIOUS)
regenerate_icons()
diff --git a/code/modules/mob/living/simple_animal/slime/powers.dm b/code/modules/mob/living/simple_animal/slime/powers.dm
index 0f93dfccc1a..dfc87f87121 100644
--- a/code/modules/mob/living/simple_animal/slime/powers.dm
+++ b/code/modules/mob/living/simple_animal/slime/powers.dm
@@ -76,31 +76,31 @@
if(isslime(M))
if(silent)
return FALSE
- to_chat(src, "
I can't latch onto another slime...")
+ to_chat(src, span_warning("
I can't latch onto another slime..."))
return FALSE
if(docile)
if(silent)
return FALSE
- to_chat(src, "
I'm not hungry anymore...")
+ to_chat(src, span_notice("
I'm not hungry anymore..."))
return FALSE
if(stat)
if(silent)
return FALSE
- to_chat(src, "
I must be conscious to do this...")
+ to_chat(src, span_warning("
I must be conscious to do this..."))
return FALSE
if(M.stat == DEAD)
if(silent)
return FALSE
- to_chat(src, "
This subject does not have a strong enough life energy...")
+ to_chat(src, span_warning("
This subject does not have a strong enough life energy..."))
return FALSE
if(locate(/mob/living/simple_animal/slime) in M.buckled_mobs)
if(silent)
return FALSE
- to_chat(src, "
Another slime is already feeding on this subject...")
+ to_chat(src, span_warning("
Another slime is already feeding on this subject..."))
return FALSE
return TRUE
@@ -108,10 +108,10 @@
M.unbuckle_all_mobs(force=1) //Slimes rip other mobs (eg: shoulder parrots) off (Slimes Vs Slimes is already handled in CanFeedon())
if(M.buckle_mob(src, force=TRUE))
layer = M.layer+0.01 //appear above the target mob
- M.visible_message("
[name] latches onto [M]!", \
- "
[name] latches onto [M]!")
+ M.visible_message(span_danger("[name] latches onto [M]!"), \
+ span_userdanger("[name] latches onto [M]!"))
else
- to_chat(src, "
I have failed to latch onto the subject!")
+ to_chat(src, span_warning("
I have failed to latch onto the subject!"))
/mob/living/simple_animal/slime/proc/Feedstop(silent = FALSE, living=1)
if(buckled)
@@ -121,8 +121,8 @@
"I am not satisified", "I can not feed from this subject", \
"I do not feel nourished", "This subject is not food")]!")
if(!silent)
- visible_message("
[src] lets go of [buckled]!", \
- "
I stopped feeding.")
+ visible_message(span_warning("[src] lets go of [buckled]!"), \
+ span_notice("
I stopped feeding."))
layer = initial(layer)
buckled.unbuckle_mob(src,force=TRUE)
diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm
index f6f088d255b..e80ac89bdb1 100644
--- a/code/modules/mob/living/simple_animal/slime/slime.dm
+++ b/code/modules/mob/living/simple_animal/slime/slime.dm
@@ -282,8 +282,8 @@
return
if(buckled)
Feedstop(silent = TRUE)
- visible_message("
[M] pulls [src] off!", \
- "
You pull [src] off!")
+ visible_message(span_danger("[M] pulls [src] off!"), \
+ span_danger("You pull [src] off!"))
return
attacked += 5
if(nutrition >= 100) //steal some nutrition. negval handled in life()
@@ -318,26 +318,26 @@
user.do_attack_animation(src, ATTACK_EFFECT_DISARM)
if(buckled == user)
if(prob(60))
- user.visible_message("
[user] attempts to wrestle \the [name] off!", \
- "
You attempt to wrestle \the [name] off!")
+ user.visible_message(span_warning("[user] attempts to wrestle \the [name] off!"), \
+ span_danger("You attempt to wrestle \the [name] off!"))
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
else
- user.visible_message("
[user] manages to wrestle \the [name] off!", \
- "
You manage to wrestle \the [name] off!")
+ user.visible_message(span_warning("[user] manages to wrestle \the [name] off!"), \
+ span_notice("You manage to wrestle \the [name] off!"))
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
discipline_slime(user)
else
if(prob(30))
- buckled.visible_message("
[user] attempts to wrestle \the [name] off of [buckled]!", \
- "
[user] attempts to wrestle \the [name] off of you!")
+ buckled.visible_message(span_warning("[user] attempts to wrestle \the [name] off of [buckled]!"), \
+ span_warning("[user] attempts to wrestle \the [name] off of you!"))
playsound(loc, 'sound/weapons/punchmiss.ogg', 25, TRUE, -1)
else
- buckled.visible_message("
[user] manages to wrestle \the [name] off of [buckled]!", \
- "
[user] manage to wrestle \the [name] off of you!")
+ buckled.visible_message(span_warning("[user] manages to wrestle \the [name] off of [buckled]!"), \
+ span_notice("[user] manage to wrestle \the [name] off of you!"))
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, TRUE, -1)
discipline_slime(user)
@@ -365,7 +365,7 @@
return 1
if(istype(W, /obj/item/stack/sheet/mineral/plasma) && !stat) //Let's you feed slimes plasma.
add_friendship(user, 1)
- to_chat(user, "
You feed the slime the plasma. It chirps happily.")
+ to_chat(user, span_notice("You feed the slime the plasma. It chirps happily."))
var/obj/item/stack/sheet/mineral/plasma/S = W
S.use(1)
return
@@ -374,7 +374,7 @@
if(prob(25))
user.do_attack_animation(src)
user.changeNext_move(CLICK_CD_MELEE)
- to_chat(user, "
[W] passes right through [src]!")
+ to_chat(user, span_danger("[W] passes right through [src]!"))
return
if(Discipline && prob(50)) // wow, buddy, why am I getting attacked??
Discipline = 0
@@ -387,7 +387,7 @@
if(istype(W, /obj/item/storage/bag/bio))
var/obj/item/storage/P = W
if(!effectmod)
- to_chat(user, "
The slime is not currently being mutated.")
+ to_chat(user, span_warning("The slime is not currently being mutated."))
return
var/hasOutput = FALSE //Have we outputted text?
var/hasFound = FALSE //Have we found an extract to be added?
@@ -398,23 +398,23 @@
applied++
hasFound = TRUE
if(applied >= SLIME_EXTRACT_CROSSING_REQUIRED)
- to_chat(user, "
You feed the slime as many of the extracts from the bag as you can, and it mutates!")
+ to_chat(user, span_notice("You feed the slime as many of the extracts from the bag as you can, and it mutates!"))
playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE)
spawn_corecross()
hasOutput = TRUE
break
if(!hasOutput)
if(!hasFound)
- to_chat(user, "
There are no extracts in the bag that this slime will accept!")
+ to_chat(user, span_warning("There are no extracts in the bag that this slime will accept!"))
else
- to_chat(user, "
You feed the slime some extracts from the bag.")
+ to_chat(user, span_notice("You feed the slime some extracts from the bag."))
playsound(src, 'sound/effects/attackblob.ogg', 50, TRUE)
return
..()
/mob/living/simple_animal/slime/proc/spawn_corecross()
var/static/list/crossbreeds = subtypesof(/obj/item/slimecross)
- visible_message("
[src] shudders, its mutated core consuming the rest of its body!")
+ visible_message(span_danger("[src] shudders, its mutated core consuming the rest of its body!"))
playsound(src, 'sound/magic/smoke.ogg', 50, TRUE)
var/crosspath
for(var/X in crossbreeds)
@@ -425,7 +425,7 @@
if(crosspath)
new crosspath(loc)
else
- visible_message("
The mutated core shudders, and collapses into a puddle, unable to maintain its form.")
+ visible_message(span_warning("The mutated core shudders, and collapses into a puddle, unable to maintain its form."))
qdel(src)
/mob/living/simple_animal/slime/proc/apply_water()
@@ -439,10 +439,10 @@
/mob/living/simple_animal/slime/examine(mob/user)
. = list("
*---------*\nThis is [icon2html(src, user)] \a [src]!")
if (stat == DEAD)
- . += "It is limp and unresponsive."
+ . += span_deadsay("It is limp and unresponsive.")
else
if (stat == UNCONSCIOUS || stat == HARD_CRIT) // Slime stasis
- . += "It appears to be alive but unresponsive."
+ . += span_deadsay("It appears to be alive but unresponsive.")
if (getBruteLoss())
. += ""
if (getBruteLoss() < 40)
@@ -459,10 +459,10 @@
. += "It is glowing gently with moderate levels of electrical activity."
if(6 to 9)
- . += "It is glowing brightly with high levels of electrical activity."
+ . += span_warning("It is glowing brightly with high levels of electrical activity.")
if(10)
- . += "It is radiating with massive levels of electrical activity!"
+ . += span_warning("It is radiating with massive levels of electrical activity!")
. += "*---------*"
diff --git a/code/modules/mob/living/status_procs.dm b/code/modules/mob/living/status_procs.dm
index 34404c8d254..6e38ececef1 100644
--- a/code/modules/mob/living/status_procs.dm
+++ b/code/modules/mob/living/status_procs.dm
@@ -413,11 +413,11 @@
if(amount) //don't spam up the chat for continuous stuns
if(priority_absorb_key["visible_message"] || priority_absorb_key["self_message"])
if(priority_absorb_key["visible_message"] && priority_absorb_key["self_message"])
- visible_message("[src][priority_absorb_key["visible_message"]]", "[priority_absorb_key["self_message"]]")
+ visible_message(span_warning("[src][priority_absorb_key["visible_message"]]"), span_boldwarning("[priority_absorb_key["self_message"]]"))
else if(priority_absorb_key["visible_message"])
- visible_message("[src][priority_absorb_key["visible_message"]]")
+ visible_message(span_warning("[src][priority_absorb_key["visible_message"]]"))
else if(priority_absorb_key["self_message"])
- to_chat(src, "[priority_absorb_key["self_message"]]")
+ to_chat(src, span_boldwarning("[priority_absorb_key["self_message"]]"))
priority_absorb_key["stuns_absorbed"] += amount
return TRUE
diff --git a/code/modules/mob/living/taste.dm b/code/modules/mob/living/taste.dm
index 4c057e729c0..4e74666f39d 100644
--- a/code/modules/mob/living/taste.dm
+++ b/code/modules/mob/living/taste.dm
@@ -37,7 +37,7 @@
"defeat","pain","bliss","revenge","poison","time","space","death","life","truth","lies","justice","memory",\
"regrets","your soul","suffering","music","noise","blood","hunger","the american way")
if(text_output != last_taste_text || last_taste_time + 100 < world.time)
- to_chat(src, "You can taste [text_output].")
+ to_chat(src, span_notice("You can taste [text_output]."))
// "something indescribable" -> too many tastes, not enough flavor.
last_taste_time = world.time
diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm
index bf6aa72c59b..3789f7977e0 100644
--- a/code/modules/mob/living/ventcrawling.dm
+++ b/code/modules/mob/living/ventcrawling.dm
@@ -11,35 +11,35 @@
if(!HAS_TRAIT(src, TRAIT_VENTCRAWLER_NUDE) && !HAS_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS))
return
if(stat)
- to_chat(src, "You must be conscious to do this!")
+ to_chat(src, span_warning("You must be conscious to do this!"))
return
if(HAS_TRAIT(src, TRAIT_IMMOBILIZED))
- to_chat(src, "You currently can't move into the vent!")
+ to_chat(src, span_warning("You currently can't move into the vent!"))
return
if(HAS_TRAIT(src, TRAIT_HANDS_BLOCKED))
- to_chat(src, "You need to be able to use your hands to ventcrawl!")
+ to_chat(src, span_warning("You need to be able to use your hands to ventcrawl!"))
return
if(has_buckled_mobs())
- to_chat(src, "You can't vent crawl with other creatures on you!")
+ to_chat(src, span_warning("You can't vent crawl with other creatures on you!"))
return
if(buckled)
- to_chat(src, "You can't vent crawl while buckled!")
+ to_chat(src, span_warning("You can't vent crawl while buckled!"))
return
if(iscarbon(src) && required_nudity)
if(length(get_equipped_items(include_pockets = TRUE)) || get_num_held_items())
- to_chat(src, "You can't crawl around in the ventilation ducts with items!")
+ to_chat(src, span_warning("You can't crawl around in the ventilation ducts with items!"))
return
if(ventcrawl_target.welded)
- to_chat(src, "You can't crawl around a welded vent!")
+ to_chat(src, span_warning("You can't crawl around a welded vent!"))
return
if(vent_movement & VENTCRAWL_ENTRANCE_ALLOWED)
//Handle the exit here
if(HAS_TRAIT(src, TRAIT_MOVE_VENTCRAWLING) && istype(loc, /obj/machinery/atmospherics) && movement_type & VENTCRAWLING)
- visible_message("[src] begins climbing out from the ventilation system..." ,"You begin climbing out from the ventilation system...")
+ visible_message(span_notice("[src] begins climbing out from the ventilation system...") ,span_notice("You begin climbing out from the ventilation system..."))
if(!client)
return
- visible_message("[src] scrambles out from the ventilation ducts!","You out from the ventilation ducts.")
+ visible_message(span_notice("[src] scrambles out from the ventilation ducts!"),span_notice("You out from the ventilation ducts."))
forceMove(ventcrawl_target.loc)
REMOVE_TRAIT(src, TRAIT_MOVE_VENTCRAWLING, VENTCRAWLING_TRAIT)
update_pipe_vision()
@@ -48,15 +48,15 @@
else
var/datum/pipeline/vent_parent = ventcrawl_target.parents[1]
if(vent_parent && (vent_parent.members.len || vent_parent.other_atmosmch))
- visible_message("[src] begins climbing into the ventilation system..." ,"You begin climbing into the ventilation system...")
+ visible_message(span_notice("[src] begins climbing into the ventilation system...") ,span_notice("You begin climbing into the ventilation system..."))
if(!do_after(src, 2.5 SECONDS, target = ventcrawl_target))
return
if(!client)
return
- visible_message("[src] scrambles into the ventilation ducts!","You climb into the ventilation ducts.")
+ visible_message(span_notice("[src] scrambles into the ventilation ducts!"),span_notice("You climb into the ventilation ducts."))
move_into_vent(ventcrawl_target)
else
- to_chat(src, "This ventilation duct is not connected to anything!")
+ to_chat(src, span_warning("This ventilation duct is not connected to anything!"))
/mob/living/simple_animal/slime/handle_ventcrawl(atom/A)
if(buckled)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 0b9fa946e8d..2ef5ed9810e 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -124,12 +124,12 @@
var/datum/gas_mixture/environment = loc.return_air()
- var/t = "Coordinates: [x],[y] \n"
- t += "Temperature: [environment.temperature] \n"
+ var/t = "[span_notice("Coordinates: [x],[y] ")]\n"
+ t += "[span_danger("Temperature: [environment.temperature] ")]\n"
for(var/id in environment.gases)
var/gas = environment.gases[id]
if(gas[MOLES])
- t+="[gas[GAS_META][META_GAS_NAME]]: [gas[MOLES]] \n"
+ t+="[span_notice("[gas[GAS_META][META_GAS_NAME]]: [gas[MOLES]] ")]\n"
to_chat(usr, t)
@@ -338,7 +338,7 @@
if(qdel_on_fail)
qdel(W)
else if(!disable_warning)
- to_chat(src, "You are unable to equip that!")
+ to_chat(src, span_warning("You are unable to equip that!"))
return FALSE
equip_to_slot(W, slot, initial, redraw_mob) //This proc should not ever fail.
return TRUE
@@ -478,29 +478,29 @@
/mob/living/blind_examine_check(atom/examined_thing)
//need to be next to something and awake
if(!Adjacent(examined_thing) || incapacitated())
- to_chat(src, "Something is there, but you can't see it!")
+ to_chat(src, span_warning("Something is there, but you can't see it!"))
return FALSE
//you can examine things you're holding directly, but you can't examine other things if your hands are full
/// the item in our active hand
var/active_item = get_active_held_item()
if(active_item && active_item != examined_thing)
- to_chat(src, "Your hands are too full to examine this!")
+ to_chat(src, span_warning("Your hands are too full to examine this!"))
return FALSE
//you can only initiate exaimines if you have a hand, it's not disabled, and only as many examines as you have hands
/// our active hand, to check if it's disabled/detatched
var/obj/item/bodypart/active_hand = has_active_hand()? get_active_hand() : null
if(!active_hand || active_hand.bodypart_disabled || LAZYLEN(do_afters) >= usable_hands)
- to_chat(src, "You don't have a free hand to examine this!")
+ to_chat(src, span_warning("You don't have a free hand to examine this!"))
return FALSE
//you can only queue up one examine on something at a time
if(DOING_INTERACTION_WITH_TARGET(src, examined_thing))
return FALSE
- to_chat(src, "You start feeling around for something...")
- visible_message(" [name] begins feeling around for \the [examined_thing.name]...")
+ to_chat(src, span_notice("You start feeling around for something..."))
+ visible_message(span_notice(" [name] begins feeling around for \the [examined_thing.name]..."))
/// how long it takes for the blind person to find the thing they're examining
var/examine_delay_length = rand(1 SECONDS, 2 SECONDS)
@@ -512,7 +512,7 @@
examine_delay_length *= 2
if(examine_delay_length > 0 && !do_after(src, examine_delay_length, target = examined_thing))
- to_chat(src, "You can't get a good feel for what is there.")
+ to_chat(src, span_notice("You can't get a good feel for what is there."))
return FALSE
//now we touch the thing we're examining
@@ -551,11 +551,11 @@
// check to see if their face is blocked or, if not, a signal blocks it
if(examined_mob.is_face_visible() && SEND_SIGNAL(src, COMSIG_MOB_EYECONTACT, examined_mob, TRUE) != COMSIG_BLOCK_EYECONTACT)
- var/msg = "You make eye contact with [examined_mob]."
+ var/msg = span_smallnotice("You make eye contact with [examined_mob].")
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, src, msg), 3) // so the examine signal has time to fire and this will print after
if(is_face_visible() && SEND_SIGNAL(examined_mob, COMSIG_MOB_EYECONTACT, src, FALSE) != COMSIG_BLOCK_EYECONTACT)
- var/msg = "[src] makes eye contact with you."
+ var/msg = span_smallnotice("[src] makes eye contact with you.")
addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, examined_mob, msg), 3)
/**
@@ -701,12 +701,12 @@
return
if ((stat != DEAD || !( SSticker )))
- to_chat(usr, "You must be dead to use this!")
+ to_chat(usr, span_boldnotice("You must be dead to use this!"))
return
log_game("[key_name(usr)] used abandon mob.")
- to_chat(usr, "Please roleplay correctly!")
+ to_chat(usr, span_boldnotice("Please roleplay correctly!"))
if(!client)
log_game("[key_name(usr)] AM failed due to disconnect.")
@@ -909,7 +909,7 @@
/mob/proc/swap_hand()
var/obj/item/held_item = get_active_held_item()
if(SEND_SIGNAL(src, COMSIG_MOB_SWAP_HANDS, held_item) & COMPONENT_BLOCK_SWAP)
- to_chat(src, "Your other hand is too busy holding [held_item].")
+ to_chat(src, span_warning("Your other hand is too busy holding [held_item]."))
return FALSE
return TRUE
@@ -1159,10 +1159,10 @@
///Can this mob read (is literate and not blind)
/mob/proc/can_read(obj/O)
if(is_blind())
- to_chat(src, "As you are trying to read [O], you suddenly feel very stupid!")
+ to_chat(src, span_warning("As you are trying to read [O], you suddenly feel very stupid!"))
return
if(!is_literate())
- to_chat(src, "You try to read [O], but can't comprehend any of it.")
+ to_chat(src, span_notice("You try to read [O], but can't comprehend any of it."))
return
return TRUE
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index aa461d22c21..b5fafd9ed30 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -320,7 +320,7 @@
var/orbit_link
if (source && action == NOTIFY_ORBIT)
orbit_link = " (Orbit)"
- to_chat(O, "[message][(enter_link) ? " [enter_link]" : ""][orbit_link]")
+ to_chat(O, span_ghostalert("[message][(enter_link) ? " [enter_link]" : ""][orbit_link]"))
if(ghost_sound)
SEND_SOUND(O, sound(ghost_sound, volume = notify_volume))
if(flashwindow)
@@ -355,11 +355,11 @@
if((brute_heal > 0 && affecting.brute_dam > 0) || (burn_heal > 0 && affecting.burn_dam > 0))
if(affecting.heal_damage(brute_heal, burn_heal, 0, BODYPART_ROBOTIC))
H.update_damage_overlays()
- user.visible_message("[user] fixes some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name].", \
- "You fix some of the [dam ? "dents on" : "burnt wires in"] [H == user ? "your" : "[H]'s"] [affecting.name].")
+ user.visible_message(span_notice("[user] fixes some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name]."), \
+ span_notice("You fix some of the [dam ? "dents on" : "burnt wires in"] [H == user ? "your" : "[H]'s"] [affecting.name]."))
return 1 //successful heal
else
- to_chat(user, "[affecting] is already in good condition!")
+ to_chat(user, span_warning("[affecting] is already in good condition!"))
///Is the passed in mob a ghost with admin powers, doesn't check for AI interact like isAdminGhost() used to
/proc/isAdminObserver(mob/user)
@@ -486,9 +486,9 @@
dissectionmsg = " via Experimental Dissection"
else if(HAS_TRAIT_FROM(src, TRAIT_DISSECTED,"Thorough Dissection"))
dissectionmsg = " via Thorough Dissection"
- . += "This body has been dissected and analyzed[dissectionmsg].
"
+ . += "[span_notice("This body has been dissected and analyzed[dissectionmsg].")]
"
if(HAS_TRAIT(src,TRAIT_HUSK))
- . += "This body has been reduced to a grotesque husk."
+ . += span_warning("This body has been reduced to a grotesque husk.")
/**
* Get the list of keywords for policy config
diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm
index fcadc22237d..b186a2487f0 100644
--- a/code/modules/mob/mob_movement.dm
+++ b/code/modules/mob/mob_movement.dm
@@ -171,7 +171,7 @@
return TRUE
else if(HAS_TRAIT(mob, TRAIT_RESTRAINED))
COOLDOWN_START(src, move_delay, 1 SECONDS)
- to_chat(src, "You're restrained! You can't move!")
+ to_chat(src, span_warning("You're restrained! You can't move!"))
return TRUE
return mob.resist_grab(TRUE)
@@ -246,17 +246,17 @@
var/turf/open/floor/stepTurf = get_step(L, direct)
if(stepTurf)
for(var/obj/effect/decal/cleanable/food/salt/S in stepTurf)
- to_chat(L, "[S] bars your passage!")
+ to_chat(L, span_warning("[S] bars your passage!"))
if(isrevenant(L))
var/mob/living/simple_animal/revenant/R = L
R.reveal(20)
R.stun(20)
return
if(stepTurf.turf_flags & NOJAUNT)
- to_chat(L, "Some strange aura is blocking the way.")
+ to_chat(L, span_warning("Some strange aura is blocking the way."))
return
if (locate(/obj/effect/blessing, stepTurf))
- to_chat(L, "Holy energies block your path!")
+ to_chat(L, span_warning("Holy energies block your path!"))
return
L.forceMove(stepTurf)
@@ -281,7 +281,7 @@
if(backup)
if(istype(backup) && movement_dir && !backup.anchored)
if(backup.newtonian_move(turn(movement_dir, 180))) //You're pushing off something movable, so it moves
- to_chat(src, "You push off of [backup] to propel yourself.")
+ to_chat(src, span_info("You push off of [backup] to propel yourself."))
return TRUE
return FALSE
@@ -500,7 +500,7 @@
return
if(zMove(UP, TRUE, ventcrawling_mob))
- to_chat(src, "You move upwards.")
+ to_chat(src, span_notice("You move upwards."))
///Moves a mob down a z level
/mob/verb/down()
@@ -510,7 +510,7 @@
var/ventcrawling_mob = HAS_TRAIT(src, TRAIT_MOVE_VENTCRAWLING)
if(zMove(DOWN, TRUE, ventcrawling_mob))
- to_chat(src, "You move down.")
+ to_chat(src, span_notice("You move down."))
///Move a mob between z levels, if it's valid to move z's on this turf
/mob/proc/zMove(dir, feedback = FALSE, ventcrawling = FALSE)
@@ -518,16 +518,16 @@
return FALSE
if(incapacitated())
if(feedback)
- to_chat(src, "You can't do that right now!")
+ to_chat(src, span_warning("You can't do that right now!"))
return FALSE
var/turf/target = get_step_multiz(src, dir)
if(!target)
if(feedback)
- to_chat(src, "There's nowhere to go in that direction!")
+ to_chat(src, span_warning("There's nowhere to go in that direction!"))
return FALSE
if(!canZMove(dir, target) && !ventcrawling)
if(feedback)
- to_chat(src, "You couldn't move there!")
+ to_chat(src, span_warning("You couldn't move there!"))
return FALSE
if(!ventcrawling) //let this be handled in atmosmachinery.dm
forceMove(target)
diff --git a/code/modules/mob/mob_say.dm b/code/modules/mob/mob_say.dm
index 8a973c13d87..37a42f4bb17 100644
--- a/code/modules/mob/mob_say.dm
+++ b/code/modules/mob/mob_say.dm
@@ -5,7 +5,7 @@
set name = "Say"
set category = "IC"
if(GLOB.say_disabled) //This is here to try to identify lag problems
- to_chat(usr, "Speech is currently admin-disabled.")
+ to_chat(usr, span_danger("Speech is currently admin-disabled."))
return
if(message)
say(message)
@@ -15,7 +15,7 @@
set name = "Whisper"
set category = "IC"
if(GLOB.say_disabled) //This is here to try to identify lag problems
- to_chat(usr, "Speech is currently admin-disabled.")
+ to_chat(usr, span_danger("Speech is currently admin-disabled."))
return
whisper(message)
@@ -29,7 +29,7 @@
set category = "IC"
if(GLOB.say_disabled) //This is here to try to identify lag problems
- to_chat(usr, "Speech is currently admin-disabled.")
+ to_chat(usr, span_danger("Speech is currently admin-disabled."))
return
message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN))
@@ -42,7 +42,7 @@
var/alt_name = ""
if(GLOB.say_disabled) //This is here to try to identify lag problems
- to_chat(usr, "Speech is currently admin-disabled.")
+ to_chat(usr, span_danger("Speech is currently admin-disabled."))
return
var/jb = is_banned_from(ckey, "Deadchat")
@@ -50,14 +50,14 @@
return
if(jb)
- to_chat(src, "You have been banned from deadchat.")
+ to_chat(src, span_danger("You have been banned from deadchat."))
return
if (src.client)
if(src.client.prefs.muted & MUTE_DEADCHAT)
- to_chat(src, "You cannot talk in deadchat (muted).")
+ to_chat(src, span_danger("You cannot talk in deadchat (muted)."))
return
if(src.client.handle_spam_prevention(message,MUTE_DEADCHAT))
diff --git a/code/modules/mob/mob_transformation_simple.dm b/code/modules/mob/mob_transformation_simple.dm
index 5e5995ca6ee..1217b49a9e5 100644
--- a/code/modules/mob/mob_transformation_simple.dm
+++ b/code/modules/mob/mob_transformation_simple.dm
@@ -5,7 +5,7 @@
/mob/proc/change_mob_type(new_type = null, turf/location = null, new_name = null as text, delete_old_mob = FALSE)
if(isnewplayer(src))
- to_chat(usr, "Cannot convert players who have not entered yet.")
+ to_chat(usr, span_danger("Cannot convert players who have not entered yet."))
return
if(!new_type)
@@ -19,7 +19,7 @@
return
if(ispath(new_type, /mob/dead/new_player))
- to_chat(usr, "Cannot convert into a new_player mob type.")
+ to_chat(usr, span_danger("Cannot convert into a new_player mob type."))
return
var/mob/M
diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm
index 4d67db55585..31572fc50f6 100644
--- a/code/modules/mob/transform_procs.dm
+++ b/code/modules/mob/transform_procs.dm
@@ -297,7 +297,7 @@
var/mobpath = tgui_input_list(usr, "Which type of mob should [src] turn into?", "Choose a type", sortList(mobtypes, /proc/cmp_typepaths_asc))
if(!safe_animal(mobpath))
- to_chat(usr, "Sorry but this mob type is currently unavailable.")
+ to_chat(usr, span_danger("Sorry but this mob type is currently unavailable."))
return
if(notransform)
@@ -320,7 +320,7 @@
new_mob.key = key
new_mob.set_combat_mode(TRUE)
- to_chat(new_mob, "You suddenly feel more... animalistic.")
+ to_chat(new_mob, span_boldnotice("You suddenly feel more... animalistic."))
. = new_mob
qdel(src)
@@ -330,14 +330,14 @@
var/mobpath = tgui_input_list(usr, "Which type of mob should [src] turn into?", "Choose a type", sortList(mobtypes, /proc/cmp_typepaths_asc))
if(!safe_animal(mobpath))
- to_chat(usr, "Sorry but this mob type is currently unavailable.")
+ to_chat(usr, span_danger("Sorry but this mob type is currently unavailable."))
return
var/mob/living/new_mob = new mobpath(src.loc)
new_mob.key = key
new_mob.set_combat_mode(TRUE)
- to_chat(new_mob, "You feel more... animalistic.")
+ to_chat(new_mob, span_boldnotice("You feel more... animalistic."))
. = new_mob
qdel(src)
diff --git a/code/modules/modular_computers/computers/_modular_computer_shared.dm b/code/modules/modular_computers/computers/_modular_computer_shared.dm
index 77888fdf01b..1a2ba822d1b 100644
--- a/code/modules/modular_computers/computers/_modular_computer_shared.dm
+++ b/code/modules/modular_computers/computers/_modular_computer_shared.dm
@@ -39,7 +39,7 @@
. += "It has a slot installed for an intelliCard which contains: [ai_slot.stored_card.name]"
else
. += "It has a slot installed for an intelliCard, which appears to be occupied."
- . += "Alt-click to eject the intelliCard."
+ . += span_info("Alt-click to eject the intelliCard.")
else
. += "It has a slot installed for an intelliCard."
@@ -55,7 +55,7 @@
. += "It has [multiple_slots ? "two slots" : "a slot"] for identification cards installed[multiple_cards ? " which contain [first_ID] and [second_ID]" : ", one of which contains [first_ID ? first_ID : second_ID]"]."
else
. += "It has [multiple_slots ? "two slots" : "a slot"] for identification cards installed, [multiple_cards ? "both of which appear" : "and one of them appears"] to be occupied."
- . += "Alt-click [src] to eject the identification card[multiple_cards ? "s":""]."
+ . += span_info("Alt-click [src] to eject the identification card[multiple_cards ? "s":""].")
else
. += "It has [multiple_slots ? "two slots" : "a slot"] installed for identification cards."
diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm
index 8bfa86416da..7d346086689 100644
--- a/code/modules/modular_computers/computers/item/computer.dm
+++ b/code/modules/modular_computers/computers/item/computer.dm
@@ -215,7 +215,7 @@
/obj/item/modular_computer/emag_act(mob/user)
if(!enabled)
- to_chat(user, "You'd need to turn the [src] on first.")
+ to_chat(user, span_warning("You'd need to turn the [src] on first."))
return FALSE
obj_flags |= EMAGGED //Mostly for consistancy purposes; the programs will do their own emag handling
var/newemag = FALSE
@@ -226,17 +226,17 @@
if(app.run_emag())
newemag = TRUE
if(newemag)
- to_chat(user, "You swipe \the [src]. A console window momentarily fills the screen, with white text rapidly scrolling past.")
+ to_chat(user, span_notice("You swipe \the [src]. A console window momentarily fills the screen, with white text rapidly scrolling past."))
return TRUE
- to_chat(user, "You swipe \the [src]. A console window fills the screen, but it quickly closes itself after only a few lines are written to it.")
+ to_chat(user, span_notice("You swipe \the [src]. A console window fills the screen, but it quickly closes itself after only a few lines are written to it."))
return FALSE
/obj/item/modular_computer/examine(mob/user)
. = ..()
if(obj_integrity <= integrity_failure * max_integrity)
- . += "It is heavily damaged!"
+ . += span_danger("It is heavily damaged!")
else if(obj_integrity < max_integrity)
- . += "It is damaged."
+ . += span_warning("It is damaged.")
. += get_modular_computer_parts_examine(user)
@@ -267,9 +267,9 @@
var/issynth = issilicon(user) // Robots and AIs get different activation messages.
if(obj_integrity <= integrity_failure * max_integrity)
if(issynth)
- to_chat(user, "You send an activation signal to \the [src], but it responds with an error code. It must be damaged.")
+ to_chat(user, span_warning("You send an activation signal to \the [src], but it responds with an error code. It must be damaged."))
else
- to_chat(user, "You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.")
+ to_chat(user, span_warning("You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again."))
return FALSE
// If we have a recharger, enable it automatically. Lets computer without a battery work.
@@ -279,9 +279,9 @@
if(all_components[MC_CPU] && use_power()) // use_power() checks if the PC is powered
if(issynth)
- to_chat(user, "You send an activation signal to \the [src], turning it on.")
+ to_chat(user, span_notice("You send an activation signal to \the [src], turning it on."))
else
- to_chat(user, "You press the power button and start up \the [src].")
+ to_chat(user, span_notice("You press the power button and start up \the [src]."))
if(looping_sound)
soundloop.start()
enabled = 1
@@ -290,9 +290,9 @@
return TRUE
else // Unpowered
if(issynth)
- to_chat(user, "You send an activation signal to \the [src] but it does not respond.")
+ to_chat(user, span_warning("You send an activation signal to \the [src] but it does not respond."))
else
- to_chat(user, "You press the power button but \the [src] does not respond.")
+ to_chat(user, span_warning("You press the power button but \the [src] does not respond."))
return FALSE
// Process currently calls handle_power(), may be expanded in future if more things are added.
@@ -348,10 +348,10 @@
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence.
return
playsound(src, sound, 50, TRUE)
- visible_message("The [src] displays a [caller.filedesc] notification: [alerttext]")
+ visible_message(span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]"))
var/mob/living/holder = loc
if(istype(holder))
- to_chat(holder, "[icon2html(src)] The [src] displays a [caller.filedesc] notification: [alerttext]")
+ to_chat(holder, "[icon2html(src)] [span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]")]")
// Function used by NanoUI's to obtain data for header. All relevant entries begin with "PC_"
/obj/item/modular_computer/proc/get_header_data()
@@ -446,7 +446,7 @@
if(looping_sound)
soundloop.stop()
if(loud)
- physical.visible_message("\The [src] shuts down.")
+ physical.visible_message(span_notice("\The [src] shuts down."))
enabled = 0
update_appearance()
@@ -484,7 +484,7 @@
/obj/item/modular_computer/screwdriver_act(mob/user, obj/item/tool)
if(!all_components.len)
- to_chat(user, "This device doesn't have any components installed.")
+ to_chat(user, span_warning("This device doesn't have any components installed."))
return
var/list/component_names = list()
for(var/h in all_components)
@@ -526,26 +526,26 @@
if(W.tool_behaviour == TOOL_WRENCH)
if(all_components.len)
- to_chat(user, "Remove all components from \the [src] before disassembling it.")
+ to_chat(user, span_warning("Remove all components from \the [src] before disassembling it."))
return
new /obj/item/stack/sheet/iron( get_turf(src.loc), steel_sheet_cost )
- physical.visible_message("\The [src] is disassembled by [user].")
+ physical.visible_message(span_notice("\The [src] is disassembled by [user]."))
relay_qdel()
qdel(src)
return
if(W.tool_behaviour == TOOL_WELDER)
if(obj_integrity == max_integrity)
- to_chat(user, "\The [src] does not require repairs.")
+ to_chat(user, span_warning("\The [src] does not require repairs."))
return
if(!W.tool_start_check(user, amount=1))
return
- to_chat(user, "You begin repairing damage to \the [src]...")
+ to_chat(user, span_notice("You begin repairing damage to \the [src]..."))
if(W.use_tool(src, user, 20, volume=50, amount=1))
obj_integrity = max_integrity
- to_chat(user, "You repair \the [src].")
+ to_chat(user, span_notice("You repair \the [src]."))
return
var/obj/item/computer_hardware/card_slot/card_slot = all_components[MC_CARD]
diff --git a/code/modules/modular_computers/computers/item/computer_components.dm b/code/modules/modular_computers/computers/item/computer_components.dm
index dd84879d043..91c369581fb 100644
--- a/code/modules/modular_computers/computers/item/computer_components.dm
+++ b/code/modules/modular_computers/computers/item/computer_components.dm
@@ -3,19 +3,19 @@
return FALSE
if(H.w_class > max_hardware_size)
- to_chat(user, "This component is too large for \the [src]!")
+ to_chat(user, span_warning("This component is too large for \the [src]!"))
return FALSE
if(H.expansion_hw)
if(LAZYLEN(expansion_bays) >= max_bays)
- to_chat(user, "All of the computer's expansion bays are filled.")
+ to_chat(user, span_warning("All of the computer's expansion bays are filled."))
return FALSE
if(LAZYACCESS(expansion_bays, H.device_type))
- to_chat(user, "The computer immediately ejects /the [H] and flashes an error: \"Hardware Address Conflict\".")
+ to_chat(user, span_warning("The computer immediately ejects /the [H] and flashes an error: \"Hardware Address Conflict\"."))
return FALSE
if(all_components[H.device_type])
- to_chat(user, "This computer's hardware slot is already occupied by \the [all_components[H.device_type]].")
+ to_chat(user, span_warning("This computer's hardware slot is already occupied by \the [all_components[H.device_type]]."))
return FALSE
return TRUE
@@ -32,7 +32,7 @@
LAZYSET(expansion_bays, H.device_type, H)
all_components[H.device_type] = H
- to_chat(user, "You install \the [H] into \the [src].")
+ to_chat(user, span_notice("You install \the [H] into \the [src]."))
H.holder = src
H.forceMove(src)
H.on_install(src, user)
@@ -47,7 +47,7 @@
LAZYREMOVE(expansion_bays, H.device_type)
all_components.Remove(H.device_type)
- to_chat(user, "You remove \the [H] from \the [src].")
+ to_chat(user, span_notice("You remove \the [H] from \the [src]."))
H.forceMove(get_turf(src))
H.holder = null
diff --git a/code/modules/modular_computers/computers/item/computer_damage.dm b/code/modules/modular_computers/computers/item/computer_damage.dm
index c91e958c614..cb8d5cd2c82 100644
--- a/code/modules/modular_computers/computers/item/computer_damage.dm
+++ b/code/modules/modular_computers/computers/item/computer_damage.dm
@@ -18,7 +18,7 @@
/obj/item/modular_computer/proc/break_apart()
if(!(flags_1 & NODECONSTRUCT_1))
- physical.visible_message("\The [src] breaks apart!")
+ physical.visible_message(span_notice("\The [src] breaks apart!"))
var/turf/newloc = get_turf(src)
new /obj/item/stack/sheet/iron(newloc, round(steel_sheet_cost/2))
for(var/C in all_components)
diff --git a/code/modules/modular_computers/computers/item/computer_ui.dm b/code/modules/modular_computers/computers/item/computer_ui.dm
index 07d87ead915..c95f9ab59a9 100644
--- a/code/modules/modular_computers/computers/item/computer_ui.dm
+++ b/code/modules/modular_computers/computers/item/computer_ui.dm
@@ -14,7 +14,7 @@
return
if(HAS_TRAIT(user, TRAIT_CHUNKYFINGERS))
- to_chat(user, "Your fingers are too big to use this right now!")
+ to_chat(user, span_warning("Your fingers are too big to use this right now!"))
return
// Robots don't really need to see the screen, their wireless connection works as long as computer is on.
@@ -34,7 +34,7 @@
// This screen simply lists available programs and user may select them.
var/obj/item/computer_hardware/hard_drive/hard_drive = all_components[MC_HDD]
if(!hard_drive || !hard_drive.stored_files || !hard_drive.stored_files.len)
- to_chat(user, "\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning.")
+ to_chat(user, span_danger("\The [src] beeps three times, it's screen displaying a \"DISK ERROR\" warning."))
return // No HDD, No HDD files list or no stored files. Something is very broken.
ui = SStgui.try_update_ui(user, src, ui)
@@ -130,7 +130,7 @@
return
P.kill_program(forced = TRUE)
- to_chat(user, "Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed.")
+ to_chat(user, span_notice("Program [P.filename].[P.filetype] with PID [rand(100,999)] has been killed."))
if("PC_runprogram")
var/prog = params["name"]
@@ -140,7 +140,7 @@
P = hard_drive.find_file_by_name(prog)
if(!P || !istype(P)) // Program not found or it's not executable program.
- to_chat(user, "\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning.")
+ to_chat(user, span_danger("\The [src]'s screen shows \"I/O ERROR - Unable to run program\" warning."))
return
P.computer = src
@@ -160,11 +160,11 @@
var/obj/item/computer_hardware/processor_unit/PU = all_components[MC_CPU]
if(idle_threads.len > PU.max_idle_programs)
- to_chat(user, "\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error.")
+ to_chat(user, span_danger("\The [src] displays a \"Maximal CPU load reached. Unable to run another program.\" error."))
return
if(P.requires_ntnet && !get_ntnet_status(P.requires_ntnet_feature)) // The program requires NTNet connection, but we are not connected to NTNet.
- to_chat(user, "\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning.")
+ to_chat(user, span_danger("\The [src]'s screen shows \"Unable to connect to NTNet. Please retry. If problem persists contact your system administrator.\" warning."))
return
if(P.run_program(user))
active_program = P
@@ -183,7 +183,7 @@
if(!new_color)
return
if(color_hex2num(new_color) < 200) //Colors too dark are rejected
- to_chat(user, "That color is too dark! Choose a lighter one.")
+ to_chat(user, span_warning("That color is too dark! Choose a lighter one."))
new_color = null
return set_flashlight_color(new_color)
diff --git a/code/modules/modular_computers/computers/item/laptop.dm b/code/modules/modular_computers/computers/item/laptop.dm
index 3ac2e3d4c18..c4432c12d5c 100644
--- a/code/modules/modular_computers/computers/item/laptop.dm
+++ b/code/modules/modular_computers/computers/item/laptop.dm
@@ -26,7 +26,7 @@
/obj/item/modular_computer/laptop/examine(mob/user)
. = ..()
if(screen_on)
- . += "Alt-click to close it."
+ . += span_notice("Alt-click to close it.")
/obj/item/modular_computer/laptop/Initialize()
. = ..()
@@ -100,11 +100,11 @@
/obj/item/modular_computer/laptop/proc/toggle_open(mob/living/user=null)
if(screen_on)
- to_chat(user, "You close \the [src].")
+ to_chat(user, span_notice("You close \the [src]."))
slowdown = initial(slowdown)
w_class = initial(w_class)
else
- to_chat(user, "You open \the [src].")
+ to_chat(user, span_notice("You open \the [src]."))
slowdown = slowdown_open
w_class = w_class_open
diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm
index 5003ca98aba..e044955e565 100644
--- a/code/modules/modular_computers/computers/item/processor.dm
+++ b/code/modules/modular_computers/computers/item/processor.dm
@@ -57,4 +57,4 @@
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext)
return
playsound(src, 'sound/machines/twobeep_high.ogg', 50, TRUE)
- machinery_computer.visible_message("The [src] displays a [caller.filedesc] notification: [alerttext]")
+ machinery_computer.visible_message(span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]"))
diff --git a/code/modules/modular_computers/computers/item/tablet.dm b/code/modules/modular_computers/computers/item/tablet.dm
index 72d5ad7127d..fb5a73f9cde 100644
--- a/code/modules/modular_computers/computers/item/tablet.dm
+++ b/code/modules/modular_computers/computers/item/tablet.dm
@@ -50,9 +50,9 @@
/obj/item/modular_computer/tablet/nukeops/emag_act(mob/user)
if(!enabled)
- to_chat(user, "You'd need to turn the [src] on first.")
+ to_chat(user, span_warning("You'd need to turn the [src] on first."))
return FALSE
- to_chat(user, "You swipe \the [src]. It's screen briefly shows a message reading \"MEMORY CODE INJECTION DETECTED AND SUCCESSFULLY QUARANTINED\".")
+ to_chat(user, span_notice("You swipe \the [src]. It's screen briefly shows a message reading \"MEMORY CODE INJECTION DETECTED AND SUCCESSFULLY QUARANTINED\"."))
return FALSE
/// Borg Built-in tablet interface
@@ -141,7 +141,7 @@
if(!caller || !caller.alert_able || caller.alert_silenced || !alerttext) //Yeah, we're checking alert_able. No, you don't get to make alerts that the user can't silence.
return
borgo.playsound_local(src, sound, 50, TRUE)
- to_chat(borgo, "The [src] displays a [caller.filedesc] notification: [alerttext]")
+ to_chat(borgo, span_notice("The [src] displays a [caller.filedesc] notification: [alerttext]"))
/obj/item/modular_computer/tablet/integrated/syndicate
diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm
index 764fe792794..87ae3ec4b09 100644
--- a/code/modules/modular_computers/computers/machinery/modular_computer.dm
+++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm
@@ -62,7 +62,7 @@
/obj/machinery/modular_computer/emag_act(mob/user)
if(!cpu)
- to_chat(user, "You'd need to turn the [src] on first.")
+ to_chat(user, span_warning("You'd need to turn the [src] on first."))
return FALSE
return (cpu.emag_act(user))
@@ -114,7 +114,7 @@
/obj/machinery/modular_computer/proc/power_failure(malfunction = 0)
var/obj/item/computer_hardware/battery/battery_module = cpu.all_components[MC_CELL]
if(cpu?.enabled) // Shut down the computer
- visible_message("\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly.")
+ visible_message(span_danger("\The [src]'s screen flickers [battery_module ? "\"BATTERY [malfunction ? "MALFUNCTION" : "CRITICAL"]\"" : "\"EXTERNAL POWER LOSS\""] warning as it shuts down unexpectedly."))
if(cpu)
cpu.shutdown_computer(0)
set_machine_stat(machine_stat | NOPOWER)
diff --git a/code/modules/modular_computers/file_system/program.dm b/code/modules/modular_computers/file_system/program.dm
index a36da232db3..da92d560b73 100644
--- a/code/modules/modular_computers/file_system/program.dm
+++ b/code/modules/modular_computers/file_system/program.dm
@@ -92,7 +92,7 @@
/datum/computer_file/program/proc/is_supported_by_hardware(hardware_flag = 0, loud = 0, mob/user = null)
if(!(hardware_flag & usage_flags))
if(loud && computer && user)
- to_chat(user, "\The [computer] flashes a \"Hardware Error - Incompatible software\" warning.")
+ to_chat(user, span_danger("\The [computer] flashes a \"Hardware Error - Incompatible software\" warning."))
return FALSE
return TRUE
@@ -144,14 +144,14 @@
if(!D)
if(loud)
- to_chat(user, "\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning.")
+ to_chat(user, span_danger("\The [computer] flashes an \"RFID Error - Unable to scan ID\" warning."))
return FALSE
access = D.GetAccess()
if(access_to_check in access)
return TRUE
if(loud)
- to_chat(user, "\The [computer] flashes an \"Access Denied\" warning.")
+ to_chat(user, span_danger("\The [computer] flashes an \"Access Denied\" warning."))
return FALSE
// This attempts to retrieve header data for UIs. If implementing completely new device of different type than existing ones
diff --git a/code/modules/modular_computers/file_system/program_events.dm b/code/modules/modular_computers/file_system/program_events.dm
index 1cb74a227b4..c11b1066bd2 100644
--- a/code/modules/modular_computers/file_system/program_events.dm
+++ b/code/modules/modular_computers/file_system/program_events.dm
@@ -13,6 +13,6 @@
/datum/computer_file/program/proc/event_networkfailure(background)
kill_program(forced = TRUE)
if(background)
- computer.visible_message("\The [computer]'s screen displays a \"Process [filename].[filetype] (PID [rand(100,999)]) terminated - Network Error\" error")
+ computer.visible_message(span_danger("\The [computer]'s screen displays a \"Process [filename].[filetype] (PID [rand(100,999)]) terminated - Network Error\" error"))
else
- computer.visible_message("\The [computer]'s screen briefly freezes and then shows \"NETWORK ERROR - NTNet connection lost. Please retry. If problem persists contact your system administrator.\" error.")
+ computer.visible_message(span_danger("\The [computer]'s screen briefly freezes and then shows \"NETWORK ERROR - NTNet connection lost. Please retry. If problem persists contact your system administrator.\" error."))
diff --git a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm
index 5d2090f2bde..682996987c1 100644
--- a/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm
+++ b/code/modules/modular_computers/file_system/programs/antagonist/contract_uplink.dm
@@ -92,9 +92,9 @@
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.put_in_hands(crystals))
- to_chat(H, "Your payment materializes into your hands!")
+ to_chat(H, span_notice("Your payment materializes into your hands!"))
else
- to_chat(user, "Your payment materializes onto the floor.")
+ to_chat(user, span_notice("Your payment materializes onto the floor."))
hard_drive.traitor_data.contractor_hub.contract_TC_payed_out += hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem
hard_drive.traitor_data.contractor_hub.contract_TC_to_redeem = 0
diff --git a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm
index 16584b41429..4e5afa32a72 100644
--- a/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm
+++ b/code/modules/modular_computers/file_system/programs/antagonist/revelation.dm
@@ -21,11 +21,11 @@
if(computer)
if(istype(computer, /obj/item/modular_computer/tablet/integrated)) //If this is a borg's integrated tablet
var/obj/item/modular_computer/tablet/integrated/modularInterface = computer
- to_chat(modularInterface.borgo,"SYSTEM PURGE DETECTED/")
+ to_chat(modularInterface.borgo,span_userdanger("SYSTEM PURGE DETECTED/"))
addtimer(CALLBACK(modularInterface.borgo, /mob/living/silicon/robot/.proc/death), 2 SECONDS, TIMER_UNIQUE)
return
- computer.visible_message("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard.")
+ computer.visible_message(span_notice("\The [computer]'s screen brightly flashes and loud electrical buzzing is heard."))
computer.enabled = FALSE
computer.update_appearance()
var/obj/item/computer_hardware/hard_drive/hard_drive = computer.all_components[MC_HDD]
@@ -35,13 +35,13 @@
computer.take_damage(25, BRUTE, 0, 0)
if(battery_module && prob(25))
qdel(battery_module)
- computer.visible_message("\The [computer]'s battery explodes in rain of sparks.")
+ computer.visible_message(span_notice("\The [computer]'s battery explodes in rain of sparks."))
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
spark_system.start()
if(recharger && prob(50))
qdel(recharger)
- computer.visible_message("\The [computer]'s recharger explodes in rain of sparks.")
+ computer.visible_message(span_notice("\The [computer]'s recharger explodes in rain of sparks."))
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread
spark_system.start()
diff --git a/code/modules/modular_computers/file_system/programs/arcade.dm b/code/modules/modular_computers/file_system/programs/arcade.dm
index 0b9a86f9fb6..10fee422e0d 100644
--- a/code/modules/modular_computers/file_system/programs/arcade.dm
+++ b/code/modules/modular_computers/file_system/programs/arcade.dm
@@ -150,20 +150,20 @@
return TRUE
if("Dispense_Tickets")
if(!printer)
- to_chat(usr, "Hardware error: A printer is required to redeem tickets.")
+ to_chat(usr, span_notice("Hardware error: A printer is required to redeem tickets."))
return
if(printer.stored_paper <= 0)
- to_chat(usr, "Hardware error: Printer is out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer is out of paper."))
return
else
- computer.visible_message("\The [computer] prints out paper.")
+ computer.visible_message(span_notice("\The [computer] prints out paper."))
if(ticket_count >= 1)
new /obj/item/stack/arcadeticket((get_turf(computer)), 1)
- to_chat(usr, "[computer] dispenses a ticket!")
+ to_chat(usr, span_notice("[computer] dispenses a ticket!"))
ticket_count -= 1
printer.stored_paper -= 1
else
- to_chat(usr, "You don't have any stored tickets!")
+ to_chat(usr, span_notice("You don't have any stored tickets!"))
return TRUE
if("Start_Game")
game_active = TRUE
diff --git a/code/modules/modular_computers/file_system/programs/atmosscan.dm b/code/modules/modular_computers/file_system/programs/atmosscan.dm
index b6c040741e0..6d732d25515 100644
--- a/code/modules/modular_computers/file_system/programs/atmosscan.dm
+++ b/code/modules/modular_computers/file_system/programs/atmosscan.dm
@@ -13,7 +13,7 @@
if (!.)
return
if(!computer?.get_modular_computer_part(MC_SENSORS)) //Giving a clue to users why the program is spitting out zeros.
- to_chat(user, "\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\".")
+ to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\sensorpackage\\startup.bin -- file not found\"."))
/datum/computer_file/program/atmosscan/ui_data(mob/user)
diff --git a/code/modules/modular_computers/file_system/programs/borg_monitor.dm b/code/modules/modular_computers/file_system/programs/borg_monitor.dm
index 71011035aa1..ffd7bd068e6 100644
--- a/code/modules/modular_computers/file_system/programs/borg_monitor.dm
+++ b/code/modules/modular_computers/file_system/programs/borg_monitor.dm
@@ -43,7 +43,7 @@
var/obj/item/card/id/stored_card = computer.GetID()
if(istype(stored_card) && stored_card.registered_name)
username = "user [stored_card.registered_name]"
- to_chat(borgo, "Request received from [username] for the system log file. Upload in progress.")//Damning evidence may be contained, so warn the borg
+ to_chat(borgo, span_userdanger("Request received from [username] for the system log file. Upload in progress."))//Damning evidence may be contained, so warn the borg
borgo.logevent("File request by [username]: /var/logs/syslog")
return TRUE
@@ -55,7 +55,7 @@
var/turf/here = get_turf(computer)
var/turf/there = get_turf(DL_source)
if(!here.Adjacent(there))//If someone walked away, cancel the download
- to_chat(DL_source, "Log upload failed: general connection error.")//Let the borg know the upload stopped
+ to_chat(DL_source, span_danger("Log upload failed: general connection error."))//Let the borg know the upload stopped
DL_source = null
DL_progress = -1
return
@@ -129,16 +129,16 @@
if(!ID)
return
if(R.stat == DEAD) //Dead borgs will listen to you no longer
- to_chat(usr, "Error -- Could not open a connection to unit:[R]")
+ to_chat(usr, span_warning("Error -- Could not open a connection to unit:[R]"))
var/message = stripped_input(usr, message = "Enter message to be sent to remote cyborg.", title = "Send Message")
if(!message)
return
- to_chat(R, "
Message from [ID] -- \"[message]\"
")
+ to_chat(R, "
[span_notice("Message from [ID] -- \"[message]\"")]
")
to_chat(usr, "Message sent to [R]: [message]")
R.logevent("Message from [ID] -- \"[message]\"")
SEND_SOUND(R, 'sound/machines/twobeep_high.ogg')
if(R.connected_ai)
- to_chat(R.connected_ai, "
Message from [ID] to [R] -- \"[message]\"
")
+ to_chat(R.connected_ai, "
[span_notice("Message from [ID] to [R] -- \"[message]\"")]
")
SEND_SOUND(R.connected_ai, 'sound/machines/twobeep_high.ogg')
usr.log_talk(message, LOG_PDA, tag="Cyborg Monitor Program: ID name \"[ID]\" to [R]")
diff --git a/code/modules/modular_computers/file_system/programs/card.dm b/code/modules/modular_computers/file_system/programs/card.dm
index 1ba670b5cfa..5d65015567c 100644
--- a/code/modules/modular_computers/file_system/programs/card.dm
+++ b/code/modules/modular_computers/file_system/programs/card.dm
@@ -123,11 +123,11 @@
contents += " [SSid_access.get_access_desc(A)]"
if(!printer.print_text(contents,"access report"))
- to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper."))
return TRUE
else
playsound(computer, 'sound/machines/terminal_on.ogg', 50, FALSE)
- computer.visible_message("\The [computer] prints out a paper.")
+ computer.visible_message(span_notice("\The [computer] prints out a paper."))
return TRUE
// Eject the ID used to log on to the ID app.
if("PRG_ejectauthid")
@@ -157,7 +157,7 @@
return TRUE
if(minor)
if(!(target_id_card.trim?.type in job_templates))
- to_chat(usr, "Software error: You do not have the necessary permissions to demote this card.")
+ to_chat(usr, span_notice("Software error: You do not have the necessary permissions to demote this card."))
return TRUE
// Set the new assignment then remove the trim.
@@ -190,7 +190,7 @@
new_name = reject_bad_name(new_name, allow_numbers = TRUE)
if(!new_name)
- to_chat(usr, "Software error: The ID card rejected the new name as it contains prohibited characters.")
+ to_chat(usr, span_notice("Software error: The ID card rejected the new name as it contains prohibited characters."))
return TRUE
target_id_card.registered_name = new_name
@@ -239,7 +239,7 @@
return TRUE
if(!target_id_card.add_access(list(access_type), try_wildcard))
- to_chat(usr, "ID error: ID card rejected your attempted access modification.")
+ to_chat(usr, span_notice("ID error: ID card rejected your attempted access modification."))
LOG_ID_ACCESS_CHANGE(user, target_id_card, "failed to add [SSid_access.get_access_desc(access_type)][try_wildcard ? " with wildcard [try_wildcard]" : ""]")
return TRUE
diff --git a/code/modules/modular_computers/file_system/programs/cargoship.dm b/code/modules/modular_computers/file_system/programs/cargoship.dm
index 5ab06576074..672c0de4700 100644
--- a/code/modules/modular_computers/file_system/programs/cargoship.dm
+++ b/code/modules/modular_computers/file_system/programs/cargoship.dm
@@ -63,16 +63,16 @@
cut_multiplier = potential_cut ? clamp(round(potential_cut/100, cut_min), cut_min, cut_max) : initial(cut_multiplier)
if("print")
if(!printer)
- to_chat(usr, "Hardware error: A printer is required to print barcodes.")
+ to_chat(usr, span_notice("Hardware error: A printer is required to print barcodes."))
return
if(printer.stored_paper <= 0)
- to_chat(usr, "Hardware error: Printer is out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer is out of paper."))
return
if(!payments_acc)
- to_chat(usr, "Software error: Please set a current user first.")
+ to_chat(usr, span_notice("Software error: Please set a current user first."))
return
var/obj/item/barcode/barcode = new /obj/item/barcode(get_turf(ui_host()))
barcode.payments_acc = payments_acc
barcode.cut_multiplier = cut_multiplier
printer.stored_paper--
- to_chat(usr, "The computer prints out a barcode.")
+ to_chat(usr, span_notice("The computer prints out a barcode."))
diff --git a/code/modules/modular_computers/file_system/programs/crewmanifest.dm b/code/modules/modular_computers/file_system/programs/crewmanifest.dm
index 99483d4e789..69e7bb745b5 100644
--- a/code/modules/modular_computers/file_system/programs/crewmanifest.dm
+++ b/code/modules/modular_computers/file_system/programs/crewmanifest.dm
@@ -45,7 +45,7 @@
[GLOB.data_core ? GLOB.data_core.get_manifest_html(0) : ""]
"}
if(!printer.print_text(contents,text("crew manifest ([])", station_time_timestamp())))
- to_chat(usr, "Hardware error: Printer was unable to print the file. It may be out of paper.")
+ to_chat(usr, span_notice("Hardware error: Printer was unable to print the file. It may be out of paper."))
return
else
- computer.visible_message("\The [computer] prints out a paper.")
+ computer.visible_message(span_notice("\The [computer] prints out a paper."))
diff --git a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
index 828800af515..29a4418d2ca 100644
--- a/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
+++ b/code/modules/modular_computers/file_system/programs/ntnrc_client.dm
@@ -128,9 +128,9 @@
// This program shouldn't even be runnable without computer.
CRASH("Var computer is null!")
if(!hard_drive)
- computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning.")
+ computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive connection error\" warning."))
else // In 99.9% cases this will mean our HDD is full
- computer.visible_message("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning.")
+ computer.visible_message(span_warning("\The [computer] shows an \"I/O Error - Hard drive may be full. Please free some space and try again. Required space: [logfile.size]GQ\" warning."))
return TRUE
if("PRG_renamechannel")
if(!authed)
diff --git a/code/modules/modular_computers/file_system/programs/portrait_printer.dm b/code/modules/modular_computers/file_system/programs/portrait_printer.dm
index b622cde0798..12a2187550e 100644
--- a/code/modules/modular_computers/file_system/programs/portrait_printer.dm
+++ b/code/modules/modular_computers/file_system/programs/portrait_printer.dm
@@ -45,10 +45,10 @@
if(computer)
printer = computer.all_components[MC_PRINT]
if(!printer)
- to_chat(usr, "Hardware error: A printer is required to print a canvas.")
+ to_chat(usr, span_notice("Hardware error: A printer is required to print a canvas."))
return
if(printer.stored_paper < CANVAS_PAPER_COST)
- to_chat(usr, "Printing error: Your printer needs at least [CANVAS_PAPER_COST] paper to print a canvas.")
+ to_chat(usr, span_notice("Printing error: Your printer needs at least [CANVAS_PAPER_COST] paper to print a canvas."))
return
printer.stored_paper -= CANVAS_PAPER_COST
@@ -79,5 +79,5 @@
///this is a copy of something that is already in the database- it should not be able to be saved.
printed_canvas.no_save = TRUE
printed_canvas.update_icon()
- to_chat(usr, "You have printed [title] onto a new canvas.")
+ to_chat(usr, span_notice("You have printed [title] onto a new canvas."))
playsound(computer.physical, 'sound/items/poster_being_created.ogg', 100, TRUE)
diff --git a/code/modules/modular_computers/file_system/programs/robotact.dm b/code/modules/modular_computers/file_system/programs/robotact.dm
index 1bb1da54fcd..b424f53af33 100644
--- a/code/modules/modular_computers/file_system/programs/robotact.dm
+++ b/code/modules/modular_computers/file_system/programs/robotact.dm
@@ -23,7 +23,7 @@
/datum/computer_file/program/robotact/run_program(mob/living/user)
if(!istype(computer, /obj/item/modular_computer/tablet/integrated))
- to_chat(user, "A warning flashes across \the [computer]: Device Incompatible.")
+ to_chat(user, span_warning("A warning flashes across \the [computer]: Device Incompatible."))
return FALSE
. = ..()
if(.)
@@ -111,7 +111,7 @@
if("alertPower")
if(borgo.stat == CONSCIOUS)
if(!borgo.cell || !borgo.cell.charge)
- borgo.visible_message("The power warning light on [borgo] flashes urgently.", \
+ borgo.visible_message(span_notice("The power warning light on [span_name("[borgo]")] flashes urgently."), \
"You announce you are operating in low power mode.")
playsound(borgo, 'sound/machines/buzz-two.ogg', 50, FALSE)
diff --git a/code/modules/modular_computers/file_system/programs/signaler.dm b/code/modules/modular_computers/file_system/programs/signaler.dm
index abde8811bd5..b7bbcacaa02 100644
--- a/code/modules/modular_computers/file_system/programs/signaler.dm
+++ b/code/modules/modular_computers/file_system/programs/signaler.dm
@@ -20,7 +20,7 @@
if (!.)
return
if(!computer?.get_modular_computer_part(MC_SIGNALER)) //Giving a clue to users why the program is spitting out zeros.
- to_chat(user, "\The [computer] flashes an error: \"hardware\\signal_hardware\\startup.bin -- file not found\".")
+ to_chat(user, span_warning("\The [computer] flashes an error: \"hardware\\signal_hardware\\startup.bin -- file not found\"."))
/datum/computer_file/program/signaler/ui_data(mob/user)
diff --git a/code/modules/modular_computers/file_system/programs/techweb.dm b/code/modules/modular_computers/file_system/programs/techweb.dm
index 15b5eea7437..c2943bd54da 100644
--- a/code/modules/modular_computers/file_system/programs/techweb.dm
+++ b/code/modules/modular_computers/file_system/programs/techweb.dm
@@ -91,12 +91,12 @@
switch (action)
if ("toggleLock")
if(computer.obj_flags & EMAGGED)
- to_chat(usr, "Security protocol error: Unable to access locking protocols.")
+ to_chat(usr, span_boldwarning("Security protocol error: Unable to access locking protocols."))
return TRUE
if(ACCESS_RND in user_id_card?.access)
locked = !locked
else
- to_chat(usr, "Unauthorized Access. Please insert research ID card.")
+ to_chat(usr, span_boldwarning("Unauthorized Access. Please insert research ID card."))
return TRUE
if ("researchNode")
if(!SSresearch.science_tech.available_nodes[params["node_id"]])
diff --git a/code/modules/modular_computers/hardware/_hardware.dm b/code/modules/modular_computers/hardware/_hardware.dm
index ad314b37559..1bb83a2969c 100644
--- a/code/modules/modular_computers/hardware/_hardware.dm
+++ b/code/modules/modular_computers/hardware/_hardware.dm
@@ -50,10 +50,10 @@
if(istype(I, /obj/item/stack/cable_coil))
var/obj/item/stack/S = I
if(obj_integrity == max_integrity)
- to_chat(user, "\The [src] doesn't seem to require repairs.")
+ to_chat(user, span_warning("\The [src] doesn't seem to require repairs."))
return 1
if(S.use(1))
- to_chat(user, "You patch up \the [src] with a bit of \the [I].")
+ to_chat(user, span_notice("You patch up \the [src] with a bit of \the [I]."))
obj_integrity = min(obj_integrity + 10, max_integrity)
return 1
@@ -90,11 +90,11 @@
/obj/item/computer_hardware/examine(mob/user)
. = ..()
if(damage > damage_failure)
- . += "It seems to be severely damaged!"
+ . += span_danger("It seems to be severely damaged!")
else if(damage > damage_malfunction)
- . += "It seems to be damaged!"
+ . += span_warning("It seems to be damaged!")
else if(damage)
- . += "It seems to be slightly damaged."
+ . += span_notice("It seems to be slightly damaged.")
// Component-side compatibility check.
/obj/item/computer_hardware/proc/can_install(obj/item/modular_computer/M, mob/living/user = null)
diff --git a/code/modules/modular_computers/hardware/ai_slot.dm b/code/modules/modular_computers/hardware/ai_slot.dm
index c0eecefcb6d..5bd308c820d 100644
--- a/code/modules/modular_computers/hardware/ai_slot.dm
+++ b/code/modules/modular_computers/hardware/ai_slot.dm
@@ -29,28 +29,28 @@
return FALSE
if(stored_card)
- to_chat(user, "You try to insert \the [I] into \the [src], but the slot is occupied.")
+ to_chat(user, span_warning("You try to insert \the [I] into \the [src], but the slot is occupied."))
return FALSE
if(user && !user.transferItemToLoc(I, src))
return FALSE
stored_card = I
- to_chat(user, "You insert \the [I] into \the [src].")
+ to_chat(user, span_notice("You insert \the [I] into \the [src]."))
return TRUE
/obj/item/computer_hardware/ai_slot/try_eject(mob/living/user = null, forced = FALSE)
if(!stored_card)
- to_chat(user, "There is no card in \the [src].")
+ to_chat(user, span_warning("There is no card in \the [src]."))
return FALSE
if(locked && !forced)
- to_chat(user, "Safeties prevent you from removing the card until reconstruction is complete...")
+ to_chat(user, span_warning("Safeties prevent you from removing the card until reconstruction is complete..."))
return FALSE
if(stored_card)
- to_chat(user, "You remove [stored_card] from [src].")
+ to_chat(user, span_notice("You remove [stored_card] from [src]."))
locked = FALSE
if(user)
user.put_in_hands(stored_card)
@@ -64,6 +64,6 @@
if(..())
return
if(I.tool_behaviour == TOOL_SCREWDRIVER)
- to_chat(user, "You press down on the manual eject button with \the [I].")
+ to_chat(user, span_notice("You press down on the manual eject button with \the [I]."))
try_eject(user, TRUE)
return
diff --git a/code/modules/modular_computers/hardware/battery_module.dm b/code/modules/modular_computers/hardware/battery_module.dm
index 5c046ddeaf0..af651ce3b70 100644
--- a/code/modules/modular_computers/hardware/battery_module.dm
+++ b/code/modules/modular_computers/hardware/battery_module.dm
@@ -35,29 +35,29 @@
return FALSE
if(battery)
- to_chat(user, "You try to connect \the [I] to \the [src], but its connectors are occupied.")
+ to_chat(user, span_warning("You try to connect \the [I] to \the [src], but its connectors are occupied."))
return FALSE
if(I.w_class > holder.max_hardware_size)
- to_chat(user, "This power cell is too large for \the [holder]!")
+ to_chat(user, span_warning("This power cell is too large for \the [holder]!"))
return FALSE
if(user && !user.transferItemToLoc(I, src))
return FALSE
battery = I
- to_chat(user, "You connect \the [I] to \the [src].")
+ to_chat(user, span_notice("You connect \the [I] to \the [src]."))
return TRUE
/obj/item/computer_hardware/battery/try_eject(mob/living/user, forced = FALSE)
if(!battery)
- to_chat(user, "There is no power cell connected to \the [src].")
+ to_chat(user, span_warning("There is no power cell connected to \the [src]."))
return FALSE
else
if(user)
user.put_in_hands(battery)
- to_chat(user, "You detach \the [battery] from \the [src].")
+ to_chat(user, span_notice("You detach \the [battery] from \the [src]."))
else
battery.forceMove(drop_location())
return TRUE
diff --git a/code/modules/modular_computers/hardware/card_slot.dm b/code/modules/modular_computers/hardware/card_slot.dm
index 4c985c4b3ba..4eb429d4546 100644
--- a/code/modules/modular_computers/hardware/card_slot.dm
+++ b/code/modules/modular_computers/hardware/card_slot.dm
@@ -73,7 +73,7 @@
I.forceMove(src)
stored_card = I
- to_chat(user, "You insert \the [I] into \the [expansion_hw ? "secondary":"primary"] [src].")
+ to_chat(user, span_notice("You insert \the [I] into \the [expansion_hw ? "secondary":"primary"] [src]."))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
var/holder_loc = holder.loc
@@ -88,7 +88,7 @@
/obj/item/computer_hardware/card_slot/try_eject(mob/living/user = null, forced = FALSE)
if(!stored_card)
- to_chat(user, "There are no cards in \the [src].")
+ to_chat(user, span_warning("There are no cards in \the [src]."))
return FALSE
if(user && !issilicon(user) && in_range(src, user))
@@ -96,7 +96,7 @@
else
stored_card.forceMove(drop_location())
- to_chat(user, "You remove the card from \the [src].")
+ to_chat(user, span_notice("You remove the card from \the [src]."))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
return TRUE
@@ -106,11 +106,11 @@
return
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(stored_card)
- to_chat(user, "You press down on the manual eject button with \the [I].")
+ to_chat(user, span_notice("You press down on the manual eject button with \the [I]."))
try_eject(user)
return
swap_slot()
- to_chat(user, "You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"].")
+ to_chat(user, span_notice("You adjust the connecter to fit into [expansion_hw ? "an expansion bay" : "the primary ID bay"]."))
/**
*Swaps the card_slot hardware between using the dedicated card slot bay on a computer, and using an expansion bay.
diff --git a/code/modules/modular_computers/hardware/hard_drive.dm b/code/modules/modular_computers/hardware/hard_drive.dm
index 1cc3e6799db..29614cc7b09 100644
--- a/code/modules/modular_computers/hardware/hard_drive.dm
+++ b/code/modules/modular_computers/hardware/hard_drive.dm
@@ -20,7 +20,7 @@
/obj/item/computer_hardware/hard_drive/examine(user)
. = ..()
- . += "It has [max_capacity] GQ of storage capacity."
+ . += span_notice("It has [max_capacity] GQ of storage capacity.")
/obj/item/computer_hardware/hard_drive/diagnostics(mob/user)
..()
diff --git a/code/modules/modular_computers/hardware/printer.dm b/code/modules/modular_computers/hardware/printer.dm
index f534a94a0d3..99756e3dd8d 100644
--- a/code/modules/modular_computers/hardware/printer.dm
+++ b/code/modules/modular_computers/hardware/printer.dm
@@ -11,11 +11,11 @@
/obj/item/computer_hardware/printer/diagnostics(mob/living/user)
..()
- to_chat(user, "Paper level: [stored_paper]/[max_paper].")
+ to_chat(user, span_notice("Paper level: [stored_paper]/[max_paper]."))
/obj/item/computer_hardware/printer/examine(mob/user)
. = ..()
- . += "Paper level: [stored_paper]/[max_paper]."
+ . += span_notice("Paper level: [stored_paper]/[max_paper].")
/obj/item/computer_hardware/printer/proc/print_text(text_to_print, paper_title = "")
@@ -41,12 +41,12 @@
/obj/item/computer_hardware/printer/try_insert(obj/item/I, mob/living/user = null)
if(istype(I, /obj/item/paper))
if(stored_paper >= max_paper)
- to_chat(user, "You try to add \the [I] into [src], but its paper bin is full!")
+ to_chat(user, span_warning("You try to add \the [I] into [src], but its paper bin is full!"))
return FALSE
if(user && !user.temporarilyRemoveItemFromInventory(I))
return FALSE
- to_chat(user, "You insert \the [I] into [src]'s paper recycler.")
+ to_chat(user, span_notice("You insert \the [I] into [src]'s paper recycler."))
qdel(I)
stored_paper++
return TRUE
diff --git a/code/modules/modular_computers/hardware/recharger.dm b/code/modules/modular_computers/hardware/recharger.dm
index 0a50f1d2995..f98382e5257 100644
--- a/code/modules/modular_computers/hardware/recharger.dm
+++ b/code/modules/modular_computers/hardware/recharger.dm
@@ -55,7 +55,7 @@
/obj/item/computer_hardware/recharger/wired/can_install(obj/item/modular_computer/M, mob/living/user = null)
if(ismachinery(M.physical) && M.physical.anchored)
return ..()
- to_chat(user, "\The [src] is incompatible with portable computers!")
+ to_chat(user, span_warning("\The [src] is incompatible with portable computers!"))
return FALSE
/obj/item/computer_hardware/recharger/wired/use_power(amount, charging=0)
diff --git a/code/modules/modular_computers/laptop_vendor.dm b/code/modules/modular_computers/laptop_vendor.dm
index 6a507ad7e78..a446bf828db 100644
--- a/code/modules/modular_computers/laptop_vendor.dm
+++ b/code/modules/modular_computers/laptop_vendor.dm
@@ -241,13 +241,13 @@
if(!user.temporarilyRemoveItemFromInventory(c))
return
credits += c.value
- visible_message("[user] inserts [c.value] cr into [src].")
+ visible_message(span_info("[span_name("[user]")] inserts [c.value] cr into [src]."))
qdel(c)
return
else if(istype(I, /obj/item/holochip))
var/obj/item/holochip/HC = I
credits += HC.credits
- visible_message("[user] inserts a [HC.credits] cr holocredit chip into [src].")
+ visible_message(span_info("[user] inserts a [HC.credits] cr holocredit chip into [src]."))
qdel(HC)
return
else if(istype(I, /obj/item/card/id))
diff --git a/code/modules/ninja/energy_katana.dm b/code/modules/ninja/energy_katana.dm
index fee30232fcc..a5925ea6e8f 100644
--- a/code/modules/ninja/energy_katana.dm
+++ b/code/modules/ninja/energy_katana.dm
@@ -111,7 +111,7 @@
msg = "Your Energy Katana lands at your feet!"
if(msg)
- to_chat(user, "[msg]")
+ to_chat(user, span_notice("[msg]"))
/datum/action/innate/dash/ninja
current_charges = 3
diff --git a/code/modules/ninja/ninja_explosive.dm b/code/modules/ninja/ninja_explosive.dm
index f915f722c4c..cc586692d51 100644
--- a/code/modules/ninja/ninja_explosive.dm
+++ b/code/modules/ninja/ninja_explosive.dm
@@ -15,14 +15,14 @@
/obj/item/grenade/c4/ninja/afterattack(atom/movable/AM, mob/user, flag)
var/datum/antagonist/ninja/ninja_antag = user.mind.has_antag_datum(/datum/antagonist/ninja)
if(!ninja_antag)
- to_chat(user, "While it appears normal, you can't seem to detonate the charge.")
+ to_chat(user, span_notice("While it appears normal, you can't seem to detonate the charge."))
return
var/datum/objective/plant_explosive/objective = locate() in ninja_antag.objectives
if(!objective)
- to_chat(user, "You can't seem to activate the charge. It's location-locked, but you don't know where to detonate it.")
+ to_chat(user, span_notice("You can't seem to activate the charge. It's location-locked, but you don't know where to detonate it."))
return
if(objective.detonation_location != get_area(user))
- to_chat(user, "This isn't the location you're supposed to use this!")
+ to_chat(user, span_notice("This isn't the location you're supposed to use this!"))
return
detonator = user
return ..()
diff --git a/code/modules/ninja/suit/gloves.dm b/code/modules/ninja/suit/gloves.dm
index ebbce37179d..5e66356db7c 100644
--- a/code/modules/ninja/suit/gloves.dm
+++ b/code/modules/ninja/suit/gloves.dm
@@ -57,9 +57,9 @@
if(isnum(.)) //Numerical values of drained handle their feedback here, Alpha values handle it themselves (Research hacking)
if(.)
- to_chat(wearer, "Gained [DisplayEnergy(.)] of energy from [A].")
+ to_chat(wearer, span_notice("Gained [DisplayEnergy(.)] of energy from [A]."))
else
- to_chat(wearer, "\The [A] has run dry of energy, you must find another source!")
+ to_chat(wearer, span_danger("\The [A] has run dry of energy, you must find another source!"))
else
. = FALSE //as to not cancel attack_hand()
diff --git a/code/modules/ninja/suit/ninjaDrainAct.dm b/code/modules/ninja/suit/ninjaDrainAct.dm
index 25778cbb4df..e3f93968944 100644
--- a/code/modules/ninja/suit/ninjaDrainAct.dm
+++ b/code/modules/ninja/suit/ninjaDrainAct.dm
@@ -114,14 +114,14 @@
. = DRAIN_RD_HACK_FAILED
- to_chat(ninja, "Hacking \the [src]...")
+ to_chat(ninja, span_notice("Hacking \the [src]..."))
AI_notify_hack()
if(stored_research)
- to_chat(ninja, "Copying files...")
+ to_chat(ninja, span_notice("Copying files..."))
if(do_after(ninja, ninja_suit.s_delay, target = src) && src)
stored_research.copy_research_to(ninja_suit.stored_research)
- to_chat(ninja, "Data analyzed. Process finished.")
+ to_chat(ninja, span_notice("Data analyzed. Process finished."))
//RD SERVER//
/obj/machinery/rnd/server/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/ninja_suit, mob/living/carbon/human/ninja, obj/item/clothing/gloves/space_ninja/ninja_gloves)
@@ -130,14 +130,14 @@
. = DRAIN_RD_HACK_FAILED
- to_chat(ninja, "Hacking \the [src]...")
+ to_chat(ninja, span_notice("Hacking \the [src]..."))
AI_notify_hack()
if(stored_research)
- to_chat(ninja, "Copying files...")
+ to_chat(ninja, span_notice("Copying files..."))
if(do_after(ninja, ninja_suit.s_delay, target = src) && src)
stored_research.copy_research_to(ninja_suit.stored_research)
- to_chat(ninja, "Data analyzed. Process finished.")
+ to_chat(ninja, span_notice("Data analyzed. Process finished."))
//SECURITY CONSOLE//
/obj/machinery/computer/secure_data/ninjadrain_act(obj/item/clothing/suit/space/space_ninja/ninja_suit, mob/living/carbon/human/ninja, obj/item/clothing/gloves/space_ninja/ninja_gloves)
@@ -243,7 +243,7 @@
var/drain = 0 //Drain amount
var/drain_total = 0
- to_chat(occupants, "[icon2html(src, occupants)]Warning: Unauthorized access through sub-route 4, block H, detected.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_danger("Warning: Unauthorized access through sub-route 4, block H, detected.")]")
if(get_charge())
while(cell.charge > 0 && !maxcapacity)
drain = rand(ninja_gloves.mindrain, ninja_gloves.maxdrain)
@@ -268,11 +268,11 @@
if(!ninja_suit || !ninja || !ninja_gloves || (ROLE_NINJA in faction))
return INVALID_DRAIN
- to_chat(src, "Warni-***BZZZZZZZZZRT*** UPLOADING SPYDERPATCHER VERSION 9.5.2...")
+ to_chat(src, span_danger("Warni-***BZZZZZZZZZRT*** UPLOADING SPYDERPATCHER VERSION 9.5.2..."))
if (do_after(ninja, 60, target = src))
spark_system.start()
playsound(loc, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- to_chat(src, "UPLOAD COMPLETE. NEW CYBORG MODEL DETECTED. INSTALLING...")
+ to_chat(src, span_danger("UPLOAD COMPLETE. NEW CYBORG MODEL DETECTED. INSTALLING..."))
faction = list(ROLE_NINJA)
bubble_icon = "syndibot"
UnlinkSelf()
@@ -301,5 +301,5 @@
var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread()
spark_system.set_up(5, 0, loc)
playsound(src, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- visible_message("[ninja] electrocutes [src] with [ninja.p_their()] touch!", "[ninja] electrocutes you with [ninja.p_their()] touch!")
+ visible_message(span_danger("[ninja] electrocutes [src] with [ninja.p_their()] touch!"), span_userdanger("[ninja] electrocutes you with [ninja.p_their()] touch!"))
Knockdown(3 SECONDS)
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
index 91fc3f226a7..0e34260a074 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm
@@ -31,7 +31,7 @@
/obj/structure/energy_net/Destroy()
if(!QDELETED(affecting))
- affecting.visible_message("[affecting.name] is recovered from the energy net!", "You are recovered from the energy net!", "You hear a grunt.")
+ affecting.visible_message(span_notice("[affecting.name] is recovered from the energy net!"), span_notice("You are recovered from the energy net!"), span_hear("You hear a grunt."))
affecting = null
return ..()
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm
index d5d1a526783..ff368603eba 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_adrenaline.dm
@@ -29,7 +29,7 @@
ninja.reagents.add_reagent(/datum/reagent/medicine/stimulants, 5)
ninja.say(pick("A CORNERED FOX IS MORE DANGEROUS THAN A JACKAL!","HURT ME MOOORRREEE!","IMPRESSIVE!"), forced = "ninjaboost")
a_boost = FALSE
- to_chat(ninja, "You have used the adrenaline boost.")
+ to_chat(ninja, span_notice("You have used the adrenaline boost."))
s_coold = 6
addtimer(CALLBACK(src, .proc/ninjaboost_after), 70)
@@ -42,4 +42,4 @@
/obj/item/clothing/suit/space/space_ninja/proc/ninjaboost_after()
var/mob/living/carbon/human/ninja = affecting
ninja.reagents.add_reagent(/datum/reagent/uranium/radium, a_transfer * 0.25)
- to_chat(ninja, "You are beginning to feel the after-effect of the injection.")
+ to_chat(ninja, span_danger("You are beginning to feel the after-effect of the injection."))
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm
index 7fb9d9dbf68..eee581e0885 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_cost_check.dm
@@ -12,7 +12,7 @@
var/mob/living/carbon/human/ninja = affecting
var/actualCost = cost*10
if(cost && cell.charge < actualCost)
- to_chat(ninja, "Not enough energy!")
+ to_chat(ninja, span_warning("Not enough energy!"))
return TRUE
else
//This shit used to be handled individually on every proc.. why even bother with a universal check proc then?
@@ -23,6 +23,6 @@
cancel_stealth()//Get rid of it.
if(N_ADRENALINE)
if(!a_boost)
- to_chat(ninja, "You do not have any more adrenaline boosters!")
+ to_chat(ninja, span_warning("You do not have any more adrenaline boosters!"))
return TRUE
return (s_coold)//Returns the value of the variable which counts down to zero.
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm
index ab52f3e0180..0b58a65b210 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm
@@ -18,18 +18,18 @@
return
if(locate(/obj/structure/energy_net) in get_turf(net_target))//Check if they are already being affected by an energy net.
- to_chat(ninja, "[net_target.p_they(TRUE)] are already trapped inside an energy net!")
+ to_chat(ninja, span_warning("[net_target.p_they(TRUE)] are already trapped inside an energy net!"))
return
for(var/turf/between_turf in getline(get_turf(ninja), get_turf(net_target)))
if(between_turf.density)//Don't want them shooting nets through walls. It's kind of cheesy.
- to_chat(ninja, "You may not use an energy net through solid obstacles!")
+ to_chat(ninja, span_warning("You may not use an energy net through solid obstacles!"))
return
if(!ninjacost(400,N_STEALTH_CANCEL))
ninja.Beam(net_target, "n_beam", time = 15)
ninja.say("Get over here!", forced = "ninja net")
var/obj/structure/energy_net/net = new /obj/structure/energy_net(net_target.drop_location())
net.affecting = net_target
- ninja.visible_message("[ninja] caught [net_target] with an energy net!","You caught [net_target] with an energy net!")
+ ninja.visible_message(span_danger("[ninja] caught [net_target] with an energy net!"),span_notice("You caught [net_target] with an energy net!"))
if(net_target.buckled)
net_target.buckled.unbuckle_mob(affecting,TRUE)
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm
index dc6396ef503..2c8adbc5770 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stars.dm
@@ -17,10 +17,10 @@
var/mob/living/carbon/human/ninja = affecting
var/obj/item/throwing_star/stamina/ninja/ninja_star = new(ninja)
if(ninja.put_in_hands(ninja_star))
- to_chat(ninja, "A throwing star has been created in your hand!")
+ to_chat(ninja, span_notice("A throwing star has been created in your hand!"))
else
qdel(ninja_star)
- to_chat(ninja, "You can't create a throwing star, your hands are full!")
+ to_chat(ninja, span_notice("You can't create a throwing star, your hands are full!"))
/**
* # Ninja Throwing Star
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm
index 7ab3bedaaf0..90824fe934b 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_status_read.dm
@@ -16,24 +16,24 @@
/obj/item/clothing/suit/space/space_ninja/proc/ninjastatus()
var/mob/living/carbon/human/ninja = affecting
var/list/info_list = list()
- info_list += "SpiderOS Status: [s_initialized ? "Initialized" : "Disabled"]\n"
- info_list += "Current Time: [station_time_timestamp()]\n"
+ info_list += "[span_info("SpiderOS Status: [s_initialized ? "Initialized" : "Disabled"]")]\n"
+ info_list += "[span_info("Current Time: [station_time_timestamp()]")]\n"
//Ninja status
- info_list += "Fingerprints: [md5(ninja.dna.uni_identity)]\n"
- info_list += "Unique Identity: [ninja.dna.unique_enzymes]\n"
- info_list += "Overall Status: [ninja.stat > 1 ? "dead" : "[ninja.health]% healthy"]\n"
- info_list += "Nutrition Status: [ninja.nutrition]\n"
- info_list += "Oxygen Loss: [ninja.getOxyLoss()]\n"
- info_list += "Toxin Levels: [ninja.getToxLoss()]\n"
- info_list += "Burn Severity: [ninja.getFireLoss()]\n"
- info_list += "Brute Trauma: [ninja.getBruteLoss()]\n"
- info_list += "Radiation Levels: [ninja.radiation] rad\n"
- info_list += "Body Temperature: [ninja.bodytemperature-T0C] degrees C ([ninja.bodytemperature*1.8-459.67] degrees F)\n"
+ info_list += "[span_info("Fingerprints: [md5(ninja.dna.uni_identity)]")]\n"
+ info_list += "[span_info("Unique Identity: [ninja.dna.unique_enzymes]")]\n"
+ info_list += "[span_info("Overall Status: [ninja.stat > 1 ? "dead" : "[ninja.health]% healthy"]")]\n"
+ info_list += "[span_info("Nutrition Status: [ninja.nutrition]")]\n"
+ info_list += "[span_info("Oxygen Loss: [ninja.getOxyLoss()]")]\n"
+ info_list += "[span_info("Toxin Levels: [ninja.getToxLoss()]")]\n"
+ info_list += "[span_info("Burn Severity: [ninja.getFireLoss()]")]\n"
+ info_list += "[span_info("Brute Trauma: [ninja.getBruteLoss()]")]\n"
+ info_list += "[span_info("Radiation Levels: [ninja.radiation] rad")]\n"
+ info_list += "[span_info("Body Temperature: [ninja.bodytemperature-T0C] degrees C ([ninja.bodytemperature*1.8-459.67] degrees F)")]\n"
//Diseases
if(length(ninja.diseases))
info_list += "Viruses:"
for(var/datum/disease/ninja_disease in ninja.diseases)
- info_list += "* [ninja_disease.name], Type: [ninja_disease.spread_text], Stage: [ninja_disease.stage]/[ninja_disease.max_stages], Possible Cure: [ninja_disease.cure_text]\n"
+ info_list += "[span_info("* [ninja_disease.name], Type: [ninja_disease.spread_text], Stage: [ninja_disease.stage]/[ninja_disease.max_stages], Possible Cure: [ninja_disease.cure_text]")]\n"
to_chat(ninja, "[info_list.Join()]")
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm
index 079f0c53e94..49c3ebdd54e 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_stealth.dm
@@ -18,12 +18,12 @@
cancel_stealth()
else
if(cell.charge <= 0)
- to_chat(ninja, "You don't have enough power to enable Stealth!")
+ to_chat(ninja, span_warning("You don't have enough power to enable Stealth!"))
return
stealth = !stealth
animate(ninja, alpha = 20,time = 12)
- ninja.visible_message("[ninja.name] vanishes into thin air!", \
- "You are now mostly invisible to normal detection.")
+ ninja.visible_message(span_warning("[ninja.name] vanishes into thin air!"), \
+ span_notice("You are now mostly invisible to normal detection."))
/**
* Proc called to cancel stealth.
@@ -40,7 +40,7 @@
if(stealth)
stealth = !stealth
animate(ninja, alpha = 255, time = 12)
- ninja.visible_message("[ninja.name] appears from thin air!", \
- "You are now visible.")
+ ninja.visible_message(span_warning("[ninja.name] appears from thin air!"), \
+ span_notice("You are now visible."))
return TRUE
return FALSE
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm
index 8b425fd15c7..945b8fb249d 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_suit_initialisation.dm
@@ -35,7 +35,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list(
/obj/item/clothing/suit/space/space_ninja/proc/toggle_on_off()
. = TRUE
if(s_busy)
- to_chat(loc, "ERROR: You cannot use this function at this time.")
+ to_chat(loc, "[span_warning("ERROR")]: You cannot use this function at this time.")
return FALSE
s_busy = TRUE
if(s_initialized)
@@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list(
s_busy = FALSE
return
if (phase > NINJA_LOCK_PHASE && (ninja.stat == DEAD || ninja.health <= 0))
- to_chat(ninja, "FÄAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG...")
+ to_chat(ninja, span_danger("FÄAL �Rr�R: 344--93#�&&21 BR��N |/|/aV� PATT$RN RED\nA-A-aB�rT�NG..."))
unlock_suit(ninja)
s_busy = FALSE
return
@@ -78,7 +78,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list(
s_initialized = TRUE
s_busy = FALSE
- to_chat(ninja, "[message]")
+ to_chat(ninja, span_notice("[message]"))
playsound(ninja, 'sound/effects/sparks1.ogg', 10, TRUE)
if (phase < NINJA_COMPLETE_PHASE)
@@ -107,7 +107,7 @@ GLOBAL_LIST_INIT(ninja_deinitialize_messages, list(
message = "Logging off, [ninja.real_name]. " + message
if(NINJA_DEINIT_STEALTH_PHASE)
cancel_stealth()
- to_chat(ninja, "[message]")
+ to_chat(ninja, span_notice("[message]"))
playsound(ninja, 'sound/items/deconstruct.ogg', 10, TRUE)
if (phase < NINJA_COMPLETE_PHASE)
diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm
index 22fdf86ccd1..a82822fdfd0 100644
--- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm
+++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_sword_recall.dm
@@ -17,7 +17,7 @@
var/inview = TRUE
if(!energyKatana)
- to_chat(ninja, "Could not locate Energy Katana!")
+ to_chat(ninja, span_warning("Could not locate Energy Katana!"))
return
if(energyKatana in ninja)
@@ -40,7 +40,7 @@
if(inview) //If we can see the katana, throw it towards ourselves, damaging people as we go.
energyKatana.spark_system.start()
playsound(ninja, "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
- ninja.visible_message("\the [energyKatana] flies towards [ninja]!","You hold out your hand and \the [energyKatana] flies towards you!")
+ ninja.visible_message(span_danger("\the [energyKatana] flies towards [ninja]!"),span_warning("You hold out your hand and \the [energyKatana] flies towards you!"))
energyKatana.throw_at(ninja, distance+1, energyKatana.throw_speed, ninja)
else //Else just TP it to us.
diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm
index 108cf555985..9e01a7c3407 100644
--- a/code/modules/ninja/suit/suit.dm
+++ b/code/modules/ninja/suit/suit.dm
@@ -120,10 +120,10 @@
toggle_on_off()
return TRUE
if(!s_initialized)
- to_chat(user, "ERROR: suit offline. Please activate suit.")
+ to_chat(user, span_warning("ERROR: suit offline. Please activate suit."))
return FALSE
if(s_coold > 0)
- to_chat(user, "ERROR: suit is on cooldown.")
+ to_chat(user, span_warning("ERROR: suit is on cooldown."))
return FALSE
if(IS_NINJA_SUIT_STATUS(action))
ninjastatus()
@@ -192,17 +192,17 @@
if(!istype(ninja))
return FALSE
if(!IS_SPACE_NINJA(ninja))
- to_chat(ninja, "fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAUHORIZED USÈ DETÈCeD\nCoMMÈNCING SUB-R0UIN3 13...\nTÈRMInATING U-U-USÈR...")
+ to_chat(ninja, span_danger("fÄTaL ÈÈRRoR: 382200-*#00CÖDE RED\nUNAUHORIZED USÈ DETÈCeD\nCoMMÈNCING SUB-R0UIN3 13...\nTÈRMInATING U-U-USÈR..."))
ninja.gib()
return FALSE
if(!istype(ninja.head, /obj/item/clothing/head/helmet/space/space_ninja))
- to_chat(ninja, "ERROR: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING...")
+ to_chat(ninja, "[span_userdanger("ERROR")]: 100113 UNABLE TO LOCATE HEAD GEAR\nABORTING...")
return FALSE
if(!istype(ninja.shoes, /obj/item/clothing/shoes/space_ninja))
- to_chat(ninja, "ERROR: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING...")
+ to_chat(ninja, "[span_userdanger("ERROR")]: 122011 UNABLE TO LOCATE FOOT GEAR\nABORTING...")
return FALSE
if(!istype(ninja.gloves, /obj/item/clothing/gloves/space_ninja))
- to_chat(ninja, "ERROR: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...")
+ to_chat(ninja, "[span_userdanger("ERROR")]: 110223 UNABLE TO LOCATE HAND GEAR\nABORTING...")
return FALSE
affecting = ninja
ADD_TRAIT(src, TRAIT_NODROP, NINJA_SUIT_TRAIT)
diff --git a/code/modules/ninja/suit/suit_attackby.dm b/code/modules/ninja/suit/suit_attackby.dm
index 31767aebdb6..509c6a2652b 100644
--- a/code/modules/ninja/suit/suit_attackby.dm
+++ b/code/modules/ninja/suit/suit_attackby.dm
@@ -5,14 +5,14 @@
if(istype(I, /obj/item/reagent_containers/glass) && I.reagents.has_reagent(/datum/reagent/uranium/radium, a_transfer) && a_boost != TRUE)//If it's a glass beaker, and what we're transferring is radium.
I.reagents.remove_reagent(/datum/reagent/uranium/radium, a_transfer)
a_boost = TRUE;
- to_chat(ninja, "The suit's adrenaline boost is now reloaded.")
+ to_chat(ninja, span_notice("The suit's adrenaline boost is now reloaded."))
return
else if(istype(I, /obj/item/stock_parts/cell))
var/obj/item/stock_parts/cell/CELL = I
if(CELL.maxcharge > cell.maxcharge)
- to_chat(ninja, "Higher maximum capacity detected.\nUpgrading...")
+ to_chat(ninja, span_notice("Higher maximum capacity detected.\nUpgrading..."))
if (do_after(ninja,s_delay, target = src))
ninja.transferItemToLoc(CELL, src)
CELL.charge = min(CELL.charge+cell.charge, CELL.maxcharge)
@@ -23,9 +23,9 @@
old_cell.corrupt()
old_cell.update_appearance()
cell = CELL
- to_chat(ninja, "Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%")
+ to_chat(ninja, span_notice("Upgrade complete. Maximum capacity: [round(cell.maxcharge/100)]%"))
else
- to_chat(ninja, "Procedure interrupted. Protocol terminated.")
+ to_chat(ninja, span_danger("Procedure interrupted. Protocol terminated."))
return
else if(istype(I, /obj/item/disk/tech_disk))//If it's a data disk, we want to copy the research on to the suit.
@@ -36,15 +36,15 @@
has_research = TRUE
break
if(has_research)//If it has something on it.
- to_chat(ninja, "Research information detected, processing...")
+ to_chat(ninja, span_notice("Research information detected, processing..."))
if(do_after(ninja,s_delay, target = src))
TD.stored_research.copy_research_to(stored_research)
qdel(TD.stored_research)
TD.stored_research = new
- to_chat(ninja, "Data analyzed and updated. Disk erased.")
+ to_chat(ninja, span_notice("Data analyzed and updated. Disk erased."))
else
- to_chat(ninja, "ERROR: Procedure interrupted. Process terminated.")
+ to_chat(ninja, "[span_userdanger("ERROR")]: Procedure interrupted. Process terminated.")
else
- to_chat(ninja, "No new research information detected.")
+ to_chat(ninja, span_notice("No new research information detected."))
return
return ..()
diff --git a/code/modules/paperwork/carbonpaper.dm b/code/modules/paperwork/carbonpaper.dm
index f693310efef..bff767aa732 100644
--- a/code/modules/paperwork/carbonpaper.dm
+++ b/code/modules/paperwork/carbonpaper.dm
@@ -21,11 +21,11 @@
. = ..()
if(copied || iscopy)
return
- . += "Right-click to tear off the carbon-copy (you must use both hands)."
+ . += span_notice("Right-click to tear off the carbon-copy (you must use both hands).")
/obj/item/paper/carbon/proc/removecopy(mob/living/user)
if(copied || iscopy)
- to_chat(user, "There are no more carbon copies attached to this paper!")
+ to_chat(user, span_notice("There are no more carbon copies attached to this paper!"))
else
var/obj/item/paper/carbon/C = src
var/copycontents = C.info
@@ -37,7 +37,7 @@
Copy.info += copycontents
Copy.info += ""
Copy.name = "Copy - [C.name]"
- to_chat(user, "You tear off the carbon-copy!")
+ to_chat(user, span_notice("You tear off the carbon-copy!"))
C.copied = TRUE
Copy.iscopy = TRUE
Copy.update_icon_state()
diff --git a/code/modules/paperwork/clipboard.dm b/code/modules/paperwork/clipboard.dm
index 9c88473dd22..b8cf837a975 100644
--- a/code/modules/paperwork/clipboard.dm
+++ b/code/modules/paperwork/clipboard.dm
@@ -25,7 +25,7 @@
var/datum/weakref/toppaper_ref
/obj/item/clipboard/suicide_act(mob/living/carbon/user)
- user.visible_message("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins putting [user.p_their()] head into the clip of \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS //The clipboard's clip is very strong. Industrial duty. Can kill a man easily.
/obj/item/clipboard/Initialize()
@@ -39,10 +39,10 @@
/obj/item/clipboard/examine()
. = ..()
if(pen)
- . += "Alt-click to remove [pen]."
+ . += span_notice("Alt-click to remove [pen].")
var/obj/item/paper/toppaper = toppaper_ref?.resolve()
if(toppaper)
- . += "Right-click to remove [toppaper]."
+ . += span_notice("Right-click to remove [toppaper].")
/// Take out the topmost paper
/obj/item/clipboard/proc/remove_paper(obj/item/paper/paper, mob/user)
@@ -50,7 +50,7 @@
return
paper.forceMove(user.loc)
user.put_in_hands(paper)
- to_chat(user, "You remove [paper] from [src].")
+ to_chat(user, span_notice("You remove [paper] from [src]."))
var/obj/item/paper/toppaper = toppaper_ref?.resolve()
if(paper == toppaper)
toppaper_ref = null
@@ -64,7 +64,7 @@
/obj/item/clipboard/proc/remove_pen(mob/user)
pen.forceMove(user.loc)
user.put_in_hands(pen)
- to_chat(user, "You remove [pen] from [src].")
+ to_chat(user, span_notice("You remove [pen] from [src]."))
pen = null
update_icon()
@@ -97,13 +97,13 @@
if(!user.transferItemToLoc(weapon, src))
return
toppaper_ref = WEAKREF(weapon)
- to_chat(user, "You clip [weapon] onto [src].")
+ to_chat(user, span_notice("You clip [weapon] onto [src]."))
else if(istype(weapon, /obj/item/pen) && !pen)
//Add a pen into the clipboard, attack (write) if there is already one
if(!usr.transferItemToLoc(weapon, src))
return
pen = weapon
- to_chat(usr, "You slot [weapon] into [src].")
+ to_chat(usr, span_notice("You slot [weapon] into [src]."))
else if(toppaper)
toppaper.attackby(user.get_active_held_item(), user)
update_appearance()
@@ -170,7 +170,7 @@
var/obj/item/paper/paper = locate(params["ref"]) in src
if(istype(paper))
toppaper_ref = WEAKREF(paper)
- to_chat(usr, "You move [paper] to the top.")
+ to_chat(usr, span_notice("You move [paper] to the top."))
update_icon()
. = TRUE
// Rename the paper (it's a verb)
diff --git a/code/modules/paperwork/filingcabinet.dm b/code/modules/paperwork/filingcabinet.dm
index 6550a3b487c..3e448de627c 100644
--- a/code/modules/paperwork/filingcabinet.dm
+++ b/code/modules/paperwork/filingcabinet.dm
@@ -48,20 +48,20 @@
/obj/structure/filingcabinet/attackby(obj/item/P, mob/living/user, params)
var/list/modifiers = params2list(params)
if(P.tool_behaviour == TOOL_WRENCH && LAZYACCESS(modifiers, RIGHT_CLICK))
- to_chat(user, "You begin to [anchored ? "unwrench" : "wrench"] [src].")
+ to_chat(user, span_notice("You begin to [anchored ? "unwrench" : "wrench"] [src]."))
if(P.use_tool(src, user, 20, volume=50))
- to_chat(user, "You successfully [anchored ? "unwrench" : "wrench"] [src].")
+ to_chat(user, span_notice("You successfully [anchored ? "unwrench" : "wrench"] [src]."))
set_anchored(!anchored)
else if(P.w_class < WEIGHT_CLASS_NORMAL)
if(!user.transferItemToLoc(P, src))
return
- to_chat(user, "You put [P] in [src].")
+ to_chat(user, span_notice("You put [P] in [src]."))
icon_state = "[initial(icon_state)]-open"
sleep(5)
icon_state = initial(icon_state)
updateUsrDialog()
else if(!user.combat_mode)
- to_chat(user, "You can't put [P] in [src]!")
+ to_chat(user, span_warning("You can't put [P] in [src]!"))
else
return ..()
@@ -69,7 +69,7 @@
/obj/structure/filingcabinet/ui_interact(mob/user)
. = ..()
if(contents.len <= 0)
- to_chat(user, "[src] is empty.")
+ to_chat(user, span_notice("[src] is empty."))
return
var/dat = ""
@@ -95,9 +95,9 @@
I.forceMove(loc)
if(prob(25))
step_rand(I)
- to_chat(user, "You pull \a [I] out of [src] at random.")
+ to_chat(user, span_notice("You pull \a [I] out of [src] at random."))
return
- to_chat(user, "You find nothing in [src].")
+ to_chat(user, span_notice("You find nothing in [src]."))
/obj/structure/filingcabinet/Topic(href, href_list)
diff --git a/code/modules/paperwork/folders.dm b/code/modules/paperwork/folders.dm
index 9902dbea8d2..98137de5e88 100644
--- a/code/modules/paperwork/folders.dm
+++ b/code/modules/paperwork/folders.dm
@@ -10,7 +10,7 @@
var/bg_color = "#7f7f7f"
/obj/item/folder/suicide_act(mob/living/user)
- user.visible_message("[user] begins filing an imaginary death warrant! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins filing an imaginary death warrant! It looks like [user.p_theyre()] trying to commit suicide!"))
return OXYLOSS
/obj/item/folder/Initialize()
@@ -27,11 +27,11 @@
/obj/item/folder/examine()
. = ..()
if(contents)
- . += "Right-click to remove [contents[1]]."
+ . += span_notice("Right-click to remove [contents[1]].")
/obj/item/folder/proc/rename(mob/user)
if(!user.is_literate())
- to_chat(user, "You scribble illegibly on the cover of [src]!")
+ to_chat(user, span_notice("You scribble illegibly on the cover of [src]!"))
return
var/inputvalue = stripped_input(user, "What would you like to label the folder?", "Folder Labelling", "", MAX_NAME_LEN)
@@ -46,7 +46,7 @@
if(istype(Item))
Item.forceMove(user.loc)
user.put_in_hands(Item)
- to_chat(user, "You remove [Item] from [src].")
+ to_chat(user, span_notice("You remove [Item] from [src]."))
update_icon()
/obj/item/folder/attack_hand(mob/user, list/modifiers)
@@ -67,7 +67,7 @@
//Add paper, photo or documents into the folder
if(!user.transferItemToLoc(weapon, src))
return
- to_chat(user, "You put [weapon] into [src].")
+ to_chat(user, span_notice("You put [weapon] into [src]."))
update_appearance()
else if(istype(weapon, /obj/item/pen))
rename(user)
diff --git a/code/modules/paperwork/handlabeler.dm b/code/modules/paperwork/handlabeler.dm
index 0618fe7173b..687f4fe4f6b 100644
--- a/code/modules/paperwork/handlabeler.dm
+++ b/code/modules/paperwork/handlabeler.dm
@@ -9,7 +9,7 @@
var/mode = 0
/obj/item/hand_labeler/suicide_act(mob/user)
- user.visible_message("[user] is pointing [src] at [user.p_them()]self. [user.p_theyre(TRUE)] going to label [user.p_them()]self as a suicide!")
+ user.visible_message(span_suicide("[user] is pointing [src] at [user.p_them()]self. [user.p_theyre(TRUE)] going to label [user.p_them()]self as a suicide!"))
labels_left = max(labels_left - 1, 0)
var/old_real_name = user.real_name
@@ -44,20 +44,20 @@
return
if(!labels_left)
- to_chat(user, "No labels left!")
+ to_chat(user, span_warning("No labels left!"))
return
if(!label || !length(label))
- to_chat(user, "No text set!")
+ to_chat(user, span_warning("No text set!"))
return
if(length(A.name) + length(label) > 64)
- to_chat(user, "Label too big!")
+ to_chat(user, span_warning("Label too big!"))
return
if(ismob(A))
- to_chat(user, "You can't label creatures!") // use a collar
+ to_chat(user, span_warning("You can't label creatures!")) // use a collar
return
- user.visible_message("[user] labels [A] with \"[label]\".", \
- "You label [A] with \"[label]\".")
+ user.visible_message(span_notice("[user] labels [A] with \"[label]\"."), \
+ span_notice("You label [A] with \"[label]\"."))
A.AddComponent(/datum/component/label, label)
playsound(A, 'sound/items/handling/component_pickup.ogg', 20, TRUE)
labels_left--
@@ -65,26 +65,26 @@
/obj/item/hand_labeler/attack_self(mob/user)
if(!ISADVANCEDTOOLUSER(user))
- to_chat(user, "You don't have the dexterity to use [src]!")
+ to_chat(user, span_warning("You don't have the dexterity to use [src]!"))
return
mode = !mode
icon_state = "labeler[mode]"
if(mode)
- to_chat(user, "You turn on [src].")
+ to_chat(user, span_notice("You turn on [src]."))
//Now let them chose the text.
var/str = reject_bad_text(stripped_input(user, "Label text?", "Set label","", MAX_NAME_LEN))
if(!str || !length(str))
- to_chat(user, "Invalid text!")
+ to_chat(user, span_warning("Invalid text!"))
return
label = str
- to_chat(user, "You set the text to '[str]'.")
+ to_chat(user, span_notice("You set the text to '[str]'."))
else
- to_chat(user, "You turn off [src].")
+ to_chat(user, span_notice("You turn off [src]."))
/obj/item/hand_labeler/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/hand_labeler_refill))
- to_chat(user, "You insert [I] into [src].")
+ to_chat(user, span_notice("You insert [I] into [src]."))
qdel(I)
labels_left = initial(labels_left) //Yes, it's capped at its initial value
diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm
index 66d281636f2..f95d2bbda9f 100644
--- a/code/modules/paperwork/paper.dm
+++ b/code/modules/paperwork/paper.dm
@@ -119,7 +119,7 @@
if(ishuman(usr))
var/mob/living/carbon/human/H = usr
if(HAS_TRAIT(H, TRAIT_CLUMSY) && prob(25))
- to_chat(H, "You cut yourself on the paper! Ahhhh! Ahhhhh!")
+ to_chat(H, span_warning("You cut yourself on the paper! Ahhhh! Ahhhhh!"))
H.damageoverlaytemp = 9001
H.update_damage_hud()
return
@@ -129,7 +129,7 @@
add_fingerprint(usr)
/obj/item/paper/suicide_act(mob/user)
- user.visible_message("[user] scratches a grid on [user.p_their()] wrist with the paper! It looks like [user.p_theyre()] trying to commit sudoku...")
+ user.visible_message(span_suicide("[user] scratches a grid on [user.p_their()] wrist with the paper! It looks like [user.p_theyre()] trying to commit sudoku..."))
return (BRUTELOSS)
/obj/item/paper/proc/clearpaper()
@@ -142,12 +142,12 @@
/obj/item/paper/examine(mob/user)
. = ..()
if(!in_range(user, src) && !isobserver(user))
- . += "You're too far away to read it!"
+ . += span_warning("You're too far away to read it!")
return
if(user.can_read(src))
ui_interact(user)
return
- . += "You cannot read it!"
+ . += span_warning("You cannot read it!")
/obj/item/paper/ui_status(mob/user,/datum/ui_state/state)
// Are we on fire? Hard ot read if so
@@ -179,8 +179,8 @@
return
. = TRUE
if(!bypass_clumsy && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(10) && Adjacent(user))
- user.visible_message("[user] accidentally ignites [user.p_them()]self!", \
- "You miss [src] and accidentally light yourself on fire!")
+ user.visible_message(span_warning("[user] accidentally ignites [user.p_them()]self!"), \
+ span_userdanger("You miss [src] and accidentally light yourself on fire!"))
if(user.is_holding(I)) //checking if they're holding it in case TK is involved
user.dropItemToGround(I)
user.adjust_fire_stacks(1)
@@ -204,12 +204,12 @@
return
else if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon))
if(length(info) >= MAX_PAPER_LENGTH) // Sheet must have less than 1000 charaters
- to_chat(user, "This sheet of paper is full!")
+ to_chat(user, span_warning("This sheet of paper is full!"))
return
ui_interact(user)
return
else if(istype(P, /obj/item/stamp))
- to_chat(user, "You ready your stamp over the paper! ")
+ to_chat(user, span_notice("You ready your stamp over the paper! "))
ui_interact(user)
return /// Normaly you just stamp, you don't need to read the thing
else
@@ -326,7 +326,7 @@
update_static_data(usr,ui)
var/obj/O = ui.user.get_active_held_item()
- ui.user.visible_message("[ui.user] stamps [src] with \the [O.name]!", "You stamp [src] with \the [O.name]!")
+ ui.user.visible_message(span_notice("[ui.user] stamps [src] with \the [O.name]!"), span_notice("You stamp [src] with \the [O.name]!"))
else
to_chat(usr, pick("You try to stamp but you miss!", "There is no where else you can stamp!"))
. = TRUE
diff --git a/code/modules/paperwork/paper_cutter.dm b/code/modules/paperwork/paper_cutter.dm
index 5c7a60b6ff4..a16dd92c6c3 100644
--- a/code/modules/paperwork/paper_cutter.dm
+++ b/code/modules/paperwork/paper_cutter.dm
@@ -20,7 +20,7 @@
/obj/item/papercutter/suicide_act(mob/user)
if(storedcutter)
- user.visible_message("[user] is beheading [user.p_them()]self with [src.name]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is beheading [user.p_them()]self with [src.name]! It looks like [user.p_theyre()] trying to commit suicide!"))
if(iscarbon(user))
var/mob/living/carbon/C = user
var/obj/item/bodypart/BP = C.get_bodypart(BODY_ZONE_HEAD)
@@ -29,7 +29,7 @@
playsound(loc, "desecration" ,50, TRUE, -1)
return (BRUTELOSS)
else
- user.visible_message("[user] repeatedly bashes [src.name] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] repeatedly bashes [src.name] against [user.p_their()] head! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, 'sound/items/gavel.ogg', 50, TRUE, -1)
return (BRUTELOSS)
@@ -49,21 +49,21 @@
if(!user.transferItemToLoc(P, src))
return
playsound(loc, "pageturn", 60, TRUE)
- to_chat(user, "You place [P] in [src].")
+ to_chat(user, span_notice("You place [P] in [src]."))
storedpaper = P
update_appearance()
return
if(istype(P, /obj/item/hatchet/cutterblade) && !storedcutter)
if(!user.transferItemToLoc(P, src))
return
- to_chat(user, "You replace [src]'s [P].")
+ to_chat(user, span_notice("You replace [src]'s [P]."))
P.forceMove(src)
storedcutter = P
update_appearance()
return
if(P.tool_behaviour == TOOL_SCREWDRIVER && storedcutter)
P.play_tool_sound(src)
- to_chat(user, "[storedcutter] has been [cuttersecured ? "unsecured" : "secured"].")
+ to_chat(user, span_notice("[storedcutter] has been [cuttersecured ? "unsecured" : "secured"]."))
cuttersecured = !cuttersecured
return
..()
@@ -74,18 +74,18 @@
return
add_fingerprint(user)
if(!storedcutter)
- to_chat(user, "The cutting blade is gone! You can't use [src] now.")
+ to_chat(user, span_warning("The cutting blade is gone! You can't use [src] now."))
return
if(!cuttersecured)
- to_chat(user, "You remove [src]'s [storedcutter].")
+ to_chat(user, span_notice("You remove [src]'s [storedcutter]."))
user.put_in_hands(storedcutter)
storedcutter = null
update_appearance()
if(storedpaper)
playsound(src.loc, 'sound/weapons/slash.ogg', 50, TRUE)
- to_chat(user, "You neatly cut [storedpaper].")
+ to_chat(user, span_notice("You neatly cut [storedpaper]."))
storedpaper = null
qdel(storedpaper)
new /obj/item/paperslip(get_turf(src))
diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm
index 99b979e1304..7af3fcfd81a 100644
--- a/code/modules/paperwork/paperbin.dm
+++ b/code/modules/paperwork/paperbin.dm
@@ -53,7 +53,7 @@
if(!droppoint)
droppoint = drop_location()
if(collapse)
- visible_message("The stack of paper collapses!")
+ visible_message(span_warning("The stack of paper collapses!"))
for(var/atom/movable/movable_atom in contents)
movable_atom.forceMove(droppoint)
if(!movable_atom.pixel_y)
@@ -87,7 +87,7 @@
pen.add_fingerprint(user)
pen.forceMove(user.loc)
user.put_in_hands(pen)
- to_chat(user, "You take [pen] out of [src].")
+ to_chat(user, span_notice("You take [pen] out of [src]."))
bin_pen = null
update_appearance()
else if(LAZYLEN(papers))
@@ -96,10 +96,10 @@
top_paper.add_fingerprint(user)
top_paper.forceMove(user.loc)
user.put_in_hands(top_paper)
- to_chat(user, "You take [top_paper] out of [src].")
+ to_chat(user, span_notice("You take [top_paper] out of [src]."))
update_appearance()
else
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
add_fingerprint(user)
return ..()
@@ -111,14 +111,14 @@
var/obj/item/paper/paper = I
if(!user.transferItemToLoc(paper, src))
return
- to_chat(user, "You put [paper] in [src].")
+ to_chat(user, span_notice("You put [paper] in [src]."))
papers.Add(paper)
update_appearance()
else if(istype(I, /obj/item/pen) && !bin_pen)
var/obj/item/pen/pen = I
if(!user.transferItemToLoc(pen, src))
return
- to_chat(user, "You put [pen] in [src].")
+ to_chat(user, span_notice("You put [pen] in [src]."))
bin_pen = pen
update_appearance()
else
@@ -217,11 +217,11 @@
/obj/item/paper_bin/bundlenatural/attackby(obj/item/W, mob/user)
if(istype(W, /obj/item/paper/carbon))
- to_chat(user, "[W] won't fit into [src].")
+ to_chat(user, span_warning("[W] won't fit into [src]."))
return
if(W.get_sharpness())
if(W.use_tool(src, user, 1 SECONDS))
- to_chat(user, "You slice the cable from [src].")
+ to_chat(user, span_notice("You slice the cable from [src]."))
deconstruct(TRUE)
else
..()
diff --git a/code/modules/paperwork/paperplane.dm b/code/modules/paperwork/paperplane.dm
index 42ee665ab6e..e3cfc96050c 100644
--- a/code/modules/paperwork/paperplane.dm
+++ b/code/modules/paperwork/paperplane.dm
@@ -48,7 +48,7 @@
/obj/item/paperplane/suicide_act(mob/living/user)
var/obj/item/organ/eyes/eyes = user.getorganslot(ORGAN_SLOT_EYES)
user.Stun(200)
- user.visible_message("[user] jams [src] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] jams [src] in [user.p_their()] nose. It looks like [user.p_theyre()] trying to commit suicide!"))
user.adjust_blurriness(6)
if(eyes)
eyes.applyOrganDamage(rand(6,8))
@@ -64,7 +64,7 @@
. += "paperplane_[S]"
/obj/item/paperplane/attack_self(mob/user)
- to_chat(user, "You unfold [src].")
+ to_chat(user, span_notice("You unfold [src]."))
// We don't have to qdel the paperplane here; it shall be done once the internal paper object is moved out of src anyway.
if(user.Adjacent(internalPaper))
user.put_in_hands(internalPaper)
@@ -75,7 +75,7 @@
if(burn_paper_product_attackby_check(P, user))
return
if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon))
- to_chat(user, "You should unfold [src] before changing it!")
+ to_chat(user, span_warning("You should unfold [src] before changing it!"))
return
else if(istype(P, /obj/item/stamp)) //we don't randomize stamps on a paperplane
@@ -105,7 +105,7 @@
if(prob(hit_probability))
if(H.is_eyes_covered())
return
- visible_message("\The [src] hits [H] in the eye[eyes ? "" : " socket"]!")
+ visible_message(span_danger("\The [src] hits [H] in the eye[eyes ? "" : " socket"]!"))
H.adjust_blurriness(6)
eyes?.applyOrganDamage(rand(6,8))
H.Paralyze(40)
@@ -113,7 +113,7 @@
/obj/item/paper/examine(mob/user)
. = ..()
- . += "Alt-click [src] to fold it into a paper plane."
+ . += span_notice("Alt-click [src] to fold it into a paper plane.")
/obj/item/paper/AltClick(mob/living/user, obj/item/I)
if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE))
@@ -121,7 +121,7 @@
if(istype(src, /obj/item/paper/carbon))
var/obj/item/paper/carbon/Carbon = src
if(!Carbon.iscopy && !Carbon.copied)
- to_chat(user, "Take off the carbon copy first.")
+ to_chat(user, span_notice("Take off the carbon copy first."))
return
//Origami Master
var/datum/action/innate/origami/origami_action = locate() in user.actions
@@ -139,7 +139,7 @@
* * obj/item/paperplane/plane_type - what it will be folded into (path)
*/
/obj/item/paper/proc/make_plane(mob/living/user, obj/item/I, obj/item/paperplane/plane_type = /obj/item/paperplane)
- to_chat(user, "You fold [src] into the shape of a plane!")
+ to_chat(user, span_notice("You fold [src] into the shape of a plane!"))
user.temporarilyRemoveItemFromInventory(src)
I = new plane_type(loc, src)
if(user.Adjacent(I))
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 3f7bfcf296a..9ff2a05464a 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -32,7 +32,7 @@
sharpness = SHARP_POINTY
/obj/item/pen/suicide_act(mob/user)
- user.visible_message("[user] is scribbling numbers all over [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit sudoku...")
+ user.visible_message(span_suicide("[user] is scribbling numbers all over [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit sudoku..."))
return(BRUTELOSS)
/obj/item/pen/blue
@@ -68,7 +68,7 @@
colour = "blue"
else
colour = "black"
- to_chat(user, "\The [src] will now write in [colour].")
+ to_chat(user, span_notice("\The [src] will now write in [colour]."))
desc = "It's a fancy four-color ink pen, set to [colour]."
/obj/item/pen/fountain
@@ -125,7 +125,7 @@
var/deg = input(user, "What angle would you like to rotate the pen head to? (1-360)", "Rotate Pen Head") as null|num
if(deg && (deg > 0 && deg <= 360))
degrees = deg
- to_chat(user, "You rotate the top of the pen to [degrees] degrees.")
+ to_chat(user, span_notice("You rotate the top of the pen to [degrees] degrees."))
SEND_SIGNAL(src, COMSIG_PEN_ROTATED, deg, user)
/obj/item/pen/attack(mob/living/M, mob/user, params)
@@ -133,8 +133,8 @@
return ..()
if(!M.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))
return FALSE
- to_chat(user, "You stab [M] with the pen.")
- to_chat(M, "You feel a tiny prick!")
+ to_chat(user, span_warning("You stab [M] with the pen."))
+ to_chat(M, span_danger("You feel a tiny prick!"))
log_combat(user, M, "stabbed", src)
return TRUE
@@ -151,14 +151,14 @@
if(QDELETED(O) || !user.canUseTopic(O, BE_CLOSE))
return
if(input == oldname || !input)
- to_chat(user, "You changed [O] to... well... [O].")
+ to_chat(user, span_notice("You changed [O] to... well... [O]."))
else
O.AddComponent(/datum/component/rename, input, O.desc)
var/datum/component/label/label = O.GetComponent(/datum/component/label)
if(label)
label.remove_label()
label.apply_label()
- to_chat(user, "You have successfully renamed \the [oldname] to [O].")
+ to_chat(user, span_notice("You have successfully renamed \the [oldname] to [O]."))
O.renamedByPlayer = TRUE
if(penchoice == "Change description")
@@ -167,10 +167,10 @@
if(QDELETED(O) || !user.canUseTopic(O, BE_CLOSE))
return
if(input == olddesc || !input)
- to_chat(user, "You decide against changing [O]'s description.")
+ to_chat(user, span_notice("You decide against changing [O]'s description."))
else
O.AddComponent(/datum/component/rename, O.name, input)
- to_chat(user, "You have successfully changed [O]'s description.")
+ to_chat(user, span_notice("You have successfully changed [O]'s description."))
O.renamedByPlayer = TRUE
if(penchoice == "Reset")
@@ -185,7 +185,7 @@
label.remove_label()
label.apply_label()
- to_chat(user, "You have successfully reset [O]'s name and description.")
+ to_chat(user, span_notice("You have successfully reset [O]'s name and description."))
O.renamedByPlayer = FALSE
/*
@@ -230,9 +230,9 @@
/obj/item/pen/edagger/suicide_act(mob/user)
. = BRUTELOSS
if(on)
- user.visible_message("[user] forcefully rams the pen into their mouth!")
+ user.visible_message(span_suicide("[user] forcefully rams the pen into their mouth!"))
else
- user.visible_message("[user] is holding a pen up to their mouth! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is holding a pen up to their mouth! It looks like [user.p_theyre()] trying to commit suicide!"))
attack_self(user)
/obj/item/pen/edagger/attack_self(mob/living/user)
@@ -246,7 +246,7 @@
embedding = list(embed_chance = EMBED_CHANCE)
throwforce = initial(throwforce)
playsound(user, 'sound/weapons/saberoff.ogg', 5, TRUE)
- to_chat(user, "[src] can now be concealed.")
+ to_chat(user, span_warning("[src] can now be concealed."))
else
on = TRUE
force = 18
@@ -257,7 +257,7 @@
embedding = list(embed_chance = 100) //rule of cool
throwforce = 35
playsound(user, 'sound/weapons/saberon.ogg', 5, TRUE)
- to_chat(user, "[src] is now active.")
+ to_chat(user, span_warning("[src] is now active."))
updateEmbedding()
update_appearance()
diff --git a/code/modules/paperwork/photocopier.dm b/code/modules/paperwork/photocopier.dm
index 0e3e874043c..b47767d95c8 100644
--- a/code/modules/paperwork/photocopier.dm
+++ b/code/modules/paperwork/photocopier.dm
@@ -90,11 +90,11 @@
// Copying paper, photos, documents and asses.
if("make_copy")
if(busy)
- to_chat(usr, "[src] is currently busy copying something. Please wait until it is finished.")
+ to_chat(usr, span_warning("[src] is currently busy copying something. Please wait until it is finished."))
return FALSE
if(paper_copy)
if(!length(paper_copy.info))
- to_chat(usr, "An error message flashes across [src]'s screen: \"The supplied paper is blank. Aborting.\"")
+ to_chat(usr, span_warning("An error message flashes across [src]'s screen: \"The supplied paper is blank. Aborting.\""))
return FALSE
// Basic paper
if(istype(paper_copy, /obj/item/paper))
@@ -125,17 +125,17 @@
remove_photocopy(document_copy, usr)
document_copy = null
else if(check_ass())
- to_chat(ass, "You feel a slight pressure on your ass.")
+ to_chat(ass, span_notice("You feel a slight pressure on your ass."))
return TRUE
// AI printing photos from their saved images.
if("ai_photo")
if(busy)
- to_chat(usr, "[src] is currently busy copying something. Please wait until it is finished.")
+ to_chat(usr, span_warning("[src] is currently busy copying something. Please wait until it is finished."))
return FALSE
var/mob/living/silicon/ai/tempAI = usr
if(!length(tempAI.aicamera.stored))
- to_chat(usr, "No images saved.")
+ to_chat(usr, span_boldannounce("No images saved."))
return
var/datum/picture/selection = tempAI.aicamera.selectpicture(usr)
var/obj/item/photo/photo = new(loc, selection) // AI prints color photos only.
@@ -284,7 +284,7 @@
if(!check_ass())
return
if(ishuman(ass) && (ass.get_item_by_slot(ITEM_SLOT_ICLOTHING) || ass.get_item_by_slot(ITEM_SLOT_OCLOTHING)))
- to_chat(usr, "You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "[ass.p_their()]"] clothes on." )
+ to_chat(usr, span_notice("You feel kind of silly, copying [ass == usr ? "your" : ass][ass == usr ? "" : "\'s"] ass with [ass == usr ? "your" : "[ass.p_their()]"] clothes on.") )
return
var/icon/temp_img
@@ -319,7 +319,7 @@
*/
/obj/machinery/photocopier/proc/do_insertion(obj/item/object, mob/user)
object.forceMove(src)
- to_chat(user, "You insert [object] into [src].")
+ to_chat(user, span_notice("You insert [object] into [src]."))
flick("photocopier1", src)
/**
@@ -338,7 +338,7 @@
user.put_in_hands(object)
else
object.forceMove(drop_location())
- to_chat(user, "You take [object] out of [src]. [busy ? "The [src] comes to a halt." : ""]")
+ to_chat(user, span_notice("You take [object] out of [src]. [busy ? "The [src] comes to a halt." : ""]"))
/obj/machinery/photocopier/attackby(obj/item/O, mob/user, params)
if(default_unfasten_wrench(user, O))
@@ -351,7 +351,7 @@
paper_copy = O
do_insertion(O, user)
else
- to_chat(user, "There is already something in [src]!")
+ to_chat(user, span_warning("There is already something in [src]!"))
else if(istype(O, /obj/item/photo))
if(copier_empty())
@@ -360,7 +360,7 @@
photo_copy = O
do_insertion(O, user)
else
- to_chat(user, "There is already something in [src]!")
+ to_chat(user, span_warning("There is already something in [src]!"))
else if(istype(O, /obj/item/documents))
if(copier_empty())
@@ -369,18 +369,18 @@
document_copy = O
do_insertion(O, user)
else
- to_chat(user, "There is already something in [src]!")
+ to_chat(user, span_warning("There is already something in [src]!"))
else if(istype(O, /obj/item/toner))
if(toner_cartridge)
- to_chat(user, "[src] already has a toner cartridge inserted. Remove that one first.")
+ to_chat(user, span_warning("[src] already has a toner cartridge inserted. Remove that one first."))
return
O.forceMove(src)
toner_cartridge = O
- to_chat(user, "You insert [O] into [src].")
+ to_chat(user, span_notice("You insert [O] into [src]."))
else if(istype(O, /obj/item/areaeditor/blueprints))
- to_chat(user, "The Blueprint is too large to put into the copier. You need to find something else to record the document.")
+ to_chat(user, span_warning("The Blueprint is too large to put into the copier. You need to find something else to record the document."))
else
return ..()
@@ -396,35 +396,35 @@
return
add_fingerprint(user)
if(target == user)
- user.visible_message("[user] starts climbing onto the photocopier!", "You start climbing onto the photocopier...")
+ user.visible_message(span_notice("[user] starts climbing onto the photocopier!"), span_notice("You start climbing onto the photocopier..."))
else
- user.visible_message("[user] starts putting [target] onto the photocopier!", "You start putting [target] onto the photocopier...")
+ user.visible_message(span_warning("[user] starts putting [target] onto the photocopier!"), span_notice("You start putting [target] onto the photocopier..."))
if(do_after(user, 20, target = src))
if(!target || QDELETED(target) || QDELETED(src) || !Adjacent(target)) //check if the photocopier/target still exists.
return
if(target == user)
- user.visible_message("[user] climbs onto the photocopier!", "You climb onto the photocopier.")
+ user.visible_message(span_notice("[user] climbs onto the photocopier!"), span_notice("You climb onto the photocopier."))
else
- user.visible_message("[user] puts [target] onto the photocopier!", "You put [target] onto the photocopier.")
+ user.visible_message(span_warning("[user] puts [target] onto the photocopier!"), span_notice("You put [target] onto the photocopier."))
target.forceMove(drop_location())
ass = target
if(photo_copy)
photo_copy.forceMove(drop_location())
- visible_message("[photo_copy] is shoved out of the way by [ass]!")
+ visible_message(span_warning("[photo_copy] is shoved out of the way by [ass]!"))
photo_copy = null
else if(paper_copy)
paper_copy.forceMove(drop_location())
- visible_message("[paper_copy] is shoved out of the way by [ass]!")
+ visible_message(span_warning("[paper_copy] is shoved out of the way by [ass]!"))
paper_copy = null
else if(document_copy)
document_copy.forceMove(drop_location())
- visible_message("[document_copy] is shoved out of the way by [ass]!")
+ visible_message(span_warning("[document_copy] is shoved out of the way by [ass]!"))
document_copy = null
/obj/machinery/photocopier/Exited(atom/movable/AM, atom/newloc)
diff --git a/code/modules/paperwork/stamps.dm b/code/modules/paperwork/stamps.dm
index c13ad1d3534..2d61ca83c19 100644
--- a/code/modules/paperwork/stamps.dm
+++ b/code/modules/paperwork/stamps.dm
@@ -14,7 +14,7 @@
attack_verb_simple = list("stamp")
/obj/item/stamp/suicide_act(mob/user)
- user.visible_message("[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead.")
+ user.visible_message(span_suicide("[user] stamps 'VOID' on [user.p_their()] forehead, then promptly falls over, dead."))
return (OXYLOSS)
/obj/item/stamp/qm
diff --git a/code/modules/paperwork/ticketmachine.dm b/code/modules/paperwork/ticketmachine.dm
index 8fcf83b6ca1..c23ffe39644 100644
--- a/code/modules/paperwork/ticketmachine.dm
+++ b/code/modules/paperwork/ticketmachine.dm
@@ -43,19 +43,19 @@
return
var/obj/item/multitool/M = I
M.buffer = src
- to_chat(user, "You store linkage information in [I]'s buffer.")
+ to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
return TRUE
/obj/machinery/ticket_machine/emag_act(mob/user) //Emag the ticket machine to dispense burning tickets, as well as randomize its number to destroy the HoP's mind.
if(obj_flags & EMAGGED)
return
- to_chat(user, "You overload [src]'s bureaucratic logic circuitry to its MAXIMUM setting.")
+ to_chat(user, span_warning("You overload [src]'s bureaucratic logic circuitry to its MAXIMUM setting."))
ticket_number = rand(0,max_number)
current_number = ticket_number
obj_flags |= EMAGGED
if(tickets.len)
for(var/obj/item/ticket_machine_ticket/ticket in tickets)
- ticket.audible_message("\the [ticket] disperses!")
+ ticket.audible_message(span_notice("\the [ticket] disperses!"))
qdel(ticket)
tickets.Cut()
update_appearance()
@@ -68,14 +68,14 @@
if(current_number > ticket_number)
return
if(current_number && !(obj_flags & EMAGGED) && tickets[current_number])
- tickets[current_number].audible_message("\the [tickets[current_number]] disperses!")
+ tickets[current_number].audible_message(span_notice("\the [tickets[current_number]] disperses!"))
qdel(tickets[current_number])
if(current_number < ticket_number)
current_number ++ //Increment the one we're serving.
playsound(src, 'sound/misc/announce_dig.ogg', 50, FALSE)
say("Now serving ticket #[current_number]!")
if(!(obj_flags & EMAGGED) && tickets[current_number])
- tickets[current_number].audible_message("\the [tickets[current_number]] vibrates!")
+ tickets[current_number].audible_message(span_notice("\the [tickets[current_number]] vibrates!"))
update_appearance() //Update our icon here rather than when they take a ticket to show the current ticket number being served
/obj/machinery/button/ticket_machine
@@ -101,7 +101,7 @@
controller.linked = WEAKREF(M.buffer)
id = null
controller.id = null
- to_chat(user, "You've linked [src] to [M.buffer].")
+ to_chat(user, span_warning("You've linked [src] to [M.buffer]."))
/obj/item/assembly/control/ticket_machine
name = "ticket machine controller"
@@ -164,17 +164,17 @@
..()
if(istype(I, /obj/item/hand_labeler_refill))
if(!(ticket_number >= max_number))
- to_chat(user, "[src] refuses [I]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!")
+ to_chat(user, span_notice("[src] refuses [I]! There [max_number-ticket_number==1 ? "is" : "are"] still [max_number-ticket_number] ticket\s left!"))
return
- to_chat(user, "You start to refill [src]'s ticket holder (doing this will reset its ticket count!).")
+ to_chat(user, span_notice("You start to refill [src]'s ticket holder (doing this will reset its ticket count!)."))
if(do_after(user, 30, target = src))
- to_chat(user, "You insert [I] into [src] as it whirs nondescriptly.")
+ to_chat(user, span_notice("You insert [I] into [src] as it whirs nondescriptly."))
qdel(I)
ticket_number = 0
current_number = 0
if(tickets.len)
for(var/obj/item/ticket_machine_ticket/ticket in tickets)
- ticket.audible_message("\the [ticket] disperses!")
+ ticket.audible_message(span_notice("\the [ticket] disperses!"))
qdel(ticket)
tickets.Cut()
max_number = initial(max_number)
@@ -187,17 +187,17 @@
/obj/machinery/ticket_machine/attack_hand(mob/living/carbon/user, list/modifiers)
. = ..()
if(!ready)
- to_chat(user,"You press the button, but nothing happens...")
+ to_chat(user,span_warning("You press the button, but nothing happens..."))
return
if(ticket_number >= max_number)
- to_chat(user,"Ticket supply depleted, please refill this unit with a hand labeller refill cartridge!")
+ to_chat(user,span_warning("Ticket supply depleted, please refill this unit with a hand labeller refill cartridge!"))
return
if((user in ticket_holders) && !(obj_flags & EMAGGED))
- to_chat(user, "You already have a ticket!")
+ to_chat(user, span_warning("You already have a ticket!"))
return
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 100, FALSE)
ticket_number ++
- to_chat(user, "You take a ticket from [src], looks like you're ticket number #[ticket_number]...")
+ to_chat(user, span_notice("You take a ticket from [src], looks like you're ticket number #[ticket_number]..."))
var/obj/item/ticket_machine_ticket/theirticket = new /obj/item/ticket_machine_ticket(get_turf(src))
theirticket.name = "Ticket #[ticket_number]"
theirticket.maptext = MAPTEXT(ticket_number)
diff --git a/code/modules/photography/camera/camera.dm b/code/modules/photography/camera/camera.dm
index 2457b74d863..cfd766c90d0 100644
--- a/code/modules/photography/camera/camera.dm
+++ b/code/modules/photography/camera/camera.dm
@@ -45,13 +45,13 @@
/obj/item/camera/attack_self(mob/user)
if(!disk)
return
- to_chat(user, "You eject [disk] out the back of [src].")
+ to_chat(user, span_notice("You eject [disk] out the back of [src]."))
user.put_in_hands(disk)
disk = null
/obj/item/camera/examine(mob/user)
. = ..()
- . += "Alt-click to change its focusing, allowing you to set how big of an area it will capture."
+ . += span_notice("Alt-click to change its focusing, allowing you to set how big of an area it will capture.")
/obj/item/camera/proc/adjust_zoom(mob/user)
var/desired_x = input(user, "How high do you want the camera to shoot, between [picture_size_x_min] and [picture_size_x_max]?", "Zoom", picture_size_x) as num|null
@@ -78,23 +78,23 @@
/obj/item/camera/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/camera_film))
if(pictures_left)
- to_chat(user, "[src] still has some film in it!")
+ to_chat(user, span_notice("[src] still has some film in it!"))
return
if(!user.temporarilyRemoveItemFromInventory(I))
return
- to_chat(user, "You insert [I] into [src].")
+ to_chat(user, span_notice("You insert [I] into [src]."))
qdel(I)
pictures_left = pictures_max
return
if(istype(I, /obj/item/disk/holodisk))
if (!disk)
if(!user.transferItemToLoc(I, src))
- to_chat(user, "[I] is stuck to your hand!")
+ to_chat(user, span_warning("[I] is stuck to your hand!"))
return TRUE
- to_chat(user, "You slide [I] into the back of [src].")
+ to_chat(user, span_notice("You slide [I] into the back of [src]."))
disk = I
else
- to_chat(user, "There's already a disk inside [src].")
+ to_chat(user, span_warning("There's already a disk inside [src]."))
return TRUE //no afterattack
..()
@@ -132,7 +132,7 @@
disk.record.caller_name = M.name
disk.record.set_caller_image(M)
else
- to_chat(user, "Invalid holodisk target.")
+ to_chat(user, span_warning("Invalid holodisk target."))
return
if(!can_target(target, user, flag))
@@ -224,7 +224,7 @@
if(in_range(src, user)) //needed because of TK
user.put_in_hands(p)
pictures_left--
- to_chat(user, "[pictures_left] photos left.")
+ to_chat(user, span_notice("[pictures_left] photos left."))
var/customise = "No"
if(can_customise)
customise = tgui_alert(user, "Do you want to customize the photo?", "Customization", list("Yes", "No"))
diff --git a/code/modules/photography/camera/silicon_camera.dm b/code/modules/photography/camera/silicon_camera.dm
index 1c165bf6e2c..692c0f4e6c7 100644
--- a/code/modules/photography/camera/silicon_camera.dm
+++ b/code/modules/photography/camera/silicon_camera.dm
@@ -47,7 +47,7 @@
var/number = stored.len
picture.picture_name = "Image [number] (taken by [loc.name])"
stored[picture] = TRUE
- to_chat(usr, "Image recorded")
+ to_chat(usr, "[span_unconscious("Image recorded")]")
/obj/item/camera/siliconcam/robot_camera
name = "Cyborg photo camera"
@@ -59,12 +59,12 @@
var/number = C.connected_ai.aicamera.stored.len
picture.picture_name = "Image [number] (taken by [loc.name])"
C.connected_ai.aicamera.stored[picture] = TRUE
- to_chat(usr, "Image recorded and saved to remote database")
+ to_chat(usr, "[span_unconscious("Image recorded and saved to remote database")]")
else
var/number = stored.len
picture.picture_name = "Image [number] (taken by [loc.name])"
stored[picture] = TRUE
- to_chat(usr, "Image recorded and saved to local storage. Upload will happen automatically if unit is lawsynced.")
+ to_chat(usr, "[span_unconscious("Image recorded and saved to local storage. Upload will happen automatically if unit is lawsynced.")]")
/obj/item/camera/siliconcam/robot_camera/selectpicture(mob/user)
var/mob/living/silicon/robot/R = loc
@@ -77,15 +77,15 @@
/obj/item/camera/siliconcam/robot_camera/proc/borgprint(mob/user)
var/mob/living/silicon/robot/C = loc
if(!istype(C) || C.toner < 20)
- to_chat(user, "Insufficent toner to print image.")
+ to_chat(user, span_warning("Insufficent toner to print image."))
return
var/datum/picture/selection = selectpicture(user)
if(!istype(selection))
- to_chat(user, "Invalid Image.")
+ to_chat(user, span_warning("Invalid Image."))
return
var/obj/item/photo/p = new /obj/item/photo(C.loc, selection)
p.pixel_x = p.base_pixel_x + rand(-10, 10)
p.pixel_y = p.base_pixel_y + rand(-10, 10)
C.toner -= printcost //All fun allowed.
- visible_message("[C.name] spits out a photograph from a narrow slot on its chassis.")
- to_chat(usr, "You print a photograph.")
+ visible_message(span_notice("[C.name] spits out a photograph from a narrow slot on its chassis."))
+ to_chat(usr, span_notice("You print a photograph."))
diff --git a/code/modules/photography/photos/frame.dm b/code/modules/photography/photos/frame.dm
index 9d10bd19837..ffe6c6b58e9 100644
--- a/code/modules/photography/photos/frame.dm
+++ b/code/modules/photography/photos/frame.dm
@@ -29,7 +29,7 @@
if(contents.len)
var/obj/item/I = pick(contents)
user.put_in_hands(I)
- to_chat(user, "You carefully remove the photo from \the [src].")
+ to_chat(user, span_notice("You carefully remove the photo from \the [src]."))
displayed = null
update_appearance()
return ..()
@@ -118,16 +118,16 @@
/obj/structure/sign/picture_frame/attackby(obj/item/I, mob/user, params)
if(can_decon && (I.tool_behaviour == TOOL_SCREWDRIVER || I.tool_behaviour == TOOL_WRENCH))
- to_chat(user, "You start unsecuring [name]...")
+ to_chat(user, span_notice("You start unsecuring [name]..."))
if(I.use_tool(src, user, 30, volume=50))
playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE)
- to_chat(user, "You unsecure [name].")
+ to_chat(user, span_notice("You unsecure [name]."))
deconstruct()
else if(I.tool_behaviour == TOOL_WIRECUTTER && framed)
framed.forceMove(drop_location())
framed = null
- user.visible_message("[user] cuts away [framed] from [src]!")
+ user.visible_message(span_warning("[user] cuts away [framed] from [src]!"))
return
else if(istype(I, /obj/item/photo))
diff --git a/code/modules/photography/photos/photo.dm b/code/modules/photography/photos/photo.dm
index 284c8b70568..6ca2582ca1c 100644
--- a/code/modules/photography/photos/photo.dm
+++ b/code/modules/photography/photos/photo.dm
@@ -50,7 +50,7 @@
return ..()
/obj/item/photo/suicide_act(mob/living/carbon/user)
- user.visible_message("[user] is taking one last look at \the [src]! It looks like [user.p_theyre()] giving in to death!")//when you wanna look at photo of waifu one last time before you die...
+ user.visible_message(span_suicide("[user] is taking one last look at \the [src]! It looks like [user.p_theyre()] giving in to death!"))//when you wanna look at photo of waifu one last time before you die...
if (user.gender == MALE)
playsound(user, 'sound/voice/human/manlaugh1.ogg', 50, TRUE)//EVERY TIME I DO IT MAKES ME LAUGH
else if (user.gender == FEMALE)
@@ -65,7 +65,7 @@
return
if(istype(P, /obj/item/pen) || istype(P, /obj/item/toy/crayon))
if(!user.is_literate())
- to_chat(user, "You scribble illegibly on [src]!")
+ to_chat(user, span_notice("You scribble illegibly on [src]!"))
return
var/txt = stripped_input(user, "What would you like to write on the back?", "Photo Writing", "", 128)
if(txt && user.canUseTopic(src, BE_CLOSE))
@@ -79,11 +79,11 @@
if(in_range(src, user) || isobserver(user))
show(user)
else
- . += "You need to get closer to get a good look at this photo!"
+ . += span_warning("You need to get closer to get a good look at this photo!")
/obj/item/photo/proc/show(mob/user)
if(!istype(picture) || !picture.picture_image)
- to_chat(user, "[src] seems to be blank...")
+ to_chat(user, span_warning("[src] seems to be blank..."))
return
user << browse_rsc(picture.picture_image, "tmp_photo.png")
user << browse("[name]" \
diff --git a/code/modules/plumbing/ducts.dm b/code/modules/plumbing/ducts.dm
index a93040120e7..b3c7b49cbba 100644
--- a/code/modules/plumbing/ducts.dm
+++ b/code/modules/plumbing/ducts.dm
@@ -273,8 +273,8 @@ All the important duct code:
set_anchored(!anchored)
user.visible_message( \
"[user] [anchored ? null : "un"]fastens \the [src].", \
- "You [anchored ? null : "un"]fasten \the [src].", \
- "You hear ratcheting.")
+ span_notice("You [anchored ? null : "un"]fasten \the [src]."), \
+ span_hear("You hear ratcheting."))
return TRUE
///collection of all the sanity checks to prevent us from stacking ducts that shouldn't be stacked
@@ -304,7 +304,7 @@ All the important duct code:
var/obj/machinery/duct/D = A
var/obj/item/I = user.get_active_held_item()
if(I?.tool_behaviour != TOOL_WRENCH)
- to_chat(user, "You need to be holding a wrench in your active hand to do that!")
+ to_chat(user, span_warning("You need to be holding a wrench in your active hand to do that!"))
return
if(get_dist(src, D) != 1)
return
@@ -340,7 +340,7 @@ All the important duct code:
/obj/item/stack/ducts/examine(mob/user)
. = ..()
- . += "It's current color and layer are [duct_color] and [duct_layer]. Use in-hand to change."
+ . += span_notice("It's current color and layer are [duct_color] and [duct_layer]. Use in-hand to change.")
/obj/item/stack/ducts/attack_self(mob/user)
var/new_layer = input("Select a layer", "Layer") as null|anything in layers
diff --git a/code/modules/plumbing/plumbers/_plumb_machinery.dm b/code/modules/plumbing/plumbers/_plumb_machinery.dm
index 03cc30a4f07..cf1d4ff2ccb 100644
--- a/code/modules/plumbing/plumbers/_plumb_machinery.dm
+++ b/code/modules/plumbing/plumbers/_plumb_machinery.dm
@@ -28,7 +28,7 @@
/obj/machinery/plumbing/examine(mob/user)
. = ..()
- . += "The maximum volume display reads: [reagents.maximum_volume] units."
+ . += span_notice("The maximum volume display reads: [reagents.maximum_volume] units.")
/obj/machinery/plumbing/wrench_act(mob/living/user, obj/item/I)
..()
@@ -36,9 +36,9 @@
return TRUE
/obj/machinery/plumbing/plunger_act(obj/item/plunger/P, mob/living/user, reinforced)
- to_chat(user, "You start furiously plunging [name].")
+ to_chat(user, span_notice("You start furiously plunging [name]."))
if(do_after(user, 30, target = src))
- to_chat(user, "You finish plunging the [name].")
+ to_chat(user, span_notice("You finish plunging the [name]."))
reagents.expose(get_turf(src), TOUCH) //splash on the floor
reagents.clear_reagents()
diff --git a/code/modules/plumbing/plumbers/bottler.dm b/code/modules/plumbing/plumbers/bottler.dm
index a7b0dacb2d9..ea31dcb1698 100644
--- a/code/modules/plumbing/plumbers/bottler.dm
+++ b/code/modules/plumbing/plumbers/bottler.dm
@@ -23,11 +23,11 @@
/obj/machinery/plumbing/bottler/examine(mob/user)
. = ..()
- . += "A small screen indicates that it will fill for [wanted_amount]u."
+ . += span_notice("A small screen indicates that it will fill for [wanted_amount]u.")
/obj/machinery/plumbing/bottler/can_be_rotated(mob/user, rotation_type)
if(anchored)
- to_chat(user, "It is fastened to the floor!")
+ to_chat(user, span_warning("It is fastened to the floor!"))
return FALSE
return TRUE
@@ -56,7 +56,7 @@
/obj/machinery/plumbing/bottler/interact(mob/user)
. = ..()
wanted_amount = clamp(round(input(user,"maximum is 100u","set ammount to fill with") as num|null, 1), 1, 100)
- to_chat(user, " The [src] will now fill for [wanted_amount]u.")
+ to_chat(user, span_notice(" The [src] will now fill for [wanted_amount]u."))
/obj/machinery/plumbing/bottler/process()
if(machine_stat & NOPOWER)
diff --git a/code/modules/plumbing/plumbers/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm
index 19a3637be3a..ff23b6625eb 100644
--- a/code/modules/plumbing/plumbers/fermenter.dm
+++ b/code/modules/plumbing/plumbers/fermenter.dm
@@ -20,7 +20,7 @@
/obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user, rotation_type)
if(anchored)
- to_chat(user, "It is fastened to the floor!")
+ to_chat(user, span_warning("It is fastened to the floor!"))
return FALSE
return TRUE
diff --git a/code/modules/plumbing/plumbers/filter.dm b/code/modules/plumbing/plumbers/filter.dm
index 02e1e425c14..1fa216f934c 100644
--- a/code/modules/plumbing/plumbers/filter.dm
+++ b/code/modules/plumbing/plumbers/filter.dm
@@ -50,7 +50,7 @@
english_right += new_chem_name
right += chem_id
else
- to_chat(usr, "No such known reagent exists!")
+ to_chat(usr, span_warning("No such known reagent exists!"))
if("remove")
var/chem_name = params["reagent"]
diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm
index 4db5d618f56..eff5cbed069 100644
--- a/code/modules/plumbing/plumbers/grinder_chemical.dm
+++ b/code/modules/plumbing/plumbers/grinder_chemical.dm
@@ -19,7 +19,7 @@
/obj/machinery/plumbing/grinder_chemical/can_be_rotated(mob/user, rotation_type)
if(anchored)
- to_chat(user, "It is fastened to the floor!")
+ to_chat(user, span_warning("It is fastened to the floor!"))
return FALSE
return TRUE
diff --git a/code/modules/plumbing/plumbers/pill_press.dm b/code/modules/plumbing/plumbers/pill_press.dm
index d0b9abf1036..6f27d61e0c6 100644
--- a/code/modules/plumbing/plumbers/pill_press.dm
+++ b/code/modules/plumbing/plumbers/pill_press.dm
@@ -31,7 +31,7 @@
/obj/machinery/plumbing/pill_press/examine(mob/user)
. = ..()
- . += "The [name] currently has [stored_products.len] stored. There needs to be less than [max_floor_products] on the floor to continue dispensing."
+ . += span_notice("The [name] currently has [stored_products.len] stored. There needs to be less than [max_floor_products] on the floor to continue dispensing.")
/obj/machinery/plumbing/pill_press/Initialize(mapload, bolt, layer)
. = ..()
diff --git a/code/modules/plumbing/plumbers/plumbing_buffer.dm b/code/modules/plumbing/plumbers/plumbing_buffer.dm
index 7ec177ca5b2..fe2b7649d81 100644
--- a/code/modules/plumbing/plumbers/plumbing_buffer.dm
+++ b/code/modules/plumbing/plumbers/plumbing_buffer.dm
@@ -77,11 +77,11 @@
return
activation_volume = round(clamp(new_volume, 0, buffer))
- to_chat(user, "New activation threshold is now [activation_volume].")
+ to_chat(user, span_notice("New activation threshold is now [activation_volume]."))
/obj/machinery/plumbing/buffer/attackby(obj/item/item, mob/user, params)
if(item.tool_behaviour == TOOL_SCREWDRIVER)
- to_chat(user, "You reset the automatic buffer.")
+ to_chat(user, span_notice("You reset the automatic buffer."))
//reset the net
buffer_net?.destruct()
diff --git a/code/modules/plumbing/plumbers/pumps.dm b/code/modules/plumbing/plumbers/pumps.dm
index 3c8514aedd3..f69fd835c9a 100644
--- a/code/modules/plumbing/plumbers/pumps.dm
+++ b/code/modules/plumbing/plumbers/pumps.dm
@@ -41,7 +41,7 @@
update_appearance()
if(!geyser) //we didnt find one, abort
geyserless = TRUE
- visible_message("The [name] makes a sad beep!")
+ visible_message(span_warning("The [name] makes a sad beep!"))
playsound(src, 'sound/machines/buzz-sigh.ogg', 50)
return
diff --git a/code/modules/plumbing/plumbers/teleporter.dm b/code/modules/plumbing/plumbers/teleporter.dm
index 7a1f20204ed..0228640fb6a 100644
--- a/code/modules/plumbing/plumbers/teleporter.dm
+++ b/code/modules/plumbing/plumbers/teleporter.dm
@@ -20,7 +20,7 @@
var/obj/item/multitool/M = I
if(!istype(M.buffer, /obj/machinery/plumbing/receiver))
- to_chat(user, "Invalid buffer.")
+ to_chat(user, span_warning("Invalid buffer."))
return
if(target)
@@ -28,7 +28,7 @@
set_teleport_target(M.buffer)
- to_chat(user, "You succesfully link [src] to the [M.buffer].")
+ to_chat(user, span_green("You succesfully link [src] to the [M.buffer]."))
return TRUE
///Lose our previous target and make our previous target lose us. Seperate proc because I feel like I'll need this again
@@ -74,7 +74,7 @@
var/obj/item/multitool/M = I
M.buffer = src
- to_chat(user, "You store linkage information in [I]'s buffer.")
+ to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
return TRUE
/obj/machinery/plumbing/receiver/process()
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 0716b104559..3e66e281646 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -338,10 +338,10 @@
else
. += "The cover is closed."
- . += "Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface."
+ . += span_notice("Alt-Click the APC to [ locked ? "unlock" : "lock"] the interface.")
if(issilicon(user))
- . += "Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"]."
+ . += span_notice("Ctrl-Click the APC to switch the breaker [ operating ? "off" : "on"].")
// update the APC icon to show the three base states
// also add overlays for indicator lights
@@ -469,32 +469,32 @@
if (opened)
if (has_electronics == APC_ELECTRONICS_INSTALLED)
if (terminal)
- to_chat(user, "Disconnect the wires first!")
+ to_chat(user, span_warning("Disconnect the wires first!"))
return
W.play_tool_sound(src)
- to_chat(user, "You attempt to remove the power control board..." )
+ to_chat(user, span_notice("You attempt to remove the power control board...") )
if(W.use_tool(src, user, 50))
if (has_electronics == APC_ELECTRONICS_INSTALLED)
has_electronics = APC_ELECTRONICS_MISSING
if (machine_stat & BROKEN)
- user.visible_message("[user.name] breaks the power control board inside [src.name]!",\
- "You break the charred power control board and remove the remains.",
- "You hear a crack.")
+ user.visible_message(span_notice("[user.name] breaks the power control board inside [src.name]!"),\
+ span_notice("You break the charred power control board and remove the remains."),
+ span_hear("You hear a crack."))
return
else if (obj_flags & EMAGGED)
obj_flags &= ~EMAGGED
- user.visible_message("[user.name] discards an emagged power control board from [src.name]!",\
- "You discard the emagged power control board.")
+ user.visible_message(span_notice("[user.name] discards an emagged power control board from [src.name]!"),\
+ span_notice("You discard the emagged power control board."))
return
else if (malfhack)
- user.visible_message("[user.name] discards a strangely programmed power control board from [src.name]!",\
- "You discard the strangely programmed board.")
+ user.visible_message(span_notice("[user.name] discards a strangely programmed power control board from [src.name]!"),\
+ span_notice("You discard the strangely programmed board."))
malfai = null
malfhack = 0
return
else
- user.visible_message("[user.name] removes the power control board from [src.name]!",\
- "You remove the power control board.")
+ user.visible_message(span_notice("[user.name] removes the power control board from [src.name]!"),\
+ span_notice("You remove the power control board."))
new /obj/item/electronics/apc(loc)
return
else if (opened!=APC_COVER_REMOVED)
@@ -504,10 +504,10 @@
return
else if (!(machine_stat & BROKEN))
if(coverlocked && !(machine_stat & MAINT)) // locked...
- to_chat(user, "The cover is locked and cannot be opened!")
+ to_chat(user, span_warning("The cover is locked and cannot be opened!"))
return
else if (panel_open)
- to_chat(user, "Exposed wires prevents you from opening it!")
+ to_chat(user, span_warning("Exposed wires prevents you from opening it!"))
return
else
opened = APC_COVER_OPENED
@@ -520,7 +520,7 @@
. = TRUE
if(opened)
if(cell)
- user.visible_message("[user] removes \the [cell] from [src]!", "You remove \the [cell].")
+ user.visible_message(span_notice("[user] removes \the [cell] from [src]!"), span_notice("You remove \the [cell]."))
var/turf/T = get_turf(user)
cell.forceMove(T)
cell.update_appearance()
@@ -534,22 +534,22 @@
has_electronics = APC_ELECTRONICS_SECURED
set_machine_stat(machine_stat & ~MAINT)
W.play_tool_sound(src)
- to_chat(user, "You screw the circuit electronics into place.")
+ to_chat(user, span_notice("You screw the circuit electronics into place."))
if (APC_ELECTRONICS_SECURED)
has_electronics = APC_ELECTRONICS_INSTALLED
set_machine_stat(machine_stat | MAINT)
W.play_tool_sound(src)
- to_chat(user, "You unfasten the electronics.")
+ to_chat(user, span_notice("You unfasten the electronics."))
else
- to_chat(user, "There is nothing to secure!")
+ to_chat(user, span_warning("There is nothing to secure!"))
return
update_appearance()
else if(obj_flags & EMAGGED)
- to_chat(user, "The interface is broken!")
+ to_chat(user, span_warning("The interface is broken!"))
return
else
panel_open = !panel_open
- to_chat(user, "The wires have been [panel_open ? "exposed" : "unexposed"].")
+ to_chat(user, span_notice("The wires have been [panel_open ? "exposed" : "unexposed"]."))
update_appearance()
/obj/machinery/power/apc/wirecutter_act(mob/living/user, obj/item/W)
@@ -564,18 +564,18 @@
if (opened && !has_electronics && !terminal)
if(!W.tool_start_check(user, amount=3))
return
- user.visible_message("[user.name] welds [src].", \
- "You start welding the APC frame...", \
- "You hear welding.")
+ user.visible_message(span_notice("[user.name] welds [src]."), \
+ span_notice("You start welding the APC frame..."), \
+ span_hear("You hear welding."))
if(W.use_tool(src, user, 50, volume=50, amount=3))
if ((machine_stat & BROKEN) || opened==APC_COVER_REMOVED)
new /obj/item/stack/sheet/iron(loc)
- user.visible_message("[user.name] cuts [src] apart with [W].",\
- "You disassembled the broken APC frame.")
+ user.visible_message(span_notice("[user.name] cuts [src] apart with [W]."),\
+ span_notice("You disassembled the broken APC frame."))
else
new /obj/item/wallframe/apc(loc)
- user.visible_message("[user.name] cuts [src] from the wall with [W].",\
- "You cut the APC frame from the wall.")
+ user.visible_message(span_notice("[user.name] cuts [src] from the wall with [W]."),\
+ span_notice("You cut the APC frame from the wall."))
qdel(src)
return TRUE
@@ -594,7 +594,7 @@
if(shock_source && metal && (panel_open || opened)) //Now you're cooking with electricity
if(electrocute_mob(user, shock_source, src, siemens_coeff = 1, dist_check = TRUE))//People with insulated gloves just attack the APC normally. They're just short of magical anyway
do_sparks(5, TRUE, src)
- user.visible_message("[user.name] shoves [W] into the internal components of [src], erupting into a cascade of sparks!")
+ user.visible_message(span_notice("[user.name] shoves [W] into the internal components of [src], erupting into a cascade of sparks!"))
if(shock_source == cell)//If the shock is coming from the cell just fully discharge it, because it's funny
cell.use(cell.charge)
return
@@ -604,17 +604,17 @@
if (istype(W, /obj/item/stock_parts/cell) && opened)
if(cell)
- to_chat(user, "There is a power cell already installed!")
+ to_chat(user, span_warning("There is a power cell already installed!"))
return
else
if (machine_stat & MAINT)
- to_chat(user, "There is no connector for your power cell!")
+ to_chat(user, span_warning("There is no connector for your power cell!"))
return
if(!user.transferItemToLoc(W, src))
return
cell = W
- user.visible_message("[user.name] inserts the power cell to [src.name]!",\
- "You insert the power cell.")
+ user.visible_message(span_notice("[user.name] inserts the power cell to [src.name]!"),\
+ span_notice("You insert the power cell."))
chargecount = 0
update_appearance()
else if (W.GetID())
@@ -624,21 +624,21 @@
if(!host_turf)
CRASH("attackby on APC when it's not on a turf")
if (host_turf.intact)
- to_chat(user, "You must remove the floor plating in front of the APC first!")
+ to_chat(user, span_warning("You must remove the floor plating in front of the APC first!"))
return
else if (terminal)
- to_chat(user, "This APC is already wired!")
+ to_chat(user, span_warning("This APC is already wired!"))
return
else if (!has_electronics)
- to_chat(user, "There is nothing to wire!")
+ to_chat(user, span_warning("There is nothing to wire!"))
return
var/obj/item/stack/cable_coil/C = W
if(C.get_amount() < 10)
- to_chat(user, "You need ten lengths of cable for APC!")
+ to_chat(user, span_warning("You need ten lengths of cable for APC!"))
return
- user.visible_message("[user.name] adds cables to the APC frame.", \
- "You start adding cables to the APC frame...")
+ user.visible_message(span_notice("[user.name] adds cables to the APC frame."), \
+ span_notice("You start adding cables to the APC frame..."))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
if(do_after(user, 20, target = src))
if (C.get_amount() < 10 || !C)
@@ -650,41 +650,41 @@
do_sparks(5, TRUE, src)
return
C.use(10)
- to_chat(user, "You add cables to the APC frame.")
+ to_chat(user, span_notice("You add cables to the APC frame."))
make_terminal()
terminal.connect_to_network()
else if (istype(W, /obj/item/electronics/apc) && opened)
if (has_electronics)
- to_chat(user, "There is already a board inside the [src]!")
+ to_chat(user, span_warning("There is already a board inside the [src]!"))
return
else if (machine_stat & BROKEN)
- to_chat(user, "You cannot put the board inside, the frame is damaged!")
+ to_chat(user, span_warning("You cannot put the board inside, the frame is damaged!"))
return
- user.visible_message("[user.name] inserts the power control board into [src].", \
- "You start to insert the power control board into the frame...")
+ user.visible_message(span_notice("[user.name] inserts the power control board into [src]."), \
+ span_notice("You start to insert the power control board into the frame..."))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
if(do_after(user, 10, target = src))
if(!has_electronics)
has_electronics = APC_ELECTRONICS_INSTALLED
locked = FALSE
- to_chat(user, "You place the power control board inside the frame.")
+ to_chat(user, span_notice("You place the power control board inside the frame."))
qdel(W)
else if(istype(W, /obj/item/electroadaptive_pseudocircuit) && opened)
var/obj/item/electroadaptive_pseudocircuit/P = W
if(!has_electronics)
if(machine_stat & BROKEN)
- to_chat(user, "[src]'s frame is too damaged to support a circuit.")
+ to_chat(user, span_warning("[src]'s frame is too damaged to support a circuit."))
return
if(!P.adapt_circuit(user, 50))
return
- user.visible_message("[user] fabricates a circuit and places it into [src].", \
- "You adapt a power control board and click it into place in [src]'s guts.")
+ user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \
+ span_notice("You adapt a power control board and click it into place in [src]'s guts."))
has_electronics = APC_ELECTRONICS_INSTALLED
locked = FALSE
else if(!cell)
if(machine_stat & MAINT)
- to_chat(user, "There's no connector for a power cell.")
+ to_chat(user, span_warning("There's no connector for a power cell."))
return
if(!P.adapt_circuit(user, 500))
return
@@ -692,32 +692,32 @@
C.forceMove(src)
cell = C
chargecount = 0
- user.visible_message("[user] fabricates a weak power cell and places it into [src].", \
- "Your [P.name] whirrs with strain as you create a weak power cell and place it into [src]!")
+ user.visible_message(span_notice("[user] fabricates a weak power cell and places it into [src]."), \
+ span_warning("Your [P.name] whirrs with strain as you create a weak power cell and place it into [src]!"))
update_appearance()
else
- to_chat(user, "[src] has both electronics and a cell.")
+ to_chat(user, span_warning("[src] has both electronics and a cell."))
return
else if (istype(W, /obj/item/wallframe/apc) && opened)
if (!(machine_stat & BROKEN || opened==APC_COVER_REMOVED || obj_integrity < max_integrity)) // There is nothing to repair
- to_chat(user, "You found no reason for repairing this APC!")
+ to_chat(user, span_warning("You found no reason for repairing this APC!"))
return
if (!(machine_stat & BROKEN) && opened==APC_COVER_REMOVED) // Cover is the only thing broken, we do not need to remove elctronicks to replace cover
- user.visible_message("[user.name] replaces missing APC's cover.", \
- "You begin to replace APC's cover...")
+ user.visible_message(span_notice("[user.name] replaces missing APC's cover."), \
+ span_notice("You begin to replace APC's cover..."))
if(do_after(user, 20, target = src)) // replacing cover is quicker than replacing whole frame
- to_chat(user, "You replace missing APC's cover.")
+ to_chat(user, span_notice("You replace missing APC's cover."))
qdel(W)
opened = APC_COVER_OPENED
update_appearance()
return
if (has_electronics)
- to_chat(user, "You cannot repair this APC until you remove the electronics still inside!")
+ to_chat(user, span_warning("You cannot repair this APC until you remove the electronics still inside!"))
return
- user.visible_message("[user.name] replaces the damaged APC frame with a new one.", \
- "You begin to replace the damaged APC frame...")
+ user.visible_message(span_notice("[user.name] replaces the damaged APC frame with a new one."), \
+ span_notice("You begin to replace the damaged APC frame..."))
if(do_after(user, 50, target = src))
- to_chat(user, "You replace the damaged APC frame with a new one.")
+ to_chat(user, span_notice("You replace the damaged APC frame with a new one."))
qdel(W)
set_machine_stat(machine_stat & ~BROKEN)
obj_integrity = max_integrity
@@ -734,16 +734,16 @@
if(the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS)
if(!has_electronics)
if(machine_stat & BROKEN)
- to_chat(user, "[src]'s frame is too damaged to support a circuit.")
+ to_chat(user, span_warning("[src]'s frame is too damaged to support a circuit."))
return FALSE
return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
else if(!cell)
if(machine_stat & MAINT)
- to_chat(user, "There's no connector for a power cell.")
+ to_chat(user, span_warning("There's no connector for a power cell."))
return FALSE
return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 50, "cost" = 10) //16 for a wall
else
- to_chat(user, "[src] has both electronics and a cell.")
+ to_chat(user, span_warning("[src] has both electronics and a cell."))
return FALSE
return FALSE
@@ -752,27 +752,27 @@
if(RCD_UPGRADE_SIMPLE_CIRCUITS)
if(!has_electronics)
if(machine_stat & BROKEN)
- to_chat(user, "[src]'s frame is too damaged to support a circuit.")
+ to_chat(user, span_warning("[src]'s frame is too damaged to support a circuit."))
return
- user.visible_message("[user] fabricates a circuit and places it into [src].", \
- "You adapt a power control board and click it into place in [src]'s guts.")
+ user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \
+ span_notice("You adapt a power control board and click it into place in [src]'s guts."))
has_electronics = TRUE
locked = TRUE
return TRUE
else if(!cell)
if(machine_stat & MAINT)
- to_chat(user, "There's no connector for a power cell.")
+ to_chat(user, span_warning("There's no connector for a power cell."))
return FALSE
var/obj/item/stock_parts/cell/crap/empty/C = new(src)
C.forceMove(src)
cell = C
chargecount = 0
- user.visible_message("[user] fabricates a weak power cell and places it into [src].", \
- "Your [the_rcd.name] whirrs with strain as you create a weak power cell and place it into [src]!")
+ user.visible_message(span_notice("[user] fabricates a weak power cell and places it into [src]."), \
+ span_warning("Your [the_rcd.name] whirrs with strain as you create a weak power cell and place it into [src]!"))
update_appearance()
return TRUE
else
- to_chat(user, "[src] has both electronics and a cell.")
+ to_chat(user, span_warning("[src] has both electronics and a cell."))
return FALSE
return FALSE
@@ -785,25 +785,25 @@
/obj/machinery/power/apc/proc/togglelock(mob/living/user)
if(obj_flags & EMAGGED)
- to_chat(user, "The interface is broken!")
+ to_chat(user, span_warning("The interface is broken!"))
else if(opened)
- to_chat(user, "You must close the cover to swipe an ID card!")
+ to_chat(user, span_warning("You must close the cover to swipe an ID card!"))
else if(panel_open)
- to_chat(user, "You must close the panel!")
+ to_chat(user, span_warning("You must close the panel!"))
else if(machine_stat & (BROKEN|MAINT))
- to_chat(user, "Nothing happens!")
+ to_chat(user, span_warning("Nothing happens!"))
else
if(allowed(usr) && !wires.is_cut(WIRE_IDSCAN) && !malfhack)
locked = !locked
- to_chat(user, "You [ locked ? "lock" : "unlock"] the APC interface.")
+ to_chat(user, span_notice("You [ locked ? "lock" : "unlock"] the APC interface."))
update_appearance()
updateUsrDialog()
else
- to_chat(user, "Access denied.")
+ to_chat(user, span_warning("Access denied."))
/obj/machinery/power/apc/proc/toggle_nightshift_lights(mob/living/user)
if(last_nightshift_switch > world.time - 100) //~10 seconds between each toggle to prevent spamming
- to_chat(usr, "[src]'s night lighting circuit breaker is still cycling!")
+ to_chat(usr, span_warning("[src]'s night lighting circuit breaker is still cycling!"))
return
last_nightshift_switch = world.time
set_nightshift(!nightshift_lights)
@@ -825,23 +825,23 @@
if(opened != APC_COVER_REMOVED)
opened = APC_COVER_REMOVED
coverlocked = FALSE
- visible_message("The APC cover is knocked down!")
+ visible_message(span_warning("The APC cover is knocked down!"))
update_appearance()
/obj/machinery/power/apc/emag_act(mob/user)
if(!(obj_flags & EMAGGED) && !malfhack)
if(opened)
- to_chat(user, "You must close the cover to swipe an ID card!")
+ to_chat(user, span_warning("You must close the cover to swipe an ID card!"))
else if(panel_open)
- to_chat(user, "You must close the panel first!")
+ to_chat(user, span_warning("You must close the panel first!"))
else if(machine_stat & (BROKEN|MAINT))
- to_chat(user, "Nothing happens!")
+ to_chat(user, span_warning("Nothing happens!"))
else
flick("apc-spark", src)
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
obj_flags |= EMAGGED
locked = FALSE
- to_chat(user, "You emag the APC interface.")
+ to_chat(user, span_notice("You emag the APC interface."))
update_appearance()
@@ -860,47 +860,47 @@
if((E.drain_time < world.time) && LAZYACCESS(modifiers, RIGHT_CLICK) && stomach)
if(H.combat_mode)
if(cell.charge <= (cell.maxcharge / 2)) // ethereals can't drain APCs under half charge, this is so that they are forced to look to alternative power sources if the station is running low
- to_chat(H, "The APC's syphon safeties prevent you from draining power!")
+ to_chat(H, span_warning("The APC's syphon safeties prevent you from draining power!"))
return
if(stomach.crystal_charge > charge_limit)
- to_chat(H, "Your charge is full!")
+ to_chat(H, span_warning("Your charge is full!"))
return
E.drain_time = world.time + APC_DRAIN_TIME
- to_chat(H, "You start channeling some power through the APC into your body.")
+ to_chat(H, span_notice("You start channeling some power through the APC into your body."))
if(do_after(user, APC_DRAIN_TIME, target = src))
if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > charge_limit))
return
if(istype(stomach))
- to_chat(H, "You receive some charge from the APC.")
+ to_chat(H, span_notice("You receive some charge from the APC."))
stomach.adjust_charge(APC_POWER_GAIN)
cell.charge -= APC_POWER_GAIN
else
- to_chat(H, "You can't receive charge from the APC!")
+ to_chat(H, span_warning("You can't receive charge from the APC!"))
return
else
if(cell.charge >= cell.maxcharge - APC_POWER_GAIN)
- to_chat(H, "The APC can't receive anymore power!")
+ to_chat(H, span_warning("The APC can't receive anymore power!"))
return
if(stomach.crystal_charge < APC_POWER_GAIN)
- to_chat(H, "Your charge is too low!")
+ to_chat(H, span_warning("Your charge is too low!"))
return
E.drain_time = world.time + APC_DRAIN_TIME
- to_chat(H, "You start channeling power through your body into the APC.")
+ to_chat(H, span_notice("You start channeling power through your body into the APC."))
if(do_after(user, APC_DRAIN_TIME, target = src))
if((cell.charge >= (cell.maxcharge - APC_POWER_GAIN)) || (stomach.crystal_charge < APC_POWER_GAIN))
- to_chat(H, "You can't transfer power to the APC!")
+ to_chat(H, span_warning("You can't transfer power to the APC!"))
return
if(istype(stomach))
- to_chat(H, "You transfer some power to the APC.")
+ to_chat(H, span_notice("You transfer some power to the APC."))
stomach.adjust_charge(-APC_POWER_GAIN)
cell.charge += APC_POWER_GAIN
else
- to_chat(H, "You can't transfer power to the APC!")
+ to_chat(H, span_warning("You can't transfer power to the APC!"))
return
if(opened && (!issilicon(user)))
if(cell)
- user.visible_message("[user] removes \the [cell] from [src]!", "You remove \the [cell].")
+ user.visible_message(span_notice("[user] removes \the [cell] from [src]!"), span_notice("You remove \the [cell]."))
user.put_in_hands(cell)
cell.update_appearance()
src.cell = null
@@ -1011,7 +1011,7 @@
) \
)
if(!loud)
- to_chat(user, "\The [src] has eee disabled!")
+ to_chat(user, span_danger("\The [src] has eee disabled!"))
return FALSE
return TRUE
@@ -1034,7 +1034,7 @@
if("lock")
if(usr.has_unlimited_silicon_privilege)
if((obj_flags & EMAGGED) || (machine_stat & (BROKEN|MAINT)))
- to_chat(usr, "The APC does not respond to the command!")
+ to_chat(usr, span_warning("The APC does not respond to the command!"))
else
locked = !locked
update_appearance()
@@ -1109,9 +1109,9 @@
if(get_malf_status(malf) != 1)
return
if(malf.malfhacking)
- to_chat(malf, "You are already hacking an APC!")
+ to_chat(malf, span_warning("You are already hacking an APC!"))
return
- to_chat(malf, "Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process.")
+ to_chat(malf, span_notice("Beginning override of APC systems. This takes some time, and you cannot perform other actions during the process."))
malf.malfhack = src
malf.malfhacking = addtimer(CALLBACK(malf, /mob/living/silicon/ai/.proc/malfhacked, src), 600, TIMER_STOPPABLE)
@@ -1123,10 +1123,10 @@
if(!istype(malf))
return
if(istype(malf.loc, /obj/machinery/power/apc)) // Already in an APC
- to_chat(malf, "You must evacuate your current APC first!")
+ to_chat(malf, span_warning("You must evacuate your current APC first!"))
return
if(!malf.can_shunt)
- to_chat(malf, "You cannot shunt!")
+ to_chat(malf, span_warning("You cannot shunt!"))
return
if(!is_station_level(z))
return
@@ -1157,7 +1157,7 @@
occupier.parent.cancel_camera()
qdel(occupier)
else
- to_chat(occupier, "Primary core damaged, unable to return core processes.")
+ to_chat(occupier, span_danger("Primary core damaged, unable to return core processes."))
if(forced)
occupier.forceMove(drop_location())
occupier.death()
@@ -1168,19 +1168,19 @@
/obj/machinery/power/apc/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card)
if(card.AI)
- to_chat(user, "[card] is already occupied!")
+ to_chat(user, span_warning("[card] is already occupied!"))
return
if(!occupier)
- to_chat(user, "There's nothing in [src] to transfer!")
+ to_chat(user, span_warning("There's nothing in [src] to transfer!"))
return
if(!occupier.mind || !occupier.client)
- to_chat(user, "[occupier] is either inactive or destroyed!")
+ to_chat(user, span_warning("[occupier] is either inactive or destroyed!"))
return
if(!occupier.parent.stat)
- to_chat(user, "[occupier] is refusing all attempts at transfer!" )
+ to_chat(user, span_warning("[occupier] is refusing all attempts at transfer!") )
return
if(transfer_in_progress)
- to_chat(user, "There's already a transfer in progress!")
+ to_chat(user, span_warning("There's already a transfer in progress!"))
return
if(interaction != AI_TRANS_TO_CARD || occupier.stat)
return
@@ -1188,30 +1188,30 @@
if(!T)
return
transfer_in_progress = TRUE
- user.visible_message("[user] slots [card] into [src]...", "Transfer process initiated. Sending request for AI approval...")
+ user.visible_message(span_notice("[user] slots [card] into [src]..."), span_notice("Transfer process initiated. Sending request for AI approval..."))
playsound(src, 'sound/machines/click.ogg', 50, TRUE)
SEND_SOUND(occupier, sound('sound/misc/notice2.ogg')) //To alert the AI that someone's trying to card them if they're tabbed out
if(tgui_alert(occupier, "[user] is attempting to transfer you to \a [card.name]. Do you consent to this?", "APC Transfer", list("Yes - Transfer Me", "No - Keep Me Here")) == "No - Keep Me Here")
- to_chat(user, "AI denied transfer request. Process terminated.")
+ to_chat(user, span_danger("AI denied transfer request. Process terminated."))
playsound(src, 'sound/machines/buzz-sigh.ogg', 50, TRUE)
transfer_in_progress = FALSE
return
if(user.loc != T)
- to_chat(user, "Location changed. Process terminated.")
- to_chat(occupier, "[user] moved away! Transfer canceled.")
+ to_chat(user, span_danger("Location changed. Process terminated."))
+ to_chat(occupier, span_warning("[user] moved away! Transfer canceled."))
transfer_in_progress = FALSE
return
- to_chat(user, "AI accepted request. Transferring stored intelligence to [card]...")
- to_chat(occupier, "Transfer starting. You will be moved to [card] shortly.")
+ to_chat(user, span_notice("AI accepted request. Transferring stored intelligence to [card]..."))
+ to_chat(occupier, span_notice("Transfer starting. You will be moved to [card] shortly."))
if(!do_after(user, 50, target = src))
- to_chat(occupier, "[user] was interrupted! Transfer canceled.")
+ to_chat(occupier, span_warning("[user] was interrupted! Transfer canceled."))
transfer_in_progress = FALSE
return
if(!occupier || !card)
transfer_in_progress = FALSE
return
- user.visible_message("[user] transfers [occupier] to [card]!", "Transfer complete! [occupier] is now stored in [card].")
- to_chat(occupier, "Transfer complete! You've been stored in [user]'s [card.name].")
+ user.visible_message(span_notice("[user] transfers [occupier] to [card]!"), span_notice("Transfer complete! [occupier] is now stored in [card]."))
+ to_chat(occupier, span_notice("Transfer complete! You've been stored in [user]'s [card.name]."))
occupier.forceMove(card)
card.AI = occupier
occupier.parent.shunted = FALSE
diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm
index 37691efd88d..598e3d3dae5 100644
--- a/code/modules/power/cable.dm
+++ b/code/modules/power/cable.dm
@@ -50,7 +50,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
/obj/structure/cable/proc/on_rat_eat(mob/living/simple_animal/hostile/regalrat/king)
SIGNAL_HANDLER
-
+
if(avail())
king.apply_damage(10)
playsound(king, 'sound/effects/sparks2.ogg', 100, TRUE)
@@ -166,7 +166,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
if(W.tool_behaviour == TOOL_WIRECUTTER)
if (shock(user, 50))
return
- user.visible_message("[user] cuts the cable.", "You cut the cable.")
+ user.visible_message(span_notice("[user] cuts the cable."), span_notice("You cut the cable."))
investigate_log("was cut by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES)
deconstruct()
return
@@ -180,9 +180,9 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
/obj/structure/cable/proc/get_power_info()
if(powernet?.avail > 0)
- return "Total power: [DisplayPower(powernet.avail)]\nLoad: [DisplayPower(powernet.load)]\nExcess power: [DisplayPower(surplus())]"
+ return span_danger("Total power: [DisplayPower(powernet.avail)]\nLoad: [DisplayPower(powernet.load)]\nExcess power: [DisplayPower(surplus())]")
else
- return "The cable is not powered."
+ return span_danger("The cable is not powered.")
// Items usable on a cable :
@@ -462,16 +462,16 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
/obj/item/stack/cable_coil/suicide_act(mob/user)
if(locate(/obj/structure/chair/stool) in get_turf(user))
- user.visible_message("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
else
- user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return(OXYLOSS)
/obj/item/stack/cable_coil/proc/check_menu(mob/living/user)
if(!istype(user))
return FALSE
if(!ISADVANCEDTOOLUSER(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 FALSE
if(user.incapacitated() || !user.Adjacent(src))
return FALSE
@@ -548,7 +548,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected))
if(affecting && affecting.status == BODYPART_ROBOTIC)
if(user == H)
- user.visible_message("[user] starts to fix some of the wires in [H]'s [affecting.name].", "You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name].")
+ user.visible_message(span_notice("[user] starts to fix some of the wires in [H]'s [affecting.name]."), span_notice("You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name]."))
if(!do_mob(user, H, 50))
return
if(item_heal_robotic(H, user, 0, 15))
@@ -576,20 +576,20 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
return
if(!isturf(T) || T.intact || !T.can_have_cabling())
- to_chat(user, "You can only lay cables on catwalks and plating!")
+ to_chat(user, span_warning("You can only lay cables on catwalks and plating!"))
return
if(get_amount() < 1) // Out of cable
- to_chat(user, "There is no cable left!")
+ to_chat(user, span_warning("There is no cable left!"))
return
if(get_dist(T,user) > 1) // Too far
- to_chat(user, "You can't lay cable at a place that far away!")
+ to_chat(user, span_warning("You can't lay cable at a place that far away!"))
return
for(var/obj/structure/cable/C in T)
if(C.cable_layer & target_layer)
- to_chat(user, "There's already a cable at that position!")
+ to_chat(user, span_warning("There's already a cable at that position!"))
return
var/obj/structure/cable/C = new target_type(T)
@@ -708,10 +708,10 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri
/obj/structure/cable/multilayer/examine(mob/user)
. += ..()
- . += "L1:[cable_layer & CABLE_LAYER_1 ? "Connect" : "Disconnect"]."
- . += "L2:[cable_layer & CABLE_LAYER_2 ? "Connect" : "Disconnect"]."
- . += "L3:[cable_layer & CABLE_LAYER_3 ? "Connect" : "Disconnect"]."
- . += "M:[machinery_layer & MACHINERY_LAYER_1 ? "Connect" : "Disconnect"]."
+ . += span_notice("L1:[cable_layer & CABLE_LAYER_1 ? "Connect" : "Disconnect"].")
+ . += span_notice("L2:[cable_layer & CABLE_LAYER_2 ? "Connect" : "Disconnect"].")
+ . += span_notice("L3:[cable_layer & CABLE_LAYER_3 ? "Connect" : "Disconnect"].")
+ . += span_notice("M:[machinery_layer & MACHINERY_LAYER_1 ? "Connect" : "Disconnect"].")
GLOBAL_LIST(hub_radial_layer_list)
@@ -736,16 +736,16 @@ GLOBAL_LIST(hub_radial_layer_list)
switch(layer_result)
if("Layer 1")
CL = CABLE_LAYER_1
- to_chat(user, "You toggle L1 connection.")
+ to_chat(user, span_warning("You toggle L1 connection."))
if("Layer 2")
CL = CABLE_LAYER_2
- to_chat(user, "You toggle L2 connection.")
+ to_chat(user, span_warning("You toggle L2 connection."))
if("Layer 3")
CL = CABLE_LAYER_3
- to_chat(user, "You toggle L3 connection.")
+ to_chat(user, span_warning("You toggle L3 connection."))
if("Machinery")
machinery_layer ^= MACHINERY_LAYER_1
- to_chat(user, "You toggle machinery connection.")
+ to_chat(user, span_warning("You toggle machinery connection."))
cut_cable_from_powernet(FALSE)
@@ -761,7 +761,7 @@ GLOBAL_LIST(hub_radial_layer_list)
if(!istype(user))
return FALSE
if(!ISADVANCEDTOOLUSER(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 FALSE
if(user.incapacitated() || !user.Adjacent(src))
return FALSE
@@ -776,7 +776,7 @@ GLOBAL_LIST(hub_radial_layer_list)
auto_propagate_cut_cable(src) // update the powernets
/obj/structure/cable/multilayer/CtrlClick(mob/living/user)
- to_chat(user, "You pust reset button.")
+ to_chat(user, span_warning("You pust reset button."))
addtimer(CALLBACK(src, .proc/Reload), 10, TIMER_UNIQUE) //spam protect
// This is a mapping aid. In order for this to be placed on a map and function, all three layers need to have their nodes active
diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm
index 42f2f84f8e2..37b4191ab71 100644
--- a/code/modules/power/cell.dm
+++ b/code/modules/power/cell.dm
@@ -98,12 +98,12 @@
/obj/item/stock_parts/cell/examine(mob/user)
. = ..()
if(rigged)
- . += "This power cell seems to be faulty!"
+ . += span_danger("This power cell seems to be faulty!")
else
. += "The charge meter reads [round(src.percent() )]%."
/obj/item/stock_parts/cell/suicide_act(mob/user)
- user.visible_message("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is licking the electrodes of [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return (FIRELOSS)
/obj/item/stock_parts/cell/proc/on_reagent_change(datum/reagents/holder, ...)
@@ -169,22 +169,22 @@
if((E.drain_time > world.time) || !stomach)
return
if(charge < CELL_POWER_DRAIN)
- to_chat(H, "[src] doesn't have enough power!")
+ to_chat(H, span_warning("[src] doesn't have enough power!"))
return
if(stomach.crystal_charge > charge_limit)
- to_chat(H, "Your charge is full!")
+ to_chat(H, span_warning("Your charge is full!"))
return
- to_chat(H, "You begin clumsily channeling power from [src] into your body.")
+ to_chat(H, span_notice("You begin clumsily channeling power from [src] into your body."))
E.drain_time = world.time + CELL_DRAIN_TIME
if(do_after(user, CELL_DRAIN_TIME, target = src))
if((charge < CELL_POWER_DRAIN) || (stomach.crystal_charge > charge_limit))
return
if(istype(stomach))
- to_chat(H, "You receive some charge from [src], wasting some in the process.")
+ to_chat(H, span_notice("You receive some charge from [src], wasting some in the process."))
stomach.adjust_charge(CELL_POWER_GAIN)
charge -= CELL_POWER_DRAIN //you waste way more than you receive, so that ethereals cant just steal one cell and forget about hunger
else
- to_chat(H, "You can't receive charge from [src]!")
+ to_chat(H, span_warning("You can't receive charge from [src]!"))
return
diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm
index 747cd6da169..5aaecf5ed9b 100644
--- a/code/modules/power/floodlight.dm
+++ b/code/modules/power/floodlight.dm
@@ -17,7 +17,7 @@
if(istype(O, /obj/item/stack/cable_coil) && state == FLOODLIGHT_NEEDS_WIRES)
var/obj/item/stack/S = O
if(S.use(5))
- to_chat(user, "You wire [src].")
+ to_chat(user, span_notice("You wire [src]."))
name = "wired [name]"
desc = "A bare metal frame looking vaguely like a floodlight. Requires securing with a screwdriver."
icon_state = "floodlight_c2"
@@ -27,7 +27,7 @@
to_chat(user, "You need 5 cables to wire [src].")
return
if(O.tool_behaviour == TOOL_SCREWDRIVER && state == FLOODLIGHT_NEEDS_SECURING)
- to_chat(user, "You fasten the wiring and electronics in [src].")
+ to_chat(user, span_notice("You fasten the wiring and electronics in [src]."))
name = "secured [name]"
desc = "A bare metal frame that looks like a floodlight. Requires a light tube to complete."
icon_state = "floodlight_c3"
@@ -36,7 +36,7 @@
if(istype(O, /obj/item/light/tube))
var/obj/item/light/tube/L = O
if(state == FLOODLIGHT_NEEDS_LIGHTS && L.status != 2) //Ready for a light tube, and not broken.
- to_chat(user, "You put lights in [src].")
+ to_chat(user, span_notice("You put lights in [src]."))
new /obj/machinery/power/floodlight(loc)
qdel(src)
qdel(O)
@@ -47,7 +47,7 @@
var/obj/item/lightreplacer/L = O
if(state == FLOODLIGHT_NEEDS_LIGHTS && L.CanUse(user))
L.Use(user)
- to_chat(user, "You put lights in [src].")
+ to_chat(user, span_notice("You put lights in [src]."))
new /obj/machinery/power/floodlight(loc)
qdel(src)
return
@@ -105,7 +105,7 @@
if(4)
setting_text = "high power"
if(user)
- to_chat(user, "You set [src] to [setting_text].")
+ to_chat(user, span_notice("You set [src] to [setting_text]."))
/obj/machinery/power/floodlight/attackby(obj/item/O, mob/user, params)
if(O.tool_behaviour == TOOL_WRENCH)
diff --git a/code/modules/power/generator.dm b/code/modules/power/generator.dm
index 37baf3b5724..d6a411431ca 100644
--- a/code/modules/power/generator.dm
+++ b/code/modules/power/generator.dm
@@ -195,7 +195,7 @@
if(!anchored)
kill_circs()
connect_to_network()
- to_chat(user, "You [anchored?"secure":"unsecure"] [src].")
+ to_chat(user, span_notice("You [anchored?"secure":"unsecure"] [src]."))
return TRUE
/obj/machinery/power/generator/multitool_act(mob/living/user, obj/item/I)
@@ -203,7 +203,7 @@
if(!anchored)
return
find_circs()
- to_chat(user, "You update [src]'s circulator links.")
+ to_chat(user, span_notice("You update [src]'s circulator links."))
return TRUE
/obj/machinery/power/generator/screwdriver_act(mob/user, obj/item/I)
@@ -211,7 +211,7 @@
return TRUE
panel_open = !panel_open
I.play_tool_sound(src)
- to_chat(user, "You [panel_open?"open":"close"] the panel on [src].")
+ to_chat(user, span_notice("You [panel_open?"open":"close"] the panel on [src]."))
return TRUE
/obj/machinery/power/generator/crowbar_act(mob/user, obj/item/I)
diff --git a/code/modules/power/gravitygenerator.dm b/code/modules/power/gravitygenerator.dm
index 3325751120b..0ee714c2437 100644
--- a/code/modules/power/gravitygenerator.dm
+++ b/code/modules/power/gravitygenerator.dm
@@ -205,7 +205,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
switch(broken_state)
if(GRAV_NEEDS_SCREWDRIVER)
if(I.tool_behaviour == TOOL_SCREWDRIVER)
- to_chat(user, "You secure the screws of the framework.")
+ to_chat(user, span_notice("You secure the screws of the framework."))
I.play_tool_sound(src)
broken_state++
update_appearance()
@@ -213,7 +213,7 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
if(GRAV_NEEDS_WELDING)
if(I.tool_behaviour == TOOL_WELDER)
if(I.use_tool(src, user, 0, volume=50, amount=1))
- to_chat(user, "You mend the damaged framework.")
+ to_chat(user, span_notice("You mend the damaged framework."))
broken_state++
update_appearance()
return
@@ -222,16 +222,16 @@ GLOBAL_LIST_EMPTY(gravity_generators) // We will keep track of this by adding ne
var/obj/item/stack/sheet/plasteel/PS = I
if(PS.get_amount() >= 10)
PS.use(10)
- to_chat(user, "You add the plating to the framework.")
+ to_chat(user, span_notice("You add the plating to the framework."))
playsound(src.loc, 'sound/machines/click.ogg', 75, TRUE)
broken_state++
update_appearance()
else
- to_chat(user, "You need 10 sheets of plasteel!")
+ to_chat(user, span_warning("You need 10 sheets of plasteel!"))
return
if(GRAV_NEEDS_WRENCH)
if(I.tool_behaviour == TOOL_WRENCH)
- to_chat(user, "You secure the plating to the framework.")
+ to_chat(user, span_notice("You secure the plating to the framework."))
I.play_tool_sound(src)
set_fix()
return
diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm
index 32e1210f42c..3366da24034 100644
--- a/code/modules/power/lighting.dm
+++ b/code/modules/power/lighting.dm
@@ -37,7 +37,7 @@
return
var/area/A = get_area(user)
if(!IS_DYNAMIC_LIGHTING(A))
- to_chat(user, "You cannot place [src] in this area!")
+ to_chat(user, span_warning("You cannot place [src] in this area!"))
return
return TRUE
@@ -87,11 +87,11 @@
else
. += "The casing has no power cell for backup power."
else
- . += "This casing doesn't support power cells for backup power."
+ . += span_danger("This casing doesn't support power cells for backup power.")
/obj/structure/light_construct/attack_hand(mob/user, list/modifiers)
if(cell)
- user.visible_message("[user] removes [cell] from [src]!", "You remove [cell].")
+ user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell]."))
user.put_in_hands(cell)
cell.update_appearance()
cell = null
@@ -101,7 +101,7 @@
/obj/structure/light_construct/attack_tk(mob/user)
if(!cell)
return
- to_chat(user, "You telekinetically remove [cell].")
+ to_chat(user, span_notice("You telekinetically remove [cell]."))
var/obj/item/stock_parts/cell/cell_reference = cell
cell = null
cell_reference.forceMove(drop_location())
@@ -112,37 +112,37 @@
add_fingerprint(user)
if(istype(W, /obj/item/stock_parts/cell))
if(!cell_connectors)
- to_chat(user, "This [name] can't support a power cell!")
+ to_chat(user, span_warning("This [name] can't support a power cell!"))
return
if(HAS_TRAIT(W, TRAIT_NODROP))
- to_chat(user, "[W] is stuck to your hand!")
+ to_chat(user, span_warning("[W] is stuck to your hand!"))
return
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 if(user.temporarilyRemoveItemFromInventory(W))
- user.visible_message("[user] hooks up [W] to [src].", \
- "You add [W] to [src].")
+ user.visible_message(span_notice("[user] hooks up [W] to [src]."), \
+ span_notice("You add [W] to [src]."))
playsound(src, 'sound/machines/click.ogg', 50, TRUE)
W.forceMove(src)
cell = W
add_fingerprint(user)
return
else if (istype(W, /obj/item/light))
- to_chat(user, "This [name] isn't finished being setup!")
+ to_chat(user, span_warning("This [name] isn't finished being setup!"))
return
switch(stage)
if(1)
if(W.tool_behaviour == TOOL_WRENCH)
if(cell)
- to_chat(user, "You have to remove the cell first!")
+ to_chat(user, span_warning("You have to remove the cell first!"))
return
else
- to_chat(user, "You begin deconstructing [src]...")
+ to_chat(user, span_notice("You begin deconstructing [src]..."))
if (W.use_tool(src, user, 30, volume=50))
new /obj/item/stack/sheet/iron(drop_location(), sheets_refunded)
- user.visible_message("[user.name] deconstructs [src].", \
- "You deconstruct [src].", "You hear a ratchet.")
+ user.visible_message(span_notice("[user.name] deconstructs [src]."), \
+ span_notice("You deconstruct [src]."), span_hear("You hear a ratchet."))
playsound(src, 'sound/items/deconstruct.ogg', 75, TRUE)
qdel(src)
return
@@ -152,28 +152,28 @@
if(coil.use(1))
icon_state = "[fixture_type]-construct-stage2"
stage = 2
- user.visible_message("[user.name] adds wires to [src].", \
- "You add wires to [src].")
+ user.visible_message(span_notice("[user.name] adds wires to [src]."), \
+ span_notice("You add wires to [src]."))
else
- to_chat(user, "You need one length of cable to wire [src]!")
+ to_chat(user, span_warning("You need one length of cable to wire [src]!"))
return
if(2)
if(W.tool_behaviour == TOOL_WRENCH)
- to_chat(usr, "You have to remove the wires first!")
+ to_chat(usr, span_warning("You have to remove the wires first!"))
return
if(W.tool_behaviour == TOOL_WIRECUTTER)
stage = 1
icon_state = "[fixture_type]-construct-stage1"
new /obj/item/stack/cable_coil(drop_location(), 1, "red")
- user.visible_message("[user.name] removes the wiring from [src].", \
- "You remove the wiring from [src].", "You hear clicking.")
+ user.visible_message(span_notice("[user.name] removes the wiring from [src]."), \
+ span_notice("You remove the wiring from [src]."), span_hear("You hear clicking."))
W.play_tool_sound(src, 100)
return
if(W.tool_behaviour == TOOL_SCREWDRIVER)
- user.visible_message("[user.name] closes [src]'s casing.", \
- "You close [src]'s casing.", "You hear screwing.")
+ user.visible_message(span_notice("[user.name] closes [src]'s casing."), \
+ span_notice("You close [src]'s casing."), span_hear("You hear screwing."))
W.play_tool_sound(src, 75)
switch(fixture_type)
if("tube")
@@ -526,7 +526,7 @@
// attempt to insert light
else if(istype(W, /obj/item/light))
if(status == LIGHT_OK)
- to_chat(user, "There is a [fitting] already inserted!")
+ to_chat(user, span_warning("There is a [fitting] already inserted!"))
else
src.add_fingerprint(user)
var/obj/item/light/L = W
@@ -537,9 +537,9 @@
src.add_fingerprint(user)
if(status != LIGHT_EMPTY)
drop_light_tube(user)
- to_chat(user, "You replace [L].")
+ to_chat(user, span_notice("You replace [L]."))
else
- to_chat(user, "You insert [L].")
+ to_chat(user, span_notice("You insert [L]."))
status = L.status
switchcount = L.switchcount
rigged = L.rigged
@@ -552,17 +552,17 @@
if(on && rigged)
explode()
else
- to_chat(user, "This type of light requires a [fitting]!")
+ to_chat(user, span_warning("This type of light requires a [fitting]!"))
// attempt to stick weapon into light socket
else if(status == LIGHT_EMPTY)
if(W.tool_behaviour == TOOL_SCREWDRIVER) //If it's a screwdriver open it.
W.play_tool_sound(src, 75)
- user.visible_message("[user.name] opens [src]'s casing.", \
- "You open [src]'s casing.", "You hear a noise.")
+ user.visible_message(span_notice("[user.name] opens [src]'s casing."), \
+ span_notice("You open [src]'s casing."), span_hear("You hear a noise."))
deconstruct()
else
- to_chat(user, "You stick \the [W] into the light socket!")
+ to_chat(user, span_userdanger("You stick \the [W] into the light socket!"))
if(has_power() && (W.flags_1 & CONDUCT_1))
do_sparks(3, TRUE, src)
if (prob(75))
@@ -651,7 +651,7 @@
if(!has_emergency_power(pwr))
return FALSE
if(cell.charge > 300) //it's meant to handle 120 W, ya doofus
- visible_message("[src] short-circuits from too powerful of a power cell!")
+ visible_message(span_warning("[src] short-circuits from too powerful of a power cell!"))
burn_out()
return FALSE
cell.use(pwr)
@@ -679,7 +679,7 @@
/obj/machinery/light/attack_ai(mob/user)
no_emergency = !no_emergency
- to_chat(user, "Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"].")
+ to_chat(user, span_notice("Emergency lights for this fixture have been [no_emergency ? "disabled" : "enabled"]."))
update(FALSE)
return
@@ -694,7 +694,7 @@
add_fingerprint(user)
if(status == LIGHT_EMPTY)
- to_chat(user, "There is no [fitting] in this light!")
+ to_chat(user, span_warning("There is no [fitting] in this light!"))
return
// make it burn hands unless you're wearing heat insulated gloves or have the RESISTHEAT/RESISTHEATHANDS traits
@@ -709,14 +709,14 @@
var/obj/item/organ/stomach/ethereal/stomach = H.getorganslot(ORGAN_SLOT_STOMACH)
if((E.drain_time > world.time) || !stomach)
return
- to_chat(H, "You start channeling some power through the [fitting] into your body.")
+ to_chat(H, span_notice("You start channeling some power through the [fitting] into your body."))
E.drain_time = world.time + LIGHT_DRAIN_TIME
if(do_after(user, LIGHT_DRAIN_TIME, target = src))
if(istype(stomach))
- to_chat(H, "You receive some charge from the [fitting].")
+ to_chat(H, span_notice("You receive some charge from the [fitting]."))
stomach.adjust_charge(LIGHT_POWER_GAIN)
else
- to_chat(H, "You can't receive charge from the [fitting]!")
+ to_chat(H, span_warning("You can't receive charge from the [fitting]!"))
return
if(H.gloves)
@@ -727,26 +727,26 @@
prot = 1
if(prot > 0 || HAS_TRAIT(user, TRAIT_RESISTHEAT) || HAS_TRAIT(user, TRAIT_RESISTHEATHANDS))
- to_chat(user, "You remove the light [fitting].")
+ to_chat(user, span_notice("You remove the light [fitting]."))
else if(istype(user) && user.dna.check_mutation(TK))
- to_chat(user, "You telekinetically remove the light [fitting].")
+ to_chat(user, span_notice("You telekinetically remove the light [fitting]."))
else
var/obj/item/bodypart/affecting = H.get_bodypart("[(user.active_hand_index % 2 == 0) ? "r" : "l" ]_arm")
if(affecting?.receive_damage( 0, 5 )) // 5 burn damage
H.update_damage_overlays()
if(HAS_TRAIT(user, TRAIT_LIGHTBULB_REMOVER))
- to_chat(user, "You feel like you're burning, but you can push through.")
+ to_chat(user, span_notice("You feel like you're burning, but you can push through."))
if(!do_after(user, 5 SECONDS, target = src))
return
if(affecting?.receive_damage( 0, 10 )) // 10 more burn damage
H.update_damage_overlays()
- to_chat(user, "You manage to remove the light [fitting], shattering it in process.")
+ to_chat(user, span_notice("You manage to remove the light [fitting], shattering it in process."))
break_light_tube()
else
- to_chat(user, "You try to remove the light [fitting], but you burn your hand on it!")
+ to_chat(user, span_warning("You try to remove the light [fitting], but you burn your hand on it!"))
return
else
- to_chat(user, "You remove the light [fitting].")
+ to_chat(user, span_notice("You remove the light [fitting]."))
// create a light tube/bulb item and put it in the user's hand
drop_light_tube(user)
@@ -773,10 +773,10 @@
/obj/machinery/light/attack_tk(mob/user)
if(status == LIGHT_EMPTY)
- to_chat(user, "There is no [fitting] in this light!")
+ to_chat(user, span_warning("There is no [fitting] in this light!"))
return
- to_chat(user, "You telekinetically remove the light [fitting].")
+ to_chat(user, span_notice("You telekinetically remove the light [fitting]."))
// create a light tube/bulb item and put it in the user's hand
var/obj/item/light/light_tube = drop_light_tube()
return light_tube.attack_tk(user)
@@ -865,10 +865,10 @@
/obj/item/light/suicide_act(mob/living/carbon/user)
if (status == LIGHT_BROKEN)
- user.visible_message("[user] begins to stab [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins to stab [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return BRUTELOSS
else
- user.visible_message("[user] begins to eat \the [src]! It looks like [user.p_theyre()] not very bright!")
+ user.visible_message(span_suicide("[user] begins to eat \the [src]! It looks like [user.p_theyre()] not very bright!"))
shatter()
return BRUTELOSS
@@ -975,7 +975,7 @@
/obj/item/light/proc/shatter()
if(status == LIGHT_OK || status == LIGHT_BURNED)
- visible_message("[src] shatters.","You hear a small glass object shatter.")
+ visible_message(span_danger("[src] shatters."),span_hear("You hear a small glass object shatter."))
status = LIGHT_BROKEN
force = 5
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE)
diff --git a/code/modules/power/monitor.dm b/code/modules/power/monitor.dm
index 2f7793d029a..37d9278bd1a 100644
--- a/code/modules/power/monitor.dm
+++ b/code/modules/power/monitor.dm
@@ -29,7 +29,7 @@
/obj/machinery/computer/monitor/secret/examine(mob/user)
. = ..()
- . += "It's operating system seems quite outdated... It doesn't seem like it'd be compatible with the latest remote NTOS monitoring systems."
+ . += span_notice("It's operating system seems quite outdated... It doesn't seem like it'd be compatible with the latest remote NTOS monitoring systems.")
/obj/machinery/computer/monitor/Initialize()
. = ..()
diff --git a/code/modules/power/multiz.dm b/code/modules/power/multiz.dm
index 969db61d3b3..f4f1bd987b3 100644
--- a/code/modules/power/multiz.dm
+++ b/code/modules/power/multiz.dm
@@ -15,6 +15,6 @@
/obj/structure/cable/multilayer/examine(mob/user)
. += ..()
var/turf/T = get_turf(src)
- . += "[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_below(T)) ? "Detected" : "Undetected"] hub UP."
- . += "[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_above(T)) ? "Detected" : "Undetected"] hub DOWN."
+ . += span_notice("[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_below(T)) ? "Detected" : "Undetected"] hub UP.")
+ . += span_notice("[locate(/obj/structure/cable/multilayer/multiz) in (SSmapping.get_turf_above(T)) ? "Detected" : "Undetected"] hub DOWN.")
diff --git a/code/modules/power/pipecleaners.dm b/code/modules/power/pipecleaners.dm
index 894527f66ea..0d78d59e03f 100644
--- a/code/modules/power/pipecleaners.dm
+++ b/code/modules/power/pipecleaners.dm
@@ -133,14 +133,14 @@ By design, d1 is the smallest direction and d2 is the highest
else if(istype(W, /obj/item/stack/pipe_cleaner_coil))
var/obj/item/stack/pipe_cleaner_coil/coil = W
if (coil.get_amount() < 1)
- to_chat(user, "Not enough pipe cleaner!")
+ to_chat(user, span_warning("Not enough pipe cleaner!"))
return
coil.pipe_cleaner_join(src, user)
add_fingerprint(user)
/obj/structure/pipe_cleaner/proc/cut_pipe_cleaner(mob/user)
- user.visible_message("[user] pulls up the pipe cleaner.", "You pull up the pipe cleaner.")
+ user.visible_message(span_notice("[user] pulls up the pipe cleaner."), span_notice("You pull up the pipe cleaner."))
stored.add_fingerprint(user)
investigate_log("was pulled up by [key_name(usr)] in [AREACOORD(src)]", INVESTIGATE_WIRES)
deconstruct()
@@ -233,9 +233,9 @@ By design, d1 is the smallest direction and d2 is the highest
/obj/item/stack/pipe_cleaner_coil/suicide_act(mob/user)
if(locate(/obj/structure/chair/stool) in get_turf(user))
- user.visible_message("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is making a noose with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
else
- user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return(OXYLOSS)
/obj/item/stack/pipe_cleaner_coil/Initialize(mapload, new_amount = null, list/mat_override=null, mat_amt=1, param_color = null)
@@ -299,15 +299,15 @@ By design, d1 is the smallest direction and d2 is the highest
return
if(!isturf(T) || !T.can_have_cabling())
- to_chat(user, "You can only lay pipe cleaners on a solid floor!")
+ to_chat(user, span_warning("You can only lay pipe cleaners on a solid floor!"))
return
if(get_amount() < 1) // Out of pipe_cleaner
- to_chat(user, "There is no pipe cleaner left!")
+ to_chat(user, span_warning("There is no pipe cleaner left!"))
return
if(get_dist(T,user) > 1) // Too far
- to_chat(user, "You can't lay pipe cleaner at a place that far away!")
+ to_chat(user, span_warning("You can't lay pipe cleaner at a place that far away!"))
return
var/dirn
@@ -321,7 +321,7 @@ By design, d1 is the smallest direction and d2 is the highest
for(var/obj/structure/pipe_cleaner/LC in T)
if(LC.d2 == dirn && LC.d1 == 0)
- to_chat(user, "There's already a pipe leaner at that position!")
+ to_chat(user, span_warning("There's already a pipe leaner at that position!"))
return
var/obj/structure/pipe_cleaner/C = get_new_pipe_cleaner(T)
@@ -349,7 +349,7 @@ By design, d1 is the smallest direction and d2 is the highest
return
if(get_dist(C, user) > 1) // make sure it's close enough
- to_chat(user, "You can't lay pipe cleaner at a place that far away!")
+ to_chat(user, span_warning("You can't lay pipe cleaner at a place that far away!"))
return
@@ -365,7 +365,7 @@ By design, d1 is the smallest direction and d2 is the highest
if((C.d1 == dirn || C.d2 == dirn) && !forceddir)
if(!U.can_have_cabling()) //checking if it's a plating or catwalk
if (showerror)
- to_chat(user, "You can only lay pipe cleaners on catwalks and plating!")
+ to_chat(user, span_warning("You can only lay pipe cleaners on catwalks and plating!"))
return
else
// pipe_cleaner is pointing at us, we're standing on an open tile
@@ -376,7 +376,7 @@ By design, d1 is the smallest direction and d2 is the highest
for(var/obj/structure/pipe_cleaner/LC in U) // check to make sure there's not a pipe_cleaner there already
if(LC.d1 == fdirn || LC.d2 == fdirn)
if (showerror)
- to_chat(user, "There's already a pipe cleaner at that position!")
+ to_chat(user, span_warning("There's already a pipe cleaner at that position!"))
return
var/obj/structure/pipe_cleaner/NC = get_new_pipe_cleaner(U)
@@ -407,7 +407,7 @@ By design, d1 is the smallest direction and d2 is the highest
continue
if((LC.d1 == nd1 && LC.d2 == nd2) || (LC.d1 == nd2 && LC.d2 == nd1) ) // make sure no pipe_cleaner matches either direction
if (showerror)
- to_chat(user, "There's already a pipe cleaner at that position!")
+ to_chat(user, span_warning("There's already a pipe cleaner at that position!"))
return
diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm
index 61206609605..7e2c02e0dbc 100644
--- a/code/modules/power/port_gen.dm
+++ b/code/modules/power/port_gen.dm
@@ -119,11 +119,11 @@
/obj/machinery/power/port_gen/pacman/examine(mob/user)
. = ..()
- . += "The generator has [sheets] units of [sheet_name] fuel left, producing [DisplayPower(power_gen)] per cycle."
+ . += span_notice("The generator has [sheets] units of [sheet_name] fuel left, producing [DisplayPower(power_gen)] per cycle.")
if(anchored)
- . += "It is anchored to the ground."
+ . += span_notice("It is anchored to the ground.")
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Fuel efficiency increased by [(consumption*100)-100]%."
+ . += span_notice("The status display reads: Fuel efficiency increased by [(consumption*100)-100]%.")
/obj/machinery/power/port_gen/pacman/HasFuel()
if(sheets >= 1 / (time_per_sheet / power_output) - sheet_left)
@@ -187,9 +187,9 @@
var/obj/item/stack/addstack = O
var/amount = min((max_sheets - sheets), addstack.amount)
if(amount < 1)
- to_chat(user, "The [src.name] is full!")
+ to_chat(user, span_notice("The [src.name] is full!"))
return
- to_chat(user, "You add [amount] sheets to the [src.name].")
+ to_chat(user, span_notice("You add [amount] sheets to the [src.name]."))
sheets += amount
addstack.use(amount)
return
@@ -197,10 +197,10 @@
if(O.tool_behaviour == TOOL_WRENCH)
if(!anchored && !isinspace())
set_anchored(TRUE)
- to_chat(user, "You secure the generator to the floor.")
+ to_chat(user, span_notice("You secure the generator to the floor."))
else if(anchored)
set_anchored(FALSE)
- to_chat(user, "You unsecure the generator from the floor.")
+ to_chat(user, span_notice("You unsecure the generator from the floor."))
playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE)
return
@@ -208,9 +208,9 @@
panel_open = !panel_open
O.play_tool_sound(src)
if(panel_open)
- to_chat(user, "You open the access panel.")
+ to_chat(user, span_notice("You open the access panel."))
else
- to_chat(user, "You close the access panel.")
+ to_chat(user, span_notice("You close the access panel."))
return
else if(default_deconstruction_crowbar(O))
return
diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm
index 3cccca8d0f3..020f16528a2 100644
--- a/code/modules/power/rtg.dm
+++ b/code/modules/power/rtg.dm
@@ -39,7 +39,7 @@
/obj/machinery/power/rtg/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Power generation now at [power_gen*0.001]kW."
+ . += span_notice("The status display reads: Power generation now at [power_gen*0.001]kW.")
/obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-open", initial(icon_state), I))
@@ -72,8 +72,8 @@
if(going_kaboom)
return
going_kaboom = TRUE
- visible_message("\The [src] lets out a shower of sparks as it starts to lose stability!",\
- "You hear a loud electrical crack!")
+ visible_message(span_danger("\The [src] lets out a shower of sparks as it starts to lose stability!"),\
+ span_hear("You hear a loud electrical crack!"))
playsound(src.loc, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5)
tesla_zap(src, 5, power_gen * 0.05)
addtimer(CALLBACK(GLOBAL_PROC, .proc/explosion, src, 2, 3, 4, null, 8), 10 SECONDS) // Not a normal explosion.
diff --git a/code/modules/power/singularity/boh_tear.dm b/code/modules/power/singularity/boh_tear.dm
index 64c3e5b390d..0eb5a6bbfbc 100644
--- a/code/modules/power/singularity/boh_tear.dm
+++ b/code/modules/power/singularity/boh_tear.dm
@@ -38,7 +38,7 @@
if(!isliving(user))
return
var/mob/living/jedi = user
- to_chat(jedi, "You don't feel like you are real anymore.")
+ to_chat(jedi, span_userdanger("You don't feel like you are real anymore."))
jedi.dust_animation()
jedi.spawn_dust()
addtimer(CALLBACK(src, /atom/proc/attack_hand, jedi), 0.5 SECONDS)
diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm
index 6622e221ad6..bbe1b946922 100644
--- a/code/modules/power/singularity/collector.dm
+++ b/code/modules/power/singularity/collector.dm
@@ -64,11 +64,11 @@
if(!anchored)
return
if(locked)
- to_chat(user, "The controls are locked!")
+ to_chat(user, span_warning("The controls are locked!"))
return
toggle_power()
- user.visible_message("[user.name] turns the [src.name] [active? "on":"off"].", \
- "You turn the [src.name] [active? "on":"off"].")
+ user.visible_message(span_notice("[user.name] turns the [src.name] [active? "on":"off"]."), \
+ span_notice("You turn the [src.name] [active? "on":"off"]."))
var/datum/gas_mixture/tank_mix = loaded_tank.return_air()
var/fuel
if(loaded_tank)
@@ -80,7 +80,7 @@
if(!loaded_tank)
return ..()
if(!silent)
- to_chat(user, "Remove the plasma tank first!")
+ to_chat(user, span_warning("Remove the plasma tank first!"))
return FAILED_UNFASTEN
@@ -96,13 +96,13 @@
/obj/machinery/power/rad_collector/attackby(obj/item/item, mob/user, params)
if(istype(item, /obj/item/tank/internals/plasma))
if(!anchored)
- to_chat(user, "[src] needs to be secured to the floor first!")
+ to_chat(user, span_warning("[src] needs to be secured to the floor first!"))
return TRUE
if(loaded_tank)
- to_chat(user, "There's already a plasma tank loaded!")
+ to_chat(user, span_warning("There's already a plasma tank loaded!"))
return TRUE
if(panel_open)
- to_chat(user, "Close the maintenance panel first!")
+ to_chat(user, span_warning("Close the maintenance panel first!"))
return TRUE
if(!user.transferItemToLoc(item, src))
return
@@ -110,12 +110,12 @@
update_appearance()
else if(item.GetID())
if(!allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, span_danger("Access denied."))
if(!active)
- to_chat(user, "The controls can only be locked when \the [src] is active!")
+ to_chat(user, span_warning("The controls can only be locked when \the [src] is active!"))
return TRUE
locked = !locked
- to_chat(user, "You [locked ? "lock" : "unlock"] the controls.")
+ to_chat(user, span_notice("You [locked ? "lock" : "unlock"] the controls."))
return TRUE
else
return ..()
@@ -131,7 +131,7 @@
if(!loaded_tank)
default_deconstruction_screwdriver(user, icon_state, icon_state, item)
return TRUE
- to_chat(user, "Remove the plasma tank first!")
+ to_chat(user, span_warning("Remove the plasma tank first!"))
return TRUE
/obj/machinery/power/rad_collector/crowbar_act(mob/living/user, obj/item/I)
@@ -139,11 +139,11 @@
if(!locked)
eject()
return TRUE
- to_chat(user, "The controls are locked!")
+ to_chat(user, span_warning("The controls are locked!"))
return TRUE
if(default_deconstruction_crowbar(I))
return TRUE
- to_chat(user, "There isn't a tank loaded!")
+ to_chat(user, span_warning("There isn't a tank loaded!"))
return TRUE
/obj/machinery/power/rad_collector/return_analyzable_air()
@@ -154,12 +154,12 @@
/obj/machinery/power/rad_collector/examine(mob/user)
. = ..()
if(!active)
- . += "[src]'s display displays the words: \"Power production mode. Please insert Plasma.\""
+ . += span_notice("[src]'s display displays the words: \"Power production mode. Please insert Plasma.\"")
// stored_energy is converted directly to watts every SSmachines.wait * 0.1 seconds.
// Therefore, its units are joules per SSmachines.wait * 0.1 seconds.
// So joules = stored_energy * SSmachines.wait * 0.1
var/joules = stored_energy * SSmachines.wait * 0.1
- . += "[src]'s display states that it has stored [DisplayJoules(joules)], and is processing [DisplayPower(RAD_COLLECTOR_OUTPUT)]."
+ . += span_notice("[src]'s display states that it has stored [DisplayJoules(joules)], and is processing [DisplayPower(RAD_COLLECTOR_OUTPUT)].")
/obj/machinery/power/rad_collector/obj_break(damage_flag)
. = ..()
diff --git a/code/modules/power/singularity/containment_field.dm b/code/modules/power/singularity/containment_field.dm
index 46ed815aa6a..0cb718b349b 100644
--- a/code/modules/power/singularity/containment_field.dm
+++ b/code/modules/power/singularity/containment_field.dm
@@ -63,7 +63,7 @@
qdel(src)
return
if(ismegafauna(user))
- user.visible_message("[user] glows fiercely as the containment field flickers out!")
+ user.visible_message(span_warning("[user] glows fiercely as the containment field flickers out!"))
FG1.calc_power(INFINITY) //rip that 'containment' field
user.adjustHealth(-user.obj_damage)
else
@@ -133,9 +133,9 @@
if(prob(20))
user.Stun(40)
user.take_overall_damage(0, shock_damage)
- user.visible_message("[user.name] is shocked by the [src.name]!", \
- "Energy pulse detected, system damaged!", \
- "You hear an electrical crack.")
+ user.visible_message(span_danger("[user.name] is shocked by the [src.name]!"), \
+ span_userdanger("Energy pulse detected, system damaged!"), \
+ span_hear("You hear an electrical crack."))
user.updatehealth()
bump_field(user)
diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm
index 55f39e7183f..4d5c99b979f 100644
--- a/code/modules/power/singularity/emitter.dm
+++ b/code/modules/power/singularity/emitter.dm
@@ -115,22 +115,22 @@
/obj/machinery/power/emitter/examine(mob/user)
. = ..()
if(welded)
- . += "It's moored firmly to the floor. You can unsecure its moorings with a welder."
+ . += span_info("It's moored firmly to the floor. You can unsecure its moorings with a welder.")
else if(anchored)
- . += "It's currently anchored to the floor. You can secure its moorings with a welder, or remove it with a wrench."
+ . += span_info("It's currently anchored to the floor. You can secure its moorings with a welder, or remove it with a wrench.")
else
- . += "It's not anchored to the floor. You can secure it in place with a wrench."
+ . += span_info("It's not anchored to the floor. You can secure it in place with a wrench.")
if(!in_range(user, src) && !isobserver(user))
return
if(!active)
- . += "Its status display is currently turned off."
+ . += span_notice("Its status display is currently turned off.")
else if(!powered)
- . += "Its status display is glowing faintly."
+ . += span_notice("Its status display is glowing faintly.")
else
- . += "Its status display reads: Emitting one beam every [DisplayTimeText(fire_delay)]."
- . += "Power consumption at [DisplayPower(active_power_usage)]."
+ . += span_notice("Its status display reads: Emitting one beam every [DisplayTimeText(fire_delay)].")
+ . += span_notice("Power consumption at [DisplayPower(active_power_usage)].")
/obj/machinery/power/emitter/ComponentInitialize()
. = ..()
@@ -139,7 +139,7 @@
/obj/machinery/power/emitter/proc/can_be_rotated(mob/user, rotation_type)
if(!anchored)
return TRUE
- to_chat(user, "It is fastened to the floor!")
+ to_chat(user, span_warning("It is fastened to the floor!"))
return FALSE
/obj/machinery/power/emitter/should_have_node()
@@ -164,13 +164,13 @@
/obj/machinery/power/emitter/interact(mob/user)
add_fingerprint(user)
if(!welded)
- to_chat(user, "[src] needs to be firmly secured to the floor first!")
+ to_chat(user, span_warning("[src] needs to be firmly secured to the floor first!"))
return FALSE
if(!powernet)
- to_chat(user, "\The [src] isn't connected to a wire!")
+ to_chat(user, span_warning("\The [src] isn't connected to a wire!"))
return FALSE
if(locked || !allow_switch_interact)
- to_chat(user, "The controls are locked!")
+ to_chat(user, span_warning("The controls are locked!"))
return FALSE
if(active)
@@ -180,7 +180,7 @@
shot_number = 0
fire_delay = maximum_fire_delay
- to_chat(user, "You turn [active ? "on" : "off"] [src].")
+ to_chat(user, span_notice("You turn [active ? "on" : "off"] [src]."))
message_admins("Emitter turned [active ? "ON" : "OFF"] by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(src)]")
log_game("Emitter turned [active ? "ON" : "OFF"] by [key_name(user)] in [AREACOORD(src)]")
investigate_log("turned [active ? "ON" : "OFF"] by [key_name(user)] at [AREACOORD(src)]", INVESTIGATE_SINGULO)
@@ -189,7 +189,7 @@
/obj/machinery/power/emitter/attack_animal(mob/living/simple_animal/user, list/modifiers)
if(ismegafauna(user) && anchored)
set_anchored(FALSE)
- user.visible_message("[user] rips [src] free from its moorings!")
+ user.visible_message(span_warning("[user] rips [src] free from its moorings!"))
else
. = ..()
if(. && !anchored)
@@ -263,12 +263,12 @@
/obj/machinery/power/emitter/can_be_unfasten_wrench(mob/user, silent)
if(active)
if(!silent)
- to_chat(user, "Turn \the [src] off first!")
+ to_chat(user, span_warning("Turn \the [src] off first!"))
return FAILED_UNFASTEN
else if(welded)
if(!silent)
- to_chat(user, "[src] is welded to the floor!")
+ to_chat(user, span_warning("[src] is welded to the floor!"))
return FAILED_UNFASTEN
return ..()
@@ -281,35 +281,35 @@
/obj/machinery/power/emitter/welder_act(mob/living/user, obj/item/item)
..()
if(active)
- to_chat(user, "Turn [src] off first!")
+ to_chat(user, span_warning("Turn [src] off first!"))
return TRUE
if(welded)
if(!item.tool_start_check(user, amount=0))
return TRUE
- user.visible_message("[user.name] starts to cut the [name] free from the floor.", \
- "You start to cut [src] free from the floor...", \
- "You hear welding.")
+ user.visible_message(span_notice("[user.name] starts to cut the [name] free from the floor."), \
+ span_notice("You start to cut [src] free from the floor..."), \
+ span_hear("You hear welding."))
if(!item.use_tool(src, user, 20, 1, 50))
return FALSE
welded = FALSE
- to_chat(user, "You cut [src] free from the floor.")
+ to_chat(user, span_notice("You cut [src] free from the floor."))
disconnect_from_network()
update_cable_icons_on_turf(get_turf(src))
return TRUE
if(!anchored)
- to_chat(user, "[src] needs to be wrenched to the floor!")
+ to_chat(user, span_warning("[src] needs to be wrenched to the floor!"))
return TRUE
if(!item.tool_start_check(user, amount=0))
return TRUE
- user.visible_message("[user.name] starts to weld the [name] to the floor.", \
- "You start to weld [src] to the floor...", \
- "You hear welding.")
+ user.visible_message(span_notice("[user.name] starts to weld the [name] to the floor."), \
+ span_notice("You start to weld [src] to the floor..."), \
+ span_hear("You hear welding."))
if(!item.use_tool(src, user, 20, 1, 50))
return FALSE
welded = TRUE
- to_chat(user, "You weld [src] to the floor.")
+ to_chat(user, span_notice("You weld [src] to the floor."))
connect_to_network()
update_cable_icons_on_turf(get_turf(src))
return TRUE
@@ -330,16 +330,16 @@
/obj/machinery/power/emitter/attackby(obj/item/item, mob/user, params)
if(item.GetID())
if(obj_flags & EMAGGED)
- to_chat(user, "The lock seems to be broken!")
+ to_chat(user, span_warning("The lock seems to be broken!"))
return
if(!allowed(user))
- to_chat(user, "Access denied.")
+ to_chat(user, span_danger("Access denied."))
return
if(!active)
- to_chat(user, "The controls can only be locked when \the [src] is online!")
+ to_chat(user, span_warning("The controls can only be locked when \the [src] is online!"))
return
locked = !locked
- to_chat(user, "You [src.locked ? "lock" : "unlock"] the controls.")
+ to_chat(user, span_notice("You [src.locked ? "lock" : "unlock"] the controls."))
return
if(is_wire_tool(item) && panel_open)
@@ -388,7 +388,7 @@
locked = FALSE
obj_flags |= EMAGGED
if(user)
- user.visible_message("[user.name] emags [src].", "You short out the lock.")
+ user.visible_message(span_warning("[user.name] emags [src]."), span_notice("You short out the lock."))
/obj/machinery/power/emitter/prototype
diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm
index e43510f7b9b..5c512474f43 100644
--- a/code/modules/power/singularity/field_generator.dm
+++ b/code/modules/power/singularity/field_generator.dm
@@ -76,18 +76,18 @@ no power level overlay is currently in the overlays list.
if(state == FG_WELDED)
if(get_dist(src, user) <= 1)//Need to actually touch the thing to turn it on
if(active >= FG_CHARGING)
- to_chat(user, "You are unable to turn off [src] once it is online!")
+ to_chat(user, span_warning("You are unable to turn off [src] once it is online!"))
return 1
else
- user.visible_message("[user] turns on [src].", \
- "You turn on [src].", \
- "You hear heavy droning.")
+ user.visible_message(span_notice("[user] turns on [src]."), \
+ span_notice("You turn on [src]."), \
+ span_hear("You hear heavy droning."))
turn_on()
investigate_log("activated by [key_name(user)].", INVESTIGATE_SINGULO)
add_fingerprint(user)
else
- to_chat(user, "[src] needs to be firmly secured to the floor first!")
+ to_chat(user, span_warning("[src] needs to be firmly secured to the floor first!"))
/obj/machinery/field/generator/set_anchored(anchorvalue)
. = ..()
@@ -100,12 +100,12 @@ no power level overlay is currently in the overlays list.
/obj/machinery/field/generator/can_be_unfasten_wrench(mob/user, silent)
if(active)
if(!silent)
- to_chat(user, "Turn \the [src] off first!")
+ to_chat(user, span_warning("Turn \the [src] off first!"))
return FAILED_UNFASTEN
else if(state == FG_WELDED)
if(!silent)
- to_chat(user, "[src] is welded to the floor!")
+ to_chat(user, span_warning("[src] is welded to the floor!"))
return FAILED_UNFASTEN
return ..()
@@ -118,32 +118,32 @@ no power level overlay is currently in the overlays list.
/obj/machinery/field/generator/welder_act(mob/living/user, obj/item/I)
. = ..()
if(active)
- to_chat(user, "[src] needs to be off!")
+ to_chat(user, span_warning("[src] needs to be off!"))
return TRUE
switch(state)
if(FG_UNSECURED)
- to_chat(user, "[src] needs to be wrenched to the floor!")
+ to_chat(user, span_warning("[src] needs to be wrenched to the floor!"))
if(FG_SECURED)
if(!I.tool_start_check(user, amount=0))
return TRUE
- user.visible_message("[user] starts to weld [src] to the floor.", \
- "You start to weld \the [src] to the floor...", \
- "You hear welding.")
+ user.visible_message(span_notice("[user] starts to weld [src] to the floor."), \
+ span_notice("You start to weld \the [src] to the floor..."), \
+ span_hear("You hear welding."))
if(I.use_tool(src, user, 20, volume=50) && state == FG_SECURED)
state = FG_WELDED
- to_chat(user, "You weld the field generator to the floor.")
+ to_chat(user, span_notice("You weld the field generator to the floor."))
if(FG_WELDED)
if(!I.tool_start_check(user, amount=0))
return TRUE
- user.visible_message("[user] starts to cut [src] free from the floor.", \
- "You start to cut \the [src] free from the floor...", \
- "You hear welding.")
+ user.visible_message(span_notice("[user] starts to cut [src] free from the floor."), \
+ span_notice("You start to cut \the [src] free from the floor..."), \
+ span_hear("You hear welding."))
if(I.use_tool(src, user, 20, volume=50) && state == FG_WELDED)
state = FG_SECURED
- to_chat(user, "You cut \the [src] free from the floor.")
+ to_chat(user, span_notice("You cut \the [src] free from the floor."))
return TRUE
@@ -151,7 +151,7 @@ no power level overlay is currently in the overlays list.
/obj/machinery/field/generator/attack_animal(mob/living/simple_animal/user, list/modifiers)
if(user.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED)
set_anchored(FALSE)
- user.visible_message("[user] rips [src] free from its moorings!")
+ user.visible_message(span_warning("[user] rips [src] free from its moorings!"))
else
..()
if(!anchored)
@@ -223,7 +223,7 @@ no power level overlay is currently in the overlays list.
check_power_level()
return TRUE
else
- visible_message("The [name] shuts down!", "You hear something shutting down.")
+ visible_message(span_danger("The [name] shuts down!"), span_hear("You hear something shutting down."))
turn_off()
investigate_log("ran out of power and deactivated", INVESTIGATE_SINGULO)
power = 0
diff --git a/code/modules/power/singularity/narsie.dm b/code/modules/power/singularity/narsie.dm
index eda139183da..93b14338540 100644
--- a/code/modules/power/singularity/narsie.dm
+++ b/code/modules/power/singularity/narsie.dm
@@ -52,7 +52,7 @@
singularity_size = NARSIE_SINGULARITY_SIZE, \
))
- send_to_playing_players("NAR'SIE HAS RISEN")
+ send_to_playing_players(span_narsie("NAR'SIE HAS RISEN"))
sound_to_playing_players('sound/creatures/narsie_rises.ogg')
var/area/area = get_area(src)
@@ -90,7 +90,7 @@
INVOKE_ASYNC(GLOBAL_PROC, .proc/begin_the_end)
/obj/narsie/Destroy()
- send_to_playing_players("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\"")
+ send_to_playing_players(span_narsie("\"[pick("Nooooo...", "Not die. How-", "Die. Mort-", "Sas tyen re-")]\""))
sound_to_playing_players('sound/magic/demon_dies.ogg', 50)
var/list/all_cults = list()
@@ -132,7 +132,7 @@
for (var/mob/living/carbon/victim in viewers(NARSIE_CONSUME_RANGE, src))
if (victim.stat == CONSCIOUS)
if (!IS_CULTIST(victim))
- to_chat(victim, "You feel conscious thought crumble away in an instant as you gaze upon [src]...")
+ to_chat(victim, span_cult("You feel conscious thought crumble away in an instant as you gaze upon [src]..."))
victim.apply_effect(NARSIE_MESMERIZE_EFFECT, EFFECT_STUN)
/// Narsie rewards her cultists with being devoured first, then picks a ghost to follow.
@@ -179,12 +179,12 @@
if (food == old_target)
return
- to_chat(old_target, "NAR'SIE HAS LOST INTEREST IN YOU.")
+ to_chat(old_target, span_cult("NAR'SIE HAS LOST INTEREST IN YOU."))
singularity_component.target = food
if(ishuman(food))
- to_chat(food, "NAR'SIE HUNGERS FOR YOUR SOUL.")
+ to_chat(food, span_cult("NAR'SIE HUNGERS FOR YOUR SOUL."))
else
- to_chat(food, "NAR'SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL.")
+ to_chat(food, span_cult("NAR'SIE HAS CHOSEN YOU TO LEAD HER TO HER NEXT MEAL."))
/// Called to make Nar'Sie convert objects to cult stuff, or to eat
/obj/narsie/proc/consume(atom/target)
diff --git a/code/modules/power/singularity/singularity.dm b/code/modules/power/singularity/singularity.dm
index 955738e8311..95b6e23f313 100644
--- a/code/modules/power/singularity/singularity.dm
+++ b/code/modules/power/singularity/singularity.dm
@@ -71,9 +71,9 @@
. = COMPONENT_CANCEL_ATTACK_CHAIN
var/mob/living/carbon/jedi = user
jedi.visible_message(
- "[jedi]'s head begins to collapse in on itself!",
- "Your head feels like it's collapsing in on itself! This was really not a good idea!",
- "You hear something crack and explode in gore."
+ span_danger("[jedi]'s head begins to collapse in on itself!"),
+ span_userdanger("Your head feels like it's collapsing in on itself! This was really not a good idea!"),
+ span_hear("You hear something crack and explode in gore.")
)
jedi.Stun(3 SECONDS)
new /obj/effect/gibspawner/generic(get_turf(jedi), jedi)
@@ -377,8 +377,8 @@
/obj/singularity/proc/combust_mobs()
for(var/mob/living/carbon/C in urange(20, src, 1))
- C.visible_message("[C]'s skin bursts into flame!", \
- "You feel an inner fire as your skin bursts into flames!")
+ C.visible_message(span_warning("[C]'s skin bursts into flame!"), \
+ span_userdanger("You feel an inner fire as your skin bursts into flames!"))
C.adjust_fire_stacks(5)
C.IgniteMob()
return
@@ -395,12 +395,12 @@
if(istype(H.glasses, /obj/item/clothing/glasses/meson))
var/obj/item/clothing/glasses/meson/MS = H.glasses
if(MS.vision_flags == SEE_TURFS)
- to_chat(H, "You look directly into the [src.name], good thing you had your protective eyewear on!")
+ to_chat(H, span_notice("You look directly into the [src.name], good thing you had your protective eyewear on!"))
return
M.apply_effect(60, EFFECT_STUN)
- M.visible_message("[M] stares blankly at the [src.name]!", \
- "You look directly into the [src.name] and feel weak.")
+ M.visible_message(span_danger("[M] stares blankly at the [src.name]!"), \
+ span_userdanger("You look directly into the [src.name] and feel weak."))
return
diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm
index dfda7979383..00ce2a7ed97 100644
--- a/code/modules/power/smes.dm
+++ b/code/modules/power/smes.dm
@@ -42,7 +42,7 @@
/obj/machinery/power/smes/examine(user)
. = ..()
if(!terminal)
- . += "This SMES has no power terminal!"
+ . += span_warning("This SMES has no power terminal!")
/obj/machinery/power/smes/Initialize()
. = ..()
@@ -92,10 +92,10 @@
if(term && term.dir == turn(dir, 180))
terminal = term
terminal.master = src
- to_chat(user, "Terminal found.")
+ to_chat(user, span_notice("Terminal found."))
break
if(!terminal)
- to_chat(user, "No power terminal found.")
+ to_chat(user, span_alert("No power terminal found."))
return
set_machine_stat(machine_stat & ~BROKEN)
update_appearance()
@@ -108,25 +108,25 @@
return
if(terminal) //is there already a terminal ?
- to_chat(user, "This SMES already has a power terminal!")
+ to_chat(user, span_warning("This SMES already has a power terminal!"))
return
if(!panel_open) //is the panel open ?
- to_chat(user, "You must open the maintenance panel first!")
+ to_chat(user, span_warning("You must open the maintenance panel first!"))
return
var/turf/T = get_turf(user)
if (T.intact) //is the floor plating removed ?
- to_chat(user, "You must first remove the floor plating!")
+ to_chat(user, span_warning("You must first remove the floor plating!"))
return
var/obj/item/stack/cable_coil/C = I
if(C.get_amount() < 10)
- to_chat(user, "You need more wires!")
+ to_chat(user, span_warning("You need more wires!"))
return
- to_chat(user, "You start building the power terminal...")
+ to_chat(user, span_notice("You start building the power terminal..."))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
if(do_after(user, 20, target = src))
@@ -138,8 +138,8 @@
return
if(!terminal)
C.use(10)
- user.visible_message("[user.name] builds a power terminal.",\
- "You build the power terminal.")
+ user.visible_message(span_notice("[user.name] builds a power terminal."),\
+ span_notice("You build the power terminal."))
//build the terminal and link it to the network
make_terminal(T)
@@ -169,7 +169,7 @@
/obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/crowbar/C)
if(istype(C) && terminal)
- to_chat(usr, "You must first remove the power terminal!")
+ to_chat(usr, span_warning("You must first remove the power terminal!"))
return FALSE
return ..()
diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm
index a69743ad5cf..cc66db2be60 100644
--- a/code/modules/power/solar.dm
+++ b/code/modules/power/solar.dm
@@ -72,10 +72,10 @@
/obj/machinery/power/solar/crowbar_act(mob/user, obj/item/I)
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
- user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...")
+ user.visible_message(span_notice("[user] begins to take the glass off [src]."), span_notice("You begin to take the glass off [src]..."))
if(I.use_tool(src, user, 50))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
- user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].")
+ user.visible_message(span_notice("[user] takes the glass off [src]."), span_notice("You take the glass off [src]."))
deconstruct(TRUE)
return TRUE
@@ -241,28 +241,28 @@
/obj/item/solar_assembly/attackby(obj/item/W, mob/user, params)
if(W.tool_behaviour == TOOL_WRENCH && isturf(loc))
if(isinspace())
- to_chat(user, "You can't secure [src] here.")
+ to_chat(user, span_warning("You can't secure [src] here."))
return
set_anchored(!anchored)
- user.visible_message("[user] [anchored ? null : "un"]wrenches the solar assembly into place.", "You [anchored ? null : "un"]wrench the solar assembly into place.")
+ user.visible_message(span_notice("[user] [anchored ? null : "un"]wrenches the solar assembly into place."), span_notice("You [anchored ? null : "un"]wrench the solar assembly into place."))
W.play_tool_sound(src, 75)
return TRUE
if(istype(W, /obj/item/stack/sheet/glass) || istype(W, /obj/item/stack/sheet/rglass))
if(!anchored)
- to_chat(user, "You need to secure the assembly before you can add glass.")
+ to_chat(user, span_warning("You need to secure the assembly before you can add glass."))
return
var/obj/item/stack/sheet/S = W
if(S.use(2))
glass_type = W.type
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
- user.visible_message("[user] places the glass on the solar assembly.", "You place the glass on the solar assembly.")
+ user.visible_message(span_notice("[user] places the glass on the solar assembly."), span_notice("You place the glass on the solar assembly."))
if(tracker)
new /obj/machinery/power/tracker(get_turf(src), src)
else
new /obj/machinery/power/solar(get_turf(src), src)
else
- to_chat(user, "You need two sheets of glass to put them into a solar panel!")
+ to_chat(user, span_warning("You need two sheets of glass to put them into a solar panel!"))
return
return TRUE
@@ -272,13 +272,13 @@
return
tracker = TRUE
qdel(W)
- user.visible_message("[user] inserts the electronics into the solar assembly.", "You insert the electronics into the solar assembly.")
+ user.visible_message(span_notice("[user] inserts the electronics into the solar assembly."), span_notice("You insert the electronics into the solar assembly."))
return TRUE
else
if(W.tool_behaviour == TOOL_CROWBAR)
new /obj/item/electronics/tracker(src.loc)
tracker = FALSE
- user.visible_message("[user] takes out the electronics from the solar assembly.", "You take out the electronics from the solar assembly.")
+ user.visible_message(span_notice("[user] takes out the electronics from the solar assembly."), span_notice("You take out the electronics from the solar assembly."))
return TRUE
return ..()
@@ -408,7 +408,7 @@
if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(I.use_tool(src, user, 20, volume=50))
if (src.machine_stat & BROKEN)
- to_chat(user, "The broken glass falls out.")
+ to_chat(user, span_notice("The broken glass falls out."))
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
new /obj/item/shard( src.loc )
var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A )
@@ -420,7 +420,7 @@
A.set_anchored(TRUE)
qdel(src)
else
- to_chat(user, "You disconnect the monitor.")
+ to_chat(user, span_notice("You disconnect the monitor."))
var/obj/structure/frame/computer/A = new /obj/structure/frame/computer( src.loc )
var/obj/item/circuitboard/computer/solar_control/M = new /obj/item/circuitboard/computer/solar_control( A )
for (var/obj/C in src)
diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm
index c5020e9dbda..5dff2a4789d 100644
--- a/code/modules/power/supermatter/supermatter.dm
+++ b/code/modules/power/supermatter/supermatter.dm
@@ -265,7 +265,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
. = ..()
var/immune = HAS_TRAIT(user, TRAIT_SUPERMATTER_MADNESS_IMMUNE) || (user.mind && HAS_TRAIT(user.mind, TRAIT_SUPERMATTER_MADNESS_IMMUNE))
if(isliving(user) && !immune && (get_dist(user, src) < HALLUCINATION_RANGE(power)))
- . += "You get headaches just from looking at it."
+ . += span_danger("You get headaches just from looking at it.")
// SupermatterMonitor UI for ghosts only. Inherited attack_ghost will call this.
/obj/machinery/power/supermatter_crystal/ui_interact(mob/user, datum/tgui/ui)
@@ -413,9 +413,9 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
SEND_SOUND(victim, 'sound/magic/charge.ogg')
if (victim.z != z)
- to_chat(victim, "You hold onto \the [victim.loc] as hard as you can, as reality distorts around you. You feel safe.")
+ to_chat(victim, span_boldannounce("You hold onto \the [victim.loc] as hard as you can, as reality distorts around you. You feel safe."))
continue
- to_chat(victim, "You feel reality distort for a moment...")
+ to_chat(victim, span_boldannounce("You feel reality distort for a moment..."))
SEND_SIGNAL(victim, COMSIG_ADD_MOOD_EVENT, "delam", /datum/mood_event/delam)
@@ -461,7 +461,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(isclosedturf(local_turf))
var/turf/did_it_melt = local_turf.Melt()
if(!isclosedturf(did_it_melt)) //In case some joker finds way to place these on indestructible walls
- visible_message("[src] melts through [local_turf]!")
+ visible_message(span_warning("[src] melts through [local_turf]!"))
return
//We vary volume by power, and handle OH FUCK FUSION IN COOLING LOOP noises.
@@ -814,12 +814,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
var/gain = 100
investigate_log("Supermatter shard consumed by singularity.", INVESTIGATE_SINGULO)
message_admins("Singularity has consumed a supermatter shard and can now become stage six.")
- visible_message("[src] is consumed by the singularity!")
+ visible_message(span_userdanger("[src] is consumed by the singularity!"))
for(var/mob/hearing_mob as anything in GLOB.player_list)
if(hearing_mob.z != z)
continue
SEND_SOUND(hearing_mob, 'sound/effects/supermatter.ogg') //everyone goan know bout this
- to_chat(hearing_mob, "A horrible screeching fills your ears, and a wave of dread washes over you...")
+ to_chat(hearing_mob, span_boldannounce("A horrible screeching fills your ears, and a wave of dread washes over you..."))
qdel(src)
return gain
@@ -829,19 +829,19 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE)
damage += blob.get_integrity() * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us
if(blob.get_integrity() > 100)
- blob.visible_message("\The [blob] strikes at \the [src] and flinches away!",
- "You hear a loud crack as you are washed with a wave of heat.")
+ blob.visible_message(span_danger("\The [blob] strikes at \the [src] and flinches away!"),
+ span_hear("You hear a loud crack as you are washed with a wave of heat."))
blob.take_damage(100, BURN)
else
- blob.visible_message("\The [blob] strikes at \the [src] and rapidly flashes to ash.",
- "You hear a loud crack as you are washed with a wave of heat.")
+ blob.visible_message(span_danger("\The [blob] strikes at \the [src] and rapidly flashes to ash."),
+ span_hear("You hear a loud crack as you are washed with a wave of heat."))
Consume(blob)
/obj/machinery/power/supermatter_crystal/attack_tk(mob/user)
if(!iscarbon(user))
return
var/mob/living/carbon/jedi = user
- to_chat(jedi, "That was a really dense idea.")
+ to_chat(jedi, span_userdanger("That was a really dense idea."))
jedi.ghostize()
var/obj/item/organ/brain/rip_u = locate(/obj/item/organ/brain) in jedi.internal_organs
if(rip_u)
@@ -863,8 +863,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
else
murder = user.attack_verb_continuous
dust_mob(user, \
- "[user] unwisely [murder] [src], and [user.p_their()] body burns brilliantly before flashing into ash!", \
- "You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops.", \
+ span_danger("[user] unwisely [murder] [src], and [user.p_their()] body burns brilliantly before flashing into ash!"), \
+ span_userdanger("You unwisely touch [src], and your vision glows brightly as your body crumbles to dust. Oops."), \
"simple animal attack")
/obj/machinery/power/supermatter_crystal/attack_robot(mob/user)
@@ -889,8 +889,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(!user.is_mouth_covered())
if(user.combat_mode)
dust_mob(user,
- "As [user] tries to take a bite out of [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash.",
- "You try to take a bite out of [src], but find [p_them()] far too hard to get anywhere before everything starts burning and your ears fill with ringing!",
+ span_danger("As [user] tries to take a bite out of [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash."),
+ span_userdanger("You try to take a bite out of [src], but find [p_them()] far too hard to get anywhere before everything starts burning and your ears fill with ringing!"),
"attempted bite"
)
return
@@ -898,8 +898,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
var/obj/item/organ/tongue/licking_tongue = user.getorganslot(ORGAN_SLOT_TONGUE)
if(licking_tongue)
dust_mob(user,
- "As [user] hesitantly leans in and licks [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash!",
- "You tentatively lick [src], but you can't figure out what it tastes like before everything starts burning and your ears fill with ringing!",
+ span_danger("As [user] hesitantly leans in and licks [src] everything goes silent before [user.p_their()] body starts to glow and burst into flames before flashing to ash!"),
+ span_userdanger("You tentatively lick [src], but you can't figure out what it tastes like before everything starts burning and your ears fill with ringing!"),
"attempted lick"
)
return
@@ -907,15 +907,15 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
var/obj/item/bodypart/head/forehead = user.get_bodypart(BODY_ZONE_HEAD)
if(forehead)
dust_mob(user,
- "As [user]'s forehead bumps into [src], inducing a resonance... Everything goes silent before [user.p_their()] [forehead] flashes to ash!",
- "You feel your forehead bump into [src] and everything suddenly goes silent. As your head fills with ringing you come to realize that that was not a wise decision.",
+ span_danger("As [user]'s forehead bumps into [src], inducing a resonance... Everything goes silent before [user.p_their()] [forehead] flashes to ash!"),
+ span_userdanger("You feel your forehead bump into [src] and everything suddenly goes silent. As your head fills with ringing you come to realize that that was not a wise decision."),
"failed lick"
)
return
dust_mob(user,
- "[user] leans in and tries to lick [src], inducing a resonance... [user.p_their()] body starts to glow and burst into flames before flashing into dust!",
- "You lean in and try to lick [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",
+ span_danger("[user] leans in and tries to lick [src], inducing a resonance... [user.p_their()] body starts to glow and burst into flames before flashing into dust!"),
+ span_userdanger("You lean in and try to lick [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\""),
"failed lick"
)
@@ -924,12 +924,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
if(nom.incorporeal_move || nom.status_flags & GODMODE) //try to keep supermatter sliver's + hemostat's dust conditions in sync with this too
return
if(!vis_msg)
- vis_msg = "[nom] reaches out and touches [src], inducing a resonance... [nom.p_their()] body starts to glow and burst into flames before flashing into dust!"
+ vis_msg = span_danger("[nom] reaches out and touches [src], inducing a resonance... [nom.p_their()] body starts to glow and burst into flames before flashing into dust!")
if(!mob_msg)
- mob_msg = "You reach out and touch [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\""
+ mob_msg = span_userdanger("You reach out and touch [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"")
if(!cause)
cause = "contact"
- nom.visible_message(vis_msg, mob_msg, "You hear an unearthly noise as a wave of heat washes over you.")
+ nom.visible_message(vis_msg, mob_msg, span_hear("You hear an unearthly noise as a wave of heat washes over you."))
investigate_log("has been attacked ([cause]) by [key_name(nom)]", INVESTIGATE_SUPERMATTER)
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE)
Consume(nom)
@@ -948,42 +948,42 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
which_hand = BODY_ZONE_R_ARM
var/obj/item/bodypart/dust_arm = user.get_bodypart(which_hand)
dust_arm.dismember()
- user.visible_message("The [item] flashes out of existence on contact with \the [src], resonating with a horrible sound...",\
- "Oops! The [item] flashes out of existence on contact with \the [src], taking your arm with it! That was clumsy of you!")
+ user.visible_message(span_danger("The [item] flashes out of existence on contact with \the [src], resonating with a horrible sound..."),\
+ span_danger("Oops! The [item] flashes out of existence on contact with \the [src], taking your arm with it! That was clumsy of you!"))
playsound(src, 'sound/effects/supermatter.ogg', 150, TRUE)
Consume(dust_arm)
qdel(item)
return
if(cig.lit || user.combat_mode)
- user.visible_message("A hideous sound echoes as [item] is ashed out on contact with \the [src]. That didn't seem like a good idea...")
+ user.visible_message(span_danger("A hideous sound echoes as [item] is ashed out on contact with \the [src]. That didn't seem like a good idea..."))
playsound(src, 'sound/effects/supermatter.ogg', 150, TRUE)
Consume(item)
radiation_pulse(src, 150, 4)
return ..()
else
cig.light()
- user.visible_message("As [user] lights \their [item] on \the [src], silence fills the room...",\
- "Time seems to slow to a crawl as you touch \the [src] with \the [item].\n\The [item] flashes alight with an eerie energy as you nonchalantly lift your hand away from \the [src]. Damn.")
+ user.visible_message(span_danger("As [user] lights \their [item] on \the [src], silence fills the room..."),\
+ span_danger("Time seems to slow to a crawl as you touch \the [src] with \the [item].\n\The [item] flashes alight with an eerie energy as you nonchalantly lift your hand away from \the [src]. Damn."))
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE)
radiation_pulse(src, 50, 3)
return
if(istype(item, /obj/item/scalpel/supermatter))
var/obj/item/scalpel/supermatter/scalpel = item
- to_chat(user, "You carefully begin to scrape \the [src] with \the [item]...")
+ to_chat(user, span_notice("You carefully begin to scrape \the [src] with \the [item]..."))
if(item.use_tool(src, user, 60, volume=100))
if (scalpel.usesLeft)
- to_chat(user, "You extract a sliver from \the [src]. \The [src] begins to react violently!")
+ to_chat(user, span_danger("You extract a sliver from \the [src]. \The [src] begins to react violently!"))
new /obj/item/nuke_core/supermatter_sliver(drop_location())
matter_power += 800
scalpel.usesLeft--
if (!scalpel.usesLeft)
- to_chat(user, "A tiny piece of \the [item] falls off, rendering it useless!")
+ to_chat(user, span_notice("A tiny piece of \the [item] falls off, rendering it useless!"))
else
- to_chat(user, "You fail to extract a sliver from \The [src]! \the [item] isn't sharp enough anymore.")
+ to_chat(user, span_warning("You fail to extract a sliver from \The [src]! \the [item] isn't sharp enough anymore."))
else if(user.dropItemToGround(item))
- user.visible_message("As [user] touches \the [src] with \a [item], silence fills the room...",\
- "You touch \the [src] with \the [item], and everything suddenly goes silent.\n\The [item] flashes into dust as you flinch away from \the [src].",\
- "Everything suddenly goes silent.")
+ user.visible_message(span_danger("As [user] touches \the [src] with \a [item], silence fills the room..."),\
+ span_userdanger("You touch \the [src] with \the [item], and everything suddenly goes silent.\n\The [item] flashes into dust as you flinch away from \the [src]."),\
+ span_hear("Everything suddenly goes silent."))
investigate_log("has been attacked ([item]) by [key_name(user)]", INVESTIGATE_SUPERMATTER)
Consume(item)
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, TRUE)
@@ -991,8 +991,8 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
radiation_pulse(src, 150, 4)
else if(Adjacent(user)) //if the item is stuck to the person, kill the person too instead of eating just the item.
- var/vis_msg = "[user] reaches out and touches [src] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_they(TRUE)] bursts into flames before flashing into dust!"
- var/mob_msg = "You reach out and touch [src] with [item]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\""
+ var/vis_msg = span_danger("[user] reaches out and touches [src] with [item], inducing a resonance... [item] starts to glow briefly before the light continues up to [user]'s body. [user.p_they(TRUE)] bursts into flames before flashing into dust!")
+ var/mob_msg = span_userdanger("You reach out and touch [src] with [item]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"")
dust_mob(user, vis_msg, mob_msg)
/obj/machinery/power/supermatter_crystal/wrench_act(mob/user, obj/item/tool)
@@ -1003,12 +1003,12 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
/obj/machinery/power/supermatter_crystal/Bumped(atom/movable/hit_object)
if(isliving(hit_object))
- hit_object.visible_message("\The [hit_object] slams into \the [src] inducing a resonance... [hit_object.p_their()] body starts to glow and burst into flames before flashing into dust!",
- "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",
- "You hear an unearthly noise as a wave of heat washes over you.")
+ hit_object.visible_message(span_danger("\The [hit_object] slams into \the [src] inducing a resonance... [hit_object.p_their()] body starts to glow and burst into flames before flashing into dust!"),
+ span_userdanger("You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\""),
+ span_hear("You hear an unearthly noise as a wave of heat washes over you."))
else if(isobj(hit_object) && !iseffect(hit_object))
- hit_object.visible_message("\The [hit_object] smacks into \the [src] and rapidly flashes to ash.", null,
- "You hear a loud crack as you are washed with a wave of heat.")
+ hit_object.visible_message(span_danger("\The [hit_object] smacks into \the [src] and rapidly flashes to ash."), null,
+ span_hear("You hear a loud crack as you are washed with a wave of heat."))
else
return
@@ -1048,10 +1048,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal)
for(var/mob/living/near_mob in range(10))
investigate_log("has irradiated [key_name(near_mob)] after consuming [consumed_object].", INVESTIGATE_SUPERMATTER)
if(near_mob in view())
- near_mob.show_message("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns.", MSG_VISUAL,
- "The unearthly ringing subsides and you notice you have new radiation burns.", MSG_AUDIBLE)
+ near_mob.show_message(span_danger("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns."), MSG_VISUAL,
+ span_danger("The unearthly ringing subsides and you notice you have new radiation burns."), MSG_AUDIBLE)
else
- near_mob.show_message("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns.", MSG_AUDIBLE)
+ near_mob.show_message(span_hear("You hear an unearthly ringing and notice your skin is covered in fresh radiation burns."), MSG_AUDIBLE)
//Do not blow up our internal radio
/obj/machinery/power/supermatter_crystal/contents_explosion(severity, target)
return
diff --git a/code/modules/power/terminal.dm b/code/modules/power/terminal.dm
index 0077193b250..a93ec6728bb 100644
--- a/code/modules/power/terminal.dm
+++ b/code/modules/power/terminal.dm
@@ -43,14 +43,14 @@
if(isturf(loc))
var/turf/T = loc
if(T.intact)
- to_chat(user, "You must first expose the power terminal!")
+ to_chat(user, span_warning("You must first expose the power terminal!"))
return
if(master && !master.can_terminal_dismantle())
return
- user.visible_message("[user.name] dismantles the power terminal from [master].",
- "You begin to cut the cables...")
+ user.visible_message(span_notice("[user.name] dismantles the power terminal from [master]."),
+ span_notice("You begin to cut the cables..."))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
if(I.use_tool(src, user, 50))
@@ -62,7 +62,7 @@
return
new /obj/item/stack/cable_coil(drop_location(), 10)
- to_chat(user, "You cut the cables and dismantle the power terminal.")
+ to_chat(user, span_notice("You cut the cables and dismantle the power terminal."))
qdel(src)
/obj/machinery/power/terminal/wirecutter_act(mob/living/user, obj/item/I)
diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm
index a6309ee762c..0a3f89fc011 100644
--- a/code/modules/power/tesla/coil.dm
+++ b/code/modules/power/tesla/coil.dm
@@ -36,7 +36,7 @@
/obj/machinery/power/tesla_coil/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Power generation at [input_power_multiplier*100]%.
Shock interval at [zap_cooldown*0.1] seconds."
+ . += span_notice("The status display reads: Power generation at [input_power_multiplier*100]%.
Shock interval at [zap_cooldown*0.1] seconds.")
/obj/machinery/power/tesla_coil/on_construction()
if(anchored)
diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm
index 071ab29b69a..7261c44b369 100644
--- a/code/modules/power/tesla/energy_ball.dm
+++ b/code/modules/power/tesla/energy_ball.dm
@@ -163,7 +163,7 @@
if(!iscarbon(user))
return
var/mob/living/carbon/jedi = user
- to_chat(jedi, "That was a shockingly dumb idea.")
+ to_chat(jedi, span_userdanger("That was a shockingly dumb idea."))
var/obj/item/organ/brain/rip_u = locate(/obj/item/organ/brain) in jedi.internal_organs
jedi.ghostize(jedi)
if(rip_u)
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 6e636cd53d8..46f12cdf3db 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -57,10 +57,10 @@
/obj/machinery/power/tracker/crowbar_act(mob/user, obj/item/I)
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
- user.visible_message("[user] begins to take the glass off [src].", "You begin to take the glass off [src]...")
+ user.visible_message(span_notice("[user] begins to take the glass off [src]."), span_notice("You begin to take the glass off [src]..."))
if(I.use_tool(src, user, 50))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
- user.visible_message("[user] takes the glass off [src].", "You take the glass off [src].")
+ user.visible_message(span_notice("[user] takes the glass off [src]."), span_notice("You take the glass off [src]."))
deconstruct(TRUE)
return TRUE
diff --git a/code/modules/power/turbine.dm b/code/modules/power/turbine.dm
index d099b5ea0e6..8bcda068fbc 100644
--- a/code/modules/power/turbine.dm
+++ b/code/modules/power/turbine.dm
@@ -97,7 +97,7 @@
/obj/machinery/power/compressor/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Efficiency at [efficiency*100]%."
+ . += span_notice("The status display reads: Efficiency at [efficiency*100]%.")
/obj/machinery/power/compressor/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, initial(icon_state), initial(icon_state), I))
@@ -108,10 +108,10 @@
inturf = get_step(src, dir)
locate_machinery()
if(turbine)
- to_chat(user, "Turbine connected.")
+ to_chat(user, span_notice("Turbine connected."))
set_machine_stat(machine_stat & ~BROKEN)
else
- to_chat(user, "Turbine not connected.")
+ to_chat(user, span_alert("Turbine not connected."))
obj_break()
return
@@ -183,7 +183,7 @@
/obj/machinery/power/turbine/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Productivity at [productivity*100]%."
+ . += span_notice("The status display reads: Productivity at [productivity*100]%.")
/obj/machinery/power/turbine/locate_machinery()
if(compressor)
@@ -238,10 +238,10 @@
outturf = get_step(src, dir)
locate_machinery()
if(compressor)
- to_chat(user, "Compressor connected.")
+ to_chat(user, span_notice("Compressor connected."))
set_machine_stat(machine_stat & ~BROKEN)
else
- to_chat(user, "Compressor not connected.")
+ to_chat(user, span_alert("Compressor not connected."))
obj_break()
return
diff --git a/code/modules/projectiles/ammunition/_ammunition.dm b/code/modules/projectiles/ammunition/_ammunition.dm
index cdcaf34dc7c..79bb0252798 100644
--- a/code/modules/projectiles/ammunition/_ammunition.dm
+++ b/code/modules/projectiles/ammunition/_ammunition.dm
@@ -70,9 +70,9 @@
var/list/readout = list("")
// No dividing by 0
if(loaded_projectile.damage > 0)
- readout += "Most monkeys our legal team subjected to these rounds succumbed to their wounds after [round(100 / (loaded_projectile.damage * pellets), 0.1)] discharge\s at point-blank, taking [pellets] shot\s per round"
+ readout += "Most monkeys our legal team subjected to these rounds succumbed to their wounds after [span_warning("[round(100 / (loaded_projectile.damage * pellets), 0.1)]")] discharge\s at point-blank, taking [span_warning("[pellets]")] shot\s per round"
if(loaded_projectile.stamina > 0)
- readout += "[loaded_projectile.damage == 0 ? "Most Monkeys" : "More Fortunate Monkeys" ] collapsed from exhaustion after [round(100 / ((loaded_projectile.damage + loaded_projectile.stamina) * pellets), 0.1)] of these rounds"
+ readout += "[loaded_projectile.damage == 0 ? "Most Monkeys" : "More Fortunate Monkeys" ] collapsed from exhaustion after [span_warning("[round(100 / ((loaded_projectile.damage + loaded_projectile.stamina) * pellets), 0.1)]")] of these rounds"
if(loaded_projectile.damage == 0 && loaded_projectile.stamina == 0)
return "Our legal team has determined the offensive nature of these rounds to be esoteric"
return readout.Join("\n") // Sending over a single string, rather than the whole list
@@ -120,9 +120,9 @@
continue
if (boolets > 0)
box.update_appearance()
- to_chat(user, "You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s.")
+ to_chat(user, span_notice("You collect [boolets] shell\s. [box] now contains [box.stored_ammo.len] shell\s."))
else
- to_chat(user, "You fail to collect anything!")
+ to_chat(user, span_warning("You fail to collect anything!"))
else
return ..()
diff --git a/code/modules/projectiles/ammunition/caseless/foam.dm b/code/modules/projectiles/ammunition/caseless/foam.dm
index b9f3ffb574a..32e19e49c9a 100644
--- a/code/modules/projectiles/ammunition/caseless/foam.dm
+++ b/code/modules/projectiles/ammunition/caseless/foam.dm
@@ -29,7 +29,7 @@
modified = TRUE
FD.modified = TRUE
FD.damage_type = BRUTE
- to_chat(user, "You pop the safety cap off [src].")
+ to_chat(user, span_notice("You pop the safety cap off [src]."))
update_appearance()
else if (istype(A, /obj/item/pen))
if(modified)
@@ -40,11 +40,11 @@
FD.pen = A
FD.damage = 5
FD.nodamage = FALSE
- to_chat(user, "You insert [A] into [src].")
+ to_chat(user, span_notice("You insert [A] into [src]."))
else
- to_chat(user, "There's already something in [src].")
+ to_chat(user, span_warning("There's already something in [src]."))
else
- to_chat(user, "The safety cap prevents you from inserting [A] into [src].")
+ to_chat(user, span_warning("The safety cap prevents you from inserting [A] into [src]."))
else
return ..()
@@ -54,7 +54,7 @@
FD.damage = initial(FD.damage)
FD.nodamage = initial(FD.nodamage)
user.put_in_hands(FD.pen)
- to_chat(user, "You remove [FD.pen] from [src].")
+ to_chat(user, span_notice("You remove [FD.pen] from [src]."))
FD.pen = null
/obj/item/ammo_casing/caseless/foam_dart/riot
diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm
index d631fdb500c..c41972d7b3e 100644
--- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm
+++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm
@@ -123,7 +123,7 @@
if(num_loaded)
if(!silent)
- to_chat(user, "You load [num_loaded] shell\s into \the [src]!")
+ to_chat(user, span_notice("You load [num_loaded] shell\s into \the [src]!"))
playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE)
update_ammo_count()
@@ -138,7 +138,7 @@
if(!user.is_holding(src) || !user.put_in_hands(A)) //incase they're using TK
A.bounce_away(FALSE, NONE)
playsound(src, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE)
- to_chat(user, "You remove a round from [src]!")
+ to_chat(user, span_notice("You remove a round from [src]!"))
update_ammo_count()
/// Updates the materials and appearance of this ammo box
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index e2001a43e6a..e3bc5e5b24d 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -126,21 +126,21 @@
. = ..()
if(pin)
. += "It has \a [pin] installed."
- . += "[pin] looks like it could be removed with some tools."
+ . += span_info("[pin] looks like it could be removed with some tools.")
else
. += "It doesn't have a firing pin installed, and won't fire."
if(gun_light)
. += "It has \a [gun_light] [can_flashlight ? "" : "permanently "]mounted on it."
if(can_flashlight) //if it has a light and this is false, the light is permanent.
- . += "[gun_light] looks like it can be unscrewed from [src]."
+ . += span_info("[gun_light] looks like it can be unscrewed from [src].")
else if(can_flashlight)
. += "It has a mounting point for a seclite."
if(bayonet)
. += "It has \a [bayonet] [can_bayonet ? "" : "permanently "]affixed to it."
if(can_bayonet) //if it has a bayonet and this is false, the bayonet is permanent.
- . += "[bayonet] looks like it can be unscrewed from [src]."
+ . += span_info("[bayonet] looks like it can be unscrewed from [src].")
if(can_bayonet)
. += "It has a bayonet lug on it."
@@ -159,7 +159,7 @@
return TRUE
/obj/item/gun/proc/shoot_with_empty_chamber(mob/living/user as mob|obj)
- to_chat(user, "*click*")
+ to_chat(user, span_danger("*click*"))
playsound(src, dry_fire_sound, 30, TRUE)
@@ -173,18 +173,18 @@
playsound(user, fire_sound, fire_sound_volume, vary_fire_sound)
if(message)
if(pointblank)
- user.visible_message("[user] fires [src] point blank at [pbtarget]!", \
- "You fire [src] point blank at [pbtarget]!", \
- "You hear a gunshot!", COMBAT_MESSAGE_RANGE, pbtarget)
- to_chat(pbtarget, "[user] fires [src] point blank at you!")
+ user.visible_message(span_danger("[user] fires [src] point blank at [pbtarget]!"), \
+ span_danger("You fire [src] point blank at [pbtarget]!"), \
+ span_hear("You hear a gunshot!"), COMBAT_MESSAGE_RANGE, pbtarget)
+ to_chat(pbtarget, span_userdanger("[user] fires [src] point blank at you!"))
if(pb_knockback > 0 && ismob(pbtarget))
var/mob/PBT = pbtarget
var/atom/throw_target = get_edge_target_turf(PBT, user.dir)
PBT.throw_at(throw_target, pb_knockback, 2)
else
- user.visible_message("[user] fires [src]!", \
- "You fire [src]!", \
- "You hear a gunshot!", COMBAT_MESSAGE_RANGE)
+ user.visible_message(span_danger("[user] fires [src]!"), \
+ span_danger("You fire [src]!"), \
+ span_hear("You hear a gunshot!"), COMBAT_MESSAGE_RANGE)
/obj/item/gun/emp_act(severity)
. = ..()
@@ -194,10 +194,10 @@
/obj/item/gun/attack_secondary(mob/living/victim, mob/living/user, params)
if (user.GetComponent(/datum/component/gunpoint))
- to_chat(user, "You are already holding someone up!")
+ to_chat(user, span_warning("You are already holding someone up!"))
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
if (user == victim)
- to_chat(user,"You can't hold yourself up!")
+ to_chat(user,span_warning("You can't hold yourself up!"))
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
user.AddComponent(/datum/component/gunpoint, victim, src)
@@ -242,7 +242,7 @@
var/obj/item/bodypart/other_hand = user.has_hand_for_held_index(user.get_inactive_hand_index()) //returns non-disabled inactive hands
if(weapon_weight == WEAPON_HEAVY && (user.get_inactive_held_item() || !other_hand))
- to_chat(user, "You need two hands to fire [src]!")
+ to_chat(user, span_warning("You need two hands to fire [src]!"))
return
//DUAL (or more!) WIELDING
var/bonus_spread = 0
@@ -263,7 +263,7 @@
if(clumsy_check)
if(istype(user))
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40))
- to_chat(user, "You shoot yourself in the foot with [src]!")
+ to_chat(user, span_userdanger("You shoot yourself in the foot with [src]!"))
var/shot_leg = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)
process_fire(user, user, FALSE, params, shot_leg)
SEND_SIGNAL(user, COMSIG_MOB_CLUMSY_SHOOT_FOOT)
@@ -283,7 +283,7 @@
pin.auth_fail(user)
return FALSE
else
- to_chat(user, "[src]'s trigger is locked. This weapon doesn't have a firing pin installed!")
+ to_chat(user, span_warning("[src]'s trigger is locked. This weapon doesn't have a firing pin installed!"))
return FALSE
/obj/item/gun/proc/recharge_newshot()
@@ -300,7 +300,7 @@
if(chambered?.loaded_projectile)
if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal.
if(chambered.harmful) // Is the bullet chambered harmful?
- to_chat(user, "[src] is lethally chambered! You don't want to risk harming anyone...")
+ to_chat(user, span_warning("[src] is lethally chambered! You don't want to risk harming anyone..."))
return
if(randomspread)
sprd = round((rand(0, 1) - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread))
@@ -358,7 +358,7 @@
if(chambered)
if(HAS_TRAIT(user, TRAIT_PACIFISM)) // If the user has the pacifist trait, then they won't be able to fire [src] if the round chambered inside of [src] is lethal.
if(chambered.harmful) // Is the bullet chambered harmful?
- to_chat(user, "[src] is lethally chambered! You don't want to risk harming anyone...")
+ to_chat(user, span_warning("[src] is lethally chambered! You don't want to risk harming anyone..."))
return
sprd = round((rand(0, 1) - 0.5) * DUALWIELD_PENALTY_EXTRA_MULTIPLIER * (randomized_gun_spread + randomized_bonus_spread))
before_firing(target,user)
@@ -413,7 +413,7 @@
if(!gun_light)
if(!user.transferItemToLoc(I, src))
return
- to_chat(user, "You click [S] into place on [src].")
+ to_chat(user, span_notice("You click [S] into place on [src]."))
set_gun_light(S)
update_gunlight()
alight = new(src)
@@ -425,7 +425,7 @@
return ..()
if(!user.transferItemToLoc(I, src))
return
- to_chat(user, "You attach [K] to [src]'s bayonet lug.")
+ to_chat(user, span_notice("You attach [K] to [src]'s bayonet lug."))
bayonet = K
update_appearance()
@@ -452,13 +452,13 @@
return remove_gun_attachment(user, I, bayonet, "unfix")
else if(pin && user.is_holding(src))
- user.visible_message("[user] attempts to remove [pin] from [src] with [I].",
- "You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)", null, 3)
+ user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."),
+ span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3)
if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, volume = 50))
if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay
return
- user.visible_message("[pin] is pried out of [src] by [user], destroying the pin in the process.",
- "You pry [pin] out with [I], destroying the pin in the process.", null, 3)
+ user.visible_message(span_notice("[pin] is pried out of [src] by [user], destroying the pin in the process."),
+ span_warning("You pry [pin] out with [I], destroying the pin in the process."), null, 3)
QDEL_NULL(pin)
return TRUE
@@ -469,13 +469,13 @@
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
if(pin && user.is_holding(src))
- user.visible_message("[user] attempts to remove [pin] from [src] with [I].",
- "You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)", null, 3)
+ user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."),
+ span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3)
if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, 5, volume = 50))
if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay
return
- user.visible_message("[pin] is spliced out of [src] by [user], melting part of the pin in the process.",
- "You splice [pin] out of [src] with [I], melting part of the pin in the process.", null, 3)
+ user.visible_message(span_notice("[pin] is spliced out of [src] by [user], melting part of the pin in the process."),
+ span_warning("You splice [pin] out of [src] with [I], melting part of the pin in the process."), null, 3)
QDEL_NULL(pin)
return TRUE
@@ -486,20 +486,20 @@
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
return
if(pin && user.is_holding(src))
- user.visible_message("[user] attempts to remove [pin] from [src] with [I].",
- "You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)", null, 3)
+ user.visible_message(span_warning("[user] attempts to remove [pin] from [src] with [I]."),
+ span_notice("You attempt to remove [pin] from [src]. (It will take [DisplayTimeText(FIRING_PIN_REMOVAL_DELAY)].)"), null, 3)
if(I.use_tool(src, user, FIRING_PIN_REMOVAL_DELAY, volume = 50))
if(!pin) //check to see if the pin is still there, or we can spam messages by clicking multiple times during the tool delay
return
- user.visible_message("[pin] is ripped out of [src] by [user], mangling the pin in the process.",
- "You rip [pin] out of [src] with [I], mangling the pin in the process.", null, 3)
+ user.visible_message(span_notice("[pin] is ripped out of [src] by [user], mangling the pin in the process."),
+ span_warning("You rip [pin] out of [src] with [I], mangling the pin in the process."), null, 3)
QDEL_NULL(pin)
return TRUE
/obj/item/gun/proc/remove_gun_attachment(mob/living/user, obj/item/tool_item, obj/item/item_to_remove, removal_verb)
if(tool_item)
tool_item.play_tool_sound(src)
- to_chat(user, "You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src].")
+ to_chat(user, span_notice("You [removal_verb ? removal_verb : "remove"] [item_to_remove] from [src]."))
item_to_remove.forceMove(drop_location())
if(Adjacent(user) && !issilicon(user))
@@ -569,7 +569,7 @@
var/mob/living/carbon/human/user = usr
gun_light.on = !gun_light.on
gun_light.update_brightness()
- to_chat(user, "You toggle the gunlight [gun_light.on ? "on":"off"].")
+ to_chat(user, span_notice("You toggle the gunlight [gun_light.on ? "on":"off"]."))
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_gunlight()
@@ -623,26 +623,26 @@
return
if(user == target)
- target.visible_message("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...", \
- "You stick [src] in your mouth, ready to pull the trigger...")
+ target.visible_message(span_warning("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger..."), \
+ span_userdanger("You stick [src] in your mouth, ready to pull the trigger..."))
else
- target.visible_message("[user] points [src] at [target]'s head, ready to pull the trigger...", \
- "[user] points [src] at your head, ready to pull the trigger...")
+ target.visible_message(span_warning("[user] points [src] at [target]'s head, ready to pull the trigger..."), \
+ span_userdanger("[user] points [src] at your head, ready to pull the trigger..."))
semicd = TRUE
if(!bypass_timer && (!do_mob(user, target, 120) || user.zone_selected != BODY_ZONE_PRECISE_MOUTH))
if(user)
if(user == target)
- user.visible_message("[user] decided not to shoot.")
+ user.visible_message(span_notice("[user] decided not to shoot."))
else if(target?.Adjacent(user))
- target.visible_message("[user] has decided to spare [target]", "[user] has decided to spare your life!")
+ target.visible_message(span_notice("[user] has decided to spare [target]"), span_notice("[user] has decided to spare your life!"))
semicd = FALSE
return
semicd = FALSE
- target.visible_message("[user] pulls the trigger!", "[(user == target) ? "You pull" : "[user] pulls"] the trigger!")
+ target.visible_message(span_warning("[user] pulls the trigger!"), span_userdanger("[(user == target) ? "You pull" : "[user] pulls"] the trigger!"))
if(chambered?.loaded_projectile)
chambered.loaded_projectile.damage *= 5
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index b14bd0810fc..f55948c50e8 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -142,7 +142,7 @@
*/
/obj/item/gun/ballistic/proc/add_notes_ballistic()
if(magazine) // Make sure you have a magazine, thats where the warning is!
- return "\nBe especially careful around this device, as it can be loaded with [magazine.caliber] rounds, which you can inspect for more information."
+ return "\nBe especially careful around this device, as it can be loaded with [span_warning("[magazine.caliber]")] rounds, which you can inspect for more information."
else
return "\nThe warning attached to the magazine is missing..."
@@ -242,11 +242,11 @@
if (bolt_type == BOLT_TYPE_OPEN)
if(!bolt_locked) //If it's an open bolt, racking again would do nothing
if (user)
- to_chat(user, "\The [src]'s [bolt_wording] is already cocked!")
+ to_chat(user, span_notice("\The [src]'s [bolt_wording] is already cocked!"))
return
bolt_locked = FALSE
if (user)
- to_chat(user, "You rack the [bolt_wording] of \the [src].")
+ to_chat(user, span_notice("You rack the [bolt_wording] of \the [src]."))
process_chamber(!chambered, FALSE)
if (bolt_type == BOLT_TYPE_LOCKING && !chambered)
bolt_locked = TRUE
@@ -259,7 +259,7 @@
/obj/item/gun/ballistic/proc/drop_bolt(mob/user = null)
playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE)
if (user)
- to_chat(user, "You drop the [bolt_wording] of \the [src].")
+ to_chat(user, span_notice("You drop the [bolt_wording] of \the [src]."))
chamber_round()
bolt_locked = FALSE
update_appearance()
@@ -267,19 +267,19 @@
///Handles all the logic needed for magazine insertion
/obj/item/gun/ballistic/proc/insert_magazine(mob/user, obj/item/ammo_box/magazine/AM, display_message = TRUE)
if(!istype(AM, mag_type))
- to_chat(user, "\The [AM] doesn't seem to fit into \the [src]...")
+ to_chat(user, span_warning("\The [AM] doesn't seem to fit into \the [src]..."))
return FALSE
if(user.transferItemToLoc(AM, src))
magazine = AM
if (display_message)
- to_chat(user, "You load a new [magazine_wording] into \the [src].")
+ to_chat(user, span_notice("You load a new [magazine_wording] into \the [src]."))
playsound(src, load_empty_sound, load_sound_volume, load_sound_vary)
if (bolt_type == BOLT_TYPE_OPEN && !bolt_locked)
chamber_round(TRUE)
update_appearance()
return TRUE
else
- to_chat(user, "You cannot seem to get \the [src] out of your hands!")
+ to_chat(user, span_warning("You cannot seem to get \the [src] out of your hands!"))
return FALSE
///Handles all the logic of magazine ejection, if tac_load is set that magazine will be tacloaded in the place of the old eject
@@ -294,16 +294,16 @@
var/obj/item/ammo_box/magazine/old_mag = magazine
if (tac_load)
if (insert_magazine(user, tac_load, FALSE))
- to_chat(user, "You perform a tactical reload on \the [src].")
+ to_chat(user, span_notice("You perform a tactical reload on \the [src]."))
else
- to_chat(user, "You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing.")
+ to_chat(user, span_warning("You dropped the old [magazine_wording], but the new one doesn't fit. How embarassing."))
magazine = null
else
magazine = null
user.put_in_hands(old_mag)
old_mag.update_appearance()
if (display_message)
- to_chat(user, "You pull the [magazine_wording] out of \the [src].")
+ to_chat(user, span_notice("You pull the [magazine_wording] out of \the [src]."))
update_appearance()
/obj/item/gun/ballistic/can_shoot()
@@ -321,7 +321,7 @@
if (tac_reloads)
eject_magazine(user, FALSE, AM)
else
- to_chat(user, "There's already a [magazine_wording] in \the [src].")
+ to_chat(user, span_notice("There's already a [magazine_wording] in \the [src]."))
return
if (istype(A, /obj/item/ammo_casing) || istype(A, /obj/item/ammo_box))
if (bolt_type == BOLT_TYPE_NO_BOLT || internal_magazine)
@@ -330,7 +330,7 @@
chambered = null
var/num_loaded = magazine?.attackby(A, user, params, TRUE)
if (num_loaded)
- to_chat(user, "You load [num_loaded] [cartridge_wording]\s into \the [src].")
+ to_chat(user, span_notice("You load [num_loaded] [cartridge_wording]\s into \the [src]."))
playsound(src, load_sound, load_sound_volume, load_sound_vary)
if (chambered == null && bolt_type == BOLT_TYPE_NO_BOLT)
chamber_round()
@@ -340,16 +340,16 @@
if(istype(A, /obj/item/suppressor))
var/obj/item/suppressor/S = A
if(!can_suppress)
- to_chat(user, "You can't seem to figure out how to fit [S] on [src]!")
+ to_chat(user, span_warning("You can't seem to figure out how to fit [S] on [src]!"))
return
if(!user.is_holding(src))
- to_chat(user, "You need be holding [src] to fit [S] to it!")
+ to_chat(user, span_warning("You need be holding [src] to fit [S] to it!"))
return
if(suppressed)
- to_chat(user, "[src] already has a suppressor!")
+ to_chat(user, span_warning("[src] already has a suppressor!"))
return
if(user.transferItemToLoc(A, src))
- to_chat(user, "You screw \the [S] onto \the [src].")
+ to_chat(user, span_notice("You screw \the [S] onto \the [src]."))
install_suppressor(A)
return
if (can_be_sawn_off)
@@ -367,7 +367,7 @@
if(magazine && chambered.loaded_projectile && can_misfire && misfire_probability > 0)
if(prob(misfire_probability))
if(blow_up(user))
- to_chat(user, "[src] misfires!")
+ to_chat(user, span_userdanger("[src] misfires!"))
if (sawn_off)
bonus_spread += SAWN_OFF_ACC_PENALTY
@@ -403,7 +403,7 @@
var/obj/item/suppressor/S = suppressed
if(!user.is_holding(src))
return ..()
- to_chat(user, "You unscrew \the [S] from \the [src].")
+ to_chat(user, span_notice("You unscrew \the [S] from \the [src]."))
user.put_in_hands(S)
clear_suppressor()
@@ -441,13 +441,13 @@
if(HAS_TRAIT(user, TRAIT_GUNFLIP))
if(flip_cooldown <= world.time)
if(HAS_TRAIT(user, TRAIT_CLUMSY) && prob(40))
- to_chat(user, "While trying to flip the [src] you pull the trigger and accidently shoot yourself!")
+ to_chat(user, span_userdanger("While trying to flip the [src] you pull the trigger and accidently shoot yourself!"))
var/flip_mistake = pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_CHEST)
process_fire(user, user, FALSE, flip_mistake)
user.dropItemToGround(src, TRUE)
return
flip_cooldown = (world.time + 30)
- user.visible_message("[user] spins the [src] around their finger by the trigger. That’s pretty badass.")
+ user.visible_message(span_notice("[user] spins the [src] around their finger by the trigger. That’s pretty badass."))
playsound(src, 'sound/items/handling/ammobox_pickup.ogg', 20, FALSE)
if(!internal_magazine && magazine)
if(!magazine.ammo_count())
@@ -464,11 +464,11 @@
if(T && is_station_level(T.z))
SSblackbox.record_feedback("tally", "station_mess_created", 1, CB.name)
if (num_unloaded)
- to_chat(user, "You unload [num_unloaded] [cartridge_wording]\s from [src].")
+ to_chat(user, span_notice("You unload [num_unloaded] [cartridge_wording]\s from [src]."))
playsound(user, eject_sound, eject_sound_volume, eject_sound_vary)
update_appearance()
else
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return
if(bolt_type == BOLT_TYPE_LOCKING && bolt_locked)
drop_bolt(user)
@@ -492,9 +492,9 @@
if (suppressed)
. += "It has a suppressor attached that can be removed with alt+click."
if(can_misfire)
- . += "You get the feeling this might explode if you fire it...."
+ . += span_danger("You get the feeling this might explode if you fire it....")
if(misfire_probability > 0)
- . += "Given the state of the gun, there is a [misfire_probability]% chance it'll misfire."
+ . += span_danger("Given the state of the gun, there is a [misfire_probability]% chance it'll misfire.")
///Gets the number of bullets in the gun
/obj/item/gun/ballistic/proc/get_ammo(countchambered = TRUE)
@@ -521,12 +521,12 @@
/obj/item/gun/ballistic/suicide_act(mob/user)
var/obj/item/organ/brain/B = user.getorganslot(ORGAN_SLOT_BRAIN)
if (B && chambered && chambered.loaded_projectile && can_trigger_gun(user) && !chambered.loaded_projectile.nodamage)
- user.visible_message("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!"))
sleep(25)
if(user.is_holding(src))
var/turf/T = get_turf(user)
process_fire(user, user, FALSE, null, BODY_ZONE_HEAD)
- user.visible_message("[user] blows [user.p_their()] brain[user.p_s()] out with [src]!")
+ user.visible_message(span_suicide("[user] blows [user.p_their()] brain[user.p_s()] out with [src]!"))
var/turf/target = get_ranged_target_turf(user, turn(user.dir, 180), BRAINS_BLOWN_THROW_RANGE)
B.Remove(user)
B.forceMove(T)
@@ -534,10 +534,10 @@
B.throw_at(target, BRAINS_BLOWN_THROW_RANGE, BRAINS_BLOWN_THROW_SPEED, callback=gibspawner)
return(BRUTELOSS)
else
- user.visible_message("[user] panics and starts choking to death!")
+ user.visible_message(span_suicide("[user] panics and starts choking to death!"))
return(OXYLOSS)
else
- user.visible_message("[user] is pretending to blow [user.p_their()] brain[user.p_s()] out with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is pretending to blow [user.p_their()] brain[user.p_s()] out with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(src, dry_fire_sound, 30, TRUE)
return (OXYLOSS)
#undef BRAINS_BLOWN_THROW_SPEED
@@ -554,23 +554,23 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
if(!saw.get_sharpness() || (!is_type_in_typecache(saw, GLOB.gun_saw_types) && saw.tool_behaviour != TOOL_SAW)) //needs to be sharp. Otherwise turned off eswords can cut this.
return
if(sawn_off)
- to_chat(user, "\The [src] is already shortened!")
+ to_chat(user, span_warning("\The [src] is already shortened!"))
return
if(bayonet)
- to_chat(user, "You cannot saw-off \the [src] with \the [bayonet] attached!")
+ to_chat(user, span_warning("You cannot saw-off \the [src] with \the [bayonet] attached!"))
return
user.changeNext_move(CLICK_CD_MELEE)
- user.visible_message("[user] begins to shorten \the [src].", "You begin to shorten \the [src]...")
+ user.visible_message(span_notice("[user] begins to shorten \the [src]."), span_notice("You begin to shorten \the [src]..."))
//if there's any live ammo inside the gun, makes it go off
if(blow_up(user))
- user.visible_message("\The [src] goes off!", "\The [src] goes off in your face!")
+ user.visible_message(span_danger("\The [src] goes off!"), span_danger("\The [src] goes off in your face!"))
return
if(do_after(user, 30, target = src))
if(sawn_off)
return
- user.visible_message("[user] shortens \the [src]!", "You shorten \the [src].")
+ user.visible_message(span_notice("[user] shortens \the [src]!"), span_notice("You shorten \the [src]."))
name = "sawn-off [src.name]"
desc = sawn_desc
w_class = WEIGHT_CLASS_NORMAL
@@ -590,22 +590,22 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
/obj/item/gun/ballistic/proc/guncleaning(mob/user, /obj/item/A)
if(misfire_probability == 0)
- to_chat(user, "\The [src] seems to be already clean of fouling.")
+ to_chat(user, span_notice("\The [src] seems to be already clean of fouling."))
return
user.changeNext_move(CLICK_CD_MELEE)
- user.visible_message("[user] begins to cleaning \the [src].", "You begin to clean the internals of \the [src].")
+ user.visible_message(span_notice("[user] begins to cleaning \the [src]."), span_notice("You begin to clean the internals of \the [src]."))
if(do_after(user, 100, target = src))
var/original_misfire_value = initial(misfire_probability)
if(misfire_probability > original_misfire_value)
misfire_probability = original_misfire_value
- user.visible_message("[user] cleans \the [src] of any fouling.", "You clean \the [src], removing any fouling, preventing misfire.")
+ user.visible_message(span_notice("[user] cleans \the [src] of any fouling."), span_notice("You clean \the [src], removing any fouling, preventing misfire."))
return TRUE
/obj/item/gun/ballistic/wrench_act(mob/living/user, obj/item/I)
if(!user.is_holding(src))
- to_chat(user, "You need to hold [src] to modify it.")
+ to_chat(user, span_notice("You need to hold [src] to modify it."))
return TRUE
if(!can_modify_ammo)
@@ -613,20 +613,20 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
if(bolt_type == BOLT_TYPE_STANDARD)
if(get_ammo())
- to_chat(user, "You can't get at the internals while the gun has a bullet in it!")
+ to_chat(user, span_notice("You can't get at the internals while the gun has a bullet in it!"))
return
else if(!bolt_locked)
- to_chat(user, "You can't get at the internals while the bolt is down!")
+ to_chat(user, span_notice("You can't get at the internals while the bolt is down!"))
return
- to_chat(user, "You begin to tinker with [src]...")
+ to_chat(user, span_notice("You begin to tinker with [src]..."))
I.play_tool_sound(src)
if(!I.use_tool(src, user, 3 SECONDS))
return TRUE
if(blow_up(user))
- user.visible_message("\The [src] goes off!", "\The [src] goes off in your face!")
+ user.visible_message(span_danger("\The [src] goes off!"), span_danger("\The [src] goes off in your face!"))
return
if(magazine.caliber == initial_caliber)
@@ -634,13 +634,13 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list(
if(alternative_ammo_misfires)
can_misfire = TRUE
fire_sound = alternative_fire_sound
- to_chat(user, "You modify [src]. Now it will fire [alternative_caliber] rounds.")
+ to_chat(user, span_notice("You modify [src]. Now it will fire [alternative_caliber] rounds."))
else
magazine.caliber = initial_caliber
if(alternative_ammo_misfires)
can_misfire = FALSE
fire_sound = initial_fire_sound
- to_chat(user, "You reset [src]. Now it will fire [initial_caliber] rounds.")
+ to_chat(user, span_notice("You reset [src]. Now it will fire [initial_caliber] rounds."))
///used for sawing guns, causes the gun to fire without the input of the user
diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm
index a2584ef2c10..2f3f3aa36e1 100644
--- a/code/modules/projectiles/guns/ballistic/automatic.dm
+++ b/code/modules/projectiles/guns/ballistic/automatic.dm
@@ -36,11 +36,11 @@
if(!select)
burst_size = 1
fire_delay = 0
- to_chat(user, "You switch to semi-automatic.")
+ to_chat(user, span_notice("You switch to semi-automatic."))
else
burst_size = initial(burst_size)
fire_delay = initial(fire_delay)
- to_chat(user, "You switch to [burst_size]-round burst.")
+ to_chat(user, span_notice("You switch to [burst_size]-round burst."))
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_appearance()
@@ -203,12 +203,12 @@
select = 1
burst_size = initial(burst_size)
fire_delay = initial(fire_delay)
- to_chat(user, "You switch to [burst_size]-rnd burst.")
+ to_chat(user, span_notice("You switch to [burst_size]-rnd burst."))
if(1)
select = 0
burst_size = 1
fire_delay = 0
- to_chat(user, "You switch to semi-auto.")
+ to_chat(user, span_notice("You switch to semi-auto."))
playsound(user, 'sound/weapons/empty.ogg', 100, TRUE)
update_appearance()
return
@@ -285,14 +285,14 @@
. = ..()
. += "alt + click to [cover_open ? "close" : "open"] the dust cover."
if(cover_open && magazine)
- . += "It seems like you could use an empty hand to remove the magazine."
+ . += span_notice("It seems like you could use an empty hand to remove the magazine.")
/obj/item/gun/ballistic/automatic/l6_saw/AltClick(mob/user)
if(!user.canUseTopic(src))
return
cover_open = !cover_open
- to_chat(user, "You [cover_open ? "open" : "close"] [src]'s cover.")
+ to_chat(user, span_notice("You [cover_open ? "open" : "close"] [src]'s cover."))
playsound(src, 'sound/weapons/gun/l6/l6_door.ogg', 60, TRUE)
update_appearance()
@@ -307,7 +307,7 @@
/obj/item/gun/ballistic/automatic/l6_saw/afterattack(atom/target as mob|obj|turf, mob/living/user as mob|obj, flag, params)
if(cover_open)
- to_chat(user, "[src]'s cover is open! Close it before firing!")
+ to_chat(user, span_warning("[src]'s cover is open! Close it before firing!"))
return
else
. = ..()
@@ -319,13 +319,13 @@
..()
return
if (!cover_open)
- to_chat(user, "[src]'s cover is closed! Open it before trying to remove the magazine!")
+ to_chat(user, span_warning("[src]'s cover is closed! Open it before trying to remove the magazine!"))
return
..()
/obj/item/gun/ballistic/automatic/l6_saw/attackby(obj/item/A, mob/user, params)
if(!cover_open && istype(A, mag_type))
- to_chat(user, "[src]'s dust cover prevents a magazine from being fit.")
+ to_chat(user, span_warning("[src]'s dust cover prevents a magazine from being fit."))
return
..()
diff --git a/code/modules/projectiles/guns/ballistic/launchers.dm b/code/modules/projectiles/guns/ballistic/launchers.dm
index 558157a6ad5..c94766c98b9 100644
--- a/code/modules/projectiles/guns/ballistic/launchers.dm
+++ b/code/modules/projectiles/guns/ballistic/launchers.dm
@@ -86,8 +86,8 @@
return //too difficult to remove the rocket with TK
/obj/item/gun/ballistic/rocketlauncher/suicide_act(mob/living/user)
- user.visible_message("[user] aims [src] at the ground! It looks like [user.p_theyre()] performing a sick rocket jump!", \
- "You aim [src] at the ground to perform a bisnasty rocket jump...")
+ user.visible_message(span_warning("[user] aims [src] at the ground! It looks like [user.p_theyre()] performing a sick rocket jump!"), \
+ span_userdanger("You aim [src] at the ground to perform a bisnasty rocket jump..."))
if(can_shoot())
user.notransform = TRUE
playsound(src, 'sound/vehicles/rocketlaunch.ogg', 80, TRUE, 5)
@@ -104,7 +104,7 @@
sleep(5)
shoot_with_empty_chamber(user)
sleep(20)
- user.visible_message("[user] looks about the room realizing [user.p_theyre()] still there. [user.p_they(TRUE)] proceed to shove [src] down their throat and choke [user.p_them()]self with it!", \
- "You look around after realizing you're still here, then proceed to choke yourself to death with [src]!")
+ user.visible_message(span_warning("[user] looks about the room realizing [user.p_theyre()] still there. [user.p_they(TRUE)] proceed to shove [src] down their throat and choke [user.p_them()]self with it!"), \
+ span_userdanger("You look around after realizing you're still here, then proceed to choke yourself to death with [src]!"))
sleep(20)
return OXYLOSS
diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm
index 4ba65457a0b..7013790b98d 100644
--- a/code/modules/projectiles/guns/ballistic/pistol.dm
+++ b/code/modules/projectiles/guns/ballistic/pistol.dm
@@ -90,12 +90,12 @@
/obj/item/gun/ballistic/automatic/pistol/stickman/pickup(mob/living/user)
SHOULD_CALL_PARENT(FALSE)
- to_chat(user, "As you try to pick up [src], it slips out of your grip..")
+ to_chat(user, span_notice("As you try to pick up [src], it slips out of your grip.."))
if(prob(50))
- to_chat(user, "..and vanishes from your vision! Where the hell did it go?")
+ to_chat(user, span_notice("..and vanishes from your vision! Where the hell did it go?"))
qdel(src)
user.update_icons()
else
- to_chat(user, "..and falls into view. Whew, that was a close one.")
+ to_chat(user, span_notice("..and falls into view. Whew, that was a close one."))
user.dropItemToGround(src)
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index 7fe39ad1153..5089aab7ca7 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -54,7 +54,7 @@
if(do_spin())
playsound(usr, "revolver_spin", 30, FALSE)
- usr.visible_message("[usr] spins [src]'s chamber.", "You spin [src]'s chamber.")
+ usr.visible_message(span_notice("[usr] spins [src]'s chamber."), span_notice("You spin [src]'s chamber."))
else
verbs -= /obj/item/gun/ballistic/revolver/verb/spin
@@ -82,7 +82,7 @@
/obj/item/gun/ballistic/revolver/ignition_effect(atom/A, mob/user)
if(last_fire && last_fire + 15 SECONDS > world.time)
- . = "[user] touches the end of [src] to \the [A], using the residual heat to ignite it in a puff of smoke. What a badass."
+ . = span_notice("[user] touches the end of [src] to \the [A], using the residual heat to ignite it in a puff of smoke. What a badass.")
/obj/item/gun/ballistic/revolver/detective
name = "\improper Colt Detective Special"
@@ -176,13 +176,13 @@
return
if(target != user)
if(ismob(target))
- to_chat(user, "A mechanism prevents you from shooting anyone but yourself!")
+ to_chat(user, span_warning("A mechanism prevents you from shooting anyone but yourself!"))
return
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(!spun)
- to_chat(user, "You need to spin \the [src]'s chamber first!")
+ to_chat(user, span_warning("You need to spin \the [src]'s chamber first!"))
return
spun = FALSE
@@ -196,21 +196,21 @@
if(zone == BODY_ZONE_HEAD || zone == BODY_ZONE_PRECISE_EYES || zone == BODY_ZONE_PRECISE_MOUTH)
shoot_self(user, affecting)
else
- user.visible_message("[user.name] cowardly fires [src] at [user.p_their()] [affecting.name]!", "You cowardly fire [src] at your [affecting.name]!", "You hear a gunshot!")
+ user.visible_message(span_danger("[user.name] cowardly fires [src] at [user.p_their()] [affecting.name]!"), span_userdanger("You cowardly fire [src] at your [affecting.name]!"), span_hear("You hear a gunshot!"))
chambered = null
return
- user.visible_message("*click*")
+ user.visible_message(span_danger("*click*"))
playsound(src, dry_fire_sound, 30, TRUE)
/obj/item/gun/ballistic/revolver/russian/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
add_fingerprint(user)
playsound(src, dry_fire_sound, 30, TRUE)
- user.visible_message("[user.name] tries to fire \the [src] at the same time, but only succeeds at looking like an idiot.", "\The [src]'s anti-combat mechanism prevents you from firing it at the same time!")
+ user.visible_message(span_danger("[user.name] tries to fire \the [src] at the same time, but only succeeds at looking like an idiot."), span_danger("\The [src]'s anti-combat mechanism prevents you from firing it at the same time!"))
/obj/item/gun/ballistic/revolver/russian/proc/shoot_self(mob/living/carbon/human/user, affecting = BODY_ZONE_HEAD)
user.apply_damage(300, BRUTE, affecting)
- user.visible_message("[user.name] fires [src] at [user.p_their()] head!", "You fire [src] at your head!", "You hear a gunshot!")
+ user.visible_message(span_danger("[user.name] fires [src] at [user.p_their()] head!"), span_userdanger("You fire [src] at your head!"), span_hear("You hear a gunshot!"))
/obj/item/gun/ballistic/revolver/russian/soul
name = "cursed Russian revolver"
@@ -222,7 +222,7 @@
if(!SS.transfer_soul("FORCE", user)) //Something went wrong
qdel(SS)
return
- user.visible_message("[user.name]'s soul is captured by \the [src]!", "You've lost the gamble! Your soul is forfeit!")
+ user.visible_message(span_danger("[user.name]'s soul is captured by \the [src]!"), span_userdanger("You've lost the gamble! Your soul is forfeit!"))
/obj/item/gun/ballistic/revolver/reverse //Fires directly at its user... unless the user is a clown, of course.
clumsy_check = FALSE
@@ -231,7 +231,7 @@
if((HAS_TRAIT(user, TRAIT_CLUMSY)) || (user.mind && user.mind.assigned_role == "Clown"))
return ..()
if(process_fire(user, user, FALSE, null, BODY_ZONE_HEAD))
- user.visible_message("[user] somehow manages to shoot [user.p_them()]self in the face!", "You somehow shoot yourself in the face! How the hell?!")
+ user.visible_message(span_warning("[user] somehow manages to shoot [user.p_them()]self in the face!"), span_userdanger("You somehow shoot yourself in the face! How the hell?!"))
user.emote("scream")
user.drop_all_held_items()
user.Paralyze(80)
diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm
index 8a901e9e20d..2ff72e61627 100644
--- a/code/modules/projectiles/guns/ballistic/rifle.dm
+++ b/code/modules/projectiles/guns/ballistic/rifle.dm
@@ -23,7 +23,7 @@
/obj/item/gun/ballistic/rifle/rack(mob/user = null)
if (bolt_locked == FALSE)
- to_chat(user, "You open the bolt of \the [src].")
+ to_chat(user, span_notice("You open the bolt of \the [src]."))
playsound(src, rack_sound, rack_sound_volume, rack_sound_vary)
process_chamber(FALSE, FALSE, FALSE)
bolt_locked = TRUE
@@ -38,7 +38,7 @@
/obj/item/gun/ballistic/rifle/attackby(obj/item/A, mob/user, params)
if (!bolt_locked && !istype(A, /obj/item/stack/sheet/cloth))
- to_chat(user, "The bolt is closed!")
+ to_chat(user, span_notice("The bolt is closed!"))
return
return ..()
@@ -84,7 +84,7 @@
unjam_chance = 10
else
unjam_chance += 10
- to_chat(user, "[src] is jammed!")
+ to_chat(user, span_warning("[src] is jammed!"))
playsound(user,'sound/weapons/jammed.ogg', 75, TRUE)
return FALSE
..()
@@ -104,7 +104,7 @@
if(bolt_locked)
if(istype(item, /obj/item/gun_maintenance_supplies))
if(do_after(user, 10 SECONDS, target = src))
- user.visible_message("[user] finishes maintenance of [src].")
+ user.visible_message(span_notice("[user] finishes maintenance of [src]."))
jamming_chance = 10
qdel(item)
diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm
index 0edaa588533..7a5714b3a8b 100644
--- a/code/modules/projectiles/guns/ballistic/shotgun.dm
+++ b/code/modules/projectiles/guns/ballistic/shotgun.dm
@@ -80,7 +80,7 @@
/obj/item/gun/ballistic/shotgun/automatic/dual_tube/examine(mob/user)
. = ..()
- . += "Alt-click to pump it."
+ . += span_notice("Alt-click to pump it.")
/obj/item/gun/ballistic/shotgun/automatic/dual_tube/Initialize()
. = ..()
@@ -100,9 +100,9 @@
alternate_magazine = current_mag
toggled = !toggled
if(toggled)
- to_chat(user, "You switch to tube B.")
+ to_chat(user, span_notice("You switch to tube B."))
else
- to_chat(user, "You switch to tube A.")
+ to_chat(user, span_notice("You switch to tube A."))
/obj/item/gun/ballistic/shotgun/automatic/dual_tube/AltClick(mob/living/user)
if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, TRUE))
@@ -208,7 +208,7 @@
/obj/item/gun/ballistic/shotgun/hook/examine(mob/user)
. = ..()
- . += "Right-click to shoot the hook."
+ . += span_notice("Right-click to shoot the hook.")
/obj/item/gun/ballistic/shotgun/hook/afterattack_secondary(atom/target, mob/user, proximity_flag, click_parameters)
hook.afterattack(target, user, proximity_flag, click_parameters)
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index d6786e6c3db..ac8a98337e5 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -62,14 +62,14 @@
if(!ammo_type)
return
var/obj/projectile/exam_proj
- readout += "Standard models of this projectile weapon have [ammo_type.len] mode\s"
+ readout += "Standard models of this projectile weapon have [span_warning("[ammo_type.len]")] mode\s"
readout += "Our heroic interns have shown that one can theoretically stay standing after..."
for(var/obj/item/ammo_casing/energy/for_ammo in ammo_type)
exam_proj = for_ammo.loaded_projectile
if(exam_proj.damage > 0) // Don't divide by 0!!!!!
- readout += "[round(100 / exam_proj.damage, 0.1)] shot\s on [for_ammo.select_name] mode before collapsing from [exam_proj.damage_type == STAMINA ? "immense pain" : "their wounds"]."
+ readout += "[span_warning("[round(100 / exam_proj.damage, 0.1)]")] shot\s on [span_warning("[for_ammo.select_name]")] mode before collapsing from [exam_proj.damage_type == STAMINA ? "immense pain" : "their wounds"]."
else
- readout += "an infinite number of shots on [for_ammo.select_name] mode."
+ readout += "an infinite number of shots on [span_warning("[for_ammo.select_name] mode")]."
return readout.Join("\n") // Sending over the singular string, rather than the whole list
/obj/item/gun/energy/ComponentInitialize()
@@ -160,7 +160,7 @@
fire_sound = shot.fire_sound
fire_delay = shot.delay
if (shot.select_name)
- to_chat(user, "[src] is now set to [shot.select_name].")
+ to_chat(user, span_notice("[src] is now set to [shot.select_name]."))
chambered = null
recharge_newshot(TRUE)
update_appearance()
@@ -219,20 +219,20 @@
/obj/item/gun/energy/suicide_act(mob/living/user)
if (istype(user) && can_shoot() && can_trigger_gun(user) && user.get_bodypart(BODY_ZONE_HEAD))
- user.visible_message("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting the barrel of [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!"))
sleep(25)
if(user.is_holding(src))
- user.visible_message("[user] melts [user.p_their()] face off with [src]!")
+ user.visible_message(span_suicide("[user] melts [user.p_their()] face off with [src]!"))
playsound(loc, fire_sound, 50, TRUE, -1)
var/obj/item/ammo_casing/energy/shot = ammo_type[select]
cell.use(shot.e_cost)
update_appearance()
return(FIRELOSS)
else
- user.visible_message("[user] panics and starts choking to death!")
+ user.visible_message(span_suicide("[user] panics and starts choking to death!"))
return(OXYLOSS)
else
- user.visible_message("[user] is pretending to melt [user.p_their()] face off with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is pretending to melt [user.p_their()] face off with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(src, dry_fire_sound, 30, TRUE)
return (OXYLOSS)
@@ -257,13 +257,13 @@
if(!loaded_projectile)
. = ""
else if(loaded_projectile.nodamage || !loaded_projectile.damage || loaded_projectile.damage_type == STAMINA)
- user.visible_message("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but it doesn't do anything. Dumbass.")
+ user.visible_message(span_danger("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but it doesn't do anything. Dumbass."))
playsound(user, E.fire_sound, 50, TRUE)
playsound(user, loaded_projectile.hitsound, 50, TRUE)
cell.use(E.e_cost)
. = ""
else if(loaded_projectile.damage_type != BURN)
- user.visible_message("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but only succeeds in utterly destroying it. Dumbass.")
+ user.visible_message(span_danger("[user] tries to light [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src], but only succeeds in utterly destroying it. Dumbass."))
playsound(user, E.fire_sound, 50, TRUE)
playsound(user, loaded_projectile.hitsound, 50, TRUE)
cell.use(E.e_cost)
@@ -273,7 +273,7 @@
playsound(user, E.fire_sound, 50, TRUE)
playsound(user, loaded_projectile.hitsound, 50, TRUE)
cell.use(E.e_cost)
- . = "[user] casually lights [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src]. Damn."
+ . = span_danger("[user] casually lights [A.loc == user ? "[user.p_their()] [A.name]" : A] with [src]. Damn.")
/obj/item/gun/energy/proc/instant_recharge()
SIGNAL_HANDLER
diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm
index 2fc965cc18c..4f941fd3618 100644
--- a/code/modules/projectiles/guns/energy/dueling.dm
+++ b/code/modules/projectiles/guns/energy/dueling.dm
@@ -24,7 +24,7 @@
var/mob/living/A = get_duelist(gun_A)
var/mob/living/B = get_duelist(gun_B)
if(!A || !B)
- message_duelists("To begin the duel, both participants need to be holding paired dueling pistols.")
+ message_duelists(span_warning("To begin the duel, both participants need to be holding paired dueling pistols."))
return
begin()
@@ -34,7 +34,7 @@
fired.Cut()
countdown_step = countdown_length
- message_duelists("Set your gun setting and move [required_distance] steps away from your opponent.")
+ message_duelists(span_notice("Set your gun setting and move [required_distance] steps away from your opponent."))
START_PROCESSING(SSobj,src)
@@ -56,7 +56,7 @@
return G == gun_A ? gun_B : gun_A
/datum/duel/proc/end()
- message_duelists("Duel finished. Re-engaging safety.")
+ message_duelists(span_notice("Duel finished. Re-engaging safety."))
STOP_PROCESSING(SSobj,src)
state = DUEL_IDLE
@@ -83,26 +83,26 @@
/datum/duel/proc/back_to_prep()
- message_duelists("Positions invalid. Please move to valid positions [required_distance] steps away from each other to continue.")
+ message_duelists(span_notice("Positions invalid. Please move to valid positions [required_distance] steps away from each other to continue."))
state = DUEL_PREPARATION
confirmations.Cut()
countdown_step = countdown_length
/datum/duel/proc/confirm_positioning()
- message_duelists("Position confirmed. Confirm readiness by pulling the trigger once.")
+ message_duelists(span_notice("Position confirmed. Confirm readiness by pulling the trigger once."))
state = DUEL_READY
/datum/duel/proc/confirm_ready()
- message_duelists("Readiness confirmed. Starting countdown. Commence firing at zero mark.")
+ message_duelists(span_notice("Readiness confirmed. Starting countdown. Commence firing at zero mark."))
state = DUEL_COUNTDOWN
/datum/duel/proc/countdown_step()
countdown_step--
if(countdown_step == 0)
state = DUEL_FIRING
- message_duelists("Fire!")
+ message_duelists(span_userdanger("Fire!"))
else
- message_duelists("[countdown_step]!")
+ message_duelists(span_userdanger("[countdown_step]!"))
/datum/duel/proc/check_fired()
if(fired.len == 2)
@@ -172,7 +172,7 @@
setting = DUEL_SETTING_C
if(DUEL_SETTING_C)
setting = DUEL_SETTING_A
- to_chat(user,"You switch [src] setting to [setting] mode.")
+ to_chat(user,span_notice("You switch [src] setting to [setting] mode."))
update_appearance()
/obj/item/gun/energy/dueling/update_overlays()
@@ -197,7 +197,7 @@
if(DUEL_READY)
return .
else
- to_chat(user,"[src] is locked. Wait for FIRE signal before shooting.")
+ to_chat(user,span_warning("[src] is locked. Wait for FIRE signal before shooting."))
return FALSE
/obj/item/gun/energy/dueling/proc/is_duelist(mob/living/L)
@@ -210,10 +210,10 @@
/obj/item/gun/energy/dueling/process_fire(atom/target, mob/living/user, message, params, zone_override, bonus_spread)
if(duel.state == DUEL_READY)
duel.confirmations[src] = TRUE
- to_chat(user,"You confirm your readiness.")
+ to_chat(user,span_notice("You confirm your readiness."))
return
else if(!is_duelist(target)) //I kinda want to leave this out just to see someone shoot a bystander or missing.
- to_chat(user,"[src] safety system prevents shooting anyone but your designated opponent.")
+ to_chat(user,span_warning("[src] safety system prevents shooting anyone but your designated opponent."))
return
else
duel.fired[src] = TRUE
diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm
index e30170870ea..6ff2ec90576 100644
--- a/code/modules/projectiles/guns/energy/energy_gun.dm
+++ b/code/modules/projectiles/guns/energy/energy_gun.dm
@@ -122,12 +122,12 @@
if(0 to 200)
fail_tick += (2*(fail_chance))
M.rad_act(40)
- to_chat(M, "Your [name] feels warmer.")
+ to_chat(M, span_userdanger("Your [name] feels warmer."))
if(201 to INFINITY)
SSobj.processing.Remove(src)
M.rad_act(80)
reactor_overloaded = TRUE
- to_chat(M, "Your [name]'s reactor overloads!")
+ to_chat(M, span_userdanger("Your [name]'s reactor overloads!"))
/obj/item/gun/energy/e_gun/nuclear/emp_act(severity)
. = ..()
diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
index 73c8e123fcb..9566ba1464b 100644
--- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
+++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm
@@ -31,21 +31,21 @@
. = ..()
if(max_mod_capacity)
. += "[get_remaining_mod_capacity()]% mod capacity remaining."
- . += "You can use a crowbar to remove modules."
+ . += span_info("You can use a crowbar to remove modules.")
for(var/A in modkits)
var/obj/item/borg/upgrade/modkit/M = A
- . += "There is \a [M] installed, using [M.cost]% capacity."
+ . += span_notice("There is \a [M] installed, using [M.cost]% capacity.")
/obj/item/gun/energy/kinetic_accelerator/crowbar_act(mob/living/user, obj/item/I)
. = TRUE
if(modkits.len)
- to_chat(user, "You pry the modifications out.")
+ to_chat(user, span_notice("You pry the modifications out."))
I.play_tool_sound(src, 100)
for(var/a in modkits)
var/obj/item/borg/upgrade/modkit/M = a
M.forceMove(drop_location()) //uninstallation handled in Exited(), or /mob/living/silicon/robot/remove_from_upgrades() for borgs
else
- to_chat(user, "There are no modifications currently installed.")
+ to_chat(user, span_notice("There are no modifications currently installed."))
/obj/item/gun/energy/kinetic_accelerator/Exited(atom/A)
if(modkits.len && (A in modkits))
@@ -146,7 +146,7 @@
if(!suppressed)
playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, TRUE)
else
- to_chat(loc, "[src] silently charges up.")
+ to_chat(loc, span_warning("[src] silently charges up."))
update_appearance()
overheat = FALSE
@@ -250,7 +250,7 @@
/obj/item/borg/upgrade/modkit/examine(mob/user)
. = ..()
- . += "Occupies [cost]% of mod capacity."
+ . += span_notice("Occupies [cost]% of mod capacity.")
/obj/item/borg/upgrade/modkit/attackby(obj/item/A, mob/user)
if(istype(A, /obj/item/gun/energy/kinetic_accelerator) && !issilicon(user))
@@ -268,10 +268,10 @@
. = TRUE
if(minebot_upgrade)
if(minebot_exclusive && !istype(KA.loc, /mob/living/simple_animal/hostile/mining_drone))
- to_chat(user, "The modkit you're trying to install is only rated for minebot use.")
+ to_chat(user, span_notice("The modkit you're trying to install is only rated for minebot use."))
return FALSE
else if(istype(KA.loc, /mob/living/simple_animal/hostile/mining_drone))
- to_chat(user, "The modkit you're trying to install is not rated for minebot use.")
+ to_chat(user, span_notice("The modkit you're trying to install is not rated for minebot use."))
return FALSE
if(denied_type)
var/number_of_denied = 0
@@ -286,13 +286,13 @@
if(.)
if(transfer_to_loc && !user.transferItemToLoc(src, KA))
return
- to_chat(user, "You install the modkit.")
+ to_chat(user, span_notice("You install the modkit."))
playsound(loc, 'sound/items/screwdriver.ogg', 100, TRUE)
KA.modkits += src
else
- to_chat(user, "The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits.")
+ to_chat(user, span_notice("The modkit you're trying to install would conflict with an already installed modkit. Use a crowbar to remove existing modkits."))
else
- to_chat(user, "You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits.")
+ to_chat(user, span_notice("You don't have room([KA.get_remaining_mod_capacity()]% remaining, [cost]% needed) to install this modkit. Use a crowbar to remove existing modkits."))
. = FALSE
/obj/item/borg/upgrade/modkit/deactivate(mob/living/silicon/robot/R, user = usr)
@@ -402,7 +402,7 @@
for(var/mob/living/L in range(1, target_turf) - K.firer - target)
var/armor = L.run_armor_check(K.def_zone, K.flag, "", "", K.armour_penetration)
L.apply_damage(K.damage*modifier, K.damage_type, K.def_zone, armor)
- to_chat(L, "You're struck by a [K.name]!")
+ to_chat(L, span_userdanger("You're struck by a [K.name]!"))
/obj/item/borg/upgrade/modkit/aoe/turfs
name = "mining explosion"
diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm
index da2cb6e3be7..f5294b665a3 100644
--- a/code/modules/projectiles/guns/energy/laser_gatling.dm
+++ b/code/modules/projectiles/guns/energy/laser_gatling.dm
@@ -43,12 +43,12 @@
armed = TRUE
if(!user.put_in_hands(gun))
armed = FALSE
- to_chat(user, "You need a free hand to hold the gun!")
+ to_chat(user, span_warning("You need a free hand to hold the gun!"))
return
update_appearance()
user.update_inv_back()
else
- to_chat(user, "You are already holding the gun!")
+ to_chat(user, span_warning("You are already holding the gun!"))
else
..()
@@ -90,9 +90,9 @@
gun.forceMove(src)
armed = FALSE
if(user)
- to_chat(user, "You attach the [gun.name] to the [name].")
+ to_chat(user, span_notice("You attach the [gun.name] to the [name]."))
else
- src.visible_message("The [gun.name] snaps back onto the [name]!")
+ src.visible_message(span_warning("The [gun.name] snaps back onto the [name]!"))
update_appearance()
user.update_inv_back()
@@ -140,7 +140,7 @@
/obj/item/gun/energy/minigun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
if(ammo_pack && ammo_pack.overheat >= ammo_pack.overheat_max)
- to_chat(user, "The gun's heat sensor locked the trigger to prevent lens damage!")
+ to_chat(user, span_warning("The gun's heat sensor locked the trigger to prevent lens damage!"))
return
..()
ammo_pack.overheat += burst_size
@@ -152,7 +152,7 @@
/obj/item/gun/energy/minigun/afterattack(atom/target, mob/living/user, flag, params)
if(!ammo_pack || ammo_pack.loc != user)
- to_chat(user, "You need the backpack power source to fire the gun!")
+ to_chat(user, span_warning("You need the backpack power source to fire the gun!"))
. = ..()
/obj/item/stock_parts/cell/minigun
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index bbf81e3455c..e490df5b0c7 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -55,7 +55,7 @@
ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse)
/obj/item/gun/energy/pulse/destroyer/attack_self(mob/living/user)
- to_chat(user, "[src.name] has three settings, and they are all DESTROY.")
+ to_chat(user, span_danger("[src.name] has three settings, and they are all DESTROY."))
/obj/item/gun/energy/pulse/pistol
name = "pulse pistol"
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 1b53e4c82f8..3587c7ba530 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -145,7 +145,7 @@
/obj/item/gun/energy/plasmacutter/examine(mob/user)
. = ..()
if(cell)
- . += "[src] is [round(cell.percent())]% charged."
+ . += span_notice("[src] is [round(cell.percent())]% charged.")
/obj/item/gun/energy/plasmacutter/attackby(obj/item/I, mob/user)
var/charge_multiplier = 0 //2 = Refined stack, 1 = Ore
@@ -155,11 +155,11 @@
charge_multiplier = 1
if(charge_multiplier)
if(cell.charge == cell.maxcharge)
- to_chat(user, "You try to insert [I] into [src], but it's fully charged.") //my cell is round and full
+ to_chat(user, span_notice("You try to insert [I] into [src], but it's fully charged.")) //my cell is round and full
return
I.use(1)
cell.give(500*charge_multiplier)
- to_chat(user, "You insert [I] in [src], recharging it.")
+ to_chat(user, span_notice("You insert [I] in [src], recharging it."))
else
..()
@@ -167,13 +167,13 @@
// Amount cannot be defaulted to 1: most of the code specifies 0 in the call.
/obj/item/gun/energy/plasmacutter/tool_use_check(mob/living/user, amount)
if(QDELETED(cell))
- to_chat(user, "[src] does not have a cell, and cannot be used!")
+ to_chat(user, span_warning("[src] does not have a cell, and cannot be used!"))
return FALSE
// Amount cannot be used if drain is made continuous, e.g. amount = 5, charge_weld = 25
// Then it'll drain 125 at first and 25 periodically, but fail if charge dips below 125 even though it still can finish action
// Alternately it'll need to drain amount*charge_weld every period, which is either obscene or makes it free for other uses
if(amount ? cell.charge < charge_weld * amount : cell.charge < charge_weld)
- to_chat(user, "You need more charge to complete this task!")
+ to_chat(user, span_warning("You need more charge to complete this task!"))
return FALSE
return TRUE
@@ -209,7 +209,7 @@
/obj/item/gun/energy/wormhole_projector/attackby(obj/item/C, mob/user)
if(istype(C, /obj/item/assembly/signaler/anomaly/bluespace))
- to_chat(user, "You insert [C] into the wormhole projector and the weapon gently hums to life.")
+ to_chat(user, span_notice("You insert [C] into the wormhole projector and the weapon gently hums to life."))
firing_core = TRUE
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
qdel(C)
@@ -222,7 +222,7 @@
/obj/item/gun/energy/wormhole_projector/shoot_with_empty_chamber(mob/living/user)
. = ..()
- to_chat(user, "The display says, 'NO CORE INSTALLED'.")
+ to_chat(user, span_danger("The display says, 'NO CORE INSTALLED'."))
/obj/item/gun/energy/wormhole_projector/update_icon_state()
. = ..()
@@ -371,7 +371,7 @@
/obj/item/gun/energy/gravity_gun/attackby(obj/item/C, mob/user)
if(istype(C, /obj/item/assembly/signaler/anomaly/grav))
- to_chat(user, "You insert [C] into the gravitational manipulator and the weapon gently hums to life.")
+ to_chat(user, span_notice("You insert [C] into the gravitational manipulator and the weapon gently hums to life."))
firing_core = TRUE
playsound(src.loc, 'sound/machines/click.ogg', 50, TRUE)
qdel(C)
diff --git a/code/modules/projectiles/guns/magic.dm b/code/modules/projectiles/guns/magic.dm
index 4ccf9aec009..49c6bc0075b 100644
--- a/code/modules/projectiles/guns/magic.dm
+++ b/code/modules/projectiles/guns/magic.dm
@@ -28,13 +28,13 @@
var/area/A = get_area(user)
if(istype(A, /area/wizard_station))
add_fingerprint(user)
- to_chat(user, "You know better than to violate the security of The Den, best wait until you leave to use [src].")
+ to_chat(user, span_warning("You know better than to violate the security of The Den, best wait until you leave to use [src]."))
return
else
no_den_usage = 0
if(checks_antimagic && user.anti_magic_check(TRUE, FALSE, FALSE, 0, TRUE))
add_fingerprint(user)
- to_chat(user, "Something is interfering with [src].")
+ to_chat(user, span_warning("Something is interfering with [src]."))
return
. = ..()
@@ -80,10 +80,10 @@
/obj/item/gun/magic/shoot_with_empty_chamber(mob/living/user as mob|obj)
- to_chat(user, "The [name] whizzles quietly.")
+ to_chat(user, span_warning("The [name] whizzles quietly."))
/obj/item/gun/magic/suicide_act(mob/user)
- user.visible_message("[user] is twisting [src] above [user.p_their()] head, releasing a magical blast! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is twisting [src] above [user.p_their()] head, releasing a magical blast! It looks like [user.p_theyre()] trying to commit suicide!"))
playsound(loc, fire_sound, 50, TRUE, -1)
return (FIRELOSS)
diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm
index 124e4ef3d9d..5096b4d3f03 100644
--- a/code/modules/projectiles/guns/magic/wand.dm
+++ b/code/modules/projectiles/guns/magic/wand.dm
@@ -39,7 +39,7 @@
if(no_den_usage)
var/area/A = get_area(user)
if(istype(A, /area/wizard_station))
- to_chat(user, "You know better than to violate the security of The Den, best wait until you leave to use [src].")
+ to_chat(user, span_warning("You know better than to violate the security of The Den, best wait until you leave to use [src]."))
return
else
no_den_usage = 0
@@ -50,7 +50,7 @@
/obj/item/gun/magic/wand/proc/zap_self(mob/living/user)
- user.visible_message("[user] zaps [user.p_them()]self with [src].")
+ user.visible_message(span_danger("[user] zaps [user.p_them()]self with [src]."))
playsound(user, fire_sound, 50, TRUE)
user.log_message("zapped [user.p_them()]self with a [src]", LOG_ATTACK)
@@ -73,13 +73,13 @@
..()
charges--
if(user.anti_magic_check())
- user.visible_message("[src] has no effect on [user]!")
+ user.visible_message(span_warning("[src] has no effect on [user]!"))
return
if(isliving(user))
var/mob/living/L = user
if(L.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
user.revive(full_heal = TRUE, admin_revive = TRUE)
- to_chat(user, "You feel great!")
+ to_chat(user, span_notice("You feel great!"))
return
to_chat(user, "You irradiate yourself with pure negative energy! \
[pick("Do not pass go. Do not collect 200 zorkmids.","You feel more confident in your spell casting skills.","You Die...","Do you want your possessions identified?")]\
@@ -112,7 +112,7 @@
..()
charges--
if(user.anti_magic_check())
- user.visible_message("[src] has no effect on [user]!")
+ user.visible_message(span_warning("[src] has no effect on [user]!"))
return
if(isliving(user))
var/mob/living/L = user
@@ -123,7 +123,7 @@
user.death(0)
return
user.revive(full_heal = TRUE, admin_revive = TRUE)
- to_chat(user, "You feel great!")
+ to_chat(user, span_notice("You feel great!"))
/obj/item/gun/magic/wand/resurrection/debug //for testing
desc = "Is it possible for something to be even more powerful than regular magic? This wand is."
@@ -221,7 +221,7 @@
no_den_usage = 1
/obj/item/gun/magic/wand/door/zap_self(mob/living/user)
- to_chat(user, "You feel vaguely more open with your feelings.")
+ to_chat(user, span_notice("You feel vaguely more open with your feelings."))
charges--
..()
diff --git a/code/modules/projectiles/guns/misc/beam_rifle.dm b/code/modules/projectiles/guns/misc/beam_rifle.dm
index c2b72b2f410..da8add58698 100644
--- a/code/modules/projectiles/guns/misc/beam_rifle.dm
+++ b/code/modules/projectiles/guns/misc/beam_rifle.dm
@@ -101,13 +101,13 @@
zoom_lock = 0
switch(zoom_lock)
if(ZOOM_LOCK_AUTOZOOM_FREEMOVE)
- to_chat(user, "You switch [src]'s zooming processor to free directional.")
+ to_chat(user, span_boldnotice("You switch [src]'s zooming processor to free directional."))
if(ZOOM_LOCK_AUTOZOOM_ANGLELOCK)
- to_chat(user, "You switch [src]'s zooming processor to locked directional.")
+ to_chat(user, span_boldnotice("You switch [src]'s zooming processor to locked directional."))
if(ZOOM_LOCK_CENTER_VIEW)
- to_chat(user, "You switch [src]'s zooming processor to center mode.")
+ to_chat(user, span_boldnotice("You switch [src]'s zooming processor to center mode."))
if(ZOOM_LOCK_OFF)
- to_chat(user, "You disable [src]'s zooming system.")
+ to_chat(user, span_boldnotice("You disable [src]'s zooming system."))
reset_zooming()
else
..()
@@ -148,7 +148,7 @@
/obj/item/gun/energy/beam_rifle/attack_self(mob/user)
projectile_setting_pierce = !projectile_setting_pierce
- to_chat(user, "You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode.")
+ to_chat(user, span_boldnotice("You set \the [src] to [projectile_setting_pierce? "pierce":"impact"] mode."))
aiming_beam()
/obj/item/gun/energy/beam_rifle/proc/update_slowdown()
@@ -441,7 +441,7 @@
new /obj/effect/temp_visual/explosion/fast(epicenter)
for(var/mob/living/L in range(aoe_mob_range, epicenter)) //handle aoe mob damage
L.adjustFireLoss(aoe_mob_damage)
- to_chat(L, "\The [src] sears you!")
+ to_chat(L, span_userdanger("\The [src] sears you!"))
for(var/turf/T in RANGE_TURFS(aoe_fire_range, epicenter)) //handle aoe fire
if(prob(aoe_fire_chance))
new /obj/effect/hotspot(T)
diff --git a/code/modules/projectiles/guns/misc/blastcannon.dm b/code/modules/projectiles/guns/misc/blastcannon.dm
index 0cb443f1a2a..8f2d607e5be 100644
--- a/code/modules/projectiles/guns/misc/blastcannon.dm
+++ b/code/modules/projectiles/guns/misc/blastcannon.dm
@@ -62,13 +62,13 @@
/obj/item/gun/blastcannon/examine(mob/user)
. = ..()
if(bomb)
- . += "A bomb is loaded inside."
+ . += span_notice("A bomb is loaded inside.")
/obj/item/gun/blastcannon/attack_self(mob/user)
if(bomb)
bomb.forceMove(user.loc)
user.put_in_hands(bomb)
- user.visible_message("[user] detaches [bomb] from [src].")
+ user.visible_message(span_warning("[user] detaches [bomb] from [src]."))
bomb = null
update_appearance()
return ..()
@@ -82,16 +82,16 @@
return ..()
if(bomb)
- to_chat(user, "[bomb] is already attached to [src]!")
+ to_chat(user, span_warning("[bomb] is already attached to [src]!"))
return
if(!bomb_to_attach.ready())
- to_chat(user, "What good would an incomplete bomb do?")
+ to_chat(user, span_warning("What good would an incomplete bomb do?"))
return FALSE
if(!user.transferItemToLoc(bomb_to_attach, src))
- to_chat(user, "[bomb_to_attach] seems to be stuck to your hand!")
+ to_chat(user, span_warning("[bomb_to_attach] seems to be stuck to your hand!"))
return FALSE
- user.visible_message("[user] attaches [bomb_to_attach] to [src]!")
+ user.visible_message(span_warning("[user] attaches [bomb_to_attach] to [src]!"))
bomb = bomb_to_attach
update_appearance()
return TRUE
@@ -104,8 +104,8 @@
cached_modifiers = params
if(bomb?.valve_open)
user.visible_message(
- "[user] points [src] at [target]!",
- "You point [src] at [target]!"
+ span_danger("[user] points [src] at [target]!"),
+ span_danger("You point [src] at [target]!")
)
return
@@ -116,8 +116,8 @@
playsound(src, dry_fire_sound, 30, TRUE) // *click
user.visible_message(
- "[user] opens [bomb] on [user.p_their()] [src] and points [p_them()] at [target]!",
- "You open [bomb] on your [src] and point [p_them()] at [target]!"
+ span_danger("[user] opens [bomb] on [user.p_their()] [src] and points [p_them()] at [target]!"),
+ span_danger("You open [bomb] on your [src] and point [p_them()] at [target]!")
)
var/turf/current_turf = get_turf(src)
var/turf/target_turf = get_turf(target)
@@ -142,7 +142,7 @@
var/light = arguments[EXARG_KEY_LIGHT_RANGE]
var/range = max(heavy, medium, light, 0)
if(!range)
- visible_message("[src] lets out a little \"phut\".")
+ visible_message(span_warning("[src] lets out a little \"phut\"."))
return
if(!ismob(loc))
@@ -200,8 +200,8 @@
*/
/obj/item/gun/blastcannon/proc/fire_intentionally(atom/target, mob/firer, heavy, medium, light, modifiers)
firer.visible_message(
- "[firer] fires a blast wave at [target]!",
- "You fire a blast wave at [target]!"
+ span_danger("[firer] fires a blast wave at [target]!"),
+ span_danger("You fire a blast wave at [target]!")
)
var/turf/start_turf = get_turf(src)
var/turf/target_turf = get_turf(target)
@@ -232,8 +232,8 @@
var/mob/firer = cached_firer?.resolve()
var/turf/start_turf = get_turf(src)
holder.visible_message(
- "[src] suddenly goes off[holding ? " in [holder]'s hands" : null]!",
- "[src] suddenly goes off[holding ? " in your hands" : null]!"
+ span_danger("[src] suddenly goes off[holding ? " in [holder]'s hands" : null]!"),
+ span_danger("[src] suddenly goes off[holding ? " in your hands" : null]!")
)
message_admins("Blast wave primed by [ADMIN_LOOKUPFLW(firer)] fired from [ADMIN_VERBOSEJMP(start_turf)] roughly towards [ADMIN_VERBOSEJMP(target)] while being held by [ADMIN_LOOKUPFLW(holder)] with power [heavy]/[medium]/[light].")
log_game("Blast wave primed by [key_name(firer)] fired from [AREACOORD(start_turf)] roughly towards [AREACOORD(target)] while being held by [key_name(holder)] with power [heavy]/[medium]/[light].")
diff --git a/code/modules/projectiles/guns/misc/bow.dm b/code/modules/projectiles/guns/misc/bow.dm
index 30724d81f6c..57b3e3b078f 100644
--- a/code/modules/projectiles/guns/misc/bow.dm
+++ b/code/modules/projectiles/guns/misc/bow.dm
@@ -40,7 +40,7 @@
/obj/item/gun/ballistic/bow/attack_self(mob/user)
if(chambered)
- to_chat(user, "You [drawn ? "release the tension on" : "draw the string on"] [src].")
+ to_chat(user, span_notice("You [drawn ? "release the tension on" : "draw the string on"] [src]."))
drawn = !drawn
update_appearance()
diff --git a/code/modules/projectiles/guns/misc/chem_gun.dm b/code/modules/projectiles/guns/misc/chem_gun.dm
index 8bd1eb229ac..5d30449188f 100644
--- a/code/modules/projectiles/guns/misc/chem_gun.dm
+++ b/code/modules/projectiles/guns/misc/chem_gun.dm
@@ -39,7 +39,7 @@
return
if(world.time < last_synth+time_per_syringe)
return
- to_chat(loc, "You hear a click as [src] synthesizes a new dart.")
+ to_chat(loc, span_warning("You hear a click as [src] synthesizes a new dart."))
syringes_left++
if(chambered && !chambered.loaded_projectile)
chambered.newshot()
diff --git a/code/modules/projectiles/guns/misc/grenade_launcher.dm b/code/modules/projectiles/guns/misc/grenade_launcher.dm
index 2aea1a2fb0e..98b4a0fb75b 100644
--- a/code/modules/projectiles/guns/misc/grenade_launcher.dm
+++ b/code/modules/projectiles/guns/misc/grenade_launcher.dm
@@ -23,17 +23,17 @@
if(!user.transferItemToLoc(I, src))
return
grenades += I
- to_chat(user, "You put the grenade in the grenade launcher.")
- to_chat(user, "[grenades.len] / [max_grenades] Grenades.")
+ to_chat(user, span_notice("You put the grenade in the grenade launcher."))
+ to_chat(user, span_notice("[grenades.len] / [max_grenades] Grenades."))
else
- to_chat(usr, "The grenade launcher cannot hold more grenades!")
+ to_chat(usr, span_warning("The grenade launcher cannot hold more grenades!"))
/obj/item/gun/grenadelauncher/can_shoot()
return grenades.len
/obj/item/gun/grenadelauncher/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
- user.visible_message("[user] fired a grenade!", \
- "You fire the grenade launcher!")
+ user.visible_message(span_danger("[user] fired a grenade!"), \
+ span_danger("You fire the grenade launcher!"))
var/obj/item/grenade/F = grenades[1] //Now with less copypasta!
grenades -= F
F.forceMove(user.loc)
diff --git a/code/modules/projectiles/guns/misc/medbeam.dm b/code/modules/projectiles/guns/misc/medbeam.dm
index 035b0224a2c..9211dea31e4 100644
--- a/code/modules/projectiles/guns/misc/medbeam.dm
+++ b/code/modules/projectiles/guns/misc/medbeam.dm
@@ -53,7 +53,7 @@
SIGNAL_HANDLER
active = FALSE //skip qdelling the beam again if we're doing this proc, because
if(isliving(loc))
- to_chat(loc, "You lose control of the beam!")
+ to_chat(loc, span_warning("You lose control of the beam!"))
LoseTarget()
/obj/item/gun/medbeam/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
diff --git a/code/modules/projectiles/guns/misc/syringe_gun.dm b/code/modules/projectiles/guns/misc/syringe_gun.dm
index 265305206dd..e04e7cd85c9 100644
--- a/code/modules/projectiles/guns/misc/syringe_gun.dm
+++ b/code/modules/projectiles/guns/misc/syringe_gun.dm
@@ -44,7 +44,7 @@
/obj/item/gun/syringe/attack_self(mob/living/user)
if(!syringes.len)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return FALSE
var/obj/item/reagent_containers/syringe/S = syringes[syringes.len]
@@ -54,27 +54,27 @@
user.put_in_hands(S)
syringes.Remove(S)
- to_chat(user, "You unload [S] from \the [src].")
+ to_chat(user, span_notice("You unload [S] from \the [src]."))
update_appearance()
return TRUE
/obj/item/gun/syringe/attackby(obj/item/A, mob/user, params, show_msg = TRUE)
if(istype(A, /obj/item/reagent_containers/syringe/bluespace))
- to_chat(user, "[A] is too big to load into [src].")
+ to_chat(user, span_notice("[A] is too big to load into [src]."))
return TRUE
if(istype(A, /obj/item/reagent_containers/syringe))
if(syringes.len < max_syringes)
if(!user.transferItemToLoc(A, src))
return FALSE
- to_chat(user, "You load [A] into \the [src].")
+ to_chat(user, span_notice("You load [A] into \the [src]."))
syringes += A
recharge_newshot()
update_appearance()
playsound(loc, load_sound, 40)
return TRUE
else
- to_chat(user, "[src] cannot hold more syringes!")
+ to_chat(user, span_warning("[src] cannot hold more syringes!"))
return FALSE
/obj/item/gun/syringe/update_overlays()
@@ -113,17 +113,17 @@
if(istype(A, /obj/item/dnainjector))
var/obj/item/dnainjector/D = A
if(D.used)
- to_chat(user, "This injector is used up!")
+ to_chat(user, span_warning("This injector is used up!"))
return
if(syringes.len < max_syringes)
if(!user.transferItemToLoc(D, src))
return FALSE
- to_chat(user, "You load \the [D] into \the [src].")
+ to_chat(user, span_notice("You load \the [D] into \the [src]."))
syringes += D
recharge_newshot()
return TRUE
else
- to_chat(user, "[src] cannot hold more syringes!")
+ to_chat(user, span_warning("[src] cannot hold more syringes!"))
return FALSE
/obj/item/gun/syringe/blowgun
@@ -135,7 +135,7 @@
fire_sound = 'sound/items/syringeproj.ogg'
/obj/item/gun/syringe/blowgun/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
- visible_message("[user] starts aiming with a blowgun!")
+ visible_message(span_danger("[user] starts aiming with a blowgun!"))
if(do_after(user, 25, target = src))
user.adjustStaminaLoss(20)
user.adjustOxyLoss(20)
diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm
index 3bd3af0118d..29fc7b58eb8 100644
--- a/code/modules/projectiles/pins.dm
+++ b/code/modules/projectiles/pins.dm
@@ -27,7 +27,7 @@
var/obj/item/gun/G = target
var/obj/item/firing_pin/old_pin = G.pin
if(old_pin && (force_replace || old_pin.pin_removeable))
- to_chat(user, "You remove [old_pin] from [G].")
+ to_chat(user, span_notice("You remove [old_pin] from [G]."))
if(Adjacent(user))
user.put_in_hands(old_pin)
else
@@ -38,15 +38,15 @@
if(!user.temporarilyRemoveItemFromInventory(src))
return
gun_insert(user, G)
- to_chat(user, "You insert [src] into [G].")
+ to_chat(user, span_notice("You insert [src] into [G]."))
else
- to_chat(user, "This firearm already has a firing pin installed.")
+ to_chat(user, span_notice("This firearm already has a firing pin installed."))
/obj/item/firing_pin/emag_act(mob/user)
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
- to_chat(user, "You override the authentication mechanism.")
+ to_chat(user, span_notice("You override the authentication mechanism."))
/obj/item/firing_pin/proc/gun_insert(mob/living/user, obj/item/gun/G)
gun = G
@@ -67,8 +67,8 @@
user.show_message(fail_message, MSG_VISUAL)
if(selfdestruct)
if(user)
- user.show_message("SELF-DESTRUCTING...
", MSG_VISUAL)
- to_chat(user, "[gun] explodes!")
+ user.show_message("[span_danger("SELF-DESTRUCTING...")]
", MSG_VISUAL)
+ to_chat(user, span_userdanger("[gun] explodes!"))
explosion(src, devastation_range = -1, light_impact_range = 2, flash_range = 3)
if(gun)
qdel(gun)
@@ -185,7 +185,7 @@
var/mob/living/carbon/M = target
if(M.dna && M.dna.unique_enzymes)
unique_enzymes = M.dna.unique_enzymes
- to_chat(user, "DNA-LOCK SET.")
+ to_chat(user, span_notice("DNA-LOCK SET."))
/obj/item/firing_pin/dna/pin_auth(mob/living/carbon/user)
if(user && user.dna && user.dna.unique_enzymes)
@@ -197,7 +197,7 @@
if(!unique_enzymes)
if(user && user.dna && user.dna.unique_enzymes)
unique_enzymes = user.dna.unique_enzymes
- to_chat(user, "DNA-LOCK SET.")
+ to_chat(user, span_notice("DNA-LOCK SET."))
else
..()
@@ -221,24 +221,24 @@
/obj/item/firing_pin/paywall/attack_self(mob/user)
multi_payment = !multi_payment
- to_chat(user, "You set the pin to [( multi_payment ) ? "process payment for every shot" : "one-time license payment"].")
+ to_chat(user, span_notice("You set the pin to [( multi_payment ) ? "process payment for every shot" : "one-time license payment"]."))
/obj/item/firing_pin/paywall/examine(mob/user)
. = ..()
if(pin_owner)
- . += "This firing pin is currently authorized to pay into the account of [pin_owner.registered_name]."
+ . += span_notice("This firing pin is currently authorized to pay into the account of [pin_owner.registered_name].")
/obj/item/firing_pin/paywall/gun_insert(mob/living/user, obj/item/gun/G)
if(!pin_owner)
- to_chat(user, "ERROR: Please swipe valid identification card before installing firing pin!")
+ to_chat(user, span_warning("ERROR: Please swipe valid identification card before installing firing pin!"))
return
gun = G
forceMove(gun)
gun.pin = src
if(multi_payment)
- gun.desc += " This [gun.name] has a per-shot cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""]."
+ gun.desc += span_notice(" This [gun.name] has a per-shot cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""].")
return
- gun.desc += " This [gun.name] has a license permit cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""]."
+ gun.desc += span_notice(" This [gun.name] has a license permit cost of [payment_amount] credit[( payment_amount > 1 ) ? "s" : ""].")
return
@@ -250,20 +250,20 @@
if(istype(M, /obj/item/card/id))
var/obj/item/card/id/id = M
if(!id.registered_account)
- to_chat(user, "ERROR: Identification card lacks registered bank account!")
+ to_chat(user, span_warning("ERROR: Identification card lacks registered bank account!"))
return
if(id != pin_owner && owned)
- to_chat(user, "ERROR: This firing pin has already been authorized!")
+ to_chat(user, span_warning("ERROR: This firing pin has already been authorized!"))
return
if(id == pin_owner)
- to_chat(user, "You unlink the card from the firing pin.")
+ to_chat(user, span_notice("You unlink the card from the firing pin."))
gun_owners -= user
pin_owner = null
owned = FALSE
return
var/transaction_amount = input(user, "Insert valid deposit amount for gun purchase", "Money Deposit") as null|num
if(transaction_amount < 1)
- to_chat(user, "ERROR: Invalid amount designated.")
+ to_chat(user, span_warning("ERROR: Invalid amount designated."))
return
if(!transaction_amount)
return
@@ -271,7 +271,7 @@
owned = TRUE
payment_amount = transaction_amount
gun_owners += user
- to_chat(user, "You link the card to the firing pin.")
+ to_chat(user, span_notice("You link the card to the firing pin."))
/obj/item/firing_pin/paywall/pin_auth(mob/living/user)
if(!istype(user))//nice try commie
@@ -282,7 +282,7 @@
if(credit_card_details.adjust_money(-payment_amount))
pin_owner.registered_account.adjust_money(payment_amount)
return TRUE
- to_chat(user, "ERROR: User balance insufficent for successful transaction!")
+ to_chat(user, span_warning("ERROR: User balance insufficent for successful transaction!"))
return FALSE
return TRUE
if(credit_card_details && !active_prompt)
@@ -296,15 +296,15 @@
if(credit_card_details.adjust_money(-payment_amount))
pin_owner.registered_account.adjust_money(payment_amount)
gun_owners += user
- to_chat(user, "Gun license purchased, have a secure day!")
+ to_chat(user, span_notice("Gun license purchased, have a secure day!"))
active_prompt = FALSE
return FALSE //we return false here so you don't click initially to fire, get the prompt, accept the prompt, and THEN the gun
- to_chat(user, "ERROR: User balance insufficent for successful transaction!")
+ to_chat(user, span_warning("ERROR: User balance insufficent for successful transaction!"))
return FALSE
if("No")
- to_chat(user, "ERROR: User has declined to purchase gun license!")
+ to_chat(user, span_warning("ERROR: User has declined to purchase gun license!"))
return FALSE
- to_chat(user, "ERROR: User has no valid bank account to substract neccesary funds from!")
+ to_chat(user, span_warning("ERROR: User has no valid bank account to substract neccesary funds from!"))
return FALSE
// Explorer Firing Pin- Prevents use on station Z-Level, so it's justifiable to give Explorers guns that don't suck.
@@ -318,7 +318,7 @@
/obj/item/firing_pin/explorer/pin_auth(mob/living/user)
var/turf/station_check = get_turf(user)
if(!station_check||is_station_level(station_check.z))
- to_chat(user, "You cannot use your weapon while on the station!")
+ to_chat(user, span_warning("You cannot use your weapon while on the station!"))
return FALSE
return TRUE
@@ -335,7 +335,7 @@
var/mob/living/carbon/human/M = user
if(istype(M.wear_suit, suit_requirement))
return TRUE
- to_chat(user, "You need to be wearing [tagcolor] laser tag armor!")
+ to_chat(user, span_warning("You need to be wearing [tagcolor] laser tag armor!"))
return FALSE
/obj/item/firing_pin/tag/red
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index 73ee0afcc57..7e92b54a105 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -279,13 +279,13 @@
playsound(loc, hitsound, 5, TRUE, -1)
else if(suppressed)
playsound(loc, hitsound, 5, TRUE, -1)
- to_chat(L, "You're shot by \a [src][organ_hit_text]!")
+ to_chat(L, span_userdanger("You're shot by \a [src][organ_hit_text]!"))
else
if(hitsound)
var/volume = vol_by_damage()
playsound(src, hitsound, volume, TRUE, -1)
- L.visible_message("[L] is hit by \a [src][organ_hit_text]!", \
- "You're hit by \a [src][organ_hit_text]!", null, COMBAT_MESSAGE_RANGE)
+ L.visible_message(span_danger("[L] is hit by \a [src][organ_hit_text]!"), \
+ span_userdanger("You're hit by \a [src][organ_hit_text]!"), null, COMBAT_MESSAGE_RANGE)
L.on_hit(src)
var/reagent_note
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index 67b2216d66f..d846833a5da 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -234,7 +234,7 @@
. = ..()
if(iscarbon(target))
var/mob/living/carbon/M = target
- M.visible_message("[M] explodes into a shower of gibs!")
+ M.visible_message(span_danger("[M] explodes into a shower of gibs!"))
M.gib()
//a shrink ray that shrinks stuff, which grows back after a short while.
diff --git a/code/modules/projectiles/projectile/bullets/dart_syringe.dm b/code/modules/projectiles/projectile/bullets/dart_syringe.dm
index 1ae3c4f177a..d5afc5e731a 100644
--- a/code/modules/projectiles/projectile/bullets/dart_syringe.dm
+++ b/code/modules/projectiles/projectile/bullets/dart_syringe.dm
@@ -20,8 +20,8 @@
return BULLET_ACT_HIT
else
blocked = 100
- target.visible_message("\The [src] is deflected!", \
- "You are protected against \the [src]!")
+ target.visible_message(span_danger("\The [src] is deflected!"), \
+ span_userdanger("You are protected against \the [src]!"))
..(target, blocked)
reagents.flags &= ~(NO_REACT)
diff --git a/code/modules/projectiles/projectile/bullets/dnainjector.dm b/code/modules/projectiles/projectile/bullets/dnainjector.dm
index bf4fa7e8a22..074cd52ba0e 100644
--- a/code/modules/projectiles/projectile/bullets/dnainjector.dm
+++ b/code/modules/projectiles/projectile/bullets/dnainjector.dm
@@ -17,8 +17,8 @@
return BULLET_ACT_HIT
else
blocked = 100
- target.visible_message("\The [src] is deflected!", \
- "You are protected against \the [src]!")
+ target.visible_message(span_danger("\The [src] is deflected!"), \
+ span_userdanger("You are protected against \the [src]!"))
return ..()
/obj/projectile/bullet/dnainjector/Destroy()
diff --git a/code/modules/projectiles/projectile/magic.dm b/code/modules/projectiles/projectile/magic.dm
index 31267ab3ec3..7f0ebe3dfa5 100644
--- a/code/modules/projectiles/projectile/magic.dm
+++ b/code/modules/projectiles/projectile/magic.dm
@@ -17,15 +17,15 @@
return
if(target.anti_magic_check())
- target.visible_message("[src] vanishes on contact with [target]!")
+ target.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
if(target.mob_biotypes & MOB_UNDEAD) //negative energy heals the undead
if(target.revive(full_heal = TRUE, admin_revive = TRUE))
target.grab_ghost(force = TRUE) // even suicides
- to_chat(target, "You rise with a start, you're undead!!!")
+ to_chat(target, span_notice("You rise with a start, you're undead!!!"))
else if(target.stat != DEAD)
- to_chat(target, "You feel great!")
+ to_chat(target, span_notice("You feel great!"))
return
target.death()
@@ -41,16 +41,16 @@
. = ..()
if(isliving(target))
if(target.anti_magic_check())
- target.visible_message("[src] vanishes on contact with [target]!")
+ target.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
if(target.mob_biotypes & MOB_UNDEAD) //positive energy harms the undead
target.death(0)
else
if(target.revive(full_heal = TRUE, admin_revive = TRUE))
target.grab_ghost(force = TRUE) // even suicides
- to_chat(target, "You rise with a start, you're alive!!!")
+ to_chat(target, span_notice("You rise with a start, you're alive!!!"))
else if(target.stat != DEAD)
- to_chat(target, "You feel great!")
+ to_chat(target, span_notice("You feel great!"))
/obj/projectile/magic/teleport
name = "bolt of teleportation"
@@ -66,7 +66,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- M.visible_message("[src] fizzles on contact with [target]!")
+ M.visible_message(span_warning("[src] fizzles on contact with [target]!"))
return BULLET_ACT_BLOCK
var/teleammount = 0
var/teleloc = target
@@ -92,7 +92,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- M.visible_message("[src] fizzles on contact with [target]!")
+ M.visible_message(span_warning("[src] fizzles on contact with [target]!"))
return BULLET_ACT_BLOCK
if(isturf(target))
return BULLET_ACT_HIT
@@ -147,7 +147,7 @@
if(ismob(change))
var/mob/M = change
if(M.anti_magic_check())
- M.visible_message("[src] fizzles on contact with [M]!")
+ M.visible_message(span_warning("[src] fizzles on contact with [M]!"))
qdel(src)
return BULLET_ACT_BLOCK
wabbajack(change)
@@ -294,7 +294,7 @@
M.wabbajack_act(new_mob)
- to_chat(new_mob, "Your form morphs into that of a [randomize].")
+ to_chat(new_mob, span_warning("Your form morphs into that of a [randomize]."))
var/poly_msg = get_policy(POLICY_POLYMORPH)
if(poly_msg)
@@ -334,7 +334,7 @@
if(L.mind)
L.mind.transfer_to(S)
if(owner)
- to_chat(S, "You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator.")
+ to_chat(S, span_userdanger("You are an animate statue. You cannot move when monitored, but are nearly invincible and deadly when unobserved! Do not harm [owner], your creator."))
P.forceMove(S)
return
else
@@ -363,7 +363,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- M.visible_message("[src] vanishes on contact with [target]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [target]!"))
qdel(src)
return BULLET_ACT_BLOCK
. = ..()
@@ -382,7 +382,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- M.visible_message("[src] vanishes on contact with [target]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [target]!"))
qdel(src)
return BULLET_ACT_BLOCK
. = ..()
@@ -407,7 +407,7 @@
if(isliving(A) && locker_suck)
var/mob/living/M = A
if(M.anti_magic_check()) // no this doesn't check if ..() returned to phase through do I care no it's magic ain't gotta explain shit
- M.visible_message("[src] vanishes on contact with [A]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [A]!"))
return PROJECTILE_DELETE_WITHOUT_HITTING
if(!locker_temp_instance.insertion_allowed(M))
return
@@ -473,7 +473,7 @@
if(isliving(target))
var/mob/living/L = target
if(L.anti_magic_check())
- L.visible_message("[src] vanishes on contact with [target]!")
+ L.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
var/atom/throw_target = get_edge_target_turf(L, angle2dir(Angle))
L.throw_at(throw_target, 200, 4)
@@ -487,7 +487,7 @@
if(isliving(target))
var/mob/living/L = target
if(L.anti_magic_check() || !firer)
- L.visible_message("[src] vanishes on contact with [target]!")
+ L.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
L.apply_status_effect(STATUS_EFFECT_BOUNTY, firer)
@@ -500,7 +500,7 @@
if(isliving(target))
var/mob/living/L = target
if(L.anti_magic_check())
- L.visible_message("[src] vanishes on contact with [target]!")
+ L.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
L.apply_status_effect(STATUS_EFFECT_ANTIMAGIC)
@@ -513,7 +513,7 @@
if(isliving(target))
var/mob/living/L = target
if(L.anti_magic_check() || !firer)
- L.visible_message("[src] vanishes on contact with [target]!")
+ L.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
var/atom/throw_target = get_edge_target_turf(L, get_dir(L, firer))
L.throw_at(throw_target, 200, 4)
@@ -527,7 +527,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- M.visible_message("[src] vanishes on contact with [target]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, src, /datum/mood_event/sapped)
@@ -540,13 +540,13 @@
if(isliving(target))
var/mob/living/L = target
if(L.anti_magic_check() || !L.mind)
- L.visible_message("[src] vanishes on contact with [target]!")
+ L.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
- to_chat(L, "Your body feels drained and there is a burning pain in your chest.")
+ to_chat(L, span_danger("Your body feels drained and there is a burning pain in your chest."))
L.maxHealth -= 20
L.health = min(L.health, L.maxHealth)
if(L.maxHealth <= 0)
- to_chat(L, "Your weakened soul is completely consumed by the [src]!")
+ to_chat(L, span_userdanger("Your weakened soul is completely consumed by the [src]!"))
return
for(var/obj/effect/proc_holder/spell/spell in L.mind.spell_list)
spell.charge_counter = spell.charge_max
@@ -562,13 +562,13 @@
if(iscarbon(target))
var/mob/living/carbon/M = target
if(M.anti_magic_check())
- M.visible_message("[src] vanishes on contact with [target]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
for(var/x in M.get_traumas())//checks to see if the victim is already going through possession
if(istype(x, /datum/brain_trauma/special/imaginary_friend/trapped_owner))
- M.visible_message("[src] vanishes on contact with [target]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
- to_chat(M, "Your mind has been opened to possession!")
+ to_chat(M, span_warning("Your mind has been opened to possession!"))
possession_test(M)
return BULLET_ACT_HIT
@@ -588,7 +588,7 @@
return
if(LAZYLEN(candidates))
var/mob/dead/observer/C = pick(candidates)
- to_chat(M, "You have been noticed by a ghost and it has possessed you!")
+ to_chat(M, span_boldnotice("You have been noticed by a ghost and it has possessed you!"))
var/oldkey = M.key
M.ghostize(0)
M.key = C.key
@@ -597,7 +597,7 @@
trauma.friend.Show()
trauma.friend_initialized = TRUE
else
- to_chat(M, "Your mind has managed to go unnoticed in the spirit world.")
+ to_chat(M, span_notice("Your mind has managed to go unnoticed in the spirit world."))
qdel(trauma)
/obj/projectile/magic/aoe
@@ -639,7 +639,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- visible_message("[src] fizzles on contact with [target]!")
+ visible_message(span_warning("[src] fizzles on contact with [target]!"))
qdel(src)
return BULLET_ACT_BLOCK
tesla_zap(src, zap_range, zap_power, zap_flags)
@@ -672,7 +672,7 @@
if(ismob(target))
var/mob/living/M = target
if(M.anti_magic_check())
- visible_message("[src] vanishes into smoke on contact with [target]!")
+ visible_message(span_warning("[src] vanishes into smoke on contact with [target]!"))
return BULLET_ACT_BLOCK
M.take_overall_damage(0,10) //between this 10 burn, the 10 brute, the explosion brute, and the onfire burn, your at about 65 damage if you stop drop and roll immediately
var/turf/T = get_turf(target)
diff --git a/code/modules/projectiles/projectile/special/floral.dm b/code/modules/projectiles/projectile/special/floral.dm
index c37b16bb7d4..eec59e009bd 100644
--- a/code/modules/projectiles/projectile/special/floral.dm
+++ b/code/modules/projectiles/projectile/special/floral.dm
@@ -14,7 +14,7 @@
if(prob(15))
L.rad_act(rand(30, 80))
L.Paralyze(100)
- L.visible_message("[L] writhes in pain as [L.p_their()] vacuoles boil.", "You writhe in pain as your vacuoles boil!", "You hear the crunching of leaves.")
+ L.visible_message(span_warning("[L] writhes in pain as [L.p_their()] vacuoles boil."), span_userdanger("You writhe in pain as your vacuoles boil!"), span_hear("You hear the crunching of leaves."))
if(iscarbon(L) && L.has_dna())
var/mob/living/carbon/C = L
if(prob(80))
@@ -25,7 +25,7 @@
C.domutcheck()
else
L.adjustFireLoss(rand(5, 15))
- L.show_message("The radiation beam singes you!")
+ L.show_message(span_userdanger("The radiation beam singes you!"))
/obj/projectile/energy/florayield
name = "beta somatoray"
@@ -55,7 +55,7 @@
if(isliving(target))
var/mob/living/L = target
if(L.mob_biotypes & MOB_PLANT)
- L.show_message("The radiation beam leaves you feeling disoriented!")
+ L.show_message(span_notice("The radiation beam leaves you feeling disoriented!"))
L.Dizzy(15)
L.emote("flip")
L.emote("spin")
diff --git a/code/modules/projectiles/projectile/special/hallucination.dm b/code/modules/projectiles/projectile/special/hallucination.dm
index b9b54f3718e..e55690d1585 100644
--- a/code/modules/projectiles/projectile/special/hallucination.dm
+++ b/code/modules/projectiles/projectile/special/hallucination.dm
@@ -48,10 +48,10 @@
/obj/projectile/hallucination/proc/target_on_hit(mob/M)
if(M == hal_target)
- to_chat(hal_target, "[M] is hit by \a [src] in the chest!")
+ to_chat(hal_target, span_userdanger("[M] is hit by \a [src] in the chest!"))
hal_apply_effect()
else if(M in view(hal_target))
- to_chat(hal_target, "[M] is hit by \a [src] in the chest!!")
+ to_chat(hal_target, span_danger("[M] is hit by \a [src] in the chest!!"))
if(damage_type == BRUTE)
var/splatter_dir = dir
if(starting)
diff --git a/code/modules/reagents/chemistry/equilibrium.dm b/code/modules/reagents/chemistry/equilibrium.dm
index 45da377199b..e036b5a2a27 100644
--- a/code/modules/reagents/chemistry/equilibrium.dm
+++ b/code/modules/reagents/chemistry/equilibrium.dm
@@ -387,7 +387,7 @@
//Give a chance of sounds
if(prob(5))
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [reaction.mix_message]")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [reaction.mix_message]"))
if(reaction.mix_sound)
playsound(get_turf(holder.my_atom), reaction.mix_sound, 80, TRUE)
diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm
index 0587cab596e..4571dcf3d5e 100644
--- a/code/modules/reagents/chemistry/holder.dm
+++ b/code/modules/reagents/chemistry/holder.dm
@@ -964,7 +964,7 @@
SEND_SIGNAL(src, COMSIG_REAGENTS_REACTION_STEP, num_reactions, delta_time)
if(length(mix_message)) //This is only at the end
- my_atom.audible_message("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]")
+ my_atom.audible_message(span_notice("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]"))
if(!LAZYLEN(reaction_list))
finish_reacting()
@@ -1026,7 +1026,7 @@
for(var/datum/equilibrium/equilibrium as anything in reaction_list)
mix_message += end_reaction(equilibrium)
if(length(mix_message))
- my_atom.audible_message("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]")
+ my_atom.audible_message(span_notice("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] [mix_message.Join()]"))
finish_reacting()
/*
@@ -1047,7 +1047,7 @@
mix_message += end_reaction(equilibrium)
any_stopped = TRUE
if(length(mix_message))
- my_atom.audible_message("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))][mix_message.Join()]")
+ my_atom.audible_message(span_notice("[icon2html(my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))][mix_message.Join()]"))
return any_stopped
/*
@@ -1138,13 +1138,13 @@
if(selected_reaction.mix_sound)
playsound(get_turf(cached_my_atom), selected_reaction.mix_sound, 80, TRUE)
- my_atom.audible_message("[iconhtml] [selected_reaction.mix_message]")
+ my_atom.audible_message(span_notice("[iconhtml] [selected_reaction.mix_message]"))
if(istype(cached_my_atom, /obj/item/slime_extract))
var/obj/item/slime_extract/extract = my_atom
extract.Uses--
if(extract.Uses <= 0) // give the notification that the slime core is dead
- my_atom.visible_message("[iconhtml] \The [my_atom]'s power is consumed in the reaction.")
+ my_atom.visible_message(span_notice("[iconhtml] \The [my_atom]'s power is consumed in the reaction."))
extract.name = "used slime extract"
extract.desc = "This extract has been used up."
diff --git a/code/modules/reagents/chemistry/items.dm b/code/modules/reagents/chemistry/items.dm
index c21f485bc57..bf6f331cd3a 100644
--- a/code/modules/reagents/chemistry/items.dm
+++ b/code/modules/reagents/chemistry/items.dm
@@ -23,13 +23,13 @@
if(number_of_pages == 50)
icon_state = "pHbooklet_open"
if(!number_of_pages)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
add_fingerprint(user)
return
var/obj/item/ph_paper/page = new(get_turf(user))
page.add_fingerprint(user)
user.put_in_active_hand(page)
- to_chat(user, "You take [page] out of \the [src].")
+ to_chat(user, span_notice("You take [page] out of \the [src]."))
number_of_pages--
playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
add_fingerprint(user)
@@ -48,7 +48,7 @@
if(HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
return
if(!number_of_pages)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
add_fingerprint(user)
return
if(number_of_pages == 50)
@@ -56,7 +56,7 @@
var/obj/item/ph_paper/P = new(get_turf(user))
P.add_fingerprint(user)
user.put_in_active_hand(P)
- to_chat(user, "You take [P] out of \the [src].")
+ to_chat(user, span_notice("You take [P] out of \the [src]."))
number_of_pages--
playsound(user.loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
add_fingerprint(user)
@@ -83,7 +83,7 @@
return
var/obj/item/reagent_containers/cont = target
if(used == TRUE)
- to_chat(user, "[src] has already been used!")
+ to_chat(user, span_warning("[src] has already been used!"))
return
if(!LAZYLEN(cont.reagents.reagent_list))
return
@@ -106,10 +106,10 @@
/obj/item/ph_meter/attack_self(mob/user)
if(scanmode == SHORTENED_CHEM_OUTPUT)
- to_chat(user, "You switch the chemical analyzer to provide a detailed description of each reagent.")
+ to_chat(user, span_notice("You switch the chemical analyzer to provide a detailed description of each reagent."))
scanmode = DETAILED_CHEM_OUTPUT
else
- to_chat(user, "You switch the chemical analyzer to not include reagent descriptions in it's report.")
+ to_chat(user, span_notice("You switch the chemical analyzer to not include reagent descriptions in it's report."))
scanmode = SHORTENED_CHEM_OUTPUT
/obj/item/ph_meter/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
@@ -124,16 +124,16 @@
out_message += "Total volume: [round(cont.volume, 0.01)] Current temperature: [round(cont.reagents.chem_temp, 0.1)]K Total pH: [round(cont.reagents.ph, 0.01)]\n"
out_message += "Chemicals found in the beaker:\n"
if(cont.reagents.is_reacting)
- out_message += "A reaction appears to be occuring currently.\n"
+ out_message += "[span_warning("A reaction appears to be occuring currently.")]\n"
for(var/datum/reagent/reagent in cont.reagents.reagent_list)
if(reagent.purity < 1) //If the reagent is impure
if(reagent.purity < reagent.inverse_chem_val && reagent.inverse_chem) //Below level and has an inverse
var/datum/reagent/inverse_reagent = GLOB.chemical_reagents_list[reagent.inverse_chem]
- out_message += "Inverted reagent detected: [round(reagent.volume, 0.01)]u of [inverse_reagent.name], Purity: [round(1 - reagent.purity, 0.01)*100]%, [(scanmode?"[(inverse_reagent.overdose_threshold?"Overdose: [inverse_reagent.overdose_threshold]u, ":"")]Base pH: [initial(inverse_reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n"
+ out_message += "[span_warning("Inverted reagent detected: ")][round(reagent.volume, 0.01)]u of [inverse_reagent.name], Purity: [round(1 - reagent.purity, 0.01)*100]%, [(scanmode?"[(inverse_reagent.overdose_threshold?"Overdose: [inverse_reagent.overdose_threshold]u, ":"")]Base pH: [initial(inverse_reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n"
else if(reagent.impure_chem) //Otherwise has an impure
var/datum/reagent/impure_reagent = GLOB.chemical_reagents_list[reagent.impure_chem]
out_message += "[round(reagent.volume, 0.01)]u of [reagent.name], Purity: [round(reagent.purity, 0.01)*100]%, [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]Base pH: [initial(reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n"
- out_message += "Impurities detected: [round(reagent.volume - (reagent.volume * reagent.purity), 0.01)]u of [impure_reagent.name], [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]":"")]\n"
+ out_message += "[span_warning("Impurities detected: ")][round(reagent.volume - (reagent.volume * reagent.purity), 0.01)]u of [impure_reagent.name], [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]":"")]\n"
else
out_message += "[round(reagent.volume, 0.01)]u of [reagent.name], Purity: [round(reagent.purity, 0.01)*100]%, [(scanmode?"[(reagent.overdose_threshold?"Overdose: [reagent.overdose_threshold]u, ":"")]Base pH: [initial(reagent.ph)], Current pH: [reagent.ph].":"Current pH: [reagent.ph].")]\n"
if(scanmode)
@@ -170,25 +170,25 @@
if(lit)
var/obj/item/reagent_containers/container = I
container.reagents.expose_temperature(get_temperature())
- to_chat(user, "You heat up the [I] with the [src].")
+ to_chat(user, span_notice("You heat up the [I] with the [src]."))
playsound(user.loc, 'sound/chemistry/heatdam.ogg', 50, TRUE)
return
else if(I.is_drainable()) //Transfer FROM it TO us. Special code so it only happens when flame is off.
var/obj/item/reagent_containers/container = I
if(!container.reagents.total_volume)
- to_chat(user, "[container] is empty and can't be poured!")
+ to_chat(user, span_warning("[container] is empty and can't be poured!"))
return
if(reagents.holder_full())
- to_chat(user, "[src] is full.")
+ to_chat(user, span_warning("[src] is full."))
return
var/trans = container.reagents.trans_to(src, container.amount_per_transfer_from_this, transfered_by = user)
- to_chat(user, "You fill [src] with [trans] unit\s of the contents of [container].")
+ to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [container]."))
if(I.heat < 1000)
return
set_lit(TRUE)
- user.visible_message("[user] lights up the [src].")
+ user.visible_message(span_notice("[user] lights up the [src]."))
/obj/item/burner/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
. = ..()
@@ -196,14 +196,14 @@
if(is_reagent_container(target))
var/obj/item/reagent_containers/container = target
container.reagents.expose_temperature(get_temperature())
- to_chat(user, "You heat up the [src].")
+ to_chat(user, span_notice("You heat up the [src]."))
playsound(user.loc, 'sound/chemistry/heatdam.ogg', 50, TRUE)
return
else if(isitem(target))
var/obj/item/item = target
if(item.heat > 1000)
set_lit(TRUE)
- user.visible_message("[user] lights up the [src].")
+ user.visible_message(span_notice("[user] lights up the [src]."))
/obj/item/burner/update_icon_state()
. = ..()
@@ -238,7 +238,7 @@
return
if(lit)
set_lit(FALSE)
- user.visible_message("[user] snuffs out [src]'s flame.")
+ user.visible_message(span_notice("[user] snuffs out [src]'s flame."))
/obj/item/burner/attack(mob/living/carbon/M, mob/living/carbon/user)
if(lit && M.IgniteMob())
@@ -299,7 +299,7 @@
if(!user.transferItemToLoc(src, target))
return
attached_to_reagents = target.reagents
- to_chat(user, "You add the [src] to the [target].")
+ to_chat(user, span_notice("You add the [src] to the [target]."))
ui_interact(usr, null)
/obj/item/thermometer/ui_interact(mob/user, datum/tgui/ui)
@@ -332,7 +332,7 @@
attached_to_reagents = null
/obj/item/thermometer/proc/try_put_in_hand(obj/object, mob/living/user)
- to_chat(user, "You remove the [src] from the [attached_to_reagents.my_atom].")
+ to_chat(user, span_notice("You remove the [src] from the [attached_to_reagents.my_atom]."))
if(!issilicon(user) && in_range(src.loc, user))
user.put_in_hands(object)
else
diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
index 97871e723ef..a998a375dc5 100644
--- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm
@@ -106,7 +106,7 @@
/obj/machinery/chem_dispenser/examine(mob/user)
. = ..()
if(panel_open)
- . += "[src]'s maintenance hatch is open!"
+ . += span_notice("[src]'s maintenance hatch is open!")
if(in_range(user, src) || isobserver(user))
. += "The status display reads:\n\
Recharging [recharge_amount] power units per interval.\n\
@@ -155,9 +155,9 @@
/obj/machinery/chem_dispenser/emag_act(mob/user)
if(obj_flags & EMAGGED)
- to_chat(user, "[src] has no functional safeties to emag.")
+ to_chat(user, span_warning("[src] has no functional safeties to emag."))
return
- to_chat(user, "You short out [src]'s safeties.")
+ to_chat(user, span_notice("You short out [src]'s safeties."))
dispensable_reagents |= emagged_reagents//add the emagged reagents to the dispensable ones
obj_flags |= EMAGGED
@@ -337,7 +337,7 @@
for(var/reagent in recording_recipe)
var/reagent_id = GLOB.name2reagent[translate_legacy_chem_id(reagent)]
if(!dispensable_reagents.Find(reagent_id))
- visible_message("[src] buzzes.", "You hear a faint buzz.")
+ visible_message(span_warning("[src] buzzes."), span_hear("You hear a faint buzz."))
to_chat(usr, "[src] cannot find [reagent]!")
playsound(src, 'sound/machines/buzz-two.ogg', 50, TRUE)
return
@@ -367,10 +367,10 @@
if(!user.transferItemToLoc(B, src))
return
replace_beaker(user, B)
- to_chat(user, "You add [B] to [src].")
+ to_chat(user, span_notice("You add [B] to [src]."))
updateUsrDialog()
else if(!user.combat_mode && !istype(I, /obj/item/card/emag))
- to_chat(user, "You can't load [I] into [src]!")
+ to_chat(user, span_warning("You can't load [I] into [src]!"))
return ..()
else
return ..()
@@ -396,7 +396,7 @@
cell.use(total/powerefficiency)
cell.emp_act(severity)
work_animation()
- visible_message("[src] malfunctions, spraying chemicals everywhere!")
+ visible_message(span_danger("[src] malfunctions, spraying chemicals everywhere!"))
/obj/machinery/chem_dispenser/RefreshParts()
recharge_amount = initial(recharge_amount)
diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm
index 29e1fde792b..a5da593417e 100644
--- a/code/modules/reagents/chemistry/machinery/chem_heater.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm
@@ -87,7 +87,7 @@
/obj/machinery/chem_heater/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Heating reagents at [heater_coefficient*1000]% speed."
+ . += span_notice("The status display reads: Heating reagents at [heater_coefficient*1000]% speed.")
/obj/machinery/chem_heater/process(delta_time)
..()
@@ -157,7 +157,7 @@
if(!user.transferItemToLoc(B, src))
return
replace_beaker(user, B)
- to_chat(user, "You add [B] to [src].")
+ to_chat(user, span_notice("You add [B] to [src]."))
updateUsrDialog()
update_appearance()
return
diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm
index c3e960e7830..94eda4d79a9 100644
--- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm
@@ -56,7 +56,7 @@ This will not clean any inverted reagents. Inverted reagents will still be corre
if(!user.transferItemToLoc(beaker, src))
return
replace_beaker(user, BEAKER1, beaker)
- to_chat(user, "You add [beaker] to [src].")
+ to_chat(user, span_notice("You add [beaker] to [src]."))
updateUsrDialog()
update_appearance()
..()
@@ -71,7 +71,7 @@ This will not clean any inverted reagents. Inverted reagents will still be corre
if(!user.transferItemToLoc(beaker, src))
return
replace_beaker(user, BEAKER2, beaker)
- to_chat(user, "You add [beaker] to [src].")
+ to_chat(user, span_notice("You add [beaker] to [src]."))
updateUsrDialog()
update_appearance()
return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN
diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm
index 5a0e044db2d..8ca5e1a0b1c 100644
--- a/code/modules/reagents/chemistry/machinery/chem_master.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_master.dm
@@ -122,24 +122,24 @@
if(istype(I, /obj/item/reagent_containers) && !(I.item_flags & ABSTRACT) && I.is_open_container())
. = TRUE // no afterattack
if(panel_open)
- to_chat(user, "You can't use the [src.name] while its panel is opened!")
+ to_chat(user, span_warning("You can't use the [src.name] while its panel is opened!"))
return
var/obj/item/reagent_containers/B = I
. = TRUE // no afterattack
if(!user.transferItemToLoc(B, src))
return
replace_beaker(user, B)
- to_chat(user, "You add [B] to [src].")
+ to_chat(user, span_notice("You add [B] to [src]."))
updateUsrDialog()
update_appearance()
else if(!condi && istype(I, /obj/item/storage/pill_bottle))
if(bottle)
- to_chat(user, "A pill bottle is already loaded into [src]!")
+ to_chat(user, span_warning("A pill bottle is already loaded into [src]!"))
return
if(!user.transferItemToLoc(I, src))
return
bottle = I
- to_chat(user, "You add [I] into the dispenser slot.")
+ to_chat(user, span_notice("You add [I] into the dispenser slot."))
updateUsrDialog()
else
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm b/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm
index 996ba4bae34..f2bd627ce7a 100644
--- a/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_recipe_debug.dm
@@ -131,25 +131,25 @@
for(var/reagent_type in reaction.results)
var/datum/reagent/reagent = reagents.get_reagent(reagent_type)
if(!reagent)
- say("Unable to find product [reagent_type] in holder after reaction! reagents found are:")
+ say(span_warning("Unable to find product [reagent_type] in holder after reaction! reagents found are:"))
for(var/other_reagent in reagents.reagent_list)
say("[other_reagent]")
var/obj/item/reagent_containers/glass/beaker/bluespace/beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(loc)
reagents.trans_to(beaker)
beaker.name = "[cached_reactions[index]] failed"
if(!failed)
- problem_string += "[cached_reactions[index]] Unable to find product [reagent_type] in holder after reaction! Trying alternative setup. index:[index]\n"
+ problem_string += "[cached_reactions[index]] [span_warning("Unable to find product [reagent_type] in holder after reaction! Trying alternative setup. index:[index]")]\n"
failed++
return
say("Reaction has a product [reagent_type] [reagent.volume]u purity of [reagent.purity]")
if(reagent.purity < 0.9)
- impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u purity of [reagent.purity] index:[index]\n"
+ impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u [span_boldwarning("purity of [reagent.purity]")] index:[index]\n"
majorImpurity++
else if (reagent.purity < 1)
- impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u purity of [reagent.purity] index:[index]\n"
+ impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u [span_warning("purity of [reagent.purity]")] index:[index]\n"
minorImpurity++
if(reagent.volume < reaction.results[reagent_type])
- impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [reagent.volume]u purity of [reagent.purity] index:[index]\n"
+ impure_string += "Reaction [cached_reactions[index]] has a product [reagent_type] [span_warning("[reagent.volume]u")] purity of [reagent.purity] index:[index]\n"
cached_purity = reagent.purity
if(beaker_spawn && reagents.total_volume)
var/obj/item/reagent_containers/glass/beaker/bluespace/beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(loc)
@@ -191,7 +191,7 @@
if(min_temp)
say("Overriding temperature to required temp.")
reagents.chem_temp = reaction.is_cold_recipe ? reaction.required_temp - 1 : reaction.required_temp + 1
- say("Reacting [cached_reactions[index]] starting pH: [reagents.ph] index [index] of [cached_reactions.len]")
+ say("Reacting [span_nicegreen("[cached_reactions[index]]")] starting pH: [reagents.ph] index [index] of [cached_reactions.len]")
/obj/machinery/chem_recipe_debug/ui_data(mob/user)
var/data = list()
diff --git a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm
index 35798e81156..aad8df3c156 100644
--- a/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm
+++ b/code/modules/reagents/chemistry/machinery/chem_synthesizer.dm
@@ -46,7 +46,7 @@
if(beaker)
return
beaker = new /obj/item/reagent_containers/glass/beaker/bluespace(src)
- visible_message("[src] dispenses a bluespace beaker.")
+ visible_message(span_notice("[src] dispenses a bluespace beaker."))
if("amount")
var/input = text2num(params["amount"])
if(input)
diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm
index 1d3d4692a1e..0bf770954b0 100644
--- a/code/modules/reagents/chemistry/machinery/pandemic.dm
+++ b/code/modules/reagents/chemistry/machinery/pandemic.dm
@@ -34,7 +34,7 @@
is_close = TRUE
else
. += "It has a beaker inside it."
- . += "Alt-click to eject [is_close ? beaker : "the beaker"]."
+ . += span_info("Alt-click to eject [is_close ? beaker : "the beaker"].")
/obj/machinery/computer/pandemic/AltClick(mob/user)
. = ..()
@@ -204,7 +204,7 @@
var/id = get_virus_id_by_index(text2num(params["index"]))
var/datum/disease/advance/A = SSdisease.archive_diseases[id]
if(!istype(A) || !A.mutable)
- to_chat(usr, "ERROR: Cannot replicate virus strain.")
+ to_chat(usr, span_warning("ERROR: Cannot replicate virus strain."))
return
A = A.Copy()
var/list/data = list("viruses" = list(A))
@@ -238,13 +238,13 @@
if(machine_stat & (NOPOWER|BROKEN))
return
if(beaker)
- to_chat(user, "A container is already loaded into [src]!")
+ to_chat(user, span_warning("A container is already loaded into [src]!"))
return
if(!user.transferItemToLoc(I, src))
return
beaker = I
- to_chat(user, "You insert [I] into [src].")
+ to_chat(user, span_notice("You insert [I] into [src]."))
update_appearance()
else
return ..()
diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
index 294c530ec75..4cd995b15f5 100644
--- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
+++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm
@@ -75,27 +75,27 @@
/obj/machinery/reagentgrinder/examine(mob/user)
. = ..()
if(!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(operating)
- . += "\The [src] is operating."
+ . += span_warning("\The [src] is operating.")
return
if(beaker || length(holdingitems))
- . += "\The [src] contains:"
+ . += span_notice("\The [src] contains:")
if(beaker)
- . += "- \A [beaker]."
+ . += span_notice("- \A [beaker].")
for(var/i in holdingitems)
var/obj/item/O = i
- . += "- \A [O.name]."
+ . += span_notice("- \A [O.name].")
if(!(machine_stat & (NOPOWER|BROKEN)))
- . += "The status display reads:\n"+\
- "- Grinding reagents at [speed*100]%."
+ . += "[span_notice("The status display reads:")]\n"+\
+ span_notice("- Grinding reagents at [speed*100]%.")
if(beaker)
for(var/datum/reagent/R in beaker.reagents.reagent_list)
- . += "- [R.volume] units of [R.name]."
+ . += span_notice("- [R.volume] units of [R.name].")
/obj/machinery/reagentgrinder/AltClick(mob/user)
. = ..()
@@ -154,12 +154,12 @@
if(!user.transferItemToLoc(B, src))
return
replace_beaker(user, B)
- to_chat(user, "You add [B] to [src].")
+ to_chat(user, span_notice("You add [B] to [src]."))
update_appearance()
return TRUE //no afterattack
if(holdingitems.len >= limit)
- to_chat(user, "[src] is filled to capacity!")
+ to_chat(user, span_warning("[src] is filled to capacity!"))
return TRUE
//Fill machine with a bag!
@@ -169,23 +169,23 @@
for(var/i in inserted)
holdingitems[i] = TRUE
if(!I.contents.len)
- to_chat(user, "You empty [I] into [src].")
+ to_chat(user, span_notice("You empty [I] into [src]."))
else
- to_chat(user, "You fill [src] to the brim.")
+ to_chat(user, span_notice("You fill [src] to the brim."))
return TRUE
if(!I.grind_results && !I.juice_results)
if(user.combat_mode)
return ..()
else
- to_chat(user, "You cannot grind [I] into reagents!")
+ to_chat(user, span_warning("You cannot grind [I] into reagents!"))
return TRUE
if(!I.grind_requirements(src)) //Error messages should be in the objects' definitions
return
if(user.transferItemToLoc(I, src))
- to_chat(user, "You add [I] to [src].")
+ to_chat(user, span_notice("You add [I] to [src]."))
holdingitems[I] = TRUE
return FALSE
@@ -287,7 +287,7 @@
/obj/machinery/reagentgrinder/proc/juice_item(obj/item/I) //Juicing results can be found in respective object definitions
if(I.on_juice(src) == -1)
- to_chat(usr, "[src] shorts out as it tries to juice up [I], and transfers it back to storage.")
+ to_chat(usr, span_danger("[src] shorts out as it tries to juice up [I], and transfers it back to storage."))
return
beaker.reagents.add_reagent_list(I.juice_results)
remove_object(I)
@@ -307,7 +307,7 @@
/obj/machinery/reagentgrinder/proc/grind_item(obj/item/I, mob/user) //Grind results can be found in respective object definitions
if(I.on_grind(src) == -1) //Call on_grind() to change amount as needed, and stop grinding the item if it returns -1
- to_chat(usr, "[src] shorts out as it tries to grind up [I], and transfers it back to storage.")
+ to_chat(usr, span_danger("[src] shorts out as it tries to grind up [I], and transfers it back to storage."))
return
beaker.reagents.add_reagent_list(I.grind_results)
if(I.reagents)
diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm
index 7c67609593d..2f1235586d5 100644
--- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm
+++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm
@@ -94,7 +94,7 @@
var/obj/item/reagent_containers/RC = I
var/units = RC.reagents.trans_to(src, RC.amount_per_transfer_from_this, transfered_by = user)
if(units)
- to_chat(user, "You transfer [units] units of the solution to [src].")
+ to_chat(user, span_notice("You transfer [units] units of the solution to [src]."))
return
if(default_unfasten_wrench(user, I, 40))
on = FALSE
diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm
index b9adb506532..ad1f0affbfa 100644
--- a/code/modules/reagents/chemistry/reagents.dm
+++ b/code/modules/reagents/chemistry/reagents.dm
@@ -220,7 +220,7 @@ Primarily used in reagents/reaction_agents
/// Called when an overdose starts
/datum/reagent/proc/overdose_start(mob/living/M)
- to_chat(M, "You feel like you took too much of [name]!")
+ to_chat(M, span_userdanger("You feel like you took too much of [name]!"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/overdose, name)
return
diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
index b6fca485aa9..6d11fa53110 100644
--- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm
@@ -59,14 +59,14 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(istype(exposed_obj, /obj/item/paper))
var/obj/item/paper/paperaffected = exposed_obj
paperaffected.clearpaper()
- to_chat(usr, "[paperaffected]'s ink washes away.")
+ to_chat(usr, span_notice("[paperaffected]'s ink washes away."))
if(istype(exposed_obj, /obj/item/book))
if(reac_volume >= 5)
var/obj/item/book/affectedbook = exposed_obj
affectedbook.dat = null
- exposed_obj.visible_message("[exposed_obj]'s writing is washed away by [name]!")
+ exposed_obj.visible_message(span_notice("[exposed_obj]'s writing is washed away by [name]!"))
else
- exposed_obj.visible_message("[exposed_obj]'s ink is smeared by [name], but doesn't wash away!")
+ exposed_obj.visible_message(span_warning("[exposed_obj]'s ink is smeared by [name], but doesn't wash away!"))
return ..()
/datum/reagent/consumable/ethanol/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)//Splashing people with ethanol isn't quite as good as fuel.
@@ -233,7 +233,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
return ..()
/datum/reagent/consumable/ethanol/thirteenloko/overdose_start(mob/living/M)
- to_chat(M, "Your entire body violently jitters as you start to feel queasy. You really shouldn't have drank all of that [name]!")
+ to_chat(M, span_userdanger("Your entire body violently jitters as you start to feel queasy. You really shouldn't have drank all of that [name]!"))
M.Jitter(20)
M.Stun(15)
@@ -242,11 +242,11 @@ All effects don't start immediately, but rather get worse over time; the rate is
var/obj/item/I = M.get_active_held_item()
if(I)
M.dropItemToGround(I)
- to_chat(M, "Your hands jitter and you drop what you were holding!")
+ to_chat(M, span_notice("Your hands jitter and you drop what you were holding!"))
M.Jitter(10)
if(DT_PROB(3.5, delta_time))
- to_chat(M, "[pick("You have a really bad headache.", "Your eyes hurt.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")
+ to_chat(M, span_notice("[pick("You have a really bad headache.", "Your eyes hurt.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]"))
if(DT_PROB(2.5, delta_time) && iscarbon(M))
var/obj/item/organ/eyes/eyes = M.getorganslot(ORGAN_SLOT_EYES)
@@ -254,23 +254,23 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(istype(eyes))
eyes.Remove(M)
eyes.forceMove(get_turf(M))
- to_chat(M, "You double over in pain as you feel your eyeballs liquify in your head!")
+ to_chat(M, span_userdanger("You double over in pain as you feel your eyeballs liquify in your head!"))
M.emote("scream")
M.adjustBruteLoss(15)
else
- to_chat(M, "You scream in terror as you go blind!")
+ to_chat(M, span_userdanger("You scream in terror as you go blind!"))
eyes.applyOrganDamage(eyes.maxHealth)
M.emote("scream")
if(DT_PROB(1.5, delta_time) && iscarbon(M))
- M.visible_message("[M] starts having a seizure!", "You have a seizure!")
+ M.visible_message(span_danger("[M] starts having a seizure!"), span_userdanger("You have a seizure!"))
M.Unconscious(100)
M.Jitter(350)
if(DT_PROB(0.5, delta_time) && iscarbon(M))
var/datum/disease/D = new /datum/disease/heart_failure
M.ForceContractDisease(D)
- to_chat(M, "You're pretty sure you just felt your heart stop for a second there..")
+ to_chat(M, span_userdanger("You're pretty sure you just felt your heart stop for a second there.."))
M.playsound_local(M, 'sound/effects/singlebeat.ogg', 100, 0)
/datum/reagent/consumable/ethanol/vodka
@@ -716,12 +716,12 @@ All effects don't start immediately, but rather get worse over time; the rate is
/datum/reagent/consumable/ethanol/brave_bull/on_mob_metabolize(mob/living/M)
tough_text = pick("brawny", "tenacious", "tough", "hardy", "sturdy") //Tuff stuff
- to_chat(M, "You feel [tough_text]!")
+ to_chat(M, span_notice("You feel [tough_text]!"))
M.maxHealth += 10 //Brave Bull makes you sturdier, and thus capable of withstanding a tiny bit more punishment.
M.health += 10
/datum/reagent/consumable/ethanol/brave_bull/on_mob_end_metabolize(mob/living/M)
- to_chat(M, "You no longer feel [tough_text].")
+ to_chat(M, span_notice("You no longer feel [tough_text]."))
M.maxHealth -= 10
M.health = min(M.health - 10, M.maxHealth) //This can indeed crit you if you're alive solely based on alchol ingestion
@@ -740,7 +740,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
glass_price = DRINK_PRICE_MEDIUM
/datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_metabolize(mob/living/M)
- to_chat(M, "You feel gentle warmth spread through your body!")
+ to_chat(M, span_notice("You feel gentle warmth spread through your body!"))
light_holder = new(M)
light_holder.set_light(3, 0.7, "#FFCC00") //Tequila Sunrise makes you radiate dim light, like a sunrise!
@@ -752,7 +752,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
return ..()
/datum/reagent/consumable/ethanol/tequila_sunrise/on_mob_end_metabolize(mob/living/M)
- to_chat(M, "The warmth in your body fades.")
+ to_chat(M, span_notice("The warmth in your body fades."))
QDEL_NULL(light_holder)
/datum/reagent/consumable/ethanol/toxins_special
@@ -851,7 +851,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(HAS_TRAIT(H, TRAIT_DWARF))
- to_chat(H, "Now THAT is MANLY!")
+ to_chat(H, span_notice("Now THAT is MANLY!"))
boozepwr = 50 // will still smash but not as much.
dorf_mode = TRUE
@@ -1539,7 +1539,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(DT_PROB(10, delta_time))
M.adjustStaminaLoss(10)
M.drop_all_held_items()
- to_chat(M, "You cant feel your hands!")
+ to_chat(M, span_notice("You cant feel your hands!"))
if(current_cycle > 5)
if(DT_PROB(10, delta_time))
var/t = pickt()
@@ -1551,7 +1551,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
if(!M.undergoing_cardiac_arrest() && M.can_heartattack())
M.set_heartattack(TRUE)
if(M.stat == CONSCIOUS)
- M.visible_message("[M] clutches at [M.p_their()] chest as if [M.p_their()] heart stopped!")
+ M.visible_message(span_userdanger("[M] clutches at [M.p_their()] chest as if [M.p_their()] heart stopped!"))
. = TRUE
..()
@@ -1774,9 +1774,9 @@ All effects don't start immediately, but rather get worse over time; the rate is
L.adjustToxLoss(-1)
L.adjustOxyLoss(-1)
L.adjustStaminaLoss(-1)
- L.visible_message("[L] shivers with renewed vigor!", "One taste of [lowertext(name)] fills you with energy!")
+ L.visible_message(span_warning("[L] shivers with renewed vigor!"), span_notice("One taste of [lowertext(name)] fills you with energy!"))
if(!L.stat && heal_points == 20) //brought us out of softcrit
- L.visible_message("[L] lurches to [L.p_their()] feet!", "Up and at 'em, kid.")
+ L.visible_message(span_danger("[L] lurches to [L.p_their()] feet!"), span_boldnotice("Up and at 'em, kid."))
/datum/reagent/consumable/ethanol/bastion_bourbon/on_mob_life(mob/living/L, delta_time, times_fired)
if(L.health > 0)
@@ -1899,7 +1899,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
for(var/obj/item/shield/theshield in thehuman.contents)
mighty_shield = theshield
mighty_shield.block_chance += 10
- to_chat(thehuman, "[theshield] appears polished, although you don't recall polishing it.")
+ to_chat(thehuman, span_notice("[theshield] appears polished, although you don't recall polishing it."))
return TRUE
/datum/reagent/consumable/ethanol/alexander/on_mob_life(mob/living/L, delta_time, times_fired)
@@ -1910,7 +1910,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
/datum/reagent/consumable/ethanol/alexander/on_mob_end_metabolize(mob/living/L)
if(mighty_shield)
mighty_shield.block_chance -= 10
- to_chat(L,"You notice [mighty_shield] looks worn again. Weird.")
+ to_chat(L,span_notice("You notice [mighty_shield] looks worn again. Weird."))
..()
/datum/reagent/consumable/ethanol/amaretto_alexander
@@ -2305,7 +2305,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
/datum/reagent/consumable/ethanol/turbo/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(2, delta_time))
- to_chat(M, "[pick("You feel disregard for the rule of law.", "You feel pumped!", "Your head is pounding.", "Your thoughts are racing..")]")
+ to_chat(M, span_notice("[pick("You feel disregard for the rule of law.", "You feel pumped!", "Your head is pounding.", "Your thoughts are racing..")]"))
M.adjustStaminaLoss(-0.25 * M.drunkenness * REM * delta_time)
return ..()
@@ -2335,7 +2335,7 @@ All effects don't start immediately, but rather get worse over time; the rate is
metabolizer.update_hair()
if(metabolizer.age > 969) //Best not let people get older than this or i might incur G-ds wrath
- metabolizer.visible_message("[metabolizer] becomes older than any man should be.. and crumbles into dust!")
+ metabolizer.visible_message(span_notice("[metabolizer] becomes older than any man should be.. and crumbles into dust!"))
metabolizer.dust(just_ash = FALSE, drop_items = TRUE, force = FALSE)
return ..()
diff --git a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
index 98d942d7927..db96be439f8 100644
--- a/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/cat2_medicine_reagents.dm
@@ -50,26 +50,26 @@
var/list/RockPaperScissors = list("rock" = "paper", "paper" = "scissors", "scissors" = "rock") //choice = loses to
if(M.apply_status_effect(/datum/status_effect/necropolis_curse,CURSE_BLINDING))
helbent = TRUE
- to_chat(M, "Malevolent spirits appear before you, bartering your life in a 'friendly' game of rock, paper, scissors. Which do you choose?")
+ to_chat(M, span_hierophant("Malevolent spirits appear before you, bartering your life in a 'friendly' game of rock, paper, scissors. Which do you choose?"))
var/timeisticking = world.time
var/RPSchoice = input(M, "Janken Time! You have 60 Seconds to Choose!", "Rock Paper Scissors",null) as null|anything in RockPaperScissors
if(QDELETED(M) || (timeisticking+(1.1 MINUTES) < world.time))
reaping = FALSE
return //good job, you ruined it
if(!RPSchoice)
- to_chat(M, "You decide to not press your luck, but the spirits remain... hopefully they'll go away soon.")
+ to_chat(M, span_hierophant("You decide to not press your luck, but the spirits remain... hopefully they'll go away soon."))
reaping = FALSE
return
var/grim = pick(RockPaperScissors)
if(grim == RPSchoice) //You Tied!
- to_chat(M, "You tie, and the malevolent spirits disappear... for now.")
+ to_chat(M, span_hierophant("You tie, and the malevolent spirits disappear... for now."))
reaping = FALSE
else if(RockPaperScissors[RPSchoice] == grim) //You lost!
- to_chat(M, "You lose, and the malevolent spirits smirk eerily as they surround your body.")
+ to_chat(M, span_hierophant("You lose, and the malevolent spirits smirk eerily as they surround your body."))
M.dust()
return
else //VICTORY ROYALE
- to_chat(M, "You win, and the malevolent spirits fade away as well as your wounds.")
+ to_chat(M, span_hierophant("You win, and the malevolent spirits fade away as well as your wounds."))
M.client.give_award(/datum/award/achievement/misc/helbitaljanken, M)
M.revive(full_heal = TRUE, admin_revive = FALSE)
holder.del_reagent(type)
@@ -137,7 +137,7 @@
if(M.getStaminaLoss() >= 80)
M.drowsyness += 1 * REM * delta_time
if(M.getStaminaLoss() >= 100)
- to_chat(M,"You feel more tired than you usually do, perhaps if you rest your eyes for a bit...")
+ to_chat(M,span_warning("You feel more tired than you usually do, perhaps if you rest your eyes for a bit..."))
M.adjustStaminaLoss(-100, TRUE)
M.Sleeping(10 SECONDS)
..()
@@ -485,7 +485,7 @@
iter_wound.on_synthflesh(reac_volume)
carbies.adjustToxLoss((harmies+burnies)*(0.5 + (0.25*(1-creation_purity)))) //0.5 - 0.75
if(show_message)
- to_chat(carbies, "You feel your burns and bruises healing! It stings like hell!")
+ to_chat(carbies, span_danger("You feel your burns and bruises healing! It stings like hell!"))
SEND_SIGNAL(carbies, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine)
if(HAS_TRAIT_FROM(exposed_mob, TRAIT_HUSK, BURN) && carbies.getFireLoss() < UNHUSK_DAMAGE_THRESHOLD && (carbies.reagents.get_reagent_amount(/datum/reagent/medicine/c2/synthflesh) + reac_volume >= SYNTHFLESH_UNHUSK_AMOUNT))
carbies.cure_husk(BURN)
@@ -539,11 +539,11 @@
H.Dizzy(rand(0, 2) * REM * delta_time)
if(DT_PROB(18, delta_time))
- to_chat(H,"Your body is trying to give up, but your heart is still beating!")
+ to_chat(H,span_danger("Your body is trying to give up, but your heart is still beating!"))
if(H.health <= (H.crit_threshold + HEALTH_THRESHOLD_FULLCRIT*(2*normalise_creation_purity()))) //certain death below this threshold
REMOVE_TRAIT(H, TRAIT_STABLEHEART, type) //we have to remove the stable heart trait before we give them a heart attack
- to_chat(H,"You feel something rupturing inside your chest!")
+ to_chat(H,span_danger("You feel something rupturing inside your chest!"))
H.emote("scream")
H.set_heartattack(TRUE)
volume = 0
diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
index 7aaf29b8f49..6783fc18c6a 100644
--- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm
@@ -188,7 +188,7 @@
/datum/reagent/consumable/superlaughter/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(16, delta_time))
- M.visible_message("[M] bursts out into a fit of uncontrollable laughter!", "You burst out in a fit of uncontrollable laughter!")
+ M.visible_message(span_danger("[M] bursts out into a fit of uncontrollable laughter!"), span_userdanger("You burst out in a fit of uncontrollable laughter!"))
M.Stun(5)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "chemical_laughter", /datum/mood_event/chemical_superlaughter)
..()
@@ -347,7 +347,7 @@
/datum/reagent/consumable/tea/arnold_palmer/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(2.5, delta_time))
- to_chat(M, "[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]")
+ to_chat(M, span_notice("[pick("You remember to square your shoulders.","You remember to keep your head down.","You can't decide between squaring your shoulders and keeping your head down.","You remember to relax.","You think about how someday you'll get two strokes off your golf game.")]"))
..()
. = TRUE
diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
index 6dd8a33a3d4..71d02f917d3 100644
--- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm
@@ -26,7 +26,7 @@
..()
/datum/reagent/drug/space_drugs/overdose_start(mob/living/M)
- to_chat(M, "You start tripping hard!")
+ to_chat(M, span_userdanger("You start tripping hard!"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "[type]_overdose", /datum/mood_event/overdose, name)
/datum/reagent/drug/space_drugs/overdose_process(mob/living/M, delta_time, times_fired)
@@ -57,7 +57,7 @@
/datum/reagent/drug/nicotine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(0.5, delta_time))
var/smoke_message = pick("You feel relaxed.", "You feel calmed.","You feel alert.","You feel rugged.")
- to_chat(M, "[smoke_message]")
+ to_chat(M, span_notice("[smoke_message]"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name)
M.Jitter(0) //calms down any withdrawal jitters
M.AdjustStun(-50 * REM * delta_time)
@@ -87,7 +87,7 @@
/datum/reagent/drug/crank/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(2.5, delta_time))
var/high_message = pick("You feel jittery.", "You feel like you gotta go fast.", "You feel like you need to step it up.")
- to_chat(M, "[high_message]")
+ to_chat(M, span_notice("[high_message]"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name)
M.AdjustStun(-20 * REM * delta_time)
M.AdjustKnockdown(-20 * REM * delta_time)
@@ -118,11 +118,11 @@
/datum/reagent/drug/krokodil/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.")
if(DT_PROB(2.5, delta_time))
- to_chat(M, "[high_message]")
+ to_chat(M, span_notice("[high_message]"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smacked out", /datum/mood_event/narcotic_heavy, name)
if(current_cycle == 35 && creation_purity <= 0.6)
if(!istype(M.dna.species, /datum/species/krokodil_addict))
- to_chat(M, "Your skin falls off easily!")
+ to_chat(M, span_userdanger("Your skin falls off easily!"))
M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF
M.set_species(/datum/species/krokodil_addict)
..()
@@ -157,7 +157,7 @@
/datum/reagent/drug/methamphetamine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
var/high_message = pick("You feel hyper.", "You feel like you need to go faster.", "You feel like you can run the world.")
if(DT_PROB(2.5, delta_time))
- to_chat(M, "[high_message]")
+ to_chat(M, span_notice("[high_message]"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name)
M.AdjustStun(-40 * REM * delta_time)
M.AdjustKnockdown(-40 * REM * delta_time)
@@ -179,7 +179,7 @@
if(DT_PROB(10, delta_time))
M.emote("laugh")
if(DT_PROB(18, delta_time))
- M.visible_message("[M]'s hands flip out and flail everywhere!")
+ M.visible_message(span_danger("[M]'s hands flip out and flail everywhere!"))
M.drop_all_held_items()
..()
M.adjustToxLoss(1 * REM * delta_time, 0)
@@ -217,7 +217,7 @@
/datum/reagent/drug/bath_salts/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(DT_PROB(2.5, delta_time))
- to_chat(M, "[high_message]")
+ to_chat(M, span_notice("[high_message]"))
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "salted", /datum/mood_event/stimulant_heavy, name)
M.adjustStaminaLoss(-5 * REM * delta_time, 0)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 4 * REM * delta_time)
@@ -250,7 +250,7 @@
/datum/reagent/drug/aranesp/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
var/high_message = pick("You feel amped up.", "You feel ready.", "You feel like you can push it to the limit.")
if(DT_PROB(2.5, delta_time))
- to_chat(M, "[high_message]")
+ to_chat(M, span_notice("[high_message]"))
M.adjustStaminaLoss(-18 * REM * delta_time, 0)
M.adjustToxLoss(0.5 * REM * delta_time, 0)
if(DT_PROB(30, delta_time))
@@ -326,7 +326,7 @@
M.Jitter(5 * REM * delta_time)
if(DT_PROB(2.5, delta_time))
- to_chat(M, "[pick("Go! Go! GO!", "You feel ready...", "You feel invincible...")]")
+ to_chat(M, span_notice("[pick("Go! Go! GO!", "You feel ready...", "You feel invincible...")]"))
if(DT_PROB(7.5, delta_time))
M.losebreath++
M.adjustToxLoss(2, 0)
@@ -334,7 +334,7 @@
. = TRUE
/datum/reagent/drug/pumpup/overdose_start(mob/living/M)
- to_chat(M, "You can't stop shaking, your heart beats faster and faster...")
+ to_chat(M, span_userdanger("You can't stop shaking, your heart beats faster and faster..."))
/datum/reagent/drug/pumpup/overdose_process(mob/living/M, delta_time, times_fired)
M.Jitter(5 * REM * delta_time)
diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm
index f8d478f5c45..13944367610 100644
--- a/code/modules/reagents/chemistry/reagents/food_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm
@@ -151,9 +151,9 @@
if(!isitem(exposed_obj) || istype(exposed_obj, /obj/item/food/deepfryholder))
return
if(is_type_in_typecache(exposed_obj, GLOB.oilfry_blacklisted_items) || (exposed_obj.resistance_flags & INDESTRUCTIBLE))
- exposed_obj.loc.visible_message("The hot oil has no effect on [exposed_obj]!")
+ exposed_obj.loc.visible_message(span_notice("The hot oil has no effect on [exposed_obj]!"))
return
- exposed_obj.loc.visible_message("[exposed_obj] rapidly fries as it's splashed with hot oil! Somehow.")
+ exposed_obj.loc.visible_message(span_warning("[exposed_obj] rapidly fries as it's splashed with hot oil! Somehow."))
var/obj/item/food/deepfryholder/fry_target = new(exposed_obj.drop_location(), exposed_obj)
fry_target.fry(volume)
fry_target.reagents.add_reagent(/datum/reagent/consumable/cooking_oil, reac_volume)
@@ -168,8 +168,8 @@
oil_damage *= max(1 - touch_protection, 0)
var/FryLoss = round(min(38, oil_damage * reac_volume))
if(!HAS_TRAIT(exposed_mob, TRAIT_OIL_FRIED))
- exposed_mob.visible_message("The boiling oil sizzles as it covers [exposed_mob]!", \
- "You're covered in boiling oil!")
+ exposed_mob.visible_message(span_warning("The boiling oil sizzles as it covers [exposed_mob]!"), \
+ span_userdanger("You're covered in boiling oil!"))
if(FryLoss)
exposed_mob.emote("scream")
playsound(exposed_mob, 'sound/machines/fryer/deep_fryer_emerge.ogg', 25, TRUE)
@@ -207,7 +207,7 @@
mytray.adjustPests(rand(1,2))
/datum/reagent/consumable/sugar/overdose_start(mob/living/M)
- to_chat(M, "You go into hyperglycaemic shock! Lay off the twinkies!")
+ to_chat(M, span_userdanger("You go into hyperglycaemic shock! Lay off the twinkies!"))
M.AdjustSleeping(600)
. = TRUE
@@ -361,7 +361,7 @@
if(methods & INGEST)
if(!holder.has_reagent(/datum/reagent/consumable/milk))
if(prob(15))
- to_chat(exposed_mob, "[pick("Your head pounds.", "Your mouth feels like it's on fire.", "You feel dizzy.")]")
+ to_chat(exposed_mob, span_danger("[pick("Your head pounds.", "Your mouth feels like it's on fire.", "You feel dizzy.")]"))
if(prob(10))
victim.blur_eyes(1)
if(prob(10))
@@ -372,7 +372,7 @@
/datum/reagent/consumable/condensedcapsaicin/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(!holder.has_reagent(/datum/reagent/consumable/milk))
if(DT_PROB(5, delta_time))
- M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]")
+ M.visible_message(span_warning("[M] [pick("dry heaves!","coughs!","splutters!")]"))
..()
/datum/reagent/consumable/salt
@@ -452,7 +452,7 @@
/datum/reagent/consumable/garlic/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(isvampire(M)) //incapacitating but not lethal. Unfortunately, vampires cannot vomit.
if(DT_PROB(min(current_cycle/2, 12.5), delta_time))
- to_chat(M, "You can't get the scent of garlic out of your nose! You can barely think...")
+ to_chat(M, span_danger("You can't get the scent of garlic out of your nose! You can barely think..."))
M.Paralyze(10)
M.Jitter(10)
else
@@ -686,10 +686,10 @@
return
if(!exposed_mob.getorganslot(ORGAN_SLOT_EYES)) //can't blind somebody with no eyes
- to_chat(exposed_mob, "Your eye sockets feel wet.")
+ to_chat(exposed_mob, span_notice("Your eye sockets feel wet."))
else
if(!exposed_mob.eye_blurry)
- to_chat(exposed_mob, "Tears well up in your eyes!")
+ to_chat(exposed_mob, span_warning("Tears well up in your eyes!"))
exposed_mob.blind_eyes(2)
exposed_mob.blur_eyes(5)
@@ -698,7 +698,7 @@
if(M.eye_blurry) //Don't worsen vision if it was otherwise fine
M.blur_eyes(4 * REM * delta_time)
if(DT_PROB(5, delta_time))
- to_chat(M, "Your eyes sting!")
+ to_chat(M, span_warning("Your eyes sting!"))
M.blind_eyes(2)
diff --git a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm
index 79eec1d3441..f4e014b4ace 100644
--- a/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/impure_reagents/impure_medicine_reagents.dm
@@ -62,7 +62,7 @@
//Warns you about the impenting hands
/datum/reagent/inverse/helgrasp/on_mob_add(mob/living/L, amount)
- to_chat(L, "You hear laughter as malevolent hands apparate before you, eager to drag you down to hell...! Look out!")
+ to_chat(L, span_hierophant("You hear laughter as malevolent hands apparate before you, eager to drag you down to hell...! Look out!"))
playsound(L.loc, 'sound/chemistry/ahaha.ogg', 80, TRUE, -1) //Very obvious tell so people can be ready
. = ..()
@@ -226,7 +226,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
/datum/reagent/inverse/ichiyuri/on_mob_life(mob/living/carbon/owner, delta_time, times_fired)
if(prob(resetting_probability) && !(HAS_TRAIT(owner, TRAIT_RESTRAINED) || owner.incapacitated()))
if(spammer < world.time)
- to_chat(owner,"You can't help but itch yourself.")
+ to_chat(owner,span_warning("You can't help but itch yourself."))
spammer = world.time + (10 SECONDS)
var/scab = rand(1,7)
owner.adjustBruteLoss(scab*REM)
@@ -333,7 +333,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
/datum/reagent/inverse/healing/tirimol/on_mob_delete(mob/living/owner)
if(owner.IsSleeping())
- owner.visible_message("[icon2html(owner, viewers(DEFAULT_MESSAGE_RANGE, src))] [owner] lets out a hearty snore!")//small way of letting people know the supersnooze is ended
+ owner.visible_message(span_notice("[icon2html(owner, viewers(DEFAULT_MESSAGE_RANGE, src))] [owner] lets out a hearty snore!"))//small way of letting people know the supersnooze is ended
for(var/datum/reagent/reagent as anything in cached_reagent_list)
if(!reagent)
continue
@@ -546,7 +546,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
if(owner.health < -500 || heart.organ_flags & ORGAN_FAILING)//Honestly commendable if you get -500
explosion(owner, light_impact_range = 1)
qdel(heart)
- owner.visible_message("[owner]'s heart explodes!")
+ owner.visible_message(span_boldwarning("[owner]'s heart explodes!"))
return ..()
/datum/reagent/inverse/penthrite/overdose_start(mob/living/carbon/owner)
@@ -559,7 +559,7 @@ Basically, we fill the time between now and 2s from now with hands based off the
return ..()
explosion(owner, light_impact_range = 1)
qdel(heart)
- owner.visible_message("[owner]'s heart explodes!")
+ owner.visible_message(span_boldwarning("[owner]'s heart explodes!"))
return..()
/datum/reagent/inverse/penthrite/proc/remove_buffs(mob/living/carbon/owner)
diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
index 13585596ee3..52ec78812d7 100644
--- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm
@@ -61,7 +61,7 @@
if(1 to 32)
mytray.mutatepest(user)
else if(prob(20))
- mytray.visible_message("Nothing happens...")
+ mytray.visible_message(span_warning("Nothing happens..."))
/datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
M.heal_bodypart_damage(5 * REM * delta_time, 5 * REM * delta_time)
@@ -264,7 +264,7 @@
var/mob/living/carbon/patient = exposed_mob
if(reac_volume >= 5 && HAS_TRAIT_FROM(patient, TRAIT_HUSK, BURN) && patient.getFireLoss() < UNHUSK_DAMAGE_THRESHOLD) //One carp yields 12u rezadone.
patient.cure_husk(BURN)
- patient.visible_message("[patient]'s body rapidly absorbs moisture from the environment, taking on a more healthy appearance.")
+ patient.visible_message(span_nicegreen("[patient]'s body rapidly absorbs moisture from the environment, taking on a more healthy appearance."))
/datum/reagent/medicine/spaceacillin
name = "Spaceacillin"
@@ -331,11 +331,11 @@
/datum/reagent/medicine/salglu_solution/overdose_process(mob/living/M, delta_time, times_fired)
if(DT_PROB(1.5, delta_time))
- to_chat(M, "You feel salty.")
+ to_chat(M, span_warning("You feel salty."))
holder.add_reagent(/datum/reagent/consumable/salt, 1)
holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5)
else if(DT_PROB(1.5, delta_time))
- to_chat(M, "You feel sweet.")
+ to_chat(M, span_warning("You feel sweet."))
holder.add_reagent(/datum/reagent/consumable/sugar, 1)
holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5)
if(DT_PROB(18, delta_time))
@@ -368,7 +368,7 @@
if(methods & (INGEST|VAPOR|INJECT))
exposed_mob.adjust_nutrition(-5)
if(show_message)
- to_chat(exposed_mob, "Your stomach feels empty and cramps!")
+ to_chat(exposed_mob, span_warning("Your stomach feels empty and cramps!"))
if(methods & (PATCH|TOUCH))
var/mob/living/carbon/exposed_carbon = exposed_mob
@@ -377,7 +377,7 @@
surgery.speed_modifier = max(0.1, surgery.speed_modifier)
if(show_message)
- to_chat(exposed_carbon, "You feel your injuries fade away to nothing!" )
+ to_chat(exposed_carbon, span_danger("You feel your injuries fade away to nothing!") )
/datum/reagent/medicine/mine_salve/on_mob_end_metabolize(mob/living/M)
if(iscarbon(M))
@@ -537,7 +537,7 @@
if(DT_PROB(10 * (1-creation_purity), delta_time) && iscarbon(M))
var/obj/item/I = M.get_active_held_item()
if(I && M.dropItemToGround(I))
- to_chat(M, "Your hands spaz out and you drop what you were holding!")
+ to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!"))
M.Jitter(10)
M.AdjustAllImmobility(-20 * REM * delta_time * normalise_creation_purity())
@@ -549,11 +549,11 @@
if(DT_PROB(1 * normalise_creation_purity(), delta_time) && iscarbon(M))
var/datum/disease/D = new /datum/disease/heart_failure
M.ForceContractDisease(D)
- to_chat(M, "You're pretty sure you just felt your heart stop for a second there..")
+ to_chat(M, span_userdanger("You're pretty sure you just felt your heart stop for a second there.."))
M.playsound_local(M, 'sound/effects/singlebeat.ogg', 100, 0)
if(DT_PROB(3.5 * normalise_creation_purity(), delta_time))
- to_chat(M, "[pick("Your head pounds.", "You feel a tight pain in your chest.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]")
+ to_chat(M, span_notice("[pick("Your head pounds.", "You feel a tight pain in your chest.", "You find it hard to stay still.", "You feel your heart practically beating out of your chest.")]"))
if(DT_PROB(18 * normalise_creation_purity(), delta_time))
M.adjustToxLoss(1, 0)
@@ -601,7 +601,7 @@
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "numb", /datum/mood_event/narcotic_medium, name)
switch(current_cycle)
if(11)
- to_chat(M, "You start to feel tired..." )
+ to_chat(M, span_warning("You start to feel tired...") )
if(12 to 24)
M.drowsyness += 1 * REM * delta_time
if(24 to INFINITY)
@@ -683,12 +683,12 @@
eyes.applyOrganDamage(-2 * REM * delta_time * normalise_creation_purity())
if(HAS_TRAIT_FROM(owner, TRAIT_BLIND, EYE_DAMAGE))
if(DT_PROB(fix_prob, delta_time))
- to_chat(owner, "Your vision slowly returns...")
+ to_chat(owner, span_warning("Your vision slowly returns..."))
owner.cure_blind(EYE_DAMAGE)
owner.cure_nearsighted(EYE_DAMAGE)
owner.blur_eyes(35)
else if(HAS_TRAIT_FROM(owner, TRAIT_NEARSIGHT, EYE_DAMAGE))
- to_chat(owner, "The blackness in your peripheral vision fades.")
+ to_chat(owner, span_warning("The blackness in your peripheral vision fades."))
owner.cure_nearsighted(EYE_DAMAGE)
owner.blur_eyes(10)
..()
@@ -838,16 +838,16 @@
if(exposed_mob.stat != DEAD)
return ..()
if(exposed_mob.suiciding) //they are never coming back
- exposed_mob.visible_message("[exposed_mob]'s body does not react...")
+ exposed_mob.visible_message(span_warning("[exposed_mob]'s body does not react..."))
return
if(iscarbon(exposed_mob) && !(methods & INGEST)) //simplemobs can still be splashed
return ..()
var/amount_to_revive = round((exposed_mob.getBruteLoss()+exposed_mob.getFireLoss())/20)
if(exposed_mob.getBruteLoss()+exposed_mob.getFireLoss() >= 200 || HAS_TRAIT(exposed_mob, TRAIT_HUSK) || reac_volume < amount_to_revive) //body will die from brute+burn on revive or you haven't provided enough to revive.
- exposed_mob.visible_message("[exposed_mob]'s body convulses a bit, and then falls still once more.")
+ exposed_mob.visible_message(span_warning("[exposed_mob]'s body convulses a bit, and then falls still once more."))
exposed_mob.do_jitter_animation(10)
return
- exposed_mob.visible_message("[exposed_mob]'s body starts convulsing!")
+ exposed_mob.visible_message(span_warning("[exposed_mob]'s body starts convulsing!"))
exposed_mob.notify_ghost_cloning("Your body is being revived with Strange Reagent!")
exposed_mob.do_jitter_animation(10)
var/excess_healing = 5*(reac_volume-amount_to_revive) //excess reagent will heal blood and organs across the board
@@ -889,7 +889,7 @@
. = ..()
/datum/reagent/medicine/mannitol/overdose_start(mob/living/owner)
- to_chat(owner, "You suddenly feel E N L I G H T E N E D!")
+ to_chat(owner, span_notice("You suddenly feel E N L I G H T E N E D!"))
/datum/reagent/medicine/mannitol/overdose_process(mob/living/owner, delta_time, times_fired)
if(DT_PROB(65, delta_time))
@@ -902,7 +902,7 @@
else
tips = world.file2list("strings/chemistrytips.txt")
var/message = pick(tips)
- to_chat(owner, "Tip of the round: [html_encode(message)]")
+ to_chat(owner, span_purple("Tip of the round: [html_encode(message)]"))
..()
/datum/reagent/medicine/neurine
@@ -1314,7 +1314,7 @@
..()
/datum/reagent/medicine/modafinil/overdose_start(mob/living/M)
- to_chat(M, "You feel awfully out of breath and jittery!")
+ to_chat(M, span_userdanger("You feel awfully out of breath and jittery!"))
metabolization_rate = 0.025 * REAGENTS_METABOLISM // sets metabolism to 0.005 per second on overdose
/datum/reagent/medicine/modafinil/overdose_process(mob/living/M, delta_time, times_fired)
@@ -1335,11 +1335,11 @@
if(DT_PROB(30, delta_time))
M.losebreath++
if(DT_PROB(10, delta_time))
- to_chat(M, "You have a sudden fit!")
+ to_chat(M, span_userdanger("You have a sudden fit!"))
M.emote("moan")
M.Paralyze(20) // you should be in a bad spot at this point unless epipen has been used
if(81)
- to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal
+ to_chat(M, span_userdanger("You feel too exhausted to continue!")) // at this point you will eventually die unless you get charcoal
M.adjustOxyLoss(0.1 * REM * delta_time, 0)
M.adjustStaminaLoss(0.1 * REM * delta_time, 0)
if(82 to INFINITY)
@@ -1506,7 +1506,7 @@
if(bloodiest_wound)
if(!was_working)
- to_chat(M, "You can feel your flowing blood start thickening!")
+ to_chat(M, span_green("You can feel your flowing blood start thickening!"))
was_working = TRUE
bloodiest_wound.blood_flow = max(0, bloodiest_wound.blood_flow - (clot_rate * REM * delta_time))
else if(was_working)
@@ -1521,9 +1521,9 @@
M.losebreath += rand(2, 4)
M.adjustOxyLoss(rand(1, 3))
if(prob(30))
- to_chat(M, "You can feel your blood clotting up in your veins!")
+ to_chat(M, span_danger("You can feel your blood clotting up in your veins!"))
else if(prob(10))
- to_chat(M, "You feel like your blood has stopped moving!")
+ to_chat(M, span_userdanger("You feel like your blood has stopped moving!"))
M.adjustOxyLoss(rand(3, 4))
if(prob(50))
@@ -1542,7 +1542,7 @@
/datum/reagent/medicine/coagulant/on_mob_end_metabolize(mob/living/M)
if(was_working)
- to_chat(M, "The medicine thickening your blood loses its effect!")
+ to_chat(M, span_warning("The medicine thickening your blood loses its effect!"))
if(!ishuman(M))
return
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 952e872167a..edebb913acd 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -255,7 +255,7 @@
/datum/reagent/water/holywater/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)
. = ..()
if(IS_CULTIST(exposed_mob))
- to_chat(exposed_mob, "A vile holiness begins to spread its shining tendrils through your mind, purging the Geometer of Blood's influence!")
+ to_chat(exposed_mob, span_userdanger("A vile holiness begins to spread its shining tendrils through your mind, purging the Geometer of Blood's influence!"))
/datum/reagent/water/holywater/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(M.blood_volume)
@@ -267,7 +267,7 @@
M.jitteriness = min(M.jitteriness + (2 * delta_time), 10)
if(IS_CULTIST(M))
for(var/datum/action/innate/cult/blood_magic/BM in M.actions)
- to_chat(M, "Your blood rites falter as holy water scours your body!")
+ to_chat(M, span_cultlarge("Your blood rites falter as holy water scours your body!"))
for(var/datum/action/innate/cult/blood_spell/BS in BM.spells)
qdel(BS)
if(data["misc"] >= (25 SECONDS)) // 10 units
@@ -278,7 +278,7 @@
if(IS_CULTIST(M) && DT_PROB(10, delta_time))
M.say(pick("Av'te Nar'Sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","R'ge Na'sie","Diabo us Vo'iscum","Eld' Mon Nobis"), forced = "holy water")
if(prob(10))
- M.visible_message("[M] starts having a seizure!", "You have a seizure!")
+ M.visible_message(span_danger("[M] starts having a seizure!"), span_userdanger("You have a seizure!"))
M.Unconscious(12 SECONDS)
to_chat(M, "[pick("Your blood is your bond - you are nothing without it", "Do not forget your place", \
"All that power, and you still fail?", "If you cannot scour this poison, I shall scour your meager life!")].")
@@ -489,7 +489,7 @@
exposed_human.regenerate_icons()
if((methods & INGEST) && show_message)
- to_chat(exposed_mob, "That tasted horrible.")
+ to_chat(exposed_mob, span_notice("That tasted horrible."))
/datum/reagent/spraytan/overdose_process(mob/living/M, delta_time, times_fired)
@@ -557,13 +557,13 @@
for(var/i in mutationtexts)
if(mutationtexts[i] == filter)
pick_ur_fav += i
- to_chat(H, "[pick(pick_ur_fav)]")
+ to_chat(H, span_warning("[pick(pick_ur_fav)]"))
if(current_cycle >= cycles_to_turn)
var/datum/species/species_type = race
H.set_species(species_type)
holder.del_reagent(type)
- to_chat(H, "You've become \a [lowertext(initial(species_type.name))]!")
+ to_chat(H, span_warning("You've become \a [lowertext(initial(species_type.name))]!"))
return
..()
@@ -623,7 +623,7 @@
/datum/reagent/mutationtoxin/jelly/on_mob_life(mob/living/carbon/human/H, delta_time, times_fired)
if(isjellyperson(H))
- to_chat(H, "Your jelly shifts and morphs, turning you into another subspecies!")
+ to_chat(H, span_warning("Your jelly shifts and morphs, turning you into another subspecies!"))
var/species_type = pick(subtypesof(/datum/species/jelly))
H.set_species(species_type)
holder.del_reagent(type)
@@ -632,7 +632,7 @@
var/datum/species/species_type = pick(subtypesof(race))
H.set_species(species_type)
holder.del_reagent(type)
- to_chat(H, "You've become \a [initial(species_type.name)]!")
+ to_chat(H, span_warning("You've become \a [initial(species_type.name)]!"))
return TRUE
return ..()
@@ -718,7 +718,7 @@
..()
if (!istype(H))
return
- to_chat(H, "You grit your teeth in pain as your body rapidly mutates!")
+ to_chat(H, span_warning("You grit your teeth in pain as your body rapidly mutates!"))
H.visible_message("[H] suddenly transforms!")
randomize_human(H)
@@ -1088,7 +1088,7 @@
/datum/reagent/bluespace/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(current_cycle > 10 && DT_PROB(7.5, delta_time))
- to_chat(M, "You feel unstable...")
+ to_chat(M, span_warning("You feel unstable..."))
M.Jitter(2)
current_cycle = 1
addtimer(CALLBACK(M, /mob/living/proc/bluespace_shuffle), 30)
@@ -2130,7 +2130,7 @@
var/mob/living/carbon/human/exposed_human = exposed_mob
var/datum/sprite_accessory/hair/picked_hair = pick(GLOB.hairstyles_list)
var/datum/sprite_accessory/facial_hair/picked_beard = pick(GLOB.facial_hairstyles_list)
- to_chat(exposed_human, "Hair starts sprouting from your scalp.")
+ to_chat(exposed_human, span_notice("Hair starts sprouting from your scalp."))
exposed_human.hairstyle = picked_hair
exposed_human.facial_hairstyle = picked_beard
exposed_human.update_hair()
@@ -2150,7 +2150,7 @@
return
var/mob/living/carbon/human/exposed_human = exposed_mob
- to_chat(exposed_human, "Your hair starts growing at an incredible speed!")
+ to_chat(exposed_human, span_notice("Your hair starts growing at an incredible speed!"))
exposed_human.hairstyle = "Very Long Hair"
exposed_human.facial_hairstyle = "Beard (Very Long)"
exposed_human.update_hair()
@@ -2170,7 +2170,7 @@
return
var/mob/living/carbon/human/exposed_human = exposed_mob
- to_chat(exposed_human, "Your hair is falling out in clumps!")
+ to_chat(exposed_human, span_danger("Your hair is falling out in clumps!"))
exposed_human.hairstyle = "Bald"
exposed_human.facial_hairstyle = "Shaved"
exposed_human.update_hair()
@@ -2524,7 +2524,7 @@
var/dread = pick("Something is moving in your stomach...", \
"A wet growl echoes from your stomach...", \
"For a moment you feel like your surroundings are moving, but it's your stomach...")
- to_chat(C, "[dread]")
+ to_chat(C, span_userdanger("[dread]"))
yuck_cycle = current_cycle
else
var/yuck_cycles = current_cycle - yuck_cycle
diff --git a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm
index e3d7ca809d5..71d1f008b75 100644
--- a/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm
@@ -33,13 +33,13 @@
if(!.)
return
if(target.ph <= ph)
- target.my_atom.audible_message("The beaker froths as the buffer is added, to no effect.")
+ target.my_atom.audible_message(span_warning("The beaker froths as the buffer is added, to no effect."))
playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE)
holder.remove_reagent(type, amount)//Remove from holder because it's not transfered
return
var/ph_change = -((amount/target.total_volume)*strength)
target.adjust_all_reagents_ph(ph_change, ph, 14)
- target.my_atom.audible_message("The beaker fizzes as the ph changes!")
+ target.my_atom.audible_message(span_warning("The beaker fizzes as the ph changes!"))
playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE)
holder.remove_reagent(type, amount)
@@ -59,13 +59,13 @@
if(!.)
return
if(target.ph >= ph)
- target.my_atom.audible_message("The beaker froths as the buffer is added, to no effect.")
+ target.my_atom.audible_message(span_warning("The beaker froths as the buffer is added, to no effect."))
playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE)
holder.remove_reagent(type, amount)//Remove from holder because it's not transfered
return
var/ph_change = (amount/target.total_volume)*strength
target.adjust_all_reagents_ph(ph_change, 0, ph)
- target.my_atom.audible_message("The beaker froths as the ph changes!")
+ target.my_atom.audible_message(span_warning("The beaker froths as the ph changes!"))
playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE)
holder.remove_reagent(type, amount)
@@ -97,10 +97,10 @@
if(reagent.purity <= reagent.inverse_chem_val)
is_inverse = TRUE
if(is_inverse)
- target.my_atom.audible_message("The beaker bubbles violently as the reagent is added!")
+ target.my_atom.audible_message(span_warning("The beaker bubbles violently as the reagent is added!"))
playsound(target.my_atom, 'sound/chemistry/bufferadd.ogg', 50, TRUE)
else
- target.my_atom.audible_message("The added reagent doesn't seem to do much.")
+ target.my_atom.audible_message(span_warning("The added reagent doesn't seem to do much."))
holder.remove_reagent(type, amount)
/datum/reagent/reaction_agent/speed_agent
diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
index b9d0bc22b42..488609b6beb 100644
--- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm
@@ -181,7 +181,7 @@
/datum/reagent/toxin/slimejelly/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(5, delta_time))
- to_chat(M, "Your insides are burning!")
+ to_chat(M, span_danger("Your insides are burning!"))
M.adjustToxLoss(rand(20, 60), 0)
. = TRUE
else if(DT_PROB(23, delta_time))
@@ -565,7 +565,7 @@
if(DT_PROB(30, delta_time))
switch(pick(1, 2, 3, 4))
if(1)
- to_chat(M, "You can barely see!")
+ to_chat(M, span_danger("You can barely see!"))
M.blur_eyes(3)
if(2)
M.emote("cough")
@@ -573,7 +573,7 @@
M.emote("sneeze")
if(4)
if(prob(75))
- to_chat(M, "You scratch at an itch.")
+ to_chat(M, span_danger("You scratch at an itch."))
M.adjustBruteLoss(2*REM, 0)
. = TRUE
..()
@@ -665,7 +665,7 @@
if(DT_PROB(2.5, delta_time))
M.losebreath += 1
if(DT_PROB(4, delta_time))
- to_chat(M, "You feel horrendously weak!")
+ to_chat(M, span_danger("You feel horrendously weak!"))
M.Stun(40)
M.adjustToxLoss(2*REM * normalise_creation_purity(), 0)
return ..()
@@ -696,15 +696,15 @@
/datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M, delta_time, times_fired)
if(DT_PROB(8, delta_time))
- to_chat(M, "You scratch at your head.")
+ to_chat(M, span_danger("You scratch at your head."))
M.adjustBruteLoss(0.2*REM, 0)
. = TRUE
if(DT_PROB(8, delta_time))
- to_chat(M, "You scratch at your leg.")
+ to_chat(M, span_danger("You scratch at your leg."))
M.adjustBruteLoss(0.2*REM, 0)
. = TRUE
if(DT_PROB(8, delta_time))
- to_chat(M, "You scratch at your arm.")
+ to_chat(M, span_danger("You scratch at your arm."))
M.adjustBruteLoss(0.2*REM, 0)
. = TRUE
if(DT_PROB(1.5, delta_time))
@@ -738,7 +738,7 @@
if(!C.undergoing_cardiac_arrest() && C.can_heartattack())
C.set_heartattack(TRUE)
if(C.stat == CONSCIOUS)
- C.visible_message("[C] clutches at [C.p_their()] chest as if [C.p_their()] heart stopped!")
+ C.visible_message(span_userdanger("[C] clutches at [C.p_their()] chest as if [C.p_their()] heart stopped!"))
else
C.losebreath += 10
C.adjustOxyLoss(rand(5,25), 0)
@@ -883,7 +883,7 @@
if(current_cycle >= 33 && DT_PROB(7.5, delta_time))
C.spew_organ()
C.vomit(0, TRUE, TRUE, 4)
- to_chat(C, "You feel something lumpy come up as you vomit.")
+ to_chat(C, span_userdanger("You feel something lumpy come up as you vomit."))
/datum/reagent/toxin/curare
name = "Curare"
@@ -1127,7 +1127,7 @@
if(2)
M.manual_emote(pick("oofs silently.", "looks like their bones hurt.", "grimaces, as though their bones hurt."))
if(3)
- to_chat(M, "Your bones hurt!")
+ to_chat(M, span_warning("Your bones hurt!"))
return ..()
/datum/reagent/toxin/bonehurtingjuice/overdose_process(mob/living/carbon/M, delta_time, times_fired)
@@ -1136,11 +1136,11 @@
var/obj/item/bodypart/bp = M.get_bodypart(selected_part)
if(bp)
playsound(M, get_sfx("desecration"), 50, TRUE, -1)
- M.visible_message("[M]'s bones hurt too much!!", "Your bones hurt too much!!")
+ M.visible_message(span_warning("[M]'s bones hurt too much!!"), span_danger("Your bones hurt too much!!"))
M.say("OOF!!", forced = /datum/reagent/toxin/bonehurtingjuice)
bp.receive_damage(20, 0, 200, wound_bonus = rand(30, 130))
else //SUCH A LUST FOR REVENGE!!!
- to_chat(M, "A phantom limb hurts!")
+ to_chat(M, span_warning("A phantom limb hurts!"))
M.say("Why are we still here, just to suffer?", forced = /datum/reagent/toxin/bonehurtingjuice)
return ..()
@@ -1159,7 +1159,7 @@
M.set_confusion(M.dizziness) //add a tertiary effect here if this is isn't an effective poison.
if(current_cycle >= 12 && DT_PROB(4, delta_time))
var/tox_message = pick("You feel your heart spasm in your chest.", "You feel faint.","You feel you need to catch your breath.","You feel a prickle of pain in your chest.")
- to_chat(M, "[tox_message]")
+ to_chat(M, span_notice("[tox_message]"))
. = TRUE
..()
@@ -1177,6 +1177,6 @@
M.adjustOrganLoss(ORGAN_SLOT_EARS, 1 * REM * delta_time)
M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1 * REM * delta_time)
if(DT_PROB(0.5, delta_time))
- to_chat(M, "Ah, what was that? You thought you heard something...")
+ to_chat(M, span_notice("Ah, what was that? You thought you heard something..."))
M.add_confusion(5)
return ..()
diff --git a/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm b/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm
index fe58e7db304..78d2ae75578 100644
--- a/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm
+++ b/code/modules/reagents/chemistry/reagents/unique/eigenstasium.dm
@@ -65,7 +65,7 @@
eigenstate.set_light(2) //hologram lighting
location_return = get_turf(living_mob) //sets up return point
- to_chat(living_mob, "You feel like part of yourself has split off!")
+ to_chat(living_mob, span_userdanger("You feel like part of yourself has split off!"))
//Teleports you home if it's pure enough
if(creation_purity > 0.9 && location_created && data["ingested"])
@@ -83,7 +83,7 @@
/datum/reagent/eigenstate/on_mob_delete(mob/living/living_mob) //returns back to original location
do_sparks(5,FALSE,living_mob)
- to_chat(living_mob, "You feel strangely whole again.")
+ to_chat(living_mob, span_userdanger("You feel strangely whole again."))
if(!living_mob.reagents.has_reagent(/datum/reagent/stabilizing_agent))
do_teleport(living_mob, location_return, 0, asoundin = 'sound/effects/phasein.ogg') //Teleports home
do_sparks(5,FALSE,living_mob)
@@ -91,7 +91,7 @@
return ..()
/datum/reagent/eigenstate/overdose_start(mob/living/living_mob) //Overdose, makes you teleport randomly
- to_chat(living_mob, "You feel like your perspective is being ripped apart as you begin flitting in and out of reality!")
+ to_chat(living_mob, span_userdanger("You feel like your perspective is being ripped apart as you begin flitting in and out of reality!"))
living_mob.Jitter(20)
metabolization_rate += 0.5 //So you're not stuck forever teleporting.
if(iscarbon(living_mob))
diff --git a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm
index c1c8a25f7e6..0bb6e655582 100644
--- a/code/modules/reagents/chemistry/recipes/cat2_medicines.dm
+++ b/code/modules/reagents/chemistry/recipes/cat2_medicines.dm
@@ -33,7 +33,7 @@
new /obj/effect/hotspot(holder.my_atom.loc)
holder.remove_reagent(/datum/reagent/medicine/c2/helbital, 2)
holder.chem_temp += 5
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The impurity of the reacting helbital is too great causing [holder.my_atom] to let out a hearty burst of flame, evaporating part of the product!")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The impurity of the reacting helbital is too great causing [holder.my_atom] to let out a hearty burst of flame, evaporating part of the product!"))
/datum/chemical_reaction/medicine/helbital/overheated(datum/reagents/holder, datum/equilibrium/equilibrium, step_volume_added)
. = ..()//drains product
@@ -130,7 +130,7 @@
for(var/mob/living/living_mob in orange(3, get_turf(holder.my_atom)))
if(living_mob.flash_act(1, length = 5))
living_mob.set_blurriness(10)
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The [holder.my_atom] lets out a loud bang!")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The [holder.my_atom] lets out a loud bang!"))
playsound(holder.my_atom, 'sound/effects/explosion1.ogg', 50, 1)
/datum/chemical_reaction/medicine/hercuri
@@ -300,7 +300,7 @@
var/datum/reagent/monover = holder.has_reagent(/datum/reagent/inverse/healing/monover)
if(monover)
holder.remove_reagent(/datum/reagent/inverse/healing/monover, monover.volume)
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover bursts into flames from the heat!")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover bursts into flames from the heat!"))
explode_fire_square(holder, equilibrium, 1)
holder.my_atom.fire_act(holder.chem_temp, monover.volume)//I'm kinda banking on this setting the thing on fire. If you see this, then it didn't!
@@ -311,7 +311,7 @@
var/norm_d_ph = 1-(delta_ph/0.35)
holder.chem_temp += norm_d_ph*12 //0 - 48 per second)
if(delta_ph < 0.1)
- holder.my_atom.visible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover begins to glow!")
+ holder.my_atom.visible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The Monover begins to glow!"))
/datum/chemical_reaction/medicine/syriniver
results = list(/datum/reagent/medicine/c2/syriniver = 5)
diff --git a/code/modules/reagents/chemistry/recipes/medicine.dm b/code/modules/reagents/chemistry/recipes/medicine.dm
index a2110fcc668..c924ac608a4 100644
--- a/code/modules/reagents/chemistry/recipes/medicine.dm
+++ b/code/modules/reagents/chemistry/recipes/medicine.dm
@@ -74,12 +74,12 @@
///Calls it over and over
/datum/chemical_reaction/medicine/inacusiate/overheated(datum/reagents/holder, datum/equilibrium/equilibrium, vol_added)
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out a loud bang!")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out a loud bang!"))
explode_deafen(holder, equilibrium, 0.5, 10, 3)
/datum/chemical_reaction/medicine/inacusiate/overly_impure(datum/reagents/holder, datum/equilibrium/equilibrium, vol_added)
var/power = equilibrium.reacted_vol/10
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out an ear-crushingly loud bang!")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))]The [holder.my_atom] suddenly gives out an ear-crushingly loud bang!"))
explode_deafen(holder, equilibrium, power/2, power*2, max(power/2, 3))
clear_products(holder)
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index 9d20de8782a..1745c4466eb 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -326,7 +326,7 @@
reaction_flags = REACTION_INSTANT
/datum/chemical_reaction/foam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
- holder.create_foam(/datum/effect_system/foam_spread,2*created_volume,notification="The solution spews out foam!")
+ holder.create_foam(/datum/effect_system/foam_spread,2*created_volume,notification=span_danger("The solution spews out foam!"))
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE
/datum/chemical_reaction/metalfoam
@@ -336,7 +336,7 @@
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE
/datum/chemical_reaction/metalfoam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
- holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,1,"The solution spews out a metallic foam!")
+ holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,1,span_danger("The solution spews out a metallic foam!"))
/datum/chemical_reaction/smart_foam
required_reagents = list(/datum/reagent/aluminium = 3, /datum/reagent/smart_foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1)
@@ -345,7 +345,7 @@
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE
/datum/chemical_reaction/smart_foam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
- holder.create_foam(/datum/effect_system/foam_spread/metal/smart,5*created_volume,1,"The solution spews out metallic foam!")
+ holder.create_foam(/datum/effect_system/foam_spread/metal/smart,5*created_volume,1,span_danger("The solution spews out metallic foam!"))
/datum/chemical_reaction/ironfoam
required_reagents = list(/datum/reagent/iron = 3, /datum/reagent/foaming_agent = 1, /datum/reagent/toxin/acid/fluacid = 1)
@@ -354,7 +354,7 @@
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_UNIQUE
/datum/chemical_reaction/ironfoam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
- holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,2,"The solution spews out a metallic foam!")
+ holder.create_foam(/datum/effect_system/foam_spread/metal,5*created_volume,2,span_danger("The solution spews out a metallic foam!"))
/datum/chemical_reaction/foaming_agent
results = list(/datum/reagent/foaming_agent = 1)
@@ -907,4 +907,4 @@
clear_products(holder, step_volume_added)
return
clear_products(holder, step_volume_added)
- holder.my_atom.audible_message("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The reaction gives out a fizz, teleporting items everywhere!")
+ holder.my_atom.audible_message(span_notice("[icon2html(holder.my_atom, viewers(DEFAULT_MESSAGE_RANGE, src))] The reaction gives out a fizz, teleporting items everywhere!"))
diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
index 12bdd854177..feccf72d85e 100644
--- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
+++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm
@@ -131,13 +131,13 @@
deity = GLOB.deity
else
deity = "Christ"
- to_chat(R, "The power of [deity] compels you!")
+ to_chat(R, span_userdanger("The power of [deity] compels you!"))
R.stun(20)
R.reveal(100)
R.adjustHealth(50)
for(var/mob/living/carbon/C in get_hearers_in_view(effective_size,T))
if(IS_CULTIST(C))
- to_chat(C, "The divine explosion sears you!")
+ to_chat(C, span_userdanger("The divine explosion sears you!"))
C.Paralyze(40)
C.adjust_fire_stacks(5)
C.IgniteMob()
diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
index 43bea67dab0..0d37e63c62f 100644
--- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm
+++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm
@@ -25,7 +25,7 @@
/datum/chemical_reaction/slime/slimespawn/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/mob/living/simple_animal/slime/S = new(get_turf(holder.my_atom), "grey")
- S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!")
+ S.visible_message(span_danger("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!"))
..()
/datum/chemical_reaction/slime/slimeinaprov
@@ -103,21 +103,21 @@
M.qdel_timer = addtimer(CALLBACK(src, .proc/delete_extract, holder), 55, TIMER_STOPPABLE)
/datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T)
- T.visible_message("The slime extract begins to vibrate violently!")
+ T.visible_message(span_danger("The slime extract begins to vibrate violently!"))
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 5, "Gold Slime", HOSTILE_SPAWN), 50)
/datum/chemical_reaction/slime/slimemobspawn/lesser
required_reagents = list(/datum/reagent/blood = 1)
/datum/chemical_reaction/slime/slimemobspawn/lesser/summon_mobs(datum/reagents/holder, turf/T)
- T.visible_message("The slime extract begins to vibrate violently!")
+ T.visible_message(span_danger("The slime extract begins to vibrate violently!"))
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Lesser Gold Slime", HOSTILE_SPAWN, "neutral"), 50)
/datum/chemical_reaction/slime/slimemobspawn/friendly
required_reagents = list(/datum/reagent/water = 1)
/datum/chemical_reaction/slime/slimemobspawn/friendly/summon_mobs(datum/reagents/holder, turf/T)
- T.visible_message("The slime extract begins to vibrate adorably!")
+ T.visible_message(span_danger("The slime extract begins to vibrate adorably!"))
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 1, "Friendly Gold Slime", FRIENDLY_SPAWN, "neutral"), 50)
/datum/chemical_reaction/slime/slimemobspawn/spider
@@ -125,7 +125,7 @@
reaction_tags = REACTION_TAG_EASY | REACTION_TAG_SLIME | REACTION_TAG_DANGEROUS
/datum/chemical_reaction/slime/slimemobspawn/spider/summon_mobs(datum/reagents/holder, turf/T)
- T.visible_message("The slime extract begins to vibrate crikey-ingly!")
+ T.visible_message(span_danger("The slime extract begins to vibrate crikey-ingly!"))
addtimer(CALLBACK(src, .proc/chemical_mob_spawn, holder, 3, "Traitor Spider Slime", /mob/living/simple_animal/hostile/giant_spider/midwife, "neutral", FALSE), 50)
@@ -187,7 +187,7 @@
required_other = TRUE
/datum/chemical_reaction/slime/slimefoam/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
- holder.create_foam(/datum/effect_system/foam_spread,80, "[src] spews out foam!")
+ holder.create_foam(/datum/effect_system/foam_spread,80, span_danger("[src] spews out foam!"))
//Dark Blue
/datum/chemical_reaction/slime/slimefreeze
@@ -198,7 +198,7 @@
/datum/chemical_reaction/slime/slimefreeze/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/turf/T = get_turf(holder.my_atom)
- T.visible_message("The slime extract starts to feel extremely cold!")
+ T.visible_message(span_danger("The slime extract starts to feel extremely cold!"))
addtimer(CALLBACK(src, .proc/freeze, holder), 50)
var/obj/item/slime_extract/M = holder.my_atom
deltimer(M.qdel_timer)
@@ -236,7 +236,7 @@
/datum/chemical_reaction/slime/slimefire/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/turf/T = get_turf(holder.my_atom)
- T.visible_message("The slime extract begins to vibrate adorably!")
+ T.visible_message(span_danger("The slime extract begins to vibrate adorably!"))
addtimer(CALLBACK(src, .proc/slime_burn, holder), 50)
var/obj/item/slime_extract/M = holder.my_atom
deltimer(M.qdel_timer)
@@ -274,7 +274,7 @@
/datum/chemical_reaction/slime/slimeglow/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/turf/T = get_turf(holder.my_atom)
- T.visible_message("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly.")
+ T.visible_message(span_danger("The slime begins to emit a soft light. Squeezing it will cause it to grow brightly."))
new /obj/item/flashlight/slime(T)
..()
@@ -323,12 +323,12 @@
/datum/chemical_reaction/slime/slimebloodlust/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(holder.my_atom), null))
if(slime.docile) //Undoes docility, but doesn't make rabid.
- slime.visible_message("[slime] forgets its training, becoming wild once again!")
+ slime.visible_message(span_danger("[slime] forgets its training, becoming wild once again!"))
slime.docile = FALSE
slime.update_name()
continue
slime.rabid = 1
- slime.visible_message("The [slime] is driven into a frenzy!")
+ slime.visible_message(span_danger("The [slime] is driven into a frenzy!"))
..()
/datum/chemical_reaction/slime/slimespeed
@@ -383,7 +383,7 @@
touch_msg = "[ADMIN_LOOKUPFLW(toucher)]."
message_admins("Slime Explosion reaction started at [ADMIN_VERBOSEJMP(T)]. Last Fingerprint: [touch_msg]")
log_game("Slime Explosion reaction started at [AREACOORD(T)]. Last Fingerprint: [lastkey ? lastkey : "N/A"].")
- T.visible_message("The slime extract begins to vibrate violently !")
+ T.visible_message(span_danger("The slime extract begins to vibrate violently !"))
addtimer(CALLBACK(src, .proc/boom, holder), 50)
var/obj/item/slime_extract/M = holder.my_atom
deltimer(M.qdel_timer)
@@ -449,7 +449,7 @@
/datum/chemical_reaction/slime/slimecrystal/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/obj/item/stack/ore/bluespace_crystal/BC = new (get_turf(holder.my_atom))
- BC.visible_message("The [BC.name] appears out of thin air!")
+ BC.visible_message(span_notice("The [BC.name] appears out of thin air!"))
..()
/datum/chemical_reaction/slime/slimeradio
@@ -549,13 +549,13 @@
/datum/chemical_reaction/slime/slime_rng/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
if(created_volume >= 5)
var/obj/item/grenade/clusterbuster/slime/S = new (get_turf(holder.my_atom))
- S.visible_message("Infused with plasma, the core begins to expand uncontrollably!")
+ S.visible_message(span_danger("Infused with plasma, the core begins to expand uncontrollably!"))
S.icon_state = "[S.base_state]_active"
S.active = TRUE
addtimer(CALLBACK(S, /obj/item/grenade.proc/detonate), rand(15,60))
else
var/mob/living/simple_animal/slime/random/S = new (get_turf(holder.my_atom))
- S.visible_message("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!")
+ S.visible_message(span_danger("Infused with plasma, the core begins to quiver and grow, and a new baby slime emerges from it!"))
..()
/datum/chemical_reaction/slime/slimebomb
@@ -566,7 +566,7 @@
/datum/chemical_reaction/slime/slimebomb/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume)
var/turf/T = get_turf(holder.my_atom)
var/obj/item/grenade/clusterbuster/slime/volatile/S = new (T)
- S.visible_message("Infused with slime jelly, the core begins to expand uncontrollably!")
+ S.visible_message(span_danger("Infused with slime jelly, the core begins to expand uncontrollably!"))
S.icon_state = "[S.base_state]_active"
S.active = TRUE
addtimer(CALLBACK(S, /obj/item/grenade.proc/detonate), rand(15,60))
diff --git a/code/modules/reagents/reagent_containers.dm b/code/modules/reagents/reagent_containers.dm
index ed6b63847e4..100e3d29dbb 100644
--- a/code/modules/reagents/reagent_containers.dm
+++ b/code/modules/reagents/reagent_containers.dm
@@ -32,9 +32,9 @@
/obj/item/reagent_containers/examine()
. = ..()
if(possible_transfer_amounts.len > 1)
- . += "Left-click or right-click in-hand to increase or decrease its transfer amount."
+ . += span_notice("Left-click or right-click in-hand to increase or decrease its transfer amount.")
else if(possible_transfer_amounts.len)
- . += "Left-click or right-click in-hand to view its transfer amount."
+ . += span_notice("Left-click or right-click in-hand to view its transfer amount.")
/obj/item/reagent_containers/create_reagents(max_vol, flags)
. = ..()
@@ -99,17 +99,17 @@
var/reagent_text
user.visible_message(
- "[user] splashes the contents of [src] onto [target][punctuation]",
- "You splash the contents of [src] onto [target][punctuation]",
+ span_danger("[user] splashes the contents of [src] onto [target][punctuation]"),
+ span_danger("You splash the contents of [src] onto [target][punctuation]"),
ignored_mobs = target,
)
if (ismob(target))
var/mob/target_mob = target
target_mob.show_message(
- "[user] splash the contents of [src] onto you!",
+ span_userdanger("[user] splash the contents of [src] onto you!"),
MSG_VISUAL,
- "You feel drenched!",
+ span_userdanger("You feel drenched!"),
)
for(var/datum/reagent/reagent as anything in reagents.reagent_list)
@@ -137,7 +137,7 @@
covered = "mask"
if(covered)
var/who = (isnull(user) || eater == user) ? "your" : "[eater.p_their()]"
- to_chat(user, "You have to remove [who] [covered] first!")
+ to_chat(user, span_warning("You have to remove [who] [covered] first!"))
return FALSE
return TRUE
@@ -183,8 +183,8 @@
reagents.total_volume *= rand(5,10) * 0.1 //Not all of it makes contact with the target
var/mob/M = target
var/R
- target.visible_message("[M] is splashed with something!", \
- "[M] is splashed with something!")
+ target.visible_message(span_danger("[M] is splashed with something!"), \
+ span_userdanger("[M] is splashed with something!"))
for(var/datum/reagent/A in reagents.reagent_list)
R += "[A.type] ([num2text(A.volume)]),"
@@ -193,7 +193,7 @@
reagents.expose(target, TOUCH)
else if(bartender_check(target) && thrown)
- visible_message("[src] lands onto the [target.name] without spilling a single drop.")
+ visible_message(span_notice("[src] lands onto the [target.name] without spilling a single drop."))
return
else
@@ -201,7 +201,7 @@
log_combat(thrown_by, target, "splashed (thrown) [english_list(reagents.reagent_list)]", "in [AREACOORD(target)]")
log_game("[key_name(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [AREACOORD(target)].")
message_admins("[ADMIN_LOOKUPFLW(thrown_by)] splashed (thrown) [english_list(reagents.reagent_list)] on [target] in [ADMIN_VERBOSEJMP(target)].")
- visible_message("[src] spills its contents all over [target].")
+ visible_message(span_notice("[src] spills its contents all over [target]."))
reagents.expose(target, TOUCH)
if(QDELETED(src))
return
diff --git a/code/modules/reagents/reagent_containers/blood_pack.dm b/code/modules/reagents/reagent_containers/blood_pack.dm
index 1a7195a3a39..f698ee6e9cf 100644
--- a/code/modules/reagents/reagent_containers/blood_pack.dm
+++ b/code/modules/reagents/reagent_containers/blood_pack.dm
@@ -69,7 +69,7 @@
/obj/item/reagent_containers/blood/attackby(obj/item/I, mob/user, params)
if (istype(I, /obj/item/pen) || istype(I, /obj/item/toy/crayon))
if(!user.is_literate())
- to_chat(user, "You scribble illegibly on the label of [src]!")
+ to_chat(user, span_notice("You scribble illegibly on the label of [src]!"))
return
var/t = stripped_input(user, "What would you like to label the blood pack?", name, null, 53)
if(!user.canUseTopic(src, BE_CLOSE))
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index e416df30935..1f68456f348 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -106,16 +106,16 @@ Borg Hypospray
/obj/item/reagent_containers/borghypo/attack(mob/living/carbon/M, mob/user)
var/datum/reagents/R = reagent_list[mode]
if(!R.total_volume)
- to_chat(user, "The injector is empty!")
+ to_chat(user, span_warning("The injector is empty!"))
return
if(!istype(M))
return
if(R.total_volume && M.try_inject(user, user.zone_selected, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE | (bypass_protection ? INJECT_CHECK_PENETRATE_THICK : 0)))
- to_chat(M, "You feel a tiny prick!")
- to_chat(user, "You inject [M] with the injector.")
+ to_chat(M, span_warning("You feel a tiny prick!"))
+ to_chat(user, span_notice("You inject [M] with the injector."))
if(M.reagents)
var/trans = R.trans_to(M, amount_per_transfer_from_this, transfered_by = user, methods = INJECT)
- to_chat(user, "[trans] unit\s injected. [R.total_volume] unit\s remaining.")
+ to_chat(user, span_notice("[trans] unit\s injected. [R.total_volume] unit\s remaining."))
var/list/injected = list()
for(var/datum/reagent/RG in R.reagent_list)
@@ -129,7 +129,7 @@ Borg Hypospray
mode = chosen_reagent
playsound(loc, 'sound/effects/pop.ogg', 50, FALSE)
var/datum/reagent/R = GLOB.chemical_reagents_list[reagent_ids[mode]]
- to_chat(user, "[src] is now dispensing '[R.name]'.")
+ to_chat(user, span_notice("[src] is now dispensing '[R.name]'."))
return
/obj/item/reagent_containers/borghypo/examine(mob/user)
@@ -137,7 +137,7 @@ Borg Hypospray
. += DescribeContents() //Because using the standardized reagents datum was just too cool for whatever fuckwit wrote this
var/datum/reagent/loaded = modes[mode]
. += "Currently loaded: [initial(loaded.name)]. [initial(loaded.description)]"
- . += "Alt+Click to change transfer amount. Currently set to [amount_per_transfer_from_this == 5 ? "dose normally (5u)" : "microdose (2u)"]."
+ . += span_notice("Alt+Click to change transfer amount. Currently set to [amount_per_transfer_from_this == 5 ? "dose normally (5u)" : "microdose (2u)"].")
/obj/item/reagent_containers/borghypo/proc/DescribeContents()
. = list()
@@ -146,11 +146,11 @@ Borg Hypospray
for(var/datum/reagents/RS in reagent_list)
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
- . += "It currently has [R.volume] unit\s of [R.name] stored."
+ . += span_notice("It currently has [R.volume] unit\s of [R.name] stored.")
empty = FALSE
if(empty)
- . += "It is currently empty! Allow some time for the internal synthesizer to produce more."
+ . += span_warning("It is currently empty! Allow some time for the internal synthesizer to produce more.")
/obj/item/reagent_containers/borghypo/AltClick(mob/living/user)
. = ..()
@@ -160,7 +160,7 @@ Borg Hypospray
amount_per_transfer_from_this = 2
else
amount_per_transfer_from_this = 5
- to_chat(user,"[src] is now set to [amount_per_transfer_from_this == 5 ? "dose normally" : "microdose"].")
+ to_chat(user,span_notice("[src] is now set to [amount_per_transfer_from_this == 5 ? "dose normally" : "microdose"]."))
/obj/item/reagent_containers/borghypo/hacked
icon_state = "borghypo_s"
@@ -247,23 +247,23 @@ Borg Shaker
else if(target.is_refillable())
var/datum/reagents/R = reagent_list[mode]
if(!R.total_volume)
- to_chat(user, "[src] is currently out of this ingredient! Please allow some time for the synthesizer to produce more.")
+ to_chat(user, span_warning("[src] is currently out of this ingredient! Please allow some time for the synthesizer to produce more."))
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- to_chat(user, "[target] is full.")
+ to_chat(user, span_notice("[target] is full."))
return
var/trans = R.trans_to(target, amount_per_transfer_from_this, transfered_by = user)
- to_chat(user, "You transfer [trans] unit\s of the solution to [target].")
+ to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target]."))
/obj/item/reagent_containers/borghypo/borgshaker/DescribeContents()
var/datum/reagents/RS = reagent_list[mode]
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
- return "It currently has [R.volume] unit\s of [R.name] stored."
+ return span_notice("It currently has [R.volume] unit\s of [R.name] stored.")
else
- return "It is currently empty! Please allow some time for the synthesizer to produce more."
+ return span_warning("It is currently empty! Please allow some time for the synthesizer to produce more.")
/obj/item/reagent_containers/borghypo/borgshaker/hacked
name = "cyborg shaker"
diff --git a/code/modules/reagents/reagent_containers/chem_pack.dm b/code/modules/reagents/reagent_containers/chem_pack.dm
index a6e39995eee..62441ee00e9 100644
--- a/code/modules/reagents/reagent_containers/chem_pack.dm
+++ b/code/modules/reagents/reagent_containers/chem_pack.dm
@@ -15,7 +15,7 @@
/obj/item/reagent_containers/chem_pack/AltClick(mob/living/user)
if(user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && !sealed)
if(iscarbon(user) && (HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50)))
- to_chat(user, "Uh... whoops! You accidentally spill the content of the bag onto yourself.")
+ to_chat(user, span_warning("Uh... whoops! You accidentally spill the content of the bag onto yourself."))
SplashReagents(user)
return
@@ -24,14 +24,14 @@
reagents.flags = reagent_flags
spillable = FALSE
sealed = TRUE
- to_chat(user, "You seal the bag.")
+ to_chat(user, span_notice("You seal the bag."))
/obj/item/reagent_containers/chem_pack/examine()
. = ..()
if(sealed)
- . += "The bag is sealed shut."
+ . += span_notice("The bag is sealed shut.")
else
- . += "Alt-click to seal it."
+ . += span_notice("Alt-click to seal it.")
/obj/item/reagent_containers/chem_pack/attack_self(mob/user)
diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm
index 6667b66f7ba..60b73ac09bc 100644
--- a/code/modules/reagents/reagent_containers/dropper.dm
+++ b/code/modules/reagents/reagent_containers/dropper.dm
@@ -19,11 +19,11 @@
if(reagents.total_volume > 0)
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- to_chat(user, "[target] is full.")
+ to_chat(user, span_notice("[target] is full."))
return
if(!target.is_injectable(user))
- to_chat(user, "You cannot transfer reagents to [target]!")
+ to_chat(user, span_warning("You cannot transfer reagents to [target]!"))
return
var/trans = 0
@@ -41,18 +41,18 @@
trans = reagents.trans_to(safe_thing, amount_per_transfer_from_this, transfered_by = user, methods = TOUCH)
- target.visible_message("[user] tries to squirt something into [target]'s eyes, but fails!", \
- "[user] tries to squirt something into your eyes, but fails!")
+ target.visible_message(span_danger("[user] tries to squirt something into [target]'s eyes, but fails!"), \
+ span_userdanger("[user] tries to squirt something into your eyes, but fails!"))
- to_chat(user, "You transfer [trans] unit\s of the solution.")
+ to_chat(user, span_notice("You transfer [trans] unit\s of the solution."))
update_appearance()
return
else if(isalien(target)) //hiss-hiss has no eyes!
- to_chat(target, "[target] does not seem to have any eyes!")
+ to_chat(target, span_danger("[target] does not seem to have any eyes!"))
return
- target.visible_message("[user] squirts something into [target]'s eyes!", \
- "[user] squirts something into your eyes!")
+ target.visible_message(span_danger("[user] squirts something into [target]'s eyes!"), \
+ span_userdanger("[user] squirts something into your eyes!"))
reagents.expose(target, TOUCH, fraction)
var/mob/M = target
@@ -64,22 +64,22 @@
log_combat(user, M, "squirted", R)
trans = src.reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user)
- to_chat(user, "You transfer [trans] unit\s of the solution.")
+ to_chat(user, span_notice("You transfer [trans] unit\s of the solution."))
update_appearance()
else
if(!target.is_drawable(user, FALSE)) //No drawing from mobs here
- to_chat(user, "You cannot directly remove reagents from [target]!")
+ to_chat(user, span_warning("You cannot directly remove reagents from [target]!"))
return
if(!target.reagents.total_volume)
- to_chat(user, "[target] is empty!")
+ to_chat(user, span_warning("[target] is empty!"))
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user)
- to_chat(user, "You fill [src] with [trans] unit\s of the solution.")
+ to_chat(user, span_notice("You fill [src] with [trans] unit\s of the solution."))
update_appearance()
diff --git a/code/modules/reagents/reagent_containers/glass.dm b/code/modules/reagents/reagent_containers/glass.dm
index 0fa5a7db210..eac8125c18e 100755
--- a/code/modules/reagents/reagent_containers/glass.dm
+++ b/code/modules/reagents/reagent_containers/glass.dm
@@ -17,22 +17,22 @@
return
if(!reagents || !reagents.total_volume)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return
if(istype(M))
if(M != user)
- M.visible_message("[user] attempts to feed [M] something from [src].", \
- "[user] attempts to feed you something from [src].")
+ M.visible_message(span_danger("[user] attempts to feed [M] something from [src]."), \
+ span_userdanger("[user] attempts to feed you something from [src]."))
if(!do_mob(user, M))
return
if(!reagents || !reagents.total_volume)
return // The drink might be empty after the delay, such as by spam-feeding
- M.visible_message("[user] feeds [M] something from [src].", \
- "[user] feeds you something from [src].")
+ M.visible_message(span_danger("[user] feeds [M] something from [src]."), \
+ span_userdanger("[user] feeds you something from [src]."))
log_combat(user, M, "fed", reagents.log_list())
else
- to_chat(user, "You swallow a gulp of [src].")
+ to_chat(user, span_notice("You swallow a gulp of [src]."))
SEND_SIGNAL(src, COMSIG_GLASS_DRANK, M, user)
addtimer(CALLBACK(reagents, /datum/reagents.proc/trans_to, M, 5, TRUE, TRUE, FALSE, user, FALSE, INGEST), 5)
playsound(M.loc,'sound/items/drink.ogg', rand(10,50), TRUE)
@@ -58,33 +58,33 @@
if(target.is_refillable()) //Something like a glass. Player probably wants to transfer TO it.
if(!reagents.total_volume)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return
if(target.reagents.holder_full())
- to_chat(user, "[target] is full.")
+ to_chat(user, span_warning("[target] is full."))
return
var/trans = reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user)
- to_chat(user, "You transfer [trans] unit\s of the solution to [target].")
+ to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target]."))
else if(target.is_drainable()) //A dispenser. Transfer FROM it TO us.
if(!target.reagents.total_volume)
- to_chat(user, "[target] is empty and can't be refilled!")
+ to_chat(user, span_warning("[target] is empty and can't be refilled!"))
return
if(reagents.holder_full())
- to_chat(user, "[src] is full.")
+ to_chat(user, span_warning("[src] is full."))
return
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user)
- to_chat(user, "You fill [src] with [trans] unit\s of the contents of [target].")
+ to_chat(user, span_notice("You fill [src] with [trans] unit\s of the contents of [target]."))
/obj/item/reagent_containers/glass/attackby(obj/item/I, mob/user, params)
var/hotness = I.get_temperature()
if(hotness && reagents)
reagents.expose_temperature(hotness)
- to_chat(user, "You heat [name] with [I]!")
+ to_chat(user, span_notice("You heat [name] with [I]!"))
//Cooling method
if(istype(I, /obj/item/extinguisher))
@@ -92,11 +92,11 @@
if(extinguisher.safety)
return
if (extinguisher.reagents.total_volume < 1)
- to_chat(user, "\The [extinguisher] is empty!")
+ to_chat(user, span_warning("\The [extinguisher] is empty!"))
return
var/cooling = (0 - reagents.chem_temp) * extinguisher.cooling_power * 2
reagents.expose_temperature(cooling)
- to_chat(user, "You cool the [name] with the [I]!")
+ to_chat(user, span_notice("You cool the [name] with the [I]!"))
playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3)
extinguisher.reagents.remove_all(1)
@@ -104,9 +104,9 @@
var/obj/item/food/egg/E = I
if(reagents)
if(reagents.total_volume >= reagents.maximum_volume)
- to_chat(user, "[src] is full.")
+ to_chat(user, span_notice("[src] is full."))
else
- to_chat(user, "You break [E] in [src].")
+ to_chat(user, span_notice("You break [E] in [src]."))
E.reagents.trans_to(src, E.reagents.total_volume, transfered_by = user)
qdel(E)
return
@@ -262,13 +262,13 @@
/obj/item/reagent_containers/glass/bucket/attackby(obj/O, mob/user, params)
if(istype(O, /obj/item/mop))
if(reagents.total_volume < 1)
- to_chat(user, "[src] is out of water!")
+ to_chat(user, span_warning("[src] is out of water!"))
else
reagents.trans_to(O, 5, transfered_by = user)
- to_chat(user, "You wet [O] in [src].")
+ to_chat(user, span_notice("You wet [O] in [src]."))
playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE)
else if(isprox(O)) //This works with wooden buckets for now. Somewhat unintended, but maybe someone will add sprites for it soon(TM)
- to_chat(user, "You add [O] to [src].")
+ to_chat(user, span_notice("You add [O] to [src]."))
qdel(O)
qdel(src)
user.put_in_hands(new /obj/item/bot_assembly/cleanbot)
@@ -279,7 +279,7 @@
..()
if (slot == ITEM_SLOT_HEAD)
if(reagents.total_volume)
- to_chat(user, "[src]'s contents spill all over you!")
+ to_chat(user, span_userdanger("[src]'s contents spill all over you!"))
reagents.expose(user, TOUCH)
reagents.clear_reagents()
reagents.flags = NONE
@@ -321,43 +321,43 @@
if(grinded)
grinded.forceMove(drop_location())
grinded = null
- to_chat(user, "You eject the item inside.")
+ to_chat(user, span_notice("You eject the item inside."))
/obj/item/reagent_containers/glass/mortar/attackby(obj/item/I, mob/living/carbon/human/user)
..()
if(istype(I,/obj/item/pestle))
if(grinded)
if(user.getStaminaLoss() > 50)
- to_chat(user, "You are too tired to work!")
+ to_chat(user, span_warning("You are too tired to work!"))
return
- to_chat(user, "You start grinding...")
+ to_chat(user, span_notice("You start grinding..."))
if((do_after(user, 25, target = src)) && grinded)
user.adjustStaminaLoss(40)
if(grinded.juice_results) //prioritize juicing
grinded.on_juice()
reagents.add_reagent_list(grinded.juice_results)
- to_chat(user, "You juice [grinded] into a fine liquid.")
+ to_chat(user, span_notice("You juice [grinded] into a fine liquid."))
QDEL_NULL(grinded)
return
grinded.on_grind()
reagents.add_reagent_list(grinded.grind_results)
if(grinded.reagents) //food and pills
grinded.reagents.trans_to(src, grinded.reagents.total_volume, transfered_by = user)
- to_chat(user, "You break [grinded] into powder.")
+ to_chat(user, span_notice("You break [grinded] into powder."))
QDEL_NULL(grinded)
return
return
else
- to_chat(user, "There is nothing to grind!")
+ to_chat(user, span_warning("There is nothing to grind!"))
return
if(grinded)
- to_chat(user, "There is something inside already!")
+ to_chat(user, span_warning("There is something inside already!"))
return
if(I.juice_results || I.grind_results)
I.forceMove(src)
grinded = I
return
- to_chat(user, "You can't grind this!")
+ to_chat(user, span_warning("You can't grind this!"))
/obj/item/reagent_containers/glass/saline
name = "saline canister"
diff --git a/code/modules/reagents/reagent_containers/hypospray.dm b/code/modules/reagents/reagent_containers/hypospray.dm
index 495d598b8b8..22494d9fb14 100644
--- a/code/modules/reagents/reagent_containers/hypospray.dm
+++ b/code/modules/reagents/reagent_containers/hypospray.dm
@@ -26,7 +26,7 @@
///Handles all injection checks, injection and logging.
/obj/item/reagent_containers/hypospray/proc/inject(mob/living/M, mob/user)
if(!reagents.total_volume)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return FALSE
if(!iscarbon(M))
return FALSE
@@ -39,8 +39,8 @@
log_combat(user, M, "attempted to inject", src, "([contained])")
if(reagents.total_volume && (ignore_flags || M.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))) // Ignore flag should be checked first or there will be an error message.
- to_chat(M, "You feel a tiny prick!")
- to_chat(user, "You inject [M] with [src].")
+ to_chat(M, span_warning("You feel a tiny prick!"))
+ to_chat(user, span_notice("You inject [M] with [src]."))
var/fraction = min(amount_per_transfer_from_this/reagents.total_volume, 1)
@@ -51,7 +51,7 @@
else
reagents.expose(M, INJECT, fraction)
trans = reagents.copy_to(M, amount_per_transfer_from_this)
- to_chat(user, "[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src].")
+ to_chat(user, span_notice("[trans] unit\s injected. [reagents.total_volume] unit\s remaining in [src]."))
log_combat(user, M, "injected", src, "([contained])")
return TRUE
return FALSE
@@ -116,7 +116,7 @@
custom_premium_price = PAYCHECK_HARD
/obj/item/reagent_containers/hypospray/medipen/suicide_act(mob/living/carbon/user)
- user.visible_message("[user] begins to choke on \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins to choke on \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return OXYLOSS//ironic. he could save others from oxyloss, but not himself.
/obj/item/reagent_containers/hypospray/medipen/inject(mob/living/M, mob/user)
@@ -137,9 +137,9 @@
/obj/item/reagent_containers/hypospray/medipen/examine()
. = ..()
if(reagents?.reagent_list.len)
- . += "It is currently loaded."
+ . += span_notice("It is currently loaded.")
else
- . += "It is spent."
+ . += span_notice("It is spent.")
/obj/item/reagent_containers/hypospray/medipen/stimpack //goliath kiting
name = "stimpack medipen"
@@ -238,10 +238,10 @@
return ..()
if(DOING_INTERACTION(user, DOAFTER_SOURCE_SURVIVALPEN))
- to_chat(user,"You are too busy to use \the [src]!")
+ to_chat(user,span_notice("You are too busy to use \the [src]!"))
return
- to_chat(user,"You start manually releasing the low-pressure gauge...")
+ to_chat(user,span_notice("You start manually releasing the low-pressure gauge..."))
if(!do_mob(user, M, 10 SECONDS, interaction_key = DOAFTER_SOURCE_SURVIVALPEN))
return
diff --git a/code/modules/reagents/reagent_containers/maunamug.dm b/code/modules/reagents/reagent_containers/maunamug.dm
index b72e0a7adf2..3a71d6726ee 100644
--- a/code/modules/reagents/reagent_containers/maunamug.dm
+++ b/code/modules/reagents/reagent_containers/maunamug.dm
@@ -21,11 +21,11 @@
/obj/item/reagent_containers/glass/maunamug/examine(mob/user)
. = ..()
- . += "The status display reads: Current temperature: [reagents.chem_temp]K Current Charge:[cell ? "[cell.charge / cell.maxcharge * 100]%" : "No cell found"]."
+ . += span_notice("The status display reads: Current temperature: [reagents.chem_temp]K Current Charge:[cell ? "[cell.charge / cell.maxcharge * 100]%" : "No cell found"].")
if(open)
- . += "The battery case is open."
+ . += span_notice("The battery case is open.")
if(cell && cell.charge > 0)
- . += "Ctrl+Click to toggle the power."
+ . += span_notice("Ctrl+Click to toggle the power.")
/obj/item/reagent_containers/glass/maunamug/process(delta_time)
..()
@@ -41,7 +41,7 @@
update_appearance()
if(reagents.chem_temp >= max_temp)
change_power_status(FALSE)
- audible_message("The Mauna Mug lets out a happy beep and turns off!")
+ audible_message(span_notice("The Mauna Mug lets out a happy beep and turns off!"))
playsound(src, 'sound/machines/chime.ogg', 50)
/obj/item/reagent_containers/glass/maunamug/Destroy()
@@ -69,7 +69,7 @@
/obj/item/reagent_containers/glass/maunamug/screwdriver_act(mob/living/user, obj/item/I)
. = ..()
open = !open
- to_chat(user, "You screw the battery case on [src] [open ? "open" : "closed"] .")
+ to_chat(user, span_notice("You screw the battery case on [src] [open ? "open" : "closed"] ."))
update_appearance()
/obj/item/reagent_containers/glass/maunamug/attackby(obj/item/I, mob/user, params)
@@ -77,15 +77,15 @@
if(!istype(I, /obj/item/stock_parts/cell))
return ..()
if(!open)
- to_chat(user, "The battery case must be open to insert a power cell!")
+ to_chat(user, span_warning("The battery case must be open to insert a power cell!"))
return FALSE
if(cell)
- to_chat(user, "There is already a power cell inside!")
+ to_chat(user, span_warning("There is already a power cell inside!"))
return FALSE
else if(!user.transferItemToLoc(I, src))
return
cell = I
- user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].")
+ user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src]."))
update_appearance()
/obj/item/reagent_containers/glass/maunamug/attack_hand(mob/living/user, list/modifiers)
@@ -93,7 +93,7 @@
cell.update_appearance()
user.put_in_hands(cell)
cell = null
- to_chat(user, "You remove the power cell from [src].")
+ to_chat(user, span_notice("You remove the power cell from [src]."))
on = FALSE
update_appearance()
return TRUE
diff --git a/code/modules/reagents/reagent_containers/medigel.dm b/code/modules/reagents/reagent_containers/medigel.dm
index 67923cce59f..c6c8a0f494a 100644
--- a/code/modules/reagents/reagent_containers/medigel.dm
+++ b/code/modules/reagents/reagent_containers/medigel.dm
@@ -42,32 +42,32 @@
return ..()
/obj/item/reagent_containers/medigel/mode_change_message(mob/user)
- to_chat(user, "You will now apply the medigel's contents in [squirt_mode ? "short bursts":"extended sprays"]. You'll now use [amount_per_transfer_from_this] units per use.")
+ to_chat(user, span_notice("You will now apply the medigel's contents in [squirt_mode ? "short bursts":"extended sprays"]. You'll now use [amount_per_transfer_from_this] units per use."))
/obj/item/reagent_containers/medigel/attack(mob/M, mob/user, def_zone)
if(!reagents || !reagents.total_volume)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return
if(M == user)
- M.visible_message("[user] attempts to [apply_method] [src] on [user.p_them()]self.")
+ M.visible_message(span_notice("[user] attempts to [apply_method] [src] on [user.p_them()]self."))
if(self_delay)
if(!do_mob(user, M, self_delay))
return
if(!reagents || !reagents.total_volume)
return
- to_chat(M, "You [apply_method] yourself with [src].")
+ to_chat(M, span_notice("You [apply_method] yourself with [src]."))
else
log_combat(user, M, "attempted to apply", src, reagents.log_list())
- M.visible_message("[user] attempts to [apply_method] [src] on [M].", \
- "[user] attempts to [apply_method] [src] on you.")
+ M.visible_message(span_danger("[user] attempts to [apply_method] [src] on [M]."), \
+ span_userdanger("[user] attempts to [apply_method] [src] on you."))
if(!do_mob(user, M, CHEM_INTERACT_DELAY(3 SECONDS, user)))
return
if(!reagents || !reagents.total_volume)
return
- M.visible_message("[user] [apply_method]s [M] down with [src].", \
- "[user] [apply_method]s you down with [src].")
+ M.visible_message(span_danger("[user] [apply_method]s [M] down with [src]."), \
+ span_userdanger("[user] [apply_method]s you down with [src]."))
if(!reagents || !reagents.total_volume)
return
diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm
index bd145ac8a47..4bb98269ae9 100644
--- a/code/modules/reagents/reagent_containers/patch.dm
+++ b/code/modules/reagents/reagent_containers/patch.dm
@@ -15,10 +15,10 @@
if(ishuman(L))
var/obj/item/bodypart/affecting = L.get_bodypart(check_zone(user.zone_selected))
if(!affecting)
- to_chat(user, "The limb is missing!")
+ to_chat(user, span_warning("The limb is missing!"))
return
if(affecting.status != BODYPART_ORGANIC)
- to_chat(user, "Medicine won't work on a robotic limb!")
+ to_chat(user, span_notice("Medicine won't work on a robotic limb!"))
return
..()
diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm
index 385d6afaf0d..d0b757a8674 100644
--- a/code/modules/reagents/reagent_containers/pill.dm
+++ b/code/modules/reagents/reagent_containers/pill.dm
@@ -28,26 +28,26 @@
return FALSE
if(M == user)
- M.visible_message("[user] attempts to [apply_method] [src].")
+ M.visible_message(span_notice("[user] attempts to [apply_method] [src]."))
if(self_delay)
if(!do_mob(user, M, self_delay))
return FALSE
- to_chat(M, "You [apply_method] [src].")
+ to_chat(M, span_notice("You [apply_method] [src]."))
else
- M.visible_message("[user] attempts to force [M] to [apply_method] [src].", \
- "[user] attempts to force you to [apply_method] [src].")
+ M.visible_message(span_danger("[user] attempts to force [M] to [apply_method] [src]."), \
+ span_userdanger("[user] attempts to force you to [apply_method] [src]."))
if(!do_mob(user, M, CHEM_INTERACT_DELAY(3 SECONDS, user)))
return FALSE
- M.visible_message("[user] forces [M] to [apply_method] [src].", \
- "[user] forces you to [apply_method] [src].")
+ M.visible_message(span_danger("[user] forces [M] to [apply_method] [src]."), \
+ span_userdanger("[user] forces you to [apply_method] [src]."))
return on_consumption(M, user)
///Runs the consumption code, can be overriden for special effects
/obj/item/reagent_containers/pill/proc/on_consumption(mob/M, mob/user)
if(icon_state == "pill4" && prob(5)) //you take the red pill - you stay in Wonderland, and I show you how deep the rabbit hole goes
- addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, M, "[pick(strings(REDPILL_FILE, "redpill_questions"))]"), 50)
+ addtimer(CALLBACK(GLOBAL_PROC, .proc/to_chat, M, span_notice("[pick(strings(REDPILL_FILE, "redpill_questions"))]")), 50)
if(reagents.total_volume)
reagents.trans_to(M, reagents.total_volume, transfered_by = user, methods = apply_type)
@@ -62,14 +62,14 @@
if(!dissolvable || !target.is_refillable())
return
if(target.is_drainable() && !target.reagents.total_volume)
- to_chat(user, "[target] is empty! There's nothing to dissolve [src] in.")
+ to_chat(user, span_warning("[target] is empty! There's nothing to dissolve [src] in."))
return
if(target.reagents.holder_full())
- to_chat(user, "[target] is full.")
+ to_chat(user, span_warning("[target] is full."))
return
- user.visible_message("[user] slips something into [target]!", "You dissolve [src] in [target].", null, 2)
+ user.visible_message(span_warning("[user] slips something into [target]!"), span_notice("You dissolve [src] in [target]."), null, 2)
reagents.trans_to(target, reagents.total_volume, transfered_by = user)
qdel(src)
@@ -77,7 +77,7 @@
* On accidental consumption, consume the pill
*/
/obj/item/reagent_containers/pill/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = FALSE)
- to_chat(victim, "You swallow something small. [source_item ? "Was that in [source_item]?" : ""]")
+ to_chat(victim, span_warning("You swallow something small. [source_item ? "Was that in [source_item]?" : ""]"))
reagents?.trans_to(victim, reagents.total_volume, transfered_by = user, methods = INGEST)
qdel(src)
return discover_after
diff --git a/code/modules/reagents/reagent_containers/spray.dm b/code/modules/reagents/reagent_containers/spray.dm
index 576f241d460..6c5b7228d4a 100644
--- a/code/modules/reagents/reagent_containers/spray.dm
+++ b/code/modules/reagents/reagent_containers/spray.dm
@@ -32,19 +32,19 @@
if((target.is_drainable() && !target.is_refillable()) && (get_dist(src, target) <= 1) && can_fill_from_container)
if(!target.reagents.total_volume)
- to_chat(user, "[target] is empty.")
+ to_chat(user, span_warning("[target] is empty."))
return
if(reagents.holder_full())
- to_chat(user, "[src] is full.")
+ to_chat(user, span_warning("[src] is full."))
return
var/trans = target.reagents.trans_to(src, 50, transfered_by = user) //transfer 50u , using the spray's transfer amount would take too long to refill
- to_chat(user, "You fill \the [src] with [trans] units of the contents of \the [target].")
+ to_chat(user, span_notice("You fill \the [src] with [trans] units of the contents of \the [target]."))
return
if(reagents.total_volume < amount_per_transfer_from_this)
- to_chat(user, "Not enough left!")
+ to_chat(user, span_warning("Not enough left!"))
return
spray(target, user)
@@ -148,13 +148,13 @@
current_range = stream_range
else
current_range = spray_range
- to_chat(user, "You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""].")
+ to_chat(user, span_notice("You switch the nozzle setting to [stream_mode ? "\"stream\"":"\"spray\""]."))
/obj/item/reagent_containers/spray/attackby(obj/item/I, mob/user, params)
var/hotness = I.get_temperature()
if(hotness && reagents)
reagents.expose_temperature(hotness)
- to_chat(user, "You heat [name] with [I]!")
+ to_chat(user, span_notice("You heat [name] with [I]!"))
//Cooling method
if(istype(I, /obj/item/extinguisher))
@@ -162,11 +162,11 @@
if(extinguisher.safety)
return
if (extinguisher.reagents.total_volume < 1)
- to_chat(user, "\The [extinguisher] is empty!")
+ to_chat(user, span_warning("\The [extinguisher] is empty!"))
return
var/cooling = (0 - reagents.chem_temp) * extinguisher.cooling_power * 2
reagents.expose_temperature(cooling)
- to_chat(user, "You cool the [name] with the [I]!")
+ to_chat(user, span_notice("You cool the [name] with the [I]!"))
playsound(loc, 'sound/effects/extinguish.ogg', 75, TRUE, -3)
extinguisher.reagents.remove_all(1)
@@ -181,7 +181,7 @@
if (tgui_alert(usr, "Are you sure you want to empty that?", "Empty Bottle:", list("Yes", "No")) != "Yes")
return
if(isturf(usr.loc) && src.loc == usr)
- to_chat(usr, "You empty \the [src] onto the floor.")
+ to_chat(usr, span_notice("You empty \the [src] onto the floor."))
reagents.expose(usr.loc)
log_combat(usr, usr.loc, "emptied onto", src, addition="which had [reagents.log_list()]")
src.reagents.clear_reagents()
@@ -217,17 +217,17 @@
possible_transfer_amounts = list(2,5)
/obj/item/reagent_containers/spray/cleaner/suicide_act(mob/user)
- user.visible_message("[user] is putting the nozzle of \the [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting the nozzle of \the [src] in [user.p_their()] mouth. It looks like [user.p_theyre()] trying to commit suicide!"))
if(do_mob(user,user,30))
if(reagents.total_volume >= amount_per_transfer_from_this)//if not empty
- user.visible_message("[user] pulls the trigger!")
+ user.visible_message(span_suicide("[user] pulls the trigger!"))
src.spray(user)
return BRUTELOSS
else
- user.visible_message("[user] pulls the trigger...but \the [src] is empty!")
+ user.visible_message(span_suicide("[user] pulls the trigger...but \the [src] is empty!"))
return SHAME
else
- user.visible_message("[user] decided life was worth living.")
+ user.visible_message(span_suicide("[user] decided life was worth living."))
return MANUAL_SUICIDE_NONLETHAL
//spray tan
@@ -256,7 +256,7 @@
list_reagents = null
/obj/item/reagent_containers/spray/pepper/suicide_act(mob/living/carbon/user)
- user.visible_message("[user] begins huffing \the [src]! It looks like [user.p_theyre()] getting a dirty high!")
+ user.visible_message(span_suicide("[user] begins huffing \the [src]! It looks like [user.p_theyre()] getting a dirty high!"))
return OXYLOSS
// Fix pepperspraying yourself
@@ -322,7 +322,7 @@
generate_reagents()
/obj/item/reagent_containers/spray/waterflower/cyborg/empty()
- to_chat(usr, "You can not empty this!")
+ to_chat(usr, span_warning("You can not empty this!"))
return
/obj/item/reagent_containers/spray/waterflower/cyborg/proc/generate_reagents()
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index c8c101bc12e..40660ed8074 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -51,15 +51,15 @@
log_combat(user, target, "attempted to inject", src, addition="which had [contained]")
if(!reagents.total_volume)
- to_chat(user, "[src] is empty! Right-click to draw.")
+ to_chat(user, span_warning("[src] is empty! Right-click to draw."))
return
if(!isliving(target) && !target.is_injectable(user))
- to_chat(user, "You cannot directly fill [target]!")
+ to_chat(user, span_warning("You cannot directly fill [target]!"))
return
if(target.reagents.total_volume >= target.reagents.maximum_volume)
- to_chat(user, "[target] is full.")
+ to_chat(user, span_notice("[target] is full."))
return
if(isliving(target))
@@ -67,38 +67,38 @@
if(!living_target.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE))
return
if(living_target != user)
- living_target.visible_message("[user] is trying to inject [living_target]!", \
- "[user] is trying to inject you!")
+ living_target.visible_message(span_danger("[user] is trying to inject [living_target]!"), \
+ span_userdanger("[user] is trying to inject you!"))
if(!do_mob(user, living_target, CHEM_INTERACT_DELAY(3 SECONDS, user), extra_checks = CALLBACK(living_target, /mob/living/proc/try_inject, user, null, INJECT_TRY_SHOW_ERROR_MESSAGE)))
return
if(!reagents.total_volume)
return
if(living_target.reagents.total_volume >= living_target.reagents.maximum_volume)
return
- living_target.visible_message("[user] injects [living_target] with the syringe!", \
- "[user] injects you with the syringe!")
+ living_target.visible_message(span_danger("[user] injects [living_target] with the syringe!"), \
+ span_userdanger("[user] injects you with the syringe!"))
if (living_target == user)
living_target.log_message("injected themselves ([contained]) with [name]", LOG_ATTACK, color="orange")
else
log_combat(user, living_target, "injected", src, addition="which had [contained]")
reagents.trans_to(target, amount_per_transfer_from_this, transfered_by = user, methods = INJECT)
- to_chat(user, "You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units.")
+ to_chat(user, span_notice("You inject [amount_per_transfer_from_this] units of the solution. The syringe now contains [reagents.total_volume] units."))
/obj/item/reagent_containers/syringe/afterattack_secondary(atom/target, mob/user, proximity_flag, click_parameters)
if (!try_syringe(target, user, proximity_flag))
return SECONDARY_ATTACK_CONTINUE_CHAIN
if(reagents.total_volume >= reagents.maximum_volume)
- to_chat(user, "[src] is full.")
+ to_chat(user, span_notice("[src] is full."))
return SECONDARY_ATTACK_CONTINUE_CHAIN
if(isliving(target))
var/mob/living/living_target = target
var/drawn_amount = reagents.maximum_volume - reagents.total_volume
if(target != user)
- target.visible_message("[user] is trying to take a blood sample from [target]!", \
- "[user] is trying to take a blood sample from you!")
+ target.visible_message(span_danger("[user] is trying to take a blood sample from [target]!"), \
+ span_userdanger("[user] is trying to take a blood sample from you!"))
busy = TRUE
if(!do_mob(user, target, CHEM_INTERACT_DELAY(3 SECONDS, user), extra_checks = CALLBACK(living_target, /mob/living/proc/try_inject, user, null, INJECT_TRY_SHOW_ERROR_MESSAGE)))
busy = FALSE
@@ -107,21 +107,21 @@
return SECONDARY_ATTACK_CONTINUE_CHAIN
busy = FALSE
if(living_target.transfer_blood_to(src, drawn_amount))
- user.visible_message("[user] takes a blood sample from [living_target].")
+ user.visible_message(span_notice("[user] takes a blood sample from [living_target]."))
else
- to_chat(user, "You are unable to draw any blood from [living_target]!")
+ to_chat(user, span_warning("You are unable to draw any blood from [living_target]!"))
else
if(!target.reagents.total_volume)
- to_chat(user, "[target] is empty!")
+ to_chat(user, span_warning("[target] is empty!"))
return SECONDARY_ATTACK_CONTINUE_CHAIN
if(!target.is_drawable(user))
- to_chat(user, "You cannot directly remove reagents from [target]!")
+ to_chat(user, span_warning("You cannot directly remove reagents from [target]!"))
return SECONDARY_ATTACK_CONTINUE_CHAIN
var/trans = target.reagents.trans_to(src, amount_per_transfer_from_this, transfered_by = user) // transfer from, transfer to - who cares?
- to_chat(user, "You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units.")
+ to_chat(user, span_notice("You fill [src] with [trans] units of the solution. It now contains [reagents.total_volume] units."))
return SECONDARY_ATTACK_CONTINUE_CHAIN
@@ -130,9 +130,9 @@
*/
/obj/item/reagent_containers/syringe/on_accidental_consumption(mob/living/carbon/victim, mob/living/carbon/user, obj/item/source_item, discover_after = TRUE)
if(source_item)
- to_chat(victim, "There's a [src] in [source_item]!!")
+ to_chat(victim, span_boldwarning("There's a [src] in [source_item]!!"))
else
- to_chat(victim, "[src] injects you!")
+ to_chat(victim, span_boldwarning("[src] injects you!"))
victim.apply_damage(5, BRUTE, BODY_ZONE_HEAD)
reagents?.trans_to(victim, round(reagents.total_volume*(2/3)), transfered_by = user, methods = INJECT)
diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm
index 839c4cdfa32..e48322770b7 100644
--- a/code/modules/reagents/reagent_dispenser.dm
+++ b/code/modules/reagents/reagent_dispenser.dm
@@ -19,7 +19,7 @@
/obj/structure/reagent_dispensers/examine(mob/user)
. = ..()
if(can_be_tanked)
- . += "Use a sheet of iron to convert this into a plumbing-compatible tank."
+ . += span_notice("Use a sheet of iron to convert this into a plumbing-compatible tank.")
/obj/structure/reagent_dispensers/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
. = ..()
@@ -51,7 +51,7 @@
. = ..()
/obj/structure/reagent_dispensers/proc/boom()
- visible_message("\The [src] ruptures!")
+ visible_message(span_danger("\The [src] ruptures!"))
chem_splash(loc, 5, list(reagents))
qdel(src)
@@ -114,19 +114,19 @@
/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/I, mob/living/user, params)
if(I.tool_behaviour == TOOL_WELDER)
if(!reagents.has_reagent(/datum/reagent/fuel))
- to_chat(user, "[src] is out of fuel!")
+ to_chat(user, span_warning("[src] is out of fuel!"))
return
var/obj/item/weldingtool/W = I
if(istype(W) && !W.welding)
if(W.reagents.has_reagent(/datum/reagent/fuel, W.max_fuel))
- to_chat(user, "Your [W.name] is already full!")
+ to_chat(user, span_warning("Your [W.name] is already full!"))
return
reagents.trans_to(W, W.max_fuel, transfered_by = user)
- user.visible_message("[user] refills [user.p_their()] [W.name].", "You refill [W].")
+ user.visible_message(span_notice("[user] refills [user.p_their()] [W.name]."), span_notice("You refill [W]."))
playsound(src, 'sound/effects/refill.ogg', 50, TRUE)
W.update_appearance()
else
- user.visible_message("[user] catastrophically fails at refilling [user.p_their()] [I.name]!", "That was stupid of you.")
+ user.visible_message(span_danger("[user] catastrophically fails at refilling [user.p_their()] [I.name]!"), span_userdanger("That was stupid of you."))
log_bomber(user, "detonated a", src, "via welding tool")
boom()
return
@@ -194,9 +194,9 @@
if(.)
return
if(!paper_cups)
- to_chat(user, "There aren't any cups left!")
+ to_chat(user, span_warning("There aren't any cups left!"))
return
- user.visible_message("[user] takes a cup from [src].", "You take a paper cup from [src].")
+ user.visible_message(span_notice("[user] takes a cup from [src]."), span_notice("You take a paper cup from [src]."))
var/obj/item/reagent_containers/food/drinks/sillycup/S = new(get_turf(src))
user.put_in_hands(S)
paper_cups--
@@ -290,7 +290,7 @@
/obj/structure/reagent_dispensers/plumbed/storage/proc/can_be_rotated(mob/user, rotation_type)
if(anchored)
- to_chat(user, "It is fastened to the floor!")
+ to_chat(user, span_warning("It is fastened to the floor!"))
return !anchored
/obj/structure/reagent_dispensers/plumbed/fuel
diff --git a/code/modules/reagents/withdrawal/_addiction.dm b/code/modules/reagents/withdrawal/_addiction.dm
index 0b0bf8b33ea..9096305509d 100644
--- a/code/modules/reagents/withdrawal/_addiction.dm
+++ b/code/modules/reagents/withdrawal/_addiction.dm
@@ -51,7 +51,7 @@
/datum/addiction/proc/lose_addiction(datum/mind/victim_mind)
SEND_SIGNAL(victim_mind.current, COMSIG_CLEAR_MOOD_EVENT, "[type]_addiction")
SEND_SIGNAL(victim_mind.current, COMSIG_CARBON_LOSE_ADDICTION, victim_mind)
- to_chat(victim_mind.current, "You feel like you've gotten over your need for drugs.")
+ to_chat(victim_mind.current, span_notice("You feel like you've gotten over your need for drugs."))
end_withdrawal(victim_mind.current)
LAZYREMOVE(victim_mind.active_addictions, type)
@@ -123,14 +123,14 @@
/// Called when addiction is in stage 1 every process
/datum/addiction/proc/withdrawal_stage_1_process(mob/living/carbon/affected_carbon, delta_time)
if(DT_PROB(5, delta_time))
- to_chat(affected_carbon, "[withdrawal_stage_messages[1]]")
+ to_chat(affected_carbon, span_danger("[withdrawal_stage_messages[1]]"))
/// Called when addiction is in stage 2 every process
/datum/addiction/proc/withdrawal_stage_2_process(mob/living/carbon/affected_carbon, delta_time)
if(DT_PROB(10, delta_time) )
- to_chat(affected_carbon, "[withdrawal_stage_messages[2]]")
+ to_chat(affected_carbon, span_danger("[withdrawal_stage_messages[2]]"))
/// Called when addiction is in stage 3 every process
/datum/addiction/proc/withdrawal_stage_3_process(mob/living/carbon/affected_carbon, delta_time)
if(DT_PROB(15, delta_time))
- to_chat(affected_carbon, "[withdrawal_stage_messages[3]]")
+ to_chat(affected_carbon, span_danger("[withdrawal_stage_messages[3]]"))
diff --git a/code/modules/reagents/withdrawal/generic_addictions.dm b/code/modules/reagents/withdrawal/generic_addictions.dm
index f08d9bd756e..83cb16c7fc1 100644
--- a/code/modules/reagents/withdrawal/generic_addictions.dm
+++ b/code/modules/reagents/withdrawal/generic_addictions.dm
@@ -110,7 +110,7 @@
return
var/mob/living/carbon/human/affected_human = affected_carbon
if(affected_human.gender == MALE)
- to_chat(affected_human, "Your chin itches.")
+ to_chat(affected_human, span_warning("Your chin itches."))
affected_human.facial_hairstyle = "Beard (Full)"
affected_human.update_hair()
//Only like gross food
@@ -122,7 +122,7 @@
. = ..()
if(!ishuman(affected_carbon))
return
- to_chat(affected_carbon, "You feel yourself adapt to the darkness.")
+ to_chat(affected_carbon, span_warning("You feel yourself adapt to the darkness."))
var/mob/living/carbon/human/affected_human = affected_carbon
var/obj/item/organ/liver/empowered_liver = affected_carbon.getorgan(/obj/item/organ/liver)
@@ -227,7 +227,7 @@
else if (organ.high_threshold_passed)
to_chat(affected_carbon, organ.high_threshold_passed)
return
- to_chat(affected_carbon, "You feel a dull pain in your [organ.name].")
+ to_chat(affected_carbon, span_warning("You feel a dull pain in your [organ.name]."))
/datum/addiction/medicine/end_withdrawal(mob/living/carbon/affected_carbon)
. = ..()
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index a3390b2df8c..e0f082f40ce 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -170,13 +170,13 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
// attack with item, place item on conveyor
/obj/machinery/conveyor/attackby(obj/item/I, mob/living/user, params)
if(I.tool_behaviour == TOOL_CROWBAR)
- user.visible_message("[user] struggles to pry up \the [src] with \the [I].", \
- "You struggle to pry up \the [src] with \the [I].")
+ user.visible_message(span_notice("[user] struggles to pry up \the [src] with \the [I]."), \
+ span_notice("You struggle to pry up \the [src] with \the [I]."))
if(I.use_tool(src, user, 40, volume=40))
if(!(machine_stat & BROKEN))
var/obj/item/stack/conveyor/C = new /obj/item/stack/conveyor(loc, 1, TRUE, null, null, id)
transfer_fingerprints_to(C)
- to_chat(user, "You remove the conveyor belt.")
+ to_chat(user, span_notice("You remove the conveyor belt."))
qdel(src)
else if(I.tool_behaviour == TOOL_WRENCH)
@@ -184,13 +184,13 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
I.play_tool_sound(src)
setDir(turn(dir,-45))
update_move_direction()
- to_chat(user, "You rotate [src].")
+ to_chat(user, span_notice("You rotate [src]."))
else if(I.tool_behaviour == TOOL_SCREWDRIVER)
if(!(machine_stat & BROKEN))
verted = verted * -1
update_move_direction()
- to_chat(user, "You reverse [src]'s direction.")
+ to_chat(user, span_notice("You reverse [src]'s direction."))
else if(!user.combat_mode)
user.transferItemToLoc(I, drop_location())
@@ -344,27 +344,27 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
var/obj/item/conveyor_switch_construct/C = new/obj/item/conveyor_switch_construct(src.loc)
C.id = id
transfer_fingerprints_to(C)
- to_chat(user, "You detach the conveyor switch.")
+ to_chat(user, span_notice("You detach the conveyor switch."))
qdel(src)
return TRUE
/obj/machinery/conveyor_switch/screwdriver_act(mob/user, obj/item/I)
I.play_tool_sound(src, 50)
oneway = !oneway
- to_chat(user, "You set conveyor switch to [oneway ? "one way" : "default"] configuration.")
+ to_chat(user, span_notice("You set conveyor switch to [oneway ? "one way" : "default"] configuration."))
return TRUE
/obj/machinery/conveyor_switch/wrench_act(mob/user, obj/item/I)
I.play_tool_sound(src, 50)
invert_icon = !invert_icon
update_appearance()
- to_chat(user, "You set conveyor switch to [invert_icon ? "inverted": "normal"] position.")
+ to_chat(user, span_notice("You set conveyor switch to [invert_icon ? "inverted": "normal"] position."))
return TRUE
/obj/machinery/conveyor_switch/examine(mob/user)
. = ..()
- . += "[src] is set to [oneway ? "one way" : "default"] configuration. It can be changed with screwdriver."
- . += "[src] is set to [invert_icon ? "inverted": "normal"] position. It can be rotated with wrench."
+ . += span_notice("[src] is set to [oneway ? "one way" : "default"] configuration. It can be changed with screwdriver.")
+ . += span_notice("[src] is set to [invert_icon ? "inverted": "normal"] position. It can be rotated with wrench.")
/obj/machinery/conveyor_switch/oneway
icon_state = "conveyor_switch_oneway"
@@ -391,7 +391,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
/obj/item/conveyor_switch_construct/attack_self(mob/user)
for(var/obj/item/stack/conveyor/C in view())
C.id = id
- to_chat(user, "You have linked all nearby conveyor belt assemblies to this switch.")
+ to_chat(user, span_notice("You have linked all nearby conveyor belt assemblies to this switch."))
/obj/item/conveyor_switch_construct/afterattack(atom/A, mob/user, proximity)
. = ..()
@@ -431,7 +431,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
return
var/cdir = get_dir(A, user)
if(A == user.loc)
- to_chat(user, "You cannot place a conveyor belt under yourself!")
+ to_chat(user, span_warning("You cannot place a conveyor belt under yourself!"))
return
var/obj/machinery/conveyor/C = new/obj/machinery/conveyor(A, cdir, id)
transfer_fingerprints_to(C)
@@ -440,7 +440,7 @@ GLOBAL_LIST_EMPTY(conveyors_by_id)
/obj/item/stack/conveyor/attackby(obj/item/I, mob/user, params)
..()
if(istype(I, /obj/item/conveyor_switch_construct))
- to_chat(user, "You link the switch to the conveyor belt assembly.")
+ to_chat(user, span_notice("You link the switch to the conveyor belt assembly."))
var/obj/item/conveyor_switch_construct/C = I
id = C.id
diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm
index 8f7e6d4f3a4..70cbd5ce561 100644
--- a/code/modules/recycling/disposal/bin.dm
+++ b/code/modules/recycling/disposal/bin.dm
@@ -87,15 +87,15 @@
if(I.tool_behaviour == TOOL_SCREWDRIVER)
panel_open = !panel_open
I.play_tool_sound(src)
- to_chat(user, "You [panel_open ? "remove":"attach"] the screws around the power connection.")
+ to_chat(user, span_notice("You [panel_open ? "remove":"attach"] the screws around the power connection."))
return
else if(I.tool_behaviour == TOOL_WELDER && panel_open)
if(!I.tool_start_check(user, amount=0))
return
- to_chat(user, "You start slicing the floorweld off \the [src]...")
+ to_chat(user, span_notice("You start slicing the floorweld off \the [src]..."))
if(I.use_tool(src, user, 20, volume=100) && panel_open)
- to_chat(user, "You slice the floorweld off \the [src].")
+ to_chat(user, span_notice("You slice the floorweld off \the [src]."))
deconstruct()
return
@@ -109,27 +109,27 @@
return ..()
/obj/machinery/disposal/proc/rat_rummage(mob/living/simple_animal/hostile/regalrat/king)
- king.visible_message("[king] starts rummaging through [src].","You rummage through [src]...")
+ king.visible_message(span_warning("[king] starts rummaging through [src]."),span_notice("You rummage through [src]..."))
if (do_mob(king, src, 2 SECONDS, interaction_key = "regalrat"))
var/loot = rand(1,100)
switch(loot)
if(1 to 5)
- to_chat(king, "You find some leftover coins. More for the royal treasury!")
+ to_chat(king, span_notice("You find some leftover coins. More for the royal treasury!"))
var/pickedcoin = pick(GLOB.ratking_coins)
for(var/i = 1 to rand(1,3))
new pickedcoin(get_turf(king))
if(6 to 33)
say(pick("Treasure!","Our precious!","Cheese!"))
- to_chat(king, "Score! You find some cheese!")
+ to_chat(king, span_notice("Score! You find some cheese!"))
new /obj/item/food/cheese(get_turf(king))
else
var/pickedtrash = pick(GLOB.ratking_trash)
- to_chat(king, "You just find more garbage and dirt. Lovely, but beneath you now.")
+ to_chat(king, span_notice("You just find more garbage and dirt. Lovely, but beneath you now."))
new pickedtrash(get_turf(king))
/obj/machinery/disposal/proc/place_item_in_disposal(obj/item/I, mob/user)
I.forceMove(src)
- user.visible_message("[user.name] places \the [I] into \the [src].", "You place \the [I] into \the [src].")
+ user.visible_message(span_notice("[user.name] places \the [I] into \the [src]."), span_notice("You place \the [I] into \the [src]."))
//mouse drop another mob or self
/obj/machinery/disposal/MouseDrop_T(mob/living/target, mob/living/user)
@@ -150,22 +150,22 @@
if(target.buckled || target.has_buckled_mobs())
return
if(target.mob_size > MOB_SIZE_HUMAN)
- to_chat(user, "[target] doesn't fit inside [src]!")
+ to_chat(user, span_warning("[target] doesn't fit inside [src]!"))
return
add_fingerprint(user)
if(user == target)
- user.visible_message("[user] starts climbing into [src].", "You start climbing into [src]...")
+ user.visible_message(span_warning("[user] starts climbing into [src]."), span_notice("You start climbing into [src]..."))
else
- target.visible_message("[user] starts putting [target] into [src].", "[user] starts putting you into [src]!")
+ target.visible_message(span_danger("[user] starts putting [target] into [src]."), span_userdanger("[user] starts putting you into [src]!"))
if(do_mob(user, target, 20))
if (!loc)
return
target.forceMove(src)
if(user == target)
- user.visible_message("[user] climbs into [src].", "You climb into [src].")
+ user.visible_message(span_warning("[user] climbs into [src]."), span_notice("You climb into [src]."))
. = TRUE
else
- target.visible_message("[user] places [target] in [src].", "[user] places you in [src].")
+ target.visible_message(span_danger("[user] places [target] in [src]."), span_userdanger("[user] places you in [src]."))
log_combat(user, target, "stuffed", addition="into [src]")
target.LAssailant = WEAKREF(user)
. = TRUE
@@ -285,7 +285,7 @@
if(istype(I, /obj/item/storage/bag/trash)) //Not doing component overrides because this is a specific type.
var/obj/item/storage/bag/trash/T = I
var/datum/component/storage/STR = T.GetComponent(/datum/component/storage)
- to_chat(user, "You empty the bag.")
+ to_chat(user, span_warning("You empty the bag."))
for(var/obj/item/O in T.contents)
STR.remove_from_storage(O,src)
T.update_appearance()
@@ -350,10 +350,10 @@
if(isitem(AM) && AM.CanEnterDisposals())
if(prob(75))
AM.forceMove(src)
- visible_message("[AM] lands in [src].")
+ visible_message(span_notice("[AM] lands in [src]."))
update_appearance()
else
- visible_message("[AM] bounces off of [src]'s rim!")
+ visible_message(span_notice("[AM] bounces off of [src]'s rim!"))
return ..()
else
return ..()
@@ -498,7 +498,7 @@
else if(ismob(AM))
var/mob/M = AM
if(prob(2)) // to prevent mobs being stuck in infinite loops
- to_chat(M, "You hit the edge of the chute.")
+ to_chat(M, span_warning("You hit the edge of the chute."))
return
M.forceMove(src)
flush()
diff --git a/code/modules/recycling/disposal/construction.dm b/code/modules/recycling/disposal/construction.dm
index 61524ccaa2c..abf3d8eb93a 100644
--- a/code/modules/recycling/disposal/construction.dm
+++ b/code/modules/recycling/disposal/construction.dm
@@ -100,7 +100,7 @@
/obj/structure/disposalconstruct/proc/can_be_rotated(mob/user,rotation_type)
if(anchored)
- to_chat(user, "You must unfasten the pipe before rotating it!")
+ to_chat(user, span_warning("You must unfasten the pipe before rotating it!"))
return FALSE
return TRUE
@@ -111,7 +111,7 @@
..()
if(anchored)
set_anchored(FALSE)
- to_chat(user, "You detach the [pipename] from the underfloor.")
+ to_chat(user, span_notice("You detach the [pipename] from the underfloor."))
else
var/ispipe = is_pipe() // Indicates if we should change the level of this pipe
@@ -119,11 +119,11 @@
if(T.intact && isfloorturf(T))
var/obj/item/crowbar/held_crowbar = user.is_holding_item_of_type(/obj/item/crowbar)
if(!held_crowbar || !T.crowbar_act(user, held_crowbar))
- to_chat(user, "You can only attach the [pipename] if the floor plating is removed!")
+ to_chat(user, span_warning("You can only attach the [pipename] if the floor plating is removed!"))
return TRUE
if(!ispipe && iswallturf(T))
- to_chat(user, "You can't build [pipename]s on walls, only disposal pipes!")
+ to_chat(user, span_warning("You can't build [pipename]s on walls, only disposal pipes!"))
return TRUE
if(ispipe)
@@ -136,18 +136,18 @@
if(istype(CP, /obj/structure/disposalpipe/broken))
qdel(CP)
else
- to_chat(user, "There is already a disposal pipe at that location!")
+ to_chat(user, span_warning("There is already a disposal pipe at that location!"))
return TRUE
else // Disposal or outlet
var/found_trunk = locate(/obj/structure/disposalpipe/trunk) in T
if(!found_trunk)
- to_chat(user, "The [pipename] requires a trunk underneath it in order to work!")
+ to_chat(user, span_warning("The [pipename] requires a trunk underneath it in order to work!"))
return TRUE
set_anchored(TRUE)
- to_chat(user, "You attach the [pipename] to the underfloor.")
+ to_chat(user, span_notice("You attach the [pipename] to the underfloor."))
I.play_tool_sound(src, 100)
update_appearance()
return TRUE
@@ -158,14 +158,14 @@
if(!I.tool_start_check(user, amount=0))
return TRUE
- to_chat(user, "You start welding the [pipename] in place...")
+ to_chat(user, span_notice("You start welding the [pipename] in place..."))
if(I.use_tool(src, user, 8, volume=50))
- to_chat(user, "The [pipename] has been welded in place.")
+ to_chat(user, span_notice("The [pipename] has been welded in place."))
var/obj/O = new pipe_type(loc, src)
transfer_fingerprints_to(O)
else
- to_chat(user, "You need to attach it to the plating first!")
+ to_chat(user, span_warning("You need to attach it to the plating first!"))
return TRUE
/obj/structure/disposalconstruct/proc/is_pipe()
diff --git a/code/modules/recycling/disposal/outlet.dm b/code/modules/recycling/disposal/outlet.dm
index a460d2e0e7b..07d78acdaf7 100644
--- a/code/modules/recycling/disposal/outlet.dm
+++ b/code/modules/recycling/disposal/outlet.dm
@@ -68,9 +68,9 @@
return TRUE
playsound(src, 'sound/items/welder2.ogg', 100, TRUE)
- to_chat(user, "You start slicing the floorweld off [src]...")
+ to_chat(user, span_notice("You start slicing the floorweld off [src]..."))
if(I.use_tool(src, user, 20))
- to_chat(user, "You slice the floorweld off [src].")
+ to_chat(user, span_notice("You slice the floorweld off [src]."))
stored.forceMove(loc)
transfer_fingerprints_to(stored)
stored = null
@@ -81,17 +81,17 @@
. = ..()
switch(eject_speed)
if(EJECT_SPEED_SLOW)
- . += "An LED image of a turtle is displayed on the side of the outlet."
+ . += span_info("An LED image of a turtle is displayed on the side of the outlet.")
if(EJECT_SPEED_MED)
- . += "An LED image of a bumblebee is displayed on the side of the outlet."
+ . += span_info("An LED image of a bumblebee is displayed on the side of the outlet.")
if(EJECT_SPEED_FAST)
- . += "An LED image of a speeding bullet is displayed on the side of the outlet."
+ . += span_info("An LED image of a speeding bullet is displayed on the side of the outlet.")
if(EJECT_SPEED_YEET)
- . += "An LED image of a grawlix is displayed on the side of the outlet."
+ . += span_info("An LED image of a grawlix is displayed on the side of the outlet.")
/obj/structure/disposaloutlet/multitool_act(mob/living/user, obj/item/I)
. = ..()
- to_chat(user, "You adjust the ejection force on \the [src].")
+ to_chat(user, span_notice("You adjust the ejection force on \the [src]."))
switch(eject_speed)
if(EJECT_SPEED_SLOW)
eject_speed = EJECT_SPEED_MED
@@ -110,5 +110,5 @@
. = ..()
if(obj_flags & EMAGGED)
return
- to_chat(user, "You silently disable the sanity checking on \the [src]'s ejection force.")
+ to_chat(user, span_notice("You silently disable the sanity checking on \the [src]'s ejection force."))
obj_flags |= EMAGGED
diff --git a/code/modules/recycling/disposal/pipe.dm b/code/modules/recycling/disposal/pipe.dm
index 0dcbdba858a..f9591970a4f 100644
--- a/code/modules/recycling/disposal/pipe.dm
+++ b/code/modules/recycling/disposal/pipe.dm
@@ -131,10 +131,10 @@
if(!I.tool_start_check(user, amount=0))
return TRUE
- to_chat(user, "You start slicing [src]...")
+ to_chat(user, span_notice("You start slicing [src]..."))
if(I.use_tool(src, user, 30, volume=50))
deconstruct()
- to_chat(user, "You slice [src].")
+ to_chat(user, span_notice("You slice [src]."))
return TRUE
//checks if something is blocking the deconstruction (e.g. trunk with a bin still linked to it)
@@ -246,7 +246,7 @@
/obj/structure/disposalpipe/trunk/can_be_deconstructed(mob/user)
if(linked)
- to_chat(user, "You need to deconstruct disposal machinery above this pipe!")
+ to_chat(user, span_warning("You need to deconstruct disposal machinery above this pipe!"))
return FALSE
return TRUE
diff --git a/code/modules/recycling/disposal/pipe_sorting.dm b/code/modules/recycling/disposal/pipe_sorting.dm
index 9e237934b45..167ffa28d4c 100644
--- a/code/modules/recycling/disposal/pipe_sorting.dm
+++ b/code/modules/recycling/disposal/pipe_sorting.dm
@@ -62,10 +62,10 @@
if(O.currTag)// Tagger has a tag set
if(O.currTag in sortTypes)
sortTypes -= O.currTag
- to_chat(user, "Removed \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.")
+ to_chat(user, span_notice("Removed \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter."))
else
sortTypes |= O.currTag
- to_chat(user, "Added \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter.")
+ to_chat(user, span_notice("Added \"[GLOB.TAGGERLOCATIONS[O.currTag]]\" filter."))
playsound(src, 'sound/machines/twobeep_high.ogg', 100, TRUE)
else
return ..()
diff --git a/code/modules/recycling/sortingmachinery.dm b/code/modules/recycling/sortingmachinery.dm
index 8114400bdac..9fc89257696 100644
--- a/code/modules/recycling/sortingmachinery.dm
+++ b/code/modules/recycling/sortingmachinery.dm
@@ -15,7 +15,7 @@
RegisterSignal(src, COMSIG_MOVABLE_DISPOSING, .proc/disposal_handling)
/obj/structure/big_delivery/interact(mob/user)
- to_chat(user, "You start to unwrap the package...")
+ to_chat(user, span_notice("You start to unwrap the package..."))
if(!do_after(user, 15, target = user))
return
playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
@@ -55,42 +55,42 @@
if(sort_tag != O.currTag)
var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag])
- to_chat(user, "*[tag]*")
+ to_chat(user, span_notice("*[tag]*"))
sort_tag = O.currTag
playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE)
else if(istype(W, /obj/item/pen))
if(!user.is_literate())
- to_chat(user, "You scribble illegibly on the side of [src]!")
+ to_chat(user, span_notice("You scribble illegibly on the side of [src]!"))
return
var/str = stripped_input(user, "Label text?", "Set label", "", MAX_NAME_LEN)
if(!user.canUseTopic(src, BE_CLOSE))
return
if(!str || !length(str))
- to_chat(user, "Invalid text!")
+ to_chat(user, span_warning("Invalid text!"))
return
- user.visible_message("[user] labels [src] as [str].")
+ user.visible_message(span_notice("[user] labels [src] as [str]."))
name = "[name] ([str])"
else if(istype(W, /obj/item/stack/wrapping_paper) && !giftwrapped)
var/obj/item/stack/wrapping_paper/WP = W
if(WP.use(3))
- user.visible_message("[user] wraps the package in festive paper!")
+ user.visible_message(span_notice("[user] wraps the package in festive paper!"))
giftwrapped = TRUE
icon_state = "gift[icon_state]"
greyscale_config = text2path("/datum/greyscale_config/[icon_state]")
set_greyscale(colors = WP.greyscale_colors)
else
- to_chat(user, "You need more paper!")
+ to_chat(user, span_warning("You need more paper!"))
else if(istype(W, /obj/item/paper))
if(note)
- to_chat(user, "This package already has a note attached!")
+ to_chat(user, span_warning("This package already has a note attached!"))
return
if(!user.transferItemToLoc(W, src))
- to_chat(user, "For some reason, you can't attach [W]!")
+ to_chat(user, span_warning("For some reason, you can't attach [W]!"))
return
- user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].")
+ user.visible_message(span_notice("[user] attaches [W] to [src]."), span_notice("You attach [W] to [src]."))
note = W
var/overlaystring = "[icon_state]_note"
if(giftwrapped)
@@ -100,15 +100,15 @@
else if(istype(W, /obj/item/sales_tagger))
var/obj/item/sales_tagger/tagger = W
if(sticker)
- to_chat(user, "This package already has a barcode attached!")
+ to_chat(user, span_warning("This package already has a barcode attached!"))
return
if(!(tagger.payments_acc))
- to_chat(user, "Swipe an ID on [tagger] first!")
+ to_chat(user, span_warning("Swipe an ID on [tagger] first!"))
return
if(tagger.paper_count <= 0)
- to_chat(user, "[tagger] is out of paper!")
+ to_chat(user, span_warning("[tagger] is out of paper!"))
return
- user.visible_message("[user] attaches a barcode to [src].", "You attach a barcode to [src].")
+ user.visible_message(span_notice("[user] attaches a barcode to [src]."), span_notice("You attach a barcode to [src]."))
tagger.paper_count -= 1
sticker = new /obj/item/barcode(src)
sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account.
@@ -124,13 +124,13 @@
else if(istype(W, /obj/item/barcode))
var/obj/item/barcode/stickerA = W
if(sticker)
- to_chat(user, "This package already has a barcode attached!")
+ to_chat(user, span_warning("This package already has a barcode attached!"))
return
if(!(stickerA.payments_acc))
- to_chat(user, "This barcode seems to be invalid. Guess it's trash now.")
+ to_chat(user, span_warning("This barcode seems to be invalid. Guess it's trash now."))
return
if(!user.transferItemToLoc(W, src))
- to_chat(user, "For some reason, you can't attach [W]!")
+ to_chat(user, span_warning("For some reason, you can't attach [W]!"))
return
sticker = stickerA
var/list/wrap_contents = src.GetAllContents()
@@ -150,11 +150,11 @@
var/atom/movable/AM = loc //can't unwrap the wrapped container if it's inside something.
AM.relay_container_resist_act(user, O)
return
- to_chat(user, "You lean on the back of [O] and start pushing to rip the wrapping around it.")
+ to_chat(user, span_notice("You lean on the back of [O] and start pushing to rip the wrapping around it."))
if(do_after(user, 50, target = O))
if(!user || user.stat != CONSCIOUS || user.loc != O || O.loc != src )
return
- to_chat(user, "You successfully removed [O]'s wrapping !")
+ to_chat(user, span_notice("You successfully removed [O]'s wrapping !"))
O.forceMove(loc)
playsound(src.loc, 'sound/items/poster_ripped.ogg', 50, TRUE)
new /obj/effect/decal/cleanable/wrapping(get_turf(user))
@@ -162,7 +162,7 @@
qdel(src)
else
if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded.
- to_chat(user, "You fail to remove [O]'s wrapping!")
+ to_chat(user, span_warning("You fail to remove [O]'s wrapping!"))
/obj/structure/big_delivery/proc/unwrap_contents()
if(!sticker)
@@ -200,7 +200,7 @@
SSexplosions.low_mov_atom += contents
/obj/item/small_delivery/attack_self(mob/user)
- to_chat(user, "You start to unwrap the package...")
+ to_chat(user, span_notice("You start to unwrap the package..."))
if(!do_after(user, 15, target = user))
return
user.temporarilyRemoveItemFromInventory(src, TRUE)
@@ -248,42 +248,42 @@
if(sort_tag != O.currTag)
var/tag = uppertext(GLOB.TAGGERLOCATIONS[O.currTag])
- to_chat(user, "*[tag]*")
+ to_chat(user, span_notice("*[tag]*"))
sort_tag = O.currTag
playsound(loc, 'sound/machines/twobeep_high.ogg', 100, TRUE)
else if(istype(W, /obj/item/pen))
if(!user.is_literate())
- to_chat(user, "You scribble illegibly on the side of [src]!")
+ to_chat(user, span_notice("You scribble illegibly on the side of [src]!"))
return
var/str = stripped_input(user, "Label text?", "Set label", "", MAX_NAME_LEN)
if(!user.canUseTopic(src, BE_CLOSE))
return
if(!str || !length(str))
- to_chat(user, "Invalid text!")
+ to_chat(user, span_warning("Invalid text!"))
return
- user.visible_message("[user] labels [src] as [str].")
+ user.visible_message(span_notice("[user] labels [src] as [str]."))
name = "[name] ([str])"
else if(istype(W, /obj/item/stack/wrapping_paper) && !giftwrapped)
var/obj/item/stack/wrapping_paper/WP = W
if(WP.use(1))
- user.visible_message("[user] wraps the package in festive paper!")
+ user.visible_message(span_notice("[user] wraps the package in festive paper!"))
giftwrapped = TRUE
icon_state = "gift[icon_state]"
greyscale_config = text2path("/datum/greyscale_config/[icon_state]")
set_greyscale(colors = WP.greyscale_colors)
else
- to_chat(user, "You need more paper!")
+ to_chat(user, span_warning("You need more paper!"))
else if(istype(W, /obj/item/paper))
if(note)
- to_chat(user, "This package already has a note attached!")
+ to_chat(user, span_warning("This package already has a note attached!"))
return
if(!user.transferItemToLoc(W, src))
- to_chat(user, "For some reason, you can't attach [W]!")
+ to_chat(user, span_warning("For some reason, you can't attach [W]!"))
return
- user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src].")
+ user.visible_message(span_notice("[user] attaches [W] to [src]."), span_notice("You attach [W] to [src]."))
note = W
var/overlaystring = "[icon_state]_note"
if(giftwrapped)
@@ -293,15 +293,15 @@
else if(istype(W, /obj/item/sales_tagger))
var/obj/item/sales_tagger/tagger = W
if(sticker)
- to_chat(user, "This package already has a barcode attached!")
+ to_chat(user, span_warning("This package already has a barcode attached!"))
return
if(!(tagger.payments_acc))
- to_chat(user, "Swipe an ID on [tagger] first!")
+ to_chat(user, span_warning("Swipe an ID on [tagger] first!"))
return
if(tagger.paper_count <= 0)
- to_chat(user, "[tagger] is out of paper!")
+ to_chat(user, span_warning("[tagger] is out of paper!"))
return
- user.visible_message("[user] attaches a barcode to [src].", "You attach a barcode to [src].")
+ user.visible_message(span_notice("[user] attaches a barcode to [src]."), span_notice("You attach a barcode to [src]."))
tagger.paper_count -= 1
sticker = new /obj/item/barcode(src)
sticker.payments_acc = tagger.payments_acc //new tag gets the tagger's current account.
@@ -318,13 +318,13 @@
else if(istype(W, /obj/item/barcode))
var/obj/item/barcode/stickerA = W
if(sticker)
- to_chat(user, "This package already has a barcode attached!")
+ to_chat(user, span_warning("This package already has a barcode attached!"))
return
if(!(stickerA.payments_acc))
- to_chat(user, "This barcode seems to be invalid. Guess it's trash now.")
+ to_chat(user, span_warning("This barcode seems to be invalid. Guess it's trash now."))
return
if(!user.transferItemToLoc(W, src))
- to_chat(user, "For some reason, you can't attach [W]!")
+ to_chat(user, span_warning("For some reason, you can't attach [W]!"))
return
sticker = stickerA
var/list/wrap_contents = src.GetAllContents()
@@ -366,11 +366,11 @@
desc = "Used to fool the disposal mail network into thinking that you're a harmless parcel. Does actually work as a regular destination tagger as well."
/obj/item/dest_tagger/suicide_act(mob/living/user)
- user.visible_message("[user] begins tagging [user.p_their()] final destination! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] begins tagging [user.p_their()] final destination! It looks like [user.p_theyre()] trying to commit suicide!"))
if (islizard(user))
- to_chat(user, "*HELL*")//lizard nerf
+ to_chat(user, span_notice("*HELL*"))//lizard nerf
else
- to_chat(user, "*HEAVEN*")
+ to_chat(user, span_notice("*HEAVEN*"))
playsound(src, 'sound/machines/twobeep_high.ogg', 100, TRUE)
return BRUTELOSS
@@ -425,10 +425,10 @@
/obj/item/sales_tagger/examine(mob/user)
. = ..()
- . += "[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper."
- . += "Profit split on sale is currently set to [round(cut_multiplier*100)]%. Alt-click to change."
+ . += span_notice("[src] has [paper_count]/[max_paper_count] available barcodes. Refill with paper.")
+ . += span_notice("Profit split on sale is currently set to [round(cut_multiplier*100)]%. Alt-click to change.")
if(payments_acc)
- . += "Ctrl-click to clear the registered account."
+ . += span_notice("Ctrl-click to clear the registered account.")
/obj/item/sales_tagger/attackby(obj/item/I, mob/living/user, params)
. = ..()
@@ -436,14 +436,14 @@
var/obj/item/card/id/potential_acc = I
if(potential_acc.registered_account)
if(payments_acc == potential_acc.registered_account)
- to_chat(user, "ID card already registered.")
+ to_chat(user, span_notice("ID card already registered."))
return
else
payments_acc = potential_acc.registered_account
playsound(src, 'sound/machines/ping.ogg', 40, TRUE)
- to_chat(user, "[src] registers the ID card. Tag a wrapped item to create a barcode.")
+ to_chat(user, span_notice("[src] registers the ID card. Tag a wrapped item to create a barcode."))
else if(!potential_acc.registered_account)
- to_chat(user, "This ID card has no account registered!")
+ to_chat(user, span_warning("This ID card has no account registered!"))
return
if(istype(I, /obj/item/paper))
if (!(paper_count >= max_paper_count))
@@ -451,25 +451,25 @@
qdel(I)
if (paper_count >= max_paper_count)
paper_count = max_paper_count
- to_chat(user, "[src]'s paper supply is now full.")
+ to_chat(user, span_notice("[src]'s paper supply is now full."))
return
- to_chat(user, "You refill [src]'s paper supply, you have [paper_count] left.")
+ to_chat(user, span_notice("You refill [src]'s paper supply, you have [paper_count] left."))
return
else
- to_chat(user, "[src]'s paper supply is full.")
+ to_chat(user, span_notice("[src]'s paper supply is full."))
return
/obj/item/sales_tagger/attack_self(mob/user)
. = ..()
if(paper_count <= 0)
- to_chat(user, "You're out of paper!'.")
+ to_chat(user, span_warning("You're out of paper!'."))
return
if(!payments_acc)
- to_chat(user, "You need to swipe [src] with an ID card first.")
+ to_chat(user, span_warning("You need to swipe [src] with an ID card first."))
return
paper_count -= 1
playsound(src, 'sound/machines/click.ogg', 40, TRUE)
- to_chat(user, "You print a new barcode.")
+ to_chat(user, span_notice("You print a new barcode."))
var/obj/item/barcode/new_barcode = new /obj/item/barcode(src)
new_barcode.payments_acc = payments_acc // The sticker gets the scanner's registered account.
new_barcode.cut_multiplier = cut_multiplier // Also the registered percent cut.
@@ -478,7 +478,7 @@
/obj/item/sales_tagger/CtrlClick(mob/user)
. = ..()
payments_acc = null
- to_chat(user, "You clear the registered account.")
+ to_chat(user, span_notice("You clear the registered account."))
/obj/item/sales_tagger/AltClick(mob/user)
. = ..()
@@ -486,7 +486,7 @@
if(!potential_cut)
cut_multiplier = initial(cut_multiplier)
cut_multiplier = clamp(round(potential_cut/100, cut_min), cut_min, cut_max)
- to_chat(user, "[round(cut_multiplier*100)]% profit will be received if a package with a barcode is sold.")
+ to_chat(user, span_notice("[round(cut_multiplier*100)]% profit will be received if a package with a barcode is sold."))
/obj/item/barcode
name = "barcode tag"
diff --git a/code/modules/religion/religion_sects.dm b/code/modules/religion/religion_sects.dm
index 15206db222d..6feca9dfdfc 100644
--- a/code/modules/religion/religion_sects.dm
+++ b/code/modules/religion/religion_sects.dm
@@ -98,7 +98,7 @@
for(var/X in blessed.bodyparts)
var/obj/item/bodypart/bodypart = X
if(bodypart.status == BODYPART_ROBOTIC)
- to_chat(chap, "[GLOB.deity] refuses to heal this metallic taint!")
+ to_chat(chap, span_warning("[GLOB.deity] refuses to heal this metallic taint!"))
return TRUE
var/heal_amt = 10
@@ -109,8 +109,8 @@
var/obj/item/bodypart/affecting = X
if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC))
blessed.update_damage_overlays()
- blessed.visible_message("[chap] heals [blessed] with the power of [GLOB.deity]!")
- to_chat(blessed, "May the power of [GLOB.deity] compel you to be healed!")
+ blessed.visible_message(span_notice("[chap] heals [blessed] with the power of [GLOB.deity]!"))
+ to_chat(blessed, span_boldnotice("May the power of [GLOB.deity] compel you to be healed!"))
playsound(chap, "punch", 25, TRUE, -1)
SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
return TRUE
@@ -143,8 +143,8 @@
if(target.mind?.holy_role == HOLY_ROLE_HIGHPRIEST)
charge_amt *= 2
R.cell?.charge += charge_amt
- R.visible_message("[chap] charges [R] with the power of [GLOB.deity]!")
- to_chat(R, "You are charged by the power of [GLOB.deity]!")
+ R.visible_message(span_notice("[chap] charges [R] with the power of [GLOB.deity]!"))
+ to_chat(R, span_boldnotice("You are charged by the power of [GLOB.deity]!"))
SEND_SIGNAL(R, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
playsound(chap, 'sound/effects/bang.ogg', 25, TRUE, -1)
return TRUE
@@ -163,10 +163,10 @@
var/obj/item/bodypart/bodypart = blessed.get_bodypart(chap.zone_selected)
if(bodypart.status != BODYPART_ROBOTIC)
if(!did_we_charge)
- to_chat(chap, "[GLOB.deity] scoffs at the idea of healing such fleshy matter!")
+ to_chat(chap, span_warning("[GLOB.deity] scoffs at the idea of healing such fleshy matter!"))
else
- blessed.visible_message("[chap] charges [blessed] with the power of [GLOB.deity]!")
- to_chat(blessed, "You feel charged by the power of [GLOB.deity]!")
+ blessed.visible_message(span_notice("[chap] charges [blessed] with the power of [GLOB.deity]!"))
+ to_chat(blessed, span_boldnotice("You feel charged by the power of [GLOB.deity]!"))
SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
playsound(chap, 'sound/machines/synth_yes.ogg', 25, TRUE, -1)
return TRUE
@@ -175,8 +175,8 @@
if(bodypart.heal_damage(5,5,null,BODYPART_ROBOTIC))
blessed.update_damage_overlays()
- blessed.visible_message("[chap] [did_we_charge ? "repairs" : "repairs and charges"] [blessed] with the power of [GLOB.deity]!")
- to_chat(blessed, "The inner machinations of [GLOB.deity] [did_we_charge ? "repairs" : "repairs and charges"] you!")
+ blessed.visible_message(span_notice("[chap] [did_we_charge ? "repairs" : "repairs and charges"] [blessed] with the power of [GLOB.deity]!"))
+ to_chat(blessed, span_boldnotice("The inner machinations of [GLOB.deity] [did_we_charge ? "repairs" : "repairs and charges"] you!"))
playsound(chap, 'sound/effects/bang.ogg', 25, TRUE, -1)
SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
return TRUE
@@ -186,10 +186,10 @@
if(!istype(the_cell)) //how...
return
if(the_cell.charge < 300)
- to_chat(chap,"[GLOB.deity] does not accept pity amounts of power.")
+ to_chat(chap,span_notice("[GLOB.deity] does not accept pity amounts of power."))
return
adjust_favor(round(the_cell.charge/300), chap)
- to_chat(chap, "You offer [the_cell]'s power to [GLOB.deity], pleasing them.")
+ to_chat(chap, span_notice("You offer [the_cell]'s power to [GLOB.deity], pleasing them."))
qdel(I)
return TRUE
@@ -214,9 +214,9 @@
if(!istype(offering))
return
if(!offering.lit)
- to_chat(user, "The candle needs to be lit to be offered!")
+ to_chat(user, span_notice("The candle needs to be lit to be offered!"))
return
- to_chat(user, "[GLOB.deity] is pleased with your sacrifice.")
+ to_chat(user, span_notice("[GLOB.deity] is pleased with your sacrifice."))
adjust_favor(20, user) //it's not a lot but hey there's a pacifist favor option at least
qdel(offering)
return TRUE
@@ -239,17 +239,17 @@
/datum/religion_sect/greed/sect_bless(mob/living/blessed_living, mob/living/chap)
var/datum/bank_account/account = chap.get_bank_account()
if(!account)
- to_chat(chap, "You need a way to pay for the heal!")
+ to_chat(chap, span_warning("You need a way to pay for the heal!"))
return TRUE
if(account.account_balance < GREEDY_HEAL_COST)
- to_chat(chap, "Healing from [GLOB.deity] costs [GREEDY_HEAL_COST] credits for 30 health!")
+ to_chat(chap, span_warning("Healing from [GLOB.deity] costs [GREEDY_HEAL_COST] credits for 30 health!"))
return TRUE
if(!ishuman(blessed_living))
return FALSE
var/mob/living/carbon/human/blessed = blessed_living
for(var/obj/item/bodypart/robolimb as anything in blessed.bodyparts)
if(robolimb.status == BODYPART_ROBOTIC)
- to_chat(chap, "[GLOB.deity] refuses to heal this metallic taint!")
+ to_chat(chap, span_warning("[GLOB.deity] refuses to heal this metallic taint!"))
return TRUE
account.adjust_money(-GREEDY_HEAL_COST)
@@ -259,8 +259,8 @@
for(var/obj/item/bodypart/affecting as anything in hurt_limbs)
if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC))
blessed.update_damage_overlays()
- blessed.visible_message("[chap] barters a heal for [blessed] from [GLOB.deity]!")
- to_chat(blessed, "May the power of [GLOB.deity] compel you to be healed! Thank you for choosing [GLOB.deity]!")
+ blessed.visible_message(span_notice("[chap] barters a heal for [blessed] from [GLOB.deity]!"))
+ to_chat(blessed, span_boldnotice("May the power of [GLOB.deity] compel you to be healed! Thank you for choosing [GLOB.deity]!"))
playsound(chap, 'sound/effects/cashregister.ogg', 60, TRUE)
SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
return TRUE
@@ -296,10 +296,10 @@
/datum/religion_sect/honorbound/on_conversion(mob/living/carbon/new_convert)
..()
if(!ishuman(new_convert))
- to_chat("[GLOB.deity] has no respect for lower creatures, and refuses to make you honorbound.")
+ to_chat(span_warning("[GLOB.deity] has no respect for lower creatures, and refuses to make you honorbound."))
return FALSE
if(TRAIT_GENELESS in new_convert.dna.species.inherent_traits)
- to_chat("[GLOB.deity] has deemed your species as one that could never show honor.")
+ to_chat(span_warning("[GLOB.deity] has deemed your species as one that could never show honor."))
return FALSE
var/datum/dna/holy_dna = new_convert.dna
holy_dna.add_mutation(HONORBOUND)
@@ -317,10 +317,10 @@
/datum/religion_sect/burden/on_conversion(mob/living/carbon/human/new_convert)
..()
if(!ishuman(new_convert))
- to_chat("[GLOB.deity] needs higher level creatures to fully comprehend the suffering. You are not burdened.")
+ to_chat(span_warning("[GLOB.deity] needs higher level creatures to fully comprehend the suffering. You are not burdened."))
return
if(TRAIT_GENELESS in new_convert.dna.species.inherent_traits)
- to_chat("[GLOB.deity] cannot help a species such as yourself comprehend the suffering. You are not burdened.")
+ to_chat(span_warning("[GLOB.deity] cannot help a species such as yourself comprehend the suffering. You are not burdened."))
return
var/datum/dna/holy_dna = new_convert.dna
holy_dna.add_mutation(/datum/mutation/human/burdened)
@@ -350,11 +350,11 @@
return TRUE
var/mob/living/carbon/human/blessed = blessed_living
if(blessed.reagents.has_reagent(/datum/reagent/drug/maint/sludge))
- to_chat(blessed, "[GLOB.deity] has already empowered them.")
+ to_chat(blessed, span_warning("[GLOB.deity] has already empowered them."))
return TRUE
blessed.reagents.add_reagent(/datum/reagent/drug/maint/sludge, 5)
- blessed.visible_message("[chap] empowers [blessed] with the power of [GLOB.deity]!")
- to_chat(blessed, "The power of [GLOB.deity] has made you harder to wound for a while!")
+ blessed.visible_message(span_notice("[chap] empowers [blessed] with the power of [GLOB.deity]!"))
+ to_chat(blessed, span_boldnotice("The power of [GLOB.deity] has made you harder to wound for a while!"))
playsound(chap, "punch", 25, TRUE, -1)
SEND_SIGNAL(blessed, COMSIG_ADD_MOOD_EVENT, "blessing", /datum/mood_event/blessing)
return TRUE //trust me, you'll be feeling the pain from the maint drugs all well enough
@@ -365,9 +365,9 @@
var/datum/reagent/yuck/wanted_yuck = offering.reagents.has_reagent(/datum/reagent/yuck, MINIMUM_YUCK_REQUIRED)
var/favor_earned = offering.reagents.get_reagent_amount(/datum/reagent/yuck)
if(!wanted_yuck)
- to_chat(user, "[offering] does not have enough organic slurry for [GLOB.deity] to enjoy.")
+ to_chat(user, span_warning("[offering] does not have enough organic slurry for [GLOB.deity] to enjoy."))
return
- to_chat(user, "[GLOB.deity] loves organic slurry.")
+ to_chat(user, span_notice("[GLOB.deity] loves organic slurry."))
adjust_favor(favor_earned, user)
playsound(get_turf(offering), 'sound/items/drink.ogg', 50, TRUE)
offering.reagents.clear_reagents()
diff --git a/code/modules/religion/religion_structures.dm b/code/modules/religion/religion_structures.dm
index d1646fd2def..c58238b90f6 100644
--- a/code/modules/religion/religion_structures.dm
+++ b/code/modules/religion/religion_structures.dm
@@ -32,7 +32,7 @@
return ..()
var/mob/living/pushed_mob = user.pulling
if(pushed_mob.buckled)
- to_chat(user, "[pushed_mob] is buckled to [pushed_mob.buckled]!")
+ to_chat(user, span_warning("[pushed_mob] is buckled to [pushed_mob.buckled]!"))
return ..()
to_chat(user,"You examine [src] closer, and note the following...")
+ . = list(span_notice("You examine [src] closer, and note the following..."))
if(GLOB.religion)
- . += list("Deity: [GLOB.deity].")
- . += list("Religion: [GLOB.religion].")
- . += list("Bible: [GLOB.bible_name].")
+ . += list(span_notice("Deity: [GLOB.deity]."))
+ . += list(span_notice("Religion: [GLOB.religion]."))
+ . += list(span_notice("Bible: [GLOB.bible_name]."))
if(GLOB.religious_sect)
- . += list("Sect: [GLOB.religious_sect].")
- . += list("Favor: [GLOB.religious_sect.favor].")
+ . += list(span_notice("Sect: [GLOB.religious_sect]."))
+ . += list(span_notice("Favor: [GLOB.religious_sect.favor]."))
var/chaplains = get_chaplains()
if(isAdminObserver(user) && chaplains)
- . += list("Chaplains: [chaplains].")
+ . += list(span_notice("Chaplains: [chaplains]."))
/obj/structure/altar_of_gods/proc/reflect_sect_in_icons()
if(GLOB.religious_sect)
@@ -91,10 +91,10 @@
/obj/item/ritual_totem/proc/block_magic(mob/user, major)
if(major)
- to_chat(user, "[src] consumes the magic within itself!")
+ to_chat(user, span_warning("[src] consumes the magic within itself!"))
/obj/item/ritual_totem/proc/expire(mob/user)
- to_chat(user, "[src] quickly decays into rot!")
+ to_chat(user, span_warning("[src] quickly decays into rot!"))
qdel(src)
new /obj/effect/decal/cleanable/ash(drop_location())
@@ -106,18 +106,18 @@
. = ..()
var/is_holy = user.mind?.holy_role
if(is_holy)
- . += "[src] can only be moved by important followers of [GLOB.deity]."
+ . += span_notice("[src] can only be moved by important followers of [GLOB.deity].")
/obj/item/ritual_totem/pickup(mob/taker)
var/initial_loc = loc
var/holiness = taker.mind?.holy_role
var/no_take = FALSE
if(holiness == NONE)
- to_chat(taker, "Try as you may, you're seemingly unable to pick [src] up!")
+ to_chat(taker, span_warning("Try as you may, you're seemingly unable to pick [src] up!"))
no_take = TRUE
else if(holiness == HOLY_ROLE_DEACON) //deacons cannot pick them up either
no_take = TRUE
- to_chat(taker, "You cannot pick [src] up. It seems you aren't important enough to [GLOB.deity] to do that.")
+ to_chat(taker, span_warning("You cannot pick [src] up. It seems you aren't important enough to [GLOB.deity] to do that."))
..()
if(no_take)
taker.dropItemToGround(src)
diff --git a/code/modules/religion/rites.dm b/code/modules/religion/rites.dm
index b3e0fd6793d..c7fa03051f1 100644
--- a/code/modules/religion/rites.dm
+++ b/code/modules/religion/rites.dm
@@ -25,7 +25,7 @@
/datum/religion_rites/proc/can_afford(mob/living/user)
if(GLOB.religious_sect?.favor < favor_cost)
- to_chat(user, "This rite requires more favor!")
+ to_chat(user, span_warning("This rite requires more favor!"))
return FALSE
return TRUE
@@ -33,7 +33,7 @@
/datum/religion_rites/proc/perform_rite(mob/living/user, atom/religious_tool)
if(!can_afford(user))
return FALSE
- to_chat(user, "You begin to perform the rite of [name]...")
+ to_chat(user, span_notice("You begin to perform the rite of [name]..."))
if(!ritual_invocations)
if(do_after(user, target = user, delay = ritual_length))
return TRUE
@@ -77,7 +77,7 @@
/datum/religion_rites/synthconversion/perform_rite(mob/living/user, atom/religious_tool)
if(!ismovable(religious_tool))
- to_chat(user, "This rite requires a religious device that individuals can be buckled to.")
+ to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to."))
return FALSE
var/atom/movable/movable_reltool = religious_tool
if(!movable_reltool)
@@ -85,9 +85,9 @@
if(!LAZYLEN(movable_reltool.buckled_mobs))
. = FALSE
if(!movable_reltool.can_buckle) //yes, if you have somehow managed to have someone buckled to something that now cannot buckle, we will still let you perform the rite!
- to_chat(user, "This rite requires a religious device that individuals can be buckled to.")
+ to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to."))
return
- to_chat(user, "This rite requires an individual to be buckled to [movable_reltool].")
+ to_chat(user, span_warning("This rite requires an individual to be buckled to [movable_reltool]."))
return
return ..()
@@ -106,7 +106,7 @@
if(!human2borg)
return FALSE
human2borg.set_species(/datum/species/android)
- human2borg.visible_message("[human2borg] has been converted by the rite of [name]!")
+ human2borg.visible_message(span_notice("[human2borg] has been converted by the rite of [name]!"))
return TRUE
@@ -150,7 +150,7 @@
chosen_clothing = null //our lord and savior no longer cares about this apparel
return TRUE
chosen_clothing = null
- to_chat(user, "The clothing that was chosen for the rite is no longer on the altar!")
+ to_chat(user, span_warning("The clothing that was chosen for the rite is no longer on the altar!"))
return FALSE
@@ -168,44 +168,44 @@
/datum/religion_rites/burning_sacrifice/perform_rite(mob/living/user, atom/religious_tool)
if(!ismovable(religious_tool))
- to_chat(user, "This rite requires a religious device that individuals can be buckled to.")
+ to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to."))
return FALSE
var/atom/movable/movable_reltool = religious_tool
if(!movable_reltool)
return FALSE
if(!LAZYLEN(movable_reltool.buckled_mobs))
- to_chat(user, "Nothing is buckled to the altar!")
+ to_chat(user, span_warning("Nothing is buckled to the altar!"))
return FALSE
for(var/corpse in movable_reltool.buckled_mobs)
if(!iscarbon(corpse))// only works with carbon corpse since most normal mobs can't be set on fire.
- to_chat(user, "Only carbon lifeforms can be properly burned for the sacrifice!")
+ to_chat(user, span_warning("Only carbon lifeforms can be properly burned for the sacrifice!"))
return FALSE
chosen_sacrifice = corpse
if(chosen_sacrifice.stat != DEAD)
- to_chat(user, "You can only sacrifice dead bodies, this one is still alive!")
+ to_chat(user, span_warning("You can only sacrifice dead bodies, this one is still alive!"))
return FALSE
if(!chosen_sacrifice.on_fire)
- to_chat(user, "This corpse needs to be on fire to be sacrificed!")
+ to_chat(user, span_warning("This corpse needs to be on fire to be sacrificed!"))
return FALSE
return ..()
/datum/religion_rites/burning_sacrifice/invoke_effect(mob/living/user, atom/movable/religious_tool)
..()
if(!(chosen_sacrifice in religious_tool.buckled_mobs)) //checks one last time if the right corpse is still buckled
- to_chat(user, "The right sacrifice is no longer on the altar!")
+ to_chat(user, span_warning("The right sacrifice is no longer on the altar!"))
chosen_sacrifice = null
return FALSE
if(!chosen_sacrifice.on_fire)
- to_chat(user, "The sacrifice is no longer on fire, it needs to burn until the end of the rite!")
+ to_chat(user, span_warning("The sacrifice is no longer on fire, it needs to burn until the end of the rite!"))
chosen_sacrifice = null
return FALSE
if(chosen_sacrifice.stat != DEAD)
- to_chat(user, "The sacrifice has to stay dead for the rite to work!")
+ to_chat(user, span_warning("The sacrifice has to stay dead for the rite to work!"))
chosen_sacrifice = null
return FALSE
var/favor_gained = 100 + round(chosen_sacrifice.getFireLoss())
GLOB.religious_sect.adjust_favor(favor_gained, user)
- to_chat(user, "[GLOB.deity] absorbs the burning corpse and any trace of fire with it. [GLOB.deity] rewards you with [favor_gained] favor.")
+ to_chat(user, span_notice("[GLOB.deity] absorbs the burning corpse and any trace of fire with it. [GLOB.deity] rewards you with [favor_gained] favor."))
chosen_sacrifice.dust(force = TRUE)
playsound(get_turf(religious_tool), 'sound/effects/supermatter.ogg', 50, TRUE)
chosen_sacrifice = null
@@ -239,17 +239,17 @@
/datum/religion_rites/greed/can_afford(mob/living/user)
var/datum/bank_account/account = user.get_bank_account()
if(!account)
- to_chat(user, "You need a way to pay for the rite!")
+ to_chat(user, span_warning("You need a way to pay for the rite!"))
return FALSE
if(account.account_balance < money_cost)
- to_chat(user, "This rite requires more money!")
+ to_chat(user, span_warning("This rite requires more money!"))
return FALSE
return TRUE
/datum/religion_rites/greed/invoke_effect(mob/living/user, atom/movable/religious_tool)
var/datum/bank_account/account = user.get_bank_account()
if(!account || account.account_balance < money_cost)
- to_chat(user, "This rite requires more money!")
+ to_chat(user, span_warning("This rite requires more money!"))
return FALSE
account.adjust_money(-money_cost)
. = ..()
@@ -301,27 +301,27 @@
/datum/religion_rites/deaconize/perform_rite(mob/living/user, atom/religious_tool)
var/datum/religion_sect/honorbound/sect = GLOB.religious_sect
if(!ismovable(religious_tool))
- to_chat(user, "This rite requires a religious device that individuals can be buckled to.")
+ to_chat(user, span_warning("This rite requires a religious device that individuals can be buckled to."))
return FALSE
var/atom/movable/movable_reltool = religious_tool
if(!movable_reltool)
return FALSE
if(!LAZYLEN(movable_reltool.buckled_mobs))
- to_chat(user, "Nothing is buckled to the altar!")
+ to_chat(user, span_warning("Nothing is buckled to the altar!"))
return FALSE
for(var/mob/living/carbon/human/possible_crusader in movable_reltool.buckled_mobs)
if(possible_crusader.stat != CONSCIOUS)
- to_chat(user, "[possible_crusader] needs to be alive and conscious to join the crusade!")
+ to_chat(user, span_warning("[possible_crusader] needs to be alive and conscious to join the crusade!"))
return FALSE
if(TRAIT_GENELESS in possible_crusader.dna.species.inherent_traits)
- to_chat(user, "This species disgusts [GLOB.deity]! They would never be allowed to join the crusade!")
+ to_chat(user, span_warning("This species disgusts [GLOB.deity]! They would never be allowed to join the crusade!"))
return FALSE
if(possible_crusader in sect.currently_asking)
- to_chat(user, "Wait for them to decide on whether to join or not!")
+ to_chat(user, span_warning("Wait for them to decide on whether to join or not!"))
return FALSE
if(!(possible_crusader in sect.possible_crusaders))
INVOKE_ASYNC(sect, /datum/religion_sect/honorbound.proc/invite_crusader, possible_crusader)
- to_chat(user, "They have been given the option to consider joining the crusade against evil. Wait for them to decide and try again.")
+ to_chat(user, span_notice("They have been given the option to consider joining the crusade against evil. Wait for them to decide and try again."))
return FALSE
new_crusader = possible_crusader
return ..()
@@ -331,16 +331,16 @@
var/mob/living/carbon/human/joining_now = new_crusader
new_crusader = null
if(!(joining_now in religious_tool.buckled_mobs)) //checks one last time if the right corpse is still buckled
- to_chat(user, "The new member is no longer on the altar!")
+ to_chat(user, span_warning("The new member is no longer on the altar!"))
return FALSE
if(joining_now.stat != CONSCIOUS)
- to_chat(user, "The new member has to stay alive for the rite to work!")
+ to_chat(user, span_warning("The new member has to stay alive for the rite to work!"))
return FALSE
if(!joining_now.mind)
- to_chat(user, "The new member has no mind!")
+ to_chat(user, span_warning("The new member has no mind!"))
return FALSE
if(joining_now.mind.has_antag_datum(/datum/antagonist/cult))//what the fuck?!
- to_chat(user, "[GLOB.deity] has seen a true, dark evil in [joining_now]'s heart, and they have been smitten!")
+ to_chat(user, span_warning("[GLOB.deity] has seen a true, dark evil in [joining_now]'s heart, and they have been smitten!"))
playsound(get_turf(religious_tool), 'sound/effects/pray.ogg', 50, TRUE)
joining_now.gib(TRUE)
return FALSE
@@ -348,7 +348,7 @@
if(joining_now in honormut.guilty)
honormut.guilty -= joining_now
GLOB.religious_sect.adjust_favor(200, user)
- to_chat(user, "[GLOB.deity] has bound [joining_now] to the code! They are now a holy role! (albeit the lowest level of such)")
+ to_chat(user, span_notice("[GLOB.deity] has bound [joining_now] to the code! They are now a holy role! (albeit the lowest level of such)"))
joining_now.mind.holy_role = HOLY_ROLE_DEACON
GLOB.religious_sect.on_conversion(joining_now)
playsound(get_turf(religious_tool), 'sound/effects/pray.ogg', 50, TRUE)
@@ -368,7 +368,7 @@
if(!honormut)
return FALSE
if(!honormut.guilty.len)
- to_chat(user, "[GLOB.deity] is holding no grudges to forgive.")
+ to_chat(user, span_warning("[GLOB.deity] is holding no grudges to forgive."))
return FALSE
var/forgiven_choice = input(user, "Choose one of [GLOB.deity]'s guilty to forgive.", "Forgive") as null|anything in honormut.guilty
if(!forgiven_choice)
@@ -403,7 +403,7 @@
continue
writ_target = could_writ //PLEASE SIGN MY AUTOGRAPH
return ..()
- to_chat(user, "You need to place blank paper on [religious_tool] to do this!")
+ to_chat(user, span_warning("You need to place blank paper on [religious_tool] to do this!"))
return FALSE
/datum/religion_rites/summon_rules/invoke_effect(mob/living/user, atom/movable/religious_tool)
@@ -412,9 +412,9 @@
var/turf/tool_turf = get_turf(religious_tool)
writ_target = null
if(QDELETED(autograph) || !(tool_turf == autograph.loc)) //check if the same food is still there
- to_chat(user, "Your target left the altar!")
+ to_chat(user, span_warning("Your target left the altar!"))
return FALSE
- autograph.visible_message("words magically form on [autograph]!")
+ autograph.visible_message(span_notice("words magically form on [autograph]!"))
playsound(tool_turf, 'sound/effects/pray.ogg', 50, TRUE)
new /obj/item/paper/holy_writ(tool_turf)
qdel(autograph)
@@ -473,13 +473,13 @@
return FALSE
//uses HAS_TRAIT_FROM because junkies are also hopelessly addicted
if(HAS_TRAIT_FROM(user, TRAIT_HOPELESSLY_ADDICTED, "maint_adaptation"))
- to_chat(user, "You've already adapted.")
+ to_chat(user, span_warning("You've already adapted."))
return FALSE
return ..()
/datum/religion_rites/maint_adaptation/invoke_effect(mob/living/user, atom/movable/religious_tool)
..()
- to_chat(user, "You feel your genes rattled and reshaped. You're becoming something new.")
+ to_chat(user, span_warning("You feel your genes rattled and reshaped. You're becoming something new."))
user.emote("laughs")
ADD_TRAIT(user, TRAIT_HOPELESSLY_ADDICTED, "maint_adaptation")
//addiction sends some nasty mood effects but we want the maint adaption to be enjoyed like a fine wine
@@ -503,18 +503,18 @@
if(!ishuman(user))
return FALSE
if(!HAS_TRAIT_FROM(user, TRAIT_HOPELESSLY_ADDICTED, "maint_adaptation"))
- to_chat(user, "You need to adapt to maintenance first.")
+ to_chat(user, span_warning("You need to adapt to maintenance first."))
return FALSE
var/obj/item/organ/eyes/night_vision/maintenance_adapted/adapted = user.getorganslot(ORGAN_SLOT_EYES)
if(adapted && istype(adapted))
- to_chat(user, "Your eyes are already adapted!")
+ to_chat(user, span_warning("Your eyes are already adapted!"))
return FALSE
return ..()
/datum/religion_rites/adapted_eyes/invoke_effect(mob/living/carbon/human/user, atom/movable/religious_tool)
..()
var/obj/item/organ/eyes/oldeyes = user.getorganslot(ORGAN_SLOT_EYES)
- to_chat(user, "You feel your eyes adapt to the darkness!")
+ to_chat(user, span_warning("You feel your eyes adapt to the darkness!"))
if(oldeyes)
oldeyes.Remove(user, special = TRUE)
qdel(oldeyes)//eh
@@ -536,7 +536,7 @@
continue
mold_target = could_mold //moldify this o great one
return ..()
- to_chat(user, "You need to place food on [religious_tool] to do this!")
+ to_chat(user, span_warning("You need to place food on [religious_tool] to do this!"))
return FALSE
/datum/religion_rites/adapted_food/invoke_effect(mob/living/user, atom/movable/religious_tool)
@@ -544,9 +544,9 @@
var/obj/item/food/moldify = mold_target
mold_target = null
if(QDELETED(moldify) || !(get_turf(religious_tool) == moldify.loc)) //check if the same food is still there
- to_chat(user, "Your target left the altar!")
+ to_chat(user, span_warning("Your target left the altar!"))
return FALSE
- to_chat(user, "[moldify] becomes rancid!")
+ to_chat(user, span_warning("[moldify] becomes rancid!"))
user.emote("laughs")
new /obj/item/food/badrecipe/moldy(get_turf(religious_tool))
qdel(moldify)
@@ -564,7 +564,7 @@
for(var/obj/item/stack/sheet/mineral/wood/could_totem in get_turf(religious_tool))
converted = could_totem //totemify this o great one
return ..()
- to_chat(user, "You need at least 1 wood to do this!")
+ to_chat(user, span_warning("You need at least 1 wood to do this!"))
return FALSE
/datum/religion_rites/ritual_totem/invoke_effect(mob/living/user, atom/movable/religious_tool)
@@ -573,9 +573,9 @@
var/obj/item/stack/sheet/mineral/wood/padala = converted
converted = null
if(QDELETED(padala) || !(get_turf(religious_tool) == padala.loc)) //check if the same food is still there
- to_chat(user, "Your target left the altar!")
+ to_chat(user, span_warning("Your target left the altar!"))
return FALSE
- to_chat(user, "[padala] reshapes into a totem!")
+ to_chat(user, span_warning("[padala] reshapes into a totem!"))
if(!padala.use(1))//use one wood
return
user.emote("laughs")
diff --git a/code/modules/research/anomaly/anomaly_core.dm b/code/modules/research/anomaly/anomaly_core.dm
index de19ee199ed..9b914175448 100644
--- a/code/modules/research/anomaly/anomaly_core.dm
+++ b/code/modules/research/anomaly/anomaly_core.dm
@@ -21,14 +21,14 @@
return TRUE
/obj/item/assembly/signaler/anomaly/manual_suicide(mob/living/carbon/user)
- user.visible_message("[user]'s [src] is reacting to the radio signal, warping [user.p_their()] body!")
+ user.visible_message(span_suicide("[user]'s [src] is reacting to the radio signal, warping [user.p_their()] body!"))
user.set_suicide(TRUE)
user.suicide_log()
user.gib()
/obj/item/assembly/signaler/anomaly/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_ANALYZER)
- to_chat(user, "Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code].")
+ to_chat(user, span_notice("Analyzing... [src]'s stabilized field is fluctuating along frequency [format_frequency(frequency)], code [code]."))
return ..()
//Anomaly cores
diff --git a/code/modules/research/anomaly/explosive_compressor.dm b/code/modules/research/anomaly/explosive_compressor.dm
index 4072a462140..226319fefa2 100644
--- a/code/modules/research/anomaly/explosive_compressor.dm
+++ b/code/modules/research/anomaly/explosive_compressor.dm
@@ -40,8 +40,8 @@
/obj/machinery/research/explosive_compressor/examine(mob/user)
. = ..()
- . += "Ctrl-Click to remove an inserted core."
- . += "Click with an empty hand to gather information about the required radius of an inserted core. Insert a ready TTV to start the implosion process if a core is inserted."
+ . += span_notice("Ctrl-Click to remove an inserted core.")
+ . += span_notice("Click with an empty hand to gather information about the required radius of an inserted core. Insert a ready TTV to start the implosion process if a core is inserted.")
/obj/machinery/research/explosive_compressor/assume_air(datum/gas_mixture/giver)
qdel(giver)
@@ -52,7 +52,7 @@
if(.)
return
if(!inserted_core)
- to_chat(user, "There is no core inserted.")
+ to_chat(user, span_warning("There is no core inserted."))
return
if(last_requirements_say + 3 SECONDS > world.time)
return
@@ -64,13 +64,13 @@
if(!istype(user) || !user.Adjacent(src) || !(user.mobility_flags & MOBILITY_USE))
return
if(!inserted_core)
- to_chat(user, "There is no core inserted.")
+ to_chat(user, span_warning("There is no core inserted."))
return
if(testing)
- to_chat(user, "You can't remove [inserted_core] from [src] while [p_theyre()] in testing mode.")
+ to_chat(user, span_warning("You can't remove [inserted_core] from [src] while [p_theyre()] in testing mode."))
return
inserted_core.forceMove(get_turf(user))
- to_chat(user, "You remove [inserted_core] from [src].")
+ to_chat(user, span_notice("You remove [inserted_core] from [src]."))
user.put_in_hands(inserted_core)
inserted_core = null
@@ -108,34 +108,34 @@
. = ..()
if(istype(tool, /obj/item/raw_anomaly_core))
if(inserted_core)
- to_chat(user, "There is already a core in [src].")
+ to_chat(user, span_warning("There is already a core in [src]."))
return
if(testing)
- to_chat(user, "You can't insert [tool] into [src] while [p_theyre()] in testing mode.")
+ to_chat(user, span_warning("You can't insert [tool] into [src] while [p_theyre()] in testing mode."))
return
if(!user.transferItemToLoc(tool, src))
- to_chat(user, "[tool] is stuck to your hand.")
+ to_chat(user, span_warning("[tool] is stuck to your hand."))
return
inserted_core = tool
- to_chat(user, "You insert [tool] into [src].")
+ to_chat(user, span_notice("You insert [tool] into [src]."))
return
if(istype(tool, /obj/item/transfer_valve))
// If they don't have a bomb core inserted, don't let them insert this. If they do, insert and do implosion.
if(!inserted_core)
- to_chat(user, "There is no core inserted in [src]. What would be the point of detonating an implosion without a core?")
+ to_chat(user, span_warning("There is no core inserted in [src]. What would be the point of detonating an implosion without a core?"))
return
if(testing)
- to_chat(user, "You can't insert [tool] into [src] while [p_theyre()] in testing mode.")
+ to_chat(user, span_warning("You can't insert [tool] into [src] while [p_theyre()] in testing mode."))
return
var/obj/item/transfer_valve/valve = tool
if(!valve.ready())
- to_chat(user, "[valve] is incomplete.")
+ to_chat(user, span_warning("[valve] is incomplete."))
return
if(!user.transferItemToLoc(tool, src))
- to_chat(user, "[tool] is stuck to your hand.")
+ to_chat(user, span_warning("[tool] is stuck to your hand."))
return
inserted_bomb = tool
- to_chat(user, "You insert [tool] and press the start button.")
+ to_chat(user, span_notice("You insert [tool] and press the start button."))
start_test()
diff --git a/code/modules/research/bepis.dm b/code/modules/research/bepis.dm
index 98c597ba4c4..f3869ec6b01 100644
--- a/code/modules/research/bepis.dm
+++ b/code/modules/research/bepis.dm
@@ -64,7 +64,7 @@
if(default_deconstruction_crowbar(O))
return
if(!is_operational)
- to_chat(user, "[src] can't accept money when it's not functioning.")
+ to_chat(user, span_notice("[src] can't accept money when it's not functioning."))
return
if(istype(O, /obj/item/holochip) || istype(O, /obj/item/stack/spacecash))
var/deposit_value = O.get_item_credit_value()
diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm
index 863ab8b1493..081d124ff11 100644
--- a/code/modules/research/destructive_analyzer.dm
+++ b/code/modules/research/destructive_analyzer.dm
@@ -32,11 +32,11 @@ Note: Must be placed within 3 tiles of the R&D Console
if(!is_insertion_ready(user))
return
if(!user.transferItemToLoc(O, src))
- to_chat(user, "\The [O] is stuck to your hand, you cannot put it in the [src.name]!")
+ to_chat(user, span_warning("\The [O] is stuck to your hand, you cannot put it in the [src.name]!"))
return
busy = TRUE
loaded_item = O
- to_chat(user, "You add the [O.name] to the [src.name]!")
+ to_chat(user, span_notice("You add the [O.name] to the [src.name]!"))
flick("d_analyzer_la", src)
addtimer(CALLBACK(src, .proc/finish_loading), 10)
updateUsrDialog()
@@ -209,7 +209,7 @@ Note: Must be placed within 3 tiles of the R&D Console
if(ls["eject_item"]) //Eject the item inside the destructive analyzer.
if(busy)
- to_chat(usr, "The destructive analyzer is busy at the moment.")
+ to_chat(usr, span_danger("The destructive analyzer is busy at the moment."))
return
if(loaded_item)
unload_item()
diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm
index d2e06ef9a96..9c73111a252 100644
--- a/code/modules/research/experimentor.dm
+++ b/code/modules/research/experimentor.dm
@@ -98,7 +98,7 @@
/obj/machinery/rnd/experimentor/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Malfunction probability reduced by [badThingCoeff]%.
Cooldown interval between experiments at [resetTime*0.1] seconds."
+ . += span_notice("The status display reads: Malfunction probability reduced by [badThingCoeff]%.
Cooldown interval between experiments at [resetTime*0.1] seconds.")
/obj/machinery/rnd/experimentor/proc/checkCircumstances(obj/item/O)
//snowflake check to only take "made" bombs
@@ -116,7 +116,7 @@
if(!user.transferItemToLoc(O, src))
return
loaded_item = O
- to_chat(user, "You add [O] to the machine.")
+ to_chat(user, span_notice("You add [O] to the machine."))
flick("h_lathe_load", src)
/obj/machinery/rnd/experimentor/default_deconstruction_crowbar(obj/item/O)
@@ -180,11 +180,11 @@
updateUsrDialog()
else
if(recentlyExperimented)
- to_chat(usr, "[src] has been used too recently!")
+ to_chat(usr, span_warning("[src] has been used too recently!"))
else if(!loaded_item)
- to_chat(usr, "[src] is not currently loaded!")
+ to_chat(usr, span_warning("[src] is not currently loaded!"))
else if(!process || process != loaded_item) //Interface exploit protection (such as hrefs or swapping items with interface set to old item)
- to_chat(usr, "Interface failure detected in [src]. Please try again.")
+ to_chat(usr, span_danger("Interface failure detected in [src]. Please try again."))
else
var/dotype
if(text2num(scantype) == SCANTYPE_DISCOVER)
@@ -216,7 +216,7 @@
/obj/machinery/rnd/experimentor/proc/ejectItem(delete=FALSE)
if(loaded_item)
if(cloneMode)
- visible_message("A duplicate [loaded_item] pops out!")
+ visible_message(span_notice("A duplicate [loaded_item] pops out!"))
var/type_to_make = loaded_item.type
new type_to_make(get_turf(pick(oview(1,src))))
cloneMode = FALSE
@@ -242,21 +242,21 @@
var/criticalReaction = is_type_in_typecache(exp_on, critical_items_typecache)
////////////////////////////////////////////////////////////////////////////////////////////////
if(exp == SCANTYPE_POKE)
- visible_message("[src] prods at [exp_on] with mechanical arms.")
+ visible_message(span_notice("[src] prods at [exp_on] with mechanical arms."))
if(prob(EFFECT_PROB_LOW) && criticalReaction)
- visible_message("[exp_on] is gripped in just the right way, enhancing its focus.")
+ visible_message(span_notice("[exp_on] is gripped in just the right way, enhancing its focus."))
badThingCoeff++
else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff))
- visible_message("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!")
+ visible_message(span_danger("[src] malfunctions and destroys [exp_on], lashing its arms out at nearby people!"))
for(var/mob/living/m in oview(1, src))
m.apply_damage(15, BRUTE, pick(BODY_ZONE_HEAD,BODY_ZONE_CHEST,BODY_ZONE_PRECISE_GROIN))
investigate_log("Experimentor dealt minor brute to [m].", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_LOW-badThingCoeff))
- visible_message("[src] malfunctions!")
+ visible_message(span_warning("[src] malfunctions!"))
exp = SCANTYPE_OBLITERATE
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
- visible_message("[src] malfunctions, throwing the [exp_on]!")
+ visible_message(span_danger("[src] malfunctions, throwing the [exp_on]!"))
var/mob/living/target = locate(/mob/living) in oview(7,src)
if(target)
var/obj/item/throwing = loaded_item
@@ -266,18 +266,18 @@
throwing.throw_at(target, 10, 1)
////////////////////////////////////////////////////////////////////////////////////////////////
if(exp == SCANTYPE_IRRADIATE)
- visible_message("[src] reflects radioactive rays at [exp_on]!")
+ visible_message(span_danger("[src] reflects radioactive rays at [exp_on]!"))
if(prob(EFFECT_PROB_LOW) && criticalReaction)
- visible_message("[exp_on] has activated an unknown subroutine!")
+ visible_message(span_notice("[exp_on] has activated an unknown subroutine!"))
cloneMode = TRUE
investigate_log("Experimentor has made a clone of [exp_on]", INVESTIGATE_EXPERIMENTOR)
ejectItem()
else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff))
- visible_message("[src] malfunctions, melting [exp_on] and leaking radiation!")
+ visible_message(span_danger("[src] malfunctions, melting [exp_on] and leaking radiation!"))
radiation_pulse(src, 500)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_LOW-badThingCoeff))
- visible_message("[src] malfunctions, spewing toxic waste!")
+ visible_message(span_warning("[src] malfunctions, spewing toxic waste!"))
for(var/turf/T in oview(1, src))
if(!T.density)
if(prob(EFFECT_PROB_VERYHIGH) && !(locate(/obj/effect/decal/cleanable/greenglow) in T))
@@ -288,7 +288,7 @@
ejectItem(TRUE)
var/newPath = text2path(pickweight(valid_items))
loaded_item = new newPath(src)
- visible_message("[src] malfunctions, transforming [savedName] into [loaded_item]!")
+ visible_message(span_warning("[src] malfunctions, transforming [savedName] into [loaded_item]!"))
investigate_log("Experimentor has transformed [savedName] into [loaded_item]", INVESTIGATE_EXPERIMENTOR)
if(istype(loaded_item, /obj/item/grenade/chem_grenade))
var/obj/item/grenade/chem_grenade/CG = loaded_item
@@ -296,12 +296,12 @@
ejectItem()
////////////////////////////////////////////////////////////////////////////////////////////////
if(exp == SCANTYPE_GAS)
- visible_message("[src] fills its chamber with gas, [exp_on] included.")
+ visible_message(span_warning("[src] fills its chamber with gas, [exp_on] included."))
if(prob(EFFECT_PROB_LOW) && criticalReaction)
- visible_message("[exp_on] achieves the perfect mix!")
+ visible_message(span_notice("[exp_on] achieves the perfect mix!"))
new /obj/item/stack/sheet/mineral/plasma(get_turf(pick(oview(1,src))))
else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff))
- visible_message("[src] destroys [exp_on], leaking dangerous gas!")
+ visible_message(span_danger("[src] destroys [exp_on], leaking dangerous gas!"))
chosenchem = pick(/datum/reagent/carbon,/datum/reagent/uranium/radium,/datum/reagent/toxin,/datum/reagent/consumable/condensedcapsaicin,/datum/reagent/drug/mushroomhallucinogen,/datum/reagent/drug/space_drugs,/datum/reagent/consumable/ethanol,/datum/reagent/consumable/ethanol/beepsky_smash)
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = src
@@ -314,7 +314,7 @@
qdel(R)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff))
- visible_message("[src]'s chemical chamber has sprung a leak!")
+ visible_message(span_danger("[src]'s chemical chamber has sprung a leak!"))
chosenchem = pick(/datum/reagent/mutationtoxin/classic,/datum/reagent/cyborg_mutation_nanomachines,/datum/reagent/toxin/acid)
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = src
@@ -328,18 +328,18 @@
warn_admins(usr, "[chosenchem] smoke")
investigate_log("Experimentor has released [chosenchem] smoke!", INVESTIGATE_EXPERIMENTOR)
else if(prob(EFFECT_PROB_LOW-badThingCoeff))
- visible_message("[src] malfunctions, spewing harmless gas.")
+ visible_message(span_warning("[src] malfunctions, spewing harmless gas."))
throwSmoke(loc)
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
- visible_message("[src] melts [exp_on], ionizing the air around it!")
+ visible_message(span_warning("[src] melts [exp_on], ionizing the air around it!"))
empulse(loc, 4, 6)
investigate_log("Experimentor has generated an Electromagnetic Pulse.", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
////////////////////////////////////////////////////////////////////////////////////////////////
if(exp == SCANTYPE_HEAT)
- visible_message("[src] raises [exp_on]'s temperature.")
+ visible_message(span_notice("[src] raises [exp_on]'s temperature."))
if(prob(EFFECT_PROB_LOW) && criticalReaction)
- visible_message("[src]'s emergency coolant system gives off a small ding!")
+ visible_message(span_warning("[src]'s emergency coolant system gives off a small ding!"))
playsound(src, 'sound/machines/ding.ogg', 50, TRUE)
var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src))))
chosenchem = pick(/datum/reagent/toxin/plasma,/datum/reagent/consumable/capsaicin,/datum/reagent/consumable/ethanol)
@@ -353,18 +353,18 @@
var/mob/M = locate(/mob/living) in view(src, 3)
var/turf/MT = get_turf(M)
if(MT)
- visible_message("[src] dangerously overheats, launching a flaming fuel orb!")
+ visible_message(span_danger("[src] dangerously overheats, launching a flaming fuel orb!"))
investigate_log("Experimentor has launched a fireball at [M]!", INVESTIGATE_EXPERIMENTOR)
var/obj/projectile/magic/aoe/fireball/FB = new /obj/projectile/magic/aoe/fireball(start)
FB.preparePixelProjectile(MT, start)
FB.fire()
else if(prob(EFFECT_PROB_LOW-badThingCoeff))
- visible_message("[src] malfunctions, melting [exp_on] and releasing a burst of flame!")
+ visible_message(span_danger("[src] malfunctions, melting [exp_on] and releasing a burst of flame!"))
explosion(src, devastation_range = -1, flame_range = 2, adminlog = FALSE)
investigate_log("Experimentor started a fire.", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
- visible_message("[src] malfunctions, melting [exp_on] and leaking hot air!")
+ visible_message(span_warning("[src] malfunctions, melting [exp_on] and leaking hot air!"))
var/datum/gas_mixture/env = loc.return_air()
var/transfer_moles = 0.25 * env.total_moles()
var/datum/gas_mixture/removed = env.remove(transfer_moles)
@@ -378,7 +378,7 @@
investigate_log("Experimentor has released hot air.", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
- visible_message("[src] malfunctions, activating its emergency coolant systems!")
+ visible_message(span_warning("[src] malfunctions, activating its emergency coolant systems!"))
throwSmoke(loc)
for(var/mob/living/m in oview(1, src))
m.apply_damage(5, BURN, pick(BODY_ZONE_HEAD,BODY_ZONE_CHEST,BODY_ZONE_PRECISE_GROIN))
@@ -386,9 +386,9 @@
ejectItem()
////////////////////////////////////////////////////////////////////////////////////////////////
if(exp == SCANTYPE_COLD)
- visible_message("[src] lowers [exp_on]'s temperature.")
+ visible_message(span_notice("[src] lowers [exp_on]'s temperature."))
if(prob(EFFECT_PROB_LOW) && criticalReaction)
- visible_message("[src]'s emergency coolant system gives off a small ding!")
+ visible_message(span_warning("[src]'s emergency coolant system gives off a small ding!"))
var/obj/item/reagent_containers/food/drinks/coffee/C = new /obj/item/reagent_containers/food/drinks/coffee(get_turf(pick(oview(1,src))))
playsound(src, 'sound/machines/ding.ogg', 50, TRUE) //Ding! Your death coffee is ready!
chosenchem = pick(/datum/reagent/uranium,/datum/reagent/consumable/frostoil,/datum/reagent/medicine/ephedrine)
@@ -398,7 +398,7 @@
C.desc = "It has a large hazard symbol printed on the side in fading ink."
investigate_log("Experimentor has made a cup of [chosenchem] coffee.", INVESTIGATE_EXPERIMENTOR)
else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff))
- visible_message("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!")
+ visible_message(span_danger("[src] malfunctions, shattering [exp_on] and releasing a dangerous cloud of coolant!"))
var/datum/reagents/R = new/datum/reagents(50)
R.my_atom = src
R.add_reagent(/datum/reagent/consumable/frostoil , 50)
@@ -410,7 +410,7 @@
qdel(R)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_LOW-badThingCoeff))
- visible_message("[src] malfunctions, shattering [exp_on] and leaking cold air!")
+ visible_message(span_warning("[src] malfunctions, shattering [exp_on] and leaking cold air!"))
var/datum/gas_mixture/env = loc.return_air()
var/transfer_moles = 0.25 * env.total_moles()
var/datum/gas_mixture/removed = env.remove(transfer_moles)
@@ -424,26 +424,26 @@
investigate_log("Experimentor has released cold air.", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
else if(prob(EFFECT_PROB_MEDIUM-badThingCoeff))
- visible_message("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!")
+ visible_message(span_warning("[src] malfunctions, releasing a flurry of chilly air as [exp_on] pops out!"))
var/datum/effect_system/smoke_spread/smoke = new
smoke.set_up(0, loc)
smoke.start()
ejectItem()
////////////////////////////////////////////////////////////////////////////////////////////////
if(exp == SCANTYPE_OBLITERATE)
- visible_message("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!")
+ visible_message(span_warning("[exp_on] activates the crushing mechanism, [exp_on] is destroyed!"))
if(prob(EFFECT_PROB_LOW) && criticalReaction)
- visible_message("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!")
+ visible_message(span_warning("[src]'s crushing mechanism slowly and smoothly descends, flattening the [exp_on]!"))
new /obj/item/stack/sheet/plasteel(get_turf(pick(oview(1,src))))
else if(prob(EFFECT_PROB_VERYLOW-badThingCoeff))
- visible_message("[src]'s crusher goes way too many levels too high, crushing right through space-time!")
+ visible_message(span_danger("[src]'s crusher goes way too many levels too high, crushing right through space-time!"))
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE, -3)
investigate_log("Experimentor has triggered the 'throw things' reaction.", INVESTIGATE_EXPERIMENTOR)
for(var/atom/movable/AM in oview(7,src))
if(!AM.anchored)
AM.throw_at(src,10,1)
else if(prob(EFFECT_PROB_LOW-badThingCoeff))
- visible_message("[src]'s crusher goes one level too high, crushing right into space-time!")
+ visible_message(span_danger("[src]'s crusher goes one level too high, crushing right into space-time!"))
playsound(src, 'sound/effects/supermatter.ogg', 50, TRUE, -3)
investigate_log("Experimentor has triggered the 'minor throw things' reaction.", INVESTIGATE_EXPERIMENTOR)
var/list/throwAt = list()
@@ -458,25 +458,25 @@
if(exp == FAIL)
var/a = pick("rumbles","shakes","vibrates","shudders","honks")
var/b = pick("crushes","spins","viscerates","smashes","insults")
- visible_message("[exp_on] [a], and [b], the experiment was a failure.")
+ visible_message(span_warning("[exp_on] [a], and [b], the experiment was a failure."))
if(exp == SCANTYPE_DISCOVER)
- visible_message("[src] scans the [exp_on], revealing its true nature!")
+ visible_message(span_notice("[src] scans the [exp_on], revealing its true nature!"))
playsound(src, 'sound/effects/supermatter.ogg', 50, 3, -1)
var/obj/item/relic/R = loaded_item
R.reveal()
- investigate_log("Experimentor has revealed a relic with [R.realProc] effect.", INVESTIGATE_EXPERIMENTOR)
+ investigate_log("Experimentor has revealed a relic with [span_danger("[R.realProc]")] effect.", INVESTIGATE_EXPERIMENTOR)
ejectItem()
//Global reactions
if(prob(EFFECT_PROB_VERYLOW-badThingCoeff) && loaded_item)
var/globalMalf = rand(1,100)
if(globalMalf < 15)
- visible_message("[src]'s onboard detection system has malfunctioned!")
+ visible_message(span_warning("[src]'s onboard detection system has malfunctioned!"))
item_reactions["[exp_on.type]"] = pick(SCANTYPE_POKE,SCANTYPE_IRRADIATE,SCANTYPE_GAS,SCANTYPE_HEAT,SCANTYPE_COLD,SCANTYPE_OBLITERATE)
ejectItem()
if(globalMalf > 16 && globalMalf < 35)
- visible_message("[src] melts [exp_on], ian-izing the air around it!")
+ visible_message(span_warning("[src] melts [exp_on], ian-izing the air around it!"))
throwSmoke(loc)
if(trackedIan)
throwSmoke(trackedIan.loc)
@@ -487,13 +487,13 @@
investigate_log("Experimentor has spawned a new corgi.", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
if(globalMalf > 36 && globalMalf < 50)
- visible_message("Experimentor draws the life essence of those nearby!")
+ visible_message(span_warning("Experimentor draws the life essence of those nearby!"))
for(var/mob/living/m in view(4,src))
- to_chat(m, "You feel your flesh being torn from you, mists of blood drifting to [src]!")
+ to_chat(m, span_danger("You feel your flesh being torn from you, mists of blood drifting to [src]!"))
m.apply_damage(50, BRUTE, BODY_ZONE_CHEST)
investigate_log("Experimentor has taken 50 brute a blood sacrifice from [m]", INVESTIGATE_EXPERIMENTOR)
if(globalMalf > 51 && globalMalf < 75)
- visible_message("[src] encounters a run-time error!")
+ visible_message(span_warning("[src] encounters a run-time error!"))
throwSmoke(loc)
if(trackedRuntime)
throwSmoke(trackedRuntime.loc)
@@ -504,14 +504,14 @@
investigate_log("Experimentor failed to steal runtime, and instead spawned a new cat.", INVESTIGATE_EXPERIMENTOR)
ejectItem(TRUE)
if(globalMalf > 76 && globalMalf < 98)
- visible_message("[src] begins to smoke and hiss, shaking violently!")
+ visible_message(span_warning("[src] begins to smoke and hiss, shaking violently!"))
use_power(500000)
investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR)
if(globalMalf == 99)
- visible_message("[src] begins to glow and vibrate. It's going to blow!")
+ visible_message(span_warning("[src] begins to glow and vibrate. It's going to blow!"))
addtimer(CALLBACK(src, .proc/boom), 50)
if(globalMalf == 100)
- visible_message("[src] begins to glow and vibrate. It's going to blow!")
+ visible_message(span_warning("[src] begins to glow and vibrate. It's going to blow!"))
addtimer(CALLBACK(src, .proc/honk), 50)
addtimer(CALLBACK(src, .proc/reset_exp), resetTime)
@@ -581,10 +581,10 @@
/obj/item/relic/attack_self(mob/user)
if(!revealed)
- to_chat(user, "You aren't quite sure what this is. Maybe R&D knows what to do with it?")
+ to_chat(user, span_notice("You aren't quite sure what this is. Maybe R&D knows what to do with it?"))
return
if(!COOLDOWN_FINISHED(src, cooldown))
- to_chat(user, "[src] does not react!")
+ to_chat(user, span_warning("[src] does not react!"))
return
if(loc != user)
return
@@ -617,7 +617,7 @@
warn_admins(user, "Flash")
/obj/item/relic/proc/petSpray(mob/user)
- var/message = "[src] begins to shake, and in the distance the sound of rampaging animals arises!"
+ var/message = span_danger("[src] begins to shake, and in the distance the sound of rampaging animals arises!")
visible_message(message)
to_chat(user, message)
@@ -628,7 +628,7 @@
warn_admins(user, "Mass Mob Spawn")
if(prob(60))
- to_chat(user, "[src] falls apart!")
+ to_chat(user, span_warning("[src] falls apart!"))
qdel(src)
/obj/item/relic/proc/rapidDupe(mob/user)
@@ -648,24 +648,24 @@
warn_admins(user, "Rapid duplicator", 0)
/obj/item/relic/proc/explode(mob/user)
- to_chat(user, "[src] begins to heat up!")
+ to_chat(user, span_danger("[src] begins to heat up!"))
addtimer(CALLBACK(src, .proc/do_explode, user), rand(35, 100))
/obj/item/relic/proc/do_explode(mob/user)
if(loc == user)
- visible_message("\The [src]'s top opens, releasing a powerful blast!")
+ visible_message(span_notice("\The [src]'s top opens, releasing a powerful blast!"))
explosion(src, heavy_impact_range = rand(1,5), light_impact_range = rand(1,5), flame_range = 2, flash_range = rand(1,5), adminlog = TRUE)
warn_admins(user, "Explosion")
qdel(src) //Comment this line to produce a light grenade (the bomb that keeps on exploding when used)!!
/obj/item/relic/proc/teleport(mob/user)
- to_chat(user, "[src] begins to vibrate!")
+ to_chat(user, span_notice("[src] begins to vibrate!"))
addtimer(CALLBACK(src, .proc/do_the_teleport, user), rand(10, 30))
/obj/item/relic/proc/do_the_teleport(mob/user)
var/turf/userturf = get_turf(user)
if(loc == user && !is_centcom_level(userturf.z)) //Because Nuke Ops bringing this back on their shuttle, then looting the ERT area is 2fun4you!
- visible_message("[src] twists and bends, relocating itself!")
+ visible_message(span_notice("[src] twists and bends, relocating itself!"))
throwSmoke(userturf)
do_teleport(user, userturf, 8, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
throwSmoke(get_turf(user))
diff --git a/code/modules/research/nanites/nanite_chamber.dm b/code/modules/research/nanites/nanite_chamber.dm
index 26b620c611a..c35f4705000 100644
--- a/code/modules/research/nanites/nanite_chamber.dm
+++ b/code/modules/research/nanites/nanite_chamber.dm
@@ -33,7 +33,7 @@
/obj/machinery/nanite_chamber/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Scanning module has been upgraded to level [scan_level]."
+ . += span_notice("The status display reads: Scanning module has been upgraded to level [scan_level].")
/obj/machinery/nanite_chamber/proc/set_busy(status, message, working_icon)
busy = status
@@ -134,7 +134,7 @@
/obj/machinery/nanite_chamber/proc/toggle_open(mob/user)
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, span_notice("Close the maintenance panel first."))
return
if(state_open)
@@ -142,7 +142,7 @@
return
else if(locked)
- to_chat(user, "The bolts are locked down, securing the door shut.")
+ to_chat(user, span_notice("The bolts are locked down, securing the door shut."))
return
open_machine()
@@ -155,15 +155,15 @@
return
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user.visible_message("You see [user] kicking against the door of [src]!", \
- "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \
- "You hear a metallic creaking from [src].")
+ user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \
+ span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
+ span_hear("You hear a metallic creaking from [src]."))
if(do_after(user,(breakout_time), target = src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy)
return
locked = FALSE
- 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()
/obj/machinery/nanite_chamber/close_machine(mob/living/carbon/user)
@@ -185,7 +185,7 @@
if(user.stat || 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()
diff --git a/code/modules/research/nanites/nanite_cloud_controller.dm b/code/modules/research/nanites/nanite_cloud_controller.dm
index 224e247c5b5..4579239f6b6 100644
--- a/code/modules/research/nanites/nanite_cloud_controller.dm
+++ b/code/modules/research/nanites/nanite_cloud_controller.dm
@@ -20,7 +20,7 @@
if(istype(I, /obj/item/disk/nanite_program))
var/obj/item/disk/nanite_program/N = I
if (user.transferItemToLoc(N, src))
- to_chat(user, "You insert [N] into [src].")
+ to_chat(user, span_notice("You insert [N] into [src]."))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
if(disk)
eject(user)
@@ -30,7 +30,7 @@
/obj/machinery/computer/nanite_cloud_controller/AltClick(mob/user)
if(disk && user.canUseTopic(src, !issilicon(user)))
- to_chat(user, "You take out [disk] from [src].")
+ to_chat(user, span_notice("You take out [disk] from [src]."))
eject(user)
return
@@ -49,7 +49,7 @@
/obj/machinery/computer/nanite_cloud_controller/proc/generate_backup(cloud_id, mob/user)
if(SSnanites.get_cloud_backup(cloud_id, TRUE))
- to_chat(user, "Cloud ID already registered.")
+ to_chat(user, span_warning("Cloud ID already registered."))
return
var/datum/nanite_cloud_backup/backup = new(src)
diff --git a/code/modules/research/nanites/nanite_program_hub.dm b/code/modules/research/nanites/nanite_program_hub.dm
index 9ff2e9ab5bd..3039dea9704 100644
--- a/code/modules/research/nanites/nanite_program_hub.dm
+++ b/code/modules/research/nanites/nanite_program_hub.dm
@@ -37,7 +37,7 @@
if(istype(I, /obj/item/disk/nanite_program))
var/obj/item/disk/nanite_program/N = I
if(user.transferItemToLoc(N, src))
- to_chat(user, "You insert [N] into [src].")
+ to_chat(user, span_notice("You insert [N] into [src]."))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
if(disk)
eject(user)
@@ -66,7 +66,7 @@
/obj/machinery/nanite_program_hub/AltClick(mob/user)
if(disk && user.canUseTopic(src, !issilicon(user)))
- to_chat(user, "You take out [disk] from [src].")
+ to_chat(user, span_notice("You take out [disk] from [src]."))
eject(user)
return
diff --git a/code/modules/research/nanites/nanite_programmer.dm b/code/modules/research/nanites/nanite_programmer.dm
index 6bc2b020a1c..589d423b659 100644
--- a/code/modules/research/nanites/nanite_programmer.dm
+++ b/code/modules/research/nanites/nanite_programmer.dm
@@ -22,7 +22,7 @@
if(istype(I, /obj/item/disk/nanite_program))
var/obj/item/disk/nanite_program/N = I
if(user.transferItemToLoc(N, src))
- to_chat(user, "You insert [N] into [src]")
+ to_chat(user, span_notice("You insert [N] into [src]"))
playsound(src, 'sound/machines/terminal_insert_disc.ogg', 50, FALSE)
if(disk)
eject(user)
@@ -53,7 +53,7 @@
/obj/machinery/nanite_programmer/AltClick(mob/user)
if(disk && user.canUseTopic(src, !issilicon(user)))
- to_chat(user, "You take out [disk] from [src].")
+ to_chat(user, span_notice("You take out [disk] from [src]."))
eject(user)
return
diff --git a/code/modules/research/nanites/nanite_programs/protocols.dm b/code/modules/research/nanites/nanite_programs/protocols.dm
index 4e3322c25b7..c0198f67a74 100644
--- a/code/modules/research/nanites/nanite_programs/protocols.dm
+++ b/code/modules/research/nanites/nanite_programs/protocols.dm
@@ -270,8 +270,8 @@
extra_warnings = volume_warnings_stage_1 + volume_warnings_stage_2 + volume_warnings_stage_3 + volume_warnings_stage_4 + volume_warnings_stage_5
if(prob(35))
- to_chat(host_mob, "[pick(main_warnings)]")
+ to_chat(host_mob, span_warning("[pick(main_warnings)]"))
next_warning = world.time + rand(min_warning_cooldown, max_warning_cooldown)
else if(islist(extra_warnings))
- to_chat(host_mob, "[pick(extra_warnings)]")
+ to_chat(host_mob, span_warning("[pick(extra_warnings)]"))
next_warning = world.time + rand(min_warning_cooldown, max_warning_cooldown)
diff --git a/code/modules/research/nanites/nanite_programs/rogue.dm b/code/modules/research/nanites/nanite_programs/rogue.dm
index 011e5f28491..c9e5efa9419 100644
--- a/code/modules/research/nanites/nanite_programs/rogue.dm
+++ b/code/modules/research/nanites/nanite_programs/rogue.dm
@@ -20,7 +20,7 @@
/datum/nanite_program/necrotic/active_effect()
host_mob.adjustBruteLoss(0.75, TRUE)
if(prob(1))
- to_chat(host_mob, "You feel a mild ache from somewhere inside you.")
+ to_chat(host_mob, span_warning("You feel a mild ache from somewhere inside you."))
//Programs that don't directly interact with the body will decay into this
/datum/nanite_program/toxic
@@ -33,7 +33,7 @@
/datum/nanite_program/toxic/active_effect()
host_mob.adjustToxLoss(0.5)
if(prob(1))
- to_chat(host_mob, "You feel a bit sick.")
+ to_chat(host_mob, span_warning("You feel a bit sick."))
//Generic blood-affecting programs will decay into this
/datum/nanite_program/suffocating
@@ -46,7 +46,7 @@
/datum/nanite_program/suffocating/active_effect()
host_mob.adjustOxyLoss(3, 0)
if(prob(1))
- to_chat(host_mob, "You feel short of breath.")
+ to_chat(host_mob, span_warning("You feel short of breath."))
//Generic brain-affecting programs will decay into this
/datum/nanite_program/brain_decay
@@ -96,8 +96,8 @@
var/obj/item/bodypart/bodypart = host_mob.get_bodypart(picked_bodypart)
var/can_scratch = !host_mob.incapacitated() && get_location_accessible(host_mob, picked_bodypart)
- host_mob.visible_message("[can_scratch ? "[host_mob] scratches [host_mob.p_their()] [bodypart.name]." : ""]",\
- "Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]")
+ host_mob.visible_message("[can_scratch ? span_warning("[host_mob] scratches [host_mob.p_their()] [bodypart.name].") : ""]",\
+ span_warning("Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]"))
//Generic nerve-affecting programs will decay into this
/datum/nanite_program/nerve_decay
@@ -109,11 +109,11 @@
/datum/nanite_program/nerve_decay/active_effect()
if(prob(5))
- to_chat(host_mob, "You feel unbalanced!")
+ to_chat(host_mob, span_warning("You feel unbalanced!"))
host_mob.add_confusion(10)
else if(prob(4))
- to_chat(host_mob, "You can't feel your hands!")
+ to_chat(host_mob, span_warning("You can't feel your hands!"))
host_mob.drop_all_held_items()
else if(prob(4))
- to_chat(host_mob, "You can't feel your legs!")
+ to_chat(host_mob, span_warning("You can't feel your legs!"))
host_mob.Paralyze(30)
diff --git a/code/modules/research/nanites/nanite_programs/suppression.dm b/code/modules/research/nanites/nanite_programs/suppression.dm
index f3a3ed90728..aa8643eafdc 100644
--- a/code/modules/research/nanites/nanite_programs/suppression.dm
+++ b/code/modules/research/nanites/nanite_programs/suppression.dm
@@ -9,7 +9,7 @@
rogue_types = list(/datum/nanite_program/brain_misfire, /datum/nanite_program/brain_decay)
/datum/nanite_program/sleepy/on_trigger(comm_message)
- to_chat(host_mob, "You start to feel very sleepy...")
+ to_chat(host_mob, span_warning("You start to feel very sleepy..."))
host_mob.drowsyness += 20
addtimer(CALLBACK(host_mob, /mob/living.proc/Sleeping, 200), rand(60,200))
@@ -24,11 +24,11 @@
/datum/nanite_program/paralyzing/enable_passive_effect()
. = ..()
- to_chat(host_mob, "Your muscles seize! You can't move!")
+ to_chat(host_mob, span_warning("Your muscles seize! You can't move!"))
/datum/nanite_program/paralyzing/disable_passive_effect()
. = ..()
- to_chat(host_mob, "Your muscles relax, and you can move again.")
+ to_chat(host_mob, span_notice("Your muscles relax, and you can move again."))
/datum/nanite_program/shocking
name = "Electric Shock"
@@ -153,7 +153,7 @@
return
if(host_mob.stat == DEAD)
return
- to_chat(host_mob, "You feel compelled to speak...")
+ to_chat(host_mob, span_warning("You feel compelled to speak..."))
host_mob.say(sent_message, forced = "nanite speech")
/datum/nanite_program/comm/voice
@@ -175,7 +175,7 @@
sent_message = message_setting.get_value()
if(host_mob.stat == DEAD)
return
- to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[html_encode(sent_message)]\"")
+ to_chat(host_mob, "You hear a strange, robotic voice in your head... \"[span_robot("[html_encode(sent_message)]")]\"")
/datum/nanite_program/comm/hallucination
name = "Hallucination"
diff --git a/code/modules/research/nanites/nanite_programs/utility.dm b/code/modules/research/nanites/nanite_programs/utility.dm
index 98b362f1058..19ef4c9cce3 100644
--- a/code/modules/research/nanites/nanite_programs/utility.dm
+++ b/code/modules/research/nanites/nanite_programs/utility.dm
@@ -237,7 +237,7 @@
SEND_SIGNAL(infectee, COMSIG_NANITE_SYNC, nanites)
SEND_SIGNAL(infectee, COMSIG_NANITE_SET_CLOUD, nanites.cloud_id)
infectee.investigate_log("was infected by a nanite cluster with cloud ID [nanites.cloud_id] by [key_name(host_mob)] at [AREACOORD(infectee)].", INVESTIGATE_NANITES)
- to_chat(infectee, "You feel a tiny prick.")
+ to_chat(infectee, span_warning("You feel a tiny prick."))
/datum/nanite_program/mitosis
name = "Mitosis"
@@ -289,8 +289,8 @@
/datum/nanite_program/dermal_button/proc/press()
if(activated)
- host_mob.visible_message("[host_mob] presses a button on [host_mob.p_their()] forearm.",
- "You press the nanite button on your forearm.", null, 2)
+ host_mob.visible_message(span_notice("[host_mob] presses a button on [host_mob.p_their()] forearm."),
+ span_notice("You press the nanite button on your forearm."), null, 2)
var/datum/nanite_extra_setting/sent_code = extra_settings[NES_SENT_CODE]
SEND_SIGNAL(host_mob, COMSIG_NANITE_SIGNAL, sent_code.get_value(), "a [name] program")
diff --git a/code/modules/research/nanites/nanite_programs/weapon.dm b/code/modules/research/nanites/nanite_programs/weapon.dm
index a46367673c2..84b70a65f01 100644
--- a/code/modules/research/nanites/nanite_programs/weapon.dm
+++ b/code/modules/research/nanites/nanite_programs/weapon.dm
@@ -14,7 +14,7 @@
else
host_mob.adjustBruteLoss(1, TRUE)
if(prob(3))
- to_chat(host_mob, "You feel a stab of pain from somewhere inside you.")
+ to_chat(host_mob, span_warning("You feel a stab of pain from somewhere inside you."))
/datum/nanite_program/poison
name = "Poisoning"
@@ -25,7 +25,7 @@
/datum/nanite_program/poison/active_effect()
host_mob.adjustToxLoss(1)
if(prob(2))
- to_chat(host_mob, "You feel nauseous.")
+ to_chat(host_mob, span_warning("You feel nauseous."))
if(iscarbon(host_mob))
var/mob/living/carbon/C = host_mob
C.vomit(20)
@@ -68,12 +68,12 @@
/datum/nanite_program/meltdown/enable_passive_effect()
. = ..()
- to_chat(host_mob, "Your blood is burning!")
+ to_chat(host_mob, span_userdanger("Your blood is burning!"))
nanites.safety_threshold = 0
/datum/nanite_program/meltdown/disable_passive_effect()
. = ..()
- to_chat(host_mob, "Your blood cools down, and the pain gradually fades.")
+ to_chat(host_mob, span_warning("Your blood cools down, and the pain gradually fades."))
/datum/nanite_program/explosive
name = "Chain Detonation"
@@ -84,8 +84,8 @@
rogue_types = list(/datum/nanite_program/toxic)
/datum/nanite_program/explosive/on_trigger(comm_message)
- host_mob.visible_message("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow...",\
- "You start emitting a high-pitched buzzing, and your skin begins to glow...")
+ host_mob.visible_message(span_warning("[host_mob] starts emitting a high-pitched buzzing, and [host_mob.p_their()] skin begins to glow..."),\
+ span_userdanger("You start emitting a high-pitched buzzing, and your skin begins to glow..."))
addtimer(CALLBACK(src, .proc/boom), clamp((nanites.nanite_volume * 0.35), 25, 150))
/datum/nanite_program/explosive/proc/boom()
diff --git a/code/modules/research/nanites/nanite_remote.dm b/code/modules/research/nanites/nanite_remote.dm
index 76f0bec8c16..cc7389520f0 100644
--- a/code/modules/research/nanites/nanite_remote.dm
+++ b/code/modules/research/nanites/nanite_remote.dm
@@ -23,7 +23,7 @@
/obj/item/nanite_remote/examine(mob/user)
. = ..()
if(locked)
- . += "Alt-click to unlock."
+ . += span_notice("Alt-click to unlock.")
/obj/item/nanite_remote/AltClick(mob/user)
. = ..()
@@ -31,16 +31,16 @@
return
if(locked)
if(allowed(user))
- to_chat(user, "You unlock [src].")
+ to_chat(user, span_notice("You unlock [src]."))
locked = FALSE
update_appearance()
else
- to_chat(user, "Access denied.")
+ to_chat(user, span_warning("Access denied."))
/obj/item/nanite_remote/emag_act(mob/user)
if(obj_flags & EMAGGED)
return
- to_chat(user, "You override [src]'s ID lock.")
+ to_chat(user, span_warning("You override [src]'s ID lock."))
obj_flags |= EMAGGED
if(locked)
locked = FALSE
@@ -58,18 +58,18 @@
if(REMOTE_MODE_OFF)
return
if(REMOTE_MODE_SELF)
- to_chat(user, "You activate [src], signaling the nanites in your bloodstream.")
+ to_chat(user, span_notice("You activate [src], signaling the nanites in your bloodstream."))
signal_mob(user, code, key_name(user))
if(REMOTE_MODE_TARGET)
if(isliving(target) && (get_dist(target, get_turf(src)) <= 7))
- to_chat(user, "You activate [src], signaling the nanites inside [target].")
+ to_chat(user, span_notice("You activate [src], signaling the nanites inside [target]."))
signal_mob(target, code, key_name(user))
if(REMOTE_MODE_AOE)
- to_chat(user, "You activate [src], signaling the nanites inside every host around you.")
+ to_chat(user, span_notice("You activate [src], signaling the nanites inside every host around you."))
for(var/mob/living/L in view(user, 7))
signal_mob(L, code, key_name(user))
if(REMOTE_MODE_RELAY)
- to_chat(user, "You activate [src], signaling all connected relay nanites.")
+ to_chat(user, span_notice("You activate [src], signaling all connected relay nanites."))
signal_relay(code, relay_code, key_name(user))
/obj/item/nanite_remote/proc/signal_mob(mob/living/M, code, source)
@@ -180,18 +180,18 @@
if(REMOTE_MODE_OFF)
return
if(REMOTE_MODE_SELF)
- to_chat(user, "You activate [src], signaling the nanites in your bloodstream.")
+ to_chat(user, span_notice("You activate [src], signaling the nanites in your bloodstream."))
signal_mob(user, code, key_name(user))
if(REMOTE_MODE_TARGET)
if(isliving(target) && (get_dist(target, get_turf(src)) <= 7))
- to_chat(user, "You activate [src], signaling the nanites inside [target].")
+ to_chat(user, span_notice("You activate [src], signaling the nanites inside [target]."))
signal_mob(target, code, key_name(user))
if(REMOTE_MODE_AOE)
- to_chat(user, "You activate [src], signaling the nanites inside every host around you.")
+ to_chat(user, span_notice("You activate [src], signaling the nanites inside every host around you."))
for(var/mob/living/L in view(user, 7))
signal_mob(L, code, key_name(user))
if(REMOTE_MODE_RELAY)
- to_chat(user, "You activate [src], signaling all connected relay nanites.")
+ to_chat(user, span_notice("You activate [src], signaling all connected relay nanites."))
signal_relay(code, relay_code, key_name(user))
/obj/item/nanite_remote/comm/signal_mob(mob/living/M, code, source)
diff --git a/code/modules/research/nanites/public_chamber.dm b/code/modules/research/nanites/public_chamber.dm
index 4a031ba9c5a..6194f4fa336 100644
--- a/code/modules/research/nanites/public_chamber.dm
+++ b/code/modules/research/nanites/public_chamber.dm
@@ -113,7 +113,7 @@
/obj/machinery/public_nanite_chamber/proc/toggle_open(mob/user)
if(panel_open)
- to_chat(user, "Close the maintenance panel first.")
+ to_chat(user, span_notice("Close the maintenance panel first."))
return
if(state_open)
@@ -121,7 +121,7 @@
return
else if(locked)
- to_chat(user, "The bolts are locked down, securing the door shut.")
+ to_chat(user, span_notice("The bolts are locked down, securing the door shut."))
return
open_machine()
@@ -134,15 +134,15 @@
return
user.changeNext_move(CLICK_CD_BREAKOUT)
user.last_special = world.time + CLICK_CD_BREAKOUT
- user.visible_message("You see [user] kicking against the door of [src]!", \
- "You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)", \
- "You hear a metallic creaking from [src].")
+ user.visible_message(span_notice("You see [user] kicking against the door of [src]!"), \
+ span_notice("You lean on the back of [src] and start pushing the door open... (this will take about [DisplayTimeText(breakout_time)].)"), \
+ span_hear("You hear a metallic creaking from [src]."))
if(do_after(user,(breakout_time), target = src))
if(!user || user.stat != CONSCIOUS || user.loc != src || state_open || !locked || busy)
return
locked = FALSE
- 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()
/obj/machinery/public_nanite_chamber/close_machine(mob/living/carbon/user, mob/living/attacker)
@@ -178,7 +178,7 @@
if(user.stat || 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()
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 6afa1769a8a..7571f0f9d87 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -66,24 +66,24 @@ Nothing else in the console has ID requirements.
if(istype(D, /obj/item/disk))
if(istype(D, /obj/item/disk/tech_disk))
if(t_disk)
- to_chat(user, "A technology disk is already loaded!")
+ to_chat(user, span_warning("A technology disk is already loaded!"))
return
if(!user.transferItemToLoc(D, src))
- to_chat(user, "[D] is stuck to your hand!")
+ to_chat(user, span_warning("[D] is stuck to your hand!"))
return
t_disk = D
else if (istype(D, /obj/item/disk/design_disk))
if(d_disk)
- to_chat(user, "A design disk is already loaded!")
+ to_chat(user, span_warning("A design disk is already loaded!"))
return
if(!user.transferItemToLoc(D, src))
- to_chat(user, "[D] is stuck to your hand!")
+ to_chat(user, span_warning("[D] is stuck to your hand!"))
return
d_disk = D
else
- to_chat(user, "Machine cannot accept disks in that format.")
+ to_chat(user, span_warning("Machine cannot accept disks in that format."))
return
- to_chat(user, "You insert [D] into \the [src]!")
+ to_chat(user, span_notice("You insert [D] into \the [src]!"))
return
return ..()
@@ -128,7 +128,7 @@ Nothing else in the console has ID requirements.
/obj/machinery/computer/rdconsole/emag_act(mob/user)
if(!(obj_flags & EMAGGED))
- to_chat(user, "You disable the security protocols[locked? " and unlock the console":""].")
+ to_chat(user, span_notice("You disable the security protocols[locked? " and unlock the console":""]."))
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
obj_flags |= EMAGGED
locked = FALSE
@@ -296,12 +296,12 @@ Nothing else in the console has ID requirements.
switch (action)
if ("toggleLock")
if(obj_flags & EMAGGED)
- to_chat(usr, "Security protocol error: Unable to access locking protocols.")
+ to_chat(usr, span_boldwarning("Security protocol error: Unable to access locking protocols."))
return TRUE
if(allowed(usr))
locked = !locked
else
- to_chat(usr, "Unauthorized Access.")
+ to_chat(usr, span_boldwarning("Unauthorized Access."))
return TRUE
if ("researchNode")
if(!SSresearch.science_tech.available_nodes[params["node_id"]])
diff --git a/code/modules/research/rdmachines.dm b/code/modules/research/rdmachines.dm
index 07d8eb33265..adf1eb00dad 100644
--- a/code/modules/research/rdmachines.dm
+++ b/code/modules/research/rdmachines.dm
@@ -61,22 +61,22 @@
//whether the machine can have an item inserted in its current state.
/obj/machinery/rnd/proc/is_insertion_ready(mob/user)
if(panel_open)
- to_chat(user, "You can't load [src] while it's opened!")
+ to_chat(user, span_warning("You can't load [src] while it's opened!"))
return FALSE
if(disabled)
- to_chat(user, "The insertion belts of [src] won't engage!")
+ to_chat(user, span_warning("The insertion belts of [src] won't engage!"))
return FALSE
if(busy)
- to_chat(user, "[src] is busy right now.")
+ to_chat(user, span_warning("[src] is busy right now."))
return FALSE
if(machine_stat & BROKEN)
- to_chat(user, "[src] is broken.")
+ to_chat(user, span_warning("[src] is broken."))
return FALSE
if(machine_stat & NOPOWER)
- to_chat(user, "[src] has no power.")
+ to_chat(user, span_warning("[src] has no power."))
return FALSE
if(loaded_item)
- to_chat(user, "[src] is already loaded.")
+ to_chat(user, span_warning("[src] is already loaded."))
return FALSE
return TRUE
diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm
index e8bf8f3ddcc..9dad69f5b70 100644
--- a/code/modules/research/server.dm
+++ b/code/modules/research/server.dm
@@ -142,7 +142,7 @@
var/obj/machinery/rnd/server/S = locate(href_list["toggle"]) in SSresearch.servers
S.toggle_disable()
else
- to_chat(usr, "Access Denied.")
+ to_chat(usr, span_danger("Access Denied."))
updateUsrDialog()
return
@@ -186,4 +186,4 @@
return
playsound(src, "sparks", 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
obj_flags |= EMAGGED
- to_chat(user, "You disable the security protocols.")
+ to_chat(user, span_notice("You disable the security protocols."))
diff --git a/code/modules/research/xenobiology/crossbreeding/__corecross.dm b/code/modules/research/xenobiology/crossbreeding/__corecross.dm
index 04c675f2234..0bd5087eea7 100644
--- a/code/modules/research/xenobiology/crossbreeding/__corecross.dm
+++ b/code/modules/research/xenobiology/crossbreeding/__corecross.dm
@@ -41,7 +41,7 @@ To add a crossbreed:
/obj/item/slimecross/examine(mob/user)
. = ..()
if(effect_desc)
- . += "[effect_desc]"
+ . += span_notice("[effect_desc]")
/obj/item/slimecross/Initialize()
. = ..()
@@ -113,7 +113,7 @@ To add a crossbreed:
/obj/item/slimecrossbeaker/process()
if(!reagents.total_volume)
- visible_message("[src] has been drained completely, and melts away.")
+ visible_message(span_notice("[src] has been drained completely, and melts away."))
qdel(src)
/obj/item/slimecrossbeaker/bloodpack //Pack of 50u blood. Deletes on empty.
@@ -144,22 +144,22 @@ To add a crossbreed:
/obj/item/slimecrossbeaker/autoinjector/attack(mob/living/M, mob/user)
if(!reagents.total_volume)
- to_chat(user, "[src] is empty!")
+ to_chat(user, span_warning("[src] is empty!"))
return
if(!iscarbon(M))
return
if(self_use_only && M != user)
- to_chat(user, "This can only be used on yourself.")
+ to_chat(user, span_warning("This can only be used on yourself."))
return
if(reagents.total_volume && (ignore_flags || M.try_inject(user, injection_flags = INJECT_TRY_SHOW_ERROR_MESSAGE)))
reagents.trans_to(M, reagents.total_volume, transfered_by = user)
if(user != M)
- to_chat(M, "[user] presses [src] against you!")
- to_chat(user, "You press [src] against [M], injecting [M.p_them()].")
+ to_chat(M, span_warning("[user] presses [src] against you!"))
+ to_chat(user, span_notice("You press [src] against [M], injecting [M.p_them()]."))
else
- to_chat(user, "You press [src] against yourself, and it flattens against you!")
+ to_chat(user, span_notice("You press [src] against yourself, and it flattens against you!"))
else
- to_chat(user, "There's no place to stick [src]!")
+ to_chat(user, span_warning("There's no place to stick [src]!"))
/obj/item/slimecrossbeaker/autoinjector/regenpack
ignore_flags = TRUE //It is, after all, intended to heal.
diff --git a/code/modules/research/xenobiology/crossbreeding/_clothing.dm b/code/modules/research/xenobiology/crossbreeding/_clothing.dm
index 4f58cb222c4..c4c7d513727 100644
--- a/code/modules/research/xenobiology/crossbreeding/_clothing.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_clothing.dm
@@ -57,7 +57,7 @@ Slimecrossing Armor
set_light(5)
/obj/structure/light_prism/attack_hand(mob/user, list/modifiers)
- to_chat(user, "You dispel [src].")
+ to_chat(user, span_notice("You dispel [src]."))
qdel(src)
/datum/action/item_action/change_prism_colour
@@ -84,13 +84,13 @@ Slimecrossing Armor
return
var/obj/item/clothing/glasses/prism_glasses/glasses = target
if(locate(/obj/structure/light_prism) in get_turf(owner))
- to_chat(owner, "There isn't enough ambient energy to fabricate another light prism here.")
+ to_chat(owner, span_warning("There isn't enough ambient energy to fabricate another light prism here."))
return
if(istype(glasses))
if(!glasses.glasses_color)
- to_chat(owner, "The lens is oddly opaque...")
+ to_chat(owner, span_warning("The lens is oddly opaque..."))
return
- to_chat(owner, "You channel nearby light into a glowing, ethereal prism.")
+ to_chat(owner, span_notice("You channel nearby light into a glowing, ethereal prism."))
new /obj/structure/light_prism(get_turf(owner), glasses.glasses_color)
/obj/item/clothing/head/peaceflower
@@ -112,7 +112,7 @@ Slimecrossing Armor
if(iscarbon(user))
var/mob/living/carbon/carbon_user = user
if(src == carbon_user.head)
- to_chat(user, "You feel at peace. Why would you want anything else?")
+ to_chat(user, span_warning("You feel at peace. Why would you want anything else?"))
return TRUE
return FALSE
diff --git a/code/modules/research/xenobiology/crossbreeding/_misc.dm b/code/modules/research/xenobiology/crossbreeding/_misc.dm
index a186233d40c..de6ccdb9383 100644
--- a/code/modules/research/xenobiology/crossbreeding/_misc.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_misc.dm
@@ -110,11 +110,11 @@ Slimecrossing Items
/obj/item/barriercube/attack_self(mob/user)
if(locate(/obj/structure/barricade/slime) in get_turf(loc))
- to_chat(user, "You can't fit more than one barrier in the same space!")
+ to_chat(user, span_warning("You can't fit more than one barrier in the same space!"))
return
- to_chat(user, "You squeeze [src].")
+ to_chat(user, span_notice("You squeeze [src]."))
var/obj/B = new /obj/structure/barricade/slime(get_turf(loc))
- B.visible_message("[src] suddenly grows into a large, gelatinous barrier!")
+ B.visible_message(span_warning("[src] suddenly grows into a large, gelatinous barrier!"))
qdel(src)
//Slime barricade - Chilling Grey
@@ -172,37 +172,37 @@ Slimecrossing Items
/obj/item/capturedevice/attack(mob/living/M, mob/user)
if(length(contents))
- to_chat(user, "The device already has something inside.")
+ to_chat(user, span_warning("The device already has something inside."))
return
if(!isanimal(M))
- to_chat(user, "The capture device only works on simple creatures.")
+ to_chat(user, span_warning("The capture device only works on simple creatures."))
return
if(M.mind)
- to_chat(user, "You offer the device to [M].")
+ to_chat(user, span_notice("You offer the device to [M]."))
if(tgui_alert(M, "Would you like to enter [user]'s capture device?", "Gold Capture Device", list("Yes", "No")) == "Yes")
if(user.canUseTopic(src, BE_CLOSE) && user.canUseTopic(M, BE_CLOSE))
- to_chat(user, "You store [M] in the capture device.")
- to_chat(M, "The world warps around you, and you're suddenly in an endless void, with a window to the outside floating in front of you.")
+ to_chat(user, span_notice("You store [M] in the capture device."))
+ to_chat(M, span_notice("The world warps around you, and you're suddenly in an endless void, with a window to the outside floating in front of you."))
store(M, user)
else
- to_chat(user, "You were too far away from [M].")
- to_chat(M, "You were too far away from [user].")
+ to_chat(user, span_warning("You were too far away from [M]."))
+ to_chat(M, span_warning("You were too far away from [user]."))
else
- to_chat(user, "[M] refused to enter the device.")
+ to_chat(user, span_warning("[M] refused to enter the device."))
return
else
if(istype(M, /mob/living/simple_animal/hostile) && !("neutral" in M.faction))
- to_chat(user, "This creature is too aggressive to capture.")
+ to_chat(user, span_warning("This creature is too aggressive to capture."))
return
- to_chat(user, "You store [M] in the capture device.")
+ to_chat(user, span_notice("You store [M] in the capture device."))
store(M)
/obj/item/capturedevice/attack_self(mob/user)
if(contents.len)
- to_chat(user, "You open the capture device!")
+ to_chat(user, span_notice("You open the capture device!"))
release()
else
- to_chat(user, "The device is empty...")
+ to_chat(user, span_warning("The device is empty..."))
/obj/item/capturedevice/proc/store(mob/living/M)
M.forceMove(src)
diff --git a/code/modules/research/xenobiology/crossbreeding/_mobs.dm b/code/modules/research/xenobiology/crossbreeding/_mobs.dm
index cb16435e3d1..33cfc0bf9be 100644
--- a/code/modules/research/xenobiology/crossbreeding/_mobs.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_mobs.dm
@@ -27,7 +27,7 @@ Slimecrossing Mobs
/mob/living/simple_animal/slime/transformedslime
/mob/living/simple_animal/slime/transformedslime/Reproduce() //Just in case.
- to_chat(src, "I can't reproduce...")
+ to_chat(src, span_warning("I can't reproduce..."))
return
//Slime corgi - Chilling Pink
diff --git a/code/modules/research/xenobiology/crossbreeding/_potions.dm b/code/modules/research/xenobiology/crossbreeding/_potions.dm
index 0c47ed9f8d7..092a3863843 100644
--- a/code/modules/research/xenobiology/crossbreeding/_potions.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_potions.dm
@@ -17,18 +17,18 @@ Slimecrossing Potions
if(istype(target, /obj/item/reagent_containers))
return ..(target, user, proximity)
if(istype(target, /obj/item/slimecross))
- to_chat(user, "[target] is too complex for the potion to clone!")
+ to_chat(user, span_warning("[target] is too complex for the potion to clone!"))
return
if(!istype(target, /obj/item/slime_extract))
return
var/obj/item/slime_extract/S = target
if(S.recurring)
- to_chat(user, "[target] is too complex for the potion to clone!")
+ to_chat(user, span_warning("[target] is too complex for the potion to clone!"))
return
var/path = S.type
var/obj/item/slime_extract/C = new path(get_turf(target))
C.Uses = S.Uses
- to_chat(user, "You pour the potion onto [target], and the fluid solidifies into a copy of it!")
+ to_chat(user, span_notice("You pour the potion onto [target], and the fluid solidifies into a copy of it!"))
qdel(src)
return
@@ -41,24 +41,24 @@ Slimecrossing Potions
/obj/item/slimepotion/peacepotion/attack(mob/living/M, mob/user)
if(!isliving(M) || M.stat == DEAD)
- to_chat(user, "[src] only works on the living.")
+ to_chat(user, span_warning("[src] only works on the living."))
return ..()
if(istype(M, /mob/living/simple_animal/hostile/megafauna))
- to_chat(user, "[src] does not work on beings of pure evil!")
+ to_chat(user, span_warning("[src] does not work on beings of pure evil!"))
return ..()
if(M != user)
- M.visible_message("[user] starts to feed [M] [src]!",
- "[user] starts to feed you [src]!")
+ M.visible_message(span_danger("[user] starts to feed [M] [src]!"),
+ span_userdanger("[user] starts to feed you [src]!"))
else
- M.visible_message("[user] starts to drink [src]!",
- "You start to drink [src]!")
+ M.visible_message(span_danger("[user] starts to drink [src]!"),
+ span_danger("You start to drink [src]!"))
if(!do_after(user, 100, target = M))
return
if(M != user)
- to_chat(user, "You feed [M] [src]!")
+ to_chat(user, span_notice("You feed [M] [src]!"))
else
- to_chat(user, "You drink [src]!")
+ to_chat(user, span_warning("You drink [src]!"))
if(isanimal(M))
ADD_TRAIT(M, TRAIT_PACIFISM, MAGIC_TRAIT)
else if(iscarbon(M))
@@ -75,25 +75,25 @@ Slimecrossing Potions
/obj/item/slimepotion/lovepotion/attack(mob/living/M, mob/user)
if(!isliving(M) || M.stat == DEAD)
- to_chat(user, "The love potion only works on living things, sicko!")
+ to_chat(user, span_warning("The love potion only works on living things, sicko!"))
return ..()
if(istype(M, /mob/living/simple_animal/hostile/megafauna))
- to_chat(user, "The love potion does not work on beings of pure evil!")
+ to_chat(user, span_warning("The love potion does not work on beings of pure evil!"))
return ..()
if(user == M)
- to_chat(user, "You can't drink the love potion. What are you, a narcissist?")
+ to_chat(user, span_warning("You can't drink the love potion. What are you, a narcissist?"))
return ..()
if(M.has_status_effect(STATUS_EFFECT_INLOVE))
- to_chat(user, "[M] is already lovestruck!")
+ to_chat(user, span_warning("[M] is already lovestruck!"))
return ..()
- M.visible_message("[user] starts to feed [M] a love potion!",
- "[user] starts to feed you a love potion!")
+ M.visible_message(span_danger("[user] starts to feed [M] a love potion!"),
+ span_userdanger("[user] starts to feed you a love potion!"))
if(!do_after(user, 50, target = M))
return
- to_chat(user, "You feed [M] the love potion!")
- to_chat(M, "You develop feelings for [user], and anyone [user.p_they()] like[user.p_s()].")
+ to_chat(user, span_notice("You feed [M] the love potion!"))
+ to_chat(M, span_notice("You develop feelings for [user], and anyone [user.p_they()] like[user.p_s()]."))
if(M.mind)
M.mind.store_memory("You are in love with [user].")
M.faction |= "[REF(user)]"
@@ -116,15 +116,15 @@ Slimecrossing Potions
if(!proximity)
return
if(!istype(C))
- to_chat(user, "The potion can only be used on clothing!")
+ to_chat(user, span_warning("The potion can only be used on clothing!"))
return
if(istype(C, /obj/item/clothing/suit/space))
- to_chat(user, "The [C] is already pressure-resistant!")
+ to_chat(user, span_warning("The [C] is already pressure-resistant!"))
return ..()
if(C.min_cold_protection_temperature == SPACE_SUIT_MIN_TEMP_PROTECT && C.clothing_flags & STOPSPRESSUREDAMAGE)
- to_chat(user, "The [C] is already pressure-resistant!")
+ to_chat(user, span_warning("The [C] is already pressure-resistant!"))
return ..()
- to_chat(user, "You slather the blue gunk over the [C], making it airtight.")
+ to_chat(user, span_notice("You slather the blue gunk over the [C], making it airtight."))
C.name = "pressure-resistant [C.name]"
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY)
@@ -159,9 +159,9 @@ Slimecrossing Potions
if(!proximity)
return ..()
if(!istype(C))
- to_chat(user, "You can't coat this with lavaproofing fluid!")
+ to_chat(user, span_warning("You can't coat this with lavaproofing fluid!"))
return ..()
- to_chat(user, "You slather the red gunk over the [C], making it lavaproof.")
+ to_chat(user, span_notice("You slather the red gunk over the [C], making it lavaproof."))
C.name = "lavaproof [C.name]"
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#800000", FIXED_COLOUR_PRIORITY)
@@ -182,16 +182,16 @@ Slimecrossing Potions
/obj/item/slimepotion/slime_reviver/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- to_chat(user, "The potion only works on slimes!")
+ to_chat(user, span_warning("The potion only works on slimes!"))
return ..()
if(M.stat != DEAD)
- to_chat(user, "The slime is still alive!")
+ to_chat(user, span_warning("The slime is still alive!"))
return
if(M.maxHealth <= 0)
- to_chat(user, "The slime is too unstable to return!")
+ to_chat(user, span_warning("The slime is too unstable to return!"))
M.revive(full_heal = TRUE, admin_revive = FALSE)
M.set_stat(CONSCIOUS)
- M.visible_message("[M] is filled with renewed vigor and blinks awake!")
+ M.visible_message(span_notice("[M] is filled with renewed vigor and blinks awake!"))
M.maxHealth -= 10 //Revival isn't healthy.
M.health -= 10
M.regenerate_icons()
@@ -206,15 +206,15 @@ Slimecrossing Potions
/obj/item/slimepotion/slime/chargedstabilizer/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- to_chat(user, "The stabilizer only works on slimes!")
+ to_chat(user, span_warning("The stabilizer only works on slimes!"))
return ..()
if(M.stat)
- to_chat(user, "The slime is dead!")
+ to_chat(user, span_warning("The slime is dead!"))
return
if(M.mutation_chance == 0)
- to_chat(user, "The slime already has no chance of mutating!")
+ to_chat(user, span_warning("The slime already has no chance of mutating!"))
return
- to_chat(user, "You feed the slime the omnistabilizer. It will not mutate this cycle!")
+ to_chat(user, span_notice("You feed the slime the omnistabilizer. It will not mutate this cycle!"))
M.mutation_chance = 0
qdel(src)
diff --git a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
index 187ade6f158..79d77e265f1 100644
--- a/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
+++ b/code/modules/research/xenobiology/crossbreeding/_status_effects.dm
@@ -12,8 +12,8 @@
/datum/status_effect/rainbow_protection/on_apply()
owner.status_flags |= GODMODE
ADD_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection)
- owner.visible_message("[owner] shines with a brilliant rainbow light.",
- "You feel protected by an unknown force!")
+ owner.visible_message(span_warning("[owner] shines with a brilliant rainbow light."),
+ span_notice("You feel protected by an unknown force!"))
originalcolor = owner.color
return ..()
@@ -25,8 +25,8 @@
owner.status_flags &= ~GODMODE
owner.color = originalcolor
REMOVE_TRAIT(owner, TRAIT_PACIFISM, /datum/status_effect/rainbow_protection)
- owner.visible_message("[owner] stops glowing, the rainbow light fading away.",
- "You no longer feel protected...")
+ owner.visible_message(span_notice("[owner] stops glowing, the rainbow light fading away."),
+ span_warning("You no longer feel protected..."))
/atom/movable/screen/alert/status_effect/slimeskin
name = "Adamantine Slimeskin"
@@ -45,8 +45,8 @@
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
H.physiology.damage_resistance += 10
- owner.visible_message("[owner] is suddenly covered in a strange, blue-ish gel!",
- "You are covered in a thick, rubbery gel.")
+ owner.visible_message(span_warning("[owner] is suddenly covered in a strange, blue-ish gel!"),
+ span_notice("You are covered in a thick, rubbery gel."))
return ..()
/datum/status_effect/slimeskin/on_remove()
@@ -54,8 +54,8 @@
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
H.physiology.damage_resistance -= 10
- owner.visible_message("[owner]'s gel coating liquefies and dissolves away.",
- "Your gel second-skin dissolves!")
+ owner.visible_message(span_warning("[owner]'s gel coating liquefies and dissolves away."),
+ span_notice("Your gel second-skin dissolves!"))
/datum/status_effect/slimerecall
id = "slime_recall"
@@ -68,8 +68,8 @@
/datum/status_effect/slimerecall/on_apply()
RegisterSignal(owner, COMSIG_LIVING_RESIST, .proc/resistField)
- to_chat(owner, "You feel a sudden tug from an unknown force, and feel a pull to bluespace!")
- to_chat(owner, "Resist if you wish avoid the force!")
+ to_chat(owner, span_danger("You feel a sudden tug from an unknown force, and feel a pull to bluespace!"))
+ to_chat(owner, span_notice("Resist if you wish avoid the force!"))
bluespace = icon('icons/effects/effects.dmi',"chronofield")
owner.add_overlay(bluespace)
return ..()
@@ -83,12 +83,12 @@
UnregisterSignal(owner, COMSIG_LIVING_RESIST)
owner.cut_overlay(bluespace)
if(interrupted || !ismob(target))
- to_chat(owner, "The bluespace tug fades away, and you feel that the force has passed you by.")
+ to_chat(owner, span_warning("The bluespace tug fades away, and you feel that the force has passed you by."))
return
var/turf/old_location = get_turf(owner)
if(do_teleport(owner, target.loc, channel = TELEPORT_CHANNEL_QUANTUM)) //despite being named a bluespace teleportation method the quantum channel is used to preserve precision teleporting with a bag of holding
- old_location.visible_message("[owner] disappears in a flurry of sparks!")
- to_chat(owner, "The unknown force snatches briefly you from reality, and deposits you next to [target]!")
+ old_location.visible_message(span_warning("[owner] disappears in a flurry of sparks!"))
+ to_chat(owner, span_warning("The unknown force snatches briefly you from reality, and deposits you next to [target]!"))
/atom/movable/screen/alert/status_effect/freon/stasis
desc = "You're frozen inside of a protective ice cube! While inside, you can't do anything, but are immune to harm! Resist to get out."
@@ -348,7 +348,7 @@
huggables += L
if(length(huggables))
var/mob/living/carbon/hugged = pick(huggables)
- owner.visible_message("[owner] hugs [hugged]!", "You hug [hugged]!")
+ owner.visible_message(span_notice("[owner] hugs [hugged]!"), span_notice("You hug [hugged]!"))
/datum/status_effect/tarcookie
id = "tarcookie"
@@ -464,7 +464,7 @@
/datum/status_effect/stabilized/grey/tick()
for(var/mob/living/simple_animal/slime/S in range(1, get_turf(owner)))
if(!(owner in S.Friends))
- to_chat(owner, "[linked_extract] pulses gently as it communicates with [S].")
+ to_chat(owner, span_notice("[linked_extract] pulses gently as it communicates with [S]."))
S.set_friendship(owner, 1)
return ..()
@@ -533,7 +533,7 @@
var/obj/item/stack/sheet/S = pick(sheets)
S.amount++
S.update_custom_materials()
- to_chat(owner, "[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!")
+ to_chat(owner, span_notice("[linked_extract] adds a layer of slime to [S], which metamorphosizes into another sheet of material!"))
return ..()
@@ -556,7 +556,7 @@
if(batteries.len)
var/obj/item/stock_parts/cell/ToCharge = pick(batteries)
ToCharge.charge += min(ToCharge.maxcharge - ToCharge.charge, ToCharge.maxcharge/10) //10% of the cell, or to maximum.
- to_chat(owner, "[linked_extract] discharges some energy into a device you have.")
+ to_chat(owner, span_notice("[linked_extract] discharges some energy into a device you have."))
return ..()
/obj/item/hothands
@@ -581,7 +581,7 @@
var/obj/item/item = owner.get_active_held_item()
if(IS_EDIBLE(item))
if(item.microwave_act())
- to_chat(owner, "[linked_extract] flares up brightly, and your hands alone are enough cook [item]!")
+ to_chat(owner, span_warning("[linked_extract] flares up brightly, and your hands alone are enough cook [item]!"))
else
item.attackby(fire, owner)
return ..()
@@ -598,25 +598,25 @@
if(owner.fire_stacks > 0 && prob(80))
owner.adjust_fire_stacks(-1)
if(owner.fire_stacks <= 0)
- to_chat(owner, "[linked_extract] coats you in a watery goo, extinguishing the flames.")
+ to_chat(owner, span_notice("[linked_extract] coats you in a watery goo, extinguishing the flames."))
var/obj/O = owner.get_active_held_item()
if(O)
O.extinguish() //All shamelessly copied from water's expose_obj, since I didn't seem to be able to get it here for some reason.
O.wash(CLEAN_TYPE_ACID)
// Monkey cube
if(istype(O, /obj/item/food/monkeycube))
- to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!")
+ to_chat(owner, span_warning("[linked_extract] kept your hands wet! It makes [O] expand!"))
var/obj/item/food/monkeycube/cube = O
cube.Expand()
// Dehydrated carp
else if(istype(O, /obj/item/toy/plush/carpplushie/dehy_carp))
- to_chat(owner, "[linked_extract] kept your hands wet! It makes [O] expand!")
+ to_chat(owner, span_warning("[linked_extract] kept your hands wet! It makes [O] expand!"))
var/obj/item/toy/plush/carpplushie/dehy_carp/dehy = O
dehy.Swell() // Makes a carp
else if(istype(O, /obj/item/stack/sheet/hairlesshide))
- to_chat(owner, "[linked_extract] kept your hands wet! It wets [O]!")
+ to_chat(owner, span_warning("[linked_extract] kept your hands wet! It wets [O]!"))
var/obj/item/stack/sheet/hairlesshide/HH = O
new /obj/item/stack/sheet/wethide(get_turf(HH), HH.amount)
qdel(HH)
@@ -664,7 +664,7 @@
linked_alert.icon_state = "slime_bluespace_on"
if(healthcheck && (healthcheck - owner.health) > 5)
- owner.visible_message("[linked_extract] notices the sudden change in [owner]'s physical health, and activates!")
+ owner.visible_message(span_warning("[linked_extract] notices the sudden change in [owner]'s physical health, and activates!"))
do_sparks(5,FALSE,owner)
var/F = find_safe_turf(zlevels = owner.z, extended_safety_checks = TRUE)
var/range = 0
@@ -672,7 +672,7 @@
F = get_turf(owner)
range = 50
if(do_teleport(owner, F, range, channel = TELEPORT_CHANNEL_BLUESPACE))
- to_chat(owner, "[linked_extract] will take some time to re-align you on the bluespace axis.")
+ to_chat(owner, span_notice("[linked_extract] will take some time to re-align you on the bluespace axis."))
do_sparks(5,FALSE,owner)
owner.apply_status_effect(/datum/status_effect/bluespacestabilization)
healthcheck = owner.health
@@ -715,20 +715,20 @@
/datum/status_effect/stabilized/cerulean/tick()
if(owner.stat == DEAD)
if(clone && clone.stat != DEAD)
- owner.visible_message("[owner] blazes with brilliant light, [linked_extract] whisking [owner.p_their()] soul away.",
- "You feel a warm glow from [linked_extract], and you open your eyes... elsewhere.")
+ owner.visible_message(span_warning("[owner] blazes with brilliant light, [linked_extract] whisking [owner.p_their()] soul away."),
+ span_notice("You feel a warm glow from [linked_extract], and you open your eyes... elsewhere."))
if(owner.mind)
owner.mind.transfer_to(clone)
clone = null
qdel(linked_extract)
if(!clone || clone.stat == DEAD)
- to_chat(owner, "[linked_extract] desperately tries to move your soul to a living body, but can't find one!")
+ to_chat(owner, span_notice("[linked_extract] desperately tries to move your soul to a living body, but can't find one!"))
qdel(linked_extract)
..()
/datum/status_effect/stabilized/cerulean/on_remove()
if(clone)
- clone.visible_message("[clone] dissolves into a puddle of goo!")
+ clone.visible_message(span_warning("[clone] dissolves into a puddle of goo!"))
clone.unequip_everything()
qdel(clone)
@@ -767,7 +767,7 @@
var/originalname
/datum/status_effect/stabilized/green/on_apply()
- to_chat(owner, "You feel different...")
+ to_chat(owner, span_warning("You feel different..."))
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
originalDNA = new H.dna.type
@@ -784,7 +784,7 @@
return ..()
/datum/status_effect/stabilized/green/on_remove()
- to_chat(owner, "You feel more like yourself.")
+ to_chat(owner, span_notice("You feel more like yourself."))
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
originalDNA.transfer_identity(H)
@@ -840,9 +840,9 @@
if(HasFaction && owner.has_status_effect(/datum/status_effect/brokenpeace))
owner.faction -= faction_name
- to_chat(owner, "The peace has been broken! Hostile creatures will now react to you!")
+ to_chat(owner, span_userdanger("The peace has been broken! Hostile creatures will now react to you!"))
if(!HasFaction && !owner.has_status_effect(/datum/status_effect/brokenpeace))
- to_chat(owner, "[linked_extract] pulses, generating a fragile aura of peace.")
+ to_chat(owner, span_notice("[linked_extract] pulses, generating a fragile aura of peace."))
owner.faction |= faction_name
return ..()
@@ -876,8 +876,8 @@
if(M.stat == DEAD)
return
if(!messagedelivered)
- to_chat(owner,"You feel your hands melt around [M]'s neck and start to drain [M.p_them()] of life.")
- to_chat(owner.pulling, "[owner]'s hands melt around your neck, and you can feel your life starting to drain away!")
+ to_chat(owner,span_notice("You feel your hands melt around [M]'s neck and start to drain [M.p_them()] of life."))
+ to_chat(owner.pulling, span_userdanger("[owner]'s hands melt around your neck, and you can feel your life starting to drain away!"))
messagedelivered = TRUE
examine_text = "SUBJECTPRONOUN is draining health from [owner.pulling]!"
var/list/healing_types = list()
@@ -970,7 +970,7 @@
if(X.regencore)
X.regencore.afterattack(owner,owner,TRUE)
X.regencore = null
- owner.visible_message("[owner] flashes a rainbow of colors, and [owner.p_their()] skin is coated in a milky regenerative goo!")
+ owner.visible_message(span_warning("[owner] flashes a rainbow of colors, and [owner.p_their()] skin is coated in a milky regenerative goo!"))
qdel(src)
qdel(linked_extract)
return ..()
diff --git a/code/modules/research/xenobiology/crossbreeding/burning.dm b/code/modules/research/xenobiology/crossbreeding/burning.dm
index 7cfd0fa582a..e48b32afa33 100644
--- a/code/modules/research/xenobiology/crossbreeding/burning.dm
+++ b/code/modules/research/xenobiology/crossbreeding/burning.dm
@@ -15,10 +15,10 @@ Burning extracts:
/obj/item/slimecross/burning/attack_self(mob/user)
if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10))
- to_chat(user, "This extract needs to be full of plasma to activate!")
+ to_chat(user, span_warning("This extract needs to be full of plasma to activate!"))
return
reagents.remove_reagent(/datum/reagent/toxin/plasma,10)
- to_chat(user, "You squeeze the extract, and it absorbs the plasma!")
+ to_chat(user, span_notice("You squeeze the extract, and it absorbs the plasma!"))
playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE)
playsound(src, 'sound/magic/fireball.ogg', 50, TRUE)
do_effect(user)
@@ -33,7 +33,7 @@ Burning extracts:
/obj/item/slimecross/burning/grey/do_effect(mob/user)
var/mob/living/simple_animal/slime/S = new(get_turf(user),"grey")
- S.visible_message("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!")
+ S.visible_message(span_danger("A baby slime emerges from [src], and it nuzzles [user] before burbling hungrily!"))
S.set_friendship(user, 20) //Gas, gas, gas
S.bodytemperature = T0C + 400 //We gonna step on the gas.
S.set_nutrition(S.get_hunger_nutrition()) //Tonight, we fight!
@@ -44,7 +44,7 @@ Burning extracts:
effect_desc = "Expels pepperspray in a radius when activated."
/obj/item/slimecross/burning/orange/do_effect(mob/user)
- user.visible_message("[src] boils over with a caustic gas!")
+ user.visible_message(span_danger("[src] boils over with a caustic gas!"))
var/datum/reagents/R = new/datum/reagents(100)
R.add_reagent(/datum/reagent/consumable/condensedcapsaicin, 100)
@@ -58,7 +58,7 @@ Burning extracts:
effect_desc = "Creates a clump of invigorating gel, it has healing properties and makes you feel good."
/obj/item/slimecross/burning/purple/do_effect(mob/user)
- user.visible_message("[src] fills with a bubbling liquid!")
+ user.visible_message(span_notice("[src] fills with a bubbling liquid!"))
new /obj/item/slimecrossbeaker/autoinjector/slimestimulant(get_turf(user))
..()
@@ -67,13 +67,13 @@ Burning extracts:
effect_desc = "Freezes the floor around you and chills nearby people."
/obj/item/slimecross/burning/blue/do_effect(mob/user)
- user.visible_message("[src] flash-freezes the area!")
+ user.visible_message(span_danger("[src] flash-freezes the area!"))
for(var/turf/open/T in range(3, get_turf(user)))
T.MakeSlippery(TURF_WET_PERMAFROST, min_wet_time = 10, wet_time_to_add = 5)
for(var/mob/living/carbon/M in range(5, get_turf(user)))
if(M != user)
M.bodytemperature = BODYTEMP_COLD_DAMAGE_LIMIT + 10 //Not quite cold enough to hurt.
- to_chat(M, "You feel a chill run down your spine, and the floor feels a bit slippery with frost...")
+ to_chat(M, span_danger("You feel a chill run down your spine, and the floor feels a bit slippery with frost..."))
..()
/obj/item/slimecross/burning/metal
@@ -84,7 +84,7 @@ Burning extracts:
for(var/turf/closed/wall/W in range(1,get_turf(user)))
W.dismantle_wall(1)
playsound(W, 'sound/effects/break_stone.ogg', 50, TRUE)
- user.visible_message("[src] pulses violently, and shatters the walls around it!")
+ user.visible_message(span_danger("[src] pulses violently, and shatters the walls around it!"))
..()
/obj/item/slimecross/burning/yellow
@@ -92,7 +92,7 @@ Burning extracts:
effect_desc = "Electrocutes people near you."
/obj/item/slimecross/burning/yellow/do_effect(mob/user)
- user.visible_message("[src] explodes into an electrical field!")
+ user.visible_message(span_danger("[src] explodes into an electrical field!"))
playsound(get_turf(src), 'sound/weapons/zapbang.ogg', 50, TRUE)
for(var/mob/living/M in range(4,get_turf(user)))
if(M != user)
@@ -101,7 +101,7 @@ Burning extracts:
C.electrocute_act(25,src)
else
M.adjustFireLoss(25)
- to_chat(M, "You feel a sharp electrical pulse!")
+ to_chat(M, span_danger("You feel a sharp electrical pulse!"))
..()
/obj/item/slimecross/burning/darkpurple
@@ -109,7 +109,7 @@ Burning extracts:
effect_desc = "Creates a cloud of plasma."
/obj/item/slimecross/burning/darkpurple/do_effect(mob/user)
- user.visible_message("[src] sublimates into a cloud of plasma!")
+ user.visible_message(span_danger("[src] sublimates into a cloud of plasma!"))
var/turf/T = get_turf(user)
T.atmos_spawn_air("plasma=60")
..()
@@ -119,7 +119,7 @@ Burning extracts:
effect_desc = "Expels a burst of chilling smoke while also filling you with cryoxadone."
/obj/item/slimecross/burning/darkblue/do_effect(mob/user)
- user.visible_message("[src] releases a burst of chilling smoke!")
+ user.visible_message(span_danger("[src] releases a burst of chilling smoke!"))
var/datum/reagents/R = new/datum/reagents(100)
R.add_reagent(/datum/reagent/consumable/frostoil, 40)
user.reagents.add_reagent(/datum/reagent/medicine/cryoxadone,10)
@@ -143,7 +143,7 @@ Burning extracts:
O.reagents.add_reagent(/datum/reagent/toxin/slimejelly,5) //Oh god it burns
if(prob(50))
O.desc += " It smells strange..."
- user.visible_message("[src] produces a few pieces of food!")
+ user.visible_message(span_danger("[src] produces a few pieces of food!"))
..()
/obj/item/slimecross/burning/bluespace
@@ -151,7 +151,7 @@ Burning extracts:
effect_desc = "Teleports anyone directly next to you."
/obj/item/slimecross/burning/bluespace/do_effect(mob/user)
- user.visible_message("[src] sparks, and lets off a shockwave of bluespace energy!")
+ user.visible_message(span_danger("[src] sparks, and lets off a shockwave of bluespace energy!"))
for(var/mob/living/L in range(1, get_turf(user)))
if(L != user)
do_teleport(L, get_turf(L), 6, asoundin = 'sound/effects/phasein.ogg', channel = TELEPORT_CHANNEL_BLUESPACE) //Somewhere between the effectiveness of fake and real BS crystal
@@ -164,7 +164,7 @@ Burning extracts:
effect_desc = "Turns into a special camera that rewinds time when used."
/obj/item/slimecross/burning/sepia/do_effect(mob/user)
- user.visible_message("[src] shapes itself into a camera!")
+ user.visible_message(span_notice("[src] shapes itself into a camera!"))
new /obj/item/camera/rewind(get_turf(user))
..()
@@ -173,7 +173,7 @@ Burning extracts:
effect_desc = "Produces an extract cloning potion, which copies an extract, as well as its extra uses."
/obj/item/slimecross/burning/cerulean/do_effect(mob/user)
- user.visible_message("[src] produces a potion!")
+ user.visible_message(span_notice("[src] produces a potion!"))
new /obj/item/slimepotion/extract_cloner(get_turf(user))
..()
@@ -182,7 +182,7 @@ Burning extracts:
effect_desc = "Shatters all lights in the current room."
/obj/item/slimecross/burning/pyrite/do_effect(mob/user)
- user.visible_message("[src] releases a colorful wave of energy, which shatters the lights!")
+ user.visible_message(span_danger("[src] releases a colorful wave of energy, which shatters the lights!"))
var/area/A = get_area(user.loc)
for(var/obj/machinery/light/L in A) //Shamelessly copied from the APC effect.
L.on = TRUE
@@ -196,7 +196,7 @@ Burning extracts:
effect_desc = "Makes nearby slimes rabid, and they'll also attack their friends."
/obj/item/slimecross/burning/red/do_effect(mob/user)
- user.visible_message("[src] pulses a hazy red aura for a moment, which wraps around [user]!")
+ user.visible_message(span_danger("[src] pulses a hazy red aura for a moment, which wraps around [user]!"))
for(var/mob/living/simple_animal/slime/S in view(7, get_turf(user)))
if(user in S.Friends)
var/friendliness = S.Friends[user]
@@ -205,7 +205,7 @@ Burning extracts:
else
S.clear_friends()
S.rabid = 1
- S.visible_message("The [S] is driven into a dangerous frenzy!")
+ S.visible_message(span_danger("The [S] is driven into a dangerous frenzy!"))
..()
/obj/item/slimecross/burning/green
@@ -224,9 +224,9 @@ Burning extracts:
var/obj/item/melee/arm_blade/slime/blade = new(user)
if(!L.put_in_hands(blade))
qdel(blade)
- user.visible_message("[src] melts onto [user]'s arm, boiling the flesh horribly!")
+ user.visible_message(span_warning("[src] melts onto [user]'s arm, boiling the flesh horribly!"))
else
- user.visible_message("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!")
+ user.visible_message(span_danger("[src] sublimates the flesh around [user]'s arm, transforming the bone into a gruesome blade!"))
user.emote("scream")
L.apply_damage(30,BURN,which_hand)
..()
@@ -236,7 +236,7 @@ Burning extracts:
effect_desc = "Creates a beaker of synthpax."
/obj/item/slimecross/burning/pink/do_effect(mob/user)
- user.visible_message("[src] shrinks into a small, gel-filled pellet!")
+ user.visible_message(span_notice("[src] shrinks into a small, gel-filled pellet!"))
new /obj/item/slimecrossbeaker/pax(get_turf(user))
..()
@@ -245,7 +245,7 @@ Burning extracts:
effect_desc = "Creates a gank squad of monsters that are friendly to the user."
/obj/item/slimecross/burning/gold/do_effect(mob/user)
- user.visible_message("[src] shudders violently, and summons an army for [user]!")
+ user.visible_message(span_danger("[src] shudders violently, and summons an army for [user]!"))
for(var/i in 1 to 3) //Less than gold normally does, since it's safer and faster.
var/mob/living/simple_animal/S = create_random_mob(get_turf(user), HOSTILE_SPAWN)
S.faction |= "[REF(user)]"
@@ -259,7 +259,7 @@ Burning extracts:
effect_desc = "Creates an explosion after a few seconds."
/obj/item/slimecross/burning/oil/do_effect(mob/user)
- user.visible_message("[user] activates [src]. It's going to explode!", "You activate [src]. It crackles in anticipation")
+ user.visible_message(span_warning("[user] activates [src]. It's going to explode!"), span_danger("You activate [src]. It crackles in anticipation"))
addtimer(CALLBACK(src, .proc/boom), 50)
/// Inflicts a blastwave upon every mob within a small radius.
@@ -279,7 +279,7 @@ Burning extracts:
var/mob/living/L = user
if(!istype(L))
return
- user.visible_message("[src] absorbs [user], transforming [user.p_them()] into a slime!")
+ user.visible_message(span_danger("[src] absorbs [user], transforming [user.p_them()] into a slime!"))
var/obj/effect/proc_holder/spell/targeted/shapeshift/slimeform/S = new()
S.remove_on_restore = TRUE
user.mind.AddSpell(S)
@@ -291,7 +291,7 @@ Burning extracts:
effect_desc = "Paxes everyone in sight."
/obj/item/slimecross/burning/lightpink/do_effect(mob/user)
- user.visible_message("[src] lets off a hypnotizing pink glow!")
+ user.visible_message(span_danger("[src] lets off a hypnotizing pink glow!"))
for(var/mob/living/carbon/C in view(7, get_turf(user)))
C.reagents.add_reagent(/datum/reagent/pax,5)
..()
@@ -301,7 +301,7 @@ Burning extracts:
effect_desc = "Creates a mighty adamantine shield."
/obj/item/slimecross/burning/adamantine/do_effect(mob/user)
- user.visible_message("[src] crystallizes into a large shield!")
+ user.visible_message(span_notice("[src] crystallizes into a large shield!"))
new /obj/item/shield/adamantineshield(get_turf(user))
..()
@@ -310,6 +310,6 @@ Burning extracts:
effect_desc = "Creates the Rainbow Knife, a kitchen knife that deals random types of damage."
/obj/item/slimecross/burning/rainbow/do_effect(mob/user)
- user.visible_message("[src] flattens into a glowing rainbow blade.")
+ user.visible_message(span_notice("[src] flattens into a glowing rainbow blade."))
new /obj/item/kitchen/knife/rainbowknife(get_turf(user))
..()
diff --git a/code/modules/research/xenobiology/crossbreeding/charged.dm b/code/modules/research/xenobiology/crossbreeding/charged.dm
index d23fe1d2687..4bd4c2d574d 100644
--- a/code/modules/research/xenobiology/crossbreeding/charged.dm
+++ b/code/modules/research/xenobiology/crossbreeding/charged.dm
@@ -16,10 +16,10 @@ Charged extracts:
/obj/item/slimecross/charged/attack_self(mob/user)
if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10))
- to_chat(user, "This extract needs to be full of plasma to activate!")
+ to_chat(user, span_warning("This extract needs to be full of plasma to activate!"))
return
reagents.remove_reagent(/datum/reagent/toxin/plasma,10)
- to_chat(user, "You squeeze the extract, and it absorbs the plasma!")
+ to_chat(user, span_notice("You squeeze the extract, and it absorbs the plasma!"))
playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE)
playsound(src, 'sound/effects/light_flicker.ogg', 50, TRUE)
do_effect(user)
@@ -34,7 +34,7 @@ Charged extracts:
/obj/item/slimecross/charged/grey/do_effect(mob/user)
new /obj/item/slimepotion/slime_reviver(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/orange
@@ -54,7 +54,7 @@ Charged extracts:
/obj/item/slimecross/charged/purple/do_effect(mob/user)
new /obj/item/slimecrossbeaker/omnizine(get_turf(user))
- user.visible_message("[src] sparks, and floods with a regenerative solution!")
+ user.visible_message(span_notice("[src] sparks, and floods with a regenerative solution!"))
..()
/obj/item/slimecross/charged/blue
@@ -63,7 +63,7 @@ Charged extracts:
/obj/item/slimecross/charged/blue/do_effect(mob/user)
new /obj/item/slimepotion/slime/chargedstabilizer(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/metal
@@ -73,7 +73,7 @@ Charged extracts:
/obj/item/slimecross/charged/metal/do_effect(mob/user)
new /obj/item/stack/sheet/iron(get_turf(user), 25)
new /obj/item/stack/sheet/plasteel(get_turf(user), 10)
- user.visible_message("[src] grows into a plethora of metals!")
+ user.visible_message(span_notice("[src] grows into a plethora of metals!"))
..()
/obj/item/slimecross/charged/yellow
@@ -82,7 +82,7 @@ Charged extracts:
/obj/item/slimecross/charged/yellow/do_effect(mob/user)
new /obj/item/stock_parts/cell/high/slime_hypercharged(get_turf(user))
- user.visible_message("[src] sparks violently, and swells with electric power!")
+ user.visible_message(span_notice("[src] sparks violently, and swells with electric power!"))
..()
/obj/item/slimecross/charged/darkpurple
@@ -91,7 +91,7 @@ Charged extracts:
/obj/item/slimecross/charged/darkpurple/do_effect(mob/user)
new /obj/item/stack/sheet/mineral/plasma(get_turf(user), 10)
- user.visible_message("[src] produces a large amount of plasma!")
+ user.visible_message(span_notice("[src] produces a large amount of plasma!"))
..()
/obj/item/slimecross/charged/darkblue
@@ -100,7 +100,7 @@ Charged extracts:
/obj/item/slimecross/charged/darkblue/do_effect(mob/user)
new /obj/item/slimepotion/spaceproof(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/silver
@@ -112,7 +112,7 @@ Charged extracts:
for(var/i in 1 to 10)
var/drink_type = get_random_drink()
new drink_type(get_turf(user))
- user.visible_message("[src] produces a party's worth of cake and drinks!")
+ user.visible_message(span_notice("[src] produces a party's worth of cake and drinks!"))
..()
/obj/item/slimecross/charged/bluespace
@@ -121,7 +121,7 @@ Charged extracts:
/obj/item/slimecross/charged/bluespace/do_effect(mob/user)
new /obj/item/stack/sheet/bluespace_crystal(get_turf(user), 10)
- user.visible_message("[src] produces several sheets of polycrystal!")
+ user.visible_message(span_notice("[src] produces several sheets of polycrystal!"))
..()
/obj/item/slimecross/charged/sepia
@@ -130,7 +130,7 @@ Charged extracts:
/obj/item/slimecross/charged/sepia/do_effect(mob/user)
new /obj/item/camera/spooky(get_turf(user))
- user.visible_message("[src] flickers in a strange, ethereal manner, and produces a camera!")
+ user.visible_message(span_notice("[src] flickers in a strange, ethereal manner, and produces a camera!"))
..()
/obj/item/slimecross/charged/cerulean
@@ -139,7 +139,7 @@ Charged extracts:
/obj/item/slimecross/charged/cerulean/do_effect(mob/user)
new /obj/item/slimepotion/enhancer/max(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/pyrite
@@ -148,7 +148,7 @@ Charged extracts:
/obj/item/slimecross/charged/pyrite/do_effect(mob/user)
new /obj/item/stack/sheet/mineral/bananium(get_turf(user), 10)
- user.visible_message("[src] solidifies with a horrifying banana stench!")
+ user.visible_message(span_warning("[src] solidifies with a horrifying banana stench!"))
..()
/obj/item/slimecross/charged/red
@@ -157,7 +157,7 @@ Charged extracts:
/obj/item/slimecross/charged/red/do_effect(mob/user)
new /obj/item/slimepotion/lavaproof(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/green
@@ -167,16 +167,16 @@ Charged extracts:
/obj/item/slimecross/charged/green/do_effect(mob/user)
var/mob/living/carbon/human/H = user
if(!istype(H))
- to_chat(user, "You must be a humanoid to use this!")
+ to_chat(user, span_warning("You must be a humanoid to use this!"))
return
var/racechoice = input(H, "Choose your slime subspecies.", "Slime Selection") as null|anything in sortList(subtypesof(/datum/species/jelly), /proc/cmp_typepaths_asc)
if(!racechoice)
- to_chat(user, "You decide not to become a slime for now.")
+ to_chat(user, span_notice("You decide not to become a slime for now."))
return
if(!user.canUseTopic(src, BE_CLOSE))
return
H.set_species(racechoice, icon_update=1)
- H.visible_message("[H] suddenly shifts form as [src] dissolves into [H.p_their()] skin!")
+ H.visible_message(span_warning("[H] suddenly shifts form as [src] dissolves into [H.p_their()] skin!"))
..()
/obj/item/slimecross/charged/pink
@@ -185,7 +185,7 @@ Charged extracts:
/obj/item/slimecross/charged/pink/do_effect(mob/user)
new /obj/item/slimepotion/lovepotion(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/gold
@@ -195,20 +195,20 @@ Charged extracts:
var/spawned = 0
/obj/item/slimecross/charged/gold/do_effect(mob/user)
- user.visible_message("[src] starts shuddering violently!")
+ user.visible_message(span_warning("[src] starts shuddering violently!"))
addtimer(CALLBACK(src, .proc/startTimer), 50)
/obj/item/slimecross/charged/gold/proc/startTimer()
START_PROCESSING(SSobj, src)
/obj/item/slimecross/charged/gold/process()
- visible_message("[src] lets off a spark, and produces a living creature!")
+ visible_message(span_warning("[src] lets off a spark, and produces a living creature!"))
new /obj/effect/particle_effect/sparks(get_turf(src))
playsound(get_turf(src), "sparks", 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE)
create_random_mob(get_turf(src), HOSTILE_SPAWN)
spawned++
if(spawned >= max_spawn)
- visible_message("[src] collapses into a puddle of goo.")
+ visible_message(span_warning("[src] collapses into a puddle of goo."))
qdel(src)
/obj/item/slimecross/charged/gold/Destroy()
@@ -220,7 +220,7 @@ Charged extracts:
effect_desc = "Creates an explosion after a few seconds."
/obj/item/slimecross/charged/oil/do_effect(mob/user)
- user.visible_message("[src] begins to shake with rapidly increasing force!")
+ user.visible_message(span_danger("[src] begins to shake with rapidly increasing force!"))
addtimer(CALLBACK(src, .proc/boom), 50)
/obj/item/slimecross/charged/oil/proc/boom()
@@ -234,7 +234,7 @@ Charged extracts:
/obj/item/slimecross/charged/black/do_effect(mob/user)
var/mob/living/carbon/human/H = user
if(!istype(H))
- to_chat(user, "You have to be able to have a species to get your species changed.")
+ to_chat(user, span_warning("You have to be able to have a species to get your species changed."))
return
var/list/allowed_species = list()
for(var/stype in subtypesof(/datum/species))
@@ -245,7 +245,7 @@ Charged extracts:
var/datum/species/changed = pick(allowed_species)
if(changed)
H.set_species(changed, icon_update = 1)
- to_chat(H, "You feel very different!")
+ to_chat(H, span_danger("You feel very different!"))
..()
/obj/item/slimecross/charged/lightpink
@@ -254,7 +254,7 @@ Charged extracts:
/obj/item/slimecross/charged/lightpink/do_effect(mob/user)
new /obj/item/slimepotion/peacepotion(get_turf(user))
- user.visible_message("[src] distills into a potion!")
+ user.visible_message(span_notice("[src] distills into a potion!"))
..()
/obj/item/slimecross/charged/adamantine
@@ -262,7 +262,7 @@ Charged extracts:
effect_desc = "Creates a completed golem shell."
/obj/item/slimecross/charged/adamantine/do_effect(mob/user)
- user.visible_message("[src] produces a fully formed golem shell!")
+ user.visible_message(span_notice("[src] produces a fully formed golem shell!"))
new /obj/effect/mob_spawn/human/golem/servant(get_turf(src), /datum/species/golem/adamantine, user)
..()
@@ -271,7 +271,7 @@ Charged extracts:
effect_desc = "Produces three living slimes of random colors."
/obj/item/slimecross/charged/rainbow/do_effect(mob/user)
- user.visible_message("[src] swells and splits into three new slimes!")
+ user.visible_message(span_warning("[src] swells and splits into three new slimes!"))
for(var/i in 1 to 3)
var/mob/living/simple_animal/slime/S = new(get_turf(user))
S.random_colour()
diff --git a/code/modules/research/xenobiology/crossbreeding/chilling.dm b/code/modules/research/xenobiology/crossbreeding/chilling.dm
index f7aaede8c81..60e5278156d 100644
--- a/code/modules/research/xenobiology/crossbreeding/chilling.dm
+++ b/code/modules/research/xenobiology/crossbreeding/chilling.dm
@@ -15,10 +15,10 @@ Chilling extracts:
/obj/item/slimecross/chilling/attack_self(mob/user)
if(!reagents.has_reagent(/datum/reagent/toxin/plasma,10))
- to_chat(user, "This extract needs to be full of plasma to activate!")
+ to_chat(user, span_warning("This extract needs to be full of plasma to activate!"))
return
reagents.remove_reagent(/datum/reagent/toxin/plasma,10)
- to_chat(user, "You squeeze the extract, and it absorbs the plasma!")
+ to_chat(user, span_notice("You squeeze the extract, and it absorbs the plasma!"))
playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE)
playsound(src, 'sound/effects/glassbr1.ogg', 50, TRUE)
do_effect(user)
@@ -32,7 +32,7 @@ Chilling extracts:
effect_desc = "Creates some slime barrier cubes. When used they create slimy barricades."
/obj/item/slimecross/chilling/grey/do_effect(mob/user)
- user.visible_message("[src] produces a few small, grey cubes")
+ user.visible_message(span_notice("[src] produces a few small, grey cubes"))
for(var/i in 1 to 3)
new /obj/item/barriercube(get_turf(user))
..()
@@ -42,7 +42,7 @@ Chilling extracts:
effect_desc = "Creates a ring of fire one tile away from the user."
/obj/item/slimecross/chilling/orange/do_effect(mob/user)
- user.visible_message("[src] shatters, and lets out a jet of heat!")
+ user.visible_message(span_danger("[src] shatters, and lets out a jet of heat!"))
for(var/turf/T in orange(get_turf(user),2))
if(get_dist(get_turf(user), T) > 1)
new /obj/effect/hotspot(T)
@@ -55,9 +55,9 @@ Chilling extracts:
/obj/item/slimecross/chilling/purple/do_effect(mob/user)
var/area/A = get_area(get_turf(user))
if(A.outdoors)
- to_chat(user, "[src] can't affect such a large area.")
+ to_chat(user, span_warning("[src] can't affect such a large area."))
return
- user.visible_message("[src] shatters, and a healing aura fills the room briefly.")
+ user.visible_message(span_notice("[src] shatters, and a healing aura fills the room briefly."))
for(var/mob/living/carbon/C in A)
C.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10)
..()
@@ -67,7 +67,7 @@ Chilling extracts:
effect_desc = "Creates a rebreather, a tankless mask."
/obj/item/slimecross/chilling/blue/do_effect(mob/user)
- user.visible_message("[src] cracks, and spills out a liquid goo, which reforms into a mask!")
+ user.visible_message(span_notice("[src] cracks, and spills out a liquid goo, which reforms into a mask!"))
new /obj/item/clothing/mask/nobreath(get_turf(user))
..()
@@ -76,7 +76,7 @@ Chilling extracts:
effect_desc = "Temporarily surrounds the user with unbreakable walls."
/obj/item/slimecross/chilling/metal/do_effect(mob/user)
- user.visible_message("[src] melts like quicksilver, and surrounds [user] in a wall!")
+ user.visible_message(span_danger("[src] melts like quicksilver, and surrounds [user] in a wall!"))
for(var/turf/T in orange(get_turf(user),1))
if(get_dist(get_turf(user), T) > 0)
new /obj/effect/forcefield/slimewall(T)
@@ -88,7 +88,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/yellow/do_effect(mob/user)
var/area/A = get_area(get_turf(user))
- user.visible_message("[src] shatters, and a the air suddenly feels charged for a moment.")
+ user.visible_message(span_notice("[src] shatters, and a the air suddenly feels charged for a moment."))
for(var/obj/machinery/power/apc/C in A)
if(C.cell)
C.cell.charge = min(C.cell.charge + C.cell.maxcharge/2, C.cell.maxcharge)
@@ -101,7 +101,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/darkpurple/do_effect(mob/user)
var/area/A = get_area(get_turf(user))
if(A.outdoors)
- to_chat(user, "[src] can't affect such a large area.")
+ to_chat(user, span_warning("[src] can't affect such a large area."))
return
var/filtered = FALSE
for(var/turf/open/T in A)
@@ -113,9 +113,9 @@ Chilling extracts:
G.garbage_collect()
T.air_update_turf(FALSE, FALSE)
if(filtered)
- user.visible_message("Cracks spread throughout [src], and some air is sucked in!")
+ user.visible_message(span_notice("Cracks spread throughout [src], and some air is sucked in!"))
else
- user.visible_message("[src] cracks, but nothing happens.")
+ user.visible_message(span_notice("[src] cracks, but nothing happens."))
..()
/obj/item/slimecross/chilling/darkblue
@@ -124,7 +124,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/darkblue/do_effect(mob/user)
if(isliving(user))
- user.visible_message("[src] freezes over [user]'s entire body!")
+ user.visible_message(span_notice("[src] freezes over [user]'s entire body!"))
var/mob/living/M = user
M.apply_status_effect(/datum/status_effect/frozenstasis)
..()
@@ -134,7 +134,7 @@ Chilling extracts:
effect_desc = "Creates several ration packs."
/obj/item/slimecross/chilling/silver/do_effect(mob/user)
- user.visible_message("[src] crumbles into icy powder, leaving behind several emergency food supplies!")
+ user.visible_message(span_notice("[src] crumbles into icy powder, leaving behind several emergency food supplies!"))
var/amount = rand(5, 10)
for(var/i in 1 to amount)
new /obj/item/food/rationpack(get_turf(user))
@@ -150,32 +150,32 @@ Chilling extracts:
if(!proximity || !isliving(target) || active)
return
if(HAS_TRAIT(target, TRAIT_NO_TELEPORT))
- to_chat(user, "[target] resists being linked with [src]!")
+ to_chat(user, span_warning("[target] resists being linked with [src]!"))
return
if(target in allies)
allies -= target
- to_chat(user, "You unlink [src] with [target].")
+ to_chat(user, span_notice("You unlink [src] with [target]."))
else
allies |= target
- to_chat(user, "You link [src] with [target].")
+ to_chat(user, span_notice("You link [src] with [target]."))
return
/obj/item/slimecross/chilling/bluespace/do_effect(mob/user)
if(allies.len <= 0)
- to_chat(user, "[src] is not linked to anyone!")
+ to_chat(user, span_warning("[src] is not linked to anyone!"))
return
- to_chat(user, "You feel [src] pulse as it begins charging bluespace energies...")
+ to_chat(user, span_notice("You feel [src] pulse as it begins charging bluespace energies..."))
active = TRUE
for(var/mob/living/M in allies)
var/datum/status_effect/slimerecall/S = M.apply_status_effect(/datum/status_effect/slimerecall)
S.target = user
if(do_after(user, 100, target=src))
- to_chat(user, "[src] shatters as it tears a hole in reality, snatching the linked individuals from the void!")
+ to_chat(user, span_notice("[src] shatters as it tears a hole in reality, snatching the linked individuals from the void!"))
for(var/mob/living/M in allies)
var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall)
M.remove_status_effect(S)
else
- to_chat(user, "[src] falls dark, dissolving into nothing as the energies fade away.")
+ to_chat(user, span_warning("[src] falls dark, dissolving into nothing as the energies fade away."))
for(var/mob/living/M in allies)
var/datum/status_effect/slimerecall/S = M.has_status_effect(/datum/status_effect/slimerecall)
if(istype(S))
@@ -193,14 +193,14 @@ Chilling extracts:
return
if(target in allies)
allies -= target
- to_chat(user, "You unlink [src] with [target].")
+ to_chat(user, span_notice("You unlink [src] with [target]."))
else
allies |= target
- to_chat(user, "You link [src] with [target].")
+ to_chat(user, span_notice("You link [src] with [target]."))
return
/obj/item/slimecross/chilling/sepia/do_effect(mob/user)
- user.visible_message("[src] shatters, freezing time itself!")
+ user.visible_message(span_warning("[src] shatters, freezing time itself!"))
allies -= user //support class
new /obj/effect/timestop(get_turf(user), 2, 300, allies)
..()
@@ -211,7 +211,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/cerulean/do_effect(mob/user)
if(isliving(user))
- user.visible_message("[src] creaks and shifts into a clone of [user]!")
+ user.visible_message(span_warning("[src] creaks and shifts into a clone of [user]!"))
var/mob/living/M = user
M.apply_status_effect(/datum/status_effect/slime_clone)
..()
@@ -221,7 +221,7 @@ Chilling extracts:
effect_desc = "Creates a pair of Prism Glasses, which allow the wearer to place colored light crystals."
/obj/item/slimecross/chilling/pyrite/do_effect(mob/user)
- user.visible_message("[src] crystallizes into a pair of spectacles!")
+ user.visible_message(span_notice("[src] crystallizes into a pair of spectacles!"))
new /obj/item/clothing/glasses/prism_glasses(get_turf(user))
..()
@@ -235,9 +235,9 @@ Chilling extracts:
slimesfound = TRUE
S.docile = TRUE
if(slimesfound)
- user.visible_message("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm.")
+ user.visible_message(span_notice("[src] lets out a peaceful ring as it shatters, and nearby slimes seem calm."))
else
- user.visible_message("[src] lets out a peaceful ring as it shatters, but nothing happens...")
+ user.visible_message(span_notice("[src] lets out a peaceful ring as it shatters, but nothing happens..."))
return ..()
/obj/item/slimecross/chilling/green
@@ -256,9 +256,9 @@ Chilling extracts:
var/obj/item/gun/magic/bloodchill/gun = new(user)
if(!L.put_in_hands(gun))
qdel(gun)
- user.visible_message("[src] flash-freezes [user]'s arm, cracking the flesh horribly!")
+ user.visible_message(span_warning("[src] flash-freezes [user]'s arm, cracking the flesh horribly!"))
else
- user.visible_message("[src] chills and snaps off the front of the bone on [user]'s arm, leaving behind a strange, gun-like structure!")
+ user.visible_message(span_danger("[src] chills and snaps off the front of the bone on [user]'s arm, leaving behind a strange, gun-like structure!"))
user.emote("scream")
L.apply_damage(30,BURN,which_hand)
..()
@@ -268,7 +268,7 @@ Chilling extracts:
effect_desc = "Creates a slime corgi puppy."
/obj/item/slimecross/chilling/pink/do_effect(mob/user)
- user.visible_message("[src] cracks like an egg, and an adorable puppy comes tumbling out!")
+ user.visible_message(span_notice("[src] cracks like an egg, and an adorable puppy comes tumbling out!"))
new /mob/living/simple_animal/pet/dog/corgi/puppy/slime(get_turf(user))
..()
@@ -277,7 +277,7 @@ Chilling extracts:
effect_desc = "Produces a golden capture device"
/obj/item/slimecross/chilling/gold/do_effect(mob/user)
- user.visible_message("[src] lets off golden light as it melts and reforms into an egg-like device!")
+ user.visible_message(span_notice("[src] lets off golden light as it melts and reforms into an egg-like device!"))
new /obj/item/capturedevice(get_turf(user))
..()
@@ -286,7 +286,7 @@ Chilling extracts:
effect_desc = "It creates a weak, but wide-ranged explosion."
/obj/item/slimecross/chilling/oil/do_effect(mob/user)
- user.visible_message("[src] begins to shake with muted intensity!")
+ user.visible_message(span_danger("[src] begins to shake with muted intensity!"))
addtimer(CALLBACK(src, .proc/boom), 50)
/obj/item/slimecross/chilling/oil/proc/boom()
@@ -299,7 +299,7 @@ Chilling extracts:
/obj/item/slimecross/chilling/black/do_effect(mob/user)
if(ishuman(user))
- user.visible_message("[src] crystallizes along [user]'s skin, turning into metallic scales!")
+ user.visible_message(span_notice("[src] crystallizes along [user]'s skin, turning into metallic scales!"))
var/mob/living/carbon/human/H = user
H.set_species(/datum/species/golem/random)
..()
@@ -309,7 +309,7 @@ Chilling extracts:
effect_desc = "Creates a Heroine Bud, a special flower that pacifies whoever wears it on their head. They will not be able to take it off without help."
/obj/item/slimecross/chilling/lightpink/do_effect(mob/user)
- user.visible_message("[src] blooms into a beautiful flower!")
+ user.visible_message(span_notice("[src] blooms into a beautiful flower!"))
new /obj/item/clothing/head/peaceflower(get_turf(user))
..()
@@ -318,7 +318,7 @@ Chilling extracts:
effect_desc = "Solidifies into a set of adamantine armor."
/obj/item/slimecross/chilling/adamantine/do_effect(mob/user)
- user.visible_message("[src] creaks and breaks as it shifts into a heavy set of armor!")
+ user.visible_message(span_notice("[src] creaks and breaks as it shifts into a heavy set of armor!"))
new /obj/item/clothing/suit/armor/heavy/adamantine(get_turf(user))
..()
@@ -329,9 +329,9 @@ Chilling extracts:
/obj/item/slimecross/chilling/rainbow/do_effect(mob/user)
var/area/area = get_area(user)
if(area.outdoors)
- to_chat(user, "[src] can't affect such a large area.")
+ to_chat(user, span_warning("[src] can't affect such a large area."))
return
- user.visible_message("[src] reflects an array of dazzling colors and light, energy rushing to nearby doors!")
+ user.visible_message(span_warning("[src] reflects an array of dazzling colors and light, energy rushing to nearby doors!"))
for(var/obj/machinery/door/airlock/door in area)
new /obj/effect/forcefield/slimewall/rainbow(door.loc)
return ..()
diff --git a/code/modules/research/xenobiology/crossbreeding/consuming.dm b/code/modules/research/xenobiology/crossbreeding/consuming.dm
index 6103eaccf4e..06c379daa21 100644
--- a/code/modules/research/xenobiology/crossbreeding/consuming.dm
+++ b/code/modules/research/xenobiology/crossbreeding/consuming.dm
@@ -18,19 +18,19 @@ Consuming extracts:
/obj/item/slimecross/consuming/attackby(obj/item/O, mob/user)
if(IS_EDIBLE(O))
if(last_produced + cooldown > world.time)
- to_chat(user, "[src] is still digesting after its last meal!")
+ to_chat(user, span_warning("[src] is still digesting after its last meal!"))
return
var/datum/reagent/N = O.reagents.has_reagent(/datum/reagent/consumable/nutriment)
if(N)
nutriment_eaten += N.volume
- to_chat(user, "[src] opens up and swallows [O] whole!")
+ to_chat(user, span_notice("[src] opens up and swallows [O] whole!"))
qdel(O)
playsound(src, 'sound/items/eatfood.ogg', 20, TRUE)
else
- to_chat(user, "[src] burbles unhappily at the offering.")
+ to_chat(user, span_warning("[src] burbles unhappily at the offering."))
if(nutriment_eaten >= nutriment_required)
nutriment_eaten = 0
- user.visible_message("[src] swells up and produces a small pile of cookies!")
+ user.visible_message(span_notice("[src] swells up and produces a small pile of cookies!"))
playsound(src, 'sound/effects/splat.ogg', 40, TRUE)
last_produced = world.time
for(var/i in 1 to cookies)
@@ -62,18 +62,18 @@ Consuming extracts:
/obj/item/slime_cookie/attack(mob/living/M, mob/user)
var/fed = FALSE
if(M == user)
- M.visible_message("[user] eats [src]!", "You eat [src].")
+ M.visible_message(span_notice("[user] eats [src]!"), span_notice("You eat [src]."))
fed = TRUE
else
- M.visible_message("[user] tries to force [M] to eat [src]!", "[user] tries to force you to eat [src]!")
+ M.visible_message(span_danger("[user] tries to force [M] to eat [src]!"), span_userdanger("[user] tries to force you to eat [src]!"))
if(do_after(user, 20, target = M))
fed = TRUE
- M.visible_message("[user] forces [M] to eat [src]!", "[user] forces you to eat [src].")
+ M.visible_message(span_danger("[user] forces [M] to eat [src]!"), span_warning("[user] forces you to eat [src]."))
if(fed)
var/mob/living/carbon/human/H = M
if(!istype(H) || !HAS_TRAIT(H, TRAIT_AGEUSIA))
- to_chat(M, "Tastes like [taste].")
+ to_chat(M, span_notice("Tastes like [taste]."))
playsound(get_turf(M), 'sound/items/eatfood.ogg', 20, TRUE)
if(nutrition)
M.reagents.add_reagent(/datum/reagent/consumable/nutriment,nutrition)
@@ -277,7 +277,7 @@ Consuming extracts:
/obj/item/slime_cookie/cerulean/do_effect(mob/living/M, mob/user)
if(prob(50))
- to_chat(M, "A piece of [src] breaks off while you chew, and falls to the ground.")
+ to_chat(M, span_notice("A piece of [src] breaks off while you chew, and falls to the ground."))
var/obj/item/slime_cookie/cerulean/C = new(get_turf(M))
C.taste = taste + " and a sugar cookie"
diff --git a/code/modules/research/xenobiology/crossbreeding/recurring.dm b/code/modules/research/xenobiology/crossbreeding/recurring.dm
index a526d330763..f97ff86cc1e 100644
--- a/code/modules/research/xenobiology/crossbreeding/recurring.dm
+++ b/code/modules/research/xenobiology/crossbreeding/recurring.dm
@@ -16,7 +16,7 @@ Recurring extracts:
/obj/item/slimecross/recurring/Initialize()
. = ..()
extract = new extract_type(src.loc)
- visible_message("[src] wraps a layer of goo around itself!")
+ visible_message(span_notice("[src] wraps a layer of goo around itself!"))
extract.name = name
extract.desc = desc
extract.icon = icon
@@ -33,7 +33,7 @@ Recurring extracts:
extract.Uses++
cooldown = max_cooldown
else if(extract.Uses <= 0)
- extract.visible_message("The light inside [extract] flickers and dies out.")
+ extract.visible_message(span_warning("The light inside [extract] flickers and dies out."))
extract.desc = "A tiny, inert core, bleeding dark, cerulean-colored goo."
extract.icon_state = "prismatic"
qdel(src)
diff --git a/code/modules/research/xenobiology/crossbreeding/regenerative.dm b/code/modules/research/xenobiology/crossbreeding/regenerative.dm
index 8eb1e0a8562..4468f60b37b 100644
--- a/code/modules/research/xenobiology/crossbreeding/regenerative.dm
+++ b/code/modules/research/xenobiology/crossbreeding/regenerative.dm
@@ -20,14 +20,14 @@ Regenerative extracts:
return
var/mob/living/H = target
if(H.stat == DEAD)
- to_chat(user, "[src] will not work on the dead!")
+ to_chat(user, span_warning("[src] will not work on the dead!"))
return
if(H != user)
- user.visible_message("[user] crushes [src] over [H], the milky goo quickly regenerating all of [H.p_their()] injuries!",
- "You squeeze [src], and it bursts over [H], the milky goo regenerating [H.p_their()] injuries.")
+ user.visible_message(span_notice("[user] crushes [src] over [H], the milky goo quickly regenerating all of [H.p_their()] injuries!"),
+ span_notice("You squeeze [src], and it bursts over [H], the milky goo regenerating [H.p_their()] injuries."))
else
- user.visible_message("[user] crushes [src] over [user.p_them()]self, the milky goo quickly regenerating all of [user.p_their()] injuries!",
- "You squeeze [src], and it bursts in your hand, splashing you with milky goo which quickly regenerates your injuries!")
+ user.visible_message(span_notice("[user] crushes [src] over [user.p_them()]self, the milky goo quickly regenerating all of [user.p_their()] injuries!"),
+ span_notice("You squeeze [src], and it bursts in your hand, splashing you with milky goo which quickly regenerates your injuries!"))
core_effect_before(H, user)
H.revive(full_heal = TRUE, admin_revive = FALSE)
core_effect(H, user)
@@ -42,7 +42,7 @@ Regenerative extracts:
colour = "orange"
/obj/item/slimecross/regenerative/orange/core_effect_before(mob/living/target, mob/user)
- target.visible_message("The [src] boils over!")
+ target.visible_message(span_warning("The [src] boils over!"))
for(var/turf/targetturf in RANGE_TURFS(1,target))
if(!locate(/obj/effect/hotspot) in targetturf)
new /obj/effect/hotspot(targetturf)
@@ -62,14 +62,14 @@ Regenerative extracts:
if(isturf(target.loc))
var/turf/open/T = get_turf(target)
T.MakeSlippery(TURF_WET_WATER, min_wet_time = 10, wet_time_to_add = 5)
- target.visible_message("The milky goo in the extract gets all over the floor!")
+ target.visible_message(span_warning("The milky goo in the extract gets all over the floor!"))
/obj/item/slimecross/regenerative/metal
colour = "metal"
effect_desc = "Fully heals the target and encases the target in a locker."
/obj/item/slimecross/regenerative/metal/core_effect(mob/living/target, mob/user)
- target.visible_message("The milky goo hardens and reshapes itself, encasing [target]!")
+ target.visible_message(span_warning("The milky goo hardens and reshapes itself, encasing [target]!"))
var/obj/structure/closet/C = new /obj/structure/closet(target.loc)
C.name = "slimy closet"
C.desc = "Looking closer, it seems to be made of a sort of solid, opaque, metal-like goo."
@@ -87,7 +87,7 @@ Regenerative extracts:
if(batteries.len)
var/obj/item/stock_parts/cell/ToCharge = pick(batteries)
ToCharge.charge = ToCharge.maxcharge
- to_chat(target, "You feel a strange electrical pulse, and one of your electrical items was recharged.")
+ to_chat(target, span_notice("You feel a strange electrical pulse, and one of your electrical items was recharged."))
/obj/item/slimecross/regenerative/darkpurple
colour = "dark purple"
@@ -100,7 +100,7 @@ Regenerative extracts:
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/gloves/color/purple(null), ITEM_SLOT_GLOVES)
equipped += target.equip_to_slot_or_del(new /obj/item/clothing/head/soft/purple(null), ITEM_SLOT_HEAD)
if(equipped > 0)
- target.visible_message("The milky goo congeals into clothing!")
+ target.visible_message(span_notice("The milky goo congeals into clothing!"))
/obj/item/slimecross/regenerative/darkblue
colour = "dark blue"
@@ -120,7 +120,7 @@ Regenerative extracts:
var/obj/item/clothing/C = H.get_item_by_slot(ITEM_SLOT_HEAD)
fireproof(C)
if(fireproofed)
- target.visible_message("Some of [target]'s clothing gets coated in the goo, and turns blue!")
+ target.visible_message(span_notice("Some of [target]'s clothing gets coated in the goo, and turns blue!"))
/obj/item/slimecross/regenerative/darkblue/proc/fireproof(obj/item/clothing/C)
C.name = "fireproofed [C.name]"
@@ -136,7 +136,7 @@ Regenerative extracts:
/obj/item/slimecross/regenerative/silver/core_effect(mob/living/target, mob/user)
target.set_nutrition(NUTRITION_LEVEL_FULL - 1)
- to_chat(target, "You feel satiated.")
+ to_chat(target, span_notice("You feel satiated."))
/obj/item/slimecross/regenerative/bluespace
colour = "bluespace"
@@ -146,8 +146,8 @@ Regenerative extracts:
/obj/item/slimecross/regenerative/bluespace/core_effect(mob/living/target, mob/user)
var/turf/old_location = get_turf(target)
if(do_teleport(target, T, channel = TELEPORT_CHANNEL_QUANTUM)) //despite being named a bluespace teleportation method the quantum channel is used to preserve precision teleporting with a bag of holding
- old_location.visible_message("[target] disappears in a shower of sparks!")
- to_chat(target, "The milky goo teleports you somewhere it remembers!")
+ old_location.visible_message(span_warning("[target] disappears in a shower of sparks!"))
+ to_chat(target, span_danger("The milky goo teleports you somewhere it remembers!"))
/obj/item/slimecross/regenerative/bluespace/Initialize()
@@ -172,14 +172,14 @@ Regenerative extracts:
X.name = name
X.desc = desc
user.put_in_active_hand(X)
- to_chat(user, "Some of the milky goo congeals in your hand!")
+ to_chat(user, span_notice("Some of the milky goo congeals in your hand!"))
/obj/item/slimecross/regenerative/pyrite
colour = "pyrite"
effect_desc = "Fully heals and randomly colors the target."
/obj/item/slimecross/regenerative/pyrite/core_effect(mob/living/target, mob/user)
- target.visible_message("The milky goo coating [target] leaves [target.p_them()] a different color!")
+ target.visible_message(span_warning("The milky goo coating [target] leaves [target.p_them()] a different color!"))
target.add_atom_colour(rgb(rand(0,255),rand(0,255),rand(0,255)),WASHABLE_COLOUR_PRIORITY)
/obj/item/slimecross/regenerative/red
@@ -187,7 +187,7 @@ Regenerative extracts:
effect_desc = "Fully heals the target and injects them with some ephedrine."
/obj/item/slimecross/regenerative/red/core_effect(mob/living/target, mob/user)
- to_chat(target, "You feel... faster.")
+ to_chat(target, span_notice("You feel... faster."))
target.reagents.add_reagent(/datum/reagent/medicine/ephedrine,3)
/obj/item/slimecross/regenerative/green
@@ -196,7 +196,7 @@ Regenerative extracts:
/obj/item/slimecross/regenerative/green/core_effect(mob/living/target, mob/user)
if(isslime(target))
- target.visible_message("The [target] suddenly changes color!")
+ target.visible_message(span_warning("The [target] suddenly changes color!"))
var/mob/living/simple_animal/slime/S = target
S.random_colour()
if(isjellyperson(target))
@@ -208,7 +208,7 @@ Regenerative extracts:
effect_desc = "Fully heals the target and injects them with some krokodil."
/obj/item/slimecross/regenerative/pink/core_effect(mob/living/target, mob/user)
- to_chat(target, "You feel more calm.")
+ to_chat(target, span_notice("You feel more calm."))
target.reagents.add_reagent(/datum/reagent/drug/krokodil,4)
/obj/item/slimecross/regenerative/gold
@@ -238,9 +238,9 @@ Regenerative extracts:
var/dummytype = target.type
if(ismegafauna(target)) //Prevents megafauna duping in a lame way
dummytype = /mob/living/simple_animal/slime
- to_chat(user, "The milky goo flows over [target], falling into a weak puddle.")
+ to_chat(user, span_warning("The milky goo flows over [target], falling into a weak puddle."))
var/mob/living/dummy = new dummytype(target.loc)
- to_chat(target, "The milky goo flows from your skin, forming an imperfect copy of you.")
+ to_chat(target, span_notice("The milky goo flows from your skin, forming an imperfect copy of you."))
if(iscarbon(target))
var/mob/living/carbon/T = target
var/mob/living/carbon/D = dummy
@@ -263,7 +263,7 @@ Regenerative extracts:
return
var/mob/living/U = user
U.revive(full_heal = TRUE, admin_revive = FALSE)
- to_chat(U, "Some of the milky goo sprays onto you, as well!")
+ to_chat(U, span_notice("Some of the milky goo sprays onto you, as well!"))
/obj/item/slimecross/regenerative/adamantine
colour = "adamantine"
diff --git a/code/modules/research/xenobiology/crossbreeding/reproductive.dm b/code/modules/research/xenobiology/crossbreeding/reproductive.dm
index b510cbe2822..fdb156d1374 100644
--- a/code/modules/research/xenobiology/crossbreeding/reproductive.dm
+++ b/code/modules/research/xenobiology/crossbreeding/reproductive.dm
@@ -16,7 +16,7 @@ Reproductive extracts:
/obj/item/slimecross/reproductive/attackby(obj/item/O, mob/user)
if((last_produce + cooldown) > world.time)
- to_chat(user, "[src] is still digesting!")
+ to_chat(user, span_warning("[src] is still digesting!"))
return
if(istype(O, /obj/item/storage/bag/bio))
var/list/inserted = list()
@@ -26,12 +26,12 @@ Reproductive extracts:
if(istype(M))
eat_cube(M, user)
else
- to_chat(user, "There are no monkey cubes in the bio bag!")
+ to_chat(user, span_warning("There are no monkey cubes in the bio bag!"))
if(istype(O,/obj/item/food/monkeycube))
eat_cube(O, user)
if(cubes_eaten >= 3)
var/cores = rand(1,4)
- visible_message("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!")
+ visible_message(span_notice("[src] briefly swells to a massive size, and expels [cores] extract[cores > 1 ? "s":""]!"))
playsound(src, 'sound/effects/splat.ogg', 40, TRUE)
last_produce = world.time
for(var/i = 0, i < cores, i++)
@@ -41,7 +41,7 @@ Reproductive extracts:
/obj/item/slimecross/reproductive/proc/eat_cube(obj/item/food/monkeycube, mob/user)
qdel(monkeycube)
cubes_eaten++
- to_chat(user, "You feed [monkeycube] to [src], and it pulses gently.")
+ to_chat(user, span_notice("You feed [monkeycube] to [src], and it pulses gently."))
playsound(src, 'sound/items/eatfood.ogg', 20, TRUE)
/obj/item/slimecross/reproductive/grey
diff --git a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm
index 814083c3bb5..638cd05c048 100644
--- a/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm
+++ b/code/modules/research/xenobiology/crossbreeding/selfsustaining.dm
@@ -17,7 +17,7 @@ Self-sustaining extracts:
//Just divides into the actual item.
/obj/item/slimecross/selfsustaining/Initialize()
..()
- visible_message("The [src] shudders, and splits into four smaller extracts.")
+ visible_message(span_warning("The [src] shudders, and splits into four smaller extracts."))
for(var/i = 0, i < 4, i++)
var/obj/item/autoslime/A = new /obj/item/autoslime(src.loc)
var/obj/item/slime_extract/X = new extract_type(A)
@@ -56,7 +56,7 @@ Self-sustaining extracts:
/obj/item/autoslime/examine(mob/user)
. = ..()
if(effect_desc)
- . += "[effect_desc]"
+ . += span_notice("[effect_desc]")
//Different types.
diff --git a/code/modules/research/xenobiology/crossbreeding/stabilized.dm b/code/modules/research/xenobiology/crossbreeding/stabilized.dm
index eee23636f78..b180f9451c8 100644
--- a/code/modules/research/xenobiology/crossbreeding/stabilized.dm
+++ b/code/modules/research/xenobiology/crossbreeding/stabilized.dm
@@ -142,21 +142,21 @@ Stabilized extracts:
if(L.has_status_effect(/datum/status_effect/stabilized/gold))
L.remove_status_effect(/datum/status_effect/stabilized/gold)
if(choice == "Familiar Location")
- to_chat(user, "You prod [src], and it shudders slightly.")
+ to_chat(user, span_notice("You prod [src], and it shudders slightly."))
START_PROCESSING(SSobj, src)
if(choice == "Familiar Species")
- to_chat(user, "You squeeze [src], and a shape seems to shift around inside.")
+ to_chat(user, span_notice("You squeeze [src], and a shape seems to shift around inside."))
generate_mobtype()
START_PROCESSING(SSobj, src)
if(choice == "Familiar Sentience")
- to_chat(user, "You poke [src], and it lets out a glowing pulse.")
+ to_chat(user, span_notice("You poke [src], and it lets out a glowing pulse."))
saved_mind = null
START_PROCESSING(SSobj, src)
if(choice == "Familiar Name")
var/newname = sanitize_name(stripped_input(user, "Would you like to change the name of [mob_name]", "Name change", mob_name, MAX_NAME_LEN))
if(newname)
mob_name = newname
- to_chat(user, "You speak softly into [src], and it shakes slightly in response.")
+ to_chat(user, span_notice("You speak softly into [src], and it shakes slightly in response."))
START_PROCESSING(SSobj, src)
/obj/item/slimecross/stabilized/oil
@@ -183,7 +183,7 @@ Stabilized extracts:
/obj/item/slimecross/stabilized/rainbow/attackby(obj/item/O, mob/user)
var/obj/item/slimecross/regenerative/regen = O
if(istype(regen) && !regencore)
- to_chat(user, "You place [O] in [src], prepping the extract for automatic application!")
+ to_chat(user, span_notice("You place [O] in [src], prepping the extract for automatic application!"))
regencore = regen
regen.forceMove(src)
return
diff --git a/code/modules/research/xenobiology/vatgrowing/microscope.dm b/code/modules/research/xenobiology/vatgrowing/microscope.dm
index 124ee27f6fa..9fd4c58bc08 100644
--- a/code/modules/research/xenobiology/vatgrowing/microscope.dm
+++ b/code/modules/research/xenobiology/vatgrowing/microscope.dm
@@ -9,9 +9,9 @@
if(!istype(I, /obj/item/petri_dish))
return ..()
if(current_dish)
- to_chat(user, "There is already a petridish in \the [src].")
+ to_chat(user, span_warning("There is already a petridish in \the [src]."))
return
- to_chat(user, "You put [I] into \the [src].")
+ to_chat(user, span_notice("You put [I] into \the [src]."))
current_dish = I
current_dish.forceMove(src)
diff --git a/code/modules/research/xenobiology/vatgrowing/petri_dish.dm b/code/modules/research/xenobiology/vatgrowing/petri_dish.dm
index 3591ce0916d..c190b62f785 100644
--- a/code/modules/research/xenobiology/vatgrowing/petri_dish.dm
+++ b/code/modules/research/xenobiology/vatgrowing/petri_dish.dm
@@ -16,7 +16,7 @@
. = ..()
if(!sample)
return
- . += "You can see the following micro-organisms:"
+ . += span_notice("You can see the following micro-organisms:")
for(var/i in sample.micro_organisms)
var/datum/micro_organism/MO = i
. += MO.get_details()
@@ -25,7 +25,7 @@
. = ..()
if(!sample || !istype(A, /obj/structure/sink))
return FALSE
- to_chat(user, "You wash the sample out of [src].")
+ to_chat(user, span_notice("You wash the sample out of [src]."))
sample = null
/obj/item/petri_dish/update_overlays()
@@ -42,7 +42,7 @@
/obj/item/petri_dish/proc/deposit_sample(user, datum/biological_sample/deposited_sample)
sample = deposited_sample
- to_chat(user, "You deposit a sample into [src].")
+ to_chat(user, span_notice("You deposit a sample into [src]."))
update_appearance()
/// Petri dish with random sample already in it.
diff --git a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm
index 2a4573938f9..29e85a3dc64 100644
--- a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm
+++ b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm
@@ -7,7 +7,7 @@
///Returns a short description of the cell line
/datum/micro_organism/proc/get_details(show_details)
- return "[desc]"
+ return span_notice("[desc]")
///A "mob" cell. Can grow into a mob in a growing vat.
/datum/micro_organism/cell_line
@@ -86,7 +86,7 @@
return TRUE
/datum/micro_organism/cell_line/proc/fuck_up_growing(obj/machinery/plumbing/growing_vat/vat)
- vat.visible_message("The biological sample in [vat] seems to have dissipated!")
+ vat.visible_message(span_warning("The biological sample in [vat] seems to have dissipated!"))
QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done
if(prob(50))
new /obj/effect/gibspawner/generic(get_turf(vat)) //Spawn some gibs.
@@ -100,13 +100,13 @@
for(var/x in 1 to resulting_atoms[created_thing])
var/atom/thing = new created_thing(get_turf(vat))
ADD_TRAIT(thing, TRAIT_VATGROWN, "vatgrowing")
- vat.visible_message("[thing] pops out of [vat]!")
+ vat.visible_message(span_nicegreen("[thing] pops out of [vat]!"))
QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done
///Overriden to show more info like needs, supplementary and supressive reagents and also growth.
/datum/micro_organism/cell_line/get_details(show_details)
- . += "[desc] - growth progress: [growth]%\n"
+ . += "[span_notice("[desc] - growth progress: [growth]%")]\n"
if(show_details)
. += return_reagent_text("It requires:", required_reagents)
. += return_reagent_text("It likes:", supplementary_reagents)
@@ -120,4 +120,4 @@
for(var/i in reagentlist)
var/datum/reagent/reagent = i
all_reagents_text += " - [initial(reagent.name)]\n"
- return "[prefix_text]\n[all_reagents_text]"
+ return span_notice("[prefix_text]\n[all_reagents_text]")
diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm
index 4cbb408b55b..3cad8ef5286 100644
--- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm
+++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm
@@ -413,7 +413,7 @@
return ..()
/datum/micro_organism/cell_line/clown/fuck_up_growing(obj/machinery/plumbing/growing_vat/vat)
- vat.visible_message("The biological sample in [vat] seems to have created something horrific!")
+ vat.visible_message(span_warning("The biological sample in [vat] seems to have created something horrific!"))
QDEL_NULL(vat.biological_sample) //Kill off the sample, we're done
var/mob/selected_mob = pick(list(/mob/living/simple_animal/hostile/retaliate/clown/mutant/slow, /mob/living/simple_animal/hostile/retaliate/clown/fleshclown))
diff --git a/code/modules/research/xenobiology/vatgrowing/vatgrower.dm b/code/modules/research/xenobiology/vatgrowing/vatgrower.dm
index 72f825be363..cae5d04a8ef 100644
--- a/code/modules/research/xenobiology/vatgrowing/vatgrower.dm
+++ b/code/modules/research/xenobiology/vatgrowing/vatgrower.dm
@@ -33,7 +33,7 @@
if(!prob(10))
return
playsound(loc, 'sound/effects/slosh.ogg', 25, TRUE)
- audible_message(pick(list("[src] grumbles!", "[src] makes a splashing noise!", "[src] sloshes!")))
+ audible_message(pick(list(span_notice("[src] grumbles!"), span_notice("[src] makes a splashing noise!"), span_notice("[src] sloshes!"))))
///Handles the petri dish depositing into the vat.
/obj/machinery/plumbing/growing_vat/attacked_by(obj/item/I, mob/living/user)
@@ -46,7 +46,7 @@
return ..()
if(biological_sample)
- to_chat(user, "There is already a sample in the vat!")
+ to_chat(user, span_warning("There is already a sample in the vat!"))
return
deposit_sample(user, petri)
@@ -57,7 +57,7 @@
biological_sample.micro_organisms += new m.type()
biological_sample.sample_layers = petri.sample.sample_layers
biological_sample.sample_color = petri.sample.sample_color
- to_chat(user, "You put some of the sample in the vat!")
+ to_chat(user, span_warning("You put some of the sample in the vat!"))
playsound(src, 'sound/effects/bubbles.ogg', 50, TRUE)
update_appearance()
@@ -66,7 +66,7 @@
. = ..()
if(!biological_sample)
return
- . += "It seems to have a sample in it!"
+ . += span_notice("It seems to have a sample in it!")
for(var/i in biological_sample.micro_organisms)
var/datum/micro_organism/MO = i
. += MO.get_details(user.research_scanner)
diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm
index fc3d9ef2e6c..8eaabd4e7ac 100644
--- a/code/modules/research/xenobiology/xenobio_camera.dm
+++ b/code/modules/research/xenobiology/xenobio_camera.dm
@@ -141,7 +141,7 @@
/obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/O, mob/user, params)
if(istype(O, /obj/item/food/monkeycube))
monkeys++
- to_chat(user, "You feed [O] to [src]. It now has [monkeys] monkey cubes stored.")
+ to_chat(user, span_notice("You feed [O] to [src]. It now has [monkeys] monkey cubes stored."))
qdel(O)
return
else if(istype(O, /obj/item/storage/bag))
@@ -153,7 +153,7 @@
monkeys++
qdel(G)
if(loaded)
- to_chat(user, "You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored.")
+ to_chat(user, span_notice("You fill [src] with the monkey cubes stored in [O]. [src] now has [monkeys] monkey cubes stored."))
return
else if(istype(O, /obj/item/slimepotion/slime))
var/replaced = FALSE
@@ -163,14 +163,14 @@
current_potion.forceMove(drop_location())
replaced = TRUE
current_potion = O
- to_chat(user, "You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""].")
+ to_chat(user, span_notice("You load [O] in the console's potion slot[replaced ? ", replacing the one that was there before" : ""]."))
return
..()
/obj/machinery/computer/camera_advanced/xenobio/multitool_act(mob/living/user, obj/item/multitool/I)
. = ..()
if (istype(I) && istype(I.buffer,/obj/machinery/monkey_recycler))
- to_chat(user, "You link [src] with [I.buffer] in [I] buffer.")
+ to_chat(user, span_notice("You link [src] with [I.buffer] in [I] buffer."))
connected_recycler = I.buffer
connected_recycler.connected += src
return TRUE
@@ -190,10 +190,10 @@
if(GLOB.cameranet.checkTurfVis(remote_eye.loc))
for(var/mob/living/simple_animal/slime/S in X.stored_slimes)
S.forceMove(remote_eye.loc)
- S.visible_message("[S] warps in!")
+ S.visible_message(span_notice("[S] warps in!"))
X.stored_slimes -= S
else
- to_chat(owner, "Target is not near a camera. Cannot proceed.")
+ to_chat(owner, span_warning("Target is not near a camera. Cannot proceed."))
/datum/action/innate/slime_pick_up
name = "Pick up Slime"
@@ -214,11 +214,11 @@
if(!S.ckey)
if(S.buckled)
S.Feedstop(silent = TRUE)
- S.visible_message("[S] vanishes in a flash of light!")
+ S.visible_message(span_notice("[S] vanishes in a flash of light!"))
S.forceMove(X)
X.stored_slimes += S
else
- to_chat(owner, "Target is not near a camera. Cannot proceed.")
+ to_chat(owner, span_warning("Target is not near a camera. Cannot proceed."))
/datum/action/innate/feed_slime
@@ -240,11 +240,11 @@
food.LAssailant = WEAKREF(C)
X.monkeys--
X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors
- to_chat(owner, "[X] now has [X.monkeys] monkeys stored.")
+ to_chat(owner, span_notice("[X] now has [X.monkeys] monkeys stored."))
else
- to_chat(owner, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.")
+ to_chat(owner, span_warning("[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored."))
else
- to_chat(owner, "Target is not near a camera. Cannot proceed.")
+ to_chat(owner, span_warning("Target is not near a camera. Cannot proceed."))
/datum/action/innate/monkey_recycle
@@ -261,21 +261,21 @@
var/obj/machinery/monkey_recycler/recycler = X.connected_recycler
if(!recycler)
- to_chat(owner, "There is no connected monkey recycler. Use a multitool to link one.")
+ to_chat(owner, span_warning("There is no connected monkey recycler. Use a multitool to link one."))
return
if(GLOB.cameranet.checkTurfVis(remote_eye.loc))
for(var/mob/living/carbon/human/M in remote_eye.loc)
if(!ismonkey(M))
continue
if(M.stat)
- M.visible_message("[M] vanishes as [M.p_theyre()] reclaimed for recycling!")
+ M.visible_message(span_notice("[M] vanishes as [M.p_theyre()] reclaimed for recycling!"))
recycler.use_power(500)
X.monkeys += recycler.cube_production
X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors
qdel(M)
- to_chat(owner, "[X] now has [X.monkeys] monkeys available.")
+ to_chat(owner, span_notice("[X] now has [X.monkeys] monkeys available."))
else
- to_chat(owner, "Target is not near a camera. Cannot proceed.")
+ to_chat(owner, span_warning("Target is not near a camera. Cannot proceed."))
/datum/action/innate/slime_scan
name = "Scan Slime"
@@ -292,7 +292,7 @@
for(var/mob/living/simple_animal/slime/S in remote_eye.loc)
slime_scan(S, C)
else
- to_chat(owner, "Target is not near a camera. Cannot proceed.")
+ to_chat(owner, span_warning("Target is not near a camera. Cannot proceed."))
/datum/action/innate/feed_potion
name = "Apply Potion"
@@ -308,7 +308,7 @@
var/obj/machinery/computer/camera_advanced/xenobio/X = target
if(QDELETED(X.current_potion))
- to_chat(owner, "No potion loaded.")
+ to_chat(owner, span_warning("No potion loaded."))
return
if(GLOB.cameranet.checkTurfVis(remote_eye.loc))
@@ -316,7 +316,7 @@
X.current_potion.attack(S, C)
break
else
- to_chat(owner, "Target is not near a camera. Cannot proceed.")
+ to_chat(owner, span_warning("Target is not near a camera. Cannot proceed."))
/datum/action/innate/hotkey_help
name = "Hotkey Help"
@@ -363,7 +363,7 @@
// Scans slime
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickCtrl(mob/living/user, mob/living/simple_animal/slime/S)
if(!GLOB.cameranet.checkTurfVis(S.loc))
- to_chat(user, "Target is not near a camera. Cannot proceed.")
+ to_chat(user, span_warning("Target is not near a camera. Cannot proceed."))
return
var/mob/living/C = user
var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control
@@ -375,14 +375,14 @@
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/simple_animal/slime/S)
SIGNAL_HANDLER
if(!GLOB.cameranet.checkTurfVis(S.loc))
- to_chat(user, "Target is not near a camera. Cannot proceed.")
+ to_chat(user, span_warning("Target is not near a camera. Cannot proceed."))
return
var/mob/living/C = user
var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/mobarea = get_area(S.loc)
if(QDELETED(X.current_potion))
- to_chat(C, "No potion loaded.")
+ to_chat(C, span_warning("No potion loaded."))
return
if(mobarea.name == E.allowed_area || (mobarea.area_flags & XENOBIOLOGY_COMPATIBLE))
INVOKE_ASYNC(X.current_potion, /obj/item/slimepotion/slime.proc/attack, S, C)
@@ -391,7 +391,7 @@
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickShift(mob/living/user, mob/living/simple_animal/slime/S)
SIGNAL_HANDLER
if(!GLOB.cameranet.checkTurfVis(S.loc))
- to_chat(user, "Target is not near a camera. Cannot proceed.")
+ to_chat(user, span_warning("Target is not near a camera. Cannot proceed."))
return
var/mob/living/C = user
var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control
@@ -399,21 +399,21 @@
var/area/mobarea = get_area(S.loc)
if(mobarea.name == E.allowed_area || (mobarea.area_flags & XENOBIOLOGY_COMPATIBLE))
if(X.stored_slimes.len >= X.max_slimes)
- to_chat(C, "Slime storage is full.")
+ to_chat(C, span_warning("Slime storage is full."))
return
if(S.ckey)
- to_chat(C, "The slime wiggled free!")
+ to_chat(C, span_warning("The slime wiggled free!"))
return
if(S.buckled)
S.Feedstop(silent = TRUE)
- S.visible_message("[S] vanishes in a flash of light!")
+ S.visible_message(span_notice("[S] vanishes in a flash of light!"))
S.forceMove(X)
X.stored_slimes += S
//Place slimes
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickShift(mob/living/user, turf/open/T)
if(!GLOB.cameranet.checkTurfVis(T))
- to_chat(user, "Target is not near a camera. Cannot proceed.")
+ to_chat(user, span_warning("Target is not near a camera. Cannot proceed."))
return
var/mob/living/C = user
var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control
@@ -422,13 +422,13 @@
if(turfarea.name == E.allowed_area || (turfarea.area_flags & XENOBIOLOGY_COMPATIBLE))
for(var/mob/living/simple_animal/slime/S in X.stored_slimes)
S.forceMove(T)
- S.visible_message("[S] warps in!")
+ S.visible_message(span_notice("[S] warps in!"))
X.stored_slimes -= S
//Place monkey
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoTurfClickCtrl(mob/living/user, turf/open/T)
if(!GLOB.cameranet.checkTurfVis(T))
- to_chat(user, "Target is not near a camera. Cannot proceed.")
+ to_chat(user, span_warning("Target is not near a camera. Cannot proceed."))
return
var/mob/living/C = user
var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control
@@ -441,30 +441,30 @@
food.LAssailant = WEAKREF(C)
X.monkeys--
X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors
- to_chat(C, "[X] now has [X.monkeys] monkeys stored.")
+ to_chat(C, span_notice("[X] now has [X.monkeys] monkeys stored."))
else
- to_chat(C, "[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored.")
+ to_chat(C, span_warning("[X] needs to have at least 1 monkey stored. Currently has [X.monkeys] monkeys stored."))
//Pick up monkey
/obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/human/M)
if(!ismonkey(M))
return
if(!isturf(M.loc) || !GLOB.cameranet.checkTurfVis(M.loc))
- to_chat(user, "Target is not near a camera. Cannot proceed.")
+ to_chat(user, span_warning("Target is not near a camera. Cannot proceed."))
return
var/mob/living/C = user
var/mob/camera/ai_eye/remote/xenobio/E = C.remote_control
var/obj/machinery/computer/camera_advanced/xenobio/X = E.origin
var/area/mobarea = get_area(M.loc)
if(!X.connected_recycler)
- to_chat(C, "There is no connected monkey recycler. Use a multitool to link one.")
+ to_chat(C, span_warning("There is no connected monkey recycler. Use a multitool to link one."))
return
if(mobarea.name == E.allowed_area || (mobarea.area_flags & XENOBIOLOGY_COMPATIBLE))
if(!M.stat)
return
- M.visible_message("[M] vanishes as [p_theyre()] reclaimed for recycling!")
+ M.visible_message(span_notice("[M] vanishes as [p_theyre()] reclaimed for recycling!"))
X.connected_recycler.use_power(500)
X.monkeys += connected_recycler.cube_production
X.monkeys = round(X.monkeys, 0.1) //Prevents rounding errors
qdel(M)
- to_chat(C, "[X] now has [X.monkeys] monkeys available.")
+ to_chat(C, span_notice("[X] now has [X.monkeys] monkeys available."))
diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm
index bc06ba076f8..174af38a95e 100644
--- a/code/modules/research/xenobiology/xenobiology.dm
+++ b/code/modules/research/xenobiology/xenobiology.dm
@@ -25,13 +25,13 @@
/obj/item/slime_extract/attackby(obj/item/O, mob/user)
if(istype(O, /obj/item/slimepotion/enhancer))
if(Uses >= 5 || recurring)
- to_chat(user, "You cannot enhance this extract further!")
+ to_chat(user, span_warning("You cannot enhance this extract further!"))
return ..()
if(O.type == /obj/item/slimepotion/enhancer) //Seriously, why is this defined here...?
- to_chat(user, "You apply the enhancer to the slime extract. It may now be reused one more time.")
+ to_chat(user, span_notice("You apply the enhancer to the slime extract. It may now be reused one more time."))
Uses++
if(O.type == /obj/item/slimepotion/enhancer/max)
- to_chat(user, "You dump the maximizer on the slime extract. It can now be used a total of 5 times!")
+ to_chat(user, span_notice("You dump the maximizer on the slime extract. It can now be used a total of 5 times!"))
Uses = 5
qdel(O)
..()
@@ -55,7 +55,7 @@
* * arg3 - Whether or not the activation is major or minor. Major activations have large, complex effects, minor are simple.
*/
/obj/item/slime_extract/proc/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
- to_chat(user, "Nothing happened... This slime extract cannot be activated this way.")
+ to_chat(user, span_warning("Nothing happened... This slime extract cannot be activated this way."))
return FALSE
/**
@@ -67,13 +67,13 @@
if(!isslime(M))
return ..()
if(M.stat)
- to_chat(user, "The slime is dead!")
+ to_chat(user, span_warning("The slime is dead!"))
return
if(!M.is_adult)
- to_chat(user, "The slime must be an adult to cross its core!")
+ to_chat(user, span_warning("The slime must be an adult to cross its core!"))
return
if(M.effectmod && M.effectmod != effectmod)
- to_chat(user, "The slime is already being crossed with a different extract!")
+ to_chat(user, span_warning("The slime is already being crossed with a different extract!"))
return
if(!M.effectmod)
@@ -81,7 +81,7 @@
M.applied++
qdel(src)
- to_chat(user, "You feed the slime [src], [M.applied == 1 ? "starting to mutate its core." : "further mutating its core."]")
+ to_chat(user, span_notice("You feed the slime [src], [M.applied == 1 ? "starting to mutate its core." : "further mutating its core."]"))
playsound(M, 'sound/effects/attackblob.ogg', 50, TRUE)
if(M.applied >= SLIME_EXTRACT_CROSSING_REQUIRED)
@@ -100,14 +100,14 @@
if(!user.put_in_active_hand(M))
M.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- to_chat(user, "You spit out a monkey cube.")
+ to_chat(user, span_notice("You spit out a monkey cube."))
return 120
if(SLIME_ACTIVATE_MAJOR)
- to_chat(user, "Your [name] starts pulsing...")
+ to_chat(user, span_notice("Your [name] starts pulsing..."))
if(do_after(user, 40, target = user))
var/mob/living/simple_animal/slime/S = new(get_turf(user), "grey")
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- to_chat(user, "You spit out [S].")
+ to_chat(user, span_notice("You spit out [S]."))
return 350
else
return 0
@@ -123,16 +123,16 @@
/obj/item/slime_extract/gold/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- user.visible_message("[user] starts shaking!","Your [name] starts pulsing gently...")
+ user.visible_message(span_warning("[user] starts shaking!"),span_notice("Your [name] starts pulsing gently..."))
if(do_after(user, 40, target = user))
var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), FRIENDLY_SPAWN)
S.faction |= "neutral"
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [S]!", "You spit out [S]!")
+ user.visible_message(span_warning("[user] spits out [S]!"), span_notice("You spit out [S]!"))
return 300
if(SLIME_ACTIVATE_MAJOR)
- user.visible_message("[user] starts shaking violently!","Your [name] starts pulsing violently...")
+ user.visible_message(span_warning("[user] starts shaking violently!"),span_warning("Your [name] starts pulsing violently..."))
if(do_after(user, 50, target = user))
var/mob/living/simple_animal/S = create_random_mob(user.drop_location(), HOSTILE_SPAWN)
if(!user.combat_mode)
@@ -140,7 +140,7 @@
else
S.faction |= "slime"
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [S]!", "You spit out [S]!")
+ user.visible_message(span_warning("[user] spits out [S]!"), span_warning("You spit out [S]!"))
return 600
/obj/item/slime_extract/silver
@@ -159,7 +159,7 @@
if(!user.put_in_active_hand(food_item))
food_item.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [food_item]!", "You spit out [food_item]!")
+ user.visible_message(span_warning("[user] spits out [food_item]!"), span_notice("You spit out [food_item]!"))
return 200
if(SLIME_ACTIVATE_MAJOR)
var/drink_type = get_random_drink()
@@ -167,7 +167,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 200
/obj/item/slime_extract/metal
@@ -183,7 +183,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
@@ -191,7 +191,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 200
/obj/item/slime_extract/purple
@@ -205,11 +205,11 @@
if(SLIME_ACTIVATE_MINOR)
user.adjust_nutrition(50)
user.blood_volume += 50
- to_chat(user, "You activate [src], and your body is refilled with fresh slime jelly!")
+ to_chat(user, span_notice("You activate [src], and your body is refilled with fresh slime jelly!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
- to_chat(user, "You activate [src], and it releases regenerative chemicals!")
+ to_chat(user, span_notice("You activate [src], and it releases regenerative chemicals!"))
user.reagents.add_reagent(/datum/reagent/medicine/regen_jelly,10)
return 600
@@ -226,14 +226,14 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
var/turf/open/T = get_turf(user)
if(istype(T))
T.atmos_spawn_air("plasma=20")
- to_chat(user, "You activate [src], and a cloud of plasma bursts out of your skin!")
+ to_chat(user, span_warning("You activate [src], and a cloud of plasma bursts out of your skin!"))
return 900
/obj/item/slime_extract/orange
@@ -245,7 +245,7 @@
/obj/item/slime_extract/orange/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You activate [src]. You start feeling hot!")
+ to_chat(user, span_notice("You activate [src]. You start feeling hot!"))
user.reagents.add_reagent(/datum/reagent/consumable/capsaicin,10)
return 150
@@ -253,7 +253,7 @@
user.reagents.add_reagent(/datum/reagent/phosphorus,5)//
user.reagents.add_reagent(/datum/reagent/potassium,5) // = smoke, along with any reagents inside mr. slime
user.reagents.add_reagent(/datum/reagent/consumable/sugar,5) //
- to_chat(user, "You activate [src], and a cloud of smoke bursts out of your skin!")
+ to_chat(user, span_warning("You activate [src], and a cloud of smoke bursts out of your skin!"))
return 450
/obj/item/slime_extract/yellow
@@ -266,17 +266,17 @@
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
if(species.glow_intensity != LUMINESCENT_DEFAULT_GLOW)
- to_chat(user, "Your glow is already enhanced!")
+ to_chat(user, span_warning("Your glow is already enhanced!"))
return
species.update_glow(user, 5)
addtimer(CALLBACK(species, /datum/species/jelly/luminescent.proc/update_glow, user, LUMINESCENT_DEFAULT_GLOW), 600)
- to_chat(user, "You start glowing brighter.")
+ to_chat(user, span_notice("You start glowing brighter."))
if(SLIME_ACTIVATE_MAJOR)
- user.visible_message("[user]'s skin starts flashing intermittently...", "Your skin starts flashing intermittently...")
+ user.visible_message(span_warning("[user]'s skin starts flashing intermittently..."), span_warning("Your skin starts flashing intermittently..."))
if(do_after(user, 25, target = user))
empulse(user, 1, 2)
- user.visible_message("[user]'s skin flashes!", "Your skin flashes as you emit an electromagnetic pulse!")
+ user.visible_message(span_warning("[user]'s skin flashes!"), span_warning("Your skin flashes as you emit an electromagnetic pulse!"))
return 600
/obj/item/slime_extract/red
@@ -288,15 +288,15 @@
/obj/item/slime_extract/red/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You activate [src]. You start feeling fast!")
+ to_chat(user, span_notice("You activate [src]. You start feeling fast!"))
user.reagents.add_reagent(/datum/reagent/medicine/ephedrine,5)
return 450
if(SLIME_ACTIVATE_MAJOR)
- user.visible_message("[user]'s skin flashes red for a moment...", "Your skin flashes red as you emit rage-inducing pheromones...")
+ user.visible_message(span_warning("[user]'s skin flashes red for a moment..."), span_warning("Your skin flashes red as you emit rage-inducing pheromones..."))
for(var/mob/living/simple_animal/slime/slime in viewers(get_turf(user), null))
slime.rabid = TRUE
- slime.visible_message("The [slime] is driven into a frenzy!")
+ slime.visible_message(span_danger("The [slime] is driven into a frenzy!"))
return 600
/obj/item/slime_extract/blue
@@ -308,7 +308,7 @@
/obj/item/slime_extract/blue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You activate [src]. Your genome feels more stable!")
+ to_chat(user, span_notice("You activate [src]. Your genome feels more stable!"))
user.adjustCloneLoss(-15)
user.reagents.add_reagent(/datum/reagent/medicine/mutadone, 10)
user.reagents.add_reagent(/datum/reagent/medicine/potass_iodide, 10)
@@ -316,7 +316,7 @@
if(SLIME_ACTIVATE_MAJOR)
user.reagents.create_foam(/datum/effect_system/foam_spread,20)
- user.visible_message("Foam spews out from [user]'s skin!", "You activate [src], and foam bursts out of your skin!")
+ user.visible_message(span_danger("Foam spews out from [user]'s skin!"), span_warning("You activate [src], and foam bursts out of your skin!"))
return 600
/obj/item/slime_extract/darkblue
@@ -328,7 +328,7 @@
/obj/item/slime_extract/darkblue/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You activate [src]. You start feeling colder!")
+ to_chat(user, span_notice("You activate [src]. You start feeling colder!"))
user.extinguish_mob()
user.adjust_fire_stacks(-20)
user.reagents.add_reagent(/datum/reagent/consumable/frostoil,4)
@@ -339,7 +339,7 @@
var/turf/open/T = get_turf(user)
if(istype(T))
T.atmos_spawn_air("nitrogen=40;TEMP=2.7")
- to_chat(user, "You activate [src], and icy air bursts out of your skin!")
+ to_chat(user, span_warning("You activate [src], and icy air bursts out of your skin!"))
return 900
/obj/item/slime_extract/pink
@@ -352,19 +352,19 @@
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
if(user.gender != MALE && user.gender != FEMALE)
- to_chat(user, "You can't swap your gender!")
+ to_chat(user, span_warning("You can't swap your gender!"))
return
if(user.gender == MALE)
user.gender = FEMALE
- user.visible_message("[user] suddenly looks more feminine!", "You suddenly feel more feminine!")
+ user.visible_message(span_boldnotice("[user] suddenly looks more feminine!"), span_boldwarning("You suddenly feel more feminine!"))
else
user.gender = MALE
- user.visible_message("[user] suddenly looks more masculine!", "You suddenly feel more masculine!")
+ user.visible_message(span_boldnotice("[user] suddenly looks more masculine!"), span_boldwarning("You suddenly feel more masculine!"))
return 100
if(SLIME_ACTIVATE_MAJOR)
- user.visible_message("[user]'s skin starts flashing hypnotically...", "Your skin starts forming odd patterns, pacifying creatures around you.")
+ user.visible_message(span_warning("[user]'s skin starts flashing hypnotically..."), span_notice("Your skin starts forming odd patterns, pacifying creatures around you."))
for(var/mob/living/carbon/C in viewers(user, null))
if(C != user)
C.reagents.add_reagent(/datum/reagent/pax,2)
@@ -379,20 +379,20 @@
/obj/item/slime_extract/green/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You feel yourself reverting to human form...")
+ to_chat(user, span_warning("You feel yourself reverting to human form..."))
if(do_after(user, 120, target = user))
- to_chat(user, "You feel human again!")
+ to_chat(user, span_warning("You feel human again!"))
user.set_species(/datum/species/human)
return
- to_chat(user, "You stop the transformation.")
+ to_chat(user, span_notice("You stop the transformation."))
if(SLIME_ACTIVATE_MAJOR)
- to_chat(user, "You feel yourself radically changing your slime type...")
+ to_chat(user, span_warning("You feel yourself radically changing your slime type..."))
if(do_after(user, 120, target = user))
- to_chat(user, "You feel different!")
+ to_chat(user, span_warning("You feel different!"))
user.set_species(pick(/datum/species/jelly/slime, /datum/species/jelly/stargazer))
return
- to_chat(user, "You stop the transformation.")
+ to_chat(user, span_notice("You stop the transformation."))
/obj/item/slime_extract/lightpink
name = "light pink slime extract"
@@ -407,7 +407,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
@@ -415,7 +415,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 450
/obj/item/slime_extract/black
@@ -427,17 +427,17 @@
/obj/item/slime_extract/black/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You feel something wrong inside you...")
+ to_chat(user, span_userdanger("You feel something wrong inside you..."))
user.ForceContractDisease(new /datum/disease/transformation/slime(), FALSE, TRUE)
return 100
if(SLIME_ACTIVATE_MAJOR)
- to_chat(user, "You feel your own light turning dark...")
+ to_chat(user, span_warning("You feel your own light turning dark..."))
if(do_after(user, 120, target = user))
- to_chat(user, "You feel a longing for darkness.")
+ to_chat(user, span_warning("You feel a longing for darkness."))
user.set_species(pick(/datum/species/shadow))
return
- to_chat(user, "You stop feeding [src].")
+ to_chat(user, span_notice("You stop feeding [src]."))
/obj/item/slime_extract/oil
name = "oil slime extract"
@@ -448,19 +448,19 @@
/obj/item/slime_extract/oil/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You vomit slippery oil.")
+ to_chat(user, span_warning("You vomit slippery oil."))
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
new /obj/effect/decal/cleanable/oil/slippery(get_turf(user))
return 450
if(SLIME_ACTIVATE_MAJOR)
- user.visible_message("[user]'s skin starts pulsing and glowing ominously...", "You feel unstable...")
+ user.visible_message(span_warning("[user]'s skin starts pulsing and glowing ominously..."), span_userdanger("You feel unstable..."))
if(do_after(user, 60, target = user))
- to_chat(user, "You explode!")
+ to_chat(user, span_userdanger("You explode!"))
explosion(user, devastation_range = 1, heavy_impact_range = 3, light_impact_range = 6)
user.gib()
return
- to_chat(user, "You stop feeding [src], and the feeling passes.")
+ to_chat(user, span_notice("You stop feeding [src], and the feeling passes."))
/obj/item/slime_extract/adamantine
name = "adamantine slime extract"
@@ -472,20 +472,20 @@
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
if(species.armor > 0)
- to_chat(user, "Your skin is already hardened!")
+ to_chat(user, span_warning("Your skin is already hardened!"))
return
- to_chat(user, "You feel your skin harden and become more resistant.")
+ to_chat(user, span_notice("You feel your skin harden and become more resistant."))
species.armor += 25
addtimer(CALLBACK(src, .proc/reset_armor, species), 1200)
return 450
if(SLIME_ACTIVATE_MAJOR)
- to_chat(user, "You feel your body rapidly crystallizing...")
+ to_chat(user, span_warning("You feel your body rapidly crystallizing..."))
if(do_after(user, 120, target = user))
- to_chat(user, "You feel solid.")
+ to_chat(user, span_warning("You feel solid."))
user.set_species(pick(/datum/species/golem/adamantine))
return
- to_chat(user, "You stop feeding [src], and your body returns to its slimelike state.")
+ to_chat(user, span_notice("You stop feeding [src], and your body returns to its slimelike state."))
/obj/item/slime_extract/adamantine/proc/reset_armor(datum/species/jelly/luminescent/species)
if(istype(species))
@@ -504,15 +504,15 @@
/obj/item/slime_extract/bluespace/activate(mob/living/carbon/human/user, datum/species/jelly/luminescent/species, activation_type)
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
- to_chat(user, "You feel your body vibrating...")
+ to_chat(user, span_warning("You feel your body vibrating..."))
if(do_after(user, 25, target = user))
- to_chat(user, "You teleport!")
+ to_chat(user, span_warning("You teleport!"))
do_teleport(user, get_turf(user), 6, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
return 300
if(SLIME_ACTIVATE_MAJOR)
if(!teleport_ready)
- to_chat(user, "You feel yourself anchoring to this spot...")
+ to_chat(user, span_notice("You feel yourself anchoring to this spot..."))
var/turf/T = get_turf(user)
teleport_x = T.x
teleport_y = T.y
@@ -522,7 +522,7 @@
teleport_ready = FALSE
if(teleport_x && teleport_y && teleport_z)
var/turf/T = locate(teleport_x, teleport_y, teleport_z)
- to_chat(user, "You snap back to your anchor point!")
+ to_chat(user, span_notice("You snap back to your anchor point!"))
do_teleport(user, T, asoundin = 'sound/weapons/emitter2.ogg', channel = TELEPORT_CHANNEL_BLUESPACE)
return 450
@@ -541,7 +541,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
@@ -551,7 +551,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 250
/obj/item/slime_extract/cerulean
@@ -564,14 +564,14 @@
switch(activation_type)
if(SLIME_ACTIVATE_MINOR)
user.reagents.add_reagent(/datum/reagent/medicine/salbutamol,15)
- to_chat(user, "You feel like you don't need to breathe!")
+ to_chat(user, span_notice("You feel like you don't need to breathe!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
var/turf/open/T = get_turf(user)
if(istype(T))
T.atmos_spawn_air("o2=11;n2=41;TEMP=293.15")
- to_chat(user, "You activate [src], and fresh air bursts out of your skin!")
+ to_chat(user, span_warning("You activate [src], and fresh air bursts out of your skin!"))
return 600
/obj/item/slime_extract/sepia
@@ -587,11 +587,11 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 150
if(SLIME_ACTIVATE_MAJOR)
- to_chat(user, "You feel time slow down...")
+ to_chat(user, span_warning("You feel time slow down..."))
if(do_after(user, 30, target = user))
new /obj/effect/timestop(get_turf(user), 2, 50, list(user))
return 900
@@ -608,7 +608,7 @@
user.dna.features["mcolor"] = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F")
user.updateappearance(mutcolor_update=1)
species.update_glow(user)
- to_chat(user, "You feel different...")
+ to_chat(user, span_notice("You feel different..."))
return 100
if(SLIME_ACTIVATE_MAJOR)
@@ -617,7 +617,7 @@
if(!user.put_in_active_hand(O))
O.forceMove(user.drop_location())
playsound(user, 'sound/effects/splat.ogg', 50, TRUE)
- user.visible_message("[user] spits out [O]!", "You spit out [O]!")
+ user.visible_message(span_warning("[user] spits out [O]!"), span_notice("You spit out [O]!"))
return 150
////Slime-derived potions///
@@ -642,7 +642,7 @@
if(!proximity)
return
if (istype(target))
- to_chat(user, "You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb." )
+ to_chat(user, span_warning("You cannot transfer [src] to [target]! It appears the potion must be given directly to a slime to absorb.") )
return
/obj/item/slimepotion/slime/docility
@@ -653,21 +653,21 @@
/obj/item/slimepotion/slime/docility/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- to_chat(user, "The potion only works on slimes!")
+ to_chat(user, span_warning("The potion only works on slimes!"))
return ..()
if(M.stat)
- to_chat(user, "The slime is dead!")
+ to_chat(user, span_warning("The slime is dead!"))
return
if(M.rabid) //Stops being rabid, but doesn't become truly docile.
- to_chat(M, "You absorb the potion, and your rabid hunger finally settles to a normal desire to feed.")
- to_chat(user, "You feed the slime the potion, calming its rabid rage.")
+ to_chat(M, span_warning("You absorb the potion, and your rabid hunger finally settles to a normal desire to feed."))
+ to_chat(user, span_notice("You feed the slime the potion, calming its rabid rage."))
M.rabid = FALSE
qdel(src)
return
M.docile = 1
M.set_nutrition(700)
- to_chat(M, "You absorb the potion and feel your intense desire to feed melt away.")
- to_chat(user, "You feed the slime the potion, removing its hunger and calming it.")
+ to_chat(M, span_warning("You absorb the potion and feel your intense desire to feed melt away."))
+ to_chat(user, span_notice("You feed the slime the potion, removing its hunger and calming it."))
var/newname = sanitize_name(stripped_input(user, "Would you like to give the slime a name?", "Name your new pet", "pet slime", MAX_NAME_LEN))
if (!newname)
@@ -689,17 +689,17 @@
if(being_used || !ismob(M))
return
if(!isanimal(M) || M.ckey) //only works on animals that aren't player controlled
- to_chat(user, "[M] is already too intelligent for this to work!")
+ to_chat(user, span_warning("[M] is already too intelligent for this to work!"))
return
if(M.stat)
- to_chat(user, "[M] is dead!")
+ to_chat(user, span_warning("[M] is dead!"))
return
var/mob/living/simple_animal/SM = M
if(SM.sentience_type != sentience_type)
- to_chat(user, "[src] won't work on [SM].")
+ to_chat(user, span_warning("[src] won't work on [SM]."))
return
- to_chat(user, "You offer [src] to [SM]...")
+ to_chat(user, span_notice("You offer [src] to [SM]..."))
being_used = TRUE
var/list/candidates = pollCandidatesForMob("Do you want to play as [SM.name]?", ROLE_SENTIENCE, ROLE_SENTIENCE, 50, SM, POLL_IGNORE_SENTIENCE_POTION) // see poll_ignore.dm
@@ -709,16 +709,16 @@
SM.mind.enslave_mind_to_creator(user)
SEND_SIGNAL(SM, COMSIG_SIMPLEMOB_SENTIENCEPOTION, user)
SM.sentience_act()
- to_chat(SM, "All at once it makes sense: you know what you are and who you are! Self awareness is yours!")
- to_chat(SM, "You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost.")
+ to_chat(SM, span_warning("All at once it makes sense: you know what you are and who you are! Self awareness is yours!"))
+ to_chat(SM, span_userdanger("You are grateful to be self aware and owe [user.real_name] a great debt. Serve [user.real_name], and assist [user.p_them()] in completing [user.p_their()] goals at any cost."))
if(SM.flags_1 & HOLOGRAM_1) //Check to see if it's a holodeck creature
- to_chat(SM, "You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck.")
- to_chat(user, "[SM] accepts [src] and suddenly becomes attentive and aware. It worked!")
+ to_chat(SM, span_userdanger("You also become depressingly aware that you are not a real creature, but instead a holoform. Your existence is limited to the parameters of the holodeck."))
+ to_chat(user, span_notice("[SM] accepts [src] and suddenly becomes attentive and aware. It worked!"))
SM.copy_languages(user)
after_success(user, SM)
qdel(src)
else
- to_chat(user, "[SM] looks interested for a moment, but then looks back down. Maybe you should try again later.")
+ to_chat(user, span_notice("[SM] looks interested for a moment, but then looks back down. Maybe you should try again later."))
being_used = FALSE
..()
@@ -752,21 +752,21 @@
if(prompted || !ismob(M))
return
if(!isanimal(M) || M.ckey) //much like sentience, these will not work on something that is already player controlled
- to_chat(user, "[M] already has a higher consciousness!")
+ to_chat(user, span_warning("[M] already has a higher consciousness!"))
return ..()
if(M.stat)
- to_chat(user, "[M] is dead!")
+ to_chat(user, span_warning("[M] is dead!"))
return ..()
var/mob/living/simple_animal/SM = M
if(SM.sentience_type != animal_type)
- to_chat(user, "You cannot transfer your consciousness to [SM]." )
+ to_chat(user, span_warning("You cannot transfer your consciousness to [SM].") )
return ..()
var/jb = is_banned_from(user.ckey, ROLE_MIND_TRANSFER)
if(QDELETED(src) || QDELETED(M) || QDELETED(user))
return
if(jb)
- to_chat(user, "Your mind goes blank as you attempt to use the potion.")
+ to_chat(user, span_warning("Your mind goes blank as you attempt to use the potion."))
return
prompted = 1
@@ -774,15 +774,15 @@
prompted = 0
return
- to_chat(user, "You drink the potion then place your hands on [SM]...")
+ to_chat(user, span_notice("You drink the potion then place your hands on [SM]..."))
user.mind.transfer_to(SM)
SM.faction = user.faction.Copy()
SM.sentience_act() //Same deal here as with sentience
user.death()
- to_chat(SM, "In a quick flash, you feel your consciousness flow into [SM]!")
- to_chat(SM, "You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!")
+ to_chat(SM, span_notice("In a quick flash, you feel your consciousness flow into [SM]!"))
+ to_chat(SM, span_warning("You are now [SM]. Your allegiances, alliances, and role is still the same as it was prior to consciousness transfer!"))
SM.name = "[user.real_name]"
qdel(src)
@@ -794,19 +794,19 @@
/obj/item/slimepotion/slime/steroid/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))//If target is not a slime.
- to_chat(user, "The steroid only works on baby slimes!")
+ to_chat(user, span_warning("The steroid only works on baby slimes!"))
return ..()
if(M.is_adult) //Can't steroidify adults
- to_chat(user, "Only baby slimes can use the steroid!")
+ to_chat(user, span_warning("Only baby slimes can use the steroid!"))
return
if(M.stat)
- to_chat(user, "The slime is dead!")
+ to_chat(user, span_warning("The slime is dead!"))
return
if(M.cores >= 5)
- to_chat(user, "The slime already has the maximum amount of extract!")
+ to_chat(user, span_warning("The slime already has the maximum amount of extract!"))
return
- to_chat(user, "You feed the slime the steroid. It will now produce one more extract.")
+ to_chat(user, span_notice("You feed the slime the steroid. It will now produce one more extract."))
M.cores++
qdel(src)
@@ -824,16 +824,16 @@
/obj/item/slimepotion/slime/stabilizer/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- to_chat(user, "The stabilizer only works on slimes!")
+ to_chat(user, span_warning("The stabilizer only works on slimes!"))
return ..()
if(M.stat)
- to_chat(user, "The slime is dead!")
+ to_chat(user, span_warning("The slime is dead!"))
return
if(M.mutation_chance == 0)
- to_chat(user, "The slime already has no chance of mutating!")
+ to_chat(user, span_warning("The slime already has no chance of mutating!"))
return
- to_chat(user, "You feed the slime the stabilizer. It is now less likely to mutate.")
+ to_chat(user, span_notice("You feed the slime the stabilizer. It is now less likely to mutate."))
M.mutation_chance = clamp(M.mutation_chance-15,0,100)
qdel(src)
@@ -845,19 +845,19 @@
/obj/item/slimepotion/slime/mutator/attack(mob/living/simple_animal/slime/M, mob/user)
if(!isslime(M))
- to_chat(user, "The mutator only works on slimes!")
+ to_chat(user, span_warning("The mutator only works on slimes!"))
return ..()
if(M.stat)
- to_chat(user, "The slime is dead!")
+ to_chat(user, span_warning("The slime is dead!"))
return
if(M.mutator_used)
- to_chat(user, "This slime has already consumed a mutator, any more would be far too unstable!")
+ to_chat(user, span_warning("This slime has already consumed a mutator, any more would be far too unstable!"))
return
if(M.mutation_chance == 100)
- to_chat(user, "The slime is already guaranteed to mutate!")
+ to_chat(user, span_warning("The slime is already guaranteed to mutate!"))
return
- to_chat(user, "You feed the slime the mutator. It is now more likely to mutate.")
+ to_chat(user, span_notice("You feed the slime the mutator. It is now more likely to mutate."))
M.mutation_chance = clamp(M.mutation_chance+12,0,100)
M.mutator_used = TRUE
qdel(src)
@@ -874,16 +874,16 @@
return
if(!istype(C))
// applying this to vehicles is handled in the ridable element, see [/datum/element/ridable/proc/check_potion]
- to_chat(user, "The potion can only be used on items or vehicles!")
+ to_chat(user, span_warning("The potion can only be used on items or vehicles!"))
return
if(isitem(C))
var/obj/item/I = C
if(I.slowdown <= 0 || I.obj_flags & IMMUTABLE_SLOW)
- to_chat(user, "The [C] can't be made any faster!")
+ to_chat(user, span_warning("The [C] can't be made any faster!"))
return ..()
I.slowdown = 0
- to_chat(user, "You slather the red gunk over the [C], making it faster.")
+ to_chat(user, span_notice("You slather the red gunk over the [C], making it faster."))
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#FF0000", FIXED_COLOUR_PRIORITY)
qdel(src)
@@ -904,12 +904,12 @@
qdel(src)
return
if(!istype(C))
- to_chat(user, "The potion can only be used on clothing!")
+ to_chat(user, span_warning("The potion can only be used on clothing!"))
return
if(C.max_heat_protection_temperature >= FIRE_IMMUNITY_MAX_TEMP_PROTECT)
- to_chat(user, "The [C] is already fireproof!")
+ to_chat(user, span_warning("The [C] is already fireproof!"))
return
- to_chat(user, "You slather the blue gunk over the [C], fireproofing it.")
+ to_chat(user, span_notice("You slather the blue gunk over the [C], fireproofing it."))
C.name = "fireproofed [C.name]"
C.remove_atom_colour(WASHABLE_COLOUR_PRIORITY)
C.add_atom_colour("#000080", FIXED_COLOUR_PRIORITY)
@@ -928,19 +928,19 @@
/obj/item/slimepotion/genderchange/attack(mob/living/L, mob/user)
if(!istype(L) || L.stat == DEAD)
- to_chat(user, "The potion can only be used on living things!")
+ to_chat(user, span_warning("The potion can only be used on living things!"))
return
if(L.gender != MALE && L.gender != FEMALE)
- to_chat(user, "The potion can only be used on gendered things!")
+ to_chat(user, span_warning("The potion can only be used on gendered things!"))
return
if(L.gender == MALE)
L.gender = FEMALE
- L.visible_message("[L] suddenly looks more feminine!", "You suddenly feel more feminine!")
+ L.visible_message(span_boldnotice("[L] suddenly looks more feminine!"), span_boldwarning("You suddenly feel more feminine!"))
else
L.gender = MALE
- L.visible_message("[L] suddenly looks more masculine!", "You suddenly feel more masculine!")
+ L.visible_message(span_boldnotice("[L] suddenly looks more masculine!"), span_boldwarning("You suddenly feel more masculine!"))
L.regenerate_icons()
qdel(src)
@@ -956,12 +956,12 @@
if(being_used || !ismob(M))
return
if(!M.ckey) //only works on animals that aren't player controlled
- to_chat(user, "[M] is not self aware, and cannot pick its own name.")
+ to_chat(user, span_warning("[M] is not self aware, and cannot pick its own name."))
return
being_used = TRUE
- to_chat(user, "You offer [src] to [user]...")
+ to_chat(user, span_notice("You offer [src] to [user]..."))
var/new_name = sanitize_name(stripped_input(M, "What would you like your name to be?", "Input a name", M.real_name, MAX_NAME_LEN))
@@ -969,7 +969,7 @@
being_used = FALSE
return
- M.visible_message("[M] has a new name, [new_name].", "Your old name of [M.real_name] fades away, and your new name [new_name] anchors itself in your mind.")
+ M.visible_message(span_notice("[span_name("[M]")] has a new name, [span_name("[new_name]")]."), span_notice("Your old name of [span_name("[M.real_name]")] fades away, and your new name [span_name("[new_name]")] anchors itself in your mind."))
message_admins("[ADMIN_LOOKUPFLW(user)] used [src] on [ADMIN_LOOKUPFLW(M)], letting them rename themselves into [new_name].")
// pass null as first arg to not update records or ID/PDA
@@ -987,14 +987,14 @@
if(!ismob(M))
return
if(!isanimal(M))
- to_chat(user, "[M] is too complex for the potion!")
+ to_chat(user, span_warning("[M] is too complex for the potion!"))
return
if(M.stat)
- to_chat(user, "[M] is dead!")
+ to_chat(user, span_warning("[M] is dead!"))
return
- to_chat(user, "You feed the potion to [M].")
- to_chat(M, "Your mind tingles as you are fed the potion. You can hear radio waves now!")
+ to_chat(user, span_notice("You feed the potion to [M]."))
+ to_chat(M, span_notice("Your mind tingles as you are fed the potion. You can hear radio waves now!"))
var/obj/item/implant/radio/slime/imp = new(src)
imp.implant(M, user)
qdel(src)
diff --git a/code/modules/ruins/icemoonruin_code/hotsprings.dm b/code/modules/ruins/icemoonruin_code/hotsprings.dm
index 29165a29209..1f53180c6b1 100644
--- a/code/modules/ruins/icemoonruin_code/hotsprings.dm
+++ b/code/modules/ruins/icemoonruin_code/hotsprings.dm
@@ -46,7 +46,7 @@ GLOBAL_LIST_EMPTY(cursed_minds)
L = H
var/turf/T = find_safe_turf()
L.forceMove(T)
- to_chat(L, "You blink and find yourself in [get_area_name(T)].")
+ to_chat(L, span_notice("You blink and find yourself in [get_area_name(T)]."))
/**
* Deletes minds from the cursed minds list after their deletion
diff --git a/code/modules/ruins/lavaland_ruin_code.dm b/code/modules/ruins/lavaland_ruin_code.dm
index f82427935ef..b52bf07243f 100644
--- a/code/modules/ruins/lavaland_ruin_code.dm
+++ b/code/modules/ruins/lavaland_ruin_code.dm
@@ -93,12 +93,12 @@
var/obj/item/stack/stuff_stack = I
var/species = golem_shell_species_types[stuff_stack.merge_type]
if(!species)
- to_chat(user, "You can't build a golem out of this kind of material!")
+ to_chat(user, span_warning("You can't build a golem out of this kind of material!"))
return
if(!stuff_stack.use(10))
- to_chat(user, "You need at least ten sheets to finish a golem!")
+ to_chat(user, span_warning("You need at least ten sheets to finish a golem!"))
return
- to_chat(user, "You finish up the golem shell with ten sheets of [stuff_stack].")
+ to_chat(user, span_notice("You finish up the golem shell with ten sheets of [stuff_stack]."))
new shell_type(get_turf(src), species, user)
qdel(src)
diff --git a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
index 71c984f6f11..a9e805c67bf 100644
--- a/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
+++ b/code/modules/ruins/lavalandruin_code/elephantgraveyard.dm
@@ -82,7 +82,7 @@
/obj/structure/sink/oil_well/attack_hand(mob/user, list/modifiers)
flick("puddle-oil-splash",src)
reagents.expose(user, TOUCH, 20) //Covers target in 20u of oil.
- to_chat(user, "You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water.")
+ to_chat(user, span_notice("You touch the pool of oil, only to get oil all over yourself. It would be wise to wash this off with water."))
/obj/structure/sink/oil_well/attackby(obj/item/O, mob/living/user, params)
flick("puddle-oil-splash",src)
@@ -96,12 +96,12 @@
if(RG.is_refillable())
if(!RG.reagents.holder_full())
RG.reagents.add_reagent(dispensedreagent, min(RG.volume - RG.reagents.total_volume, RG.amount_per_transfer_from_this))
- to_chat(user, "You fill [RG] from [src].")
+ to_chat(user, span_notice("You fill [RG] from [src]."))
return TRUE
- to_chat(user, "\The [RG] is full.")
+ to_chat(user, span_notice("\The [RG] is full."))
return FALSE
if(!user.combat_mode)
- to_chat(user, "You won't have any luck getting \the [O] out if you drop it in the oil.")
+ to_chat(user, span_notice("You won't have any luck getting \the [O] out if you drop it in the oil."))
return 1
else
return ..()
@@ -157,15 +157,15 @@
/obj/structure/closet/crate/grave/open(mob/living/user, obj/item/S, force = FALSE)
if(!opened)
- to_chat(user, "The ground here is too hard to dig up with your bare hands. You'll need a shovel.")
+ to_chat(user, span_notice("The ground here is too hard to dig up with your bare hands. You'll need a shovel."))
else
- to_chat(user, "The grave has already been dug up.")
+ to_chat(user, span_notice("The grave has already been dug up."))
/obj/structure/closet/crate/grave/tool_interact(obj/item/S, mob/living/carbon/user)
if(!user.combat_mode) //checks to attempt to dig the grave, must be done with combat mode off only.
if(!opened)
if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL)
- to_chat(user, "You start start to dig open \the [src] with \the [S]...")
+ to_chat(user, span_notice("You start start to dig open \the [src] with \the [S]..."))
if (do_after(user,20, target = src))
opened = TRUE
locked = TRUE
@@ -174,22 +174,22 @@
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing)
if(lead_tomb == TRUE && first_open == TRUE)
user.gain_trauma(/datum/brain_trauma/magic/stalker)
- to_chat(user, "Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!")
+ to_chat(user, span_boldwarning("Oh no, no no no, THEY'RE EVERYWHERE! EVERY ONE OF THEM IS EVERYWHERE!"))
first_open = FALSE
return 1
return 1
else
- to_chat(user, "You can't dig up a grave with \the [S.name].")
+ to_chat(user, span_notice("You can't dig up a grave with \the [S.name]."))
return 1
else
- to_chat(user, "The grave has already been dug up.")
+ to_chat(user, span_notice("The grave has already been dug up."))
return 1
else if((user.combat_mode) && opened) //checks to attempt to remove the grave entirely.
if(istype(S,cutting_tool) && S.tool_behaviour == TOOL_SHOVEL)
- to_chat(user, "You start to remove \the [src] with \the [S].")
+ to_chat(user, span_notice("You start to remove \the [src] with \the [S]."))
if (do_after(user,15, target = src))
- to_chat(user, "You remove \the [src] completely.")
+ to_chat(user, span_notice("You remove \the [src] completely."))
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, "graverobbing", /datum/mood_event/graverobbing)
deconstruct(TRUE)
return 1
diff --git a/code/modules/ruins/lavalandruin_code/puzzle.dm b/code/modules/ruins/lavalandruin_code/puzzle.dm
index 98b2499744c..4db6101e674 100644
--- a/code/modules/ruins/lavalandruin_code/puzzle.dm
+++ b/code/modules/ruins/lavalandruin_code/puzzle.dm
@@ -282,7 +282,7 @@
/obj/effect/sliding_puzzle/prison/Destroy()
if(prisoner)
- to_chat(prisoner,"With the cube broken by force, you can feel your body falling apart.")
+ to_chat(prisoner,span_userdanger("With the cube broken by force, you can feel your body falling apart."))
prisoner.death()
qdel(prisoner)
. = ..()
@@ -314,12 +314,12 @@
//Handcuffed or unconcious
if(istype(carbon_victim) && carbon_victim.handcuffed || victim.stat != CONSCIOUS)
if(!puzzle_imprison(target))
- to_chat(user,"[src] does nothing.")
+ to_chat(user,span_warning("[src] does nothing."))
return
- to_chat(user,"You trap [victim] in the prison cube!")
+ to_chat(user,span_warning("You trap [victim] in the prison cube!"))
qdel(src)
else
- to_chat(user,"[src] only accepts restrained or unconcious prisoners.")
+ to_chat(user,span_notice("[src] only accepts restrained or unconcious prisoners."))
/proc/puzzle_imprison(mob/living/prisoner)
var/turf/T = get_turf(prisoner)
@@ -331,7 +331,7 @@
//First grab the prisoner and move them temporarily into the generator so they won't get thrown around.
prisoner.notransform = TRUE
prisoner.forceMove(cube)
- to_chat(prisoner,"You're trapped by the prison cube! You will remain trapped until someone solves it.")
+ to_chat(prisoner,span_userdanger("You're trapped by the prison cube! You will remain trapped until someone solves it."))
//Clear the area from objects (and cube user)
var/list/things_to_throw = list()
diff --git a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm
index f23649ec141..d0387263e4a 100644
--- a/code/modules/ruins/objects_and_mobs/ash_walker_den.dm
+++ b/code/modules/ruins/objects_and_mobs/ash_walker_den.dm
@@ -52,11 +52,11 @@
qdel(W)
if(issilicon(H)) //no advantage to sacrificing borgs...
H.gib()
- visible_message("Serrated tendrils eagerly pull [H] apart, but find nothing of interest.")
+ visible_message(span_notice("Serrated tendrils eagerly pull [H] apart, but find nothing of interest."))
return
if(H.mind?.has_antag_datum(/datum/antagonist/ashwalker) && (H.key || H.get_ghost(FALSE, TRUE))) //special interactions for dead lava lizards with ghosts attached
- visible_message("Serrated tendrils carefully pull [H] to [src], absorbing the body and creating it anew.")
+ visible_message(span_warning("Serrated tendrils carefully pull [H] to [src], absorbing the body and creating it anew."))
var/datum/mind/deadmind
if(H.key)
deadmind = H
@@ -73,13 +73,13 @@
meat_counter += 20
else
meat_counter++
- visible_message("Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs.")
+ visible_message(span_warning("Serrated tendrils eagerly pull [H] to [src], tearing the body apart as its blood seeps over the eggs."))
playsound(get_turf(src),'sound/magic/demon_consume.ogg', 100, TRUE)
var/deliverykey = H.fingerprintslast //key of whoever brought the body
var/mob/living/deliverymob = get_mob_by_key(deliverykey) //mob of said key
//there is a 40% chance that the Lava Lizard unlocks their respawn with each sacrifice
if(deliverymob && (deliverymob.mind?.has_antag_datum(/datum/antagonist/ashwalker)) && (deliverykey in ashies.players_spawned) && (prob(40)))
- to_chat(deliverymob, "The Necropolis is pleased with your sacrifice. You feel confident your existence after death is secure.")
+ to_chat(deliverymob, span_warning("The Necropolis is pleased with your sacrifice. You feel confident your existence after death is secure."))
ashies.players_spawned -= deliverykey
H.gib()
obj_integrity = min(obj_integrity + max_integrity*0.05,max_integrity)//restores 5% hp of tendril
@@ -104,5 +104,5 @@
/obj/structure/lavaland/ash_walker/proc/spawn_mob()
if(meat_counter >= ASH_WALKER_SPAWN_THRESHOLD)
new /obj/effect/mob_spawn/human/ash_walker(get_step(loc, pick(GLOB.alldirs)), ashies)
- visible_message("One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!")
+ visible_message(span_danger("One of the eggs swells to an unnatural size and tumbles free. It's ready to hatch!"))
meat_counter -= ASH_WALKER_SPAWN_THRESHOLD
diff --git a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
index 1f28e2d50e4..6aa7f31e88d 100644
--- a/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
+++ b/code/modules/ruins/objects_and_mobs/necropolis_gate.dm
@@ -96,7 +96,7 @@
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/structure/necropolis_gate/attack_hand(mob/user, list/modifiers)
if(locked)
- to_chat(user, "It's [open ? "stuck open":"locked"].")
+ to_chat(user, span_boldannounce("It's [open ? "stuck open":"locked"]."))
return
toggle_the_gate(user)
return ..()
@@ -108,7 +108,7 @@
var/turf/T = get_turf(src)
if(open)
new /obj/effect/temp_visual/necropolis(T)
- visible_message("The door slams closed!")
+ visible_message(span_boldwarning("The door slams closed!"))
sleep(1)
playsound(T, 'sound/effects/stonedoor_openclose.ogg', 300, TRUE, frequency = 80000)
sleep(1)
@@ -131,7 +131,7 @@
cut_overlay(door_overlay)
new /obj/effect/temp_visual/necropolis/open(T)
sleep(2)
- visible_message("The door starts to grind open...")
+ visible_message(span_warning("The door starts to grind open..."))
playsound(T, 'sound/effects/stonedoor_openclose.ogg', 300, TRUE, frequency = 20000)
sleep(22)
sight_blocker.forceMove(src)
@@ -168,7 +168,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
var/safety = tgui_alert(user, "You think this might be a bad idea...", "Knock on the door?", list("Proceed", "Abort"))
if(safety == "Abort" || !in_range(src, user) || !src || open || changing_openness || user.incapacitated())
return
- user.visible_message("[user] knocks on [src]...", "You tentatively knock on [src]...")
+ user.visible_message(span_warning("[user] knocks on [src]..."), span_boldannounce("You tentatively knock on [src]..."))
playsound(user.loc, 'sound/effects/shieldbash.ogg', 100, TRUE)
sleep(50)
return ..()
@@ -180,7 +180,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
if(.)
locked = TRUE
var/turf/T = get_turf(src)
- visible_message("Something horrible emerges from the Necropolis!")
+ visible_message(span_userdanger("Something horrible emerges from the Necropolis!"))
if(legion_damaged)
message_admins("Legion took damage while the necropolis gate was closed, and has released itself!")
log_game("Legion took damage while the necropolis gate was closed and released itself.")
@@ -191,7 +191,7 @@ GLOBAL_DATUM(necropolis_gate, /obj/structure/necropolis_gate/legion_gate)
var/sound/legion_sound = sound('sound/creatures/legion_spawn.ogg')
for(var/mob/M in GLOB.player_list)
if(M.z == z)
- to_chat(M, "Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has been released.")
+ to_chat(M, span_userdanger("Discordant whispers flood your mind in a thousand voices. Each one speaks your name, over and over. Something horrible has been released."))
M.playsound_local(T, null, 100, FALSE, 0, FALSE, pressure_affected = FALSE, S = legion_sound)
flash_color(M, flash_color = "#FF0000", flash_time = 50)
var/mutable_appearance/release_overlay = mutable_appearance('icons/effects/effects.dmi', "legiondoor")
diff --git a/code/modules/ruins/objects_and_mobs/sin_ruins.dm b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
index 4971a9e9657..a79a9f2bcea 100644
--- a/code/modules/ruins/objects_and_mobs/sin_ruins.dm
+++ b/code/modules/ruins/objects_and_mobs/sin_ruins.dm
@@ -24,10 +24,10 @@
obj_flags |= IN_USE
user.adjustCloneLoss(20)
if(user.stat)
- to_chat(user, "No... just one more try...")
+ to_chat(user, span_userdanger("No... just one more try..."))
user.gib()
else
- user.visible_message("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!", "You feel a draining as you pull the lever, but you \
+ user.visible_message(span_warning("[user] pulls [src]'s lever with a glint in [user.p_their()] eyes!"), "You feel a draining as you pull the lever, but you \
know it'll be worth it.")
icon_screen = "slots_screen_working"
update_appearance()
@@ -42,11 +42,11 @@
playsound(src, 'sound/lavaland/cursed_slot_machine_jackpot.ogg', 50, FALSE)
new/obj/structure/cursed_money(get_turf(src))
if(user)
- to_chat(user, "You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place.")
+ to_chat(user, span_boldwarning("You've hit jackpot. Laughter echoes around you as your reward appears in the machine's place."))
qdel(src)
else
if(user)
- to_chat(user, "Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?")
+ to_chat(user, span_boldwarning("Fucking machine! Must be rigged. Still... one more try couldn't hurt, right?"))
/obj/structure/cursed_slot_machine/update_overlays()
. = ..()
@@ -77,7 +77,7 @@
return
user.visible_message("[user] opens the bag and \
and removes a die. The bag then vanishes.",
- "You open the bag...!\n\
+ "[span_boldwarning("You open the bag...!")]\n\
And see a bag full of dice. Confused, \
you take one... and the bag vanishes.")
var/turf/T = get_turf(user)
@@ -99,10 +99,10 @@
if(ishuman(mover))
var/mob/living/carbon/human/H = mover
if(H.nutrition >= NUTRITION_LEVEL_FAT)
- H.visible_message("[H] pushes through [src]!", "You've seen and eaten worse than this.")
+ H.visible_message(span_warning("[H] pushes through [src]!"), span_notice("You've seen and eaten worse than this."))
return TRUE
else
- to_chat(H, "You're repulsed by even looking at [src]. Only a pig could force themselves to go through it.")
+ to_chat(H, span_warning("You're repulsed by even looking at [src]. Only a pig could force themselves to go through it."))
if(istype(mover, /mob/living/simple_animal/hostile/morph))
return TRUE
@@ -119,8 +119,8 @@
..()
/obj/structure/mirror/magic/pride/curse(mob/user)
- user.visible_message("The ground splits beneath [user] as [user.p_their()] hand leaves the mirror!", \
- "Perfect. Much better! Now nobody will be able to resist yo-")
+ user.visible_message(span_danger("The ground splits beneath [user] as [user.p_their()] hand leaves the mirror!"), \
+ span_notice("Perfect. Much better! Now nobody will be able to resist yo-"))
var/turf/T = get_turf(user)
var/list/levels = SSmapping.levels_by_trait(ZTRAIT_SPACE_RUINS)
@@ -161,5 +161,5 @@
H.dna.transfer_identity(user, transfer_SE=1)
user.updateappearance(mutcolor_update=1)
user.domutcheck()
- user.visible_message("[user]'s appearance shifts into [H]'s!", \
- "[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] sooo much better than you. Not anymore, [H.p_they()] won't.")
+ user.visible_message(span_warning("[user]'s appearance shifts into [H]'s!"), \
+ span_boldannounce("[H.p_they(TRUE)] think[H.p_s()] [H.p_theyre()] sooo much better than you. Not anymore, [H.p_they()] won't."))
diff --git a/code/modules/ruins/spaceruin_code/TheDerelict.dm b/code/modules/ruins/spaceruin_code/TheDerelict.dm
index 38bf76a0d63..76d6e79ae4a 100644
--- a/code/modules/ruins/spaceruin_code/TheDerelict.dm
+++ b/code/modules/ruins/spaceruin_code/TheDerelict.dm
@@ -39,7 +39,7 @@
/obj/machinery/computer/monitor/examine(mob/user)
. = ..()
- . += "It appears to be powered via a cable connector."
+ . += span_notice("It appears to be powered via a cable connector.")
//Checks for cable connection, charges if possible.
/obj/machinery/computer/vaultcontroller/process()
diff --git a/code/modules/ruins/spaceruin_code/hilbertshotel.dm b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
index 46382d5d35c..c546487d906 100644
--- a/code/modules/ruins/spaceruin_code/hilbertshotel.dm
+++ b/code/modules/ruins/spaceruin_code/hilbertshotel.dm
@@ -35,17 +35,17 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
/obj/item/hilbertshotel/attack(mob/living/M, mob/living/user)
if(M.mind)
- to_chat(user, "You invite [M] to the hotel.")
+ to_chat(user, span_notice("You invite [M] to the hotel."))
promptAndCheckIn(user, M)
else
- to_chat(user, "[M] is not intelligent enough to understand how to use this device!")
+ to_chat(user, span_warning("[M] is not intelligent enough to understand how to use this device!"))
/obj/item/hilbertshotel/attack_self(mob/user)
. = ..()
promptAndCheckIn(user, user)
/obj/item/hilbertshotel/attack_tk(mob/user)
- to_chat(user, "\The [src] actively rejects your mind as the bluespace energies surrounding it disrupt your telekinesis.")
+ to_chat(user, span_notice("\The [src] actively rejects your mind as the bluespace energies surrounding it disrupt your telekinesis."))
return COMPONENT_CANCEL_ATTACK_CHAIN
/obj/item/hilbertshotel/proc/promptAndCheckIn(mob/user, mob/target)
@@ -60,26 +60,26 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
if(!chosenRoomNumber)
return
if(chosenRoomNumber > SHORT_REAL_LIMIT)
- to_chat(target, "You have to check out the first [SHORT_REAL_LIMIT] rooms before you can go to a higher numbered one!")
+ to_chat(target, span_warning("You have to check out the first [SHORT_REAL_LIMIT] rooms before you can go to a higher numbered one!"))
return
if((chosenRoomNumber < 1) || (chosenRoomNumber != round(chosenRoomNumber)))
- to_chat(target, "That is not a valid room number!")
+ to_chat(target, span_warning("That is not a valid room number!"))
return
// Orb is not adjacent to the target. No teleporties.
if(!src.Adjacent(target))
- to_chat(target, "You too far away from \the [src] to enter it!")
+ to_chat(target, span_warning("You too far away from \the [src] to enter it!"))
// If the target is incapacitated after selecting a room, they're not allowed to teleport.
if(target.incapacitated())
- to_chat(target, "You aren't able to activate \the [src] anymore!")
+ to_chat(target, span_warning("You aren't able to activate \the [src] anymore!"))
// Has the user thrown it away or otherwise disposed of it such that it's no longer in their hands or in some storage connected to them?
if(!(get_atom_on_turf(src, /mob) == user))
if(user == target)
- to_chat(user, "\The [src] is no longer in your possession!")
+ to_chat(user, span_warning("\The [src] is no longer in your possession!"))
else
- to_chat(target, "\The [src] is no longer in the possession of [user]!")
+ to_chat(target, span_warning("\The [src] is no longer in the possession of [user]!"))
return
// If the player is using it on themselves, we've got some logic to deal with.
@@ -88,10 +88,10 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
// The item should be on the user or in the user's inventory somewhere.
// However, if they're not holding it, it may be in a pocket? In a backpack? Who knows! Still, they can't just drop it to the floor anymore...
if(!user.get_held_index_of_item(src))
- to_chat(user, "You try to drop \the [src], but it's too late! It's no longer in your hands! Prepare for unforeseen consequences...")
+ to_chat(user, span_warning("You try to drop \the [src], but it's too late! It's no longer in your hands! Prepare for unforeseen consequences..."))
// Okay, so they HAVE to be holding it here, because it's in their hand from the above check. Try to drop the item and if it fails, oh dear...
else if(!user.dropItemToGround(src))
- to_chat(user, "You can't seem to drop \the [src]! It must be stuck to your hand somehow! Prepare for unforeseen consequences...")
+ to_chat(user, span_warning("You can't seem to drop \the [src]! It must be stuck to your hand somehow! Prepare for unforeseen consequences..."))
if(!storageTurf) //Blame subsystems for not allowing this to be in Initialize
if(!GLOB.hhStorageTurf)
@@ -157,7 +157,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
currentArea.reservation = currentReservation
for(var/turf/closed/indestructible/hoteldoor/door in currentArea)
door.parentSphere = src
- door.desc = "The door to this hotel room. The placard reads 'Room [currentRoomnumber]'. Strangely, this door doesn't even seem openable. The doorknob, however, seems to buzz with unusual energy...
Alt-Click to look through the peephole."
+ door.desc = "The door to this hotel room. The placard reads 'Room [currentRoomnumber]'. Strangely, this door doesn't even seem openable. The doorknob, however, seems to buzz with unusual energy...
[span_info("Alt-Click to look through the peephole.")]"
for(var/turf/open/space/bluespace/BSturf in currentArea)
BSturf.parentSphere = src
@@ -171,7 +171,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
if(ismob(A))
var/mob/M = A
if(M.mind)
- to_chat(M, "As the sphere breaks apart, you're suddenly ejected into the depths of space!")
+ to_chat(M, span_warning("As the sphere breaks apart, you're suddenly ejected into the depths of space!"))
var/max = world.maxx-TRANSITIONEDGE
var/min = 1+TRANSITIONEDGE
var/list/possible_transtitons = list()
@@ -278,7 +278,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
if(!user.mind)
return
if(!parentSphere)
- to_chat(user, "The door seems to be malfunctioning and refuses to operate!")
+ to_chat(user, span_warning("The door seems to be malfunctioning and refuses to operate!"))
return
if(tgui_alert(user, "Hilbert's Hotel would like to remind you that while we will do everything we can to protect the belongings you leave behind, we make no guarantees of their safety while you're gone, especially that of the health of any living creatures. With that in mind, are you ready to leave?", "Exit", list("Leave", "Stay")) == "Leave")
if(HAS_TRAIT(user, TRAIT_IMMOBILIZED) || (get_dist(get_turf(src), get_turf(user)) > 1)) //no teleporting around if they're dead or moved away during the prompt.
@@ -320,7 +320,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
/turf/closed/indestructible/hoteldoor/AltClick(mob/user)
. = ..()
if(get_dist(get_turf(src), get_turf(user)) <= 1)
- to_chat(user, "You peak through the door's bluespace peephole...")
+ to_chat(user, span_notice("You peak through the door's bluespace peephole..."))
user.reset_perspective(parentSphere)
var/datum/action/peephole_cancel/PHC = new
user.overlay_fullscreen("remote_view", /atom/movable/screen/fullscreen/impaired, 1)
@@ -339,7 +339,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
/datum/action/peephole_cancel/Trigger()
. = ..()
- to_chat(owner, "You move away from the peephole.")
+ to_chat(owner, span_warning("You move away from the peephole."))
owner.reset_perspective()
owner.clear_fullscreen("remote_view", 0)
UnregisterSignal(owner, COMSIG_MOVABLE_MOVED)
@@ -378,7 +378,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
// Turns out giving anyone who grabs a Hilbert's Hotel a free, complementary warp whistle is probably bad.
// Let's gib the last person to have selected a room number in it.
if(unforeseen_consequences)
- to_chat(unforeseen_consequences, "\The [H] starts to resonate. Forcing it to enter itself induces a bluespace paradox, violently tearing your body apart.")
+ to_chat(unforeseen_consequences, span_warning("\The [H] starts to resonate. Forcing it to enter itself induces a bluespace paradox, violently tearing your body apart."))
unforeseen_consequences.gib()
var/turf/targetturf = find_safe_turf()
@@ -392,7 +392,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
log_game("[H] entered itself. Moving it to [loc_name(targetturf)].")
message_admins("[H] entered itself. Moving it to [ADMIN_VERBOSEJMP(targetturf)].")
for(var/mob/M in A)
- to_chat(M, "[H] almost implodes in upon itself, but quickly rebounds, shooting off into a random point in space!")
+ to_chat(M, span_danger("[H] almost implodes in upon itself, but quickly rebounds, shooting off into a random point in space!"))
H.forceMove(targetturf)
/area/hilbertshotel/Exited(atom/movable/AM)
@@ -472,7 +472,7 @@ GLOBAL_VAR_INIT(hhMysteryRoomNumber, rand(1, 999999))
. = ..()
if(istype(target, /obj/item/hilbertshotel))
if(!proximity)
- to_chat(user, "It's to far away to scan!")
+ to_chat(user, span_warning("It's to far away to scan!"))
return
var/obj/item/hilbertshotel/sphere = target
if(sphere.activeRooms.len)
diff --git a/code/modules/security_levels/keycard_authentication.dm b/code/modules/security_levels/keycard_authentication.dm
index 6caf69922d9..09e0219a723 100644
--- a/code/modules/security_levels/keycard_authentication.dm
+++ b/code/modules/security_levels/keycard_authentication.dm
@@ -69,7 +69,7 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
if(isanimal(user))
var/mob/living/simple_animal/A = user
if(!A.dextrous)
- to_chat(user, "You are too primitive to use this device!")
+ to_chat(user, span_warning("You are too primitive to use this device!"))
return UI_CLOSE
return ..()
@@ -123,10 +123,10 @@ GLOBAL_DATUM_INIT(keycard_events, /datum/events, new)
message_admins("[ADMIN_LOOKUPFLW(triggerer)] triggered and [ADMIN_LOOKUPFLW(confirmer)] confirmed event [event]")
var/area/A1 = get_area(triggerer)
- deadchat_broadcast(" triggered [event] at [A1.name].", "[triggerer]", triggerer, message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" triggered [event] at [span_name("[A1.name]")].", span_name("[triggerer]"), triggerer, message_type=DEADCHAT_ANNOUNCEMENT)
var/area/A2 = get_area(confirmer)
- deadchat_broadcast(" confirmed [event] at [A2.name].", "[confirmer]", confirmer, message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast(" confirmed [event] at [span_name("[A2.name]")].", span_name("[confirmer]"), confirmer, message_type=DEADCHAT_ANNOUNCEMENT)
switch(event)
if(KEYCARD_RED_ALERT)
set_security_level(SEC_LEVEL_RED)
diff --git a/code/modules/shuttle/arrivals.dm b/code/modules/shuttle/arrivals.dm
index 52572a59f26..42f8e3adff4 100644
--- a/code/modules/shuttle/arrivals.dm
+++ b/code/modules/shuttle/arrivals.dm
@@ -190,7 +190,7 @@
Launch(TRUE)
- to_chat(user, "Calling your shuttle. One moment...")
+ to_chat(user, span_notice("Calling your shuttle. One moment..."))
while(mode != SHUTTLE_CALL && !damaged)
stoplag()
diff --git a/code/modules/shuttle/assault_pod.dm b/code/modules/shuttle/assault_pod.dm
index 3c23f95cc98..31ce5fd95e4 100644
--- a/code/modules/shuttle/assault_pod.dm
+++ b/code/modules/shuttle/assault_pod.dm
@@ -60,6 +60,6 @@
if(S.shuttleId == shuttle_id)
S.possible_destinations = "[landing_zone.id]"
- to_chat(user, "Landing zone set.")
+ to_chat(user, span_notice("Landing zone set."))
qdel(src)
diff --git a/code/modules/shuttle/computer.dm b/code/modules/shuttle/computer.dm
index 9190784223c..738eccb6b83 100644
--- a/code/modules/shuttle/computer.dm
+++ b/code/modules/shuttle/computer.dm
@@ -91,7 +91,7 @@
if(.)
return
if(!allowed(usr))
- to_chat(usr, "Access denied.")
+ to_chat(usr, span_danger("Access denied."))
return
switch(action)
@@ -100,14 +100,14 @@
return
var/obj/docking_port/mobile/M = SSshuttle.getShuttle(shuttleId)
if(M.launch_status == ENDGAME_LAUNCHED)
- to_chat(usr, "You've already escaped. Never going back to that place again!")
+ to_chat(usr, span_warning("You've already escaped. Never going back to that place again!"))
return
if(no_destination_swap)
if(M.mode == SHUTTLE_RECHARGING)
- to_chat(usr, "Shuttle engines are not ready for use.")
+ to_chat(usr, span_warning("Shuttle engines are not ready for use."))
return
if(M.mode != SHUTTLE_IDLE)
- to_chat(usr, "Shuttle already in transit.")
+ to_chat(usr, span_warning("Shuttle already in transit."))
return
var/list/options = params2list(possible_destinations)
var/obj/docking_port/stationary/S = SSshuttle.getDock(params["shuttle_id"])
@@ -121,9 +121,9 @@
log_shuttle("[key_name(usr)] has sent shuttle \"[M]\" towards \"[params["shuttle_id"]]\", using [src].")
return TRUE
if(1)
- to_chat(usr, "Invalid shuttle requested.")
+ to_chat(usr, span_warning("Invalid shuttle requested."))
else
- to_chat(usr, "Unable to comply.")
+ to_chat(usr, span_warning("Unable to comply."))
if("set_destination")
var/target_destination = params["destination"]
if(target_destination)
@@ -131,10 +131,10 @@
return TRUE
if("request")
if(!COOLDOWN_FINISHED(src, request_cooldown))
- to_chat(usr, "CentCom is still processing last authorization request!")
+ to_chat(usr, span_warning("CentCom is still processing last authorization request!"))
return
COOLDOWN_START(src, request_cooldown, 1 MINUTES)
- to_chat(usr, "Your request has been received by CentCom.")
+ to_chat(usr, span_notice("Your request has been received by CentCom."))
to_chat(GLOB.admins, "SHUTTLE: [ADMIN_LOOKUPFLW(usr)] (Move Shuttle)(Lock/Unlock Shuttle) is requesting to move or unlock the shuttle.")
return TRUE
@@ -143,7 +143,7 @@
return
req_access = list()
obj_flags |= EMAGGED
- to_chat(user, "You fried the consoles ID checking system.")
+ to_chat(user, span_notice("You fried the consoles ID checking system."))
/obj/machinery/computer/shuttle/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock)
if(port)
diff --git a/code/modules/shuttle/emergency.dm b/code/modules/shuttle/emergency.dm
index ad2da968010..b3430040483 100644
--- a/code/modules/shuttle/emergency.dm
+++ b/code/modules/shuttle/emergency.dm
@@ -31,12 +31,12 @@
/obj/machinery/computer/emergency_shuttle/examine(mob/user)
. = ..()
if(hijack_announce)
- . += "Security systems present on console. Any unauthorized tampering will result in an emergency announcement."
+ . += span_danger("Security systems present on console. Any unauthorized tampering will result in an emergency announcement.")
if(user?.mind?.get_hijack_speed())
- . += "Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED])."
- . += "It will take you [(hijack_stage_time * user.mind.get_hijack_speed()) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage."
+ . += span_danger("Alt click on this to attempt to hijack the shuttle. This will take multiple tries (current: stage [SSshuttle.emergency.hijack_status]/[HIJACKED]).")
+ . += span_notice("It will take you [(hijack_stage_time * user.mind.get_hijack_speed()) / 10] seconds to reprogram a stage of the shuttle's navigational firmware, and the console will undergo automated timed lockout for [hijack_stage_cooldown/10] seconds after each stage.")
if(hijack_announce)
- . += "It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements.."
+ . += span_warning("It is probably best to fortify your position as to be uninterrupted during the attempt, given the automatic announcements..")
/obj/machinery/computer/emergency_shuttle/attackby(obj/item/I, mob/user,params)
if(istype(I, /obj/item/card/id))
@@ -93,11 +93,11 @@
var/obj/item/card/id/ID = user.get_idcard(TRUE)
if(!ID)
- to_chat(user, "You don't have an ID.")
+ to_chat(user, span_warning("You don't have an ID."))
return
if(!(ACCESS_HEADS in ID.access))
- to_chat(user, "The access level of your card is not high enough.")
+ to_chat(user, span_warning("The access level of your card is not high enough."))
return
if (user in acted_recently)
@@ -208,13 +208,13 @@
if(hijack_hacking == TRUE)
return
if(SSshuttle.emergency.hijack_status >= HIJACKED)
- to_chat(user, "The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?")
+ to_chat(user, span_warning("The emergency shuttle is already loaded with a corrupt navigational payload. What more do you want from it?"))
return
if(hijack_last_stage_increase >= world.time + hijack_stage_cooldown)
say("Error - Catastrophic software error detected. Input is currently on timeout.")
return
hijack_hacking = TRUE
- to_chat(user, "You [SSshuttle.emergency.hijack_status == NOT_BEGUN? "begin" : "continue"] to override [src]'s navigational protocols.")
+ to_chat(user, span_boldwarning("You [SSshuttle.emergency.hijack_status == NOT_BEGUN? "begin" : "continue"] to override [src]'s navigational protocols."))
say("Software override initiated.")
var/turf/console_hijack_turf = get_turf(src)
message_admins("[src] is being overriden for hijack by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]")
@@ -226,7 +226,7 @@
message_admins("[src] has had its hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED] by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(console_hijack_turf)]")
log_game("[src] has had its hijack stage increased to stage [SSshuttle.emergency.hijack_status] out of [HIJACKED] by [key_name(user)] at [AREACOORD(src)]")
. = TRUE
- to_chat(user, "You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds.")
+ to_chat(user, span_notice("You reprogram some of [src]'s programming, putting it on timeout for [hijack_stage_cooldown/10] seconds."))
hijack_hacking = FALSE
/obj/machinery/computer/emergency_shuttle/proc/announce_hijack_stage()
@@ -254,7 +254,7 @@
return
if((obj_flags & EMAGGED) || ENGINES_STARTED) //SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LA-SYSTEM ERROR: THE SHUTTLE WILL LAUNCH IN 10 SECONDS
- to_chat(user, "The shuttle is already about to launch!")
+ to_chat(user, span_warning("The shuttle is already about to launch!"))
return
var/time = TIME_LEFT
@@ -573,7 +573,7 @@
launch_status = EARLY_LAUNCHED
return ..()
else
- to_chat(usr, "Escape pods will only launch during \"Code Red\" security alert.")
+ to_chat(usr, span_warning("Escape pods will only launch during \"Code Red\" security alert."))
return TRUE
/obj/docking_port/mobile/pod/cancel()
@@ -601,7 +601,7 @@
return
obj_flags |= EMAGGED
locked = FALSE
- to_chat(user, "You fry the pod's alert level checking system.")
+ to_chat(user, span_warning("You fry the pod's alert level checking system."))
/obj/machinery/computer/shuttle/pod/connect_to_shuttle(obj/docking_port/mobile/port, obj/docking_port/stationary/dock)
. = ..()
diff --git a/code/modules/shuttle/ferry.dm b/code/modules/shuttle/ferry.dm
index 1a26a564d79..595ac0787b2 100644
--- a/code/modules/shuttle/ferry.dm
+++ b/code/modules/shuttle/ferry.dm
@@ -10,7 +10,7 @@
/obj/machinery/computer/shuttle/ferry/emag_act(mob/user)
if(!allow_emag)
- to_chat(user, "[src]'s security firewall is far too powerful for you to bypass.")
+ to_chat(user, span_warning("[src]'s security firewall is far too powerful for you to bypass."))
return FALSE
return ..()
diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm
index 75a6e3b61ee..3f7c149a381 100644
--- a/code/modules/shuttle/navigation_computer.dm
+++ b/code/modules/shuttle/navigation_computer.dm
@@ -60,10 +60,10 @@
/obj/machinery/computer/camera_advanced/shuttle_docker/attack_hand(mob/user, list/modifiers)
if(jammed)
- to_chat(user, "The Syndicate is jamming the console!")
+ to_chat(user, span_warning("The Syndicate is jamming the console!"))
return
if(!shuttle_port && !SSshuttle.getShuttle(shuttleId))
- to_chat(user,"Warning: Shuttle connection severed!")
+ to_chat(user,span_warning("Warning: Shuttle connection severed!"))
return
return ..()
@@ -139,23 +139,23 @@
var/mob/camera/ai_eye/remote/shuttle_docker/the_eye = eyeobj
var/landing_clear = checkLandingSpot()
if(designate_time && (landing_clear != SHUTTLE_DOCKER_BLOCKED))
- to_chat(current_user, "Targeting transit location, please wait [DisplayTimeText(designate_time)]...")
+ to_chat(current_user, span_warning("Targeting transit location, please wait [DisplayTimeText(designate_time)]..."))
designating_target_loc = the_eye.loc
var/wait_completed = do_after(current_user, designate_time, designating_target_loc, timed_action_flags = IGNORE_HELD_ITEM, extra_checks = CALLBACK(src, /obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget))
designating_target_loc = null
if(!current_user)
return
if(!wait_completed)
- to_chat(current_user, "Operation aborted.")
+ to_chat(current_user, span_warning("Operation aborted."))
return
landing_clear = checkLandingSpot()
if(landing_clear != SHUTTLE_DOCKER_LANDING_CLEAR)
switch(landing_clear)
if(SHUTTLE_DOCKER_BLOCKED)
- to_chat(current_user, "Invalid transit location.")
+ to_chat(current_user, span_warning("Invalid transit location."))
if(SHUTTLE_DOCKER_BLOCKED_BY_HIDDEN_PORT)
- to_chat(current_user, "Unknown object detected in landing zone. Please designate another location.")
+ to_chat(current_user, span_warning("Unknown object detected in landing zone. Please designate another location."))
return
///Make one use port that deleted after fly off, to don't lose info that need on to properly fly off.
@@ -196,7 +196,7 @@
if(current_user.client)
current_user.client.images += the_eye.placed_images
- to_chat(current_user, "Transit location designated.")
+ to_chat(current_user, span_notice("Transit location designated."))
return TRUE
/obj/machinery/computer/camera_advanced/shuttle_docker/proc/canDesignateTarget()
@@ -388,7 +388,7 @@
if(T)
playsound(console, 'sound/machines/terminal_prompt_confirm.ogg', 25, FALSE)
remote_eye.setLoc(T)
- to_chat(target, "Jumped to [selected].")
+ to_chat(target, span_notice("Jumped to [selected]."))
C.overlay_fullscreen("flash", /atom/movable/screen/fullscreen/flash/static)
C.clear_fullscreen("flash", 3)
else
diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm
index 2a267ba08b4..52b45286d98 100644
--- a/code/modules/shuttle/on_move.dm
+++ b/code/modules/shuttle/on_move.dm
@@ -31,7 +31,7 @@ All ShuttleMove procs go here
if(M.pulledby)
M.pulledby.stop_pulling()
M.stop_pulling()
- M.visible_message("[shuttle] slams into [M]!")
+ M.visible_message(span_warning("[shuttle] slams into [M]!"))
SSblackbox.record_feedback("tally", "shuttle_gib", 1, M.type)
log_attack("[key_name(M)] was shuttle gibbed by [shuttle].")
M.gib()
diff --git a/code/modules/shuttle/spaceship_navigation_beacon.dm b/code/modules/shuttle/spaceship_navigation_beacon.dm
index 0b7c5166ebe..49e0a6cc986 100644
--- a/code/modules/shuttle/spaceship_navigation_beacon.dm
+++ b/code/modules/shuttle/spaceship_navigation_beacon.dm
@@ -40,10 +40,10 @@
var/new_name = "Beacon_[stripped_input("Enter the custom name for this beacon", "It be Beacon ..your input..")]"
if(new_name && Adjacent(user))
name = new_name
- to_chat(user, "You change beacon name to [name].")
+ to_chat(user, span_notice("You change beacon name to [name]."))
else
locked =!locked
- to_chat(user, "You [locked ? "" : "un"]lock [src].")
+ to_chat(user, span_notice("You [locked ? "" : "un"]lock [src]."))
return TRUE
/obj/machinery/spaceship_navigation_beacon/examine()
diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm
index ada32d4843e..63bbdf1fdfb 100644
--- a/code/modules/shuttle/special.dm
+++ b/code/modules/shuttle/special.dm
@@ -90,8 +90,8 @@
for(var/i in found - sleepers)
var/mob/living/L = i
L.add_atom_colour("#800080", TEMPORARY_COLOUR_PRIORITY)
- L.visible_message("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious.",
- "[desc]")
+ L.visible_message(span_revennotice("A strange purple glow wraps itself around [L] as [L.p_they()] suddenly fall[L.p_s()] unconscious."),
+ span_revendanger("[desc]"))
// Don't let them sit suround unconscious forever
addtimer(CALLBACK(src, .proc/sleeper_dreams, L), 100)
@@ -120,7 +120,7 @@
/obj/structure/table/abductor/wabbajack/proc/sleeper_dreams(mob/living/sleeper)
if(sleeper in sleepers)
- to_chat(sleeper, "While you slumber, you have the strangest dream, like you can see yourself from the outside.")
+ to_chat(sleeper, span_revennotice("While you slumber, you have the strangest dream, like you can see yourself from the outside."))
sleeper.ghostize(TRUE)
/obj/structure/table/abductor/wabbajack/left
@@ -210,7 +210,7 @@
var/throwtarget = get_edge_target_turf(src, boot_dir)
M.Paralyze(40)
M.throw_at(throwtarget, 5, 1)
- to_chat(M, "No climbing on the bar please.")
+ to_chat(M, span_notice("No climbing on the bar please."))
/obj/structure/table/wood/bar/proc/is_barstaff(mob/living/user)
. = FALSE
@@ -245,7 +245,7 @@
var/obj/vehicle/vehicle = mover
for(var/mob/living/rat in vehicle.occupants)
if(!(rat in approved_passengers))
- say("Stowaway detected. Please exit the vehicle first.")
+ say(span_robot("Stowaway detected. Please exit the vehicle first."))
return FALSE
return TRUE
if(isitem(mover))
@@ -253,7 +253,7 @@
if(isstructure(mover))
var/obj/structure/struct = mover
for(var/mob/living/rat in struct.contents)
- say("Stowaway detected. Please exit the structure first.")
+ say(span_robot("Stowaway detected. Please exit the structure first."))
return FALSE
return TRUE
@@ -284,7 +284,7 @@
if(I.registered_account)
account = I.registered_account
else if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message
- to_chat(AM, "This ID card doesn't have an owner associated with it!")
+ to_chat(AM, span_notice("This ID card doesn't have an owner associated with it!"))
check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN
else if(isliving(AM))
var/mob/living/L = AM
@@ -356,7 +356,7 @@
if(armless)
if(!AM.pulling || !iscash(AM.pulling) && !istype(AM.pulling, /obj/item/card/id))
if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message
- to_chat(AM, "Try pulling a valid ID, space cash, holochip or coin into \the [src]!")
+ to_chat(AM, span_notice("Try pulling a valid ID, space cash, holochip or coin into \the [src]!"))
check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN
if(payees[AM] >= threshold)
@@ -378,7 +378,7 @@
AM.pulling = HC
payees[AM] -= payees[AM]
- say("Welcome to first class, [driver_holdout ? "[driver_holdout]" : "[AM]" ]![change ? " Here is your change." : ""]")
+ say(span_robot("Welcome to first class, [driver_holdout ? "[driver_holdout]" : "[AM]" ]![change ? " Here is your change." : ""]"))
approved_passengers |= AM
if(vehicle)
approved_passengers |= vehicle
@@ -391,7 +391,7 @@
for(var/obj/I in counted_money)
qdel(I)
if(!check_times[AM] || check_times[AM] < world.time) //Let's not spam the message
- to_chat(AM, "[payees[AM]] cr received. You need [threshold-payees[AM]] cr more.")
+ to_chat(AM, span_notice("[payees[AM]] cr received. You need [threshold-payees[AM]] cr more."))
check_times[AM] = world.time + LUXURY_MESSAGE_COOLDOWN
alarm_beep()
return ..()
diff --git a/code/modules/shuttle/syndicate.dm b/code/modules/shuttle/syndicate.dm
index 89ba84cceda..94902141ebc 100644
--- a/code/modules/shuttle/syndicate.dm
+++ b/code/modules/shuttle/syndicate.dm
@@ -24,7 +24,7 @@
return FALSE
var/obj/item/circuitboard/computer/syndicate_shuttle/board = circuit
if(board?.challenge && world.time < SYNDICATE_CHALLENGE_TIMER)
- to_chat(user, "You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare.")
+ to_chat(user, span_warning("You've issued a combat challenge to the station! You've got to give them at least [DisplayTimeText(SYNDICATE_CHALLENGE_TIMER - world.time)] more to allow them to prepare."))
return FALSE
board.moved = TRUE
return TRUE
@@ -49,7 +49,7 @@
if(!.)
return FALSE
if(!is_centcom_level(z))
- to_chat(user, "Pods are one way!")
+ to_chat(user, span_warning("Pods are one way!"))
return FALSE
return TRUE
diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm
index cc1b2cf55bc..614aee3fa77 100644
--- a/code/modules/spells/spell.dm
+++ b/code/modules/spells/spell.dm
@@ -56,7 +56,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
/obj/effect/proc_holder/proc/InterceptClickOn(mob/living/caller, params, atom/A)
if(caller.ranged_ability != src || ranged_ability_user != caller) //I'm not actually sure how these would trigger, but, uh, safety, I guess?
- to_chat(caller, "[caller.ranged_ability.name] has been disabled.")
+ to_chat(caller, span_warning("[caller.ranged_ability.name] has been disabled."))
caller.ranged_ability.remove_ranged_ability()
return TRUE //TRUE for failed, FALSE for passed.
if(ranged_clickcd_override >= 0)
@@ -71,7 +71,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
return
if(user.ranged_ability && user.ranged_ability != src)
if(forced)
- 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()
else
return
@@ -157,7 +157,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
/obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0,mob/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
if(player_lock)
if(!user.mind || !(src in user.mind.spell_list) && !(src in user.mob_spell_list))
- 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
else
if(!(src in user.mob_spell_list))
@@ -165,7 +165,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
var/turf/T = get_turf(user)
if(is_centcom_level(T.z) && !centcom_cancast) //Certain spells are not allowed on the centcom zlevel
- to_chat(user, "You can't cast this spell here!")
+ to_chat(user, span_warning("You can't cast this spell here!"))
return FALSE
if(!skipcharge)
@@ -173,25 +173,25 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
return FALSE
if(user.stat && !stat_allowed)
- to_chat(user, "Not when you're incapacitated!")
+ to_chat(user, span_warning("Not when you're incapacitated!"))
return FALSE
if(!antimagic_allowed)
var/antimagic = user.anti_magic_check(TRUE, FALSE, FALSE, 0, TRUE)
if(antimagic)
if(isitem(antimagic))
- to_chat(user, "[antimagic] is interfering with your magic.")
+ to_chat(user, span_notice("[antimagic] is interfering with your magic."))
else
- to_chat(user, "Magic seems to flee from you, you can't gather enough power to cast this spell.")
+ to_chat(user, span_warning("Magic seems to flee from you, you can't gather enough power to cast this spell."))
return FALSE
if(!phase_allowed && istype(user.loc, /obj/effect/dummy))
- to_chat(user, "[name] cannot be cast unless you are completely manifested in the material plane!")
+ to_chat(user, span_warning("[name] cannot be cast unless you are completely manifested in the material plane!"))
return FALSE
var/mob/living/L = user
if(istype(L) && (invocation_type == INVOCATION_WHISPER || invocation_type == INVOCATION_SHOUT) && !L.can_speak_vocal())
- to_chat(user, "You can't get the words out!")
+ to_chat(user, span_warning("You can't get the words out!"))
return FALSE
if(ishuman(user))
@@ -207,24 +207,24 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
if(clothes_req) //clothes check
if(!is_type_in_typecache(H.wear_suit, casting_clothes))
- to_chat(H, "You don't feel strong enough without your robe!")
+ to_chat(H, span_warning("You don't feel strong enough without your robe!"))
return FALSE
if(!is_type_in_typecache(H.head, casting_clothes))
- to_chat(H, "You don't feel strong enough without your hat!")
+ to_chat(H, span_warning("You don't feel strong enough without your hat!"))
return FALSE
if(cult_req) //CULT_REQ CLOTHES CHECK
if(!istype(H.wear_suit, /obj/item/clothing/suit/magusred) && !istype(H.wear_suit, /obj/item/clothing/suit/space/hardsuit/cult))
- to_chat(H, "You don't feel strong enough without your armor.")
+ to_chat(H, span_warning("You don't feel strong enough without your armor."))
return FALSE
if(!istype(H.head, /obj/item/clothing/head/magus) && !istype(H.head, /obj/item/clothing/head/helmet/space/hardsuit/cult))
- to_chat(H, "You don't feel strong enough without your helmet.")
+ to_chat(H, span_warning("You don't feel strong enough without your helmet."))
return FALSE
else
if(clothes_req || human_req)
- to_chat(user, "This spell can only be cast by humans!")
+ to_chat(user, span_warning("This spell can only be cast by humans!"))
return FALSE
if(nonabstract_req && (isbrain(user) || ispAI(user)))
- to_chat(user, "This spell can only be cast by physical beings!")
+ to_chat(user, span_warning("This spell can only be cast by physical beings!"))
return FALSE
@@ -250,7 +250,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
if("charges")
if(!charge_counter)
if(!silent)
- to_chat(user, "[name] has no charges left!")
+ to_chat(user, span_warning("[name] has no charges left!"))
return FALSE
return TRUE
@@ -276,7 +276,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
. = ..()
START_PROCESSING(SSfastprocess, src)
- still_recharging_msg = "[name] is still recharging!"
+ still_recharging_msg = span_warning("[name] is still recharging!")
charge_counter = charge_max
/obj/effect/proc_holder/spell/Destroy()
@@ -318,7 +318,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
before_cast(targets)
invocation(user)
if(user?.ckey)
- user.log_message("cast the spell [name].", LOG_ATTACK)
+ user.log_message(span_danger("cast the spell [name]."), LOG_ATTACK)
if(recharge)
recharging = TRUE
if(sound)
@@ -572,7 +572,7 @@ GLOBAL_LIST_INIT(spells, typesof(/obj/effect/proc_holder/spell)) //needed for th
/obj/effect/proc_holder/spell/self/basic_heal/cast(list/targets, mob/living/carbon/human/user) //Note the lack of "list/targets" here. Instead, use a "user" var depending on mob requirements.
//Also, notice the lack of a "for()" statement that looks through the targets. This is, again, because the spell can only have a single target.
- user.visible_message("A wreath of gentle light passes over [user]!", "You wreath yourself in healing light!")
+ user.visible_message(span_warning("A wreath of gentle light passes over [user]!"), span_notice("You wreath yourself in healing light!"))
user.adjustBruteLoss(-10)
user.adjustFireLoss(-10)
diff --git a/code/modules/spells/spell_types/aimed.dm b/code/modules/spells/spell_types/aimed.dm
index ecdaab5a34c..fae440b77e7 100644
--- a/code/modules/spells/spell_types/aimed.dm
+++ b/code/modules/spells/spell_types/aimed.dm
@@ -17,11 +17,11 @@
return
var/msg
if(!can_cast(user))
- msg = "You can no longer cast [name]!"
+ msg = span_warning("You can no longer cast [name]!")
remove_ranged_ability(msg)
return
if(active)
- msg = "[deactive_msg]"
+ msg = span_notice("[deactive_msg]")
if(charge_type == "recharge")
var/refund_percent = current_amount/projectile_amount
charge_counter = charge_max * refund_percent
@@ -29,7 +29,7 @@
remove_ranged_ability(msg)
on_deactivation(user)
else
- msg = "[active_msg] Left-click to shoot it at a target!"
+ msg = span_notice("[active_msg] Left-click to shoot it at a target!")
current_amount = projectile_amount
add_ranged_ability(user, msg, TRUE)
on_activation(user)
diff --git a/code/modules/spells/spell_types/area_teleport.dm b/code/modules/spells/spell_types/area_teleport.dm
index 9b963b9aa47..ca5ca484b13 100644
--- a/code/modules/spells/spell_types/area_teleport.dm
+++ b/code/modules/spells/spell_types/area_teleport.dm
@@ -50,7 +50,7 @@
L+=T
if(!L.len)
- to_chat(usr, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
+ to_chat(usr, span_warning("The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry."))
return
if(target?.buckled)
diff --git a/code/modules/spells/spell_types/bloodcrawl.dm b/code/modules/spells/spell_types/bloodcrawl.dm
index 95d75543aff..ec81d633c34 100644
--- a/code/modules/spells/spell_types/bloodcrawl.dm
+++ b/code/modules/spells/spell_types/bloodcrawl.dm
@@ -20,7 +20,7 @@
return FALSE
var/area/noteleport_check = get_area(user)
if(noteleport_check && noteleport_check.area_flags & NOTELEPORT)
- to_chat(user, "Some dull, universal force is between you and your other existence, preventing you from blood crawling.")
+ to_chat(user, span_danger("Some dull, universal force is between you and your other existence, preventing you from blood crawling."))
return FALSE
/obj/effect/proc_holder/spell/bloodcrawl/choose_targets(mob/user = usr)
@@ -29,7 +29,7 @@
perform(target)
return
revert_cast()
- to_chat(user, "There must be a nearby source of blood!")
+ to_chat(user, span_warning("There must be a nearby source of blood!"))
/obj/effect/proc_holder/spell/bloodcrawl/perform(obj/effect/decal/cleanable/target, recharge = 1, mob/living/user = usr)
if(istype(user))
@@ -47,4 +47,4 @@
start_recharge()
return
revert_cast()
- to_chat(user, "You are unable to blood crawl!")
+ to_chat(user, span_warning("You are unable to blood crawl!"))
diff --git a/code/modules/spells/spell_types/charge.dm b/code/modules/spells/spell_types/charge.dm
index 06e803e2f9a..467af52aefb 100644
--- a/code/modules/spells/spell_types/charge.dm
+++ b/code/modules/spells/spell_types/charge.dm
@@ -26,26 +26,26 @@
if(M.mind)
for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list)
S.charge_counter = S.charge_max
- to_chat(M, "You feel raw magic flowing through you. It feels good!")
+ to_chat(M, span_notice("You feel raw magic 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
for(var/obj/item in hand_items)
if(istype(item, /obj/item/spellbook))
- 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! VERY CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]")
+ to_chat(L, span_danger("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! VERY CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]"))
burnt_out = TRUE
else if(istype(item, /obj/item/book/granter/spell))
var/obj/item/book/granter/spell/I = item
if(!I.oneuse)
- to_chat(L, "This book is infinite use and can't be recharged, yet the magic has improved the book somehow...")
+ to_chat(L, span_notice("This book is infinite use and can't be recharged, yet the magic has improved the book somehow..."))
burnt_out = TRUE
I.pages_to_mastery--
break
if(prob(80))
- L.visible_message("[I] catches fire!")
+ L.visible_message(span_warning("[I] catches fire!"))
qdel(I)
else
I.used = FALSE
@@ -93,9 +93,9 @@
charged_item = item
break
if(!charged_item)
- to_chat(L, "You feel magical power surging through your hands, but the feeling rapidly fades...")
+ to_chat(L, span_notice("You feel magical power surging through 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_warning("[charged_item] doesn't seem to be reacting to the spell!"))
else
playsound(get_turf(L), 'sound/magic/charge.ogg', 50, TRUE)
- to_chat(L, "[charged_item] suddenly feels very warm!")
+ to_chat(L, span_notice("[charged_item] suddenly feels very warm!"))
diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm
index 5dc71b05444..d326313a7b1 100644
--- a/code/modules/spells/spell_types/construct_spells.dm
+++ b/code/modules/spells/spell_types/construct_spells.dm
@@ -201,18 +201,18 @@
/obj/effect/proc_holder/spell/pointed/abyssal_gaze/cast(list/targets, mob/user)
if(!LAZYLEN(targets))
- to_chat(user, "No target found in range!")
+ to_chat(user, span_warning("No target found in range!"))
return FALSE
if(!can_target(targets[1], user))
return FALSE
var/mob/living/carbon/target = targets[1]
if(target.anti_magic_check(TRUE, TRUE))
- to_chat(user, "The spell had no effect!")
- to_chat(target, "You feel a freezing darkness closing in on you, but it rapidly dissipates.")
+ to_chat(user, span_warning("The spell had no effect!"))
+ to_chat(target, span_warning("You feel a freezing darkness closing in on you, but it rapidly dissipates."))
return FALSE
- to_chat(target, "A freezing darkness surrounds you...")
+ to_chat(target, span_userdanger("A freezing darkness surrounds you..."))
target.playsound_local(get_turf(target), 'sound/hallucinations/i_see_you1.ogg', 50, 1)
user.playsound_local(get_turf(user), 'sound/effects/ghost2.ogg', 50, 1)
target.become_blind(ABYSSAL_GAZE_BLIND)
@@ -239,7 +239,7 @@
return FALSE
if(!iscarbon(target))
if(!silent)
- to_chat(user, "You can only target carbon based lifeforms!")
+ to_chat(user, span_warning("You can only target carbon based lifeforms!"))
return FALSE
return TRUE
@@ -261,7 +261,7 @@
/obj/effect/proc_holder/spell/pointed/dominate/cast(list/targets, mob/user)
if(!LAZYLEN(targets))
- to_chat(user, "No target found in range.")
+ to_chat(user, span_notice("No target found in range."))
return FALSE
if(!can_target(targets[1], user))
return FALSE
@@ -278,25 +278,25 @@
return FALSE
if(!isanimal(target))
if(!silent)
- to_chat(user, "Target is not a lesser creature!")
+ to_chat(user, span_warning("Target is not a lesser creature!"))
return FALSE
var/mob/living/simple_animal/S = target
if(S.mind)
if(!silent)
- to_chat(user, "[S] is too intelligent to dominate!")
+ to_chat(user, span_warning("[S] is too intelligent to dominate!"))
return FALSE
if(S.stat)
if(!silent)
- to_chat(user, "[S] is dead!")
+ to_chat(user, span_warning("[S] is dead!"))
return FALSE
if(S.sentience_type != SENTIENCE_ORGANIC)
if(!silent)
- to_chat(user, "[S] cannot be dominated!")
+ to_chat(user, span_warning("[S] cannot be dominated!"))
return FALSE
if("cult" in S.faction)
if(!silent)
- to_chat(user, "[S] is already serving Nar'Sie!")
+ to_chat(user, span_warning("[S] is already serving Nar'Sie!"))
return FALSE
return TRUE
diff --git a/code/modules/spells/spell_types/curse.dm b/code/modules/spells/spell_types/curse.dm
index 3217fe07a67..7d4a77f359b 100644
--- a/code/modules/spells/spell_types/curse.dm
+++ b/code/modules/spells/spell_types/curse.dm
@@ -2,13 +2,13 @@ GLOBAL_VAR_INIT(curse_of_madness_triggered, FALSE)
/proc/curse_of_madness(mob/user, message)
if(user) //in this case either someone holding a spellbook or a badmin
- to_chat(user, "You sent a curse of madness with the message \"[message]\"!")
+ to_chat(user, span_warning("You sent a curse of madness with the message \"[message]\"!"))
message_admins("[ADMIN_LOOKUPFLW(user)] sent a curse of madness with the message \"[message]\"!")
log_game("[key_name(user)] sent a curse of madness with the message \"[message]\"!")
GLOB.curse_of_madness_triggered = message // So latejoiners are also afflicted.
- deadchat_broadcast("A Curse of Madness has stricken the station, shattering their minds with the awful secret: \"[message]\"", message_type=DEADCHAT_ANNOUNCEMENT)
+ deadchat_broadcast("A [span_name("Curse of Madness")] has stricken the station, shattering their minds with the awful secret: \"[message]\"", message_type=DEADCHAT_ANNOUNCEMENT)
for(var/mob/living/carbon/human/H in GLOB.player_list)
if(H.stat == DEAD)
@@ -17,14 +17,14 @@ GLOBAL_VAR_INIT(curse_of_madness_triggered, FALSE)
if(T && !is_station_level(T.z))
continue
if(H.anti_magic_check(TRUE, FALSE, TRUE))
- to_chat(H, "You have a strange feeling for a moment, but then it passes.")
+ to_chat(H, span_notice("You have a strange feeling for a moment, but then it passes."))
continue
give_madness(H, message)
/proc/give_madness(mob/living/carbon/human/H, message)
H.playsound_local(H,'sound/magic/curse.ogg',40,1)
to_chat(H, "[message]")
- to_chat(H, "Your mind shatters!")
+ to_chat(H, span_warning("Your mind shatters!"))
switch(rand(1,10))
if(1 to 3)
H.gain_trauma_type(BRAIN_TRAUMA_MILD, TRAUMA_RESILIENCE_LOBOTOMY)
diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm
index 93a022e6bae..e68b64a1a5d 100644
--- a/code/modules/spells/spell_types/ethereal_jaunt.dm
+++ b/code/modules/spells/spell_types/ethereal_jaunt.dm
@@ -29,7 +29,7 @@
return FALSE
var/area/noteleport_check = get_area(user)
if(noteleport_check && noteleport_check.area_flags & NOTELEPORT)
- to_chat(user, "Some dull, universal force is stopping you from jaunting here.")
+ to_chat(user, span_danger("Some dull, universal force is stopping you from jaunting here."))
return FALSE
/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets,mob/user = usr) //magnets, so mostly hardcoded
@@ -98,5 +98,5 @@
if(!.)
return
if (locate(/obj/effect/blessing, .))
- to_chat(user, "Holy energies block your path!")
+ to_chat(user, span_warning("Holy energies block your path!"))
return null
diff --git a/code/modules/spells/spell_types/godhand.dm b/code/modules/spells/spell_types/godhand.dm
index 4039a91db51..887c4861053 100644
--- a/code/modules/spells/spell_types/godhand.dm
+++ b/code/modules/spells/spell_types/godhand.dm
@@ -25,7 +25,7 @@
if(!iscarbon(user)) //Look ma, no hands
return
if(!(user.mobility_flags & MOBILITY_USE))
- to_chat(user, "You can't reach out!")
+ to_chat(user, span_warning("You can't reach out!"))
return
..()
@@ -57,7 +57,7 @@
if(!proximity || target == user || !istype(target) || !iscarbon(user) || !(user.mobility_flags & MOBILITY_USE)) //exploding after touching yourself would be bad
return
if(!user.can_speak_vocal())
- to_chat(user, "You can't get the words out!")
+ to_chat(user, span_warning("You can't get the words out!"))
return
do_sparks(4, FALSE, target.loc)
for(var/mob/living/L in view(src, 7))
@@ -66,8 +66,8 @@
var/atom/A = target.anti_magic_check()
if(A)
if(isitem(A))
- target.visible_message("[target]'s [A] glows brightly as it wards off the spell!")
- user.visible_message("The feedback blows [user]'s arm off!","The spell bounces from [target]'s skin back into your arm!")
+ target.visible_message(span_warning("[target]'s [A] glows brightly as it wards off the spell!"))
+ user.visible_message(span_warning("The feedback blows [user]'s arm off!"),span_userdanger("The spell bounces from [target]'s skin back into your arm!"))
user.flash_act()
var/obj/item/bodypart/part = user.get_holding_bodypart_of_item(src)
if(part)
@@ -75,7 +75,7 @@
return ..()
var/obj/item/clothing/suit/hooded/bloated_human/suit = target.get_item_by_slot(ITEM_SLOT_OCLOTHING)
if(istype(suit))
- target.visible_message("[target]'s [suit] explodes off of them into a puddle of gore!")
+ target.visible_message(span_danger("[target]'s [suit] explodes off of them into a puddle of gore!"))
target.dropItemToGround(suit)
qdel(suit)
new /obj/effect/gibspawner(target.loc)
@@ -95,15 +95,15 @@
if(!proximity || target == user || !isliving(target) || !iscarbon(user)) //getting hard after touching yourself would also be bad
return
if(!(user.mobility_flags & MOBILITY_USE))
- to_chat(user, "You can't reach out!")
+ to_chat(user, span_warning("You can't reach out!"))
return
if(!user.can_speak_vocal())
- to_chat(user, "You can't get the words out!")
+ to_chat(user, span_warning("You can't get the words out!"))
return
var/mob/living/M = target
if(M.anti_magic_check())
- to_chat(user, "The spell can't seem to affect [M]!")
- to_chat(M, "You feel your flesh turn to stone for a moment, then revert back!")
+ to_chat(user, span_warning("The spell can't seem to affect [M]!"))
+ to_chat(M, span_warning("You feel your flesh turn to stone for a moment, then revert back!"))
..()
return
M.Stun(40)
@@ -123,16 +123,16 @@
if(!proximity || target == user || !isliving(target) || !iscarbon(user)) //Roleplay involving touching is equally as bad
return
if(!(user.mobility_flags & MOBILITY_USE))
- to_chat(user, "You can't reach out!")
+ to_chat(user, span_warning("You can't reach out!"))
return
if(!user.can_speak_vocal())
- to_chat(user, "You can't get the words out!")
+ to_chat(user, span_warning("You can't get the words out!"))
return
var/mob/living/carbon/duffelvictim = target
var/elaborate_backstory = pick("spacewar origin story", "military background", "corporate connections", "life in the colonies", "anti-government activities", "upbringing on the space farm", "fond memories with your buddy Keith")
if(duffelvictim.anti_magic_check())
- to_chat(user, "The spell can't seem to affect [duffelvictim]!")
- to_chat(duffelvictim, "You really don't feel like talking about your [elaborate_backstory] with complete strangers today.")
+ to_chat(user, span_warning("The spell can't seem to affect [duffelvictim]!"))
+ to_chat(duffelvictim, span_warning("You really don't feel like talking about your [elaborate_backstory] with complete strangers today."))
..()
return
@@ -142,14 +142,14 @@
duffelvictim.Knockdown(5 SECONDS)
if(HAS_TRAIT(target, TRAIT_DUFFEL_CURSE_PROOF))
- to_chat(user, "The burden of [duffelvictim]'s duffel bag becomes too much, shoving them to the floor!")
- to_chat(duffelvictim, "The weight of this bag becomes overburdening!")
+ to_chat(user, span_warning("The burden of [duffelvictim]'s duffel bag becomes too much, shoving them to the floor!"))
+ to_chat(duffelvictim, span_warning("The weight of this bag becomes overburdening!"))
return ..()
var/obj/item/storage/backpack/duffelbag/cursed/conjuredduffel = new get_turf(target)
- duffelvictim.visible_message("A growling duffel bag appears on [duffelvictim]!", \
- "You feel something attaching itself to you, and a strong desire to discuss your [elaborate_backstory] at length!")
+ duffelvictim.visible_message(span_danger("A growling duffel bag appears on [duffelvictim]!"), \
+ span_danger("You feel something attaching itself to you, and a strong desire to discuss your [elaborate_backstory] at length!"))
ADD_TRAIT(duffelvictim, TRAIT_DUFFEL_CURSE_PROOF, CURSED_ITEM_TRAIT(conjuredduffel.name))
if(duffelvictim.dropItemToGround(duffelvictim.back))
diff --git a/code/modules/spells/spell_types/lichdom.dm b/code/modules/spells/spell_types/lichdom.dm
index 969072fe0af..156b43db7e6 100644
--- a/code/modules/spells/spell_types/lichdom.dm
+++ b/code/modules/spells/spell_types/lichdom.dm
@@ -26,7 +26,7 @@
if(iscarbon(M))
hand_items = list(M.get_active_held_item(),M.get_inactive_held_item())
if(!hand_items.len)
- to_chat(M, "You must hold an item you wish to make your phylactery!")
+ to_chat(M, span_warning("You must hold an item you wish to make your phylactery!"))
return
var/obj/item/marked_item
@@ -37,17 +37,17 @@
if((item.item_flags & ABSTRACT) || HAS_TRAIT(item, TRAIT_NODROP) || SEND_SIGNAL(item, COMSIG_ITEM_IMBUE_SOUL, user))
continue
marked_item = item
- to_chat(M, "You begin to focus your very being into [item]...")
+ to_chat(M, span_warning("You begin to focus your very being into [item]..."))
break
if(!marked_item)
- to_chat(M, "None of the items you hold are suitable for emplacement of your fragile soul.")
+ to_chat(M, span_warning("None of the items you hold are suitable for emplacement of your fragile soul."))
return
playsound(user, 'sound/effects/pope_entry.ogg', 100)
if(!do_after(M, 5 SECONDS, target = marked_item, timed_action_flags = IGNORE_HELD_ITEM))
- to_chat(M, "Your soul snaps back to your body as you stop ensouling [marked_item]!")
+ to_chat(M, span_warning("Your soul snaps back to your body as you stop ensouling [marked_item]!"))
return
marked_item.name = "ensouled [marked_item.name]"
@@ -57,7 +57,7 @@
new /obj/item/phylactery(marked_item, M.mind)
- to_chat(M, "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(M, 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!"))
M.set_species(/datum/species/skeleton)
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -129,7 +129,7 @@
mind.transfer_to(lich)
mind.grab_ghost(force=TRUE)
lich.hardset_dna(null,null,null,lich.real_name,null, new /datum/species/skeleton)
- to_chat(lich, "Your bones clatter and shudder as you are pulled back into this world!")
+ to_chat(lich, span_warning("Your bones clatter and shudder as you are pulled back into this world!"))
var/turf/body_turf = get_turf(old_body)
lich.Paralyze(200 + 200*resurrections)
resurrections++
@@ -144,7 +144,7 @@
I.forceMove(body_turf)
var/wheres_wizdo = dir2text(get_dir(body_turf, item_turf))
if(wheres_wizdo)
- old_body.visible_message("Suddenly [old_body.name]'s corpse falls to pieces! You see a strange energy rise from the remains, and speed off towards the [wheres_wizdo]!")
+ old_body.visible_message(span_warning("Suddenly [old_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", time = 10 + 10 * resurrections)
old_body.dust()
diff --git a/code/modules/spells/spell_types/lightning.dm b/code/modules/spells/spell_types/lightning.dm
index bc031ad1e5b..9a7fb15fb76 100644
--- a/code/modules/spells/spell_types/lightning.dm
+++ b/code/modules/spells/spell_types/lightning.dm
@@ -24,7 +24,7 @@
/obj/effect/proc_holder/spell/targeted/tesla/proc/StartChargeup(mob/user = usr)
ready = TRUE
- to_chat(user, "You start gathering the power.")
+ to_chat(user, span_notice("You start gathering the power."))
Snd = new/sound('sound/magic/lightning_chargeup.ogg',channel = 7)
halo = halo || mutable_appearance('icons/effects/effects.dmi', "electricity", EFFECTS_LAYER)
user.add_overlay(halo)
@@ -43,7 +43,7 @@
/obj/effect/proc_holder/spell/targeted/tesla/revert_cast(mob/user = usr, message = 1)
if(message)
- to_chat(user, "No target found in range.")
+ to_chat(user, span_notice("No target found in range."))
Reset(user)
..()
@@ -53,7 +53,7 @@
Snd=sound(null, repeat = 0, wait = 1, channel = Snd.channel) //byond, why you suck?
playsound(get_turf(user),Snd,50,FALSE)// Sorry MrPerson, but the other ways just didn't do it the way i needed to work, this is the only way.
if(get_dist(user,target)>range)
- to_chat(user, "[target.p_theyre(TRUE)] too far away!")
+ to_chat(user, span_warning("[target.p_theyre(TRUE)] too far away!"))
Reset(user)
return
@@ -68,7 +68,7 @@
var/mob/living/carbon/current = target
if(current.anti_magic_check())
playsound(get_turf(current), 'sound/magic/lightningshock.ogg', 50, TRUE, -1)
- current.visible_message("[current] absorbs the spell, remaining unharmed!", "You absorb the spell, remaining unharmed!")
+ current.visible_message(span_warning("[current] absorbs the spell, remaining unharmed!"), span_userdanger("You absorb the spell, remaining unharmed!"))
else if(bounces < 1)
current.electrocute_act(bolt_energy,"Lightning Bolt",flags = SHOCK_NOGLOVES)
playsound(get_turf(current), 'sound/magic/lightningshock.ogg', 50, TRUE, -1)
diff --git a/code/modules/spells/spell_types/mime.dm b/code/modules/spells/spell_types/mime.dm
index 61c7cef7a7a..594b94da0c3 100644
--- a/code/modules/spells/spell_types/mime.dm
+++ b/code/modules/spells/spell_types/mime.dm
@@ -21,7 +21,7 @@
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall/Click()
if(usr?.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first!")
+ to_chat(usr, span_warning("You must dedicate yourself to silence first!"))
return
invocation = "[usr.real_name] looks as if a wall is in front of [usr.p_them()]."
else
@@ -51,7 +51,7 @@
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_chair/Click()
if(usr?.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first!")
+ to_chat(usr, span_warning("You must dedicate yourself to silence first!"))
return
invocation = "[usr.real_name] pulls out an invisible chair and sits down."
else
@@ -97,7 +97,7 @@
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_box/Click()
if(usr?.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first!")
+ to_chat(usr, span_warning("You must dedicate yourself to silence first!"))
return
invocation = "[usr.real_name] moves [usr.p_their()] hands in the shape of a cube, pressing a box out of the air."
else
@@ -128,20 +128,20 @@
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!")
..()
/obj/effect/proc_holder/spell/targeted/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."))
SEND_SIGNAL(H, COMSIG_CLEAR_MOOD_EVENT, "vow")
else
SEND_SIGNAL(H, COMSIG_ADD_MOOD_EVENT, "vow", /datum/mood_event/broken_vow)
- to_chat(H, "You break your vow of silence.")
+ to_chat(H, span_notice("You break your vow of silence."))
// These spells can only be gotten from the "Guide for Advanced Mimery series" for Mime Traitors.
@@ -167,7 +167,7 @@
/obj/effect/proc_holder/spell/targeted/forcewall/mime/Click()
if(usr?.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first!")
+ to_chat(usr, span_warning("You must dedicate yourself to silence first!"))
return
invocation = "[usr.real_name] looks as if a blockade is in front of [usr.p_them()]."
else
@@ -201,11 +201,11 @@
/obj/effect/proc_holder/spell/aimed/finger_guns/Click()
var/mob/living/carbon/human/owner = usr
if(owner.incapacitated())
- to_chat(owner, "You can't properly point your fingers while incapacitated.")
+ to_chat(owner, span_warning("You can't properly point your fingers while incapacitated."))
return
if(usr?.mind)
if(!usr.mind.miming)
- to_chat(usr, "You must dedicate yourself to silence first!")
+ to_chat(usr, span_warning("You must dedicate yourself to silence first!"))
return
invocation = "[usr.real_name] fires [usr.p_their()] finger gun!"
else
@@ -214,7 +214,7 @@
/obj/effect/proc_holder/spell/aimed/finger_guns/InterceptClickOn(mob/living/caller, params, atom/target)
if(caller.incapacitated())
- to_chat(caller, "You can't properly point your fingers while incapacitated.")
+ to_chat(caller, span_warning("You can't properly point your fingers while incapacitated."))
if(charge_type == "recharge")
var/refund_percent = current_amount/projectile_amount
charge_counter = charge_max * refund_percent
diff --git a/code/modules/spells/spell_types/personality_commune.dm b/code/modules/spells/spell_types/personality_commune.dm
index 1b6389bf381..bd5655f1159 100644
--- a/code/modules/spells/spell_types/personality_commune.dm
+++ b/code/modules/spells/spell_types/personality_commune.dm
@@ -21,16 +21,16 @@
// Pillaged and adapted from telepathy code
/obj/effect/proc_holder/spell/targeted/personality_commune/cast(list/targets, mob/user)
if(!istype(trauma))
- to_chat(user, "Something is wrong; Either due a bug or admemes, you are trying to cast this spell without a split personality!")
+ to_chat(user, span_warning("Something is wrong; Either due a bug or admemes, you are trying to cast this spell without a split personality!"))
return
var/msg = stripped_input(usr, "What would you like to tell your other self?", null , "")
if(!msg)
charge_counter = charge_max
return
- to_chat(user, "You concentrate and send thoughts to your other self: [msg]")
- to_chat(trauma.owner, "[flufftext] [msg]")
+ to_chat(user, span_boldnotice("You concentrate and send thoughts to your other self: [msg]"))
+ to_chat(trauma.owner, span_boldnotice("[flufftext] [msg]"))
log_directed_talk(user, trauma.owner, msg, LOG_SAY ,"[name]")
for(var/ded in GLOB.dead_mob_list)
if(!isobserver(ded))
continue
- to_chat(ded, "[FOLLOW_LINK(ded, user)] [user] [name]: \"[msg]\" to [trauma]")
+ to_chat(ded, "[FOLLOW_LINK(ded, user)] [span_boldnotice("[user] [name]:")] [span_notice("\"[msg]\" to")] [span_name("[trauma]")]")
diff --git a/code/modules/spells/spell_types/pointed/barnyard.dm b/code/modules/spells/spell_types/pointed/barnyard.dm
index bca67a880a4..d0324787310 100644
--- a/code/modules/spells/spell_types/pointed/barnyard.dm
+++ b/code/modules/spells/spell_types/pointed/barnyard.dm
@@ -20,23 +20,23 @@
/obj/effect/proc_holder/spell/pointed/barnyardcurse/cast(list/targets, mob/user)
if(!targets.len)
- to_chat(user, "No target found in range!")
+ to_chat(user, span_warning("No target found in range!"))
return FALSE
if(!can_target(targets[1], user))
return FALSE
var/mob/living/carbon/target = targets[1]
if(target.anti_magic_check())
- to_chat(user, "The spell had no effect!")
- target.visible_message("[target]'s face bursts into flames, which instantly burst outward, leaving [target] unharmed!", \
- "Your face starts burning up, but the flames are repulsed by your anti-magic protection!")
+ to_chat(user, span_warning("The spell had no effect!"))
+ target.visible_message(span_danger("[target]'s face bursts into flames, which instantly burst outward, leaving [target] unharmed!"), \
+ span_danger("Your face starts burning up, but the flames are repulsed by your anti-magic protection!"))
return FALSE
var/choice = pick(GLOB.cursed_animal_masks)
var/obj/item/clothing/mask/magichead = new choice(get_turf(target))
- target.visible_message("[target]'s face bursts into flames, and a barnyard animal's head takes its place!", \
- "Your face burns up, and shortly after the fire you realise you have the face of a barnyard animal!")
+ target.visible_message(span_danger("[target]'s face bursts into flames, and a barnyard animal's head takes its place!"), \
+ span_danger("Your face burns up, and shortly after the fire you realise you have the face of a barnyard animal!"))
if(!target.dropItemToGround(target.wear_mask))
qdel(target.wear_mask)
target.equip_to_slot_if_possible(magichead, ITEM_SLOT_MASK, 1, 1)
@@ -48,6 +48,6 @@
return FALSE
if(!is_type_in_typecache(target, compatible_mobs_typecache))
if(!silent)
- to_chat(user, "You are unable to curse [target]!")
+ to_chat(user, span_warning("You are unable to curse [target]!"))
return FALSE
return TRUE
diff --git a/code/modules/spells/spell_types/pointed/blind.dm b/code/modules/spells/spell_types/pointed/blind.dm
index 3d09bfc989b..d7a63c93e18 100644
--- a/code/modules/spells/spell_types/pointed/blind.dm
+++ b/code/modules/spells/spell_types/pointed/blind.dm
@@ -30,6 +30,6 @@
return FALSE
if(!isliving(target))
if(!silent)
- to_chat(user, "You can only blind living beings!")
+ to_chat(user, span_warning("You can only blind living beings!"))
return FALSE
return TRUE
diff --git a/code/modules/spells/spell_types/pointed/mind_transfer.dm b/code/modules/spells/spell_types/pointed/mind_transfer.dm
index b3f30ab97e9..6d82c816716 100644
--- a/code/modules/spells/spell_types/pointed/mind_transfer.dm
+++ b/code/modules/spells/spell_types/pointed/mind_transfer.dm
@@ -19,11 +19,11 @@
/obj/effect/proc_holder/spell/pointed/mind_transfer/cast(list/targets, mob/living/user, silent = FALSE)
if(!targets.len)
if(!silent)
- to_chat(user, "No mind found!")
+ to_chat(user, span_warning("No mind found!"))
return FALSE
if(targets.len > 1)
if(!silent)
- to_chat(user, "Too many minds! You're not a hive damnit!")
+ to_chat(user, span_warning("Too many minds! You're not a hive damnit!"))
return FALSE
if(!can_target(targets[1], user, silent))
return FALSE
@@ -32,7 +32,7 @@
var/datum/mind/VM = victim.mind
if(victim.anti_magic_check(TRUE, FALSE) || VM.has_antag_datum(/datum/antagonist/wizard) || VM.has_antag_datum(/datum/antagonist/cult) || VM.has_antag_datum(/datum/antagonist/changeling) || VM.has_antag_datum(/datum/antagonist/rev) || victim.key[1] == "@")
if(!silent)
- to_chat(user, "[victim.p_their(TRUE)] mind is resisting your spell!")
+ to_chat(user, span_warning("[victim.p_their(TRUE)] mind is resisting your spell!"))
return FALSE
if(istype(victim, /mob/living/simple_animal/hostile/guardian))
var/mob/living/simple_animal/hostile/guardian/stand = victim
@@ -41,7 +41,7 @@
//You should not be able to enter one of the most powerful side-antags as a fucking wizard.
if(istype(victim,/mob/living/simple_animal/hostile/imp/slaughter))
- to_chat(user, "The devilish contract doesn't include the 'mind swappable' package, please try again another lifetime.")
+ to_chat(user, span_warning("The devilish contract doesn't include the 'mind swappable' package, please try again another lifetime."))
return
//MIND TRANSFER BEGIN
@@ -67,11 +67,11 @@
return FALSE
if(!isliving(target))
if(!silent)
- to_chat(user, "You can only swap minds with living beings!")
+ to_chat(user, span_warning("You can only swap minds with living beings!"))
return FALSE
if(user == target)
if(!silent)
- to_chat(user, "You can't swap minds with yourself!")
+ to_chat(user, span_warning("You can't swap minds with yourself!"))
return FALSE
var/mob/living/victim = target
@@ -79,25 +79,25 @@
if(ismegafauna(victim))
if(!silent)
- to_chat(user, "This creature is too powerful to control!")
+ to_chat(user, span_warning("This creature is too powerful to control!"))
return FALSE
if(victim.stat == DEAD)
if(!silent)
- to_chat(user, "You don't particularly want to be dead!")
+ to_chat(user, span_warning("You don't particularly want to be dead!"))
return FALSE
if(!victim.key || !victim.mind)
if(!silent)
- to_chat(user, "[t_He] appear[victim.p_s()] to be catatonic! Not even magic can affect [victim.p_their()] vacant mind.")
+ to_chat(user, span_warning("[t_He] appear[victim.p_s()] to be catatonic! Not even magic can affect [victim.p_their()] vacant mind."))
return FALSE
if(user.suiciding)
if(!silent)
- 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 FALSE
if(istype(victim, /mob/living/simple_animal/hostile/guardian))
var/mob/living/simple_animal/hostile/guardian/stand = victim
if(stand.summoner)
if(stand.summoner == user)
if(!silent)
- to_chat(user, "Swapping minds with your own guardian would just put you back into your own head!")
+ to_chat(user, span_warning("Swapping minds with your own guardian would just put you back into your own head!"))
return FALSE
return TRUE
diff --git a/code/modules/spells/spell_types/pointed/pointed.dm b/code/modules/spells/spell_types/pointed/pointed.dm
index 1002d34ccb5..bf5d818f2ce 100644
--- a/code/modules/spells/spell_types/pointed/pointed.dm
+++ b/code/modules/spells/spell_types/pointed/pointed.dm
@@ -17,14 +17,14 @@
return
var/msg
if(!can_cast(user))
- msg = "You can no longer cast [name]!"
+ msg = span_warning("You can no longer cast [name]!")
remove_ranged_ability(msg)
return
if(active)
- msg = "[deactive_msg]"
+ msg = span_notice("[deactive_msg]")
remove_ranged_ability(msg)
else
- msg = "[active_msg] Left-click to activate spell on a target!"
+ msg = span_notice("[active_msg] Left-click to activate spell on a target!")
add_ranged_ability(user, msg, TRUE)
/obj/effect/proc_holder/spell/pointed/on_lose(mob/living/user)
@@ -93,11 +93,11 @@
/obj/effect/proc_holder/spell/pointed/proc/intercept_check(mob/user, atom/target, silent = FALSE)
if(!self_castable && target == user)
if(!silent)
- to_chat(user, "You cannot cast the spell on yourself!")
+ to_chat(user, span_warning("You cannot cast the spell on yourself!"))
return FALSE
if(!(target in view_or_range(range, user, selection_type)))
if(!silent)
- to_chat(user, "[target.p_theyre(TRUE)] too far away!")
+ to_chat(user, span_warning("[target.p_theyre(TRUE)] too far away!"))
return FALSE
if(!can_target(target, user, silent))
return FALSE
diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm
index f6d2dc854c2..01fed6eb2a2 100644
--- a/code/modules/spells/spell_types/rightandwrong.dm
+++ b/code/modules/spells/spell_types/rightandwrong.dm
@@ -118,7 +118,7 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list(
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))
@@ -144,14 +144,14 @@ GLOBAL_LIST_INIT(summoned_magic_objectives, list(
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/modules/spells/spell_types/rod_form.dm b/code/modules/spells/spell_types/rod_form.dm
index 9bd0b151117..9d739507785 100644
--- a/code/modules/spells/spell_types/rod_form.dm
+++ b/code/modules/spells/spell_types/rod_form.dm
@@ -15,7 +15,7 @@
/obj/effect/proc_holder/spell/targeted/rod_form/cast(list/targets,mob/user = usr)
var/area/A = get_area(user)
if(istype(A, /area/wizard_station))
- to_chat(user, "You know better than to trash Wizard Federation property. Best wait until you leave to use [src].")
+ to_chat(user, span_warning("You know better than to trash Wizard Federation property. Best wait until you leave to use [src]."))
return
for(var/mob/living/M in targets)
var/turf/start = get_turf(M)
@@ -51,8 +51,8 @@
/obj/effect/immovablerod/wizard/penetrate(mob/living/L)
if(L.anti_magic_check())
- L.visible_message("[src] hits [L], but it bounces back, then vanishes!" , "[src] hits you... but it bounces back, then vanishes!" , "You hear a weak, sad, CLANG.")
+ L.visible_message(span_danger("[src] hits [L], but it bounces back, then vanishes!") , span_userdanger("[src] hits you... but it bounces back, then vanishes!") , span_danger("You hear a weak, sad, CLANG."))
qdel(src)
return
- L.visible_message("[L] is penetrated by an immovable rod!" , "The rod penetrates you!" , "You hear a CLANG!")
+ L.visible_message(span_danger("[L] is penetrated by an immovable rod!") , span_userdanger("The rod penetrates you!") , span_danger("You hear a CLANG!"))
L.adjustBruteLoss(70 + damage_bonus)
diff --git a/code/modules/spells/spell_types/shadow_walk.dm b/code/modules/spells/spell_types/shadow_walk.dm
index a2dad3ae093..181dc23ff20 100644
--- a/code/modules/spells/spell_types/shadow_walk.dm
+++ b/code/modules/spells/spell_types/shadow_walk.dm
@@ -22,7 +22,7 @@
return FALSE
var/area/noteleport_check = get_area(user)
if(noteleport_check && noteleport_check.area_flags & NOTELEPORT)
- to_chat(user, "Some dull, universal force is stopping you from melting into the shadows here.")
+ to_chat(user, span_danger("Some dull, universal force is stopping you from melting into the shadows here."))
return FALSE
/obj/effect/proc_holder/spell/targeted/shadowwalk/cast(list/targets,mob/living/user = usr)
@@ -36,14 +36,14 @@
var/light_amount = T.get_lumcount()
if(light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD)
playsound(get_turf(user), 'sound/magic/ethereal_enter.ogg', 50, TRUE, -1)
- visible_message("[user] melts into the shadows!")
+ visible_message(span_boldwarning("[user] melts into the shadows!"))
user.SetAllImmobility(0)
user.setStaminaLoss(0, 0)
var/obj/effect/dummy/phased_mob/shadow/S2 = new(get_turf(user.loc))
user.forceMove(S2)
S2.jaunter = user
else
- to_chat(user, "It isn't dark enough here!")
+ to_chat(user, span_warning("It isn't dark enough here!"))
/obj/effect/dummy/phased_mob/shadow
var/mob/living/jaunter
@@ -76,7 +76,7 @@
/obj/effect/dummy/phased_mob/shadow/phased_check(mob/living/user, direction)
. = ..()
if(. && isspaceturf(.))
- to_chat(user, "It really would not be wise to go into space.")
+ to_chat(user, span_warning("It really would not be wise to go into space."))
return FALSE
/obj/effect/dummy/phased_mob/shadow/proc/check_light_level()
@@ -88,9 +88,9 @@
/obj/effect/dummy/phased_mob/shadow/proc/end_jaunt(forced = FALSE)
if(jaunter)
if(forced)
- visible_message("[jaunter] is revealed by the light!")
+ visible_message(span_boldwarning("[jaunter] is revealed by the light!"))
else
- visible_message("[jaunter] emerges from the darkness!")
+ visible_message(span_boldwarning("[jaunter] emerges from the darkness!"))
playsound(loc, 'sound/magic/ethereal_exit.ogg', 50, TRUE, -1)
qdel(src)
diff --git a/code/modules/spells/spell_types/shapeshift.dm b/code/modules/spells/spell_types/shapeshift.dm
index d2d04b53f09..ac30b40a25a 100644
--- a/code/modules/spells/spell_types/shapeshift.dm
+++ b/code/modules/spells/spell_types/shapeshift.dm
@@ -73,7 +73,7 @@
else
ourpipeline = pipenets
- to_chat(M, "Casting [src] inside of [pipeyoudiein] quickly turns you into a bloody mush!")
+ to_chat(M, span_userdanger("Casting [src] inside of [pipeyoudiein] quickly turns you into a bloody mush!"))
var/gibtype = /obj/effect/gibspawner/generic
if(isalien(M))
gibtype = /obj/effect/gibspawner/xeno
@@ -101,7 +101,7 @@
/obj/effect/proc_holder/spell/targeted/shapeshift/proc/Shapeshift(mob/living/caster)
var/obj/shapeshift_holder/H = locate() in caster
if(H)
- to_chat(caster, "You're already shapeshifted!")
+ to_chat(caster, span_warning("You're already shapeshifted!"))
return
var/mob/living/shape = new shapeshift_type(caster.loc)
diff --git a/code/modules/spells/spell_types/soultap.dm b/code/modules/spells/spell_types/soultap.dm
index 548f1d5c434..fc7a9395a2f 100644
--- a/code/modules/spells/spell_types/soultap.dm
+++ b/code/modules/spells/spell_types/soultap.dm
@@ -18,11 +18,11 @@
action_icon_state = "soultap"
/obj/effect/proc_holder/spell/self/tap/cast(list/targets, mob/living/user = usr)
- to_chat(user, "Your body feels drained and there is a burning pain in your chest.")
+ to_chat(user, span_danger("Your body feels drained and there is a burning pain in your chest."))
user.maxHealth -= HEALTH_LOST_PER_SOUL_TAP
user.health = min(user.health, user.maxHealth)
if(user.maxHealth <= 0)
- to_chat(user, "Your weakened soul is completely consumed by the tap!")
+ to_chat(user, span_userdanger("Your weakened soul is completely consumed by the tap!"))
return
for(var/obj/effect/proc_holder/spell/spell in user.mind.spell_list)
spell.charge_counter = spell.charge_max
diff --git a/code/modules/spells/spell_types/summonitem.dm b/code/modules/spells/spell_types/summonitem.dm
index 80752e3e5d1..ee67eef292d 100644
--- a/code/modules/spells/spell_types/summonitem.dm
+++ b/code/modules/spells/spell_types/summonitem.dm
@@ -36,17 +36,17 @@
if(!marked_item)
if(hand_items)
- message = "You aren't holding anything that can be marked for recall!"
+ message = span_warning("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_warning("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 && QDELETED(marked_item)) //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
@@ -71,9 +71,9 @@
var/mob/M = item_to_retrieve.loc
if(issilicon(M)) //Items in silicons warp the whole silicon
- M.loc.visible_message("[M] suddenly disappears!")
+ M.loc.visible_message(span_warning("[M] suddenly disappears!"))
M.forceMove(L.loc)
- M.loc.visible_message("[M] suddenly appears!")
+ M.loc.visible_message(span_warning("[M] suddenly appears!"))
item_to_retrieve = null
break
M.dropItemToGround(item_to_retrieve)
@@ -92,13 +92,13 @@
return
if(item_to_retrieve.loc)
- item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly disappears!")
+ item_to_retrieve.loc.visible_message(span_warning("The [item_to_retrieve.name] suddenly disappears!"))
if(!L.put_in_hands(item_to_retrieve))
item_to_retrieve.forceMove(L.drop_location())
- item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly appears!")
+ item_to_retrieve.loc.visible_message(span_warning("The [item_to_retrieve.name] suddenly appears!"))
playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, TRUE)
else
- item_to_retrieve.loc.visible_message("The [item_to_retrieve.name] suddenly appears in [L]'s hand!")
+ item_to_retrieve.loc.visible_message(span_warning("The [item_to_retrieve.name] suddenly appears in [L]'s hand!"))
playsound(get_turf(L), 'sound/magic/summonitems_generic.ogg', 50, TRUE)
diff --git a/code/modules/spells/spell_types/telepathy.dm b/code/modules/spells/spell_types/telepathy.dm
index 1a03c7c1721..054d91f9f6a 100644
--- a/code/modules/spells/spell_types/telepathy.dm
+++ b/code/modules/spells/spell_types/telepathy.dm
@@ -29,4 +29,4 @@
continue
var/follow_rev = FOLLOW_LINK(ded, user)
var/follow_whispee = FOLLOW_LINK(ded, M)
- to_chat(ded, "[follow_rev] [user] [name]: \"[msg]\" to [follow_whispee] [M]")
+ to_chat(ded, "[follow_rev] [user] [name]: \"[msg]\" to [follow_whispee] [span_name("[M]")]")
diff --git a/code/modules/spells/spell_types/touch_attacks.dm b/code/modules/spells/spell_types/touch_attacks.dm
index c977fa61107..c5b7df62ada 100644
--- a/code/modules/spells/spell_types/touch_attacks.dm
+++ b/code/modules/spells/spell_types/touch_attacks.dm
@@ -11,7 +11,7 @@
remove_hand()
if(action?.owner)
var/mob/guy_who_needs_to_know = action.owner
- to_chat(guy_who_needs_to_know, "The power of the spell dissipates from your hand.")
+ to_chat(guy_who_needs_to_know, span_notice("The power of the spell dissipates from your hand."))
..()
/obj/effect/proc_holder/spell/targeted/touch/proc/remove_hand(recharge = FALSE)
@@ -30,7 +30,7 @@
/obj/effect/proc_holder/spell/targeted/touch/cast(list/targets,mob/user = usr)
if(!QDELETED(attached_hand))
remove_hand(TRUE)
- to_chat(user, "[dropmessage]")
+ to_chat(user, span_notice("[dropmessage]"))
return
for(var/mob/living/carbon/C in targets)
@@ -51,11 +51,11 @@
if(!user.put_in_hands(attached_hand))
remove_hand(TRUE)
if (user.usable_hands == 0)
- to_chat(user, "You dont have any usable hands!")
+ to_chat(user, span_warning("You dont have any usable hands!"))
else
- to_chat(user, "Your hands are full!")
+ to_chat(user, span_warning("Your hands are full!"))
return FALSE
- to_chat(user, "[drawmessage]")
+ to_chat(user, span_notice("[drawmessage]"))
return TRUE
diff --git a/code/modules/spells/spell_types/voice_of_god.dm b/code/modules/spells/spell_types/voice_of_god.dm
index 37bd94107a1..0fc89e3f3fc 100644
--- a/code/modules/spells/spell_types/voice_of_god.dm
+++ b/code/modules/spells/spell_types/voice_of_god.dm
@@ -16,7 +16,7 @@
/obj/effect/proc_holder/spell/voice_of_god/can_cast(mob/user = usr)
if(!user.can_speak())
- to_chat(user, "You are unable to speak!")
+ to_chat(user, span_warning("You are unable to speak!"))
return FALSE
return TRUE
diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm
index e8c50cc29d0..f7445a7749f 100644
--- a/code/modules/spells/spell_types/wizard.dm
+++ b/code/modules/spells/spell_types/wizard.dm
@@ -34,7 +34,7 @@
if(ismob(target))
var/mob/M = target
if(M.anti_magic_check())
- M.visible_message("[src] vanishes on contact with [target]!")
+ M.visible_message(span_warning("[src] vanishes on contact with [target]!"))
return BULLET_ACT_BLOCK
/obj/effect/proc_holder/spell/targeted/genetic/mutate
@@ -288,13 +288,13 @@
var/mob/living/M = AM
M.Paralyze(100)
M.adjustBruteLoss(5)
- to_chat(M, "You're slammed into the floor by [user]!")
+ to_chat(M, span_userdanger("You're slammed into the floor by [user]!"))
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.Paralyze(stun_amt)
- to_chat(M, "You're thrown back by [user]!")
+ to_chat(M, span_userdanger("You're thrown back by [user]!"))
AM.safe_throw_at(throwtarget, ((clamp((maxthrow - (clamp(distfromcaster - 2, 0, distfromcaster))), 3, maxthrow))), 1,user, force = repulse_force)//So stuff gets tossed around at the same time.
/obj/effect/proc_holder/spell/aoe_turf/repulse/xeno //i fixed conflicts only to find out that this is in the WIZARD file instead of the xeno file?!
diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm
index 3d8bbb44a06..c0829b4aa40 100644
--- a/code/modules/station_goals/bsa.dm
+++ b/code/modules/station_goals/bsa.dm
@@ -45,7 +45,7 @@
return
var/obj/item/multitool/M = I
M.buffer = src
- to_chat(user, "You store linkage information in [I]'s buffer.")
+ to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
return TRUE
/obj/machinery/bsa/front
@@ -58,7 +58,7 @@
return
var/obj/item/multitool/M = I
M.buffer = src
- to_chat(user, "You store linkage information in [I]'s buffer.")
+ to_chat(user, span_notice("You store linkage information in [I]'s buffer."))
return TRUE
/obj/machinery/bsa/middle
@@ -76,13 +76,13 @@
if(istype(M.buffer, /obj/machinery/bsa/back))
back = M.buffer
M.buffer = null
- to_chat(user, "You link [src] with [back].")
+ to_chat(user, span_notice("You link [src] with [back]."))
else if(istype(M.buffer, /obj/machinery/bsa/front))
front = M.buffer
M.buffer = null
- to_chat(user, "You link [src] with [front].")
+ to_chat(user, span_notice("You link [src] with [front]."))
else
- to_chat(user, "[I]'s data buffer is empty!")
+ to_chat(user, span_warning("[I]'s data buffer is empty!"))
return TRUE
/obj/machinery/bsa/middle/proc/check_completion()
diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm
index 3b2ff848b33..f0f6251feff 100644
--- a/code/modules/station_goals/dna_vault.dm
+++ b/code/modules/station_goals/dna_vault.dm
@@ -87,13 +87,13 @@
if(!H.myseed)
return
if(!H.harvest)// So it's bit harder.
- to_chat(user, "Plant needs to be ready to harvest to perform full data scan.") //Because space dna is actually magic
+ to_chat(user, span_alert("Plant needs to be ready to harvest to perform full data scan.")) //Because space dna is actually magic
return
if(plants[H.myseed.type])
- to_chat(user, "Plant data already present in local storage.")
+ to_chat(user, span_notice("Plant data already present in local storage."))
return
plants[H.myseed.type] = 1
- to_chat(user, "Plant data added to local storage.")
+ to_chat(user, span_notice("Plant data added to local storage."))
//animals
var/static/list/non_simple_animals = typecacheof(list(/mob/living/carbon/alien))
@@ -101,22 +101,22 @@
if(isanimal(target))
var/mob/living/simple_animal/A = target
if(!A.healable)//simple approximation of being animal not a robot or similar
- to_chat(user, "No compatible DNA detected.")
+ to_chat(user, span_alert("No compatible DNA detected."))
return
if(animals[target.type])
- to_chat(user, "Animal data already present in local storage.")
+ to_chat(user, span_alert("Animal data already present in local storage."))
return
animals[target.type] = 1
- to_chat(user, "Animal data added to local storage.")
+ to_chat(user, span_notice("Animal data added to local storage."))
//humans
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(dna[H.dna.uni_identity])
- to_chat(user, "Humanoid data already present in local storage.")
+ to_chat(user, span_notice("Humanoid data already present in local storage."))
return
dna[H.dna.uni_identity] = 1
- to_chat(user, "Humanoid data added to local storage.")
+ to_chat(user, span_notice("Humanoid data added to local storage."))
/obj/machinery/dna_vault
name = "DNA Vault"
@@ -241,7 +241,7 @@
uploaded++
dna[ui] = 1
check_goal()
- to_chat(user, "[uploaded] new datapoints uploaded.")
+ to_chat(user, span_notice("[uploaded] new datapoints uploaded."))
else
return ..()
@@ -251,31 +251,31 @@
var/datum/species/S = H.dna.species
switch(upgrade_type)
if(VAULT_TOXIN)
- to_chat(H, "You feel resistant to airborne toxins.")
+ to_chat(H, span_notice("You feel resistant to airborne toxins."))
if(locate(/obj/item/organ/lungs) in H.internal_organs)
var/obj/item/organ/lungs/L = H.internal_organs_slot[ORGAN_SLOT_LUNGS]
L.tox_breath_dam_min = 0
L.tox_breath_dam_max = 0
ADD_TRAIT(H, TRAIT_VIRUSIMMUNE, "dna_vault")
if(VAULT_NOBREATH)
- to_chat(H, "Your lungs feel great.")
+ to_chat(H, span_notice("Your lungs feel great."))
ADD_TRAIT(H, TRAIT_NOBREATH, "dna_vault")
if(VAULT_FIREPROOF)
- to_chat(H, "You feel fireproof.")
+ to_chat(H, span_notice("You feel fireproof."))
S.burnmod = 0.5
ADD_TRAIT(H, TRAIT_RESISTHEAT, "dna_vault")
ADD_TRAIT(H, TRAIT_NOFIRE, "dna_vault")
if(VAULT_STUNTIME)
- to_chat(H, "Nothing can keep you down for long.")
+ to_chat(H, span_notice("Nothing can keep you down for long."))
S.stunmod = 0.5
if(VAULT_ARMOUR)
- to_chat(H, "You feel tough.")
+ to_chat(H, span_notice("You feel tough."))
S.armor = 30
ADD_TRAIT(H, TRAIT_PIERCEIMMUNE, "dna_vault")
if(VAULT_SPEED)
- to_chat(H, "Your legs feel faster.")
+ to_chat(H, span_notice("Your legs feel faster."))
H.add_movespeed_modifier(/datum/movespeed_modifier/dna_vault_speedup)
if(VAULT_QUICK)
- to_chat(H, "Your arms move as fast as lightning.")
+ to_chat(H, span_notice("Your arms move as fast as lightning."))
H.next_move_modifier = 0.5
power_lottery[H] = list()
diff --git a/code/modules/station_goals/shield.dm b/code/modules/station_goals/shield.dm
index 5d199824b5b..9e4e69eb7fa 100644
--- a/code/modules/station_goals/shield.dm
+++ b/code/modules/station_goals/shield.dm
@@ -121,10 +121,10 @@
/obj/machinery/satellite/proc/toggle(mob/user)
if(!active && !isinspace())
if(user)
- to_chat(user, "You can only activate [src] in space.")
+ to_chat(user, span_warning("You can only activate [src] in space."))
return FALSE
if(user)
- to_chat(user, "You [active ? "deactivate": "activate"] [src].")
+ to_chat(user, span_notice("You [active ? "deactivate": "activate"] [src]."))
set_anchored(!anchored)
return TRUE
@@ -134,7 +134,7 @@
/obj/machinery/satellite/multitool_act(mob/living/user, obj/item/I)
..()
- to_chat(user, "// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[(obj_flags & EMAGGED) ? "DEBUG_MODE //" : ""]")
+ to_chat(user, span_notice("// NTSAT-[id] // Mode : [active ? "PRIMARY" : "STANDBY"] //[(obj_flags & EMAGGED) ? "DEBUG_MODE //" : ""]"))
return TRUE
/obj/machinery/satellite/meteor_shield
@@ -186,6 +186,6 @@
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
- to_chat(user, "You access the satellite's debug mode, increasing the chance of meteor strikes.")
+ to_chat(user, span_notice("You access the satellite's debug mode, increasing the chance of meteor strikes."))
if(active)
change_meteor_chance(2)
diff --git a/code/modules/station_goals/station_goal.dm b/code/modules/station_goals/station_goal.dm
index 6f123501371..49274165b46 100644
--- a/code/modules/station_goals/station_goal.dm
+++ b/code/modules/station_goals/station_goal.dm
@@ -25,9 +25,9 @@ GLOBAL_LIST_EMPTY_TYPED(station_goals, /datum/station_goal)
/datum/station_goal/proc/get_result()
if(check_completion())
- return "[name] : Completed!"
+ return "[name] : [span_greentext("Completed!")]"
else
- return "[name] : Failed!"
+ return "[name] : [span_redtext("Failed!")]"
/datum/station_goal/Destroy()
GLOB.station_goals -= src
diff --git a/code/modules/surgery/advanced/bioware/cortex_folding.dm b/code/modules/surgery/advanced/bioware/cortex_folding.dm
index f305d4f9bdf..76f0fadf229 100644
--- a/code/modules/surgery/advanced/bioware/cortex_folding.dm
+++ b/code/modules/surgery/advanced/bioware/cortex_folding.dm
@@ -25,26 +25,26 @@
time = 125
/datum/surgery_step/fold_cortex/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start folding [target]'s outer cerebral cortex into a fractal pattern.",
- "[user] starts folding [target]'s outer cerebral cortex into a fractal pattern.",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You start folding [target]'s outer cerebral cortex into a fractal pattern."),
+ span_notice("[user] starts folding [target]'s outer cerebral cortex into a fractal pattern."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/fold_cortex/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You fold [target]'s outer cerebral cortex into a fractal pattern!",
- "[user] folds [target]'s outer cerebral cortex into a fractal pattern!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You fold [target]'s outer cerebral cortex into a fractal pattern!"),
+ span_notice("[user] folds [target]'s outer cerebral cortex into a fractal pattern!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
new /datum/bioware/cortex_fold(target)
return ..()
/datum/surgery_step/fold_cortex/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(target.getorganslot(ORGAN_SLOT_BRAIN))
- display_results(user, target, "You screw up, damaging the brain!",
- "[user] screws up, damaging the brain!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_warning("You screw up, damaging the brain!"),
+ span_warning("[user] screws up, damaging the brain!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60)
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY)
else
- user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.")
+ user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore."))
return FALSE
/datum/bioware/cortex_fold
diff --git a/code/modules/surgery/advanced/bioware/cortex_imprint.dm b/code/modules/surgery/advanced/bioware/cortex_imprint.dm
index 1a066ef7adb..e063ed13f23 100644
--- a/code/modules/surgery/advanced/bioware/cortex_imprint.dm
+++ b/code/modules/surgery/advanced/bioware/cortex_imprint.dm
@@ -25,26 +25,26 @@
time = 125
/datum/surgery_step/imprint_cortex/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start carving [target]'s outer cerebral cortex into a self-imprinting pattern.",
- "[user] starts carving [target]'s outer cerebral cortex into a self-imprinting pattern.",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You start carving [target]'s outer cerebral cortex into a self-imprinting pattern."),
+ span_notice("[user] starts carving [target]'s outer cerebral cortex into a self-imprinting pattern."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/imprint_cortex/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You reshape [target]'s outer cerebral cortex into a self-imprinting pattern!",
- "[user] reshapes [target]'s outer cerebral cortex into a self-imprinting pattern!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You reshape [target]'s outer cerebral cortex into a self-imprinting pattern!"),
+ span_notice("[user] reshapes [target]'s outer cerebral cortex into a self-imprinting pattern!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
new /datum/bioware/cortex_imprint(target)
return ..()
/datum/surgery_step/imprint_cortex/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(target.getorganslot(ORGAN_SLOT_BRAIN))
- display_results(user, target, "You screw up, damaging the brain!",
- "[user] screws up, damaging the brain!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_warning("You screw up, damaging the brain!"),
+ span_warning("[user] screws up, damaging the brain!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60)
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY)
else
- user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.")
+ user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore."))
return FALSE
/datum/bioware/cortex_imprint
diff --git a/code/modules/surgery/advanced/bioware/ligament_hook.dm b/code/modules/surgery/advanced/bioware/ligament_hook.dm
index 30ce9a153ff..514725ab2cb 100644
--- a/code/modules/surgery/advanced/bioware/ligament_hook.dm
+++ b/code/modules/surgery/advanced/bioware/ligament_hook.dm
@@ -19,14 +19,14 @@
time = 125
/datum/surgery_step/reshape_ligaments/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start reshaping [target]'s ligaments into a hook-like shape.",
- "[user] starts reshaping [target]'s ligaments into a hook-like shape.",
- "[user] starts manipulating [target]'s ligaments.")
+ display_results(user, target, span_notice("You start reshaping [target]'s ligaments into a hook-like shape."),
+ span_notice("[user] starts reshaping [target]'s ligaments into a hook-like shape."),
+ span_notice("[user] starts manipulating [target]'s ligaments."))
/datum/surgery_step/reshape_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You reshape [target]'s ligaments into a connective hook!",
- "[user] reshapes [target]'s ligaments into a connective hook!",
- "[user] finishes manipulating [target]'s ligaments.")
+ display_results(user, target, span_notice("You reshape [target]'s ligaments into a connective hook!"),
+ span_notice("[user] reshapes [target]'s ligaments into a connective hook!"),
+ span_notice("[user] finishes manipulating [target]'s ligaments."))
new /datum/bioware/hooked_ligaments(target)
return ..()
diff --git a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm
index 98296b340d1..7a6e3e8339c 100644
--- a/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm
+++ b/code/modules/surgery/advanced/bioware/ligament_reinforcement.dm
@@ -19,14 +19,14 @@
time = 125
/datum/surgery_step/reinforce_ligaments/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start reinforcing [target]'s ligaments.",
- "[user] starts reinforce [target]'s ligaments.",
- "[user] starts manipulating [target]'s ligaments.")
+ display_results(user, target, span_notice("You start reinforcing [target]'s ligaments."),
+ span_notice("[user] starts reinforce [target]'s ligaments."),
+ span_notice("[user] starts manipulating [target]'s ligaments."))
/datum/surgery_step/reinforce_ligaments/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You reinforce [target]'s ligaments!",
- "[user] reinforces [target]'s ligaments!",
- "[user] finishes manipulating [target]'s ligaments.")
+ display_results(user, target, span_notice("You reinforce [target]'s ligaments!"),
+ span_notice("[user] reinforces [target]'s ligaments!"),
+ span_notice("[user] finishes manipulating [target]'s ligaments."))
new /datum/bioware/reinforced_ligaments(target)
return ..()
diff --git a/code/modules/surgery/advanced/bioware/muscled_veins.dm b/code/modules/surgery/advanced/bioware/muscled_veins.dm
index dbb4cd175b2..34b8494e32e 100644
--- a/code/modules/surgery/advanced/bioware/muscled_veins.dm
+++ b/code/modules/surgery/advanced/bioware/muscled_veins.dm
@@ -18,14 +18,14 @@
time = 125
/datum/surgery_step/muscled_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start wrapping muscles around [target]'s circulatory system.",
- "[user] starts wrapping muscles around [target]'s circulatory system.",
- "[user] starts manipulating [target]'s circulatory system.")
+ display_results(user, target, span_notice("You start wrapping muscles around [target]'s circulatory system."),
+ span_notice("[user] starts wrapping muscles around [target]'s circulatory system."),
+ span_notice("[user] starts manipulating [target]'s circulatory system."))
/datum/surgery_step/muscled_veins/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You reshape [target]'s circulatory system, adding a muscled membrane!",
- "[user] reshapes [target]'s circulatory system, adding a muscled membrane!",
- "[user] finishes manipulating [target]'s circulatory system.")
+ display_results(user, target, span_notice("You reshape [target]'s circulatory system, adding a muscled membrane!"),
+ span_notice("[user] reshapes [target]'s circulatory system, adding a muscled membrane!"),
+ span_notice("[user] finishes manipulating [target]'s circulatory system."))
new /datum/bioware/muscled_veins(target)
return ..()
diff --git a/code/modules/surgery/advanced/bioware/nerve_grounding.dm b/code/modules/surgery/advanced/bioware/nerve_grounding.dm
index 06331dc5b8b..1c6f5cd6ea0 100644
--- a/code/modules/surgery/advanced/bioware/nerve_grounding.dm
+++ b/code/modules/surgery/advanced/bioware/nerve_grounding.dm
@@ -18,14 +18,14 @@
time = 155
/datum/surgery_step/ground_nerves/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start rerouting [target]'s nerves.",
- "[user] starts rerouting [target]'s nerves.",
- "[user] starts manipulating [target]'s nervous system.")
+ display_results(user, target, span_notice("You start rerouting [target]'s nerves."),
+ span_notice("[user] starts rerouting [target]'s nerves."),
+ span_notice("[user] starts manipulating [target]'s nervous system."))
/datum/surgery_step/ground_nerves/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You successfully reroute [target]'s nervous system!",
- "[user] successfully reroutes [target]'s nervous system!",
- "[user] finishes manipulating [target]'s nervous system.")
+ display_results(user, target, span_notice("You successfully reroute [target]'s nervous system!"),
+ span_notice("[user] successfully reroutes [target]'s nervous system!"),
+ span_notice("[user] finishes manipulating [target]'s nervous system."))
new /datum/bioware/grounded_nerves(target)
return ..()
diff --git a/code/modules/surgery/advanced/bioware/nerve_splicing.dm b/code/modules/surgery/advanced/bioware/nerve_splicing.dm
index 121456896ca..242b56e8b65 100644
--- a/code/modules/surgery/advanced/bioware/nerve_splicing.dm
+++ b/code/modules/surgery/advanced/bioware/nerve_splicing.dm
@@ -18,14 +18,14 @@
time = 155
/datum/surgery_step/splice_nerves/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start splicing together [target]'s nerves.",
- "[user] starts splicing together [target]'s nerves.",
- "[user] starts manipulating [target]'s nervous system.")
+ display_results(user, target, span_notice("You start splicing together [target]'s nerves."),
+ span_notice("[user] starts splicing together [target]'s nerves."),
+ span_notice("[user] starts manipulating [target]'s nervous system."))
/datum/surgery_step/splice_nerves/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You successfully splice [target]'s nervous system!",
- "[user] successfully splices [target]'s nervous system!",
- "[user] finishes manipulating [target]'s nervous system.")
+ display_results(user, target, span_notice("You successfully splice [target]'s nervous system!"),
+ span_notice("[user] successfully splices [target]'s nervous system!"),
+ span_notice("[user] finishes manipulating [target]'s nervous system."))
new /datum/bioware/spliced_nerves(target)
return ..()
diff --git a/code/modules/surgery/advanced/bioware/vein_threading.dm b/code/modules/surgery/advanced/bioware/vein_threading.dm
index 19da70fd848..364c4fe63e9 100644
--- a/code/modules/surgery/advanced/bioware/vein_threading.dm
+++ b/code/modules/surgery/advanced/bioware/vein_threading.dm
@@ -18,14 +18,14 @@
time = 125
/datum/surgery_step/thread_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start weaving [target]'s circulatory system.",
- "[user] starts weaving [target]'s circulatory system.",
- "[user] starts manipulating [target]'s circulatory system.")
+ display_results(user, target, span_notice("You start weaving [target]'s circulatory system."),
+ span_notice("[user] starts weaving [target]'s circulatory system."),
+ span_notice("[user] starts manipulating [target]'s circulatory system."))
/datum/surgery_step/thread_veins/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You weave [target]'s circulatory system into a resistant mesh!",
- "[user] weaves [target]'s circulatory system into a resistant mesh!",
- "[user] finishes manipulating [target]'s circulatory system.")
+ display_results(user, target, span_notice("You weave [target]'s circulatory system into a resistant mesh!"),
+ span_notice("[user] weaves [target]'s circulatory system into a resistant mesh!"),
+ span_notice("[user] finishes manipulating [target]'s circulatory system."))
new /datum/bioware/threaded_veins(target)
return ..()
diff --git a/code/modules/surgery/advanced/brainwashing.dm b/code/modules/surgery/advanced/brainwashing.dm
index 45e2539de3b..3d88d619031 100644
--- a/code/modules/surgery/advanced/brainwashing.dm
+++ b/code/modules/surgery/advanced/brainwashing.dm
@@ -39,21 +39,21 @@
objective = stripped_input(user, "Choose the objective to imprint on your victim's brain.", "Brainwashing", null, MAX_MESSAGE_LEN)
if(!objective)
return -1
- display_results(user, target, "You begin to brainwash [target]...",
- "[user] begins to fix [target]'s brain.",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You begin to brainwash [target]..."),
+ span_notice("[user] begins to fix [target]'s brain."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/brainwash/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(!target.mind)
- to_chat(user, "[target] doesn't respond to the brainwashing, as if [target.p_they()] lacked a mind...")
+ to_chat(user, span_warning("[target] doesn't respond to the brainwashing, as if [target.p_they()] lacked a mind..."))
return FALSE
if(HAS_TRAIT(target, TRAIT_MINDSHIELD))
- to_chat(user, "You hear a faint buzzing from a device inside [target]'s brain, and the brainwashing is erased.")
+ to_chat(user, span_warning("You hear a faint buzzing from a device inside [target]'s brain, and the brainwashing is erased."))
return FALSE
- display_results(user, target, "You succeed in brainwashing [target].",
- "[user] successfully fixes [target]'s brain!",
- "[user] completes the surgery on [target]'s brain.")
- to_chat(target, "A new compulsion fills your mind... you feel forced to obey it!")
+ display_results(user, target, span_notice("You succeed in brainwashing [target]."),
+ span_notice("[user] successfully fixes [target]'s brain!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
+ to_chat(target, span_userdanger("A new compulsion fills your mind... you feel forced to obey it!"))
brainwash(target, objective)
message_admins("[ADMIN_LOOKUPFLW(user)] surgically brainwashed [ADMIN_LOOKUPFLW(target)] with the objective '[objective]'.")
target.log_message("has been brainwashed with the objective '[objective]' by [key_name(user)] using brainwashing surgery.", LOG_ATTACK)
@@ -63,10 +63,10 @@
/datum/surgery_step/brainwash/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(target.getorganslot(ORGAN_SLOT_BRAIN))
- display_results(user, target, "You screw up, bruising the brain tissue!",
- "[user] screws up, causing brain damage!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_warning("You screw up, bruising the brain tissue!"),
+ span_warning("[user] screws up, causing brain damage!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 40)
else
- user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.")
+ user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore."))
return FALSE
diff --git a/code/modules/surgery/advanced/lobotomy.dm b/code/modules/surgery/advanced/lobotomy.dm
index 2151dbbdf6e..0c0046dfe5d 100644
--- a/code/modules/surgery/advanced/lobotomy.dm
+++ b/code/modules/surgery/advanced/lobotomy.dm
@@ -37,14 +37,14 @@
return TRUE
/datum/surgery_step/lobotomize/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to perform a lobotomy on [target]'s brain...",
- "[user] begins to perform a lobotomy on [target]'s brain.",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You begin to perform a lobotomy on [target]'s brain..."),
+ span_notice("[user] begins to perform a lobotomy on [target]'s brain."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/lobotomize/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You succeed in lobotomizing [target].",
- "[user] successfully lobotomizes [target]!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You succeed in lobotomizing [target]."),
+ span_notice("[user] successfully lobotomizes [target]!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.cure_all_traumas(TRAUMA_RESILIENCE_LOBOTOMY)
if(target.mind && target.mind.has_antag_datum(/datum/antagonist/brainwashed))
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
@@ -63,9 +63,9 @@
/datum/surgery_step/lobotomize/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/obj/item/organ/brain/target_brain = target.getorganslot(ORGAN_SLOT_BRAIN)
if(target_brain)
- display_results(user, target, "You remove the wrong part, causing more damage!",
- "[user] successfully lobotomizes [target]!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_warning("You remove the wrong part, causing more damage!"),
+ span_notice("[user] successfully lobotomizes [target]!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target_brain.applyOrganDamage(80)
switch(rand(1,3))
if(1)
@@ -78,5 +78,5 @@
if(3)
target.gain_trauma_type(BRAIN_TRAUMA_SPECIAL, TRAUMA_RESILIENCE_MAGIC)
else
- user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.")
+ user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore."))
return FALSE
diff --git a/code/modules/surgery/advanced/necrotic_revival.dm b/code/modules/surgery/advanced/necrotic_revival.dm
index dae5127f3a4..57906b044de 100644
--- a/code/modules/surgery/advanced/necrotic_revival.dm
+++ b/code/modules/surgery/advanced/necrotic_revival.dm
@@ -27,14 +27,14 @@
require_all_chems = FALSE
/datum/surgery_step/bionecrosis/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to grow a romerol tumor on [target]'s brain...",
- "[user] begins to tinker with [target]'s brain...",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You begin to grow a romerol tumor on [target]'s brain..."),
+ span_notice("[user] begins to tinker with [target]'s brain..."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/bionecrosis/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You succeed in growing a romerol tumor on [target]'s brain.",
- "[user] successfully grows a romerol tumor on [target]'s brain!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You succeed in growing a romerol tumor on [target]'s brain."),
+ span_notice("[user] successfully grows a romerol tumor on [target]'s brain!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
if(!target.getorganslot(ORGAN_SLOT_ZOMBIE))
var/obj/item/organ/zombie_infection/z_infection = new()
z_infection.Insert(target)
diff --git a/code/modules/surgery/advanced/pacification.dm b/code/modules/surgery/advanced/pacification.dm
index 723701e9c34..9e023ffdd81 100644
--- a/code/modules/surgery/advanced/pacification.dm
+++ b/code/modules/surgery/advanced/pacification.dm
@@ -28,20 +28,20 @@
time = 40
/datum/surgery_step/pacify/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to pacify [target]...",
- "[user] begins to fix [target]'s brain.",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You begin to pacify [target]..."),
+ span_notice("[user] begins to fix [target]'s brain."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/pacify/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You succeed in neurologically pacifying [target].",
- "[user] successfully fixes [target]'s brain!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You succeed in neurologically pacifying [target]."),
+ span_notice("[user] successfully fixes [target]'s brain!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.gain_trauma(/datum/brain_trauma/severe/pacifism, TRAUMA_RESILIENCE_LOBOTOMY)
return ..()
/datum/surgery_step/pacify/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You screw up, rewiring [target]'s brain the wrong way around...",
- "[user] screws up, causing brain damage!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You screw up, rewiring [target]'s brain the wrong way around..."),
+ span_warning("[user] screws up, causing brain damage!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY)
return FALSE
diff --git a/code/modules/surgery/advanced/viral_bonding.dm b/code/modules/surgery/advanced/viral_bonding.dm
index 20db02a2fe7..b32f81069f0 100644
--- a/code/modules/surgery/advanced/viral_bonding.dm
+++ b/code/modules/surgery/advanced/viral_bonding.dm
@@ -35,14 +35,14 @@
return TRUE
/datum/surgery_step/viral_bond/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You start heating [target]'s bone marrow with [tool]...",
- "[user] starts heating [target]'s bone marrow with [tool]...",
- "[user] starts heating something in [target]'s chest with [tool]...")
+ display_results(user, target, span_notice("You start heating [target]'s bone marrow with [tool]..."),
+ span_notice("[user] starts heating [target]'s bone marrow with [tool]..."),
+ span_notice("[user] starts heating something in [target]'s chest with [tool]..."))
/datum/surgery_step/viral_bond/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
- display_results(user, target, "[target]'s bone marrow begins pulsing slowly. The viral bonding is complete.",
- "[target]'s bone marrow begins pulsing slowly.",
- "[user] finishes the operation.")
+ display_results(user, target, span_notice("[target]'s bone marrow begins pulsing slowly. The viral bonding is complete."),
+ span_notice("[target]'s bone marrow begins pulsing slowly."),
+ span_notice("[user] finishes the operation."))
for(var/datum/disease/infected_disease as anything in target.diseases)
infected_disease.carrier = TRUE
return TRUE
diff --git a/code/modules/surgery/advanced/wingreconstruction.dm b/code/modules/surgery/advanced/wingreconstruction.dm
index 309946ef6cc..0d5517fb617 100644
--- a/code/modules/surgery/advanced/wingreconstruction.dm
+++ b/code/modules/surgery/advanced/wingreconstruction.dm
@@ -25,16 +25,16 @@
require_all_chems = FALSE
/datum/surgery_step/wing_reconstruction/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to fix [target]'s charred wing membranes...",
- "[user] begins to fix [target]'s charred wing membranes.",
- "[user] begins to perform surgery on [target]'s charred wing membranes.")
+ display_results(user, target, span_notice("You begin to fix [target]'s charred wing membranes..."),
+ span_notice("[user] begins to fix [target]'s charred wing membranes."),
+ span_notice("[user] begins to perform surgery on [target]'s charred wing membranes."))
/datum/surgery_step/wing_reconstruction/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(ishuman(target))
var/mob/living/carbon/human/human_target = target
- display_results(user, target, "You succeed in reconstructing [target]'s wings.",
- "[user] successfully reconstructs [target]'s wings!",
- "[user] completes the surgery on [target]'s wings.")
+ display_results(user, target, span_notice("You succeed in reconstructing [target]'s wings."),
+ span_notice("[user] successfully reconstructs [target]'s wings!"),
+ span_notice("[user] completes the surgery on [target]'s wings."))
if(human_target.dna.features["original_moth_wings"] != null)
human_target.dna.features["moth_wings"] = human_target.dna.features["original_moth_wings"]
else
diff --git a/code/modules/surgery/amputation.dm b/code/modules/surgery/amputation.dm
index 8b4b1b6ce09..1006b03308f 100644
--- a/code/modules/surgery/amputation.dm
+++ b/code/modules/surgery/amputation.dm
@@ -26,14 +26,14 @@
time = 64
/datum/surgery_step/sever_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to sever [target]'s [parse_zone(target_zone)]...",
- "[user] begins to sever [target]'s [parse_zone(target_zone)]!",
- "[user] begins to sever [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You begin to sever [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to sever [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] begins to sever [target]'s [parse_zone(target_zone)]!"))
/datum/surgery_step/sever_limb/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You sever [target]'s [parse_zone(target_zone)].",
- "[user] severs [target]'s [parse_zone(target_zone)]!",
- "[user] severs [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You sever [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] severs [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] severs [target]'s [parse_zone(target_zone)]!"))
if(surgery.operated_bodypart)
var/obj/item/bodypart/target_limb = surgery.operated_bodypart
target_limb.drop_limb()
diff --git a/code/modules/surgery/blood_filter.dm b/code/modules/surgery/blood_filter.dm
index a1bf8ab2b05..5fc11aba22f 100644
--- a/code/modules/surgery/blood_filter.dm
+++ b/code/modules/surgery/blood_filter.dm
@@ -23,21 +23,21 @@
time = 2.5 SECONDS
/datum/surgery_step/filter_blood/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin filtering [target]'s blood...",
- "[user] uses [tool] to filter [target]'s blood.",
- "[user] uses [tool] on [target]'s chest.")
+ display_results(user, target, span_notice("You begin filtering [target]'s blood..."),
+ span_notice("[user] uses [tool] to filter [target]'s blood."),
+ span_notice("[user] uses [tool] on [target]'s chest."))
/datum/surgery_step/filter_blood/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(target.reagents?.total_volume)
for(var/datum/reagent/chem as anything in target.reagents.reagent_list)
target.reagents.remove_reagent(chem.type, min(chem.volume * 0.22, 10))
- display_results(user, target, "\The [tool] pings as it finishes filtering [target]'s blood.",
- "\The [tool] pings as it stops pumping [target]'s blood.",
+ display_results(user, target, span_notice("\The [tool] pings as it finishes filtering [target]'s blood."),
+ span_notice("\The [tool] pings as it stops pumping [target]'s blood."),
"\The [tool] pings as it stops pumping.")
return ..()
/datum/surgery_step/filter_blood/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You screw up, bruising [target]'s chest!",
- "[user] screws up, brusing [target]'s chest!",
- "[user] screws up!")
+ display_results(user, target, span_warning("You screw up, bruising [target]'s chest!"),
+ span_warning("[user] screws up, brusing [target]'s chest!"),
+ span_warning("[user] screws up!"))
target.adjustBruteLoss(5)
diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm
index 6d78c45bf96..d592fbfcbda 100644
--- a/code/modules/surgery/bodyparts/_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/_bodyparts.dm
@@ -129,18 +129,18 @@
/obj/item/bodypart/examine(mob/user)
. = ..()
if(brute_dam > DAMAGE_PRECISION)
- . += "This limb has [brute_dam > 30 ? "severe" : "minor"] bruising."
+ . += span_warning("This limb has [brute_dam > 30 ? "severe" : "minor"] bruising.")
if(burn_dam > DAMAGE_PRECISION)
- . += "This limb has [burn_dam > 30 ? "severe" : "minor"] burns."
+ . += span_warning("This limb has [burn_dam > 30 ? "severe" : "minor"] burns.")
if(locate(/datum/wound/blunt) in wounds)
- . += "The bones in this limb appear badly cracked."
+ . += span_warning("The bones in this limb appear badly cracked.")
if(locate(/datum/wound/slash) in wounds)
- . += "The flesh on this limb appears badly lacerated."
+ . += span_warning("The flesh on this limb appears badly lacerated.")
if(locate(/datum/wound/pierce) in wounds)
- . += "The flesh on this limb appears badly perforated."
+ . += span_warning("The flesh on this limb appears badly perforated.")
if(locate(/datum/wound/burn) in wounds)
- . += "The flesh on this limb appears badly cooked."
+ . += span_warning("The flesh on this limb appears badly cooked.")
/obj/item/bodypart/blob_act()
take_damage(max_damage)
@@ -153,14 +153,14 @@
if(!human_victim.get_bodypart(body_zone) && !animal_origin)
user.temporarilyRemoveItemFromInventory(src, TRUE)
if(!attach_limb(victim))
- to_chat(user, "[human_victim]'s body rejects [src]!")
+ to_chat(user, span_warning("[human_victim]'s body rejects [src]!"))
forceMove(human_victim.loc)
if(human_victim == user)
- human_victim.visible_message("[human_victim] jams [src] into [human_victim.p_their()] empty socket!",\
- "You force [src] into your empty socket, and it locks into place!")
+ human_victim.visible_message(span_warning("[human_victim] jams [src] into [human_victim.p_their()] empty socket!"),\
+ span_notice("You force [src] into your empty socket, and it locks into place!"))
else
- human_victim.visible_message("[user] jams [src] into [human_victim]'s empty socket!",\
- "[user] forces [src] into your empty socket, and it locks into place!")
+ human_victim.visible_message(span_warning("[user] jams [src] into [human_victim]'s empty socket!"),\
+ span_notice("[user] forces [src] into your empty socket, and it locks into place!"))
return
..()
@@ -168,11 +168,11 @@
if(weapon.get_sharpness())
add_fingerprint(user)
if(!contents.len)
- to_chat(user, "There is nothing left inside [src]!")
+ to_chat(user, span_warning("There is nothing left inside [src]!"))
return
playsound(loc, 'sound/weapons/slice.ogg', 50, TRUE, -1)
- user.visible_message("[user] begins to cut open [src].",\
- "You begin to cut open [src]...")
+ user.visible_message(span_warning("[user] begins to cut open [src]."),\
+ span_notice("You begin to cut open [src]..."))
if(do_after(user, 54, target = src))
drop_organs(user, TRUE)
else
@@ -937,7 +937,7 @@
dam_mul *= iter_wound.damage_mulitplier_penalty
if(!LAZYLEN(wounds) && current_gauze && !replaced) // no more wounds = no need for the gauze anymore
- owner.visible_message("\The [current_gauze] on [owner]'s [name] falls away.", "The [current_gauze] on your [name] falls away.")
+ owner.visible_message(span_notice("\The [current_gauze] on [owner]'s [name] falls away."), span_notice("The [current_gauze] on your [name] falls away."))
QDEL_NULL(current_gauze)
wound_damage_multiplier = dam_mul
@@ -1009,7 +1009,7 @@
return
current_gauze.absorption_capacity -= seep_amt
if(current_gauze.absorption_capacity <= 0)
- owner.visible_message("\The [current_gauze] on [owner]'s [name] falls away in rags.", "\The [current_gauze] on your [name] falls away in rags.", vision_distance=COMBAT_MESSAGE_RANGE)
+ owner.visible_message(span_danger("\The [current_gauze] on [owner]'s [name] falls away in rags."), span_warning("\The [current_gauze] on your [name] falls away in rags."), vision_distance=COMBAT_MESSAGE_RANGE)
QDEL_NULL(current_gauze)
SEND_SIGNAL(src, COMSIG_BODYPART_GAUZE_DESTROYED)
diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm
index 49b84c0c6fb..b9ec164b0f9 100644
--- a/code/modules/surgery/bodyparts/dismemberment.dm
+++ b/code/modules/surgery/bodyparts/dismemberment.dm
@@ -16,7 +16,7 @@
var/obj/item/bodypart/affecting = limb_owner.get_bodypart(BODY_ZONE_CHEST)
affecting.receive_damage(clamp(brute_dam/2 * affecting.body_damage_coeff, 15, 50), clamp(burn_dam/2 * affecting.body_damage_coeff, 0, 50), wound_bonus=CANT_WOUND) //Damage the chest based on limb's existing damage
if(!silent)
- limb_owner.visible_message("[limb_owner]'s [name] is violently dismembered!")
+ limb_owner.visible_message(span_danger("[limb_owner]'s [name] is violently dismembered!"))
INVOKE_ASYNC(limb_owner, /mob.proc/emote, "scream")
playsound(get_turf(limb_owner), 'sound/effects/dismember.ogg', 80, TRUE)
SEND_SIGNAL(limb_owner, COMSIG_ADD_MOOD_EVENT, "dismembered", /datum/mood_event/dismembered)
@@ -118,7 +118,7 @@
if(phantom_owner.dna)
for(var/datum/mutation/human/mutation as anything in phantom_owner.dna.mutations) //some mutations require having specific limbs to be kept.
if(mutation.limb_req && mutation.limb_req == body_zone)
- to_chat(phantom_owner, "You feel your [mutation] deactivating from the loss of your [body_zone]!")
+ to_chat(phantom_owner, span_warning("You feel your [mutation] deactivating from the loss of your [body_zone]!"))
phantom_owner.dna.force_lose(mutation)
for(var/obj/item/organ/organ as anything in phantom_owner.internal_organs) //internal organs inside the dismembered limb are dropped.
diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm
index 866f6cfff46..ff764cd2428 100644
--- a/code/modules/surgery/bodyparts/head.dm
+++ b/code/modules/surgery/bodyparts/head.dm
@@ -71,29 +71,29 @@
. = ..()
if(status == BODYPART_ORGANIC)
if(!brain)
- . += "The brain has been removed from [src]."
+ . += span_info("The brain has been removed from [src].")
else if(brain.suicided || brainmob?.suiciding)
- . += "There's a miserable expression on [real_name]'s face; they must have really hated life. There's no hope of recovery."
+ . += span_info("There's a miserable expression on [real_name]'s face; they must have really hated life. There's no hope of recovery.")
else if(brainmob?.health <= HEALTH_THRESHOLD_DEAD)
- . += "It's leaking some kind of... clear fluid? The brain inside must be in pretty bad shape."
+ . += span_info("It's leaking some kind of... clear fluid? The brain inside must be in pretty bad shape.")
else if(brainmob)
if(brainmob.key || brainmob.get_ghost(FALSE, TRUE))
- . += "Its muscles are twitching slightly... It seems to have some life still in it."
+ . += span_info("Its muscles are twitching slightly... It seems to have some life still in it.")
else
- . += "It's completely lifeless. Perhaps there'll be a chance for them later."
+ . += span_info("It's completely lifeless. Perhaps there'll be a chance for them later.")
else if(brain?.decoy_override)
- . += "It's completely lifeless. Perhaps there'll be a chance for them later."
+ . += span_info("It's completely lifeless. Perhaps there'll be a chance for them later.")
else
- . += "It's completely lifeless."
+ . += span_info("It's completely lifeless.")
if(!eyes)
- . += "[real_name]'s eyes have been removed."
+ . += span_info("[real_name]'s eyes have been removed.")
if(!ears)
- . += "[real_name]'s ears have been removed."
+ . += span_info("[real_name]'s ears have been removed.")
if(!tongue)
- . += "[real_name]'s tongue has been removed."
+ . += span_info("[real_name]'s tongue has been removed.")
/obj/item/bodypart/head/can_dismember(obj/item/item)
@@ -108,14 +108,14 @@
for(var/obj/item/head_item in src)
if(head_item == brain)
if(user)
- user.visible_message("[user] saws [src] open and pulls out a brain!", "You saw [src] open and pull out a brain.")
+ user.visible_message(span_warning("[user] saws [src] open and pulls out a brain!"), span_notice("You saw [src] open and pull out a brain."))
if(brainmob)
brainmob.container = null
brainmob.forceMove(brain)
brain.brainmob = brainmob
brainmob = null
if(violent_removal && prob(rand(80, 100))) //ghetto surgery can damage the brain.
- to_chat(user, "[brain] was damaged in the process!")
+ to_chat(user, span_warning("[brain] was damaged in the process!"))
brain.setOrganDamage(brain.maxHealth)
brain.forceMove(head_turf)
brain = null
diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm
index 7c806bb22a7..ebe8d64dd26 100644
--- a/code/modules/surgery/bodyparts/parts.dm
+++ b/code/modules/surgery/bodyparts/parts.dm
@@ -117,7 +117,7 @@
if(bodypart_disabled)
owner.set_usable_hands(owner.usable_hands - 1)
if(owner.stat < UNCONSCIOUS)
- to_chat(owner, "Your lose control of your [name]!")
+ to_chat(owner, span_userdanger("Your lose control of your [name]!"))
if(held_index)
owner.dropItemToGround(owner.get_item_for_held_index(held_index))
else if(!bodypart_disabled)
@@ -212,7 +212,7 @@
if(bodypart_disabled)
owner.set_usable_hands(owner.usable_hands - 1)
if(owner.stat < UNCONSCIOUS)
- to_chat(owner, "Your lose control of your [name]!")
+ to_chat(owner, span_userdanger("Your lose control of your [name]!"))
if(held_index)
owner.dropItemToGround(owner.get_item_for_held_index(held_index))
else if(!bodypart_disabled)
@@ -304,7 +304,7 @@
if(bodypart_disabled)
owner.set_usable_legs(owner.usable_legs - 1)
if(owner.stat < UNCONSCIOUS)
- to_chat(owner, "Your lose control of your [name]!")
+ to_chat(owner, span_userdanger("Your lose control of your [name]!"))
else if(!bodypart_disabled)
owner.set_usable_legs(owner.usable_legs + 1)
@@ -395,7 +395,7 @@
if(bodypart_disabled)
owner.set_usable_legs(owner.usable_legs - 1)
if(owner.stat < UNCONSCIOUS)
- to_chat(owner, "Your lose control of your [name]!")
+ to_chat(owner, span_userdanger("Your lose control of your [name]!"))
else if(!bodypart_disabled)
owner.set_usable_legs(owner.usable_legs + 1)
diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm
index 349f1eebdc3..21384097bd0 100644
--- a/code/modules/surgery/bodyparts/robot_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm
@@ -140,23 +140,23 @@
/obj/item/bodypart/chest/robot/attackby(obj/item/weapon, mob/user, params)
if(istype(weapon, /obj/item/stock_parts/cell))
if(cell)
- to_chat(user, "You have already inserted a cell!")
+ to_chat(user, span_warning("You have already inserted a cell!"))
return
else
if(!user.transferItemToLoc(weapon, src))
return
cell = weapon
- to_chat(user, "You insert the cell.")
+ to_chat(user, span_notice("You insert the cell."))
else if(istype(weapon, /obj/item/stack/cable_coil))
if(wired)
- to_chat(user, "You have already inserted wire!")
+ to_chat(user, span_warning("You have already inserted wire!"))
return
var/obj/item/stack/cable_coil/coil = weapon
if (coil.use(1))
wired = TRUE
- to_chat(user, "You insert the wire.")
+ to_chat(user, span_notice("You insert the wire."))
else
- to_chat(user, "You need one length of coil to wire it!")
+ to_chat(user, span_warning("You need one length of coil to wire it!"))
else
return ..()
@@ -166,7 +166,7 @@
return
. = TRUE
cutter.play_tool_sound(src)
- to_chat(user, "You cut the wires out of [src].")
+ to_chat(user, span_notice("You cut the wires out of [src]."))
new /obj/item/stack/cable_coil(drop_location(), 1)
wired = FALSE
@@ -174,10 +174,10 @@
..()
. = TRUE
if(!cell)
- to_chat(user, "There's no power cell installed in [src]!")
+ to_chat(user, span_warning("There's no power cell installed in [src]!"))
return
screwtool.play_tool_sound(src)
- to_chat(user, "Remove [cell] from [src].")
+ to_chat(user, span_notice("Remove [cell] from [src]."))
cell.forceMove(drop_location())
cell = null
@@ -186,14 +186,14 @@
. = ..()
if(cell)
. += {"It has a [cell] inserted.\n
- You can use a screwdriver to remove [cell]."}
+ [span_info("You can use a screwdriver to remove [cell].")]"}
else
- . += "It has an empty port for a power cell."
+ . += span_info("It has an empty port for a power cell.")
if(wired)
. += "Its all wired up[cell ? " and ready for usage" : ""].\n"+\
- "You can use wirecutters to remove the wiring."
+ span_info("You can use wirecutters to remove the wiring.")
else
- . += "It has a couple spots that still need to be wired."
+ . += span_info("It has a couple spots that still need to be wired.")
/obj/item/bodypart/chest/robot/drop_organs(mob/user, violent_removal)
if(wired)
@@ -244,25 +244,25 @@
/obj/item/bodypart/head/robot/examine(mob/user)
. = ..()
if(!flash1 && !flash2)
- . += "It has two empty eye sockets for flashes."
+ . += span_info("It has two empty eye sockets for flashes.")
else
var/single_flash = FALSE
if(!flash1 || !flash2)
single_flash = TRUE
. += {"One of its eye sockets is currently occupied by a flash.\n
- It has an empty eye socket for another flash."}
+ [span_info("It has an empty eye socket for another flash.")]"}
else
. += "It has two eye sockets occupied by flashes."
- . += "You can remove the seated flash[single_flash ? "":"es"] with a crowbar."
+ . += span_notice("You can remove the seated flash[single_flash ? "":"es"] with a crowbar.")
/obj/item/bodypart/head/robot/attackby(obj/item/weapon, mob/user, params)
if(istype(weapon, /obj/item/assembly/flash/handheld))
var/obj/item/assembly/flash/handheld/flash = weapon
if(flash1 && flash2)
- to_chat(user, "You have already inserted the eyes!")
+ to_chat(user, span_warning("You have already inserted the eyes!"))
return
else if(flash.burnt_out)
- to_chat(user, "You can't use a broken flash!")
+ to_chat(user, span_warning("You can't use a broken flash!"))
return
else
if(!user.transferItemToLoc(flash, src))
@@ -271,7 +271,7 @@
flash2 = flash
else
flash1 = flash
- to_chat(user, "You insert the flash into the eye socket.")
+ to_chat(user, span_notice("You insert the flash into the eye socket."))
return
return ..()
@@ -279,7 +279,7 @@
..()
if(flash1 || flash2)
prytool.play_tool_sound(src)
- to_chat(user, "You remove the flash from [src].")
+ to_chat(user, span_notice("You remove the flash from [src]."))
if(flash1)
flash1.forceMove(drop_location())
flash1 = null
@@ -287,7 +287,7 @@
flash2.forceMove(drop_location())
flash2 = null
else
- to_chat(user, "There is no flash to remove from [src].")
+ to_chat(user, span_warning("There is no flash to remove from [src]."))
return TRUE
diff --git a/code/modules/surgery/bone_mending.dm b/code/modules/surgery/bone_mending.dm
index a0fa3fef6c3..5c44bf687c3 100644
--- a/code/modules/surgery/bone_mending.dm
+++ b/code/modules/surgery/bone_mending.dm
@@ -58,24 +58,24 @@
/datum/surgery_step/repair_bone_hairline/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(surgery.operated_wound)
- display_results(user, target, "You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)]."))
else
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
/datum/surgery_step/repair_bone_hairline/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(surgery.operated_wound)
if(istype(tool, /obj/item/stack))
var/obj/item/stack/used_stack = tool
used_stack.use(1)
- display_results(user, target, "You successfully repair the fracture in [target]'s [parse_zone(target_zone)].",
- "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully repair the fracture in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "repaired a hairline fracture in", addition="COMBAT_MODE: [uppertext(user.combat_mode)]")
qdel(surgery.operated_wound)
else
- to_chat(user, "[target] has no hairline fracture there!")
+ to_chat(user, span_warning("[target] has no hairline fracture there!"))
return ..()
/datum/surgery_step/repair_bone_hairline/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
@@ -98,23 +98,23 @@
/datum/surgery_step/reset_compound_fracture/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(surgery.operated_wound)
- display_results(user, target, "You begin to reset the bone in [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to reset the bone in [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to reset the bone in [target]'s [parse_zone(user.zone_selected)]."))
else
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
/datum/surgery_step/reset_compound_fracture/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(surgery.operated_wound)
if(istype(tool, /obj/item/stack))
var/obj/item/stack/used_stack = tool
used_stack.use(1)
- display_results(user, target, "You successfully reset the bone in [target]'s [parse_zone(target_zone)].",
- "[user] successfully resets the bone in [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully resets the bone in [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully reset the bone in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully resets the bone in [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully resets the bone in [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "reset a compound fracture in", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
else
- to_chat(user, "[target] has no compound fracture there!")
+ to_chat(user, span_warning("[target] has no compound fracture there!"))
return ..()
/datum/surgery_step/reset_compound_fracture/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
@@ -136,24 +136,24 @@
/datum/surgery_step/repair_bone_compound/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(surgery.operated_wound)
- display_results(user, target, "You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to repair the fracture in [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to repair the fracture in [target]'s [parse_zone(user.zone_selected)]."))
else
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
/datum/surgery_step/repair_bone_compound/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(surgery.operated_wound)
if(istype(tool, /obj/item/stack))
var/obj/item/stack/used_stack = tool
used_stack.use(1)
- display_results(user, target, "You successfully repair the fracture in [target]'s [parse_zone(target_zone)].",
- "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully repair the fracture in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully repairs the fracture in [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "repaired a compound fracture in", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
qdel(surgery.operated_wound)
else
- to_chat(user, "[target] has no compound fracture there!")
+ to_chat(user, span_warning("[target] has no compound fracture there!"))
return ..()
/datum/surgery_step/repair_bone_compound/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
diff --git a/code/modules/surgery/brain_surgery.dm b/code/modules/surgery/brain_surgery.dm
index d2743e7e3ba..2552fcf3ebd 100644
--- a/code/modules/surgery/brain_surgery.dm
+++ b/code/modules/surgery/brain_surgery.dm
@@ -28,14 +28,14 @@
return TRUE
/datum/surgery_step/fix_brain/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to fix [target]'s brain...",
- "[user] begins to fix [target]'s brain.",
- "[user] begins to perform surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You begin to fix [target]'s brain..."),
+ span_notice("[user] begins to fix [target]'s brain."),
+ span_notice("[user] begins to perform surgery on [target]'s brain."))
/datum/surgery_step/fix_brain/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You succeed in fixing [target]'s brain.",
- "[user] successfully fixes [target]'s brain!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_notice("You succeed in fixing [target]'s brain."),
+ span_notice("[user] successfully fixes [target]'s brain!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
if(target.mind?.has_antag_datum(/datum/antagonist/brainwashed))
target.mind.remove_antag_datum(/datum/antagonist/brainwashed)
target.setOrganLoss(ORGAN_SLOT_BRAIN, target.getOrganLoss(ORGAN_SLOT_BRAIN) - 50) //we set damage in this case in order to clear the "failing" flag
@@ -46,11 +46,11 @@
/datum/surgery_step/fix_brain/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(target.getorganslot(ORGAN_SLOT_BRAIN))
- display_results(user, target, "You screw up, causing more damage!",
- "[user] screws up, causing brain damage!",
- "[user] completes the surgery on [target]'s brain.")
+ display_results(user, target, span_warning("You screw up, causing more damage!"),
+ span_warning("[user] screws up, causing brain damage!"),
+ span_notice("[user] completes the surgery on [target]'s brain."))
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 60)
target.gain_trauma_type(BRAIN_TRAUMA_SEVERE, TRAUMA_RESILIENCE_LOBOTOMY)
else
- user.visible_message("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore.", "You suddenly notice that the brain you were working on is not there anymore.")
+ user.visible_message(span_warning("[user] suddenly notices that the brain [user.p_they()] [user.p_were()] working on is not there anymore."), span_warning("You suddenly notice that the brain you were working on is not there anymore."))
return FALSE
diff --git a/code/modules/surgery/burn_dressing.dm b/code/modules/surgery/burn_dressing.dm
index e918df9d994..6c753e80f48 100644
--- a/code/modules/surgery/burn_dressing.dm
+++ b/code/modules/surgery/burn_dressing.dm
@@ -60,23 +60,23 @@
if(surgery.operated_wound)
var/datum/wound/burn/burn_wound = surgery.operated_wound
if(burn_wound.infestation <= 0)
- to_chat(user, "[target]'s [parse_zone(user.zone_selected)] has no infected flesh to remove!")
+ to_chat(user, span_notice("[target]'s [parse_zone(user.zone_selected)] has no infected flesh to remove!"))
surgery.status++
repeatable = FALSE
return
- display_results(user, target, "You begin to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to excise infected flesh from [target]'s [parse_zone(user.zone_selected)]."))
else
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
/datum/surgery_step/debride/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/datum/wound/burn/burn_wound = surgery.operated_wound
if(burn_wound)
var/progress_text = get_progress(user, target, burn_wound)
- display_results(user, target, "You successfully excise some of the infected flesh from [target]'s [parse_zone(target_zone)][progress_text].",
- "[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully excise some of the infected flesh from [target]'s [parse_zone(target_zone)][progress_text]."),
+ span_notice("[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully excises some of the infected flesh from [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "excised infected flesh in", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
surgery.operated_bodypart.receive_damage(brute=3, wound_bonus=CANT_WOUND)
burn_wound.infestation -= infestation_removed
@@ -84,14 +84,14 @@
if(burn_wound.infestation <= 0)
repeatable = FALSE
else
- to_chat(user, "[target] has no infected flesh there!")
+ to_chat(user, span_warning("[target] has no infected flesh there!"))
return ..()
/datum/surgery_step/debride/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
..()
- display_results(user, target, "You carve away some of the healthy flesh from [target]'s [parse_zone(target_zone)].",
- "[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You carve away some of the healthy flesh from [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] carves away some of the healthy flesh from [target]'s [parse_zone(target_zone)]!"))
surgery.operated_bodypart.receive_damage(brute=rand(4,8), sharpness=TRUE)
/datum/surgery_step/debride/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE)
@@ -118,25 +118,25 @@
/datum/surgery_step/dress/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/datum/wound/burn/burn_wound = surgery.operated_wound
if(burn_wound)
- display_results(user, target, "You begin to dress the burns on [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to dress the burns on [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to dress the burns on [target]'s [parse_zone(user.zone_selected)]."))
else
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
/datum/surgery_step/dress/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/datum/wound/burn/burn_wound = surgery.operated_wound
if(burn_wound)
- display_results(user, target, "You successfully wrap [target]'s [parse_zone(target_zone)] with [tool].",
- "[user] successfully wraps [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully wraps [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully wrap [target]'s [parse_zone(target_zone)] with [tool]."),
+ span_notice("[user] successfully wraps [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully wraps [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "dressed burns in", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
burn_wound.sanitization += sanitization_added
burn_wound.flesh_healing += flesh_healing_added
var/obj/item/bodypart/the_part = target.get_bodypart(target_zone)
the_part.apply_gauze(tool)
else
- to_chat(user, "[target] has no burns there!")
+ to_chat(user, span_warning("[target] has no burns there!"))
return ..()
/datum/surgery_step/dress/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
diff --git a/code/modules/surgery/cavity_implant.dm b/code/modules/surgery/cavity_implant.dm
index 47985ec5019..e9794d15a99 100644
--- a/code/modules/surgery/cavity_implant.dm
+++ b/code/modules/surgery/cavity_implant.dm
@@ -29,35 +29,35 @@
var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST)
item_for_cavity = target_chest.cavity_item
if(tool)
- display_results(user, target, "You begin to insert [tool] into [target]'s [target_zone]...",
- "[user] begins to insert [tool] into [target]'s [target_zone].",
- "[user] begins to insert [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].")
+ display_results(user, target, span_notice("You begin to insert [tool] into [target]'s [target_zone]..."),
+ span_notice("[user] begins to insert [tool] into [target]'s [target_zone]."),
+ span_notice("[user] begins to insert [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone]."))
else
- display_results(user, target, "You check for items in [target]'s [target_zone]...",
- "[user] checks for items in [target]'s [target_zone].",
- "[user] looks for something in [target]'s [target_zone].")
+ display_results(user, target, span_notice("You check for items in [target]'s [target_zone]..."),
+ span_notice("[user] checks for items in [target]'s [target_zone]."),
+ span_notice("[user] looks for something in [target]'s [target_zone]."))
/datum/surgery_step/handle_cavity/success(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool, datum/surgery/surgery = FALSE)
var/obj/item/bodypart/chest/target_chest = target.get_bodypart(BODY_ZONE_CHEST)
if(tool)
if(item_for_cavity || tool.w_class > WEIGHT_CLASS_NORMAL || HAS_TRAIT(tool, TRAIT_NODROP) || istype(tool, /obj/item/organ))
- to_chat(user, "You can't seem to fit [tool] in [target]'s [target_zone]!")
+ to_chat(user, span_warning("You can't seem to fit [tool] in [target]'s [target_zone]!"))
return FALSE
else
- display_results(user, target, "You stuff [tool] into [target]'s [target_zone].",
- "[user] stuffs [tool] into [target]'s [target_zone]!",
- "[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone].")
+ display_results(user, target, span_notice("You stuff [tool] into [target]'s [target_zone]."),
+ span_notice("[user] stuffs [tool] into [target]'s [target_zone]!"),
+ span_notice("[user] stuffs [tool.w_class > WEIGHT_CLASS_SMALL ? tool : "something"] into [target]'s [target_zone]."))
user.transferItemToLoc(tool, target, TRUE)
target_chest.cavity_item = tool
return ..()
else
if(item_for_cavity)
- display_results(user, target, "You pull [item_for_cavity] out of [target]'s [target_zone].",
- "[user] pulls [item_for_cavity] out of [target]'s [target_zone]!",
- "[user] pulls [item_for_cavity.w_class > WEIGHT_CLASS_SMALL ? item_for_cavity : "something"] out of [target]'s [target_zone].")
+ display_results(user, target, span_notice("You pull [item_for_cavity] out of [target]'s [target_zone]."),
+ span_notice("[user] pulls [item_for_cavity] out of [target]'s [target_zone]!"),
+ span_notice("[user] pulls [item_for_cavity.w_class > WEIGHT_CLASS_SMALL ? item_for_cavity : "something"] out of [target]'s [target_zone]."))
user.put_in_hands(item_for_cavity)
target_chest.cavity_item = null
return ..()
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 FALSE
diff --git a/code/modules/surgery/core_removal.dm b/code/modules/surgery/core_removal.dm
index ebd5ff63a5a..328fa7a7b32 100644
--- a/code/modules/surgery/core_removal.dm
+++ b/code/modules/surgery/core_removal.dm
@@ -22,17 +22,17 @@
time = 16
/datum/surgery_step/extract_core/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to extract a core from [target]...",
- "[user] begins to extract a core from [target].",
- "[user] begins to extract a core from [target].")
+ display_results(user, target, span_notice("You begin to extract a core from [target]..."),
+ span_notice("[user] begins to extract a core from [target]."),
+ span_notice("[user] begins to extract a core from [target]."))
/datum/surgery_step/extract_core/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/mob/living/simple_animal/slime/target_slime = target
if(target_slime.cores > 0)
target_slime.cores--
- display_results(user, target, "You successfully extract a core from [target]. [target_slime.cores] core\s remaining.",
- "[user] successfully extracts a core from [target]!",
- "[user] successfully extracts a core from [target]!")
+ display_results(user, target, span_notice("You successfully extract a core from [target]. [target_slime.cores] core\s remaining."),
+ span_notice("[user] successfully extracts a core from [target]!"),
+ span_notice("[user] successfully extracts a core from [target]!"))
new target_slime.coretype(target_slime.loc)
@@ -42,5 +42,5 @@
else
return FALSE
else
- to_chat(user, "There aren't any cores left in [target]!")
+ to_chat(user, span_warning("There aren't any cores left in [target]!"))
return ..()
diff --git a/code/modules/surgery/coronary_bypass.dm b/code/modules/surgery/coronary_bypass.dm
index 825534c129d..a6630578d3b 100644
--- a/code/modules/surgery/coronary_bypass.dm
+++ b/code/modules/surgery/coronary_bypass.dm
@@ -29,16 +29,16 @@
time = 16
/datum/surgery_step/incise_heart/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to make an incision in [target]'s heart...",
- "[user] begins to make an incision in [target]'s heart.",
- "[user] begins to make an incision in [target]'s heart.")
+ display_results(user, target, span_notice("You begin to make an incision in [target]'s heart..."),
+ span_notice("[user] begins to make an incision in [target]'s heart."),
+ span_notice("[user] begins to make an incision in [target]'s heart."))
/datum/surgery_step/incise_heart/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(ishuman(target))
var/mob/living/carbon/human/target_human = target
if (!(NOBLOOD in target_human.dna.species.species_traits))
- display_results(user, target, "Blood pools around the incision in [target_human]'s heart.",
- "Blood pools around the incision in [target_human]'s heart.",
+ display_results(user, target, span_notice("Blood pools around the incision in [target_human]'s heart."),
+ span_notice("Blood pools around the incision in [target_human]'s heart."),
"")
var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone)
target_bodypart.generic_bleedstacks += 10
@@ -48,9 +48,9 @@
/datum/surgery_step/incise_heart/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(ishuman(target))
var/mob/living/carbon/human/target_human = target
- display_results(user, target, "You screw up, cutting too deeply into the heart!",
- "[user] screws up, causing blood to spurt out of [target_human]'s chest!",
- "[user] screws up, causing blood to spurt out of [target_human]'s chest!")
+ display_results(user, target, span_warning("You screw up, cutting too deeply into the heart!"),
+ span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest!"),
+ span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest!"))
var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone)
target_bodypart.generic_bleedstacks += 10
target_human.adjustOrganLoss(ORGAN_SLOT_HEART, 10)
@@ -67,26 +67,26 @@
time = 90
/datum/surgery_step/coronary_bypass/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to graft a bypass onto [target]'s heart...",
- "[user] begins to graft something onto [target]'s heart!",
- "[user] begins to graft something onto [target]'s heart!")
+ display_results(user, target, span_notice("You begin to graft a bypass onto [target]'s heart..."),
+ span_notice("[user] begins to graft something onto [target]'s heart!"),
+ span_notice("[user] begins to graft something onto [target]'s heart!"))
/datum/surgery_step/coronary_bypass/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
target.setOrganLoss(ORGAN_SLOT_HEART, 60)
var/obj/item/organ/heart/target_heart = target.getorganslot(ORGAN_SLOT_HEART)
if(target_heart) //slightly worrying if we lost our heart mid-operation, but that's life
target_heart.operated = TRUE
- display_results(user, target, "You successfully graft a bypass onto [target]'s heart.",
- "[user] finishes grafting something onto [target]'s heart.",
- "[user] finishes grafting something onto [target]'s heart.")
+ display_results(user, target, span_notice("You successfully graft a bypass onto [target]'s heart."),
+ span_notice("[user] finishes grafting something onto [target]'s heart."),
+ span_notice("[user] finishes grafting something onto [target]'s heart."))
return ..()
/datum/surgery_step/coronary_bypass/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(ishuman(target))
var/mob/living/carbon/human/target_human = target
- display_results(user, target, "You screw up in attaching the graft, and it tears off, tearing part of the heart!",
- "[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!",
- "[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!")
+ display_results(user, target, span_warning("You screw up in attaching the graft, and it tears off, tearing part of the heart!"),
+ span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!"),
+ span_warning("[user] screws up, causing blood to spurt out of [target_human]'s chest profusely!"))
target_human.adjustOrganLoss(ORGAN_SLOT_HEART, 20)
var/obj/item/bodypart/target_bodypart = target_human.get_bodypart(target_zone)
target_bodypart.generic_bleedstacks += 30
diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm
index 786e3d58ab6..813f2d5b79c 100644
--- a/code/modules/surgery/dental_implant.dm
+++ b/code/modules/surgery/dental_implant.dm
@@ -11,9 +11,9 @@
time = 16
/datum/surgery_step/insert_pill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to wedge \the [tool] in [target]'s [parse_zone(target_zone)].",
- "[user] begins to wedge something in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to wedge [tool] in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to wedge \the [tool] in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to wedge something in [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/insert_pill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/reagent_containers/pill/tool, datum/surgery/surgery, default_display_results = FALSE)
if(!istype(tool))
@@ -26,9 +26,9 @@
pill_action.target = tool
pill_action.Grant(target) //The pill never actually goes in an inventory slot, so the owner doesn't inherit actions from it
- display_results(user, target, "You wedge [tool] into [target]'s [parse_zone(target_zone)].",
- "[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!",
- "[user] wedges something into [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You wedge [tool] into [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] wedges \the [tool] into [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] wedges something into [target]'s [parse_zone(target_zone)]!"))
return ..()
/datum/action/item_action/hands_free/activate_pill
@@ -37,7 +37,7 @@
/datum/action/item_action/hands_free/activate_pill/Trigger()
if(!..())
return FALSE
- to_chat(owner, "You grit your teeth and burst the implanted [target.name]!")
+ to_chat(owner, span_notice("You grit your teeth and burst the implanted [target.name]!"))
log_combat(owner, null, "swallowed an implanted pill", target)
if(target.reagents.total_volume)
target.reagents.trans_to(owner, target.reagents.total_volume, transfered_by = owner, methods = INGEST)
diff --git a/code/modules/surgery/eye_surgery.dm b/code/modules/surgery/eye_surgery.dm
index a60a25b9cfb..f156dd806d4 100644
--- a/code/modules/surgery/eye_surgery.dm
+++ b/code/modules/surgery/eye_surgery.dm
@@ -22,21 +22,21 @@
/datum/surgery/eye_surgery/can_start(mob/user, mob/living/carbon/target)
var/obj/item/organ/eyes/target_eyes = target.getorganslot(ORGAN_SLOT_EYES)
if(!target_eyes)
- to_chat(user, "It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any.")
+ to_chat(user, span_warning("It's hard to do surgery on someone's eyes when [target.p_they()] [target.p_do()]n't have any."))
return FALSE
return TRUE
/datum/surgery_step/fix_eyes/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to fix [target]'s eyes...",
- "[user] begins to fix [target]'s eyes.",
- "[user] begins to perform surgery on [target]'s eyes.")
+ display_results(user, target, span_notice("You begin to fix [target]'s eyes..."),
+ span_notice("[user] begins to fix [target]'s eyes."),
+ span_notice("[user] begins to perform surgery on [target]'s eyes."))
/datum/surgery_step/fix_eyes/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/obj/item/organ/eyes/target_eyes = target.getorganslot(ORGAN_SLOT_EYES)
- user.visible_message("[user] successfully fixes [target]'s eyes!", "You succeed in fixing [target]'s eyes.")
- display_results(user, target, "You succeed in fixing [target]'s eyes.",
- "[user] successfully fixes [target]'s eyes!",
- "[user] completes the surgery on [target]'s eyes.")
+ user.visible_message(span_notice("[user] successfully fixes [target]'s eyes!"), span_notice("You succeed in fixing [target]'s eyes."))
+ display_results(user, target, span_notice("You succeed in fixing [target]'s eyes."),
+ span_notice("[user] successfully fixes [target]'s eyes!"),
+ span_notice("[user] completes the surgery on [target]'s eyes."))
target.cure_blind(list(EYE_DAMAGE))
target.set_blindness(0)
target.cure_nearsighted(list(EYE_DAMAGE))
@@ -46,12 +46,12 @@
/datum/surgery_step/fix_eyes/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(target.getorgan(/obj/item/organ/brain))
- display_results(user, target, "You accidentally stab [target] right in the brain!",
- "[user] accidentally stabs [target] right in the brain!",
- "[user] accidentally stabs [target] right in the brain!")
+ display_results(user, target, span_warning("You accidentally stab [target] right in the brain!"),
+ span_warning("[user] accidentally stabs [target] right in the brain!"),
+ span_warning("[user] accidentally stabs [target] right in the brain!"))
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 70)
else
- display_results(user, target, "You accidentally stab [target] right in the brain! Or would have, if [target] had a brain.",
- "[user] accidentally stabs [target] right in the brain! Or would have, if [target] had a brain.",
- "[user] accidentally stabs [target] right in the brain!")
+ display_results(user, target, span_warning("You accidentally stab [target] right in the brain! Or would have, if [target] had a brain."),
+ span_warning("[user] accidentally stabs [target] right in the brain! Or would have, if [target] had a brain."),
+ span_warning("[user] accidentally stabs [target] right in the brain!"))
return FALSE
diff --git a/code/modules/surgery/gastrectomy.dm b/code/modules/surgery/gastrectomy.dm
index f07c66111e3..a7b4af48f6c 100644
--- a/code/modules/surgery/gastrectomy.dm
+++ b/code/modules/surgery/gastrectomy.dm
@@ -30,21 +30,21 @@
time = 52
/datum/surgery_step/gastrectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to cut out a damaged piece of [target]'s stomach...",
- "[user] begins to make an incision in [target].",
- "[user] begins to make an incision in [target].")
+ display_results(user, target, span_notice("You begin to cut out a damaged piece of [target]'s stomach..."),
+ span_notice("[user] begins to make an incision in [target]."),
+ span_notice("[user] begins to make an incision in [target]."))
/datum/surgery_step/gastrectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/mob/living/carbon/human/target_human = target
target_human.setOrganLoss(ORGAN_SLOT_STOMACH, 20) // Stomachs have a threshold for being able to even digest food, so I might tweak this number
- display_results(user, target, "You successfully remove the damaged part of [target]'s stomach.",
- "[user] successfully removes the damaged part of [target]'s stomach.",
- "[user] successfully removes the damaged part of [target]'s stomach.")
+ display_results(user, target, span_notice("You successfully remove the damaged part of [target]'s stomach."),
+ span_notice("[user] successfully removes the damaged part of [target]'s stomach."),
+ span_notice("[user] successfully removes the damaged part of [target]'s stomach."))
return ..()
/datum/surgery_step/gastrectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery)
var/mob/living/carbon/human/target_human = target
target_human.adjustOrganLoss(ORGAN_SLOT_STOMACH, 15)
- display_results(user, target, "You cut the wrong part of [target]'s stomach!",
- "[user] cuts the wrong part of [target]'s stomach!",
- "[user] cuts the wrong part of [target]'s stomach!")
+ display_results(user, target, span_warning("You cut the wrong part of [target]'s stomach!"),
+ span_warning("[user] cuts the wrong part of [target]'s stomach!"),
+ span_warning("[user] cuts the wrong part of [target]'s stomach!"))
diff --git a/code/modules/surgery/healing.dm b/code/modules/surgery/healing.dm
index 6ecb890d66d..45e5cd270a4 100644
--- a/code/modules/surgery/healing.dm
+++ b/code/modules/surgery/healing.dm
@@ -60,9 +60,9 @@
if(istype(surgery,/datum/surgery/healing))
var/datum/surgery/healing/the_surgery = surgery
if(!the_surgery.antispam)
- display_results(user, target, "You attempt to patch some of [target]'s [woundtype].",
- "[user] attempts to patch some of [target]'s [woundtype].",
- "[user] attempts to patch some of [target]'s [woundtype].")
+ display_results(user, target, span_notice("You attempt to patch some of [target]'s [woundtype]."),
+ span_notice("[user] attempts to patch some of [target]'s [woundtype]."),
+ span_notice("[user] attempts to patch some of [target]'s [woundtype]."))
/datum/surgery_step/heal/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE)
if(!..())
@@ -91,7 +91,7 @@
user_msg += get_progress(user, target, brute_healed, burn_healed)
- display_results(user, target, "[user_msg].",
+ display_results(user, target, span_notice("[user_msg]."),
"[target_msg].",
"[target_msg].")
if(istype(surgery, /datum/surgery/healing))
@@ -100,9 +100,9 @@
return ..()
/datum/surgery_step/heal/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You screwed up!",
- "[user] screws up!",
- "[user] fixes some of [target]'s wounds.", TRUE)
+ display_results(user, target, span_warning("You screwed up!"),
+ span_warning("[user] screws up!"),
+ span_notice("[user] fixes some of [target]'s wounds."), TRUE)
var/brute_dealt = brutehealing * 0.8
var/burn_dealt = burnhealing * 0.8
brute_dealt += round((target.getBruteLoss() * (brute_multiplier * 0.5)),0.1)
@@ -320,7 +320,7 @@
burn_multiplier = 0.4
/datum/surgery_step/heal/combo/upgraded/femto/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You screwed up!",
- "[user] screws up!",
- "[user] fixes some of [target]'s wounds.", TRUE)
+ display_results(user, target, span_warning("You screwed up!"),
+ span_warning("[user] screws up!"),
+ span_notice("[user] fixes some of [target]'s wounds."), TRUE)
target.take_bodypart_damage(5,5)
diff --git a/code/modules/surgery/hepatectomy.dm b/code/modules/surgery/hepatectomy.dm
index bb8b19df464..1899f0deaf1 100644
--- a/code/modules/surgery/hepatectomy.dm
+++ b/code/modules/surgery/hepatectomy.dm
@@ -29,21 +29,21 @@
time = 52
/datum/surgery_step/hepatectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to cut out a damaged piece of [target]'s liver...",
- "[user] begins to make an incision in [target].",
- "[user] begins to make an incision in [target].")
+ display_results(user, target, span_notice("You begin to cut out a damaged piece of [target]'s liver..."),
+ span_notice("[user] begins to make an incision in [target]."),
+ span_notice("[user] begins to make an incision in [target]."))
/datum/surgery_step/hepatectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/mob/living/carbon/human/human_target = target
human_target.setOrganLoss(ORGAN_SLOT_LIVER, 10) //not bad, not great
- display_results(user, target, "You successfully remove the damaged part of [target]'s liver.",
- "[user] successfully removes the damaged part of [target]'s liver.",
- "[user] successfully removes the damaged part of [target]'s liver.")
+ display_results(user, target, span_notice("You successfully remove the damaged part of [target]'s liver."),
+ span_notice("[user] successfully removes the damaged part of [target]'s liver."),
+ span_notice("[user] successfully removes the damaged part of [target]'s liver."))
return ..()
/datum/surgery_step/hepatectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery)
var/mob/living/carbon/human/human_target = target
human_target.adjustOrganLoss(ORGAN_SLOT_LIVER, 15)
- display_results(user, target, "You cut the wrong part of [target]'s liver!",
- "[user] cuts the wrong part of [target]'s liver!",
- "[user] cuts the wrong part of [target]'s liver!")
+ display_results(user, target, span_warning("You cut the wrong part of [target]'s liver!"),
+ span_warning("[user] cuts the wrong part of [target]'s liver!"),
+ span_warning("[user] cuts the wrong part of [target]'s liver!"))
diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm
index a1027b5a6ce..a807879869e 100644
--- a/code/modules/surgery/implant_removal.dm
+++ b/code/modules/surgery/implant_removal.dm
@@ -25,19 +25,19 @@
implant = object
break
if(implant)
- display_results(user, target, "You begin to extract [implant] from [target]'s [target_zone]...",
- "[user] begins to extract [implant] from [target]'s [target_zone].",
- "[user] begins to extract something from [target]'s [target_zone].")
+ display_results(user, target, span_notice("You begin to extract [implant] from [target]'s [target_zone]..."),
+ span_notice("[user] begins to extract [implant] from [target]'s [target_zone]."),
+ span_notice("[user] begins to extract something from [target]'s [target_zone]."))
else
- display_results(user, target, "You look for an implant in [target]'s [target_zone]...",
- "[user] looks for an implant in [target]'s [target_zone].",
- "[user] looks for something in [target]'s [target_zone].")
+ display_results(user, target, span_notice("You look for an implant in [target]'s [target_zone]..."),
+ span_notice("[user] looks for an implant in [target]'s [target_zone]."),
+ span_notice("[user] looks for something in [target]'s [target_zone]."))
/datum/surgery_step/extract_implant/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(implant)
- display_results(user, target, "You successfully remove [implant] from [target]'s [target_zone].",
- "[user] successfully removes [implant] from [target]'s [target_zone]!",
- "[user] successfully removes something from [target]'s [target_zone]!")
+ display_results(user, target, span_notice("You successfully remove [implant] from [target]'s [target_zone]."),
+ span_notice("[user] successfully removes [implant] from [target]'s [target_zone]!"),
+ span_notice("[user] successfully removes something from [target]'s [target_zone]!"))
implant.removed(target)
var/obj/item/implantcase/case
@@ -50,14 +50,14 @@
case.imp = implant
implant.forceMove(case)
case.update_appearance()
- display_results(user, target, "You place [implant] into [case].",
- "[user] places [implant] into [case]!",
- "[user] places it into [case]!")
+ display_results(user, target, span_notice("You place [implant] into [case]."),
+ span_notice("[user] places [implant] into [case]!"),
+ span_notice("[user] places it into [case]!"))
else
qdel(implant)
else
- to_chat(user, "You can't find anything in [target]'s [target_zone]!")
+ to_chat(user, span_warning("You can't find anything in [target]'s [target_zone]!"))
return ..()
/datum/surgery/implant_removal/mechanic
diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm
index 44ff7ab3a12..22fa36fed86 100644
--- a/code/modules/surgery/limb_augmentation.dm
+++ b/code/modules/surgery/limb_augmentation.dm
@@ -15,24 +15,24 @@
/datum/surgery_step/replace_limb/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(NOAUGMENTS in target.dna.species.species_traits)
- to_chat(user, "[target] cannot be augmented!")
+ to_chat(user, span_warning("[target] cannot be augmented!"))
return -1
if(istype(tool, /obj/item/borg/apparatus/organ_storage) && istype(tool.contents[1], /obj/item/bodypart))
tool = tool.contents[1]
var/obj/item/bodypart/aug = tool
if(aug.status != BODYPART_ROBOTIC)
- to_chat(user, "That's not an augment, silly!")
+ to_chat(user, span_warning("That's not an augment, silly!"))
return -1
if(aug.body_zone != target_zone)
- to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].")
+ to_chat(user, span_warning("[tool] isn't the right type for [parse_zone(target_zone)]."))
return -1
target_limb = surgery.operated_bodypart
if(target_limb)
- display_results(user, target, "You begin to augment [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to augment [target]'s [parse_zone(user.zone_selected)] with [aug].",
- "[user] begins to augment [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to augment [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to augment [target]'s [parse_zone(user.zone_selected)] with [aug]."),
+ span_notice("[user] begins to augment [target]'s [parse_zone(user.zone_selected)]."))
else
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
//ACTUAL SURGERIES
@@ -59,10 +59,10 @@
tool = tool.contents[1]
if(istype(tool) && user.temporarilyRemoveItemFromInventory(tool))
tool.replace_limb(target, TRUE)
- display_results(user, target, "You successfully augment [target]'s [parse_zone(target_zone)].",
- "[user] successfully augments [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully augments [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully augment [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "augmented", addition="by giving him new [parse_zone(target_zone)] COMBAT MODE: [uppertext(user.combat_mode)]")
else
- to_chat(user, "[target] has no organic [parse_zone(target_zone)] there!")
+ to_chat(user, span_warning("[target] has no organic [parse_zone(target_zone)] there!"))
return ..()
diff --git a/code/modules/surgery/lipoplasty.dm b/code/modules/surgery/lipoplasty.dm
index d30b2192154..20878e88ece 100644
--- a/code/modules/surgery/lipoplasty.dm
+++ b/code/modules/surgery/lipoplasty.dm
@@ -24,15 +24,15 @@
time = 64
/datum/surgery_step/cut_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- user.visible_message("[user] begins to cut away [target]'s excess fat.", "You begin to cut away [target]'s excess fat...")
- display_results(user, target, "You begin to cut away [target]'s excess fat...",
- "[user] begins to cut away [target]'s excess fat.",
- "[user] begins to cut [target]'s [target_zone] with [tool].")
+ user.visible_message(span_notice("[user] begins to cut away [target]'s excess fat."), span_notice("You begin to cut away [target]'s excess fat..."))
+ display_results(user, target, span_notice("You begin to cut away [target]'s excess fat..."),
+ span_notice("[user] begins to cut away [target]'s excess fat."),
+ span_notice("[user] begins to cut [target]'s [target_zone] with [tool]."))
/datum/surgery_step/cut_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
- display_results(user, target, "You cut [target]'s excess fat loose.",
- "[user] cuts [target]'s excess fat loose!",
- "[user] finishes the cut on [target]'s [target_zone].")
+ display_results(user, target, span_notice("You cut [target]'s excess fat loose."),
+ span_notice("[user] cuts [target]'s excess fat loose!"),
+ span_notice("[user] finishes the cut on [target]'s [target_zone]."))
return TRUE
//remove fat
@@ -45,14 +45,14 @@
time = 32
/datum/surgery_step/remove_fat/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to extract [target]'s loose fat...",
- "[user] begins to extract [target]'s loose fat!",
- "[user] begins to extract something from [target]'s [target_zone].")
+ display_results(user, target, span_notice("You begin to extract [target]'s loose fat..."),
+ span_notice("[user] begins to extract [target]'s loose fat!"),
+ span_notice("[user] begins to extract something from [target]'s [target_zone]."))
/datum/surgery_step/remove_fat/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You extract [target]'s fat.",
- "[user] extracts [target]'s fat!",
- "[user] extracts [target]'s fat!")
+ display_results(user, target, span_notice("You extract [target]'s fat."),
+ span_notice("[user] extracts [target]'s fat!"),
+ span_notice("[user] extracts [target]'s fat!"))
target.overeatduration = 0 //patient is unfatted
var/removednutriment = target.nutrition
target.set_nutrition(NUTRITION_LEVEL_WELL_FED)
diff --git a/code/modules/surgery/lobectomy.dm b/code/modules/surgery/lobectomy.dm
index 8fa07539792..730741c3eef 100644
--- a/code/modules/surgery/lobectomy.dm
+++ b/code/modules/surgery/lobectomy.dm
@@ -28,9 +28,9 @@
time = 42
/datum/surgery_step/lobectomy/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to make an incision in [target]'s lungs...",
- "[user] begins to make an incision in [target].",
- "[user] begins to make an incision in [target].")
+ display_results(user, target, span_notice("You begin to make an incision in [target]'s lungs..."),
+ span_notice("[user] begins to make an incision in [target]."),
+ span_notice("[user] begins to make an incision in [target]."))
/datum/surgery_step/lobectomy/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(ishuman(target))
@@ -38,17 +38,17 @@
var/obj/item/organ/lungs/target_lungs = human_target.getorganslot(ORGAN_SLOT_LUNGS)
target_lungs.operated = TRUE
human_target.setOrganLoss(ORGAN_SLOT_LUNGS, 60)
- display_results(user, target, "You successfully excise [human_target]'s most damaged lobe.",
- "Successfully removes a piece of [human_target]'s lungs.",
+ display_results(user, target, span_notice("You successfully excise [human_target]'s most damaged lobe."),
+ span_notice("Successfully removes a piece of [human_target]'s lungs."),
"")
return ..()
/datum/surgery_step/lobectomy/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(ishuman(target))
var/mob/living/carbon/human/human_target = target
- display_results(user, target, "You screw up, failing to excise [human_target]'s damaged lobe!",
- "[user] screws up!",
- "[user] screws up!")
+ display_results(user, target, span_warning("You screw up, failing to excise [human_target]'s damaged lobe!"),
+ span_warning("[user] screws up!"),
+ span_warning("[user] screws up!"))
human_target.losebreath += 4
human_target.adjustOrganLoss(ORGAN_SLOT_LUNGS, 10)
return FALSE
diff --git a/code/modules/surgery/mechanic_steps.dm b/code/modules/surgery/mechanic_steps.dm
index 46745e6884e..c07d399d09e 100644
--- a/code/modules/surgery/mechanic_steps.dm
+++ b/code/modules/surgery/mechanic_steps.dm
@@ -9,9 +9,9 @@
time = 24
/datum/surgery_step/mechanic_open/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to unscrew the shell of [target]'s [parse_zone(target_zone)]...",
- "[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].",
- "[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to unscrew the shell of [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to unscrew the shell of [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/mechanic_open/tool_check(mob/user, obj/item/tool)
if(implement_type == /obj/item && !tool.get_sharpness())
@@ -30,9 +30,9 @@
time = 24
/datum/surgery_step/mechanic_close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to screw the shell of [target]'s [parse_zone(target_zone)]...",
- "[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].",
- "[user] begins to screw the shell of [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to screw the shell of [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to screw the shell of [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to screw the shell of [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/mechanic_close/tool_check(mob/user, obj/item/tool)
if(implement_type == /obj/item && !tool.get_sharpness())
@@ -49,9 +49,9 @@
time = 24
/datum/surgery_step/prepare_electronics/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to prepare electronics in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].",
- "[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to prepare electronics in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to prepare electronics in [target]'s [parse_zone(target_zone)]."))
//unwrench
/datum/surgery_step/mechanic_unwrench
@@ -62,9 +62,9 @@
time = 24
/datum/surgery_step/mechanic_unwrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to unwrench some bolts in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].",
- "[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to unwrench some bolts in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to unwrench some bolts in [target]'s [parse_zone(target_zone)]."))
//wrench
/datum/surgery_step/mechanic_wrench
@@ -75,9 +75,9 @@
time = 24
/datum/surgery_step/mechanic_wrench/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to wrench some bolts in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].",
- "[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to wrench some bolts in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to wrench some bolts in [target]'s [parse_zone(target_zone)]."))
//open hatch
/datum/surgery_step/open_hatch
@@ -86,6 +86,6 @@
time = 10
/datum/surgery_step/open_hatch/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to open the hatch holders in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].",
- "[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to open the hatch holders in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to open the hatch holders in [target]'s [parse_zone(target_zone)]."))
diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm
index 46aacce001a..59ade0360c1 100644
--- a/code/modules/surgery/organ_manipulation.dm
+++ b/code/modules/surgery/organ_manipulation.dm
@@ -77,30 +77,30 @@
target_organ = null
if(istype(tool, /obj/item/borg/apparatus/organ_storage))
if(!tool.contents.len)
- to_chat(user, "There is nothing inside [tool]!")
+ to_chat(user, span_warning("There is nothing inside [tool]!"))
return -1
target_organ = tool.contents[1]
if(!isorgan(target_organ))
if (target_zone == BODY_ZONE_PRECISE_EYES)
target_zone = check_zone(target_zone)
- to_chat(user, "You cannot put [target_organ] into [target]'s [parse_zone(target_zone)]!")
+ to_chat(user, span_warning("You cannot put [target_organ] into [target]'s [parse_zone(target_zone)]!"))
return -1
tool = target_organ
if(isorgan(tool))
current_type = "insert"
target_organ = tool
if(target_zone != target_organ.zone || target.getorganslot(target_organ.slot))
- to_chat(user, "There is no room for [target_organ] in [target]'s [parse_zone(target_zone)]!")
+ to_chat(user, span_warning("There is no room for [target_organ] in [target]'s [parse_zone(target_zone)]!"))
return -1
var/obj/item/organ/meatslab = tool
if(!meatslab.useable)
- to_chat(user, "[target_organ] seems to have been chewed on, you can't use this!")
+ to_chat(user, span_warning("[target_organ] seems to have been chewed on, you can't use this!"))
return -1
if (target_zone == BODY_ZONE_PRECISE_EYES)
target_zone = check_zone(target_zone)
- display_results(user, target, "You begin to insert [tool] into [target]'s [parse_zone(target_zone)]...",
- "[user] begins to insert [tool] into [target]'s [parse_zone(target_zone)].",
- "[user] begins to insert something into [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to insert [tool] into [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to insert [tool] into [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to insert something into [target]'s [parse_zone(target_zone)]."))
else if(implement_type in implements_extract)
current_type = "extract"
@@ -108,7 +108,7 @@
if (target_zone == BODY_ZONE_PRECISE_EYES)
target_zone = check_zone(target_zone)
if(!organs.len)
- to_chat(user, "There are no removable organs in [target]'s [parse_zone(target_zone)]!")
+ to_chat(user, span_warning("There are no removable organs in [target]'s [parse_zone(target_zone)]!"))
return -1
else
for(var/obj/item/organ/organ in organs)
@@ -122,11 +122,11 @@
if(!target_organ)
return -1
if(target_organ.organ_flags & ORGAN_UNREMOVABLE)
- to_chat(user, "[target_organ] is too well connected to take out!")
+ to_chat(user, span_warning("[target_organ] is too well connected to take out!"))
return -1
- display_results(user, target, "You begin to extract [target_organ] from [target]'s [parse_zone(target_zone)]...",
- "[user] begins to extract [target_organ] from [target]'s [parse_zone(target_zone)].",
- "[user] begins to extract something from [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to extract [target_organ] from [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to extract [target_organ] from [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to extract something from [target]'s [parse_zone(target_zone)]."))
else
return -1
@@ -145,20 +145,20 @@
target_organ = tool
user.temporarilyRemoveItemFromInventory(target_organ, TRUE)
target_organ.Insert(target)
- display_results(user, target, "You insert [tool] into [target]'s [parse_zone(target_zone)].",
- "[user] inserts [tool] into [target]'s [parse_zone(target_zone)]!",
- "[user] inserts something into [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You insert [tool] into [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] inserts [tool] into [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] inserts something into [target]'s [parse_zone(target_zone)]!"))
else if(current_type == "extract")
if(target_organ && target_organ.owner == target)
- display_results(user, target, "You successfully extract [target_organ] from [target]'s [parse_zone(target_zone)].",
- "[user] successfully extracts [target_organ] from [target]'s [parse_zone(target_zone)]!",
- "[user] successfully extracts something from [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully extract [target_organ] from [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully extracts [target_organ] from [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] successfully extracts something from [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "surgically removed [target_organ.name] from", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
target_organ.Remove(target)
target_organ.forceMove(get_turf(target))
else
- display_results(user, target, "You can't extract anything from [target]'s [parse_zone(target_zone)]!",
- "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!",
- "[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_warning("You can't extract anything from [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] can't seem to extract anything from [target]'s [parse_zone(target_zone)]!"))
return FALSE
diff --git a/code/modules/surgery/organic_steps.dm b/code/modules/surgery/organic_steps.dm
index bee80c56729..5b8b9cad0c2 100644
--- a/code/modules/surgery/organic_steps.dm
+++ b/code/modules/surgery/organic_steps.dm
@@ -11,9 +11,9 @@
time = 16
/datum/surgery_step/incise/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to make an incision in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to make an incision in [target]'s [parse_zone(target_zone)].",
- "[user] begins to make an incision in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to make an incision in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to make an incision in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to make an incision in [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/incise/tool_check(mob/user, obj/item/tool)
if(implement_type == /obj/item && !tool.get_sharpness())
@@ -25,8 +25,8 @@
if ishuman(target)
var/mob/living/carbon/human/human_target = target
if (!(NOBLOOD in human_target.dna.species.species_traits))
- display_results(user, target, "Blood pools around the incision in [human_target]'s [parse_zone(target_zone)].",
- "Blood pools around the incision in [human_target]'s [parse_zone(target_zone)].",
+ display_results(user, target, span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."),
+ span_notice("Blood pools around the incision in [human_target]'s [parse_zone(target_zone)]."),
"")
var/obj/item/bodypart/target_bodypart = target.get_bodypart(target_zone)
if(target_bodypart)
@@ -34,9 +34,9 @@
return ..()
/datum/surgery_step/incise/nobleed/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to carefully make an incision in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)].",
- "[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to carefully make an incision in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to carefully make an incision in [target]'s [parse_zone(target_zone)]."))
//clamp bleeders
/datum/surgery_step/clamp_bleeders
@@ -49,9 +49,9 @@
time = 24
/datum/surgery_step/clamp_bleeders/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].",
- "[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to clamp bleeders in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to clamp bleeders in [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/clamp_bleeders/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
if(locate(/datum/surgery_step/saw) in surgery.steps)
@@ -74,9 +74,9 @@
time = 24
/datum/surgery_step/retract_skin/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to retract the skin in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].",
- "[user] begins to retract the skin in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to retract the skin in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to retract the skin in [target]'s [parse_zone(target_zone)]."))
@@ -91,9 +91,9 @@
time = 24
/datum/surgery_step/close/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to mend the incision in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].",
- "[user] begins to mend the incision in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to mend the incision in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to mend the incision in [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/close/tool_check(mob/user, obj/item/tool)
if(implement_type == TOOL_WELDER || implement_type == /obj/item)
@@ -126,9 +126,9 @@
time = 54
/datum/surgery_step/saw/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to saw through the bone in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].",
- "[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to saw through the bone in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to saw through the bone in [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/saw/tool_check(mob/user, obj/item/tool)
if(implement_type == /obj/item && !(tool.get_sharpness() && (tool.force >= 10)))
@@ -137,9 +137,9 @@
/datum/surgery_step/saw/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
target.apply_damage(50, BRUTE, "[target_zone]", wound_bonus=CANT_WOUND)
- display_results(user, target, "You saw [target]'s [parse_zone(target_zone)] open.",
- "[user] saws [target]'s [parse_zone(target_zone)] open!",
- "[user] saws [target]'s [parse_zone(target_zone)] open!")
+ display_results(user, target, span_notice("You saw [target]'s [parse_zone(target_zone)] open."),
+ span_notice("[user] saws [target]'s [parse_zone(target_zone)] open!"),
+ span_notice("[user] saws [target]'s [parse_zone(target_zone)] open!"))
return ..()
//drill bone
@@ -154,12 +154,12 @@
time = 30
/datum/surgery_step/drill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to drill into the bone in [target]'s [parse_zone(target_zone)]...",
- "[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].",
- "[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to drill into the bone in [target]'s [parse_zone(target_zone)]..."),
+ span_notice("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to drill into the bone in [target]'s [parse_zone(target_zone)]."))
/datum/surgery_step/drill/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
- display_results(user, target, "You drill into [target]'s [parse_zone(target_zone)].",
- "[user] drills into [target]'s [parse_zone(target_zone)]!",
- "[user] drills into [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You drill into [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] drills into [target]'s [parse_zone(target_zone)]!"),
+ span_notice("[user] drills into [target]'s [parse_zone(target_zone)]!"))
return ..()
diff --git a/code/modules/surgery/organs/augments_arms.dm b/code/modules/surgery/organs/augments_arms.dm
index 6cb761f77ff..2e70b4b4954 100644
--- a/code/modules/surgery/organs/augments_arms.dm
+++ b/code/modules/surgery/organs/augments_arms.dm
@@ -53,7 +53,7 @@
/obj/item/organ/cyberimp/arm/examine(mob/user)
. = ..()
- . += "[src] is assembled in the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it."
+ . += span_info("[src] is assembled in the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm configuration. You can use a screwdriver to reassemble it.")
/obj/item/organ/cyberimp/arm/screwdriver_act(mob/living/user, obj/item/screwtool)
. = ..()
@@ -65,7 +65,7 @@
else
zone = BODY_ZONE_R_ARM
SetSlotFromZone()
- to_chat(user, "You modify [src] to be installed on the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.")
+ to_chat(user, span_notice("You modify [src] to be installed on the [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."))
update_appearance()
/obj/item/organ/cyberimp/arm/Insert(mob/living/carbon/arm_owner, special = FALSE, drop_if_replaced = TRUE)
@@ -92,7 +92,7 @@
if(. & EMP_PROTECT_SELF)
return
if(prob(15/severity) && owner)
- to_chat(owner, "The electromagnetic pulse causes [src] to malfunction!")
+ to_chat(owner, span_warning("The electromagnetic pulse causes [src] to malfunction!"))
// give the owner an idea about why his implant is glitching
Retract()
@@ -115,9 +115,9 @@
if(!active_item || (active_item in src))
return
- owner.visible_message("[owner] retracts [active_item] back into [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.",
- "[active_item] snaps back into your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.",
- "You hear a short mechanical noise.")
+ owner.visible_message(span_notice("[owner] retracts [active_item] back into [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."),
+ span_notice("[active_item] snaps back into your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."),
+ span_hear("You hear a short mechanical noise."))
owner.transferItemToLoc(active_item, src, TRUE)
active_item = null
@@ -145,23 +145,23 @@
for(var/i in 1 to hand_items.len) //Can't just use *in* here.
var/hand_item = hand_items[i]
if(!owner.dropItemToGround(hand_item))
- failure_message += "Your [hand_item] interferes with [src]!"
+ failure_message += span_warning("Your [hand_item] interferes with [src]!")
continue
- to_chat(owner, "You drop [hand_item] to activate [src]!")
+ to_chat(owner, span_notice("You drop [hand_item] to activate [src]!"))
success = owner.put_in_hand(active_item, owner.get_empty_held_index_for_side(side))
break
if(!success)
for(var/i in failure_message)
to_chat(owner, i)
return
- owner.visible_message("[owner] extends [active_item] from [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.",
- "You extend [active_item] from your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm.",
- "You hear a short mechanical noise.")
+ owner.visible_message(span_notice("[owner] extends [active_item] from [owner.p_their()] [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."),
+ span_notice("You extend [active_item] from your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm."),
+ span_hear("You hear a short mechanical noise."))
playsound(get_turf(owner), 'sound/mecha/mechmove03.ogg', 50, TRUE)
/obj/item/organ/cyberimp/arm/ui_action_click()
if((organ_flags & ORGAN_FAILING) || (!active_item && !contents.len))
- to_chat(owner, "The implant doesn't respond. It seems to be broken...")
+ to_chat(owner, span_warning("The implant doesn't respond. It seems to be broken..."))
return
if(!active_item || (active_item in src))
@@ -190,9 +190,9 @@
return
if(prob(30/severity) && owner && !(organ_flags & ORGAN_FAILING))
Retract()
- owner.visible_message("A loud bang comes from [owner]\'s [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm!")
+ owner.visible_message(span_danger("A loud bang comes from [owner]\'s [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm!"))
playsound(get_turf(owner), 'sound/weapons/flashbang.ogg', 100, TRUE)
- to_chat(owner, "You feel an explosion erupt inside your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm as your implant breaks!")
+ to_chat(owner, span_userdanger("You feel an explosion erupt inside your [zone == BODY_ZONE_R_ARM ? "right" : "left"] arm as your implant breaks!"))
owner.adjust_fire_stacks(20)
owner.IgniteMob()
owner.adjustFireLoss(25)
@@ -238,7 +238,7 @@
if(istype(/obj/item/kitchen/knife/combat/cyborg, potential_knife))
return FALSE
- to_chat(user, "You unlock [src]'s integrated knife!")
+ to_chat(user, span_notice("You unlock [src]'s integrated knife!"))
items_list += WEAKREF(new /obj/item/kitchen/knife/combat/cyborg(src))
return TRUE
diff --git a/code/modules/surgery/organs/augments_chest.dm b/code/modules/surgery/organs/augments_chest.dm
index d9719ca2675..a75a11e77a2 100644
--- a/code/modules/surgery/organs/augments_chest.dm
+++ b/code/modules/surgery/organs/augments_chest.dm
@@ -21,7 +21,7 @@
if(owner.nutrition <= hunger_threshold)
synthesizing = TRUE
- to_chat(owner, "You feel less hungry...")
+ to_chat(owner, span_notice("You feel less hungry..."))
owner.adjust_nutrition(25 * delta_time)
addtimer(CALLBACK(src, .proc/synth_cool), 50)
@@ -33,7 +33,7 @@
if(!owner || . & EMP_PROTECT_SELF)
return
owner.reagents.add_reagent(/datum/reagent/toxin/bad_food, poison_amount / severity)
- to_chat(owner, "You feel like your insides are burning.")
+ to_chat(owner, span_warning("You feel like your insides are burning."))
/obj/item/organ/cyberimp/chest/nutriment/plus
@@ -63,7 +63,7 @@
else
COOLDOWN_START(src, reviver_cooldown, revive_cost)
reviving = FALSE
- to_chat(owner, "Your reviver implant shuts down and starts recharging. It will be ready again in [DisplayTimeText(revive_cost)].")
+ to_chat(owner, span_notice("Your reviver implant shuts down and starts recharging. It will be ready again in [DisplayTimeText(revive_cost)]."))
return
if(!COOLDOWN_FINISHED(src, reviver_cooldown) || owner.suiciding)
@@ -73,7 +73,7 @@
if(UNCONSCIOUS, HARD_CRIT)
revive_cost = 0
reviving = TRUE
- to_chat(owner, "You feel a faint buzzing as your reviver implant starts patching your wounds...")
+ to_chat(owner, span_notice("You feel a faint buzzing as your reviver implant starts patching your wounds..."))
/obj/item/organ/cyberimp/chest/reviver/proc/heal()
@@ -104,7 +104,7 @@
var/mob/living/carbon/human/human_owner = owner
if(human_owner.stat != DEAD && prob(50 / severity) && human_owner.can_heartattack())
human_owner.set_heartattack(TRUE)
- to_chat(human_owner, "You feel a horrible agony in your chest!")
+ to_chat(human_owner, span_userdanger("You feel a horrible agony in your chest!"))
addtimer(CALLBACK(src, .proc/undo_heart_attack), 600 / severity)
/obj/item/organ/cyberimp/chest/reviver/proc/undo_heart_attack()
@@ -113,7 +113,7 @@
return
human_owner.set_heartattack(FALSE)
if(human_owner.stat == CONSCIOUS)
- to_chat(human_owner, "You feel your heart beating again!")
+ to_chat(human_owner, span_notice("You feel your heart beating again!"))
/obj/item/organ/cyberimp/chest/thrusters
@@ -149,7 +149,7 @@
if(!on)
if((organ_flags & ORGAN_FAILING))
if(!silent)
- to_chat(owner, "Your thrusters set seems to be broken!")
+ to_chat(owner, span_warning("Your thrusters set seems to be broken!"))
return FALSE
if(allow_thrust(0.01))
on = TRUE
@@ -158,14 +158,14 @@
owner.add_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic)
RegisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE, .proc/pre_move_react)
if(!silent)
- to_chat(owner, "You turn your thrusters set on.")
+ to_chat(owner, span_notice("You turn your thrusters set on."))
else
ion_trail.stop()
UnregisterSignal(owner, COMSIG_MOVABLE_MOVED)
owner.remove_movespeed_modifier(/datum/movespeed_modifier/jetpack/cybernetic)
UnregisterSignal(owner, COMSIG_MOVABLE_PRE_MOVE)
if(!silent)
- to_chat(owner, "You turn your thrusters set off.")
+ to_chat(owner, span_notice("You turn your thrusters set off."))
on = FALSE
update_appearance()
diff --git a/code/modules/surgery/organs/augments_internal.dm b/code/modules/surgery/organs/augments_internal.dm
index 156f3bac3db..7bfe76b9d63 100644
--- a/code/modules/surgery/organs/augments_internal.dm
+++ b/code/modules/surgery/organs/augments_internal.dm
@@ -35,7 +35,7 @@
return
var/stun_amount = 200/severity
owner.Stun(stun_amount)
- to_chat(owner, "Your body seizes up!")
+ to_chat(owner, span_warning("Your body seizes up!"))
/obj/item/organ/cyberimp/brain/anti_drop
@@ -55,17 +55,17 @@
var/list/hold_list = owner.get_empty_held_indexes()
if(LAZYLEN(hold_list) == owner.held_items.len)
- to_chat(owner, "You are not holding any items, your hands relax...")
+ to_chat(owner, span_notice("You are not holding any items, your hands relax..."))
active = FALSE
stored_items = list()
else
for(var/obj/item/stored_item in stored_items)
- to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))]'s grip tightens.")
+ to_chat(owner, span_notice("Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))]'s grip tightens."))
ADD_TRAIT(stored_item, TRAIT_NODROP, IMPLANT_TRAIT)
else
release_items()
- to_chat(owner, "Your hands relax...")
+ to_chat(owner, span_notice("Your hands relax..."))
/obj/item/organ/cyberimp/brain/anti_drop/emp_act(severity)
@@ -79,7 +79,7 @@
for(var/obj/item/stored_item in stored_items)
throw_target = pick(oview(range))
stored_item.throw_at(throw_target, range, 2)
- to_chat(owner, "Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))] spasms and throws the [stored_item.name]!")
+ to_chat(owner, span_warning("Your [owner.get_held_index_name(owner.get_held_index_of_item(stored_item))] spasms and throws the [stored_item.name]!"))
stored_items = list()
@@ -155,7 +155,7 @@
if(!owner || . & EMP_PROTECT_SELF)
return
if(prob(60/severity))
- to_chat(owner, "Your breathing tube suddenly closes!")
+ to_chat(owner, span_warning("Your breathing tube suddenly closes!"))
owner.losebreath += 2
//BOX O' IMPLANTS
diff --git a/code/modules/surgery/organs/autosurgeon.dm b/code/modules/surgery/organs/autosurgeon.dm
index d187aed1f7e..e5fd8afff3f 100644
--- a/code/modules/surgery/organs/autosurgeon.dm
+++ b/code/modules/surgery/organs/autosurgeon.dm
@@ -39,13 +39,13 @@
/obj/item/autosurgeon/organ/attack_self(mob/user)//when the object it used...
if(!uses)
- to_chat(user, "[src] has already been used. The tools are dull and won't reactivate.")
+ to_chat(user, span_alert("[src] has already been used. The tools are dull and won't reactivate."))
return
else if(!storedorgan)
- to_chat(user, "[src] currently has no implant stored.")
+ to_chat(user, span_alert("[src] currently has no implant stored."))
return
storedorgan.Insert(user)//insert stored organ into the user
- user.visible_message("[user] presses a button on [src], and you hear a short mechanical noise.", "You feel a sharp sting as [src] plunges into your body.")
+ user.visible_message(span_notice("[user] presses a button on [src], and you hear a short mechanical noise."), span_notice("You feel a sharp sting as [src] plunges into your body."))
playsound(get_turf(user), 'sound/weapons/circsawhit.ogg', 50, TRUE)
storedorgan = null
name = initial(name)
@@ -57,15 +57,15 @@
/obj/item/autosurgeon/organ/attackby(obj/item/weapon, mob/user, params)
if(istype(weapon, organ_type))
if(storedorgan)
- to_chat(user, "[src] already has an implant stored.")
+ to_chat(user, span_alert("[src] already has an implant stored."))
return
else if(!uses)
- to_chat(user, "[src] has already been used up.")
+ to_chat(user, span_alert("[src] has already been used up."))
return
if(!user.transferItemToLoc(weapon, src))
return
storedorgan = weapon
- to_chat(user, "You insert the [weapon] into [src].")
+ to_chat(user, span_notice("You insert the [weapon] into [src]."))
else
return ..()
@@ -73,13 +73,13 @@
if(..())
return TRUE
if(!storedorgan)
- to_chat(user, "There's no implant in [src] for you to remove!")
+ to_chat(user, span_warning("There's no implant in [src] for you to remove!"))
else
var/atom/drop_loc = user.drop_location()
for(var/atom/movable/stored_implant as anything in src)
stored_implant.forceMove(drop_loc)
- to_chat(user, "You remove the [storedorgan] from [src].")
+ to_chat(user, span_notice("You remove the [storedorgan] from [src]."))
screwtool.play_tool_sound(src)
storedorgan = null
if(uses != INFINITE)
diff --git a/code/modules/surgery/organs/ears.dm b/code/modules/surgery/organs/ears.dm
index 3c88789c890..123c978a7e4 100644
--- a/code/modules/surgery/organs/ears.dm
+++ b/code/modules/surgery/organs/ears.dm
@@ -30,7 +30,7 @@
/obj/item/organ/ears/on_life(delta_time, times_fired)
// only inform when things got worse, needs to happen before we heal
if((damage > low_threshold && prev_damage < low_threshold) || (damage > high_threshold && prev_damage < high_threshold))
- to_chat(owner, "The ringing in your ears grows louder, blocking out any external noises for a moment.")
+ to_chat(owner, span_warning("The ringing in your ears grows louder, blocking out any external noises for a moment."))
. = ..()
// if we have non-damage related deafness like mutations, quirks or clothing (earmuffs), don't bother processing here. Ear healing from earmuffs or chems happen elsewhere
@@ -88,13 +88,13 @@
/obj/item/organ/ears/penguin/Insert(mob/living/carbon/human/ear_owner, special = 0, drop_if_replaced = TRUE)
. = ..()
if(istype(ear_owner))
- to_chat(ear_owner, "You suddenly feel like you've lost your balance.")
+ to_chat(ear_owner, span_notice("You suddenly feel like you've lost your balance."))
ear_owner.AddElement(/datum/element/waddling)
/obj/item/organ/ears/penguin/Remove(mob/living/carbon/human/ear_owner, special = 0)
. = ..()
if(istype(ear_owner))
- to_chat(ear_owner, "Your sense of balance comes back to you.")
+ to_chat(ear_owner, span_notice("Your sense of balance comes back to you."))
ear_owner.RemoveElement(/datum/element/waddling)
/obj/item/organ/ears/bronze
diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm
index f79b4ed8129..63b400ac3a8 100644
--- a/code/modules/surgery/organs/eyes.dm
+++ b/code/modules/surgery/organs/eyes.dm
@@ -159,7 +159,7 @@
return
if(prob(10 * severity))
return
- to_chat(owner, "Static obfuscates your vision!")
+ to_chat(owner, span_warning("Static obfuscates your vision!"))
owner.flash_act(visual = 1)
/obj/item/organ/eyes/robotic/basic
@@ -174,7 +174,7 @@
return
if(prob(10 * severity))
damage += 20 * severity
- to_chat(owner, "Your eyes start to fizzle in their sockets!")
+ to_chat(owner, span_warning("Your eyes start to fizzle in their sockets!"))
do_sparks(2, TRUE, owner)
owner.emote("scream")
@@ -334,13 +334,13 @@
/obj/item/organ/eyes/robotic/glow/proc/activate(silent = FALSE)
start_visuals()
if(!silent)
- to_chat(owner, "Your [src] clicks and makes a whining noise, before shooting out a beam of light!")
+ to_chat(owner, span_warning("Your [src] clicks and makes a whining noise, before shooting out a beam of light!"))
cycle_mob_overlay()
/obj/item/organ/eyes/robotic/glow/proc/deactivate(silent = FALSE)
clear_visuals()
if(!silent)
- to_chat(owner, "Your [src] shuts off!")
+ to_chat(owner, span_warning("Your [src] shuts off!"))
remove_mob_overlay()
/obj/item/organ/eyes/robotic/glow/proc/update_visuals(datum/source, olddir, newdir)
@@ -482,7 +482,7 @@
var/turf/owner_turf = get_turf(owner)
var/lums = owner_turf.get_lumcount()
if(lums > 0.5) //we allow a little more than usual so we can produce light from the adapted eyes
- to_chat(owner, "Your eyes! They burn in the light!")
+ to_chat(owner, span_danger("Your eyes! They burn in the light!"))
applyOrganDamage(10) //blind quickly
playsound(owner, 'sound/machines/grill/grillsizzle.ogg', 50)
else
diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm
index cb44005a4fe..f63d5d2a706 100644
--- a/code/modules/surgery/organs/heart.dm
+++ b/code/modules/surgery/organs/heart.dm
@@ -39,7 +39,7 @@
..()
if(!beating)
user.visible_message("[user] squeezes [src] to \
- make it beat again!","You squeeze [src] to make it beat again!")
+ make it beat again!",span_notice("You squeeze [src] to make it beat again!"))
Restart()
addtimer(CALLBACK(src, .proc/stop_if_unowned), 80)
@@ -75,7 +75,7 @@
if(heart_owner.health <= heart_owner.crit_threshold && beat != BEAT_SLOW)
beat = BEAT_SLOW
heart_owner.playsound_local(get_turf(heart_owner), slowbeat, 40, 0, channel = CHANNEL_HEARTBEAT, use_reverb = FALSE)
- to_chat(owner, "You feel your heart slow down...")
+ to_chat(owner, span_notice("You feel your heart slow down..."))
if(beat == BEAT_SLOW && heart_owner.health > heart_owner.crit_threshold)
heart_owner.stop_sound_channel(CHANNEL_HEARTBEAT)
beat = BEAT_NONE
@@ -90,8 +90,8 @@
if(organ_flags & ORGAN_FAILING && !(HAS_TRAIT(src, TRAIT_STABLEHEART))) //heart broke, stopped beating, death imminent... unless you have veins that pump blood without a heart
if(owner.stat == CONSCIOUS)
- owner.visible_message("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!", \
- "You feel a terrible pain in your chest, as if your heart has stopped!")
+ owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \
+ span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!"))
owner.set_heartattack(TRUE)
failed = TRUE
@@ -130,7 +130,7 @@
var/mob/living/carbon/human/accursed_human = owner
if(accursed_human.dna && !(NOBLOOD in accursed_human.dna.species.species_traits))
accursed_human.blood_volume = max(accursed_human.blood_volume - blood_loss, 0)
- to_chat(accursed_human, "You have to keep pumping your blood!")
+ to_chat(accursed_human, span_userdanger("You have to keep pumping your blood!"))
if(add_colour)
accursed_human.add_client_colour(/datum/client_colour/cursed_heart_blood) //bloody screen so real
add_colour = FALSE
@@ -140,7 +140,7 @@
/obj/item/organ/heart/cursed/Insert(mob/living/carbon/accursed, special = 0)
..()
if(owner)
- to_chat(owner, "Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!")
+ to_chat(owner, span_userdanger("Your heart has been replaced with a cursed one, you have to pump this one manually otherwise you'll die!"))
/obj/item/organ/heart/cursed/Remove(mob/living/carbon/accursed, special = 0)
..()
@@ -156,12 +156,12 @@
var/obj/item/organ/heart/cursed/cursed_heart = target
if(world.time < (cursed_heart.last_pump + (cursed_heart.pump_delay-10))) //no spam
- to_chat(owner, "Too soon!")
+ to_chat(owner, span_userdanger("Too soon!"))
return
cursed_heart.last_pump = world.time
playsound(owner,'sound/effects/singlebeat.ogg',40,TRUE)
- to_chat(owner, "Your heart beats.")
+ to_chat(owner, span_notice("Your heart beats."))
var/mob/living/carbon/human/accursed = owner
if(istype(accursed))
@@ -222,8 +222,8 @@
if(prob(emp_vulnerability/severity)) //Chance of permanent effects
organ_flags |= ORGAN_SYNTHETIC_EMP //Starts organ faliure - gonna need replacing soon.
Stop()
- owner.visible_message("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!", \
- "You feel a terrible pain in your chest, as if your heart has stopped!")
+ owner.visible_message(span_danger("[owner] clutches at [owner.p_their()] chest as if [owner.p_their()] heart is stopping!"), \
+ span_userdanger("You feel a terrible pain in your chest, as if your heart has stopped!"))
addtimer(CALLBACK(src, .proc/Restart), 10 SECONDS)
/obj/item/organ/heart/cybernetic/on_life(delta_time, times_fired)
@@ -250,7 +250,7 @@
. = ..()
if(owner.health < 5 && COOLDOWN_FINISHED(src, adrenaline_cooldown))
COOLDOWN_START(src, adrenaline_cooldown, rand(25 SECONDS, 1 MINUTES))
- to_chat(owner, "You feel yourself dying, but you refuse to give up!")
+ to_chat(owner, span_userdanger("You feel yourself dying, but you refuse to give up!"))
owner.heal_overall_damage(15, 15, 0, BODYPART_ORGANIC)
if(owner.reagents.get_reagent_amount(/datum/reagent/medicine/ephedrine) < 20)
owner.reagents.add_reagent(/datum/reagent/medicine/ephedrine, 10)
@@ -313,11 +313,11 @@
switch(timeleft(crystalize_timer_id))
if(0 to CRYSTALIZE_STAGE_ENGULFING)
- examine_list += "Crystals are almost engulfing [examined_human]! "
+ examine_list += span_warning("Crystals are almost engulfing [examined_human]! ")
if(CRYSTALIZE_STAGE_ENGULFING to CRYSTALIZE_STAGE_ENCROACHING)
- examine_list += "Crystals are starting to cover [examined_human]. "
+ examine_list += span_notice("Crystals are starting to cover [examined_human]. ")
if(CRYSTALIZE_STAGE_SMALL to INFINITY)
- examine_list += "Some crystals are coming out of [examined_human]. "
+ examine_list += span_notice("Some crystals are coming out of [examined_human]. ")
///On stat changes, if the victim is no longer dead but they're crystalizing, cancel it, if they become dead, start the crystalizing process if possible
/obj/item/organ/heart/ethereal/proc/on_stat_change(mob/living/victim, new_stat)
@@ -335,8 +335,8 @@
if(!COOLDOWN_FINISHED(src, crystalize_cooldown))
return //lol double rip
- to_chat(victim, "Crystals start forming around your dead body.")
- victim.visible_message("Crystals start forming around [victim].")
+ to_chat(victim, span_nicegreen("Crystals start forming around your dead body."))
+ victim.visible_message(span_notice("Crystals start forming around [victim]."))
ADD_TRAIT(victim, TRAIT_CORPSELOCKED, SPECIES_TRAIT)
crystalize_timer_id = addtimer(CALLBACK(src, .proc/crystalize, victim), CRYSTALIZE_PRE_WAIT_TIME, TIMER_STOPPABLE)
@@ -348,8 +348,8 @@
///Ran when disarmed, prevents the ethereal from reviving
/obj/item/organ/heart/ethereal/proc/reset_crystalizing(mob/living/defender, mob/living/attacker, zone)
SIGNAL_HANDLER
- to_chat(defender, "The crystals on your corpse are gently broken off, and will need some time to recover.")
- defender.visible_message("The crystals on [defender] are gently broken off.")
+ to_chat(defender, span_notice("The crystals on your corpse are gently broken off, and will need some time to recover."))
+ defender.visible_message(span_notice("The crystals on [defender] are gently broken off."))
deltimer(crystalize_timer_id)
crystalize_timer_id = addtimer(CALLBACK(src, .proc/crystalize, defender), CRYSTALIZE_DISARM_WAIT_TIME, TIMER_STOPPABLE) //Lets us restart the timer on disarm
@@ -363,7 +363,7 @@
return //Should probably not happen, but lets be safe.
if(ismob(location) || isitem(location)) //Stops crystallization if they are eaten by a dragon, turned into a legion, consumed by his grace, etc.
- to_chat(ethereal, "You were unable to finish your crystallization, for obvious reasons.")
+ to_chat(ethereal, span_warning("You were unable to finish your crystallization, for obvious reasons."))
stop_crystalization_process(ethereal, FALSE)
return
COOLDOWN_START(src, crystalize_cooldown, INFINITY) //Prevent cheeky double-healing until we get out, this is against stupid admemery
@@ -405,8 +405,8 @@
var/mob/living/carbon/human/ethereal = source
- to_chat(ethereal, "The crystals on your body have completely broken")
- ethereal.visible_message("The crystals on [ethereal] are completely shattered and stopped growing")
+ to_chat(ethereal, span_warning("The crystals on your body have completely broken"))
+ ethereal.visible_message(span_notice("The crystals on [ethereal] are completely shattered and stopped growing"))
stop_crystalization_process(ethereal)
@@ -430,8 +430,8 @@
/obj/structure/ethereal_crystal/Initialize(mapload, obj/item/organ/heart/ethereal/ethereal_heart)
. = ..()
src.ethereal_heart = ethereal_heart
- ethereal_heart.owner.visible_message("The crystals fully encase [ethereal_heart.owner]!")
- to_chat(ethereal_heart.owner, "You are encased in a huge crystal!")
+ ethereal_heart.owner.visible_message(span_notice("The crystals fully encase [ethereal_heart.owner]!"))
+ to_chat(ethereal_heart.owner, span_notice("You are encased in a huge crystal!"))
playsound(get_turf(src), 'sound/effects/ethereal_crystalization.ogg', 50)
ethereal_heart.owner.forceMove(src) //put that ethereal in
add_atom_colour(ethereal_heart.ethereal_color, FIXED_COLOUR_PRIORITY)
@@ -459,7 +459,7 @@
ethereal_heart.owner.forceMove(get_turf(src))
REMOVE_TRAIT(ethereal_heart.owner, TRAIT_CORPSELOCKED, SPECIES_TRAIT)
deltimer(crystal_heal_timer)
- visible_message("The crystals shatters, causing [ethereal_heart.owner] to fall out")
+ visible_message(span_notice("The crystals shatters, causing [ethereal_heart.owner] to fall out"))
return ..()
/obj/structure/ethereal_crystal/update_overlays()
@@ -471,7 +471,7 @@
/obj/structure/ethereal_crystal/proc/heal_ethereal()
ethereal_heart.owner.revive(TRUE, FALSE)
- to_chat(ethereal_heart.owner, "You burst out of the crystal with vigour... But at a cost.")
+ to_chat(ethereal_heart.owner, span_notice("You burst out of the crystal with vigour... But at a cost."))
var/datum/brain_trauma/picked_trauma
if(prob(10)) //10% chance for a severe trauma
picked_trauma = pick(subtypesof(/datum/brain_trauma/severe))
diff --git a/code/modules/surgery/organs/liver.dm b/code/modules/surgery/organs/liver.dm
index 42cd584654a..d0ffc87ba1c 100755
--- a/code/modules/surgery/organs/liver.dm
+++ b/code/modules/surgery/organs/liver.dm
@@ -54,7 +54,7 @@
if(HAS_TRAIT(src, TRAIT_CULINARY_METABOLISM))
. += "The high iron content and slight smell of garlic, implies that this is the liver of a cook."
if(HAS_TRAIT(src, TRAIT_COMEDY_METABOLISM))
- . += "A smell of bananas, a slippery sheen and honking when depressed, implies that this is the liver of a clown."
+ . += "A smell of bananas, a slippery sheen and [span_clown("honking")] when depressed, implies that this is the liver of a clown."
if(HAS_TRAIT(src, TRAIT_MEDICAL_METABOLISM))
. += "Marks of stress and a faint whiff of medicinal alcohol, imply that this is the liver of a medical worker."
if(HAS_TRAIT(src, TRAIT_GREYTIDE_METABOLISM))
@@ -99,7 +99,7 @@
liver_owner.reagents.metabolize(liver_owner, delta_time, times_fired, can_overdose=TRUE)
if(provide_pain_message && damage > 10 && DT_PROB(damage/6, delta_time)) //the higher the damage the higher the probability
- to_chat(liver_owner, "You feel a dull pain in your abdomen.")
+ to_chat(liver_owner, span_warning("You feel a dull pain in your abdomen."))
if(damage > maxHealth)//cap liver damage
@@ -170,11 +170,11 @@
return
switch(failure_time)
if(0 to 3 * LIVER_FAILURE_STAGE_SECONDS - 1)
- examine_list += "[owner]'s eyes are slightly yellow."
+ examine_list += span_notice("[owner]'s eyes are slightly yellow.")
if(3 * LIVER_FAILURE_STAGE_SECONDS to 4 * LIVER_FAILURE_STAGE_SECONDS - 1)
- examine_list += "[owner]'s eyes are completely yellow, and he is visibly suffering."
+ examine_list += span_notice("[owner]'s eyes are completely yellow, and he is visibly suffering.")
if(4 * LIVER_FAILURE_STAGE_SECONDS to INFINITY)
- examine_list += "[owner]'s eyes are completely yellow and swelling with pus. [owner.p_they()] don't look like they will be alive for much longer."
+ examine_list += span_danger("[owner]'s eyes are completely yellow and swelling with pus. [owner.p_they()] don't look like they will be alive for much longer.")
/obj/item/organ/liver/on_death(delta_time, times_fired)
. = ..()
diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm
index a90fc581750..322063de0aa 100644
--- a/code/modules/surgery/organs/lungs.dm
+++ b/code/modules/surgery/organs/lungs.dm
@@ -300,7 +300,7 @@
breather.emote("burp")
if (prob(nitryl_pp) && nitryl_pp>10)
breather.adjustOrganLoss(ORGAN_SLOT_LUNGS, nitryl_pp/2)
- to_chat(breather, "You feel a burning sensation in your chest")
+ to_chat(breather, span_notice("You feel a burning sensation in your chest"))
gas_breathed = breath_gases[/datum/gas/nitryl][MOLES]
if (gas_breathed > gas_stimulation_min)
breather.reagents.add_reagent(/datum/reagent/nitryl,1)
@@ -310,12 +310,12 @@
// Freon
var/freon_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/freon][MOLES])
if (prob(freon_pp))
- to_chat(breather, "Your mouth feels like it's burning!")
+ to_chat(breather, span_alert("Your mouth feels like it's burning!"))
if (freon_pp >40)
breather.emote("gasp")
breather.adjustFireLoss(15)
if (prob(freon_pp/2))
- to_chat(breather, "Your throat closes up!")
+ to_chat(breather, span_alert("Your throat closes up!"))
breather.silent = max(breather.silent, 3)
else
breather.adjustFireLoss(freon_pp/4)
@@ -329,7 +329,7 @@
var/healium_pp = breath.get_breath_partial_pressure(breath_gases[/datum/gas/healium][MOLES])
if(healium_pp > gas_stimulation_min)
if(prob(15))
- to_chat(breather, "Your head starts spinning and your lungs burn!")
+ to_chat(breather, span_alert("Your head starts spinning and your lungs burn!"))
healium_euphoria = EUPHORIA_ACTIVE
breather.emote("gasp")
else
@@ -395,22 +395,22 @@
// At lower pp, give out a little warning
SEND_SIGNAL(owner, COMSIG_CLEAR_MOOD_EVENT, "smell")
if(prob(5))
- to_chat(owner, "There is an unpleasant smell in the air.")
+ to_chat(owner, span_notice("There is an unpleasant smell in the air."))
if(5 to 15)
//At somewhat higher pp, warning becomes more obvious
if(prob(15))
- to_chat(owner, "You smell something horribly decayed inside this room.")
+ to_chat(owner, span_warning("You smell something horribly decayed inside this room."))
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/bad_smell)
if(15 to 30)
//Small chance to vomit. By now, people have internals on anyway
if(prob(5))
- to_chat(owner, "The stench of rotting carcasses is unbearable!")
+ to_chat(owner, span_warning("The stench of rotting carcasses is unbearable!"))
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench)
owner.vomit()
if(30 to INFINITY)
//Higher chance to vomit. Let the horror start
if(prob(15))
- to_chat(owner, "The stench of rotting carcasses is unbearable!")
+ to_chat(owner, span_warning("The stench of rotting carcasses is unbearable!"))
SEND_SIGNAL(owner, COMSIG_ADD_MOOD_EVENT, "smell", /datum/mood_event/disgust/nauseating_stench)
owner.vomit()
else
@@ -468,7 +468,7 @@
breather.apply_damage_type(cold_level_1_damage*cold_modifier, cold_damage_type)
if(breath_temperature < cold_level_1_threshold)
if(prob(20))
- to_chat(breather, "You feel [cold_message] in your [name]!")
+ to_chat(breather, span_warning("You feel [cold_message] in your [name]!"))
if(!HAS_TRAIT(breather, TRAIT_RESISTHEAT)) // HEAT DAMAGE
var/heat_modifier = breather.dna.species.heatmod
@@ -480,7 +480,7 @@
breather.apply_damage_type(heat_level_3_damage*heat_modifier, heat_damage_type)
if(breath_temperature > heat_level_1_threshold)
if(prob(20))
- to_chat(breather, "You feel [hot_message] in your [name]!")
+ to_chat(breather, span_warning("You feel [hot_message] in your [name]!"))
// The air you breathe out should match your body temperature
breath.temperature = breather.bodytemperature
@@ -495,7 +495,7 @@
if(do_i_cough)
owner.emote("cough")
if(organ_flags & ORGAN_FAILING && owner.stat == CONSCIOUS)
- owner.visible_message("[owner] grabs [owner.p_their()] throat, struggling for breath!", "You suddenly feel like you can't breathe!")
+ owner.visible_message(span_danger("[owner] grabs [owner.p_their()] throat, struggling for breath!"), span_userdanger("You suddenly feel like you can't breathe!"))
failed = TRUE
/obj/item/organ/lungs/get_availability(datum/species/owner_species)
diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm
index 442d72a3963..395f1badda5 100644
--- a/code/modules/surgery/organs/organ_internal.dm
+++ b/code/modules/surgery/organs/organ_internal.dm
@@ -132,17 +132,17 @@
/obj/item/organ/examine(mob/user)
. = ..()
- . += "It should be inserted in the [parse_zone(zone)]."
+ . += span_notice("It should be inserted in the [parse_zone(zone)].")
if(organ_flags & ORGAN_FAILING)
if(status == ORGAN_ROBOTIC)
- . += "[src] seems to be broken."
+ . += span_warning("[src] seems to be broken.")
return
- . += "[src] has decayed for too long, and has turned a sickly color. It probably won't work without repairs."
+ . += span_warning("[src] has decayed for too long, and has turned a sickly color. It probably won't work without repairs.")
return
if(damage > high_threshold)
- . += "[src] is starting to look discolored."
+ . += span_warning("[src] is starting to look discolored.")
/obj/item/organ/Initialize()
. = ..()
diff --git a/code/modules/surgery/organs/stomach.dm b/code/modules/surgery/organs/stomach.dm
index cc25b90f91e..4d076482e43 100755
--- a/code/modules/surgery/organs/stomach.dm
+++ b/code/modules/surgery/organs/stomach.dm
@@ -106,13 +106,13 @@
//The stomach is damage has nutriment but low on theshhold, lo prob of vomit
if(DT_PROB(0.0125 * damage * nutri_vol * nutri_vol, delta_time))
body.vomit(damage)
- to_chat(body, "Your stomach reels in pain as you're incapable of holding down all that food!")
+ to_chat(body, span_warning("Your stomach reels in pain as you're incapable of holding down all that food!"))
return
// the change of vomit is now high
if(damage > high_threshold && DT_PROB(0.05 * damage * nutri_vol * nutri_vol, delta_time))
body.vomit(damage)
- to_chat(body, "Your stomach reels in pain as you're incapable of holding down all that food!")
+ to_chat(body, span_warning("Your stomach reels in pain as you're incapable of holding down all that food!"))
/obj/item/organ/stomach/get_availability(datum/species/owner_species)
return !(NOSTOMACH in owner_species.inherent_traits)
@@ -125,7 +125,7 @@
disgusted.stuttering += 1
disgusted.add_confusion(2)
if(DT_PROB(5, delta_time) && !disgusted.stat)
- to_chat(disgusted, "You feel kind of iffy...")
+ to_chat(disgusted, span_warning("You feel kind of iffy..."))
disgusted.jitteriness = max(disgusted.jitteriness - 3, 0)
if(disgusted.disgust >= DISGUST_LEVEL_VERYGROSS)
if(DT_PROB(pukeprob, delta_time)) //iT hAndLeS mOrE ThaN PukInG
@@ -174,7 +174,7 @@
var/mob/living/carbon/body = owner
if(milk.volume > 50)
reagents.remove_reagent(milk.type, milk.volume - 5)
- to_chat(owner, "The excess milk is dripping off your bones!")
+ to_chat(owner, span_warning("The excess milk is dripping off your bones!"))
body.heal_bodypart_damage(milk_brute_healing * REAGENTS_EFFECT_MULTIPLIER * delta_time, milk_burn_healing * REAGENTS_EFFECT_MULTIPLIER * delta_time)
for(var/datum/wound/iter_wound as anything in body.all_wounds)
@@ -218,7 +218,7 @@
if(flags & SHOCK_ILLUSION)
return
adjust_charge(shock_damage * siemens_coeff * 2)
- to_chat(owner, "You absorb some of the shock into your body!")
+ to_chat(owner, span_notice("You absorb some of the shock into your body!"))
/obj/item/organ/stomach/ethereal/proc/adjust_charge(amount)
crystal_charge = clamp(crystal_charge + amount, ETHEREAL_CHARGE_NONE, ETHEREAL_CHARGE_DANGEROUS)
diff --git a/code/modules/surgery/organs/tongue.dm b/code/modules/surgery/organs/tongue.dm
index ef22605ac3d..6148849a944 100644
--- a/code/modules/surgery/organs/tongue.dm
+++ b/code/modules/surgery/organs/tongue.dm
@@ -119,19 +119,19 @@
/datum/action/item_action/organ_action/statue/Trigger()
. = ..()
if(!iscarbon(owner))
- to_chat(owner, "Your body rejects the powers of the tongue!")
+ to_chat(owner, span_warning("Your body rejects the powers of the tongue!"))
return
var/mob/living/carbon/becoming_statue = owner
if(becoming_statue.health < 1)
- to_chat(becoming_statue, "You are too weak to become a statue!")
+ to_chat(becoming_statue, span_danger("You are too weak to become a statue!"))
return
if(!COOLDOWN_FINISHED(src, ability_cooldown))
- to_chat(becoming_statue, "You just used the ability, wait a little bit!")
+ to_chat(becoming_statue, span_warning("You just used the ability, wait a little bit!"))
return
var/is_statue = becoming_statue.loc == statue
- to_chat(becoming_statue, "You begin to [is_statue ? "break free from the statue" : "make a glorious pose as you become a statue"]!")
+ to_chat(becoming_statue, span_notice("You begin to [is_statue ? "break free from the statue" : "make a glorious pose as you become a statue"]!"))
if(!do_after(becoming_statue, (is_statue ? 5 : 30), target = get_turf(becoming_statue)))
- to_chat(becoming_statue, "Your transformation is interrupted!")
+ to_chat(becoming_statue, span_warning("Your transformation is interrupted!"))
COOLDOWN_START(src, ability_cooldown, 3 SECONDS)
return
COOLDOWN_START(src, ability_cooldown, 10 SECONDS)
@@ -142,12 +142,12 @@
statue.set_custom_materials(list(/datum/material/silver=MINERAL_MATERIAL_AMOUNT*5))
if(is_statue)
- statue.visible_message("[statue] becomes animated!")
+ statue.visible_message(span_danger("[statue] becomes animated!"))
becoming_statue.forceMove(get_turf(statue))
statue.moveToNullspace()
UnregisterSignal(becoming_statue, COMSIG_MOVABLE_MOVED)
else
- becoming_statue.visible_message("[becoming_statue] hardens into a silver statue.", "You have become a silver statue!")
+ becoming_statue.visible_message(span_notice("[becoming_statue] hardens into a silver statue."), span_notice("You have become a silver statue!"))
statue.set_visuals(becoming_statue.appearance)
statue.forceMove(get_turf(becoming_statue))
becoming_statue.forceMove(statue)
@@ -162,7 +162,7 @@
UnregisterSignal(mover, COMSIG_MOVABLE_MOVED)
/datum/action/item_action/organ_action/statue/proc/statue_destroyed(datum/source)
- to_chat(owner, "Your existence as a living creature snaps as your statue form crumbles!")
+ to_chat(owner, span_userdanger("Your existence as a living creature snaps as your statue form crumbles!"))
if(iscarbon(owner))
//drop everything, just in case
var/mob/living/carbon/dying_carbon = owner
@@ -228,27 +228,27 @@
return
if(tongue.mothership == mothership)
- to_chat(tongue_holder, "[src] is already attuned to the same channel as your own.")
+ to_chat(tongue_holder, span_notice("[src] is already attuned to the same channel as your own."))
- tongue_holder.visible_message("[tongue_holder] holds [src] in their hands, and concentrates for a moment.", "You attempt to modify the attenuation of [src].")
+ tongue_holder.visible_message(span_notice("[tongue_holder] holds [src] in their hands, and concentrates for a moment."), span_notice("You attempt to modify the attenuation of [src]."))
if(do_after(tongue_holder, delay=15, target=src))
- to_chat(tongue_holder, "You attune [src] to your own channel.")
+ to_chat(tongue_holder, span_notice("You attune [src] to your own channel."))
mothership = tongue.mothership
/obj/item/organ/tongue/abductor/examine(mob/examining_mob)
. = ..()
if(HAS_TRAIT(examining_mob, TRAIT_ABDUCTOR_TRAINING) || (examining_mob.mind && HAS_TRAIT(examining_mob.mind, TRAIT_ABDUCTOR_TRAINING)) || isobserver(examining_mob))
- . += "It can be attuned to a different channel by using it inhand."
+ . += span_notice("It can be attuned to a different channel by using it inhand.")
if(!mothership)
- . += "It is not attuned to a specific mothership."
+ . += span_notice("It is not attuned to a specific mothership.")
else
- . += "It is attuned to [mothership]."
+ . += span_notice("It is attuned to [mothership].")
/obj/item/organ/tongue/abductor/handle_speech(datum/source, list/speech_args)
//Hacks
var/message = speech_args[SPEECH_MESSAGE]
var/mob/living/carbon/human/user = source
- var/rendered = "[user.real_name]: [message]"
+ var/rendered = span_abductor("[user.real_name]: [message]")
user.log_talk(message, LOG_SAY, tag="abductor")
for(var/mob/living/carbon/human/living_mob in GLOB.alive_mob_list)
var/obj/item/organ/tongue/abductor/tongue = living_mob.getorganslot(ORGAN_SLOT_TONGUE)
@@ -463,8 +463,8 @@
speech_args[SPEECH_MESSAGE] = new_message
if(exclamation_found && question_found)
- signer.visible_message("[signer] lowers one of [signer.p_their()] eyebrows, raising the other.")
+ signer.visible_message(span_notice("[signer] lowers one of [signer.p_their()] eyebrows, raising the other."))
else if(exclamation_found)
- signer.visible_message("[signer] raises [signer.p_their()] eyebrows.")
+ signer.visible_message(span_notice("[signer] raises [signer.p_their()] eyebrows."))
else if(question_found)
- signer.visible_message("[signer] lowers [signer.p_their()] eyebrows.")
+ signer.visible_message(span_notice("[signer] lowers [signer.p_their()] eyebrows."))
diff --git a/code/modules/surgery/organs/vocal_cords.dm b/code/modules/surgery/organs/vocal_cords.dm
index 10042a2a287..535615b789a 100644
--- a/code/modules/surgery/organs/vocal_cords.dm
+++ b/code/modules/surgery/organs/vocal_cords.dm
@@ -39,7 +39,7 @@
owner.say(".x[message]")
/obj/item/organ/vocal_cords/adamantine/handle_speech(message)
- var/msg = "[owner.real_name] resonates, \"[message]\""
+ var/msg = span_resonate(span_name("[owner.real_name] resonates, \"[message]\""))
for(var/player in GLOB.player_list)
if(iscarbon(player))
var/mob/living/carbon/speaker = player
@@ -86,7 +86,7 @@
. = ..()
if(!IsAvailable())
if(world.time < cords.next_command)
- to_chat(owner, "You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again.")
+ to_chat(owner, span_notice("You must wait [DisplayTimeText(cords.next_command - world.time)] before Speaking again."))
return
var/command = input(owner, "Speak with the Voice of God", "Command")
if(QDELETED(src) || QDELETED(owner))
@@ -97,12 +97,12 @@
/obj/item/organ/vocal_cords/colossus/can_speak_with()
if(world.time < next_command)
- to_chat(owner, "You must wait [DisplayTimeText(next_command - world.time)] before Speaking again.")
+ to_chat(owner, span_notice("You must wait [DisplayTimeText(next_command - world.time)] before Speaking again."))
return FALSE
if(!owner)
return FALSE
if(!owner.can_speak_vocal())
- to_chat(owner, "You are unable to speak!")
+ to_chat(owner, span_warning("You are unable to speak!"))
return FALSE
return TRUE
diff --git a/code/modules/surgery/plastic_surgery.dm b/code/modules/surgery/plastic_surgery.dm
index 6ed3df48f69..13542cd7180 100644
--- a/code/modules/surgery/plastic_surgery.dm
+++ b/code/modules/surgery/plastic_surgery.dm
@@ -17,17 +17,17 @@
time = 64
/datum/surgery_step/reshape_face/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- user.visible_message("[user] begins to alter [target]'s appearance.", "You begin to alter [target]'s appearance...")
- display_results(user, target, "You begin to alter [target]'s appearance...",
- "[user] begins to alter [target]'s appearance.",
- "[user] begins to make an incision in [target]'s face.")
+ user.visible_message(span_notice("[user] begins to alter [target]'s appearance."), span_notice("You begin to alter [target]'s appearance..."))
+ display_results(user, target, span_notice("You begin to alter [target]'s appearance..."),
+ span_notice("[user] begins to alter [target]'s appearance."),
+ span_notice("[user] begins to make an incision in [target]'s face."))
/datum/surgery_step/reshape_face/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(HAS_TRAIT_FROM(target, TRAIT_DISFIGURED, TRAIT_GENERIC))
REMOVE_TRAIT(target, TRAIT_DISFIGURED, TRAIT_GENERIC)
- display_results(user, target, "You successfully restore [target]'s appearance.",
- "[user] successfully restores [target]'s appearance!",
- "[user] finishes the operation on [target]'s face.")
+ display_results(user, target, span_notice("You successfully restore [target]'s appearance."),
+ span_notice("[user] successfully restores [target]'s appearance!"),
+ span_notice("[user] finishes the operation on [target]'s face."))
else
var/list/names = list()
if(!isabductor(user))
@@ -43,17 +43,17 @@
var/oldname = target.real_name
target.real_name = chosen_name
var/newname = target.real_name //something about how the code handles names required that I use this instead of target.real_name
- display_results(user, target, "You alter [oldname]'s appearance completely, [target.p_they()] is now [newname].",
- "[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!",
- "[user] finishes the operation on [target]'s face.")
+ display_results(user, target, span_notice("You alter [oldname]'s appearance completely, [target.p_they()] is now [newname]."),
+ span_notice("[user] alters [oldname]'s appearance completely, [target.p_they()] is now [newname]!"),
+ span_notice("[user] finishes the operation on [target]'s face."))
if(ishuman(target))
var/mob/living/carbon/human/human_target = target
human_target.sec_hud_set_ID()
return ..()
/datum/surgery_step/reshape_face/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You screw up, leaving [target]'s appearance disfigured!",
- "[user] screws up, disfiguring [target]'s appearance!",
- "[user] finishes the operation on [target]'s face.")
+ display_results(user, target, span_warning("You screw up, leaving [target]'s appearance disfigured!"),
+ span_notice("[user] screws up, disfiguring [target]'s appearance!"),
+ span_notice("[user] finishes the operation on [target]'s face."))
ADD_TRAIT(target, TRAIT_DISFIGURED, TRAIT_GENERIC)
return FALSE
diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm
index 44082d6025d..8232e34ebe1 100644
--- a/code/modules/surgery/prosthetic_replacement.dm
+++ b/code/modules/surgery/prosthetic_replacement.dm
@@ -33,42 +33,42 @@
/datum/surgery_step/add_prosthetic/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(istype(tool, /obj/item/borg/apparatus/organ_storage))
if(!tool.contents.len)
- to_chat(user, "There is nothing inside [tool]!")
+ to_chat(user, span_warning("There is nothing inside [tool]!"))
return -1
var/obj/item/organ_storage_contents = tool.contents[1]
if(!isbodypart(organ_storage_contents))
- to_chat(user, "[organ_storage_contents] cannot be attached!")
+ to_chat(user, span_warning("[organ_storage_contents] cannot be attached!"))
return -1
tool = organ_storage_contents
if(istype(tool, /obj/item/bodypart))
var/obj/item/bodypart/bodypart_to_attach = tool
if(ismonkey(target))// monkey patient only accept organic monkey limbs
if(bodypart_to_attach.status == BODYPART_ROBOTIC || bodypart_to_attach.animal_origin != MONKEY_BODYPART)
- to_chat(user, "[bodypart_to_attach] doesn't match the patient's morphology.")
+ to_chat(user, span_warning("[bodypart_to_attach] doesn't match the patient's morphology."))
return -1
if(bodypart_to_attach.status != BODYPART_ROBOTIC)
organ_rejection_dam = 10
if(ishuman(target))
if(bodypart_to_attach.animal_origin)
- to_chat(user, "[bodypart_to_attach] doesn't match the patient's morphology.")
+ to_chat(user, span_warning("[bodypart_to_attach] doesn't match the patient's morphology."))
return -1
var/mob/living/carbon/human/human_target = target
if(human_target.dna.species.id != bodypart_to_attach.species_id)
organ_rejection_dam = 30
if(target_zone == bodypart_to_attach.body_zone) //so we can't replace a leg with an arm, or a human arm with a monkey arm.
- display_results(user, target, "You begin to replace [target]'s [parse_zone(target_zone)] with [tool]...",
- "[user] begins to replace [target]'s [parse_zone(target_zone)] with [tool].",
- "[user] begins to replace [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to replace [target]'s [parse_zone(target_zone)] with [tool]..."),
+ span_notice("[user] begins to replace [target]'s [parse_zone(target_zone)] with [tool]."),
+ span_notice("[user] begins to replace [target]'s [parse_zone(target_zone)]."))
else
- to_chat(user, "[tool] isn't the right type for [parse_zone(target_zone)].")
+ to_chat(user, span_warning("[tool] isn't the right type for [parse_zone(target_zone)]."))
return -1
else if(target_zone == BODY_ZONE_L_ARM || target_zone == BODY_ZONE_R_ARM)
- display_results(user, target, "You begin to attach [tool] onto [target]...",
- "[user] begins to attach [tool] onto [target]'s [parse_zone(target_zone)].",
- "[user] begins to attach something onto [target]'s [parse_zone(target_zone)].")
+ display_results(user, target, span_notice("You begin to attach [tool] onto [target]..."),
+ span_notice("[user] begins to attach [tool] onto [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] begins to attach something onto [target]'s [parse_zone(target_zone)]."))
else
- to_chat(user, "[tool] must be installed onto an arm.")
+ to_chat(user, span_warning("[tool] must be installed onto an arm."))
return -1
/datum/surgery_step/add_prosthetic/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
@@ -81,29 +81,29 @@
if(istype(tool, /obj/item/bodypart) && user.temporarilyRemoveItemFromInventory(tool))
var/obj/item/bodypart/limb_to_attach = tool
if(!limb_to_attach.attach_limb(target))
- display_results(user, target, "You fail in replacing [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!",
- "[user] fails to replace [target]'s [parse_zone(target_zone)]!",
- "[user] fails to replaces [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_warning("You fail in replacing [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!"),
+ span_warning("[user] fails to replace [target]'s [parse_zone(target_zone)]!"),
+ span_warning("[user] fails to replaces [target]'s [parse_zone(target_zone)]!"))
return
if(organ_rejection_dam)
target.adjustToxLoss(organ_rejection_dam)
- display_results(user, target, "You succeed in replacing [target]'s [parse_zone(target_zone)].",
- "[user] successfully replaces [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully replaces [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You succeed in replacing [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully replaces [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully replaces [target]'s [parse_zone(target_zone)]!"))
return
else
var/obj/item/bodypart/limb_to_attach = target.newBodyPart(target_zone, FALSE, FALSE)
limb_to_attach.is_pseudopart = TRUE
if(!limb_to_attach.attach_limb(target))
- display_results(user, target, "You fail in attaching [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!",
- "[user] fails to attach [target]'s [parse_zone(target_zone)]!",
- "[user] fails to attach [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_warning("You fail in attaching [target]'s [parse_zone(target_zone)]! Their body has rejected [limb_to_attach]!"),
+ span_warning("[user] fails to attach [target]'s [parse_zone(target_zone)]!"),
+ span_warning("[user] fails to attach [target]'s [parse_zone(target_zone)]!"))
limb_to_attach.forceMove(target.loc)
return
- user.visible_message("[user] finishes attaching [tool]!", "You attach [tool].")
- display_results(user, target, "You attach [tool].",
- "[user] finishes attaching [tool]!",
- "[user] finishes the attachment procedure!")
+ user.visible_message(span_notice("[user] finishes attaching [tool]!"), span_notice("You attach [tool]."))
+ display_results(user, target, span_notice("You attach [tool]."),
+ span_notice("[user] finishes attaching [tool]!"),
+ span_notice("[user] finishes the attachment procedure!"))
qdel(tool)
if(istype(tool, /obj/item/chainsaw))
var/obj/item/mounted_chainsaw/new_arm = new(target)
diff --git a/code/modules/surgery/repair_puncture.dm b/code/modules/surgery/repair_puncture.dm
index 5d55c8ef431..9cd3602b7c4 100644
--- a/code/modules/surgery/repair_puncture.dm
+++ b/code/modules/surgery/repair_puncture.dm
@@ -41,27 +41,27 @@
/datum/surgery_step/repair_innards/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/datum/wound/pierce/pierce_wound = surgery.operated_wound
if(!pierce_wound)
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
return
if(pierce_wound.blood_flow <= 0)
- to_chat(user, "[target]'s [parse_zone(user.zone_selected)] has no puncture to repair!")
+ to_chat(user, span_notice("[target]'s [parse_zone(user.zone_selected)] has no puncture to repair!"))
surgery.status++
return
- display_results(user, target, "You begin to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to realign the torn blood vessels in [target]'s [parse_zone(user.zone_selected)]."))
/datum/surgery_step/repair_innards/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/datum/wound/pierce/pierce_wound = surgery.operated_wound
if(!pierce_wound)
- to_chat(user, "[target] has no puncture wound there!")
+ to_chat(user, span_warning("[target] has no puncture wound there!"))
return ..()
- display_results(user, target, "You successfully realign some of the blood vessels in [target]'s [parse_zone(target_zone)].",
- "[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully realign some of the blood vessels in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully realigns some of the blood vessels in [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "excised infected flesh in", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
surgery.operated_bodypart.receive_damage(brute=3, wound_bonus=CANT_WOUND)
pierce_wound.blood_flow -= 0.25
@@ -69,9 +69,9 @@
/datum/surgery_step/repair_innards/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
. = ..()
- display_results(user, target, "You jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)].",
- "[user] jerks apart some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)]."),
+ span_notice("[user] jerks apart some of the blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] jerk apart some of the blood vessels in [target]'s [parse_zone(target_zone)]!"))
surgery.operated_bodypart.receive_damage(brute=rand(4,8), sharpness=SHARP_EDGED, wound_bonus = 10)
///// Sealing the vessels back together
@@ -93,28 +93,28 @@
/datum/surgery_step/seal_veins/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
var/datum/wound/pierce/pierce_wound = surgery.operated_wound
if(!pierce_wound)
- user.visible_message("[user] looks for [target]'s [parse_zone(user.zone_selected)].", "You look for [target]'s [parse_zone(user.zone_selected)]...")
+ user.visible_message(span_notice("[user] looks for [target]'s [parse_zone(user.zone_selected)]."), span_notice("You look for [target]'s [parse_zone(user.zone_selected)]..."))
return
- display_results(user, target, "You begin to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)]...",
- "[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool].",
- "[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)].")
+ display_results(user, target, span_notice("You begin to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)]..."),
+ span_notice("[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)] with [tool]."),
+ span_notice("[user] begins to meld some of the split blood vessels in [target]'s [parse_zone(user.zone_selected)]."))
/datum/surgery_step/seal_veins/success(mob/living/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
var/datum/wound/pierce/pierce_wound = surgery.operated_wound
if(!pierce_wound)
- to_chat(user, "[target] has no puncture there!")
+ to_chat(user, span_warning("[target] has no puncture there!"))
return ..()
- display_results(user, target, "You successfully meld some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool].",
- "[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!",
- "[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)]!")
+ display_results(user, target, span_notice("You successfully meld some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool]."),
+ span_notice("[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)] with [tool]!"),
+ span_notice("[user] successfully melds some of the split blood vessels in [target]'s [parse_zone(target_zone)]!"))
log_combat(user, target, "dressed burns in", addition="COMBAT MODE: [uppertext(user.combat_mode)]")
pierce_wound.blood_flow -= 0.5
if(pierce_wound.blood_flow > 0)
surgery.status = REALIGN_INNARDS
- to_chat(user, "There still seems to be misaligned blood vessels to finish...")
+ to_chat(user, span_notice("There still seems to be misaligned blood vessels to finish..."))
else
- to_chat(user, "You've repaired all the internal damage in [target]'s [parse_zone(target_zone)]!")
+ to_chat(user, span_green("You've repaired all the internal damage in [target]'s [parse_zone(target_zone)]!"))
return ..()
#undef REALIGN_INNARDS
diff --git a/code/modules/surgery/revival.dm b/code/modules/surgery/revival.dm
index 941e064bb03..b8d620a98db 100644
--- a/code/modules/surgery/revival.dm
+++ b/code/modules/surgery/revival.dm
@@ -40,48 +40,48 @@
if(istype(tool, /obj/item/shockpaddles))
var/obj/item/shockpaddles/paddles = tool
if((paddles.req_defib && !paddles.defib.powered) || !paddles.wielded || paddles.cooldown || paddles.busy)
- to_chat(user, "You need to wield both paddles, and [paddles.defib] must be powered!")
+ to_chat(user, span_warning("You need to wield both paddles, and [paddles.defib] must be powered!"))
return FALSE
if(istype(tool, /obj/item/melee/baton))
var/obj/item/melee/baton/baton = tool
if(!baton.turned_on)
- to_chat(user, "[baton] needs to be active!")
+ to_chat(user, span_warning("[baton] needs to be active!"))
return FALSE
if(istype(tool, /obj/item/gun/energy))
var/obj/item/gun/energy/egun = tool
if(egun.chambered && istype(egun.chambered, /obj/item/ammo_casing/energy/electrode))
return TRUE
else
- to_chat(user, "You need an electrode for this!")
+ to_chat(user, span_warning("You need an electrode for this!"))
return FALSE
/datum/surgery_step/revive/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You prepare to give [target]'s brain the spark of life with [tool].",
- "[user] prepares to shock [target]'s brain with [tool].",
- "[user] prepares to shock [target]'s brain with [tool].")
+ display_results(user, target, span_notice("You prepare to give [target]'s brain the spark of life with [tool]."),
+ span_notice("[user] prepares to shock [target]'s brain with [tool]."),
+ span_notice("[user] prepares to shock [target]'s brain with [tool]."))
target.notify_ghost_cloning("Someone is trying to zap your brain.", source = target)
/datum/surgery_step/revive/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results)
- display_results(user, target, "You successfully shock [target]'s brain with [tool]...",
- "[user] send a powerful shock to [target]'s brain with [tool]...",
- "[user] send a powerful shock to [target]'s brain with [tool]...")
+ display_results(user, target, span_notice("You successfully shock [target]'s brain with [tool]..."),
+ span_notice("[user] send a powerful shock to [target]'s brain with [tool]..."),
+ span_notice("[user] send a powerful shock to [target]'s brain with [tool]..."))
playsound(get_turf(target), 'sound/magic/lightningbolt.ogg', 50, TRUE)
target.grab_ghost()
target.adjustOxyLoss(-50, 0)
target.updatehealth()
if(target.revive(full_heal = FALSE, admin_revive = FALSE))
- target.visible_message("...[target] wakes up, alive and aware!")
+ target.visible_message(span_notice("...[target] wakes up, alive and aware!"))
target.emote("gasp")
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 50, 199) //MAD SCIENCE
return TRUE
else
- target.visible_message("...[target.p_they()] convulses, then lies still.")
+ target.visible_message(span_warning("...[target.p_they()] convulses, then lies still."))
return FALSE
/datum/surgery_step/revive/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You shock [target]'s brain with [tool], but [target.p_they()] doesn't react.",
- "[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react.",
- "[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react.")
+ display_results(user, target, span_notice("You shock [target]'s brain with [tool], but [target.p_they()] doesn't react."),
+ span_notice("[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react."),
+ span_notice("[user] send a powerful shock to [target]'s brain with [tool], but [target.p_they()] doesn't react."))
playsound(get_turf(target), 'sound/magic/lightningbolt.ogg', 50, TRUE)
target.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15, 180)
return FALSE
diff --git a/code/modules/surgery/stomachpump.dm b/code/modules/surgery/stomachpump.dm
index 1a8c2701c61..3fc9185a4b5 100644
--- a/code/modules/surgery/stomachpump.dm
+++ b/code/modules/surgery/stomachpump.dm
@@ -30,15 +30,15 @@
time = 20
/datum/surgery_step/stomach_pump/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin pumping [target]'s stomach...",
- "[user] begins to pump [target]'s stomach.",
- "[user] begins to press on [target]'s chest.")
+ display_results(user, target, span_notice("You begin pumping [target]'s stomach..."),
+ span_notice("[user] begins to pump [target]'s stomach."),
+ span_notice("[user] begins to press on [target]'s chest."))
/datum/surgery_step/stomach_pump/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE)
if(ishuman(target))
var/mob/living/carbon/human/target_human = target
- display_results(user, target, "[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!",
- "[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!",
+ display_results(user, target, span_notice("[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!"),
+ span_notice("[user] forces [target_human] to vomit, cleansing their stomach of some chemicals!"),
"[user] forces [target_human] to vomit!")
target_human.vomit(20, FALSE, TRUE, 1, TRUE, FALSE, purge_ratio = 0.67) //higher purge ratio than regular vomiting
return ..()
@@ -46,8 +46,8 @@
/datum/surgery_step/stomach_pump/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery)
if(ishuman(target))
var/mob/living/carbon/human/target_human = target
- display_results(user, target, "You screw up, brusing [target_human]'s chest!",
- "[user] screws up, brusing [target_human]'s chest!",
- "[user] screws up!")
+ display_results(user, target, span_warning("You screw up, brusing [target_human]'s chest!"),
+ span_warning("[user] screws up, brusing [target_human]'s chest!"),
+ span_warning("[user] screws up!"))
target_human.adjustOrganLoss(ORGAN_SLOT_STOMACH, 5)
target_human.adjustBruteLoss(5)
diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm
index 59cac38e13e..163926f63e9 100644
--- a/code/modules/surgery/surgery.dm
+++ b/code/modules/surgery/surgery.dm
@@ -104,7 +104,7 @@
if(step.try_op(user, target, user.zone_selected, tool, src, try_to_fail))
return TRUE
if(tool && tool.item_flags & SURGICAL_TOOL) //Just because you used the wrong tool it doesn't mean you meant to whack the patient with it
- to_chat(user, "This step requires a different tool!")
+ to_chat(user, span_warning("This step requires a different tool!"))
return TRUE
return FALSE
diff --git a/code/modules/surgery/surgery_step.dm b/code/modules/surgery/surgery_step.dm
index 95761695975..92da17b1905 100644
--- a/code/modules/surgery/surgery_step.dm
+++ b/code/modules/surgery/surgery_step.dm
@@ -42,7 +42,7 @@
if(get_location_accessible(target, target_zone) || surgery.ignore_clothes)
initiate(user, target, target_zone, tool, surgery, try_to_fail)
else
- to_chat(user, "You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!")
+ to_chat(user, span_warning("You need to expose [target]'s [parse_zone(target_zone)] to perform surgery on it!"))
return TRUE //returns TRUE so we don't stab the guy in the dick or wherever.
if(repeatable)
@@ -114,15 +114,15 @@
return advance
/datum/surgery_step/proc/preop(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery)
- display_results(user, target, "You begin to perform surgery on [target]...",
- "[user] begins to perform surgery on [target].",
- "[user] begins to perform surgery on [target].")
+ display_results(user, target, span_notice("You begin to perform surgery on [target]..."),
+ span_notice("[user] begins to perform surgery on [target]."),
+ span_notice("[user] begins to perform surgery on [target]."))
/datum/surgery_step/proc/success(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = TRUE)
if(default_display_results)
- display_results(user, target, "You succeed.",
- "[user] succeeds!",
- "[user] finishes.")
+ display_results(user, target, span_notice("You succeed."),
+ span_notice("[user] succeeds!"),
+ span_notice("[user] finishes."))
return TRUE
/datum/surgery_step/proc/failure(mob/user, mob/living/target, target_zone, obj/item/tool, datum/surgery/surgery, fail_prob = 0)
@@ -135,9 +135,9 @@
if(75 to 99)
screwedmessage = " This is practically impossible in these conditions..."
- display_results(user, target, "You screw up![screwedmessage]",
- "[user] screws up!",
- "[user] finishes.", TRUE) //By default the patient will notice if the wrong thing has been cut
+ display_results(user, target, span_warning("You screw up![screwedmessage]"),
+ span_warning("[user] screws up!"),
+ span_notice("[user] finishes."), TRUE) //By default the patient will notice if the wrong thing has been cut
return FALSE
/datum/surgery_step/proc/tool_check(mob/user, obj/item/tool)
@@ -174,4 +174,4 @@
user.visible_message(detailed_message, self_message, vision_distance = 1, ignored_mobs = target_detailed ? null : target)
if(!target_detailed)
var/you_feel = pick("a brief pain", "your body tense up", "an unnerving sensation")
- target.show_message(vague_message, MSG_VISUAL, "You feel [you_feel] as you are operated on.")
+ target.show_message(vague_message, MSG_VISUAL, span_notice("You feel [you_feel] as you are operated on."))
diff --git a/code/modules/surgery/tools.dm b/code/modules/surgery/tools.dm
index ce3e3596dd8..618b6275a3d 100644
--- a/code/modules/surgery/tools.dm
+++ b/code/modules/surgery/tools.dm
@@ -58,7 +58,7 @@
toolspeed = 1
/obj/item/cautery/ignition_effect(atom/A, mob/user)
- . = "[user] touches the end of [src] to \the [A], igniting it with a puff of smoke."
+ . = span_notice("[user] touches the end of [src] to \the [A], igniting it with a puff of smoke.")
/obj/item/cautery/augment
desc = "A heated element that cauterizes wounds."
@@ -80,11 +80,11 @@
playsound(get_turf(user), 'sound/weapons/tap.ogg', 50, TRUE)
if(tool_behaviour == TOOL_CAUTERY)
tool_behaviour = TOOL_DRILL
- to_chat(user, "You dilate the lenses of [src], it is now in drilling mode.")
+ to_chat(user, span_notice("You dilate the lenses of [src], it is now in drilling mode."))
icon_state = "surgicaldrill_a"
else
tool_behaviour = TOOL_CAUTERY
- to_chat(user, "You focus the lenses of [src], it is now in mending mode.")
+ to_chat(user, span_notice("You focus the lenses of [src], it is now in mending mode."))
icon_state = "cautery_a"
/obj/item/cautery/advanced/examine()
@@ -117,7 +117,7 @@
AddElement(/datum/element/eyestab)
/obj/item/surgicaldrill/suicide_act(mob/user)
- user.visible_message("[user] rams [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] rams [src] into [user.p_their()] chest! It looks like [user.p_theyre()] trying to commit suicide!"))
addtimer(CALLBACK(user, /mob/living/carbon.proc/gib, null, null, TRUE, TRUE), 25)
user.SpinAnimation(3, 10)
playsound(user, 'sound/machines/juicer.ogg', 20, TRUE)
@@ -165,7 +165,7 @@
toolspeed = 0.5
/obj/item/scalpel/suicide_act(mob/user)
- user.visible_message("[user] is slitting [user.p_their()] [pick("wrists", "throat", "stomach")] with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is slitting [user.p_their()] [pick("wrists", "throat", "stomach")] with [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
return (BRUTELOSS)
@@ -234,13 +234,13 @@
if(!proximity)
return
if(istype(O, /obj/item/disk/surgery))
- to_chat(user, "You load the surgery protocol from [O] into [src].")
+ to_chat(user, span_notice("You load the surgery protocol from [O] into [src]."))
var/obj/item/disk/surgery/D = O
if(do_after(user, 10, target = O))
advanced_surgeries |= D.surgeries
return TRUE
if(istype(O, /obj/machinery/computer/operating))
- to_chat(user, "You copy surgery protocols from [O] into [src].")
+ to_chat(user, span_notice("You copy surgery protocols from [O] into [src]."))
var/obj/machinery/computer/operating/OC = O
if(do_after(user, 10, target = O))
advanced_surgeries |= OC.advanced_surgeries
@@ -265,13 +265,13 @@
playsound(get_turf(user), 'sound/machines/click.ogg', 50, TRUE)
if(tool_behaviour == TOOL_SCALPEL)
tool_behaviour = TOOL_SAW
- to_chat(user, "You increase the power of [src], now it can cut bones.")
+ to_chat(user, span_notice("You increase the power of [src], now it can cut bones."))
set_light_range(2)
force += 1 //we don't want to ruin sharpened stuff
icon_state = "saw_a"
else
tool_behaviour = TOOL_SCALPEL
- to_chat(user, "You lower the power of [src], it can no longer cut bones.")
+ to_chat(user, span_notice("You lower the power of [src], it can no longer cut bones."))
set_light_range(1)
force -= 1
icon_state = "scalpel_a"
@@ -291,11 +291,11 @@
playsound(get_turf(user), 'sound/items/change_drill.ogg', 50, TRUE)
if(tool_behaviour == TOOL_RETRACTOR)
tool_behaviour = TOOL_HEMOSTAT
- to_chat(user, "You configure the gears of [src], they are now in hemostat mode.")
+ to_chat(user, span_notice("You configure the gears of [src], they are now in hemostat mode."))
icon_state = "hemostat_a"
else
tool_behaviour = TOOL_RETRACTOR
- to_chat(user, "You configure the gears of [src], they are now in retractor mode.")
+ to_chat(user, span_notice("You configure the gears of [src], they are now in retractor mode."))
icon_state = "retractor_a"
/obj/item/retractor/advanced/examine()
@@ -331,7 +331,7 @@
var/mob/living/carbon/patient = M
if(HAS_TRAIT(patient, TRAIT_NODISMEMBER))
- to_chat(user, "The patient's limbs look too sturdy to amputate.")
+ to_chat(user, span_warning("The patient's limbs look too sturdy to amputate."))
return
var/candidate_name
@@ -341,20 +341,20 @@
if(user.zone_selected == BODY_ZONE_PRECISE_GROIN)
tail_snip_candidate = patient.getorganslot(ORGAN_SLOT_TAIL)
if(!tail_snip_candidate)
- to_chat(user, "[patient] does not have a tail.")
+ to_chat(user, span_warning("[patient] does not have a tail."))
return
candidate_name = tail_snip_candidate.name
else
limb_snip_candidate = patient.get_bodypart(check_zone(user.zone_selected))
if(!limb_snip_candidate)
- to_chat(user, "[patient] is already missing that limb, what more do you want?")
+ to_chat(user, span_warning("[patient] is already missing that limb, what more do you want?"))
return
candidate_name = limb_snip_candidate.name
var/amputation_speed_mod = 1
- patient.visible_message("[user] begins to secure [src] around [patient]'s [candidate_name].", "[user] begins to secure [src] around your [candidate_name]!")
+ patient.visible_message(span_danger("[user] begins to secure [src] around [patient]'s [candidate_name]."), span_userdanger("[user] begins to secure [src] around your [candidate_name]!"))
playsound(get_turf(patient), 'sound/items/ratchet.ogg', 20, TRUE)
if(patient.stat >= UNCONSCIOUS || HAS_TRAIT(patient, TRAIT_INCAPACITATED)) //if you're incapacitated (due to paralysis, a stun, being in staminacrit, etc.), critted, unconscious, or dead, it's much easier to properly line up a snip
amputation_speed_mod *= 0.5
@@ -368,10 +368,10 @@
tail_snip_candidate.forceMove(get_turf(patient))
else
limb_snip_candidate.dismember()
- user.visible_message("[src] violently slams shut, amputating [patient]'s [candidate_name].", "You amputate [patient]'s [candidate_name] with [src].")
+ user.visible_message(span_danger("[src] violently slams shut, amputating [patient]'s [candidate_name]."), span_notice("You amputate [patient]'s [candidate_name] with [src]."))
/obj/item/shears/suicide_act(mob/living/carbon/user)
- user.visible_message("[user] is pinching [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is pinching [user.p_them()]self with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!"))
var/timer = 1 SECONDS
for(var/obj/item/bodypart/thing in user.bodyparts)
if(thing.body_part == CHEST)
diff --git a/code/modules/swarmers/swarmer.dm b/code/modules/swarmers/swarmer.dm
index b15c301830f..96a90123f27 100644
--- a/code/modules/swarmers/swarmer.dm
+++ b/code/modules/swarmers/swarmer.dm
@@ -154,10 +154,10 @@
*/
/mob/living/simple_animal/hostile/swarmer/proc/Fabricate(atom/fabrication_object,fabrication_cost = 0)
if(!isturf(loc))
- to_chat(src, "This is not a suitable location for fabrication. We need more space.")
+ to_chat(src, span_warning("This is not a suitable location for fabrication. We need more space."))
return
if(resources < fabrication_cost)
- to_chat(src, "You do not have the necessary resources to fabricate this object.")
+ to_chat(src, span_warning("You do not have the necessary resources to fabricate this object."))
return
resources -= fabrication_cost
return new fabrication_object(drop_location())
@@ -172,10 +172,10 @@
/mob/living/simple_animal/hostile/swarmer/proc/Integrate(obj/target)
var/resource_gain = target.integrate_amount()
if(resources + resource_gain > max_resources)
- to_chat(src, "We cannot hold more materials!")
+ to_chat(src, span_warning("We cannot hold more materials!"))
return TRUE
if(!resource_gain)
- to_chat(src, "[target] is incompatible with our internal matter recycler.")
+ to_chat(src, span_warning("[target] is incompatible with our internal matter recycler."))
return FALSE
resources += resource_gain
do_attack_animation(target)
@@ -217,10 +217,10 @@
return
if(!is_station_level(z) && !is_mining_level(z))
- to_chat(src, "Our bluespace transceiver cannot locate a viable bluespace link, our teleportation abilities are useless in this area.")
+ to_chat(src, span_warning("Our bluespace transceiver cannot locate a viable bluespace link, our teleportation abilities are useless in this area."))
return
- to_chat(src, "Attempting to remove this being from our presence.")
+ to_chat(src, span_info("Attempting to remove this being from our presence."))
if(!do_mob(src, target, 30))
return
@@ -262,13 +262,13 @@
*/
/mob/living/simple_animal/hostile/swarmer/proc/dismantle_machine(obj/machinery/target)
do_attack_animation(target)
- to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.")
+ to_chat(src, span_info("We begin to dismantle this machine. We will need to be uninterrupted."))
var/obj/effect/temp_visual/swarmer/dismantle/dismantle_effect = new /obj/effect/temp_visual/swarmer/dismantle(get_turf(target))
dismantle_effect.pixel_x = target.pixel_x
dismantle_effect.pixel_y = target.pixel_y
dismantle_effect.pixel_z = target.pixel_z
if(do_mob(src, target, 100))
- to_chat(src, "Dismantling complete.")
+ to_chat(src, span_info("Dismantling complete."))
var/atom/target_loc = target.drop_location()
new /obj/item/stack/sheet/iron(target_loc, 5)
for(var/p in target.component_parts)
@@ -295,10 +295,10 @@
set category = "Swarmer"
set desc = "Creates a simple trap that will non-lethally electrocute anything that steps on it. Costs 4 resources."
if(locate(/obj/structure/swarmer/trap) in loc)
- to_chat(src, "There is already a trap here. Aborting.")
+ to_chat(src, span_warning("There is already a trap here. Aborting."))
return
if(resources < 4)
- to_chat(src, "We do not have the resources for this!")
+ to_chat(src, span_warning("We do not have the resources for this!"))
return
Fabricate(/obj/structure/swarmer/trap, 4)
@@ -312,10 +312,10 @@
set category = "Swarmer"
set desc = "Creates a barricade that will stop anything but swarmers and disabler beams from passing through. Costs 4 resources."
if(locate(/obj/structure/swarmer/blockade) in loc)
- to_chat(src, "There is already a blockade here. Aborting.")
+ to_chat(src, span_warning("There is already a blockade here. Aborting."))
return
if(resources < 4)
- to_chat(src, "We do not have the resources for this!")
+ to_chat(src, span_warning("We do not have the resources for this!"))
return
if(!do_mob(src, src, 1 SECONDS))
return
@@ -330,12 +330,12 @@
set name = "Replicate"
set category = "Swarmer"
set desc = "Creates a duplicate of ourselves, capable of protecting us while we complete our objectives."
- to_chat(src, "We are attempting to replicate ourselves. We will need to stand still until the process is complete.")
+ to_chat(src, span_info("We are attempting to replicate ourselves. We will need to stand still until the process is complete."))
if(resources < 20)
- to_chat(src, "We do not have the resources for this!")
+ to_chat(src, span_warning("We do not have the resources for this!"))
return
if(!isturf(loc))
- to_chat(src, "This is not a suitable location for replicating ourselves. We need more room.")
+ to_chat(src, span_warning("This is not a suitable location for replicating ourselves. We need more room."))
return
if(!do_mob(src, src, 5 SECONDS))
return
@@ -362,11 +362,11 @@
/mob/living/simple_animal/hostile/swarmer/proc/repair_self()
if(!isturf(loc))
return
- to_chat(src, "Attempting to repair damage to our body, stand by...")
+ to_chat(src, span_info("Attempting to repair damage to our body, stand by..."))
if(!do_mob(src, src, 10 SECONDS))
return
adjustHealth(-maxHealth)
- to_chat(src, "We successfully repaired ourselves.")
+ to_chat(src, span_info("We successfully repaired ourselves."))
/**
* Called when a swarmer toggles its light
diff --git a/code/modules/swarmers/swarmer_act.dm b/code/modules/swarmers/swarmer_act.dm
index bac3ad9db3a..c10e91ba606 100644
--- a/code/modules/swarmers/swarmer_act.dm
+++ b/code/modules/swarmers/swarmer_act.dm
@@ -40,7 +40,7 @@
for(var/mob/living/living_content in contents)
if(issilicon(living_content) || isbrain(living_content))
continue
- to_chat(actor, "An organism has been detected inside this object. Aborting.")
+ to_chat(actor, span_warning("An organism has been detected inside this object. Aborting."))
return FALSE
return ..()
@@ -82,7 +82,7 @@
return TRUE
/obj/structure/swarmer_beacon/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This machine is required for further reproduction of swarmers. Aborting.")
+ to_chat(actor, span_warning("This machine is required for further reproduction of swarmers. Aborting."))
return FALSE
/obj/structure/flora/swarmer_act()
@@ -113,17 +113,17 @@
var/area/turf_area = get_area(turf_in_range)
//Check for dangerous pressure differences
if (turf_in_range.return_turf_delta_p() > DANGEROUS_DELTA_P)
- to_chat(actor, "Destroying this object has the potential to cause an explosive pressure release. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause an explosive pressure release. Aborting."))
actor.LoseTarget()
return TRUE
//Check if breaking this door will expose the station to space/planetary atmos
else if(turf_in_range.is_nearby_planetary_atmos() || isspaceturf(turf_in_range) || (!isonshuttle && (istype(turf_area, /area/shuttle) || istype(turf_area, /area/space))) || (isonshuttle && !istype(turf_area, /area/shuttle)))
- to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting."))
actor.LoseTarget()
return FALSE
//Check if this door is important in supermatter containment
else if(istype(turf_area, /area/engineering/supermatter))
- to_chat(actor, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")
+ to_chat(actor, span_warning("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting."))
actor.LoseTarget()
return FALSE
actor.dis_integrate(src)
@@ -152,47 +152,47 @@
return TRUE
/obj/machinery/chem_dispenser/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "The volatile chemicals in this machine would destroy us. Aborting.")
+ to_chat(actor, span_warning("The volatile chemicals in this machine would destroy us. Aborting."))
return FALSE
/obj/machinery/nuclearbomb/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This device's destruction would result in the extermination of everything in the area. Aborting.")
+ to_chat(actor, span_warning("This device's destruction would result in the extermination of everything in the area. Aborting."))
return FALSE
/obj/effect/rune/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Searching... sensor malfunction! Target lost. Aborting.")
+ to_chat(actor, span_warning("Searching... sensor malfunction! Target lost. Aborting."))
return FALSE
/obj/structure/reagent_dispensers/fueltank/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Destroying this object could cause a chain reaction. Aborting.")
+ to_chat(actor, span_warning("Destroying this object could cause a chain reaction. Aborting."))
return FALSE
/obj/structure/cable/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Disrupting the power grid would bring no benefit to us. Aborting.")
+ to_chat(actor, span_warning("Disrupting the power grid would bring no benefit to us. Aborting."))
return FALSE
/obj/machinery/portable_atmospherics/canister/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "An inhospitable area may be created as a result of destroying this object. Aborting.")
+ to_chat(actor, span_warning("An inhospitable area may be created as a result of destroying this object. Aborting."))
return FALSE
/obj/structure/shuttle/engine/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting."))
return FALSE
/obj/machinery/telecomms/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting.")
+ to_chat(actor, span_warning("This communications relay should be preserved, it will be a useful resource to our masters in the future. Aborting."))
return FALSE
/obj/machinery/deepfryer/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting.")
+ to_chat(actor, span_warning("This kitchen appliance should be preserved, it will make delicious unhealthy snacks for our masters in the future. Aborting."))
return FALSE
/obj/machinery/power/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Disrupting the power grid would bring no benefit to us. Aborting.")
+ to_chat(actor, span_warning("Disrupting the power grid would bring no benefit to us. Aborting."))
return FALSE
/obj/machinery/gateway/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This bluespace source will be important to us later. Aborting.")
+ to_chat(actor, span_warning("This bluespace source will be important to us later. Aborting."))
return FALSE
/turf/closed/wall/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
@@ -200,15 +200,15 @@
for(var/turf/turf_in_range as anything in RANGE_TURFS(1, src))
var/area/turf_area = get_area(turf_in_range)
if (turf_in_range.return_turf_delta_p() > DANGEROUS_DELTA_P)
- to_chat(actor, "Destroying this object has the potential to cause an explosive pressure release. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause an explosive pressure release. Aborting."))
actor.LoseTarget()
return TRUE
else if(turf_in_range.is_nearby_planetary_atmos() || isspaceturf(turf_area) || (!isonshuttle && (istype(turf_area, /area/shuttle) || istype(turf_area, /area/space))) || (isonshuttle && !istype(turf_area, /area/shuttle) ))
- to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting."))
actor.LoseTarget()
return TRUE
else if(istype(turf_area, /area/engineering/supermatter))
- to_chat(actor, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")
+ to_chat(actor, span_warning("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting."))
actor.LoseTarget()
return TRUE
return ..()
@@ -219,57 +219,57 @@
var/turf/turf_in_range = t
var/area/turf_area = get_area(turf_in_range)
if (turf_in_range.return_turf_delta_p() > DANGEROUS_DELTA_P)
- to_chat(actor, "Destroying this object has the potential to cause an explosive pressure release. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause an explosive pressure release. Aborting."))
actor.LoseTarget()
return TRUE
else if(turf_in_range.is_nearby_planetary_atmos() || isspaceturf(turf_in_range) || (!is_on_shuttle && (istype(turf_area, /area/shuttle) || istype(turf_area, /area/space))) || (is_on_shuttle && !istype(turf_area, /area/shuttle)))
- to_chat(actor, "Destroying this object has the potential to cause a hull breach. Aborting.")
+ to_chat(actor, span_warning("Destroying this object has the potential to cause a hull breach. Aborting."))
actor.LoseTarget()
return TRUE
else if(istype(turf_area, /area/engineering/supermatter))
- to_chat(actor, "Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting.")
+ to_chat(actor, span_warning("Disrupting the containment of a supermatter crystal would not be to our benefit. Aborting."))
actor.LoseTarget()
return TRUE
return ..()
/obj/item/stack/cable_coil/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)//Wiring would be too effective as a resource
- to_chat(actor, "This object does not contain enough materials to work with.")
+ to_chat(actor, span_warning("This object does not contain enough materials to work with."))
return FALSE
/obj/machinery/porta_turret/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.")
+ to_chat(actor, span_warning("Attempting to dismantle this machine would result in an immediate counterattack. Aborting."))
return FALSE
/obj/machinery/porta_turret_cover/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Attempting to dismantle this machine would result in an immediate counterattack. Aborting.")
+ to_chat(actor, span_warning("Attempting to dismantle this machine would result in an immediate counterattack. Aborting."))
return FALSE
/obj/structure/lattice/catwalk/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
var/turf/here = get_turf(src)
for(var/a in here.contents)
if(istype(a, /obj/structure/cable))
- to_chat(actor, "Disrupting the power grid would bring no benefit to us. Aborting.")
+ to_chat(actor, span_warning("Disrupting the power grid would bring no benefit to us. Aborting."))
return FALSE
return ..()
/obj/machinery/hydroponics/soil/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This object does not contain enough materials to work with.")
+ to_chat(actor, span_warning("This object does not contain enough materials to work with."))
return FALSE
/obj/machinery/field/generator/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Destroying this object would cause a catastrophic chain reaction. Aborting.")
+ to_chat(actor, span_warning("Destroying this object would cause a catastrophic chain reaction. Aborting."))
return FALSE
/obj/machinery/field/containment/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This object does not contain solid matter. Aborting.")
+ to_chat(actor, span_warning("This object does not contain solid matter. Aborting."))
return FALSE
/obj/machinery/power/shieldwallgen/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "Destroying this object would have an unpredictable effect on structure integrity. Aborting.")
+ to_chat(actor, span_warning("Destroying this object would have an unpredictable effect on structure integrity. Aborting."))
return FALSE
/obj/machinery/shieldwall/swarmer_act(mob/living/simple_animal/hostile/swarmer/actor)
- to_chat(actor, "This object does not contain solid matter. Aborting.")
+ to_chat(actor, span_warning("This object does not contain solid matter. Aborting."))
return FALSE
#undef DANGEROUS_DELTA_P
diff --git a/code/modules/swarmers/swarmer_objs.dm b/code/modules/swarmers/swarmer_objs.dm
index 0f04c04c81e..68c97bc10a7 100644
--- a/code/modules/swarmers/swarmer_objs.dm
+++ b/code/modules/swarmers/swarmer_objs.dm
@@ -81,7 +81,7 @@
var/mob/living/simple_animal/hostile/swarmer/newswarmer = new /mob/living/simple_animal/hostile/swarmer(src)
newswarmer.key = user.key
addtimer(CALLBACK(src, .proc/release_swarmer, newswarmer), (LAZYLEN(swarmerlist) * 2 SECONDS) + 5 SECONDS)
- to_chat(newswarmer, "SWARMER CONSTRUCTION INITIALIZED.")
+ to_chat(newswarmer, span_boldannounce("SWARMER CONSTRUCTION INITIALIZED."))
processing_swarmer = TRUE
return TRUE
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index 21bfd73ed2d..1090cec3144 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -119,9 +119,9 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
if(ishuman(user) && istype(A, /obj/item))
var/mob/living/carbon/human/H = user
if(H.put_in_hands(A))
- to_chat(H, "[A] materializes into your hands!")
+ to_chat(H, span_boldnotice("[A] materializes into your hands!"))
return A
- to_chat(user, "[A] materializes onto the floor!")
+ to_chat(user, span_boldnotice("[A] materializes onto the floor!"))
return A
//Discounts (dynamically filled above)
@@ -1430,7 +1430,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
return
U.failsafe_code = U.generate_code()
var/code = "[islist(U.failsafe_code) ? english_list(U.failsafe_code) : U.failsafe_code]"
- to_chat(user, "The new failsafe code for this uplink is now : [code].")
+ to_chat(user, span_warning("The new failsafe code for this uplink is now : [code]."))
if(user.mind)
user.mind.store_memory("Failsafe code for [U.parent] : [code]")
return U.parent //For log icon
diff --git a/code/modules/vehicles/_vehicle.dm b/code/modules/vehicles/_vehicle.dm
index 544446dc66d..39be39c2edf 100644
--- a/code/modules/vehicles/_vehicle.dm
+++ b/code/modules/vehicles/_vehicle.dm
@@ -44,7 +44,7 @@
/obj/vehicle/examine(mob/user)
. = ..()
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)
@@ -52,7 +52,7 @@
if(25 to 50)
. += "It appears heavily damaged."
if(0 to 25)
- . += "It's falling apart!"
+ . += span_warning("It's falling apart!")
/obj/vehicle/proc/is_key(obj/item/I)
return istype(I, key_type)
diff --git a/code/modules/vehicles/atv.dm b/code/modules/vehicles/atv.dm
index 63aec5b1d55..05429d3776e 100644
--- a/code/modules/vehicles/atv.dm
+++ b/code/modules/vehicles/atv.dm
@@ -64,10 +64,10 @@
return TRUE
if(!I.use_tool(src, user, 0, volume=50, amount=1))
return TRUE
- user.visible_message("[user] repairs some damage to [name].", "You repair some damage to \the [src].")
+ user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to \the [src]."))
obj_integrity += min(10, max_integrity-obj_integrity)
if(obj_integrity == max_integrity)
- to_chat(user, "It looks to be fully repaired now.")
+ to_chat(user, span_notice("It looks to be fully repaired now."))
return TRUE
/obj/vehicle/ridden/atv/obj_break()
diff --git a/code/modules/vehicles/cars/car.dm b/code/modules/vehicles/cars/car.dm
index 7cd57e4b463..76795496569 100644
--- a/code/modules/vehicles/cars/car.dm
+++ b/code/modules/vehicles/cars/car.dm
@@ -25,7 +25,7 @@
return FALSE
if((car_traits & CAN_KIDNAP) && isliving(dropping) && M != dropping)
var/mob/living/kidnapped = dropping
- kidnapped.visible_message("[M] starts forcing [kidnapped] into [src]!")
+ kidnapped.visible_message(span_warning("[M] starts forcing [kidnapped] into [src]!"))
mob_try_forced_enter(M, kidnapped)
return ..()
@@ -33,10 +33,10 @@
if(M != user || !(LAZYACCESS(occupants, M) & VEHICLE_CONTROL_KIDNAPPED))
mob_exit(M, silent)
return TRUE
- to_chat(user, "You push against the back of \the [src]'s trunk to try and get out.")
+ to_chat(user, span_notice("You push against the back of \the [src]'s trunk to try and get out."))
if(!do_after(user, escape_time, target = src))
return FALSE
- to_chat(user,"[user] gets out of [src].")
+ to_chat(user,span_danger("[user] gets out of [src]."))
mob_exit(M, silent)
return TRUE
@@ -44,14 +44,14 @@
. = ..()
if(!(car_traits & CAN_KIDNAP))
return
- to_chat(user, "You start opening [src]'s trunk.")
+ to_chat(user, span_notice("You start opening [src]'s trunk."))
if(!do_after(user, 30))
return
if(return_amount_of_controllers_with_flag(VEHICLE_CONTROL_KIDNAPPED))
- to_chat(user, "The people stuck in [src]'s trunk all come tumbling out.")
+ to_chat(user, span_notice("The people stuck in [src]'s trunk all come tumbling out."))
dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED)
return
- to_chat(user, "It seems [src]'s trunk was empty.")
+ to_chat(user, span_notice("It seems [src]'s trunk was empty."))
///attempts to force a mob into the car
/obj/vehicle/sealed/car/proc/mob_try_forced_enter(mob/forcer, mob/kidnapped, silent = FALSE)
@@ -70,7 +70,7 @@
///Proc called when someone is forcefully stuffedd into a car
/obj/vehicle/sealed/car/proc/mob_forced_enter(mob/kidnapped, silent = FALSE)
if(!silent)
- kidnapped.visible_message("[kidnapped] is forced into \the [src]!")
+ kidnapped.visible_message(span_warning("[kidnapped] is forced into \the [src]!"))
kidnapped.forceMove(src)
add_occupant(kidnapped, VEHICLE_CONTROL_KIDNAPPED)
diff --git a/code/modules/vehicles/cars/clowncar.dm b/code/modules/vehicles/cars/clowncar.dm
index f9f637d7ba3..8aed6dc52b3 100644
--- a/code/modules/vehicles/cars/clowncar.dm
+++ b/code/modules/vehicles/cars/clowncar.dm
@@ -67,7 +67,7 @@
/obj/vehicle/sealed/car/clowncar/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
. = ..()
if(prob(33))
- visible_message("[src] spews out a ton of space lube!")
+ visible_message(span_danger("[src] spews out a ton of space lube!"))
new /obj/effect/particle_effect/foam(loc) //YEET
/obj/vehicle/sealed/car/clowncar/attacked_by(obj/item/I, mob/living/user)
@@ -76,7 +76,7 @@
return
var/obj/item/food/grown/banana/banana = I
obj_integrity += min(banana.seed.potency, max_integrity-obj_integrity)
- to_chat(user, "You use the [banana] to repair the [src]!")
+ to_chat(user, span_danger("You use the [banana] to repair the [src]!"))
qdel(banana)
/obj/vehicle/sealed/car/clowncar/Bump(atom/bumped)
@@ -88,14 +88,14 @@
if(iscarbon(hittarget_living))
var/mob/living/carbon/carb = hittarget_living
carb.Paralyze(40) //I play to make sprites go horizontal
- hittarget_living.visible_message("[src] rams into [hittarget_living] and sucks [hittarget_living.p_them()] up!") //fuck off shezza this isn't ERP.
+ hittarget_living.visible_message(span_warning("[src] rams into [hittarget_living] and sucks [hittarget_living.p_them()] up!")) //fuck off shezza this isn't ERP.
mob_forced_enter(hittarget_living)
playsound(src, pick('sound/vehicles/clowncar_ram1.ogg', 'sound/vehicles/clowncar_ram2.ogg', 'sound/vehicles/clowncar_ram3.ogg'), 75)
log_combat(src, hittarget_living, "sucked up")
return
if(!istype(bumped, /turf/closed))
return
- visible_message("[src] rams into [bumped] and crashes!")
+ visible_message(span_warning("[src] rams into [bumped] and crashes!"))
playsound(src, pick('sound/vehicles/clowncar_crash1.ogg', 'sound/vehicles/clowncar_crash2.ogg'), 75)
playsound(src, 'sound/vehicles/clowncar_crashpins.ogg', 75)
dump_mobs(TRUE)
@@ -105,7 +105,7 @@
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
- to_chat(user, "You scramble \the [src]'s child safety lock, and a panel with six colorful buttons appears!")
+ to_chat(user, span_danger("You scramble \the [src]'s child safety lock, and a panel with six colorful buttons appears!"))
initialize_controller_action_type(/datum/action/vehicle/sealed/roll_the_dice, VEHICLE_CONTROL_DRIVE)
initialize_controller_action_type(/datum/action/vehicle/sealed/cannon, VEHICLE_CONTROL_DRIVE)
AddElement(/datum/element/waddling)
@@ -128,15 +128,15 @@
*/
/obj/vehicle/sealed/car/clowncar/proc/roll_the_dice(mob/user)
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_CLOWNCAR_RANDOMNESS))
- to_chat(user, "The button panel is currently recharging.")
+ to_chat(user, span_notice("The button panel is currently recharging."))
return
TIMER_COOLDOWN_START(src, COOLDOWN_CLOWNCAR_RANDOMNESS, dice_cooldown_time)
switch(rand(1,6))
if(1)
- visible_message("[user] presses one of the colorful buttons on [src], and a special banana peel drops out of it.")
+ visible_message(span_danger("[user] presses one of the colorful buttons on [src], and a special banana peel drops out of it."))
new /obj/item/grown/bananapeel/specialpeel(loc)
if(2)
- visible_message("[user] presses one of the colorful buttons on [src], and unknown chemicals flood out of it.")
+ visible_message(span_danger("[user] presses one of the colorful buttons on [src], and unknown chemicals flood out of it."))
var/datum/reagents/randomchems = new/datum/reagents(300)
randomchems.my_atom = src
randomchems.add_reagent(get_random_reagent_id(), 100)
@@ -144,12 +144,12 @@
foam.set_up(200, loc, randomchems)
foam.start()
if(3)
- visible_message("[user] presses one of the colorful buttons on [src], and the clown car turns on its singularity disguise system.")
+ visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car turns on its singularity disguise system."))
icon = 'icons/obj/singularity.dmi'
icon_state = "singularity_s1"
addtimer(CALLBACK(src, .proc/reset_icon), 10 SECONDS)
if(4)
- visible_message("[user] presses one of the colorful buttons on [src], and the clown car spews out a cloud of laughing gas.")
+ visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car spews out a cloud of laughing gas."))
var/datum/reagents/funnychems = new/datum/reagents(300)
funnychems.my_atom = src
funnychems.add_reagent(/datum/reagent/consumable/superlaughter, 50)
@@ -158,11 +158,11 @@
smoke.attach(src)
smoke.start()
if(5)
- visible_message("[user] presses one of the colorful buttons on [src], and the clown car starts dropping an oil trail.")
+ visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car starts dropping an oil trail."))
RegisterSignal(src, COMSIG_MOVABLE_MOVED, .proc/cover_in_oil)
addtimer(CALLBACK(src, .proc/stop_dropping_oil), 3 SECONDS)
if(6)
- visible_message("[user] presses one of the colorful buttons on [src], and the clown car lets out a comedic toot.")
+ visible_message(span_danger("[user] presses one of the colorful buttons on [src], and the clown car lets out a comedic toot."))
playsound(src, 'sound/vehicles/clowncar_fart.ogg', 100)
for(var/mob/living/L in orange(loc, 6))
L.emote("laughs")
@@ -186,19 +186,19 @@
///Toggles the on and off state of the clown cannon that shoots random kidnapped people
/obj/vehicle/sealed/car/clowncar/proc/toggle_cannon(mob/user)
if(cannonmode == CLOWN_CANNON_BUSY)
- to_chat(user, "Please wait for the vehicle to finish its current action first.")
+ to_chat(user, span_notice("Please wait for the vehicle to finish its current action first."))
return
if(cannonmode) //canon active, deactivate
flick("clowncar_fromfire", src)
icon_state = "clowncar"
addtimer(CALLBACK(src, .proc/deactivate_cannon), 2 SECONDS)
playsound(src, 'sound/vehicles/clowncar_cannonmode2.ogg', 75)
- visible_message("The [src] starts going back into mobile mode.")
+ visible_message(span_danger("The [src] starts going back into mobile mode."))
else
canmove = FALSE //anchor and activate canon
flick("clowncar_tofire", src)
icon_state = "clowncar_fire"
- visible_message("The [src] opens up and reveals a large cannon.")
+ visible_message(span_danger("The [src] opens up and reveals a large cannon."))
addtimer(CALLBACK(src, .proc/activate_cannon), 2 SECONDS)
playsound(src, 'sound/vehicles/clowncar_cannonmode1.ogg', 75)
cannonmode = CLOWN_CANNON_BUSY
diff --git a/code/modules/vehicles/lavaboat.dm b/code/modules/vehicles/lavaboat.dm
index b676f895775..52fb14c853f 100644
--- a/code/modules/vehicles/lavaboat.dm
+++ b/code/modules/vehicles/lavaboat.dm
@@ -64,7 +64,7 @@
icon_state = "ship_bottle"
/obj/item/ship_in_a_bottle/attack_self(mob/user)
- to_chat(user, "You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out.")
+ to_chat(user, span_notice("You're not sure how they get the ships in these things, but you're pretty sure you know how to get it out."))
playsound(user.loc, 'sound/effects/glassbr1.ogg', 100, TRUE)
new /obj/vehicle/ridden/lavaboat/dragon(get_turf(src))
qdel(src)
diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm
index b351be06f37..b2bf49f4ca9 100644
--- a/code/modules/vehicles/mecha/_mecha.dm
+++ b/code/modules/vehicles/mecha/_mecha.dm
@@ -377,7 +377,7 @@
for(var/held_item in H.held_items)
if(!isgun(held_item))
continue
- . += "It looks like you can hit the pilot directly if you target the center or above."
+ . += span_warning("It looks like you can hit the pilot directly if you target the center or above.")
break //in case user is holding two guns
//processing internal damage, temperature, air regulation, alert updates, lights power use.
@@ -445,7 +445,7 @@
for(var/mob/living/occupant as anything in occupants)
if(!enclosed && occupant?.incapacitated()) //no sides mean it's easy to just sorta fall out if you're incapacitated.
- visible_message("[occupant] tumbles out of the cockpit!")
+ visible_message(span_warning("[occupant] tumbles out of the cockpit!"))
mob_exit(occupant) //bye bye
continue
if(cell)
@@ -550,7 +550,7 @@
return
if(!Adjacent(target) && (selected.range & MECHA_RANGED))
if(HAS_TRAIT(livinguser, TRAIT_PACIFISM) && selected.harmful)
- to_chat(livinguser, "You don't want to harm other living beings!")
+ to_chat(livinguser, span_warning("You don't want to harm other living beings!"))
return
if(SEND_SIGNAL(src, COMSIG_MECHA_EQUIPMENT_CLICK, livinguser, target) & COMPONENT_CANCEL_EQUIPMENT_CLICK)
return
@@ -558,14 +558,14 @@
return
if((selected.range & MECHA_MELEE) && Adjacent(target))
if(isliving(target) && selected.harmful && HAS_TRAIT(livinguser, TRAIT_PACIFISM))
- to_chat(livinguser, "You don't want to harm other living beings!")
+ to_chat(livinguser, span_warning("You don't want to harm other living beings!"))
return
if(SEND_SIGNAL(src, COMSIG_MECHA_EQUIPMENT_CLICK, livinguser, target) & COMPONENT_CANCEL_EQUIPMENT_CLICK)
return
INVOKE_ASYNC(selected, /obj/item/mecha_parts/mecha_equipment.proc/action, user, target, params)
return
if(!(livinguser in return_controllers_with_flag(VEHICLE_CONTROL_MELEE)))
- to_chat(livinguser, "You're in the wrong seat to interact with your hands.")
+ to_chat(livinguser, span_warning("You're in the wrong seat to interact with your hands."))
return
var/on_cooldown = TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MELEE_ATTACK)
var/adjacent = Adjacent(target)
@@ -599,7 +599,7 @@
/obj/vehicle/sealed/mecha/proc/disconnect_air()
SIGNAL_HANDLER
if(internal_tank.disconnect()) // Something moved us and broke connection
- to_chat(occupants, "[icon2html(src, occupants)]Air port connection has been severed!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Air port connection has been severed!")]")
log_message("Lost connection to gas port.", LOG_MECHA)
/obj/vehicle/sealed/mecha/Process_Spacemove(movement_dir = 0)
@@ -616,7 +616,7 @@
if((!movable_backup.anchored) && (movable_backup.newtonian_move(turn(movement_dir, 180))))
step_silent = TRUE
if(return_drivers())
- to_chat(occupants, "[icon2html(src, occupants)]The [src] push off [movable_backup] to propel yourself.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_info("The [src] push off [movable_backup] to propel yourself.")]")
return TRUE
if(active_thrusters?.thrust(movement_dir))
@@ -640,12 +640,12 @@
return FALSE
if(internal_tank?.connected_port)
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Unable to move while connected to the air system port!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to move while connected to the air system port!")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
if(construction_state)
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Maintenance protocols in effect.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_danger("Maintenance protocols in effect.")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
@@ -653,27 +653,27 @@
return FALSE
if(zoom_mode)
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Unable to move while in zoom mode!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to move while in zoom mode!")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
if(!cell)
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Missing power cell.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Missing power cell.")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
if(!scanmod || !capacitor)
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Missing [scanmod? "capacitor" : "scanning module"].")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Missing [scanmod? "capacitor" : "scanning module"].")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
if(!use_power(step_energy_drain))
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Insufficient power to move!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Insufficient power to move!")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
if(lavaland_only && is_mining_level(z))
if(!TIMER_COOLDOWN_CHECK(src, COOLDOWN_MECHA_MESSAGE))
- to_chat(occupants, "[icon2html(src, occupants)]Invalid Environment.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Invalid Environment.")]")
TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS)
return FALSE
@@ -713,7 +713,7 @@
. = ..()
if(phasing) //Theres only one cause for phasing canpass fails
addtimer(VARSET_CALLBACK(src, movedelay, TRUE), movedelay*3)
- to_chat(occupants, "[icon2html(src, occupants)]A dull, universal force is preventing you from [phasing] here!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("A dull, universal force is preventing you from [phasing] here!")]")
spark_system.start()
return
if(.) //mech was thrown/door/whatever
@@ -769,11 +769,11 @@
if(internal_damage & int_dam_flag)
switch(int_dam_flag)
if(MECHA_INT_TEMP_CONTROL)
- to_chat(occupants, "[icon2html(src, occupants)]Life support system reactivated.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_boldnotice("Life support system reactivated.")]")
if(MECHA_INT_FIRE)
- to_chat(occupants, "[icon2html(src, occupants)]Internal fire extinguished.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_boldnotice("Internal fire extinguished.")]")
if(MECHA_INT_TANK_BREACH)
- to_chat(occupants, "[icon2html(src, occupants)]Damaged internal tank has been sealed.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_boldnotice("Damaged internal tank has been sealed.")]")
internal_damage &= ~int_dam_flag
diag_hud_set_mechstat()
@@ -788,25 +788,25 @@
if(user.can_dominate_mechs)
examine(user) //Get diagnostic information!
for(var/obj/item/mecha_parts/mecha_tracking/B in trackers)
- to_chat(user, "Warning: Tracking Beacon detected. Enter at your own risk. Beacon Data:")
+ to_chat(user, span_danger("Warning: Tracking Beacon detected. Enter at your own risk. Beacon Data:"))
to_chat(user, "[B.get_mecha_info()]")
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?")]
")
return
examine(user)
if(length(return_drivers()) > 0)
- 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, "[icon2html(src, user)] Status of [name]:\n[A.get_mecha_info()]")
+ to_chat(user, "[span_notice("[icon2html(src, user)] Status of [name]:")]\n[A.get_mecha_info()]")
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/vehicle/sealed/mecha/transfer_ai(interaction, mob/user, mob/living/silicon/ai/AI, obj/item/aicard/card)
. = ..()
@@ -817,13 +817,13 @@
switch(interaction)
if(AI_TRANS_TO_CARD) //Upload AI from mech to AI card.
if(!construction_state) //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
var/list/ai_pilots = list()
for(var/mob/living/silicon/ai/aipilot in occupants)
ai_pilots += aipilot
if(!ai_pilots.len) //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_pilots.len > 1) //Input box for multiple AIs, but if there's only one we'll default to them.
AI = input(user,"Which AI do you wish to card?", "AI Selection") as null|anything in sortList(ai_pilots)
@@ -844,15 +844,15 @@
card.AI = AI
AI.controlled_mech = null
AI.remote_control = null
- 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(AI, span_notice("You have been downloaded to a mobile storage device. Wireless connection offline."))
+ to_chat(user, "[span_boldnotice("Transfer successful")]: [AI.name] ([rand(1000,9999)].exe) removed from [name] and stored within local memory.")
return
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 && LAZYLEN(occupants)) //Oh, I am sorry, were you using that?
- to_chat(AI, "Occupants detected! Forced ejection initiated!")
- to_chat(occupants, "You have been forcibly ejected!")
+ to_chat(AI, span_warning("Occupants detected! Forced ejection initiated!"))
+ to_chat(occupants, span_danger("You have been forcibly ejected!"))
for(var/ejectee in occupants)
mob_exit(ejectee, TRUE, TRUE) //IT IS MINE, NOW. SUCK IT, RD!
AI.can_shunt = FALSE //ONE AI ENTERS. NO AI LEAVES.
@@ -860,19 +860,19 @@
if(AI_TRANS_FROM_CARD) //Using an AI card to upload to a mech.
AI = card.AI
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
if(AI.deployed_shell) //Recall AI if shelled so it can be checked for a client
AI.disconnect_shell()
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
if((LAZYLEN(occupants) >= max_occupants) || dna_lock) //Normal AIs cannot steal mechs!
- to_chat(user, "Access denied. [name] is [LAZYLEN(occupants) >= max_occupants ? "currently fully occupied" : "secured with a DNA lock"].")
+ to_chat(user, span_warning("Access denied. [name] is [LAZYLEN(occupants) >= max_occupants ? "currently fully occupied" : "secured with a DNA lock"]."))
return
AI.control_disabled = FALSE
AI.radio_enabled = TRUE
- 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.")
card.AI = null
ai_enter_mech(AI)
@@ -884,8 +884,8 @@
AI.cancel_camera()
AI.controlled_mech = src
AI.remote_control = src
- to_chat(AI, AI.can_dominate_mechs ? "Takeover of [name] complete! You are now 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, AI.can_dominate_mechs ? span_greenannounce("Takeover of [name] complete! You are now loaded onto the onboard computer. Do not attempt to leave the station sector!") :\
+ span_notice("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.")
@@ -914,44 +914,44 @@
if(!ishuman(M)) // no silicons or drones in mechas.
return
if(HAS_TRAIT(M, TRAIT_PRIMITIVE)) //no lavalizards either.
- to_chat(M, "The knowledge to use this device eludes you!")
+ to_chat(M, span_warning("The knowledge to use this device eludes you!"))
return
log_message("[M] tries to move into [src].", LOG_MECHA)
if(dna_lock && M.has_dna())
var/mob/living/carbon/entering_carbon = M
if(entering_carbon.dna.unique_enzymes != dna_lock)
- to_chat(M, "Access denied. [name] is secured with a DNA lock.")
+ to_chat(M, span_warning("Access denied. [name] is secured with a DNA lock."))
log_message("Permission denied (DNA LOCK).", LOG_MECHA)
return
if(!operation_allowed(M))
- to_chat(M, "Access denied. Insufficient operation keycodes.")
+ to_chat(M, span_warning("Access denied. Insufficient operation keycodes."))
log_message("Permission denied (No keycode).", LOG_MECHA)
return
if(M.buckled)
- to_chat(M, "You are currently buckled and cannot move.")
+ to_chat(M, span_warning("You are currently buckled and cannot move."))
log_message("Permission denied (Buckled).", LOG_MECHA)
return
if(M.has_buckled_mobs()) //mob attached to us
- to_chat(M, "You can't enter the exosuit with other creatures attached to you!")
+ to_chat(M, span_warning("You can't enter the exosuit with other creatures attached to you!"))
log_message("Permission denied (Attached mobs).", LOG_MECHA)
return
- visible_message("[M] starts to climb into [name].")
+ visible_message(span_notice("[M] starts to climb into [name]."))
if(do_after(M, enter_delay, target = src))
if(obj_integrity <= 0)
- to_chat(M, "You cannot get in the [name], it has been destroyed!")
+ to_chat(M, span_warning("You cannot get in the [name], it has been destroyed!"))
else if(LAZYLEN(occupants) >= max_occupants)
- to_chat(M, "[occupants[occupants.len]] was faster! Try better next time, loser.")//get the last one that hopped in
+ to_chat(M, span_danger("[occupants[occupants.len]] was faster! Try better next time, loser."))//get the last one that hopped in
else if(M.buckled)
- to_chat(M, "You can't enter the exosuit while buckled.")
+ to_chat(M, span_warning("You can't enter the exosuit while buckled."))
else if(M.has_buckled_mobs())
- to_chat(M, "You can't enter the exosuit with other creatures attached to you!")
+ to_chat(M, span_warning("You can't enter the exosuit with other creatures attached to you!"))
else
moved_inside(M)
return ..()
else
- to_chat(M, "You stop entering the exosuit!")
+ to_chat(M, span_warning("You stop entering the exosuit!"))
/obj/vehicle/sealed/mecha/generate_actions()
@@ -984,20 +984,20 @@
var/mob/living/brain/B = M.brainmob
if(LAZYLEN(occupants) >= max_occupants)
- to_chat(user, "It's full!")
+ to_chat(user, span_warning("It's full!"))
return FALSE
if(dna_lock && (!B.stored_dna || (dna_lock != B.stored_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
- visible_message("[user] starts to insert an MMI into [name].")
+ visible_message(span_notice("[user] starts to insert an MMI into [name]."))
if(!do_after(user, 4 SECONDS, target = src))
- to_chat(user, "You stop inserting the MMI.")
+ to_chat(user, span_notice("You stop inserting the MMI."))
return FALSE
if(LAZYLEN(occupants) < max_occupants)
return mmi_moved_inside(M, user)
- to_chat(user, "Maximum occupants exceeded!")
+ to_chat(user, span_warning("Maximum occupants exceeded!"))
return FALSE
/obj/vehicle/sealed/mecha/proc/mmi_moved_inside(obj/item/mmi/M, mob/user)
@@ -1008,7 +1008,7 @@
var/mob/living/brain/B = M.brainmob
if(!user.transferItemToLoc(M, src))
- to_chat(user, "\the [M] is stuck to your hand, you cannot put it in \the [src]!")
+ to_chat(user, span_warning("\the [M] is stuck to your hand, you cannot put it in \the [src]!"))
return FALSE
M.set_mecha(src)
@@ -1028,15 +1028,15 @@
if(isAI(user))
var/mob/living/silicon/ai/AI = user
if(!AI.can_shunt)
- to_chat(AI, "You can't leave a mech after dominating it!.")
+ to_chat(AI, span_notice("You can't leave a mech after dominating it!."))
return FALSE
- to_chat(user, "You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting.")
+ to_chat(user, span_notice("You begin the ejection procedure. Equipment is disabled during this process. Hold still to finish ejecting."))
is_currently_ejecting = TRUE
if(do_after(user, has_gravity() ? exit_delay : 0 , target = src))
- to_chat(user, "You exit the mech.")
+ to_chat(user, span_notice("You exit the mech."))
mob_exit(user, TRUE)
else
- to_chat(user, "You stop exiting the mech. Weapons are enabled again.")
+ to_chat(user, span_notice("You stop exiting the mech. Weapons are enabled again."))
is_currently_ejecting = FALSE
@@ -1058,11 +1058,11 @@
else
if(!AI.linked_core)
if(!silent)
- 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
if(!silent)
- to_chat(AI, "Returning to core...")
+ to_chat(AI, span_notice("Returning to core..."))
AI.controlled_mech = null
AI.remote_control = null
mob_container = AI
@@ -1189,7 +1189,7 @@
/obj/vehicle/sealed/mecha/proc/ammo_resupply(obj/item/mecha_ammo/A, mob/user,fail_chat_override = FALSE)
if(!A.rounds)
if(!fail_chat_override)
- to_chat(user, "This box of ammo is empty!")
+ to_chat(user, span_warning("This box of ammo is empty!"))
return FALSE
var/ammo_needed
var/found_gun
@@ -1212,7 +1212,7 @@
else
gun.projectiles_cache = gun.projectiles_cache + ammo_needed
playsound(get_turf(user),A.load_audio,50,TRUE)
- to_chat(user, "You add [ammo_needed] [A.round_term][ammo_needed > 1?"s":""] to the [gun.name]")
+ to_chat(user, span_notice("You add [ammo_needed] [A.round_term][ammo_needed > 1?"s":""] to the [gun.name]"))
A.rounds = A.rounds - ammo_needed
if(A.custom_materials)
A.set_custom_materials(A.custom_materials, A.rounds / initial(A.rounds))
@@ -1224,16 +1224,16 @@
else
gun.projectiles_cache = gun.projectiles_cache + A.rounds
playsound(get_turf(user),A.load_audio,50,TRUE)
- to_chat(user, "You add [A.rounds] [A.round_term][A.rounds > 1?"s":""] to the [gun.name]")
+ to_chat(user, span_notice("You add [A.rounds] [A.round_term][A.rounds > 1?"s":""] to the [gun.name]"))
A.rounds = 0
A.set_custom_materials(list(/datum/material/iron=2000))
A.update_name()
return TRUE
if(!fail_chat_override)
if(found_gun)
- to_chat(user, "You can't fit any more ammo of this type!")
+ to_chat(user, span_notice("You can't fit any more ammo of this type!"))
else
- to_chat(user, "None of the equipment on this exosuit can use this ammo!")
+ to_chat(user, span_notice("None of the equipment on this exosuit can use this ammo!"))
return FALSE
@@ -1241,7 +1241,7 @@
/obj/vehicle/sealed/mecha/proc/on_light_eater(obj/vehicle/sealed/source, datum/light_eater)
SIGNAL_HANDLER
if(mecha_flags & HAS_LIGHTS)
- visible_message("[src]'s lights burn out!")
+ visible_message(span_danger("[src]'s lights burn out!"))
mecha_flags &= ~HAS_LIGHTS
set_light_on(FALSE)
for(var/occupant in occupants)
diff --git a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm
index 27d007037b1..032c8756852 100644
--- a/code/modules/vehicles/mecha/combat/savannah_ivanov.dm
+++ b/code/modules/vehicles/mecha/combat/savannah_ivanov.dm
@@ -98,23 +98,23 @@
skyfall_charge_level++
switch(skyfall_charge_level)
if(1)
- visible_message("[src] clicks and whirrs for a moment, with a low hum emerging from the legs.")
+ visible_message(span_warning("[src] clicks and whirrs for a moment, with a low hum emerging from the legs."))
playsound(src, 'sound/items/rped.ogg', 50, TRUE)
if(2)
- visible_message("[src] begins to shake, the sounds of electricity growing louder.")
+ visible_message(span_warning("[src] begins to shake, the sounds of electricity growing louder."))
Shake(5, 5, SKYFALL_SINGLE_CHARGE_TIME-1) // -1 gives space between the animates, so they don't interrupt eachother
if(3)
- visible_message("[src] assumes a pose as it rattles violently.")
+ visible_message(span_warning("[src] assumes a pose as it rattles violently."))
Shake(7, 7, SKYFALL_SINGLE_CHARGE_TIME-1) // -1 gives space between the animates, so they don't interrupt eachother
spark_system.start()
update_icon_state()
if(4)
- visible_message("[src] sparks and shutters as it finalizes preparation.")
+ visible_message(span_warning("[src] sparks and shutters as it finalizes preparation."))
playsound(src, 'sound/mecha/skyfall_power_up.ogg', 50, TRUE)
Shake(10, 10, SKYFALL_SINGLE_CHARGE_TIME-1) // -1 gives space between the animates, so they don't interrupt eachother
spark_system.start()
if(SKYFALL_CHARGELEVEL_LAUNCH)
- visible_message("[src] leaps into the air!")
+ visible_message(span_danger("[src] leaps into the air!"))
playsound(src, 'sound/weapons/gun/general/rocket_launch.ogg', 50, TRUE)
if(skyfall_charge_level != SKYFALL_CHARGELEVEL_LAUNCH)
INVOKE_ASYNC(src, .proc/skyfall_charge_loop, pilot)
@@ -163,7 +163,7 @@
* * pilot: mob that activated the skyfall ability
*/
/obj/vehicle/sealed/mecha/combat/savannah_ivanov/proc/land(mob/living/pilot)
- visible_message("[src] lands from above!")
+ visible_message(span_danger("[src] lands from above!"))
playsound(src, 'sound/effects/explosion1.ogg', 50, 1)
resistance_flags &= ~INDESTRUCTIBLE
mecha_flags &= ~(QUIET_STEPS|QUIET_TURNS|CANNOT_INTERACT)
@@ -193,13 +193,13 @@
if(crushed_victim in occupants)
continue
if(crushed_victim in landed_on)
- to_chat(crushed_victim, "[src] crashes down on you from above!")
+ to_chat(crushed_victim, span_userdanger("[src] crashes down on you from above!"))
if(crushed_victim.stat != CONSCIOUS)
crushed_victim.gib(FALSE, FALSE, FALSE)
else
crushed_victim.adjustBruteLoss(80)
else
- to_chat(crushed_victim, "The tremors from [src] landing sends you flying!")
+ to_chat(crushed_victim, span_userdanger("The tremors from [src] landing sends you flying!"))
var/fly_away_direction = get_dir(src, crushed_victim)
crushed_victim.throw_at(get_edge_target_turf(crushed_victim, fly_away_direction), 4, 3)
crushed_victim.adjustBruteLoss(15)
@@ -307,11 +307,11 @@
return
var/obj/vehicle/sealed/mecha/combat/savannah_ivanov/savannah_mecha = chassis
if(savannah_mecha.phasing)
- to_chat(owner, "You're already airborne!")
+ to_chat(owner, span_warning("You're already airborne!"))
return
if(!COOLDOWN_FINISHED(savannah_mecha, skyfall_cooldown))
var/timeleft = COOLDOWN_TIMELEFT(savannah_mecha, skyfall_cooldown)
- to_chat(owner, "You need to wait [DisplayTimeText(timeleft, 1)] before attempting to Skyfall.")
+ to_chat(owner, span_warning("You need to wait [DisplayTimeText(timeleft, 1)] before attempting to Skyfall."))
return
if(savannah_mecha.skyfall_charge_level)
savannah_mecha.abort_skyfall(owner)
@@ -337,7 +337,7 @@
var/obj/vehicle/sealed/mecha/combat/savannah_ivanov/ivanov_mecha = chassis
if(!COOLDOWN_FINISHED(ivanov_mecha, strike_cooldown))
var/timeleft = COOLDOWN_TIMELEFT(ivanov_mecha, strike_cooldown)
- to_chat(owner, "You need to wait [DisplayTimeText(timeleft, 1)] before firing another Ivanov Strike.")
+ to_chat(owner, span_warning("You need to wait [DisplayTimeText(timeleft, 1)] before firing another Ivanov Strike."))
return
if(ivanov_mecha.aiming_ivanov)
ivanov_mecha.end_missile_targeting(owner)
diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm
index f1d338624ed..1adaade6a22 100644
--- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm
+++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm
@@ -42,7 +42,7 @@
update_chassis_page()
log_message("[src] is destroyed.", LOG_MECHA)
if(LAZYLEN(chassis.occupants))
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] is destroyed!")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_danger("[src] is destroyed!")]")
playsound(chassis, destroy_sound, 50)
if(!detachable) //If we're a built-in nondetachable equipment, let's lock up the slot that we were in.
chassis.max_equip--
@@ -54,9 +54,9 @@
if(!user.temporarilyRemoveItemFromInventory(src))
return FALSE
attach(M)
- user.visible_message("[user] attaches [src] to [M].", "You attach [src] to [M].")
+ user.visible_message(span_notice("[user] attaches [src] to [M]."), span_notice("You attach [src] to [M]."))
return TRUE
- to_chat(user, "You are unable to attach [src] to [M]!")
+ to_chat(user, span_warning("You are unable to attach [src] to [M]!"))
return FALSE
/obj/item/mecha_parts/mecha_equipment/proc/get_equip_info()
diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm
index 8872115aa8e..d563d16f367 100644
--- a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm
+++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm
@@ -57,8 +57,8 @@
var/mob/living/carbon/target = atomtarget
if(!patient_insertion_check(target))
return
- to_chat(source, "[icon2html(src, source)]You start putting [target] into [src]...")
- chassis.visible_message("[chassis] starts putting [target] into \the [src].")
+ to_chat(source, "[icon2html(src, source)][span_notice("You start putting [target] into [src]...")]")
+ chassis.visible_message(span_warning("[chassis] starts putting [target] into \the [src]."))
if(!do_after(source, equip_cooldown, target=target))
return
if(!chassis || src != chassis.selected || !(get_dir(chassis, target)&chassis.dir))
@@ -69,20 +69,20 @@
patient = target
START_PROCESSING(SSobj, src)
update_equip_info()
- to_chat(source, "[icon2html(src, source)][target] successfully loaded into [src]. Life support functions engaged.")
- chassis.visible_message("[chassis] loads [target] into [src].")
+ to_chat(source, "[icon2html(src, source)][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.", LOG_MECHA)
return ..()
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/patient_insertion_check(mob/living/carbon/target, mob/user)
if(target.buckled)
- to_chat(user, "[icon2html(src, user)][target] will not fit into the sleeper because [target.p_theyre()] buckled to [target.buckled]!")
+ to_chat(user, "[icon2html(src, user)][span_warning("[target] will not fit into the sleeper because [target.p_theyre()] buckled to [target.buckled]!")]")
return FALSE
if(target.has_buckled_mobs())
- to_chat(user, "[icon2html(src, user)][target] will not fit into the sleeper because of the creatures attached to it!")
+ to_chat(user, "[icon2html(src, user)][span_warning("[target] will not fit into the sleeper because of the creatures attached to it!")]")
return FALSE
if(patient)
- to_chat(user, "[icon2html(src, user)]The sleeper is already occupied!")
+ to_chat(user, "[icon2html(src, user)][span_warning("The sleeper is already occupied!")]")
return FALSE
return TRUE
@@ -90,7 +90,7 @@
if(!patient)
return
patient.forceMove(get_turf(src))
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][patient] ejected. Life support functions disabled.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("[patient] ejected. Life support functions disabled.")]")
log_message("[patient] ejected. Life support functions disabled.", LOG_MECHA)
STOP_PROCESSING(SSobj, src)
patient = null
@@ -98,7 +98,7 @@
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/detach()
if(patient)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Unable to detach [src] - equipment occupied!")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_warning("Unable to detach [src] - equipment occupied!")]")
return
STOP_PROCESSING(SSobj, src)
return ..()
@@ -181,9 +181,9 @@
Respiratory Damage: [patient.getOxyLoss()]%
Toxin Content: [patient.getToxLoss()]%
Burn Severity: [patient.getFireLoss()]%
- [patient.getCloneLoss() ? "Subject appears to have cellular damage." : ""]
- [patient.getOrganLoss(ORGAN_SLOT_BRAIN) ? "Significant brain damage detected." : ""]
- [length(patient.get_traumas()) ? "Brain Traumas detected." : ""]
+ [span_danger("[patient.getCloneLoss() ? "Subject appears to have cellular damage." : ""]")]
+ [span_danger("[patient.getOrganLoss(ORGAN_SLOT_BRAIN) ? "Significant brain damage detected." : ""]")]
+ [span_danger("[length(patient.get_traumas()) ? "Brain Traumas detected." : ""]")]
"}
/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_reagents()
@@ -208,7 +208,7 @@
return
var/to_inject = min(R.volume, inject_amount)
if(to_inject && patient.reagents.get_reagent_amount(R.type) + to_inject <= inject_amount*2)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Injecting [patient] with [to_inject] units of [R.name].")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Injecting [patient] with [to_inject] units of [R.name].")]")
log_message("Injecting [patient] with [to_inject] units of [R.name].", LOG_MECHA)
log_combat(chassis.occupants, patient, "injected", "[name] ([R] - [to_inject] units)")
SG.reagents.trans_id_to(patient,R.type,to_inject)
@@ -230,7 +230,7 @@
return
if(!chassis.has_charge(energy_drain))
log_message("Deactivated.", LOG_MECHA)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] deactivated - no power.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_warning("[src] deactivated - no power.")]")
STOP_PROCESSING(SSobj, src)
return
var/mob/living/carbon/M = patient
@@ -361,7 +361,7 @@
message += " added to production"
START_PROCESSING(SSobj, src)
to_chat(usr, message)
- to_chat(usr, "[icon2html(src, usr)]Reagent processing started.")
+ to_chat(usr, "[icon2html(src, usr)][span_notice("Reagent processing started.")]")
log_message("Reagent processing started.", LOG_MECHA)
return
if (href_list["show_reagents"])
@@ -440,39 +440,39 @@
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/load_syringe(obj/item/reagent_containers/syringe/S, mob/user)
if(LAZYLEN(syringes) >= max_syringes)
- to_chat(user, "[icon2html(src, user)][src]'s syringe chamber is full!")
+ to_chat(user, "[icon2html(src, user)][span_warning("[src]'s syringe chamber is full!")]")
return FALSE
if(get_dist(src,S) >= 2)
- to_chat(user, "[icon2html(src, user)]The syringe is too far away!")
+ to_chat(user, "[icon2html(src, user)][span_warning("The syringe is too far away!")]")
return FALSE
for(var/obj/structure/D in S.loc)//Basic level check for structures in the way (Like grilles and windows)
if(!(D.CanPass(S,src.loc)))
- to_chat(user, "[icon2html(src, user)]Unable to load syringe!")
+ to_chat(user, "[icon2html(src, user)][span_warning("Unable to load syringe!")]")
return FALSE
for(var/obj/machinery/door/D in S.loc)//Checks for doors
if(!(D.CanPass(S,src.loc)))
- to_chat(user, "[icon2html(src, user)]Unable to load syringe!")
+ to_chat(user, "[icon2html(src, user)][span_warning("Unable to load syringe!")]")
return FALSE
S.reagents.trans_to(src, S.reagents.total_volume, transfered_by = user)
S.forceMove(src)
LAZYADD(syringes,S)
- to_chat(user, "[icon2html(src, user)]Syringe loaded.")
+ to_chat(user, "[icon2html(src, user)][span_notice("Syringe loaded.")]")
update_equip_info()
return TRUE
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/analyze_reagents(atom/A, mob/user)
if(get_dist(src,A) >= 4)
- to_chat(user, "[icon2html(src, user)]The object is too far away!")
+ to_chat(user, "[icon2html(src, user)][span_notice("The object is too far away!")]")
return FALSE
if(!A.reagents || ismob(A))
- to_chat(user, "[icon2html(src, user)]No reagent info gained from [A].")
+ to_chat(user, "[icon2html(src, user)][span_warning("No reagent info gained from [A].")]")
return FALSE
- to_chat(user, "[icon2html(src, user)]Analyzing reagents...")
+ to_chat(user, "[icon2html(src, user)][span_notice("Analyzing reagents...")]")
for(var/datum/reagent/R in A.reagents.reagent_list)
if((R.chemical_flags & REAGENT_CAN_BE_SYNTHESIZED) && add_known_reagent(R.type,R.name))
- to_chat(user, "[icon2html(src, user)]Reagent analyzed, identified as [R.name] and added to database.")
+ to_chat(user, "[icon2html(src, user)][span_notice("Reagent analyzed, identified as [R.name] and added to database.")]")
send_byjax(chassis.occupants,"msyringegun.browser","reagents_form",get_reagents_form())
- to_chat(user, "[icon2html(src, user)]Analysis complete.")
+ to_chat(user, "[icon2html(src, user)][span_notice("Analysis complete.")]")
return TRUE
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/add_known_reagent(r_id,r_name)
@@ -500,7 +500,7 @@
if(.)
return
if(!LAZYLEN(processed_reagents) || reagents.total_volume >= reagents.maximum_volume || !chassis.has_charge(energy_drain))
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Reagent processing stopped.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_alert("Reagent processing stopped.")]")
log_message("Reagent processing stopped.", LOG_MECHA)
return PROCESS_KILL
var/amount = delta_time * synth_speed / LAZYLEN(processed_reagents)
diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm
index 9e382dd7bc3..7832a40eb78 100644
--- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm
+++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm
@@ -43,9 +43,9 @@
// You can't drill harder by clicking more.
if(!DOING_INTERACTION_WITH_TARGET(source, target) && do_after_cooldown(target, source, DOAFTER_SOURCE_MECHADRILL))
- 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_hear("You hear drilling."))
log_message("Started drilling [target]", LOG_MECHA)
// Drilling a turf is a one-and-done procedure.
@@ -84,7 +84,7 @@
drill.log_message("Drilled through [src]", LOG_MECHA)
dismantle_wall(TRUE, FALSE)
else
- to_chat(user, "[icon2html(src, user)][src] is too durable to drill through.")
+ to_chat(user, "[icon2html(src, user)][span_danger("[src] is too durable to drill through.")]")
/turf/closed/mineral/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill, mob/user)
for(var/turf/closed/mineral/M in range(drill.chassis,1))
@@ -123,8 +123,8 @@
butchering.butchering_enabled = FALSE
/obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/living/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]!"))
log_combat(user, target, "drilled", "[name]", "Combat mode: [user.combat_mode ? "On" : "Off"])(DAMTYPE: [uppertext(damtype)])")
if(target.stat == DEAD && target.getBruteLoss() >= (target.maxHealth * 2))
log_combat(user, target, "gibbed", name)
diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm
index 74b990c9c00..f40e39c3eaf 100644
--- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm
+++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm
@@ -88,15 +88,15 @@
if(GRAVSLING_MODE)
if(!movable_target)
if(!istype(target) || target.anchored || target.move_resist >= MOVE_FORCE_EXTREMELY_STRONG)
- to_chat(source, "[icon2html(src, source)]Unable to lock on [target]!")
+ to_chat(source, "[icon2html(src, source)][span_warning("Unable to lock on [target]!")]")
return
if(ismob(target))
var/mob/M = target
if(M.mob_negates_gravity())
- to_chat(source, "[icon2html(src, source)][target] immune to gravitational impulses, unable to lock!")
+ to_chat(source, "[icon2html(src, source)][span_warning("[target] immune to gravitational impulses, unable to lock!")]")
return
movable_target = target
- to_chat(source, "[icon2html(src, source)]locked on [target].")
+ to_chat(source, "[icon2html(src, source)][span_notice("locked on [target].")]")
send_byjax(source,"exosuit.browser","[REF(src)]", get_equip_info())
else if(target!=movable_target)
if(movable_target in view(chassis))
@@ -108,7 +108,7 @@
log_game("[key_name(source)] used a Gravitational Catapult to throw [movable_target] (From [AREACOORD(orig)]) at [target] ([AREACOORD(targ)]).")
return ..()
movable_target = null
- to_chat(source, "[icon2html(src, source)]Lock on [movable_target] disengaged.")
+ to_chat(source, "[icon2html(src, source)][span_notice("Lock on [movable_target] disengaged.")]")
send_byjax(source,"exosuit.browser","[REF(src)]", get_equip_info())
if(GRAVPUSH_MODE)
@@ -328,7 +328,7 @@
return PROCESS_KILL
var/cur_charge = chassis.get_charge()
if(isnull(cur_charge) || !chassis.cell)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]No power cell detected.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("No power cell detected.")]")
return PROCESS_KILL
if(cur_charge >= chassis.cell.maxcharge)
return
@@ -404,13 +404,13 @@
var/units = min(max(round(to_load / MINERAL_MATERIAL_AMOUNT),1),P.amount)
fuel.amount += units
P.use(units)
- to_chat(user, "[icon2html(src, user)][units] unit\s of [fuel] successfully loaded.")
+ to_chat(user, "[icon2html(src, user)][span_notice("[units] unit\s of [fuel] successfully loaded.")]")
return units
else
- to_chat(user, "[icon2html(src, user)]Unit is full.")
+ to_chat(user, "[icon2html(src, user)][span_notice("Unit is full.")]")
return 0
else
- to_chat(user, "[icon2html(src, user)][fuel] traces in target minimal! [P] cannot be used as fuel.")
+ to_chat(user, "[icon2html(src, user)][span_warning("[fuel] traces in target minimal! [P] cannot be used as fuel.")]")
return
/obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user, params)
@@ -421,11 +421,11 @@
return PROCESS_KILL
if(fuel.amount<=0)
log_message("Deactivated - no fuel.", LOG_MECHA)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Fuel reserves depleted.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Fuel reserves depleted.")]")
return PROCESS_KILL
var/cur_charge = chassis.get_charge()
if(isnull(cur_charge))
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]No power cell detected.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("No power cell detected.")]")
log_message("Deactivated.", LOG_MECHA)
return PROCESS_KILL
var/use_fuel = fuelrate_idle
@@ -467,7 +467,7 @@
/obj/item/mecha_parts/mecha_equipment/thrusters/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M)
for(var/obj/item/I in M.equipment)
if(istype(I, src))
- to_chat(user, "[M] already has this thruster package!")
+ to_chat(user, span_warning("[M] already has this thruster package!"))
return FALSE
return ..()
@@ -501,13 +501,13 @@
if (chassis.active_thrusters == src)
return
chassis.active_thrusters = src
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] enabled.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("[src] enabled.")]")
/obj/item/mecha_parts/mecha_equipment/thrusters/proc/disable()
if(chassis.active_thrusters != src)
return
chassis.active_thrusters = null
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][src] disabled.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("[src] disabled.")]")
/obj/item/mecha_parts/mecha_equipment/thrusters/get_equip_info()
return "[..()] \[Enable|Disable\]"
@@ -533,7 +533,7 @@
/obj/item/mecha_parts/mecha_equipment/thrusters/gas/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M)
if(!M.internal_tank)
- to_chat(user, "[M] does not have an internal tank and cannot support this upgrade!")
+ to_chat(user, span_warning("[M] does not have an internal tank and cannot support this upgrade!"))
return FALSE
return ..()
diff --git a/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm b/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm
index 451e6320922..87c5b949d26 100644
--- a/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm
+++ b/code/modules/vehicles/mecha/equipment/tools/weapon_bay.dm
@@ -6,9 +6,9 @@
/obj/item/mecha_parts/concealed_weapon_bay/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M)
if(istype(M, /obj/vehicle/sealed/mecha/combat))
- to_chat(user, "[M] can already hold weapons!")
+ to_chat(user, span_warning("[M] can already hold weapons!"))
return
if(locate(/obj/item/mecha_parts/concealed_weapon_bay) in M.contents)
- to_chat(user, "[M] already has a concealed weapon bay!")
+ to_chat(user, span_warning("[M] already has a concealed weapon bay!"))
return
return ..()
diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm
index cbfde0996f6..f7be92df31f 100644
--- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm
+++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm
@@ -68,13 +68,13 @@
targetairlock.try_to_crowbar(src, source)
return
if(clamptarget.anchored)
- to_chat(source, "[icon2html(src, source)][target] is firmly secured!")
+ to_chat(source, "[icon2html(src, source)][span_warning("[target] is firmly secured!")]")
return
if(LAZYLEN(cargo_holder.cargo) >= cargo_holder.cargo_capacity)
- to_chat(source, "[icon2html(src, source)]Not enough room in cargo compartment!")
+ to_chat(source, "[icon2html(src, source)][span_warning("Not enough room in cargo compartment!")]")
return
playsound(chassis, clampsound, 50, FALSE, -6)
- 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."))
clamptarget.set_anchored(TRUE)
if(!do_after_cooldown(target, source))
clamptarget.set_anchored(initial(clamptarget.anchored))
@@ -84,7 +84,7 @@
clamptarget.set_anchored(FALSE)
if(!cargo_holder.box && istype(clamptarget, /obj/structure/ore_box))
cargo_holder.box = clamptarget
- to_chat(source, "[icon2html(src, source)][target] successfully loaded.")
+ to_chat(source, "[icon2html(src, source)][span_notice("[target] successfully loaded.")]")
log_message("Loaded [clamptarget]. Cargo compartment capacity: [cargo_holder.cargo_capacity - LAZYLEN(cargo_holder.cargo)]", LOG_MECHA)
else if(isliving(target))
@@ -97,16 +97,16 @@
if(!source.combat_mode)
step_away(M,chassis)
if(killer_clamp)
- target.visible_message("[chassis] tosses [target] like a piece of paper!", \
- "[chassis] tosses you like a piece of paper!")
+ target.visible_message(span_danger("[chassis] tosses [target] like a piece of paper!"), \
+ span_userdanger("[chassis] tosses you like a piece of paper!"))
else
- to_chat(source, "[icon2html(src, source)]You push [target] out of the way.")
- chassis.visible_message("[chassis] pushes [target] out of the way.", \
- "[chassis] pushes you aside.")
+ to_chat(source, "[icon2html(src, source)][span_notice("You push [target] out of the way.")]")
+ chassis.visible_message(span_notice("[chassis] pushes [target] out of the way."), \
+ span_notice("[chassis] pushes you aside."))
return ..()
else if(LAZYACCESS(modifiers, RIGHT_CLICK) && iscarbon(M))//meme clamp here
if(!killer_clamp)
- to_chat(source, "You longingly wish to tear [M]'s arms off.")
+ to_chat(source, span_notice("You longingly wish to tear [M]'s arms off."))
return
var/mob/living/carbon/C = target
var/torn_off = FALSE
@@ -119,11 +119,11 @@
affected.dismember(damtype)
torn_off = TRUE
if(!torn_off)
- to_chat(source, "[M]'s arms are already torn off, you must find a challenger worthy of the kill clamp!")
+ to_chat(source, span_notice("[M]'s arms are already torn off, you must find a challenger worthy of the kill clamp!"))
return
playsound(src, get_dismember_sound(), 80, TRUE)
- target.visible_message("[chassis] rips [target]'s arms off!", \
- "[chassis] rips your arms off!")
+ target.visible_message(span_danger("[chassis] rips [target]'s arms off!"), \
+ span_userdanger("[chassis] rips your arms off!"))
log_combat(source, M, "removed both arms with a real clamp,", "[name]", "(COMBAT MODE: [uppertext(source.combat_mode)] (DAMTYPE: [uppertext(damtype)])")
return ..()
@@ -132,9 +132,9 @@
return
M.adjustOxyLoss(round(clamp_damage/2))
M.updatehealth()
- target.visible_message("[chassis] squeezes [target]!", \
- "[chassis] squeezes you!",\
- "You hear something crack.")
+ target.visible_message(span_danger("[chassis] squeezes [target]!"), \
+ span_userdanger("[chassis] squeezes you!"),\
+ span_hear("You hear something crack."))
log_combat(source, M, "attacked", "[name]", "(Combat mode: [source.combat_mode ? "On" : "Off"]) (DAMTYPE: [uppertext(damtype)])")
return ..()
@@ -175,7 +175,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)
- to_chat(source, "[icon2html(src, source)]Extinguisher refilled.")
+ to_chat(source, "[icon2html(src, source)][span_notice("Extinguisher refilled.")]")
playsound(chassis, 'sound/effects/refill.ogg', 50, TRUE, -6)
return
@@ -257,7 +257,7 @@
switch(mode)
if(MODE_DECONSTRUCT)
- to_chat(source, "[icon2html(src, source)]Deconstructing [target]...")
+ to_chat(source, "[icon2html(src, source)][span_notice("Deconstructing [target]...")]")
if(iswallturf(target))
var/turf/closed/wall/W = target
if(!do_after_cooldown(W, source))
@@ -275,19 +275,19 @@
if(MODE_WALL)
if(isspaceturf(target))
var/turf/open/space/S = target
- to_chat(source, "[icon2html(src, source)]Building Floor...")
+ to_chat(source, "[icon2html(src, source)][span_notice("Building Floor...")]")
if(!do_after_cooldown(S, source))
return
S.PlaceOnTop(/turf/open/floor/plating, flags = CHANGETURF_INHERIT_AIR)
else if(isfloorturf(target))
var/turf/open/floor/F = target
- to_chat(source, "[icon2html(src, source)]Building Wall...")
+ to_chat(source, "[icon2html(src, source)][span_notice("Building Wall...")]")
if(!do_after_cooldown(F, source))
return
F.PlaceOnTop(/turf/closed/wall)
if(MODE_AIRLOCK)
if(isfloorturf(target))
- to_chat(source, "[icon2html(src, source)]Building Airlock...")
+ to_chat(source, "[icon2html(src, source)][span_notice("Building Airlock...")]")
if(!do_after_cooldown(target, source))
return
var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock(target)
@@ -303,13 +303,13 @@
mode = text2num(href_list["mode"])
switch(mode)
if(MODE_DECONSTRUCT)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Switched RCD to Deconstruct.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Switched RCD to Deconstruct.")]")
energy_drain = initial(energy_drain)
if(MODE_WALL)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Switched RCD to Construct Walls and Flooring.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Switched RCD to Construct Walls and Flooring.")]")
energy_drain = 2*initial(energy_drain)
if(MODE_AIRLOCK)
- to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)]Switched RCD to Construct Airlock.")
+ to_chat(chassis.occupants, "[icon2html(src, chassis.occupants)][span_notice("Switched RCD to Construct Airlock.")]")
energy_drain = 2*initial(energy_drain)
/obj/item/mecha_parts/mecha_equipment/rcd/get_equip_info()
@@ -328,19 +328,19 @@
/obj/item/mecha_parts/mecha_equipment/ripleyupgrade/can_attach(obj/vehicle/sealed/mecha/working/ripley/M)
if(M.type != /obj/vehicle/sealed/mecha/working/ripley)
- to_chat(loc, "This conversion kit can only be applied to APLU MK-I models.")
+ to_chat(loc, span_warning("This conversion kit can only be applied to APLU MK-I models."))
return FALSE
if(LAZYLEN(M.cargo))
- to_chat(loc, "[M]'s cargo hold must be empty before this conversion kit can be applied.")
+ to_chat(loc, span_warning("[M]'s cargo hold must be empty before this conversion kit can be applied."))
return FALSE
if(!(M.mecha_flags & ADDING_MAINT_ACCESS_POSSIBLE)) //non-removable upgrade, so lets make sure the pilot or owner has their say.
- to_chat(loc, "[M] must have maintenance protocols active in order to allow this conversion kit.")
+ to_chat(loc, span_warning("[M] must have maintenance protocols active in order to allow this conversion kit."))
return FALSE
if(LAZYLEN(M.occupants)) //We're actualy making a new mech and swapping things over, it might get weird if players are involved
- to_chat(loc, "[M] must be unoccupied before this conversion kit can be applied.")
+ to_chat(loc, span_warning("[M] must be unoccupied before this conversion kit can be applied."))
return FALSE
if(!M.cell) //Turns out things break if the cell is missing
- to_chat(loc, "The conversion process requires a cell installed.")
+ to_chat(loc, span_warning("The conversion process requires a cell installed."))
return FALSE
return TRUE
diff --git a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm
index c95977a7fbe..bdd960cebe7 100644
--- a/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm
+++ b/code/modules/vehicles/mecha/equipment/weapons/mecha_ammo.dm
@@ -27,10 +27,10 @@
/obj/item/mecha_ammo/attack_self(mob/user)
..()
if(rounds)
- to_chat(user, "You cannot flatten the ammo box until it's empty!")
+ to_chat(user, span_warning("You cannot flatten the ammo box until it's empty!"))
return
- to_chat(user, "You fold [src] flat.")
+ to_chat(user, span_notice("You fold [src] flat."))
var/trash = new /obj/item/stack/sheet/iron(user.loc)
qdel(src)
user.put_in_hands(trash)
diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm
index 10164c4dc1b..989292401ee 100644
--- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm
+++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm
@@ -475,9 +475,9 @@
if(!chassis)
return
if(harmful)
- to_chat(usr, "[icon2html(src, usr)]Lethal Fisting Enabled.")
+ to_chat(usr, "[icon2html(src, usr)][span_warning("Lethal Fisting Enabled.")]")
else
- to_chat(usr, "[icon2html(src, usr)]Lethal Fisting Disabled.")
+ to_chat(usr, "[icon2html(src, usr)][span_warning("Lethal Fisting Disabled.")]")
/obj/item/mecha_parts/mecha_equipment/weapon/ballistic/launcher/punching_glove/action(mob/source, atom/target, params)
. = ..()
diff --git a/code/modules/vehicles/mecha/mech_bay.dm b/code/modules/vehicles/mecha/mech_bay.dm
index bd66a6f5cc8..3d152c2e936 100644
--- a/code/modules/vehicles/mecha/mech_bay.dm
+++ b/code/modules/vehicles/mecha/mech_bay.dm
@@ -47,7 +47,7 @@
/obj/machinery/mech_bay_recharge_port/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Recharge power [siunit(recharge_power, "W", 1)]."
+ . += span_notice("The status display reads: Recharge power [siunit(recharge_power, "W", 1)].")
/obj/machinery/mech_bay_recharge_port/process(delta_time)
if(machine_stat & NOPOWER || !recharge_console)
diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm
index edc21af1d13..9438e1c3a43 100644
--- a/code/modules/vehicles/mecha/mech_fabricator.dm
+++ b/code/modules/vehicles/mecha/mech_fabricator.dm
@@ -102,7 +102,7 @@
/obj/machinery/mecha_part_fabricator/examine(mob/user)
. = ..()
if(in_range(user, src) || isobserver(user))
- . += "The status display reads: Storing up to [rmat.local_size] material units.
Material consumption at [component_coeff*100]%.
Build time reduced by [100-time_coeff*100]%."
+ . += span_notice("The status display reads: Storing up to [rmat.local_size] material units.
Material consumption at [component_coeff*100]%.
Build time reduced by [100-time_coeff*100]%.")
/**
* Generates an info list for a given part.
@@ -579,7 +579,7 @@
if(..())
return TRUE
if(being_built)
- to_chat(user, "\The [src] is currently processing! Please wait until completion.")
+ to_chat(user, span_warning("\The [src] is currently processing! Please wait until completion."))
return FALSE
return default_deconstruction_screwdriver(user, "fab-o", "fab-idle", I)
@@ -587,16 +587,16 @@
if(..())
return TRUE
if(being_built)
- to_chat(user, "\The [src] is currently processing! Please wait until completion.")
+ to_chat(user, span_warning("\The [src] is currently processing! Please wait until completion."))
return FALSE
return default_deconstruction_crowbar(I)
/obj/machinery/mecha_part_fabricator/proc/is_insertion_ready(mob/user)
if(panel_open)
- to_chat(user, "You can't load [src] while it's opened!")
+ to_chat(user, span_warning("You can't load [src] while it's opened!"))
return FALSE
if(being_built)
- to_chat(user, "\The [src] is currently processing! Please wait until completion.")
+ to_chat(user, span_warning("\The [src] is currently processing! Please wait until completion."))
return FALSE
return TRUE
diff --git a/code/modules/vehicles/mecha/mech_melee_attack.dm b/code/modules/vehicles/mecha/mech_melee_attack.dm
index cdd3d78abac..f7d3f9f9809 100644
--- a/code/modules/vehicles/mecha/mech_melee_attack.dm
+++ b/code/modules/vehicles/mecha/mech_melee_attack.dm
@@ -7,8 +7,8 @@
switch(mecha_attacker.damtype)
if(BRUTE)
playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE)
- mecha_attacker.visible_message("[mecha_attacker.name] hits [src]!", \
- "You hit [src]!", null, COMBAT_MESSAGE_RANGE)
+ mecha_attacker.visible_message(span_danger("[mecha_attacker.name] hits [src]!"), \
+ span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE)
if(prob(hardness + mecha_attacker.force) && mecha_attacker.force > 20)
dismantle_wall(1)
playsound(src, 'sound/effects/meteorimpact.ogg', 100, TRUE)
@@ -38,7 +38,7 @@
return 0
else
return 0
- mecha_attacker.visible_message("[mecha_attacker.name] hits [src]!", "You hit [src]!", null, COMBAT_MESSAGE_RANGE)
+ mecha_attacker.visible_message(span_danger("[mecha_attacker.name] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE)
return take_damage(mecha_attacker.force * 3, mech_damtype, "melee", play_soundeffect, get_dir(src, mecha_attacker)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs.
/obj/structure/window/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker)
@@ -49,7 +49,7 @@
/mob/living/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)
if(user.combat_mode)
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
mecha_attacker.do_attack_animation(src)
if(mecha_attacker.damtype == "brute")
@@ -67,16 +67,16 @@
else
return
updatehealth()
- visible_message("[mecha_attacker.name] hits [src]!", \
- "[mecha_attacker.name] hits you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, mecha_attacker)
- to_chat(mecha_attacker, "You hit [src]!")
+ visible_message(span_danger("[mecha_attacker.name] hits [src]!"), \
+ span_userdanger("[mecha_attacker.name] hits you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, mecha_attacker)
+ to_chat(mecha_attacker, span_danger("You hit [src]!"))
log_combat(user, src, "attacked", mecha_attacker, "(COMBAT MODE: [uppertext(user.combat_mode)]) (DAMTYPE: [uppertext(mecha_attacker.damtype)])")
else
step_away(src, mecha_attacker)
log_combat(user, src, "pushed", mecha_attacker)
- visible_message("[mecha_attacker] pushes [src] out of the way.", \
- "[mecha_attacker] pushes you out of the way.", "You hear aggressive shuffling!", 5, list(mecha_attacker))
- to_chat(mecha_attacker, "You push [src] out of the way.")
+ visible_message(span_warning("[mecha_attacker] pushes [src] out of the way."), \
+ span_warning("[mecha_attacker] pushes you out of the way."), span_hear("You hear aggressive shuffling!"), 5, list(mecha_attacker))
+ to_chat(mecha_attacker, span_danger("You push [src] out of the way."))
/mob/living/carbon/human/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)
if(!isliving(user))
@@ -84,7 +84,7 @@
var/mob/living/attacker = user
if(attacker.combat_mode)
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
mecha_attacker.do_attack_animation(src)
if(mecha_attacker.damtype == BRUTE)
@@ -112,9 +112,9 @@
update_damage_overlays()
updatehealth()
- visible_message("[mecha_attacker.name] hits [src]!", \
- "[mecha_attacker.name] hits you!", "You hear a sickening sound of flesh hitting flesh!", COMBAT_MESSAGE_RANGE, list(mecha_attacker))
- to_chat(mecha_attacker, "You hit [src]!")
+ visible_message(span_danger("[mecha_attacker.name] hits [src]!"), \
+ span_userdanger("[mecha_attacker.name] hits you!"), span_hear("You hear a sickening sound of flesh hitting flesh!"), COMBAT_MESSAGE_RANGE, list(mecha_attacker))
+ to_chat(mecha_attacker, span_danger("You hit [src]!"))
log_combat(user, src, "attacked", mecha_attacker, "(COMBAT MODE: [uppertext(user.combat_mode)] (DAMTYPE: [uppertext(mecha_attacker.damtype)])")
else
return ..()
diff --git a/code/modules/vehicles/mecha/mecha_actions.dm b/code/modules/vehicles/mecha/mecha_actions.dm
index 7497b8c87fb..bcdb2486cd7 100644
--- a/code/modules/vehicles/mecha/mecha_actions.dm
+++ b/code/modules/vehicles/mecha/mecha_actions.dm
@@ -130,7 +130,7 @@
if(!(user in occupants) || !user.canUseTopic(src))
return
if(!(user in return_controllers_with_flag(VEHICLE_CONTROL_DRIVE)))
- to_chat(user, "You're in the wrong seat to control movement.")
+ to_chat(user, span_warning("You're in the wrong seat to control movement."))
return
toggle_strafe()
diff --git a/code/modules/vehicles/mecha/mecha_construction_paths.dm b/code/modules/vehicles/mecha/mecha_construction_paths.dm
index 5520cbef901..b28ff4ff008 100644
--- a/code/modules/vehicles/mecha/mecha_construction_paths.dm
+++ b/code/modules/vehicles/mecha/mecha_construction_paths.dm
@@ -59,7 +59,7 @@
. = user.transferItemToLoc(I, parent)
if(.)
var/atom/parent_atom = parent
- user.visible_message("[user] connects [I] to [parent].", "You connect [I] to [parent].")
+ user.visible_message(span_notice("[user] connects [I] to [parent]."), span_notice("You connect [I] to [parent]."))
parent_atom.add_overlay(I.icon_state+"+o")
qdel(I)
@@ -297,102 +297,102 @@
switch(index)
if(1)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(6)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(7)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(8)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent]."))
if(9)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(10)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] secures [I].", "You secure [I].")
+ user.visible_message(span_notice("[user] secures [I]."), span_notice("You secure [I]."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] installs [I].", "You install [I].")
+ user.visible_message(span_notice("[user] installs [I]."), span_notice("You install [I]."))
else
- user.visible_message("[user] unsecures the capacitor from [parent].", "You unsecure the capacitor from [parent].")
+ user.visible_message(span_notice("[user] unsecures the capacitor from [parent]."), span_notice("You unsecure the capacitor from [parent]."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(16)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent]."))
if(17)
if(diff==FORWARD)
- user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent]."))
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."))
if(18)
if(diff==FORWARD)
- user.visible_message("[user] installs the external reinforced armor layer to [parent].", "You install the external reinforced armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the external reinforced armor layer to [parent]."), span_notice("You install the external reinforced armor layer to [parent]."))
else
- user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent]."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.")
+ user.visible_message(span_notice("[user] secures the external armor layer."), span_notice("You secure the external reinforced armor layer."))
else
- user.visible_message("[user] pries external armor layer from [parent].", "You pry external armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries external armor layer from [parent]."), span_notice("You pry external armor layer from [parent]."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the external armor layer to [parent]."), span_notice("You weld the external armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
+ user.visible_message(span_notice("[user] unfastens the external armor layer."), span_notice("You unfasten the external armor layer."))
return TRUE
/datum/component/construction/unordered/mecha_chassis/gygax
@@ -429,112 +429,112 @@
switch(index)
if(1)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(6)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(7)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(8)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent]."))
if(9)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(10)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the weapon control module from [parent].", "You remove the weapon control module from [parent].")
+ user.visible_message(span_notice("[user] removes the weapon control module from [parent]."), span_notice("You remove the weapon control module from [parent]."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
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."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] secures the capacitor.", "You secure the capacitor.")
+ user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.")
+ user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor."))
if(16)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(17)
if(diff==FORWARD)
- user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(18)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent]."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent]."))
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."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent]."))
if(21)
if(diff==FORWARD)
- user.visible_message("[user] secures Gygax Armor Plates.", "You secure Gygax Armor Plates.")
+ user.visible_message(span_notice("[user] secures Gygax Armor Plates."), span_notice("You secure Gygax Armor Plates."))
else
- user.visible_message("[user] pries Gygax Armor Plates from [parent].", "You pry Gygax Armor Plates from [parent].")
+ user.visible_message(span_notice("[user] pries Gygax Armor Plates from [parent]."), span_notice("You pry Gygax Armor Plates from [parent]."))
if(22)
if(diff==FORWARD)
- user.visible_message("[user] welds Gygax Armor Plates to [parent].", "You weld Gygax Armor Plates to [parent].")
+ user.visible_message(span_notice("[user] welds Gygax Armor Plates to [parent]."), span_notice("You weld Gygax Armor Plates to [parent]."))
else
- user.visible_message("[user] unfastens Gygax Armor Plates.", "You unfasten Gygax Armor Plates.")
+ user.visible_message(span_notice("[user] unfastens Gygax Armor Plates."), span_notice("You unfasten Gygax Armor Plates."))
return TRUE
/datum/component/construction/unordered/mecha_chassis/clarke
@@ -598,108 +598,108 @@
//TODO: better messages.
switch(index)
if(1)
- user.visible_message("[user] adds the tread systems.", "You add the tread systems.")
+ user.visible_message(span_notice("[user] adds the tread systems."), span_notice("You add the tread systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
else
- user.visible_message("[user] removes the tread systems.", "You remove the tread systems.")
+ user.visible_message(span_notice("[user] removes the tread systems."), span_notice("You remove the tread systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(6)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(7)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(8)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(9)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent]."))
if(10)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] secures the capacitor.", "You secure the capacitor.")
+ user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.")
+ user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(16)
if(diff==FORWARD)
- user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(17)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent]."))
if(18)
if(diff==FORWARD)
- user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent]."))
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."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] installs the external armor layer to [parent].", "You install the external reinforced armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the external armor layer to [parent]."), span_notice("You install the external reinforced armor layer to [parent]."))
else
- user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent]."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.")
+ user.visible_message(span_notice("[user] secures the external armor layer."), span_notice("You secure the external reinforced armor layer."))
else
- user.visible_message("[user] pries the external armor layer from [parent].", "You pry the external armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries the external armor layer from [parent]."), span_notice("You pry the external armor layer from [parent]."))
if(21)
if(diff==FORWARD)
- user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the external armor layer to [parent]."), span_notice("You weld the external armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
+ user.visible_message(span_notice("[user] unfastens the external armor layer."), span_notice("You unfasten the external armor layer."))
return TRUE
@@ -795,26 +795,26 @@
if(istype(I, /obj/item/bikehorn))
playsound(parent, 'sound/items/bikehorn.ogg', 50, TRUE)
- user.visible_message("HONK!")
+ user.visible_message(span_danger("HONK!"))
//TODO: better messages.
switch(index)
if(2)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
if(4)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
if(6)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
if(8)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
if(10)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
if(12)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
if(14)
- user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].")
+ user.visible_message(span_notice("[user] puts [I] on [parent]."), span_notice("You put [I] on [parent]."))
if(16)
- user.visible_message("[user] puts [I] on [parent].", "You put [I] on [parent].")
+ user.visible_message(span_notice("[user] puts [I] on [parent]."), span_notice("You put [I] on [parent]."))
return TRUE
/datum/component/construction/unordered/mecha_chassis/durand
@@ -849,112 +849,112 @@
//TODO: better messages.
switch(index)
if(1)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(6)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(7)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(8)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent]."))
if(9)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(10)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the weapon control module from [parent].", "You remove the weapon control module from [parent].")
+ user.visible_message(span_notice("[user] removes the weapon control module from [parent]."), span_notice("You remove the weapon control module from [parent]."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
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."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] secures the capacitor.", "You secure the capacitor.")
+ user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.")
+ user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor."))
if(16)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(17)
if(diff==FORWARD)
- user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(18)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent]."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent]."))
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."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent]."))
if(21)
if(diff==FORWARD)
- user.visible_message("[user] secures Durand Armor Plates.", "You secure Durand Armor Plates.")
+ user.visible_message(span_notice("[user] secures Durand Armor Plates."), span_notice("You secure Durand Armor Plates."))
else
- user.visible_message("[user] pries Durand Armor Plates from [parent].", "You pry Durand Armor Plates from [parent].")
+ user.visible_message(span_notice("[user] pries Durand Armor Plates from [parent]."), span_notice("You pry Durand Armor Plates from [parent]."))
if(22)
if(diff==FORWARD)
- user.visible_message("[user] welds Durand Armor Plates to [parent].", "You weld Durand Armor Plates to [parent].")
+ user.visible_message(span_notice("[user] welds Durand Armor Plates to [parent]."), span_notice("You weld Durand Armor Plates to [parent]."))
else
- user.visible_message("[user] unfastens Durand Armor Plates.", "You unfasten Durand Armor Plates.")
+ user.visible_message(span_notice("[user] unfastens Durand Armor Plates."), span_notice("You unfasten Durand Armor Plates."))
return TRUE
//PHAZON
@@ -1075,131 +1075,131 @@
//TODO: better messages.
switch(index)
if(1)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(6)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(7)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(8)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent]."))
if(9)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(10)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the weapon control module from [parent].", "You remove the weapon control module from [parent].")
+ user.visible_message(span_notice("[user] removes the weapon control module from [parent]."), span_notice("You remove the weapon control module from [parent]."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
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."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] secures the capacitor.", "You secure the capacitor.")
+ user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] installs [I].", "You install [I].")
+ user.visible_message(span_notice("[user] installs [I]."), span_notice("You install [I]."))
else
- user.visible_message("[user] unsecures the capacitor from [parent].", "You unsecure the capacitor from [parent].")
+ user.visible_message(span_notice("[user] unsecures the capacitor from [parent]."), span_notice("You unsecure the capacitor from [parent]."))
if(16)
if(diff==FORWARD)
- user.visible_message("[user] connects the bluespace crystal.", "You connect the bluespace crystal.")
+ user.visible_message(span_notice("[user] connects the bluespace crystal."), span_notice("You connect the bluespace crystal."))
else
- user.visible_message("[user] removes the bluespace crystal from [parent].", "You remove the bluespace crystal from [parent].")
+ user.visible_message(span_notice("[user] removes the bluespace crystal from [parent]."), span_notice("You remove the bluespace crystal from [parent]."))
if(17)
if(diff==FORWARD)
- user.visible_message("[user] engages the bluespace crystal.", "You engage the bluespace crystal.")
+ user.visible_message(span_notice("[user] engages the bluespace crystal."), span_notice("You engage the bluespace crystal."))
else
- user.visible_message("[user] disconnects the bluespace crystal from [parent].", "You disconnect the bluespace crystal from [parent].")
+ user.visible_message(span_notice("[user] disconnects the bluespace crystal from [parent]."), span_notice("You disconnect the bluespace crystal from [parent]."))
if(18)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disengages the bluespace crystal.", "You disengage the bluespace crystal.")
+ user.visible_message(span_notice("[user] disengages the bluespace crystal."), span_notice("You disengage the bluespace crystal."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] installs the phase armor layer to [parent].", "You install the phase armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the phase armor layer to [parent]."), span_notice("You install the phase armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(21)
if(diff==FORWARD)
- user.visible_message("[user] secures the phase armor layer.", "You secure the phase armor layer.")
+ user.visible_message(span_notice("[user] secures the phase armor layer."), span_notice("You secure the phase armor layer."))
else
- user.visible_message("[user] pries the phase armor layer from [parent].", "You pry the phase armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries the phase armor layer from [parent]."), span_notice("You pry the phase armor layer from [parent]."))
if(22)
if(diff==FORWARD)
- user.visible_message("[user] welds the phase armor layer to [parent].", "You weld the phase armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the phase armor layer to [parent]."), span_notice("You weld the phase armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the phase armor layer.", "You unfasten the phase armor layer.")
+ user.visible_message(span_notice("[user] unfastens the phase armor layer."), span_notice("You unfasten the phase armor layer."))
if(23)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] cuts phase armor layer from [parent].", "You cut the phase armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts phase armor layer from [parent]."), span_notice("You cut the phase armor layer from [parent]."))
if(24)
if(diff==FORWARD)
- user.visible_message("[user] secures Phazon Armor Plates.", "You secure Phazon Armor Plates.")
+ user.visible_message(span_notice("[user] secures Phazon Armor Plates."), span_notice("You secure Phazon Armor Plates."))
else
- user.visible_message("[user] pries Phazon Armor Plates from [parent].", "You pry Phazon Armor Plates from [parent].")
+ user.visible_message(span_notice("[user] pries Phazon Armor Plates from [parent]."), span_notice("You pry Phazon Armor Plates from [parent]."))
if(25)
if(diff==FORWARD)
- user.visible_message("[user] welds Phazon Armor Plates to [parent].", "You weld Phazon Armor Plates to [parent].")
+ user.visible_message(span_notice("[user] welds Phazon Armor Plates to [parent]."), span_notice("You weld Phazon Armor Plates to [parent]."))
else
- user.visible_message("[user] unfastens Phazon Armor Plates.", "You unfasten Phazon Armor Plates.")
+ user.visible_message(span_notice("[user] unfastens Phazon Armor Plates."), span_notice("You unfasten Phazon Armor Plates."))
if(26)
if(diff==FORWARD)
- user.visible_message("[user] carefully inserts the bluespace anomaly core into [parent] and secures it.",
- "You slowly place the bluespace anomaly core into its socket and close its chamber.")
+ user.visible_message(span_notice("[user] carefully inserts the bluespace anomaly core into [parent] and secures it."),
+ span_notice("You slowly place the bluespace anomaly core into its socket and close its chamber."))
return TRUE
//savannah_ivanov
@@ -1236,112 +1236,112 @@
switch(index)
if(1)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(6)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(7)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(8)
if(diff==FORWARD)
- user.visible_message("[user] secures the ivanov peripherals control module.", "You secure the ivanov peripherals control module.")
+ user.visible_message(span_notice("[user] secures the ivanov peripherals control module."), span_notice("You secure the ivanov peripherals control module."))
else
- user.visible_message("[user] removes the ivanov peripherals control module from [parent].", "You remove the ivanov peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the ivanov peripherals control module from [parent]."), span_notice("You remove the ivanov peripherals control module from [parent]."))
if(9)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] unfastens the ivanov peripherals control module.", "You unfasten the ivanov peripherals control module.")
+ user.visible_message(span_notice("[user] unfastens the ivanov peripherals control module."), span_notice("You unfasten the ivanov peripherals control module."))
if(10)
if(diff==FORWARD)
- user.visible_message("[user] secures the ivanov weapon control module.", "You secure the ivanov weapon control module.")
+ user.visible_message(span_notice("[user] secures the ivanov weapon control module."), span_notice("You secure the ivanov weapon control module."))
else
- user.visible_message("[user] removes the ivanov weapon control module from [parent].", "You remove the ivanov weapon control module from [parent].")
+ user.visible_message(span_notice("[user] removes the ivanov weapon control module from [parent]."), span_notice("You remove the ivanov weapon control module from [parent]."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the ivanov weapon control module.", "You unfasten the ivanov weapon control module.")
+ user.visible_message(span_notice("[user] unfastens the ivanov weapon control module."), span_notice("You unfasten the ivanov weapon control module."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] secures the capacitor.", "You secure the capacitor.")
+ user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.")
+ user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor."))
if(16)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(17)
if(diff==FORWARD)
- user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(18)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent]."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent]."))
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."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent]."))
if(21)
if(diff==FORWARD)
- user.visible_message("[user] secures Savannah-Ivanov Armor Plates.", "You secure Savannah-Ivanov Armor Plates.")
+ user.visible_message(span_notice("[user] secures Savannah-Ivanov Armor Plates."), span_notice("You secure Savannah-Ivanov Armor Plates."))
else
- user.visible_message("[user] pries Savannah-Ivanov Armor Plates from [parent].", "You pry Savannah-Ivanov Armor Plates from [parent].")
+ user.visible_message(span_notice("[user] pries Savannah-Ivanov Armor Plates from [parent]."), span_notice("You pry Savannah-Ivanov Armor Plates from [parent]."))
if(22)
if(diff==FORWARD)
- user.visible_message("[user] welds Savannah-Ivanov Armor Plates to [parent].", "You weld Savannah-Ivanov Armor Plates to [parent].")
+ user.visible_message(span_notice("[user] welds Savannah-Ivanov Armor Plates to [parent]."), span_notice("You weld Savannah-Ivanov Armor Plates to [parent]."))
else
- user.visible_message("[user] unfastens Savannah-Ivanov Armor Plates.", "You unfasten Savannah-Ivanov Armor Plates.")
+ user.visible_message(span_notice("[user] unfastens Savannah-Ivanov Armor Plates."), span_notice("You unfasten Savannah-Ivanov Armor Plates."))
return TRUE
//ODYSSEUS
@@ -1377,100 +1377,100 @@
//TODO: better messages.
switch(index)
if(1)
- user.visible_message("[user] connects [parent] hydraulic systems.", "You connect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] connects [parent] hydraulic systems."), span_notice("You connect [parent] hydraulic systems."))
if(2)
if(diff==FORWARD)
- user.visible_message("[user] activates [parent] hydraulic systems.", "You activate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] activates [parent] hydraulic systems."), span_notice("You activate [parent] hydraulic systems."))
else
- user.visible_message("[user] disconnects [parent] hydraulic systems.", "You disconnect [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] disconnects [parent] hydraulic systems."), span_notice("You disconnect [parent] hydraulic systems."))
if(3)
if(diff==FORWARD)
- user.visible_message("[user] adds the wiring to [parent].", "You add the wiring to [parent].")
+ user.visible_message(span_notice("[user] adds the wiring to [parent]."), span_notice("You add the wiring to [parent]."))
else
- user.visible_message("[user] deactivates [parent] hydraulic systems.", "You deactivate [parent] hydraulic systems.")
+ user.visible_message(span_notice("[user] deactivates [parent] hydraulic systems."), span_notice("You deactivate [parent] hydraulic systems."))
if(4)
if(diff==FORWARD)
- user.visible_message("[user] adjusts the wiring of [parent].", "You adjust the wiring of [parent].")
+ user.visible_message(span_notice("[user] adjusts the wiring of [parent]."), span_notice("You adjust the wiring of [parent]."))
else
- user.visible_message("[user] removes the wiring from [parent].", "You remove the wiring from [parent].")
+ user.visible_message(span_notice("[user] removes the wiring from [parent]."), span_notice("You remove the wiring from [parent]."))
if(5)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] disconnects the wiring of [parent].", "You disconnect the wiring of [parent].")
+ user.visible_message(span_notice("[user] disconnects the wiring of [parent]."), span_notice("You disconnect the wiring of [parent]."))
if(6)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the central control module from [parent].", "You remove the central computer mainboard from [parent].")
+ user.visible_message(span_notice("[user] removes the central control module from [parent]."), span_notice("You remove the central computer mainboard from [parent]."))
if(7)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(8)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] removes the peripherals control module from [parent].", "You remove the peripherals control module from [parent].")
+ user.visible_message(span_notice("[user] removes the peripherals control module from [parent]."), span_notice("You remove the peripherals control module from [parent]."))
if(9)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
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."))
if(10)
if(diff==FORWARD)
- user.visible_message("[user] secures the scanner module.", "You secure the scanner module.")
+ user.visible_message(span_notice("[user] secures the scanner module."), span_notice("You secure the scanner module."))
else
- user.visible_message("[user] removes the scanner module from [parent].", "You remove the scanner module from [parent].")
+ user.visible_message(span_notice("[user] removes the scanner module from [parent]."), span_notice("You remove the scanner module from [parent]."))
if(11)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] to [parent].", "You install [I] to [parent].")
+ user.visible_message(span_notice("[user] installs [I] to [parent]."), span_notice("You install [I] to [parent]."))
else
- user.visible_message("[user] unfastens the scanner module.", "You unfasten the scanner module.")
+ user.visible_message(span_notice("[user] unfastens the scanner module."), span_notice("You unfasten the scanner module."))
if(12)
if(diff==FORWARD)
- user.visible_message("[user] secures the capacitor.", "You secure the capacitor.")
+ user.visible_message(span_notice("[user] secures the capacitor."), span_notice("You secure the capacitor."))
else
- user.visible_message("[user] removes the capacitor from [parent].", "You remove the capacitor from [parent].")
+ user.visible_message(span_notice("[user] removes the capacitor from [parent]."), span_notice("You remove the capacitor from [parent]."))
if(13)
if(diff==FORWARD)
- user.visible_message("[user] installs [I] into [parent].", "You install [I] into [parent].")
+ user.visible_message(span_notice("[user] installs [I] into [parent]."), span_notice("You install [I] into [parent]."))
else
- user.visible_message("[user] unfastens the capacitor.", "You unfasten the capacitor.")
+ user.visible_message(span_notice("[user] unfastens the capacitor."), span_notice("You unfasten the capacitor."))
if(14)
if(diff==FORWARD)
- user.visible_message("[user] secures the power cell.", "You secure the power cell.")
+ user.visible_message(span_notice("[user] secures the power cell."), span_notice("You secure the power cell."))
else
- user.visible_message("[user] pries the power cell from [parent].", "You pry the power cell from [parent].")
+ user.visible_message(span_notice("[user] pries the power cell from [parent]."), span_notice("You pry the power cell from [parent]."))
if(15)
if(diff==FORWARD)
- user.visible_message("[user] installs the internal armor layer to [parent].", "You install the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the internal armor layer to [parent]."), span_notice("You install the internal armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the power cell.", "You unfasten the power cell.")
+ user.visible_message(span_notice("[user] unfastens the power cell."), span_notice("You unfasten the power cell."))
if(16)
if(diff==FORWARD)
- 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."))
else
- user.visible_message("[user] pries internal armor layer from [parent].", "You pry internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries internal armor layer from [parent]."), span_notice("You pry internal armor layer from [parent]."))
if(17)
if(diff==FORWARD)
- user.visible_message("[user] welds the internal armor layer to [parent].", "You weld the internal armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the internal armor layer to [parent]."), span_notice("You weld the internal armor layer to [parent]."))
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."))
if(18)
if(diff==FORWARD)
- user.visible_message("[user] installs the external armor layer to [parent].", "You install the external reinforced armor layer to [parent].")
+ user.visible_message(span_notice("[user] installs the external armor layer to [parent]."), span_notice("You install the external reinforced armor layer to [parent]."))
else
- user.visible_message("[user] cuts the internal armor layer from [parent].", "You cut the internal armor layer from [parent].")
+ user.visible_message(span_notice("[user] cuts the internal armor layer from [parent]."), span_notice("You cut the internal armor layer from [parent]."))
if(19)
if(diff==FORWARD)
- user.visible_message("[user] secures the external armor layer.", "You secure the external reinforced armor layer.")
+ user.visible_message(span_notice("[user] secures the external armor layer."), span_notice("You secure the external reinforced armor layer."))
else
- user.visible_message("[user] pries the external armor layer from [parent].", "You pry the external armor layer from [parent].")
+ user.visible_message(span_notice("[user] pries the external armor layer from [parent]."), span_notice("You pry the external armor layer from [parent]."))
if(20)
if(diff==FORWARD)
- user.visible_message("[user] welds the external armor layer to [parent].", "You weld the external armor layer to [parent].")
+ user.visible_message(span_notice("[user] welds the external armor layer to [parent]."), span_notice("You weld the external armor layer to [parent]."))
else
- user.visible_message("[user] unfastens the external armor layer.", "You unfasten the external armor layer.")
+ user.visible_message(span_notice("[user] unfastens the external armor layer."), span_notice("You unfasten the external armor layer."))
return TRUE
diff --git a/code/modules/vehicles/mecha/mecha_control_console.dm b/code/modules/vehicles/mecha/mecha_control_console.dm
index 2b0e841e930..75d7dd93e76 100644
--- a/code/modules/vehicles/mecha/mecha_control_console.dm
+++ b/code/modules/vehicles/mecha/mecha_control_console.dm
@@ -59,7 +59,7 @@
var/obj/vehicle/sealed/mecha/M = MT.chassis
if(trim(message) && M)
to_chat(M.occupants, message)
- to_chat(usr, "Message sent.")
+ to_chat(usr, span_notice("Message sent."))
. = TRUE
if("shock")
var/obj/item/mecha_parts/mecha_tracking/MT = locate(params["tracker_ref"])
diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm
index cd6e032b1df..564c991c40d 100644
--- a/code/modules/vehicles/mecha/mecha_defense.dm
+++ b/code/modules/vehicles/mecha/mecha_defense.dm
@@ -18,7 +18,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))
- to_chat(occupants, "[icon2html(src, occupants)]Taking damage!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_userdanger("Taking damage!")]")
log_message("Took [damage_amount] points of damage. Damage type: [damage_type]", LOG_MECHA)
/obj/vehicle/sealed/mecha/run_obj_armor(damage_amount, damage_type, damage_flag = 0, attack_dir)
@@ -45,7 +45,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.", LOG_MECHA)
return 0
if(.)
@@ -58,7 +58,7 @@
user.changeNext_move(CLICK_CD_MELEE) // Ugh. Ideally we shouldn't be setting cooldowns outside of click code.
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.", null, null, COMBAT_MESSAGE_RANGE)
+ user.visible_message(span_danger("[user] hits [name]. Nothing happens."), null, null, COMBAT_MESSAGE_RANGE)
log_message("Attack by hand/paw. Attacker - [user].", LOG_MECHA, color="red")
/obj/vehicle/sealed/mecha/attack_paw(mob/user, list/modifiers)
@@ -186,9 +186,9 @@
if(istype(W, /obj/item/mmi))
if(mmi_move_inside(W,user))
- to_chat(user, "[src]-[W] interface initialized successfully.")
+ to_chat(user, span_notice("[src]-[W] interface initialized successfully."))
else
- to_chat(user, "[src]-[W] interface initialization failed.")
+ to_chat(user, span_warning("[src]-[W] interface initialization failed."))
return
if(istype(W, /obj/item/mecha_ammo))
@@ -206,9 +206,9 @@
id_card = pda.id
output_maintenance_dialog(id_card, user)
return
- to_chat(user, "Invalid ID: Access denied.")
+ to_chat(user, span_warning("Invalid ID: Access denied."))
return
- to_chat(user, "Maintenance protocols disabled by operator.")
+ to_chat(user, span_warning("Maintenance protocols disabled by operator."))
return
if(istype(W, /obj/item/stock_parts/cell))
@@ -217,12 +217,12 @@
if(!user.transferItemToLoc(W, src, silent = FALSE))
return
var/obj/item/stock_parts/cell/C = W
- to_chat(user, "You install the power cell.")
+ to_chat(user, span_notice("You install the power cell."))
playsound(src, 'sound/items/screwdriver2.ogg', 50, FALSE)
cell = C
log_message("Power cell installed", LOG_MECHA)
else
- to_chat(user, "There's already a power cell installed!")
+ to_chat(user, span_warning("There's already a power cell installed!"))
return
if(istype(W, /obj/item/stock_parts/scanning_module))
@@ -230,13 +230,13 @@
if(!scanmod)
if(!user.transferItemToLoc(W, src))
return
- to_chat(user, "You install the scanning module.")
+ to_chat(user, span_notice("You install the scanning module."))
playsound(src, 'sound/items/screwdriver2.ogg', 50, FALSE)
scanmod = W
log_message("[W] installed", LOG_MECHA)
update_part_values()
else
- to_chat(user, "There's already a scanning module installed!")
+ to_chat(user, span_warning("There's already a scanning module installed!"))
return
if(istype(W, /obj/item/stock_parts/capacitor))
@@ -244,13 +244,13 @@
if(!capacitor)
if(!user.transferItemToLoc(W, src))
return
- to_chat(user, "You install the capacitor.")
+ to_chat(user, span_notice("You install the capacitor."))
playsound(src, 'sound/items/screwdriver2.ogg', 50, FALSE)
capacitor = W
log_message("[W] installed", LOG_MECHA)
update_part_values()
else
- to_chat(user, "There's already a capacitor installed!")
+ to_chat(user, span_warning("There's already a capacitor installed!"))
return
if(istype(W, /obj/item/stack/cable_coil))
@@ -258,9 +258,9 @@
var/obj/item/stack/cable_coil/CC = W
if(CC.use(2))
clear_internal_damage(MECHA_INT_SHORT_CIRCUIT)
- to_chat(user, "You replace the fused wires.")
+ to_chat(user, span_notice("You replace the fused wires."))
else
- to_chat(user, "You need two lengths of cable to fix this mech!")
+ to_chat(user, span_warning("You need two lengths of cable to fix this mech!"))
return
if(istype(W, /obj/item/mecha_parts))
@@ -275,29 +275,29 @@
. = TRUE
if(construction_state == MECHA_SECURE_BOLTS)
construction_state = MECHA_LOOSE_BOLTS
- to_chat(user, "You undo the securing bolts.")
+ to_chat(user, span_notice("You undo the securing bolts."))
return
if(construction_state == MECHA_LOOSE_BOLTS)
construction_state = MECHA_SECURE_BOLTS
- to_chat(user, "You tighten the securing bolts.")
+ to_chat(user, span_notice("You tighten the securing bolts."))
/obj/vehicle/sealed/mecha/crowbar_act(mob/living/user, obj/item/I)
..()
. = TRUE
if(construction_state == MECHA_LOOSE_BOLTS)
construction_state = MECHA_OPEN_HATCH
- to_chat(user, "You open the hatch to the power unit.")
+ to_chat(user, span_notice("You open the hatch to the power unit."))
return
if(construction_state == MECHA_OPEN_HATCH)
construction_state = MECHA_LOOSE_BOLTS
- to_chat(user, "You close the hatch to the power unit.")
+ to_chat(user, span_notice("You close the hatch to the power unit."))
/obj/vehicle/sealed/mecha/screwdriver_act(mob/living/user, obj/item/I)
..()
. = TRUE
if(internal_damage & MECHA_INT_TEMP_CONTROL)
clear_internal_damage(MECHA_INT_TEMP_CONTROL)
- to_chat(user, "You repair the damaged temperature controller.")
+ to_chat(user, span_notice("You repair the damaged temperature controller."))
return
/obj/vehicle/sealed/mecha/welder_act(mob/living/user, obj/item/W)
@@ -309,17 +309,17 @@
if(!W.use_tool(src, user, 0, volume=50, amount=1))
return
clear_internal_damage(MECHA_INT_TANK_BREACH)
- to_chat(user, "You repair the damaged gas tank.")
+ to_chat(user, span_notice("You repair the damaged gas tank."))
return
if(obj_integrity < max_integrity)
if(!W.use_tool(src, user, 0, volume=50, amount=1))
return
- user.visible_message("[user] repairs some damage to [name].", "You repair some damage to [src].")
+ user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to [src]."))
obj_integrity += min(10, max_integrity-obj_integrity)
if(obj_integrity == max_integrity)
- to_chat(user, "It looks to be fully repaired now.")
+ to_chat(user, span_notice("It looks to be fully repaired now."))
return
- to_chat(user, "The [name] is at full integrity!")
+ to_chat(user, span_warning("The [name] is at full integrity!"))
/obj/vehicle/sealed/mecha/proc/mech_toxin_damage(mob/living/target)
playsound(src, 'sound/effects/spray2.ogg', 50, TRUE)
diff --git a/code/modules/vehicles/mecha/mecha_parts.dm b/code/modules/vehicles/mecha/mecha_parts.dm
index 9d6fb629b15..c54dba5d93a 100644
--- a/code/modules/vehicles/mecha/mecha_parts.dm
+++ b/code/modules/vehicles/mecha/mecha_parts.dm
@@ -11,9 +11,9 @@
/obj/item/mecha_parts/proc/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M) //For attaching parts to a finished mech
if(!user.transferItemToLoc(src, M))
- to_chat(user, "\The [src] is stuck to your hand, you cannot put it in \the [M]!")
+ to_chat(user, span_warning("\The [src] is stuck to your hand, you cannot put it in \the [M]!"))
return FALSE
- user.visible_message("[user] attaches [src] to [M].", "You attach [src] to [M].")
+ user.visible_message(span_notice("[user] attaches [src] to [M]."), span_notice("You attach [src] to [M]."))
return TRUE
/obj/item/mecha_parts/part/try_attach_part(mob/user, obj/vehicle/sealed/mecha/M)
diff --git a/code/modules/vehicles/mecha/mecha_topic.dm b/code/modules/vehicles/mecha/mecha_topic.dm
index 2b2c163febb..e2c38a6822e 100644
--- a/code/modules/vehicles/mecha/mecha_topic.dm
+++ b/code/modules/vehicles/mecha/mecha_topic.dm
@@ -65,13 +65,13 @@
tank_temperature = internal_tank ? int_tank_air.temperature : "Unknown"
cabin_pressure = round(return_pressure(),0.01)
. = {"[report_internal_damage()]
- [integrity<30?"DAMAGE LEVEL CRITICAL
":null]
+ [integrity<30?"[span_userdanger("DAMAGE LEVEL CRITICAL")]
":null]
Integrity: [integrity]%
Power cell charge: [isnull(cell_charge)?"No power cell installed":"[cell.percent()]%"]
Air source: [internal_tank?"[use_internal_tank?"Internal Airtank":"Environment"]":"Environment"]
Airtank pressure: [internal_tank?"[tank_pressure]kPa":"N/A"]
Airtank temperature: [internal_tank?"[tank_temperature]°K|[tank_temperature - T0C]°C":"N/A"]
- Cabin pressure: [internal_tank?"[cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure]": cabin_pressure]kPa":"N/A"]
+ Cabin pressure: [internal_tank?"[cabin_pressure>WARNING_HIGH_PRESSURE ? span_danger("[cabin_pressure]"): cabin_pressure]kPa":"N/A"]
Cabin temperature: [internal_tank?"[return_temperature()]°K|[return_temperature() - T0C]°C":"N/A"]
[dna_lock?"DNA-locked:
[dna_lock] \[Reset\]
":""]
"}
. += "[get_actions(user)]
"
@@ -90,11 +90,11 @@
/obj/vehicle/sealed/mecha/proc/report_internal_damage()
. = ""
var/list/dam_reports = list(
- "[MECHA_INT_FIRE]" = "INTERNAL FIRE",
- "[MECHA_INT_TEMP_CONTROL]" = "LIFE SUPPORT SYSTEM MALFUNCTION",
- "[MECHA_INT_TANK_BREACH]" = "GAS TANK BREACH",
- "[MECHA_INT_CONTROL_LOST]" = "COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate",
- "[MECHA_INT_SHORT_CIRCUIT]" = "SHORT CIRCUIT"
+ "[MECHA_INT_FIRE]" = span_userdanger("INTERNAL FIRE"),
+ "[MECHA_INT_TEMP_CONTROL]" = span_userdanger("LIFE SUPPORT SYSTEM MALFUNCTION"),
+ "[MECHA_INT_TANK_BREACH]" = span_userdanger("GAS TANK BREACH"),
+ "[MECHA_INT_CONTROL_LOST]" = "[span_userdanger("COORDINATION SYSTEM CALIBRATION FAILURE")] - Recalibrate",
+ "[MECHA_INT_SHORT_CIRCUIT]" = span_userdanger("SHORT CIRCUIT")
)
for(var/tflag in dam_reports)
var/intdamflag = text2num(tflag)
@@ -102,7 +102,7 @@
. += dam_reports[tflag]
. += "
"
if(return_pressure() > WARNING_HIGH_PRESSURE)
- . += "DANGEROUSLY HIGH CABIN PRESSURE
"
+ . += "[span_userdanger("DANGEROUSLY HIGH CABIN PRESSURE")]
"
///HTML for list of equipment.
/obj/vehicle/sealed/mecha/proc/get_equipment_list() //outputs mecha equipment list in html
@@ -183,7 +183,7 @@
continue //there's some strange access without a name
. += "[a_name] - Add
"
. +={"
Lock ID panel
- (Warning! The ID upload panel can be unlocked only through Exosuit Interface.)
+ [span_danger("(Warning! The ID upload panel can be unlocked only through Exosuit Interface.)")]
"}
user << browse(., "window=exosuit_add_access")
@@ -253,10 +253,10 @@
return
if(construction_state == MECHA_LOCKED)
construction_state = MECHA_SECURE_BOLTS
- to_chat(usr, "The securing bolts are now exposed.")
+ to_chat(usr, span_notice("The securing bolts are now exposed."))
else if(construction_state == MECHA_SECURE_BOLTS)
construction_state = MECHA_LOCKED
- to_chat(usr, "The securing bolts are now hidden.")
+ to_chat(usr, span_notice("The securing bolts are now hidden."))
output_maintenance_dialog(id_card,usr)
return
if(href_list["drop_cell"])
@@ -305,7 +305,7 @@
if(isnull(new_pressure) || usr.incapacitated() || !construction_state)
return
internal_tank_valve = new_pressure
- to_chat(usr, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
+ to_chat(usr, span_notice("The internal pressure valve has been set to [internal_tank_valve]kPa."))
return
//Start of all internal topic stuff.
@@ -322,8 +322,8 @@
if(!equip || !equip.selectable)
return
selected = equip
- to_chat(occupants, "[icon2html(src, occupants)]You switch to [equip].")
- visible_message("[src] raises [equip].")
+ to_chat(occupants, "[icon2html(src, occupants)][span_notice("You switch to [equip].")]")
+ visible_message(span_notice("[src] raises [equip]."))
send_byjax(usr, "exosuit.browser", "eq_list", get_equipment_list())
return
@@ -363,7 +363,7 @@
//Toggles main access.
if(href_list["toggle_maint_access"])
if(construction_state)
- to_chat(occupants, "[icon2html(src, occupants)]Maintenance protocols in effect")
+ to_chat(occupants, "[icon2html(src, occupants)][span_danger("Maintenance protocols in effect")]")
return
mecha_flags ^= ADDING_MAINT_ACCESS_POSSIBLE
send_byjax(usr,"exosuit.browser","t_maint_access","[(mecha_flags & ADDING_MAINT_ACCESS_POSSIBLE)?"Forbid":"Permit"] maintenance protocols")
@@ -373,18 +373,18 @@
if (href_list["toggle_port_connection"])
if(internal_tank.connected_port)
if(internal_tank.disconnect())
- to_chat(occupants, "[icon2html(src, occupants)]Disconnected from the air system port.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_notice("Disconnected from the air system port.")]")
log_message("Disconnected from gas port.", LOG_MECHA)
else
- to_chat(occupants, "[icon2html(src, occupants)]Unable to disconnect from the air system port!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to disconnect from the air system port!")]")
return
else
var/obj/machinery/atmospherics/components/unary/portables_connector/possible_port = locate() in loc
if(internal_tank.connect(possible_port))
- to_chat(occupants, "[icon2html(src, occupants)]Connected to the air system port.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_notice("Connected to the air system port.")]")
log_message("Connected to gas port.", LOG_MECHA)
else
- to_chat(occupants, "[icon2html(src, occupants)]Unable to connect with air system port!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Unable to connect with air system port!")]")
return
send_byjax(occupants,"exosuit.browser","t_port_connection","[internal_tank.connected_port?"Disconnect from":"Connect to"] gas port")
return
@@ -393,10 +393,10 @@
if(href_list["dna_lock"])
var/mob/living/carbon/user = usr
if(!istype(user) || !user.dna)
- to_chat(user, "[icon2html(src, occupants)]You can't create a DNA lock with no DNA!.")
+ to_chat(user, "[icon2html(src, occupants)][span_notice("You can't create a DNA lock with no DNA!.")]")
return
dna_lock = user.dna.unique_enzymes
- to_chat(user, "[icon2html(src, occupants)]You feel a prick as the needle takes your DNA sample.")
+ to_chat(user, "[icon2html(src, occupants)][span_notice("You feel a prick as the needle takes your DNA sample.")]")
return
//Resets the DNA lock
@@ -406,7 +406,7 @@
//Repairs internal damage
if(href_list["repair_int_control_lost"])
- to_chat(occupants, "[icon2html(src, occupants)]Recalibrating coordination system...")
+ to_chat(occupants, "[icon2html(src, occupants)][span_notice("Recalibrating coordination system...")]")
log_message("Recalibration of coordination system started.", LOG_MECHA)
addtimer(CALLBACK(src, .proc/stationary_repair, loc), 100, TIMER_UNIQUE)
@@ -414,8 +414,8 @@
/obj/vehicle/sealed/mecha/proc/stationary_repair(location)
if(location == loc)
clear_internal_damage(MECHA_INT_CONTROL_LOST)
- to_chat(occupants, "[icon2html(src, occupants)]Recalibration successful.")
+ to_chat(occupants, "[icon2html(src, occupants)][span_notice("Recalibration successful.")]")
log_message("Recalibration of coordination system finished with 0 errors.", LOG_MECHA)
else
- to_chat(occupants, "[icon2html(src, occupants)]Recalibration failed!")
+ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Recalibration failed!")]")
log_message("Recalibration of coordination system failed with 1 error.", LOG_MECHA, color="red")
diff --git a/code/modules/vehicles/mecha/mecha_wreckage.dm b/code/modules/vehicles/mecha/mecha_wreckage.dm
index 87afa82a3d9..b46f6549727 100644
--- a/code/modules/vehicles/mecha/mecha_wreckage.dm
+++ b/code/modules/vehicles/mecha/mecha_wreckage.dm
@@ -48,22 +48,22 @@
. = ..()
if(!AI)
return
- . += "The AI recovery beacon is active."
+ . += span_notice("The AI recovery beacon is active.")
/obj/structure/mecha_wreckage/welder_act(mob/living/user, obj/item/I)
..()
. = TRUE
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(!I.use_tool(src, user, 0, volume=50))
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(span_notice("[user] cuts [N] from [src]."), span_notice("You cut [N] from [src]."))
if(!istype(N, /obj/item/stack))
welder_salvage -= type
salvage_num--
@@ -72,10 +72,10 @@
..()
. = TRUE
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(span_notice("[user] cuts [N] from [src]."), span_notice("You cut [N] from [src]."))
wires_removed = TRUE
/obj/structure/mecha_wreckage/crowbar_act(mob/living/user, obj/item/I)
@@ -84,10 +84,10 @@
if(crowbar_salvage.len)
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 cut with [I]!")
+ to_chat(user, span_notice("You don't see anything that can be cut with [I]!"))
/obj/structure/mecha_wreckage/transfer_ai(interaction, mob/user, null, obj/item/aicard/card)
if(!..())
@@ -97,16 +97,16 @@
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.
card.AI = AI
if(AI.client) //AI player is still in the dead AI and is connected
- to_chat(AI, "The remains of your file system have been recovered on a mobile storage device.")
+ to_chat(AI, span_notice("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/modules/vehicles/mecha/working/ripley.dm b/code/modules/vehicles/mecha/working/ripley.dm
index ac2cb702bdc..503775b7429 100644
--- a/code/modules/vehicles/mecha/working/ripley.dm
+++ b/code/modules/vehicles/mecha/working/ripley.dm
@@ -173,7 +173,7 @@
if(href_list["drop_from_cargo"])
var/obj/cargoobj = locate(href_list["drop_from_cargo"]) in cargo
if(cargoobj)
- to_chat(occupants, "[icon2html(src, occupants)]You unload [cargoobj].")
+ to_chat(occupants, "[icon2html(src, occupants)][span_notice("You unload [cargoobj].")]")
cargoobj.forceMove(drop_location())
LAZYREMOVE(cargo, cargoobj)
if(cargoobj == box)
@@ -201,16 +201,16 @@
return output
/obj/vehicle/sealed/mecha/working/ripley/relay_container_resist_act(mob/living/user, obj/O)
- to_chat(user, "You lean on the back of [O] and start pushing so it falls out of [src].")
+ to_chat(user, span_notice("You lean on the back of [O] and start pushing so it falls out of [src]."))
if(do_after(user, 300, target = O))
if(!user || user.stat != CONSCIOUS || user.loc != src || O.loc != src )
return
- to_chat(user, "You successfully pushed [O] out of [src]!")
+ to_chat(user, span_notice("You successfully pushed [O] out of [src]!"))
O.forceMove(drop_location())
LAZYREMOVE(cargo, O)
else
if(user.loc == src) //so we don't get the message if we resisted multiple times and succeeded.
- to_chat(user, "You fail to push [O] out of [src]!")
+ to_chat(user, span_warning("You fail to push [O] out of [src]!"))
/**
* Makes the mecha go faster and halves the mecha drill cooldown if in Lavaland pressure.
diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm
index 0e55406ae61..00225b27a4c 100644
--- a/code/modules/vehicles/motorized_wheelchair.dm
+++ b/code/modules/vehicles/motorized_wheelchair.dm
@@ -49,12 +49,12 @@
/obj/vehicle/ridden/wheelchair/motorized/relaymove(mob/living/user, direction)
if(!power_cell)
- to_chat(user, "There seems to be no cell installed in [src].")
+ to_chat(user, span_warning("There seems to be no cell installed in [src]."))
canmove = FALSE
addtimer(VARSET_CALLBACK(src, canmove, TRUE), 2 SECONDS)
return FALSE
if(power_cell.charge < power_usage / max(power_efficiency, 1))
- to_chat(user, "The display on [src] blinks 'Out of Power'.")
+ to_chat(user, span_warning("The display on [src] blinks 'Out of Power'."))
canmove = FALSE
addtimer(VARSET_CALLBACK(src, canmove, TRUE), 2 SECONDS)
return FALSE
@@ -72,7 +72,7 @@
if(!power_cell || !panel_open)
return ..()
power_cell.update_appearance()
- to_chat(user, "You remove [power_cell] from [src].")
+ to_chat(user, span_notice("You remove [power_cell] from [src]."))
user.put_in_hands(power_cell)
power_cell = null
@@ -80,18 +80,18 @@
if(I.tool_behaviour == TOOL_SCREWDRIVER)
I.play_tool_sound(src)
panel_open = !panel_open
- user.visible_message("[user] [panel_open ? "opens" : "closes"] the maintenance panel on [src].", "You [panel_open ? "open" : "close"] the maintenance panel.")
+ user.visible_message(span_notice("[user] [panel_open ? "opens" : "closes"] the maintenance panel on [src]."), span_notice("You [panel_open ? "open" : "close"] the maintenance panel."))
return
if(!panel_open)
return ..()
if(istype(I, /obj/item/stock_parts/cell))
if(power_cell)
- to_chat(user, "There is a power cell already installed.")
+ to_chat(user, span_warning("There is a power cell already installed."))
else
I.forceMove(src)
power_cell = I
- to_chat(user, "You install the [I].")
+ to_chat(user, span_notice("You install the [I]."))
refresh_parts()
return
if(!istype(I, /obj/item/stock_parts))
@@ -108,15 +108,15 @@
if(newstockpart.get_part_rating() > oldstockpart.get_part_rating())
newstockpart.forceMove(src)
user.put_in_hands(oldstockpart)
- user.visible_message("[user] replaces [oldstockpart] with [newstockpart] in [src].", "You replace [oldstockpart] with [newstockpart].")
+ user.visible_message(span_notice("[user] replaces [oldstockpart] with [newstockpart] in [src]."), span_notice("You replace [oldstockpart] with [newstockpart]."))
break
refresh_parts()
/obj/vehicle/ridden/wheelchair/motorized/wrench_act(mob/living/user, obj/item/I)
- to_chat(user, "You begin to detach the wheels...")
+ to_chat(user, span_notice("You begin to detach the wheels..."))
if(!I.use_tool(src, user, 40, volume=50))
return TRUE
- to_chat(user, "You detach the wheels and deconstruct the chair.")
+ to_chat(user, span_notice("You detach the wheels and deconstruct the chair."))
new /obj/item/stack/rods(drop_location(), 8)
new /obj/item/stack/sheet/iron(drop_location(), 10)
var/turf/T = get_turf(src)
@@ -145,7 +145,7 @@
// Here is the shitty emag functionality.
if(obj_flags & EMAGGED && (istype(A, /turf/closed) || isliving(A)))
explosion(src, devastation_range = -1, heavy_impact_range = 1, light_impact_range = 3, flash_range = 2, adminlog = FALSE)
- visible_message("[src] explodes!!")
+ visible_message(span_boldwarning("[src] explodes!!"))
return
// If the speed is higher than delay_multiplier throw the person on the wheelchair away
if(A.density && speed > delay_multiplier && has_buckled_mobs())
@@ -161,13 +161,13 @@
ramtarget.throw_at(throw_target, 2, 3)
ramtarget.Knockdown(80)
ramtarget.adjustStaminaLoss(35)
- visible_message("[src] crashes into [ramtarget], sending [disabled] and [ramtarget] flying!")
+ visible_message(span_danger("[src] crashes into [ramtarget], sending [disabled] and [ramtarget] flying!"))
else
- visible_message("[src] crashes into [A], sending [disabled] flying!")
+ visible_message(span_danger("[src] crashes into [A], sending [disabled] flying!"))
playsound(src, 'sound/effects/bang.ogg', 50, 1)
/obj/vehicle/ridden/wheelchair/motorized/emag_act(mob/user)
if((obj_flags & EMAGGED) || !panel_open)
return
- to_chat(user, "A bomb appears in [src], what the fuck?")
+ to_chat(user, span_warning("A bomb appears in [src], what the fuck?"))
obj_flags |= EMAGGED
diff --git a/code/modules/vehicles/pimpin_ride.dm b/code/modules/vehicles/pimpin_ride.dm
index fa6c71e4ab3..c55b3332111 100644
--- a/code/modules/vehicles/pimpin_ride.dm
+++ b/code/modules/vehicles/pimpin_ride.dm
@@ -35,20 +35,20 @@
/obj/vehicle/ridden/janicart/attackby(obj/item/I, mob/user, params)
if(istype(I, /obj/item/storage/bag/trash))
if(mybag)
- to_chat(user, "[src] already has a trashbag hooked!")
+ to_chat(user, span_warning("[src] already has a trashbag hooked!"))
return
if(!user.transferItemToLoc(I, src))
return
- to_chat(user, "You hook the trashbag onto [src].")
+ to_chat(user, span_notice("You hook the trashbag onto [src]."))
mybag = I
update_appearance()
else if(istype(I, /obj/item/janiupgrade))
if(floorbuffer)
- to_chat(user, "[src] already has a floor buffer!")
+ to_chat(user, span_warning("[src] already has a floor buffer!"))
return
floorbuffer = TRUE
qdel(I)
- to_chat(user, "You upgrade [src] with the floor buffer.")
+ to_chat(user, span_notice("You upgrade [src] with the floor buffer."))
AddElement(/datum/element/cleaning)
update_appearance()
else if(mybag)
diff --git a/code/modules/vehicles/ridden.dm b/code/modules/vehicles/ridden.dm
index 814964f5929..3246b582dbc 100644
--- a/code/modules/vehicles/ridden.dm
+++ b/code/modules/vehicles/ridden.dm
@@ -10,9 +10,9 @@
. = ..()
if(key_type)
if(!inserted_key)
- . += "Put a key inside it by clicking it with the key."
+ . += span_notice("Put a key inside it by clicking it with the key.")
else
- . += "Alt-click [src] to remove the key."
+ . += span_notice("Alt-click [src] to remove the key.")
/obj/vehicle/ridden/generate_action_type(actiontype)
var/datum/action/vehicle/ridden/A = ..()
@@ -32,9 +32,9 @@
if(!key_type || is_key(inserted_key) || !is_key(I))
return ..()
if(!user.transferItemToLoc(I, src))
- to_chat(user, "[I] seems to be stuck to your hand!")
+ to_chat(user, span_warning("[I] seems to be stuck to your hand!"))
return
- to_chat(user, "You insert \the [I] into \the [src].")
+ to_chat(user, span_notice("You insert \the [I] into \the [src]."))
if(inserted_key) //just in case there's an invalid key
inserted_key.forceMove(drop_location())
inserted_key = I
@@ -43,9 +43,9 @@
if(!inserted_key || !user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY, FALSE, !issilicon(user)))
return ..()
if(!is_occupant(user))
- to_chat(user, "You must be riding the [src] to remove [src]'s key!")
+ to_chat(user, span_warning("You must be riding the [src] to remove [src]'s key!"))
return
- to_chat(user, "You remove \the [inserted_key] from \the [src].")
+ to_chat(user, span_notice("You remove \the [inserted_key] from \the [src]."))
inserted_key.forceMove(drop_location())
user.put_in_hands(inserted_key)
inserted_key = null
diff --git a/code/modules/vehicles/scooter.dm b/code/modules/vehicles/scooter.dm
index 75cdd4456ab..5c64547ffd2 100644
--- a/code/modules/vehicles/scooter.dm
+++ b/code/modules/vehicles/scooter.dm
@@ -13,12 +13,12 @@
/obj/vehicle/ridden/scooter/wrench_act(mob/living/user, obj/item/I)
..()
- to_chat(user, "You begin to remove the handlebars...")
+ to_chat(user, span_notice("You begin to remove the handlebars..."))
if(!I.use_tool(src, user, 40, volume=50))
return TRUE
var/obj/vehicle/ridden/scooter/skateboard/improvised/skater = new(drop_location())
new /obj/item/stack/rods(drop_location(), 2)
- to_chat(user, "You remove the handlebars from [src].")
+ to_chat(user, span_notice("You remove the handlebars from [src]."))
if(has_buckled_mobs())
var/mob/living/carbon/carbons = buckled_mobs[1]
unbuckle_mob(carbons)
@@ -98,7 +98,7 @@
if(!head_slot || !(istype(head_slot,/obj/item/clothing/head/helmet) || istype(head_slot,/obj/item/clothing/head/hardhat)))
rider.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5)
rider.updatehealth()
- visible_message("[src] crashes into [A], sending [rider] flying!")
+ visible_message(span_danger("[src] crashes into [A], sending [rider] flying!"))
rider.Paralyze(80)
else
var/backdir = turn(dir, 180)
@@ -123,7 +123,7 @@
unbuckle_mob(skater)
var/atom/throw_target = get_edge_target_turf(src, pick(GLOB.cardinals))
skater.throw_at(throw_target, 2, 2)
- visible_message("[skater] loses [skater.p_their()] footing and slams on the ground!")
+ visible_message(span_danger("[skater] loses [skater.p_their()] footing and slams on the ground!"))
skater.Paralyze(40)
grinding = FALSE
icon_state = "[initial(icon_state)]"
@@ -148,7 +148,7 @@
if (skater.incapacitated() || !Adjacent(skater))
return
if(has_buckled_mobs())
- to_chat(skater, "You can't lift this up when somebody's on it.")
+ to_chat(skater, span_warning("You can't lift this up when somebody's on it."))
return
skater.put_in_hands(new board_item_type(get_turf(skater)))
qdel(src)
@@ -192,16 +192,16 @@
return ..()
if(!I.tool_start_check(user, amount=5))
return
- to_chat(user, "You begin to add wheels to [src].")
+ to_chat(user, span_notice("You begin to add wheels to [src]."))
if(!I.use_tool(src, user, 80, volume=50, amount=5))
return
- to_chat(user, "You finish making wheels for [src].")
+ to_chat(user, span_notice("You finish making wheels for [src]."))
new /obj/vehicle/ridden/scooter/skateboard/improvised(user.loc)
qdel(src)
/obj/item/scooter_frame/wrench_act(mob/living/user, obj/item/I)
..()
- to_chat(user, "You deconstruct [src].")
+ to_chat(user, span_notice("You deconstruct [src]."))
new /obj/item/stack/rods(drop_location(), 10)
I.play_tool_sound(src)
qdel(src)
@@ -215,10 +215,10 @@
return ..()
if(!I.tool_start_check(user, amount=2))
return
- to_chat(user, "You begin making handlebars for [src].")
+ to_chat(user, span_notice("You begin making handlebars for [src]."))
if(!I.use_tool(src, user, 25, volume=50, amount=2))
return
- to_chat(user, "You add the rods to [src], creating handlebars.")
+ to_chat(user, span_notice("You add the rods to [src], creating handlebars."))
var/obj/vehicle/ridden/scooter/skaterskoot = new(loc)
if(has_buckled_mobs())
var/mob/living/carbon/skaterboy = buckled_mobs[1]
@@ -230,10 +230,10 @@
. = ..()
if(.)
return
- to_chat(user, "You begin to deconstruct and remove the wheels on [src]...")
+ to_chat(user, span_notice("You begin to deconstruct and remove the wheels on [src]..."))
if(!I.use_tool(src, user, 20, volume=50))
return
- to_chat(user, "You deconstruct the wheels on [src].")
+ to_chat(user, span_notice("You deconstruct the wheels on [src]."))
new /obj/item/stack/sheet/iron(drop_location(), 5)
new /obj/item/scooter_frame(drop_location())
if(has_buckled_mobs())
@@ -261,7 +261,7 @@
/obj/vehicle/ridden/scooter/skateboard/wheelys/post_unbuckle_mob(mob/living/M)
if(!has_buckled_mobs())
- to_chat(M, "You pop the [wheel_name] back into place.")
+ to_chat(M, span_notice("You pop the [wheel_name] back into place."))
moveToNullspace()
shoes.toggle_wheels(FALSE)
return ..()
@@ -270,7 +270,7 @@
return
/obj/vehicle/ridden/scooter/skateboard/wheelys/post_buckle_mob(mob/living/M)
- to_chat(M, "You pop out the [wheel_name].")
+ to_chat(M, span_notice("You pop out the [wheel_name]."))
shoes.toggle_wheels(TRUE)
return ..()
diff --git a/code/modules/vehicles/sealed.dm b/code/modules/vehicles/sealed.dm
index b0cc75613a3..4756ffd08cc 100644
--- a/code/modules/vehicles/sealed.dm
+++ b/code/modules/vehicles/sealed.dm
@@ -61,7 +61,7 @@
if(!istype(M))
return FALSE
if(!silent)
- M.visible_message("[M] climbs into \the [src]!")
+ M.visible_message(span_notice("[M] climbs into \the [src]!"))
M.forceMove(src)
add_occupant(M)
return TRUE
@@ -81,7 +81,7 @@
M.throw_at(target_turf, 5, 10)
if(!silent)
- M.visible_message("[M] drops out of \the [src]!")
+ M.visible_message(span_notice("[M] drops out of \the [src]!"))
return TRUE
/obj/vehicle/sealed/proc/exit_location(M)
@@ -90,23 +90,23 @@
/obj/vehicle/sealed/attackby(obj/item/I, mob/user, params)
if(key_type && !is_key(inserted_key) && is_key(I))
if(user.transferItemToLoc(I, src))
- to_chat(user, "You insert [I] into [src].")
+ to_chat(user, span_notice("You insert [I] into [src]."))
if(inserted_key) //just in case there's an invalid key
inserted_key.forceMove(drop_location())
inserted_key = I
else
- to_chat(user, "[I] seems to be stuck to your hand!")
+ to_chat(user, span_warning("[I] seems to be stuck to your hand!"))
return
return ..()
/obj/vehicle/sealed/proc/remove_key(mob/user)
if(!inserted_key)
- to_chat(user, "There is no key in [src]!")
+ to_chat(user, span_warning("There is no key in [src]!"))
return
if(!is_occupant(user) || !(occupants[user] & VEHICLE_CONTROL_DRIVE))
- to_chat(user, "You must be driving [src] to remove [src]'s key!")
+ to_chat(user, span_warning("You must be driving [src] to remove [src]'s key!"))
return
- to_chat(user, "You remove [inserted_key] from [src].")
+ to_chat(user, span_notice("You remove [inserted_key] from [src]."))
inserted_key.forceMove(drop_location())
if(!HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
user.put_in_hands(inserted_key)
diff --git a/code/modules/vehicles/secway.dm b/code/modules/vehicles/secway.dm
index 140197acb0e..e94b629fc64 100644
--- a/code/modules/vehicles/secway.dm
+++ b/code/modules/vehicles/secway.dm
@@ -33,42 +33,42 @@
if(.)
return
if(obj_integrity >= max_integrity)
- to_chat(user, "It is fully repaired already!")
+ to_chat(user, span_notice("It is fully repaired already!"))
return
if(!I.use_tool(src, user, 0, volume = 50, amount = 1))
return
- user.visible_message("[user] repairs some damage to [name].", "You repair some damage to \the [src].")
+ user.visible_message(span_notice("[user] repairs some damage to [name]."), span_notice("You repair some damage to \the [src]."))
obj_integrity += min(10, max_integrity-obj_integrity)
if(obj_integrity >= max_integrity)
- to_chat(user, "It looks to be fully repaired now.")
+ to_chat(user, span_notice("It looks to be fully repaired now."))
STOP_PROCESSING(SSobj, src)
/obj/vehicle/ridden/secway/attackby(obj/item/W, mob/living/user, params)
if(!istype(W, /obj/item/food/grown/banana))
return ..()
// ignore the occupants because they're presumably too distracted to notice the guy stuffing fruit into their vehicle's exhaust. do segways have exhausts? they do now!
- user.visible_message("[user] begins stuffing [W] into [src]'s tailpipe.", "You begin stuffing [W] into [src]'s tailpipe...", ignored_mobs = occupants)
+ user.visible_message(span_warning("[user] begins stuffing [W] into [src]'s tailpipe."), span_warning("You begin stuffing [W] into [src]'s tailpipe..."), ignored_mobs = occupants)
if(!do_after(user, 3 SECONDS, src))
return TRUE
if(user.transferItemToLoc(W, src))
- user.visible_message("[user] stuffs [W] into [src]'s tailpipe.", "You stuff [W] into [src]'s tailpipe.", ignored_mobs = occupants)
+ user.visible_message(span_warning("[user] stuffs [W] into [src]'s tailpipe."), span_warning("You stuff [W] into [src]'s tailpipe."), ignored_mobs = occupants)
eddie_murphy = W
return TRUE
/obj/vehicle/ridden/secway/attack_hand(mob/living/user, list/modifiers)
if(!eddie_murphy)
return ..()
- user.visible_message("[user] begins cleaning [eddie_murphy] out of [src].", "You begin cleaning [eddie_murphy] out of [src]...")
+ user.visible_message(span_warning("[user] begins cleaning [eddie_murphy] out of [src]."), span_warning("You begin cleaning [eddie_murphy] out of [src]..."))
if(!do_after(user, 60, target = src))
return ..()
- user.visible_message("[user] cleans [eddie_murphy] out of [src].", "You manage to get [eddie_murphy] out of [src].")
+ user.visible_message(span_warning("[user] cleans [eddie_murphy] out of [src]."), span_warning("You manage to get [eddie_murphy] out of [src]."))
eddie_murphy.forceMove(drop_location())
eddie_murphy = null
/obj/vehicle/ridden/secway/examine(mob/user)
. = ..()
if(eddie_murphy)
- . += "Something appears to be stuck in its exhaust..."
+ . += span_warning("Something appears to be stuck in its exhaust...")
/obj/vehicle/ridden/secway/obj_destruction()
explosion(src, devastation_range = -1, light_impact_range = 2, flame_range = 3, flash_range = 4)
diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm
index 76daf9ce369..b27d3d8745b 100644
--- a/code/modules/vehicles/speedbike.dm
+++ b/code/modules/vehicles/speedbike.dm
@@ -47,7 +47,7 @@
if(ismovable(A))
var/atom/movable/AM = A
AM.throw_at(get_edge_target_turf(A, dir), 4, 3)
- visible_message("[src] crashes into [A]!")
+ visible_message(span_danger("[src] crashes into [A]!"))
playsound(src, 'sound/effects/bang.ogg', 50, TRUE)
if(!ishuman(A))
return
@@ -57,7 +57,7 @@
rammed.apply_damage(rand(20,35), BRUTE)
if(!crash_all)
rammed.throw_at(get_edge_target_turf(A, dir), 4, 3)
- visible_message("[src] crashes into [rammed]!")
+ visible_message(span_danger("[src] crashes into [rammed]!"))
playsound(src, 'sound/effects/bang.ogg', 50, TRUE)
/obj/vehicle/ridden/speedwagon/Moved()
diff --git a/code/modules/vehicles/vehicle_actions.dm b/code/modules/vehicles/vehicle_actions.dm
index 6b317d0e5be..9944f979c87 100644
--- a/code/modules/vehicles/vehicle_actions.dm
+++ b/code/modules/vehicles/vehicle_actions.dm
@@ -200,8 +200,8 @@
if(TIMER_COOLDOWN_CHECK(src, COOLDOWN_CAR_HONK))
return
TIMER_COOLDOWN_START(src, COOLDOWN_CAR_HONK, 2 SECONDS)
- vehicle_entered_target.visible_message("[vehicle_entered_target] loudly honks!")
- to_chat(owner, "You press [vehicle_entered_target]'s horn.")
+ vehicle_entered_target.visible_message(span_danger("[vehicle_entered_target] loudly honks!"))
+ to_chat(owner, span_notice("You press [vehicle_entered_target]'s horn."))
if(istype(vehicle_target.inserted_key, /obj/item/bikehorn))
vehicle_target.inserted_key.attack_self(owner) //The bikehorn plays a sound instead
return
@@ -213,7 +213,7 @@
button_icon_state = "car_headlights"
/datum/action/vehicle/sealed/headlights/Trigger()
- to_chat(owner, "You flip the switch for the vehicle's headlights.")
+ to_chat(owner, span_notice("You flip the switch for the vehicle's headlights."))
vehicle_entered_target.headlights_toggle = !vehicle_entered_target.headlights_toggle
vehicle_entered_target.set_light_on(vehicle_entered_target.headlights_toggle)
playsound(owner, vehicle_entered_target.headlights_toggle ? 'sound/weapons/magin.ogg' : 'sound/weapons/magout.ogg', 40, TRUE)
@@ -224,7 +224,7 @@
button_icon_state = "car_dump"
/datum/action/vehicle/sealed/dump_kidnapped_mobs/Trigger()
- vehicle_entered_target.visible_message("[vehicle_entered_target] starts dumping the people inside of it.")
+ vehicle_entered_target.visible_message(span_danger("[vehicle_entered_target] starts dumping the people inside of it."))
vehicle_entered_target.dump_specific_mobs(VEHICLE_CONTROL_KIDNAPPED)
@@ -294,7 +294,7 @@
vehicle.unbuckle_mob(rider)
rider.throw_at(landing_turf, 2, 2)
rider.Paralyze(40)
- vehicle.visible_message("[rider] misses the landing and falls on [rider.p_their()] face!")
+ vehicle.visible_message(span_danger("[rider] misses the landing and falls on [rider.p_their()] face!"))
else
rider.spin(4, 1)
animate(rider, pixel_y = -6, time = 4)
diff --git a/code/modules/vehicles/vehicle_key.dm b/code/modules/vehicles/vehicle_key.dm
index 17475ff6139..a2799634833 100644
--- a/code/modules/vehicles/vehicle_key.dm
+++ b/code/modules/vehicles/vehicle_key.dm
@@ -15,10 +15,10 @@
/obj/item/key/security/suicide_act(mob/living/carbon/user)
if(!user.emote("spin")) //In the off chance that someone attempts this suicide while under the effects of mime's bane they deserve the silliness.
- user.visible_message("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide... But [user.p_they()] sputters and stalls out! ")
+ user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide... But [user.p_they()] sputters and stalls out! "))
playsound(src, 'sound/misc/sadtrombone.ogg', 50, TRUE, -1)
return SHAME
- user.visible_message("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] ear and starts [user.p_their()] motor! It looks like [user.p_theyre()] trying to commit suicide!"))
user.say("Vroom vroom!!", forced="secway key suicide") //Not doing a shamestate here, because even if they fail to speak they're spinning.
addtimer(CALLBACK(user, /mob/living/.proc/gib), 20)
return MANUAL_SUICIDE
@@ -30,23 +30,23 @@
/obj/item/key/janitor/suicide_act(mob/living/carbon/user)
switch(user.mind?.get_skill_level(/datum/skill/cleaning))
if(SKILL_LEVEL_NONE to SKILL_LEVEL_NOVICE) //Their mind is too weak to ascend as a janny
- user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and is trying to become one with the janicart, but has no idea where to start! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and is trying to become one with the janicart, but has no idea where to start! It looks like [user.p_theyre()] trying to commit suicide!"))
user.gib()
return MANUAL_SUICIDE
if(SKILL_LEVEL_APPRENTICE to SKILL_LEVEL_JOURNEYMAN) //At least they tried
- user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and has inefficiently become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and has inefficiently become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!"))
user.AddElement(/datum/element/cleaning)
addtimer(CALLBACK(src, .proc/manual_suicide, user), 51)
return MANUAL_SUICIDE
if(SKILL_LEVEL_EXPERT to SKILL_LEVEL_MASTER) //They are worthy enough, but can it go even further beyond?
- user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and has skillfully become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and has skillfully become one with the janicart! It looks like [user.p_theyre()] trying to commit suicide!"))
user.AddElement(/datum/element/cleaning)
for(var/i in 1 to 100)
addtimer(CALLBACK(user, /atom/proc/add_atom_colour, (i % 2)? "#a245bb" : "#7a7d82", ADMIN_COLOUR_PRIORITY), i)
addtimer(CALLBACK(src, .proc/manual_suicide, user), 101)
return MANUAL_SUICIDE
if(SKILL_LEVEL_LEGENDARY to INFINITY) //Holy shit, look at that janny go!
- user.visible_message("[user] is putting \the [src] in [user.p_their()] mouth and has epically become one with the janicart, and they're even in overdrive mode! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is putting \the [src] in [user.p_their()] mouth and has epically become one with the janicart, and they're even in overdrive mode! It looks like [user.p_theyre()] trying to commit suicide!"))
user.AddElement(/datum/element/cleaning)
playsound(src, 'sound//magic/lightning_chargeup.ogg', 50, TRUE, -1)
user.reagents.add_reagent(/datum/reagent/drug/methamphetamine, 10) //Gotta go fast!
@@ -58,7 +58,7 @@
/obj/item/key/proc/manual_suicide(mob/living/user)
if(user)
user.remove_atom_colour(ADMIN_COLOUR_PRIORITY)
- user.visible_message("[user] forgot [user.p_they()] isn't actually a janicart! That's a paddlin'!")
+ user.visible_message(span_suicide("[user] forgot [user.p_they()] isn't actually a janicart! That's a paddlin'!"))
if(user.mind?.get_skill_level(/datum/skill/cleaning) >= SKILL_LEVEL_LEGENDARY) //Janny janny janny janny janny
playsound(src, 'sound/effects/adminhelp.ogg', 50, TRUE, -1)
user.adjustOxyLoss(200)
diff --git a/code/modules/vehicles/wheelchair.dm b/code/modules/vehicles/wheelchair.dm
index c276f13c88d..829029459c2 100644
--- a/code/modules/vehicles/wheelchair.dm
+++ b/code/modules/vehicles/wheelchair.dm
@@ -47,9 +47,9 @@
/obj/vehicle/ridden/wheelchair/wrench_act(mob/living/user, obj/item/I) //Attackby should stop it attacking the wheelchair after moving away during decon
..()
- to_chat(user, "You begin to detach the wheels...")
+ to_chat(user, span_notice("You begin to detach the wheels..."))
if(I.use_tool(src, user, 40, volume=50))
- to_chat(user, "You detach the wheels and deconstruct the chair.")
+ to_chat(user, span_notice("You detach the wheels and deconstruct the chair."))
new /obj/item/stack/rods(drop_location(), 6)
new /obj/item/stack/sheet/iron(drop_location(), 4)
qdel(src)
@@ -122,7 +122,7 @@
return FALSE
if(has_buckled_mobs())
return FALSE
- usr.visible_message("[usr] collapses [src].", "You collapse [src].")
+ usr.visible_message(span_notice("[usr] collapses [src]."), span_notice("You collapse [src]."))
var/obj/vehicle/ridden/wheelchair/wheelchair_folded = new foldabletype(get_turf(src))
usr.put_in_hands(wheelchair_folded)
qdel(src)
diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm
index 70d016a1ec6..d56a68b62e5 100644
--- a/code/modules/vending/_vending.dm
+++ b/code/modules/vending/_vending.dm
@@ -437,7 +437,7 @@ GLOBAL_LIST_EMPTY(vending_products)
add_overlay("[initial(icon_state)]-panel")
updateUsrDialog()
else
- to_chat(user, "You must first secure [src].")
+ to_chat(user, span_warning("You must first secure [src]."))
return TRUE
/obj/machinery/vending/attackby(obj/item/I, mob/living/user, params)
@@ -447,21 +447,21 @@ GLOBAL_LIST_EMPTY(vending_products)
if(refill_canister && istype(I, refill_canister))
if (!panel_open)
- to_chat(user, "You should probably unscrew the service panel first!")
+ to_chat(user, span_warning("You should probably unscrew the service panel first!"))
else if (machine_stat & (BROKEN|NOPOWER))
- to_chat(user, "[src] does not respond.")
+ to_chat(user, span_notice("[src] does not respond."))
else
//if the panel is open we attempt to refill the machine
var/obj/item/vending_refill/canister = I
if(canister.get_part_rating() == 0)
- to_chat(user, "[canister] is empty!")
+ to_chat(user, span_warning("[canister] is empty!"))
else
// instantiate canister if needed
var/transferred = restock(canister)
if(transferred)
- to_chat(user, "You loaded [transferred] items in [src].")
+ to_chat(user, span_notice("You loaded [transferred] items in [src]."))
else
- to_chat(user, "There's nothing to restock!")
+ to_chat(user, span_warning("There's nothing to restock!"))
return
if(compartmentLoadAccessCheck(user) && !user.combat_mode)
if(canLoadItem(I))
@@ -474,7 +474,7 @@ GLOBAL_LIST_EMPTY(vending_products)
var/denied_items = 0
for(var/obj/item/the_item in T.contents)
if(contents.len >= MAX_VENDING_INPUT_AMOUNT) // no more than 30 item can fit inside, legacy from snack vending although not sure why it exists
- to_chat(user, "[src]'s compartment is full.")
+ to_chat(user, span_warning("[src]'s compartment is full."))
break
if(canLoadItem(the_item) && loadingAttempt(the_item,user))
SEND_SIGNAL(T, COMSIG_TRY_STORAGE_TAKE, the_item, src, TRUE)
@@ -482,9 +482,9 @@ GLOBAL_LIST_EMPTY(vending_products)
else
denied_items++
if(denied_items)
- to_chat(user, "[src] refuses some items!")
+ to_chat(user, span_warning("[src] refuses some items!"))
if(loaded)
- to_chat(user, "You insert [loaded] dishes into [src]'s compartment.")
+ to_chat(user, span_notice("You insert [loaded] dishes into [src]'s compartment."))
updateUsrDialog()
else
. = ..()
@@ -502,7 +502,7 @@ GLOBAL_LIST_EMPTY(vending_products)
tilt(user, crit=TRUE)
/obj/machinery/vending/proc/freebie(mob/fatty, freebies)
- visible_message("[src] yields [freebies > 1 ? "several free goodies" : "a free goody"]!")
+ visible_message(span_notice("[src] yields [freebies > 1 ? "several free goodies" : "a free goody"]!"))
for(var/i in 1 to freebies)
playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3)
@@ -520,7 +520,7 @@ GLOBAL_LIST_EMPTY(vending_products)
///Tilts ontop of the atom supplied, if crit is true some extra shit can happen. Returns TRUE if it dealt damage to something.
/obj/machinery/vending/proc/tilt(atom/fatty, crit=FALSE)
- visible_message("[src] tips over!")
+ visible_message(span_danger("[src] tips over!"))
tilted = TRUE
layer = ABOVE_MOB_LAYER
@@ -544,8 +544,8 @@ GLOBAL_LIST_EMPTY(vending_products)
var/crit_rebate = 0 // lessen the normal damage we deal for some of the crits
if(crit_case < 5) // the body/head asplode case has its own description
- C.visible_message("[C] is crushed by [src]!", \
- "You are crushed by [src]!")
+ C.visible_message(span_danger("[C] is crushed by [src]!"), \
+ span_userdanger("You are crushed by [src]!"))
switch(crit_case) // only carbons can have the fun crits
if(1) // shatter their legs and bleed 'em
@@ -558,13 +558,13 @@ GLOBAL_LIST_EMPTY(vending_products)
if(r)
r.receive_damage(brute=200)
if(l || r)
- C.visible_message("[C]'s legs shatter with a sickening crunch!", \
- "Your legs shatter with a sickening crunch!")
+ C.visible_message(span_danger("[C]'s legs shatter with a sickening crunch!"), \
+ span_userdanger("Your legs shatter with a sickening crunch!"))
if(2) // pin them beneath the machine until someone untilts it
forceMove(get_turf(C))
buckle_mob(C, force=TRUE)
- C.visible_message("[C] is pinned underneath [src]!", \
- "You are pinned down by [src]!")
+ C.visible_message(span_danger("[C] is pinned underneath [src]!"), \
+ span_userdanger("You are pinned down by [src]!"))
if(3) // glass candy
crit_rebate = 50
for(var/i = 0, i < num_shards, i++)
@@ -576,7 +576,7 @@ GLOBAL_LIST_EMPTY(vending_products)
shard.updateEmbedding()
if(4) // paralyze this binch
// the new paraplegic gets like 4 lines of losing their legs so skip them
- visible_message("[C]'s spinal cord is obliterated with a sickening crunch!", ignored_mobs = list(C))
+ visible_message(span_danger("[C]'s spinal cord is obliterated with a sickening crunch!"), ignored_mobs = list(C))
C.gain_trauma(/datum/brain_trauma/severe/paralysis/paraplegic)
if(5) // limb squish!
for(var/i in C.bodyparts)
@@ -586,13 +586,13 @@ GLOBAL_LIST_EMPTY(vending_products)
squish_part.force_wound_upwards(type_wound)
else
squish_part.receive_damage(brute=30)
- C.visible_message("[C]'s body is maimed underneath the mass of [src]!", \
- "Your body is maimed underneath the mass of [src]!")
+ C.visible_message(span_danger("[C]'s body is maimed underneath the mass of [src]!"), \
+ span_userdanger("Your body is maimed underneath the mass of [src]!"))
if(6) // skull squish!
var/obj/item/bodypart/head/O = C.get_bodypart(BODY_ZONE_HEAD)
if(O)
- C.visible_message("[O] explodes in a shower of gore beneath [src]!", \
- "Oh f-")
+ C.visible_message(span_danger("[O] explodes in a shower of gore beneath [src]!"), \
+ span_userdanger("Oh f-"))
O.dismember()
O.drop_organs()
qdel(O)
@@ -605,8 +605,8 @@ GLOBAL_LIST_EMPTY(vending_products)
C.take_bodypart_damage((squish_damage - crit_rebate)*0.5, wound_bonus = 5)
C.AddElement(/datum/element/squish, 80 SECONDS)
else
- L.visible_message("[L] is crushed by [src]!", \
- "You are crushed by [src]!")
+ L.visible_message(span_danger("[L] is crushed by [src]!"), \
+ span_userdanger("You are crushed by [src]!"))
L.apply_damage(squish_damage, forced=TRUE)
if(crit_case)
L.apply_damage(squish_damage, forced=TRUE)
@@ -628,8 +628,8 @@ GLOBAL_LIST_EMPTY(vending_products)
/obj/machinery/vending/proc/untilt(mob/user)
if(user)
- user.visible_message("[user] rights [src].", \
- "You right [src].")
+ user.visible_message(span_notice("[user] rights [src]."), \
+ span_notice("You right [src]."))
unbuckle_all_mobs(TRUE)
@@ -648,7 +648,7 @@ GLOBAL_LIST_EMPTY(vending_products)
vending_machine_input[format_text(I.name)]++
else
vending_machine_input[format_text(I.name)] = 1
- to_chat(user, "You insert [I] into [src]'s input compartment.")
+ to_chat(user, span_notice("You insert [I] into [src]'s input compartment."))
loaded_items++
/obj/machinery/vending/unbuckle_mob(mob/living/buckled_mob, force=FALSE)
@@ -679,7 +679,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(do_you_have_access)
return TRUE
else
- to_chat(user, "[src]'s input compartment blinks red: Access denied.")
+ to_chat(user, span_warning("[src]'s input compartment blinks red: Access denied."))
return FALSE
/obj/machinery/vending/exchange_parts(mob/user, obj/item/storage/part_replacer/W)
@@ -700,7 +700,7 @@ GLOBAL_LIST_EMPTY(vending_products)
else
display_parts(user)
if(moved)
- to_chat(user, "[moved] items restocked.")
+ to_chat(user, span_notice("[moved] items restocked."))
W.play_rped_sound()
return TRUE
@@ -712,7 +712,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
- to_chat(user, "You short out the product lock on [src].")
+ to_chat(user, span_notice("You short out the product lock on [src]."))
/obj/machinery/vending/_try_interact(mob/user)
if(seconds_electrified && !(machine_stat & NOPOWER))
@@ -720,7 +720,7 @@ GLOBAL_LIST_EMPTY(vending_products)
return
if(tilted && !user.buckled && !isAI(user))
- to_chat(user, "You begin righting [src].")
+ to_chat(user, span_notice("You begin righting [src]."))
if(do_after(user, 50, target=src))
untilt(user)
return
@@ -817,7 +817,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(!vend_ready)
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
return TRUE
@@ -943,9 +943,9 @@ GLOBAL_LIST_EMPTY(vending_products)
vended_item.set_greyscale(colors=greyscale_colors)
R.amount--
if(usr.CanReach(src) && usr.put_in_hands(vended_item))
- to_chat(usr, "You take [R.name] out of the slot.")
+ to_chat(usr, span_notice("You take [R.name] out of the slot."))
else
- to_chat(usr, "[capitalize(R.name)] falls onto the floor!")
+ to_chat(usr, span_warning("[capitalize(R.name)] falls onto the floor!"))
SSblackbox.record_feedback("nested tally", "vending_machine_usage", 1, list("[type]", "[R.product_path]"))
vend_ready = TRUE
@@ -1016,7 +1016,7 @@ GLOBAL_LIST_EMPTY(vending_products)
pre_throw(throw_item)
throw_item.throw_at(target, 16, 3)
- visible_message("[src] launches [throw_item] at [target]!")
+ visible_message(span_danger("[src] launches [throw_item] at [target]!"))
return TRUE
/**
* A callback called before an item is tossed out
@@ -1068,7 +1068,7 @@ GLOBAL_LIST_EMPTY(vending_products)
tilt(L)
/obj/machinery/vending/attack_tk_grab(mob/user)
- to_chat(user, "[src] seems to resist your mental grasp!")
+ to_chat(user, span_warning("[src] seems to resist your mental grasp!"))
///Crush the mob that the vending machine got thrown at
/obj/machinery/vending/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum)
@@ -1251,7 +1251,7 @@ GLOBAL_LIST_EMPTY(vending_products)
/obj/item/price_tagger/attack_self(mob/user)
price = max(1, round(input(user,"set price","price") as num|null, 1))
- to_chat(user, " The [src] will now give things a [price] cr tag.")
+ to_chat(user, span_notice(" The [src] will now give things a [price] cr tag."))
/obj/item/price_tagger/afterattack(atom/target, mob/user, proximity)
. = ..()
@@ -1260,7 +1260,7 @@ GLOBAL_LIST_EMPTY(vending_products)
if(isitem(target))
var/obj/item/I = target
I.custom_price = price
- to_chat(user, "You set the price of [I] to [price] cr.")
+ to_chat(user, span_notice("You set the price of [I] to [price] cr."))
/obj/machinery/vending/custom/greed //name and like decided by the spawn
icon_state = "greed"
diff --git a/code/modules/wiremod/integrated_circuit.dm b/code/modules/wiremod/integrated_circuit.dm
index 3186da059e7..66e6ff64693 100644
--- a/code/modules/wiremod/integrated_circuit.dm
+++ b/code/modules/wiremod/integrated_circuit.dm
@@ -47,9 +47,9 @@
/obj/item/integrated_circuit/examine(mob/user)
. = ..()
if(cell)
- . += "The charge meter reads [cell ? round(cell.percent(), 1) : 0]%."
+ . += span_notice("The charge meter reads [cell ? round(cell.percent(), 1) : 0]%.")
else
- . += "There is no power cell installed."
+ . += span_notice("There is no power cell installed.")
/obj/item/integrated_circuit/attackby(obj/item/I, mob/living/user, params)
. = ..()
@@ -65,7 +65,7 @@
return
cell = I
I.add_fingerprint(user)
- user.visible_message("[user] inserts a power cell into [src].", "You insert the power cell into [src].")
+ user.visible_message(span_notice("[user] inserts a power cell into [src]."), span_notice("You insert the power cell into [src]."))
return
if(istype(I, /obj/item/card/id))
@@ -77,7 +77,7 @@
if(!cell)
return
I.play_tool_sound(src)
- user.visible_message("[user] unscrews the power cell from [src].", "You unscrew the power cell from [src].")
+ user.visible_message(span_notice("[user] unscrews the power cell from [src]."), span_notice("You unscrew the power cell from [src]."))
cell.forceMove(drop_location())
cell = null
return
diff --git a/code/modules/wiremod/marker.dm b/code/modules/wiremod/marker.dm
index 50a683d7edd..82d34be37a7 100644
--- a/code/modules/wiremod/marker.dm
+++ b/code/modules/wiremod/marker.dm
@@ -13,7 +13,7 @@
/obj/item/multitool/circuit/examine(mob/user)
. = ..()
- . += "It has [marked_atom? "a" : "no"] marked entity registered."
+ . += span_notice("It has [marked_atom? "a" : "no"] marked entity registered.")
/obj/item/multitool/circuit/attack_self(mob/user, modifiers)
. = ..()
diff --git a/code/modules/wiremod/shell/shell_items.dm b/code/modules/wiremod/shell/shell_items.dm
index 6189d2223d4..2fde05f8ef1 100644
--- a/code/modules/wiremod/shell/shell_items.dm
+++ b/code/modules/wiremod/shell/shell_items.dm
@@ -11,11 +11,11 @@
var/screw_delay = 3 SECONDS
/obj/item/shell/screwdriver_act(mob/living/user, obj/item/tool)
- user.visible_message("[user] begins finishing [src].", "You begin finishing [src].")
+ user.visible_message(span_notice("[user] begins finishing [src]."), span_notice("You begin finishing [src]."))
tool.play_tool_sound(src)
if(!do_after(user, screw_delay, src))
return
- user.visible_message("[user] finishes [src].", "You finish [src].")
+ user.visible_message(span_notice("[user] finishes [src]."), span_notice("You finish [src]."))
var/turf/drop_loc = drop_location()
diff --git a/code/modules/zombie/items.dm b/code/modules/zombie/items.dm
index cf9dbeece47..3283acc9a2e 100644
--- a/code/modules/zombie/items.dm
+++ b/code/modules/zombie/items.dm
@@ -57,7 +57,7 @@
/obj/item/zombie_hand/suicide_act(mob/user)
- user.visible_message("[user] is ripping [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!")
+ user.visible_message(span_suicide("[user] is ripping [user.p_their()] brains out! It looks like [user.p_theyre()] trying to commit suicide!"))
if(isliving(user))
var/mob/living/L = user
var/obj/item/bodypart/O = L.get_bodypart(BODY_ZONE_HEAD)
diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm
index d7edacd94df..e6fb9be9b32 100644
--- a/code/modules/zombie/organs.dm
+++ b/code/modules/zombie/organs.dm
@@ -50,7 +50,7 @@
if (causes_damage && !iszombie(owner) && owner.stat != DEAD)
owner.adjustToxLoss(0.5 * delta_time)
if(DT_PROB(5, delta_time))
- to_chat(owner, "You feel sick...")
+ to_chat(owner, span_danger("You feel sick..."))
if(timer_id)
return
if(owner.suiciding)
@@ -88,11 +88,11 @@
return
owner.grab_ghost()
- owner.visible_message("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!", "You HUNGER!")
+ owner.visible_message(span_danger("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!"), span_alien("You HUNGER!"))
playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, TRUE)
owner.do_jitter_animation(living_transformation_time)
owner.Stun(living_transformation_time)
- to_chat(owner, "You are now a zombie! Do not seek to be cured, do not help any non-zombies in any way, do not harm your zombie brethren and spread the disease by killing others. You are a creature of hunger and violence.")
+ to_chat(owner, span_alertalien("You are now a zombie! Do not seek to be cured, do not help any non-zombies in any way, do not harm your zombie brethren and spread the disease by killing others. You are a creature of hunger and violence."))
/obj/item/organ/zombie_infection/nodamage
causes_damage = FALSE
diff --git a/config/admin_nicknames.json b/config/admin_nicknames.json
index 9c83f646229..14fd6d6d93c 100644
--- a/config/admin_nicknames.json
+++ b/config/admin_nicknames.json
@@ -7,4 +7,4 @@
"Badmin",
"Spanmin"
]
-}
\ No newline at end of file
+}
diff --git a/interface/interface.dm b/interface/interface.dm
index 9136965cab9..f092a43fe33 100644
--- a/interface/interface.dm
+++ b/interface/interface.dm
@@ -11,7 +11,7 @@
else if (query != null)
src << link(wikiurl)
else
- to_chat(src, "The wiki URL is not set in the server configuration.")
+ to_chat(src, span_danger("The wiki URL is not set in the server configuration."))
return
/client/verb/forum()
@@ -24,7 +24,7 @@
return
src << link(forumurl)
else
- to_chat(src, "The forum URL is not set in the server configuration.")
+ to_chat(src, span_danger("The forum URL is not set in the server configuration."))
return
/client/verb/rules()
@@ -37,7 +37,7 @@
return
src << link(rulesurl)
else
- to_chat(src, "The rules URL is not set in the server configuration.")
+ to_chat(src, span_danger("The rules URL is not set in the server configuration."))
return
/client/verb/github()
@@ -50,7 +50,7 @@
return
src << link(githuburl)
else
- to_chat(src, "The Github URL is not set in the server configuration.")
+ to_chat(src, span_danger("The Github URL is not set in the server configuration."))
return
/client/verb/reportissue()
@@ -95,7 +95,7 @@
var/url_params = "Reporting client version: [byond_version].[byond_build]\n\n[local_template]"
DIRECT_OUTPUT(src, link("[githuburl]/issues/new?body=[url_encode(url_params)]"))
else
- to_chat(src, "The Github URL is not set in the server configuration.")
+ to_chat(src, span_danger("The Github URL is not set in the server configuration."))
return
/client/verb/changelog()
diff --git a/tgstation.dme b/tgstation.dme
index 588c99b92e7..a083e4268b2 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -194,6 +194,7 @@
#include "code\__HELPERS\roundend.dm"
#include "code\__HELPERS\sanitize_values.dm"
#include "code\__HELPERS\shell.dm"
+#include "code\__HELPERS\span.dm"
#include "code\__HELPERS\stat_tracking.dm"
#include "code\__HELPERS\string_assoc_lists.dm"
#include "code\__HELPERS\string_lists.dm"